Effect 11 of 15 · Pedals

The flanger: a comb of notches, sweeping

A very short delay, mixed with the original. Every frequency that fits the delay an odd number of half-cycles cancels, and the delay keeps changing.

Play it alone

Signal into the board

The test signals are synthesized by this page, sample by sample. Your instrument is asked for only when you press Start with “Your instrument” chosen, with the browser’s echo cancellation, noise suppression and automatic gain control switched off.

70%
Output levelsilent

Sample rate
not started
Processing latency
not started
Output latency
not started
Input latency
not started
Reported total
not started

Browser audio has latency: you hear each note a little after you play it. These are the browser’s own figures and they leave things out.

What the latency figures mean

The flanger, alone

In, this one pedal, out. Drag a knob sideways, or focus it and use the arrow keys or the wheel. The whole board has the rest.

  1. Flanger

    Rate0.3 Hz
    Depth70%
    Feedback50%
    Mix50%

The signal

What it does to the signal

A flanger mixes a signal with a copy of itself delayed by a few milliseconds. A delay that short is not heard as an echo; it is heard as a change of tone. Any frequency for which the delay is exactly half a cycle, or one and a half, or two and a half, meets its own mirror image and cancels. The notches are therefore evenly spaced, at odd multiples of 1 ÷ (2 × delay): with a delay of 4.25 ms, at 117.6 Hz, 352.9 Hz, 588.2 Hz and so on, all the way up. Seen on a graph the response looks like a comb.

An oscillator moves the delay between 0.5 ms and a maximum that Depth sets, up to 8 ms, and the whole comb stretches and squeezes with it.

Feedback writes part of the delayed signal back into the delay line. Each pass round the loop sharpens the comb, and at high settings the pedal rings at the frequencies between the notches.

General definition: Wikipedia, “Flanging” (revision 1352810920, read 2026-09-28). Everything on this page about how this pedal works describes this page’s own code. It runs as an AudioWorklet processor.

The graph

The graph, drawn.

The flanger’s signal graph In feeds a sum; a sum feeds Delay line (0.5 … 8 ms); Delay line (0.5 … 8 ms) feeds Gain (wet (Mix)); Gain (wet (Mix)) feeds a sum; a sum feeds Out; In feeds Gain (dry (Mix)); Gain (dry (Mix)) feeds a sum; Delay line (0.5 … 8 ms) feeds Gain (Feedback); Gain (Feedback) feeds a sum; Oscillator (Rate · Depth) controls Delay line (0.5 … 8 ms). Oscillator Rate · Depth In + Delay line 0.5 … 8 ms Gain wet (Mix) + Out Gain Feedback Gain dry (Mix)

audiocontrol: moves a setting, is never heard

The delay line, the oscillator and the feedback path are one AudioWorklet processor. A loop of standard nodes could not do it: the Web Audio specification clamps a delay inside a loop to at least 128 samples, which is 2.7 ms at 48 kHz, and this sweep starts at 0.5 ms.

The knobs

Every knob, in real units.

KnobRangeStarts atWhat it changes
Rate0.05 Hz to 5 Hz0.3 HzThe speed of the sweep.
Depth0% to 100%70%The width of the sweep. The delay moves between 0.5 ms and 0.5 ms plus this share of 7.5 ms.
Feedback0% to 90%50%How much of the delayed signal is written back into the delay line. It turns the notches into a ringing, metallic comb.
Mix0% to 100%50%At 50 the dry and the delayed signal are both at full level, which is where the notches are deepest.

Measured

What the test measured

Rendered offline, then measured

  • Switched off and rendered over 48,000 samples of the plucked-string signal, the output was identical to the input in every sample, and the pedal was not in the graph. [as described]
  • With the sweep stopped at its centre, Depth 100%, no feedback: an impulse came out twice, at once and 4.25 ms later (the centre of the sweep is 4.25 ms). [as described]
  • The first three notches of the response were at 117.9, 353.0, 588.1 Hz; a 4.25 ms delay puts them at odd multiples of 1 ÷ (2 × delay): 117.6, 352.9, 588.2 Hz. [as described]
  • With Rate at 2 Hz, a steady 500 Hz tone came out with its level moving between −11.8 dB and 6.0 dB, in a pattern that repeated every 500 ms (match with itself half a second later: 1.000). [as described]
  • Feedback at 60%, wet signal only: the impulse came back at 4.25 ms, 8.5 ms and 12.75 ms with amplitudes 1.000, 0.600 and 0.360, each 60% of the one before. [as described]

Rendered in an OfflineAudioContext at 48,000 Hz in Chrome/154.0.8037.58, 2026-09-29 01:07 UTC. The test is work the page’s builder ran, not something your browser does when you open this page.

Limits

  • Feedback is positive only; there is no inverted setting.
  • The delay line is read between samples by linear interpolation, which dulls the very top of the delayed signal slightly whenever the delay is not a whole number of samples.
  • The sweep is a sine wave.

Where it goes in the chain

After the drive, with the other modulation. GuitarPlayer’s guide to pedal order says flangers and phasers “benefit from coming after an overdrive or fuzz”. The whole order, and the reasons, are on the signal chain page.

Method

What is computed, and what is read.

Computed here, nothing fetched

Every sound on these pages is computed in your browser by the Web Audio API: 9 of the 15 pedals are graphs of the engine’s standard nodes, 5 are AudioWorklet processors, the wah is both, and the 3 test signals are synthesized sample by sample. No recording is loaded and no data feed is read. The one request the board’s own scripts make is for their AudioWorklet module, a file on labs.llc; the pitch detector is the one the Tuner uses.

Every effect was rendered offline with a known signal and measured: 73 of 73 checks came out as described. Nothing was tested on a real instrument or audio interface, only one browser was used, and nobody listened: the tests measure numbers, not tone. The method, the table of checks and what the latency figures mean are on the about page.

Sources

The W3C Web Audio API 1.1 and Media Capture and Streams specifications (W3C Document License); RFC 9110 and RFC 3986 for the share link’s fragment; GuitarPlayer’s guide to pedal order, quoted briefly; Wikibooks, “Guitar/Effects Pedals”; and each effect’s English Wikipedia article at a named revision (CC BY-SA). All read 2026-09-28; none is fetched by the page.

What happens to what you play

Audio from your input goes into the audio graph and out to your output device, and nowhere else: it is not recorded, stored or sent. Presets and the board as you left it stay in this browser’s local storage. A share link carries the board after the #, which browsers do not send to servers.