Effect 9 of 15 · Pedals

What does a phaser do? It cancels, and it moves

It shifts the phase of the signal, mixes the shifted copy with the original, and lets two notches sweep up and down the spectrum.

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 phaser, 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. Phaser

    Rate0.5 Hz
    Depth2.8 oct
    Feedback30%
    Mix50%

The signal

What it does to the signal

A phaser puts notches in the spectrum of a sound and moves them. It makes the notches without removing anything directly: it makes a copy of the signal in which some frequencies arrive late, and adds the copy to the original. Where a frequency arrives exactly half a cycle late, the copy is the mirror image of the original, and the two cancel.

The copy is made by all-pass filters. An all-pass filter leaves the level of every frequency alone and changes only the timing: low frequencies pass almost undelayed, high ones end up half a cycle late, and the corner frequency is where the change happens. One stage can turn the phase through half a cycle at most, and only at the very top. Four stages in series turn it through two full cycles, which passes the half-cycle point twice, so there are two notches. With the corner at 600 Hz and a sample rate of 48 kHz the arithmetic puts them at 249 Hz and 1,445 Hz; the measurement below finds them there.

An oscillator moves the corner, and the notches with it, up and down between 300 Hz and a top that Depth sets in octaves. Feedback sends the output of the last stage back into the first, which makes the peaks between the notches taller and narrower.

General definition: Wikipedia, “Phaser (effect)” (revision 1375676541, 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 phaser’s signal graph In feeds a sum; a sum feeds All-pass (stages 1 and 2); All-pass (stages 1 and 2) feeds All-pass (stages 3 and 4); All-pass (stages 3 and 4) 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; All-pass (stages 3 and 4) feeds Gain (Feedback); Gain (Feedback) feeds a sum; Oscillator (Rate · Depth) controls All-pass (stages 1 and 2). Oscillator Rate · Depth In + All-pass stages 1 and 2 All-pass stages 3 and 4 Gain wet (Mix) + Out Gain Feedback Gain dry (Mix)

audiocontrol: moves a setting, is never heard

The four stages, the oscillator and the feedback path are one AudioWorklet processor. A loop of standard nodes could not do it: the Web Audio specification requires a delay of at least 128 samples in any loop, and this loop has a delay of one.

The knobs

Every knob, in real units.

KnobRangeStarts atWhat it changes
Rate0.05 Hz to 8 Hz0.5 HzThe speed of the sweep.
Depth0.0 oct to 4.0 oct2.8 octThe width of the sweep in octaves, upward from 300 Hz.
Feedback0% to 90%30%How much of the last stage’s output is fed back into the first. It sharpens the peaks between the notches.
Mix0% to 100%50%At 50 the dry and the shifted 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 (the all-pass corner at 600 Hz), no feedback and Mix at 50%, the response had its two deepest notches at 248 Hz and 1445 Hz. Four first-order all-pass stages with that corner put them at 249 Hz and 1445 Hz. [as described]
  • The notches were 54 dB and 79 dB below the level between them. [as described]
  • With Rate at 2 Hz, a steady 500 Hz tone came out with its level rising and falling between −36.6 dB and 6.0 dB, and the pattern repeated every 500 ms (its match with itself half a second later was 1.000 on a scale where 1 is identical). [as described]
  • Feedback at 70% raised the tallest peak of the response by 6.7 dB over Feedback at 0. [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

  • Four stages, always. More stages would mean more notches.
  • The sweep is a sine wave in octaves. There is no other shape.
  • The corner frequency is recalculated every 16 samples, 3,000 times a second at 48 kHz, not every sample.

Where it goes in the chain

After the drive. GuitarPlayer’s guide to pedal order says phasers and flangers “benefit from coming after an overdrive or fuzz”: distortion adds harmonics, and a notch has more to remove from a signal that has more in it. 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.