Stereo Phaser — User Guide
A true variable all-pass phaser: two or four first-order all-pass stages are swept across a logarithmic frequency range, then mixed with the direct signal to create moving spectral notches. Stereo phase offset and feedback extend the motion and resonance.
What this does
Stereo Phaser processes the selected Sound through a time-varying cascade of first-order all-pass sections. The all-pass path keeps its magnitude flat when feedback is zero but rotates phase as a function of frequency. Mixing that phase-shifted path with the direct signal creates cancellations at selected frequencies. As the all-pass pivot frequency moves, those cancellations sweep through the spectrum.
The sweep follows a sinusoidal LFO mapped logarithmically between Sweep min Hz and Sweep max Hz. The left and right trajectories can be offset in LFO phase, and a positive feedback loop around the complete all-pass cascade increases resonant emphasis.
Processing pipeline
2. Clamp rate, sweep frequencies, feedback, Wet percentage, and Safety Peak to safe ranges.
3. If processing is active and the input is mono, convert it to stereo; existing multichannel layouts remain multichannel.
4. Generate a per-sample all-pass coefficient trajectory from the logarithmic L/R pivot sweeps.
5. Evaluate a 2- or 4-stage all-pass cascade with a true recursive feedback loop around the cascade.
6. Mix the independent source and wet objects using the requested Dry/Wet percentage.
7. Apply attenuation-only Safety Peak scaling only if the active result exceeds the ceiling.
8. Optionally draw the AudioTools visualization and play the result.
0% Wet takes an exact bypass path before mono-to-stereo conversion and before Safety Peak scaling.
All-pass cascade
Pivot-frequency coefficient
For each sample, the LFO first produces a pivot frequency f. The script maps that frequency to the first-order all-pass coefficient:
The selected stage configuration cascades the same section two or four times:
With feedback set to zero, the cascade is strictly all-pass in magnitude: it changes phase rather than spectral amplitude. The moving notches appear only when this wet path is combined with the direct signal.
True loop feedback
Feedback is wrapped around the complete all-pass cascade:
The script expands the 2- or 4-stage cascade algebraically and evaluates the resulting recursive direct-form equation sample by sample. Feedback Resonance is restricted to 0…0.90.
Dry/Wet summation
At feedback = 0, equal dry/wet mixing gives the familiar moving cancellation pattern of an all-pass phaser. Changing the Wet ratio changes notch depth; feedback changes the wet-path magnitude and resonance around the phase sweep.
Stereo modulation
Logarithmic pivot sweep
The normalized LFO is mapped exponentially between the two sweep limits:
This makes the pivot travel by frequency ratio rather than by equal-Hz steps.
Channel phase routing
Odd-numbered channels use the L trajectory with phase 0. Even-numbered channels use the R trajectory with Stereo phase offset added to the LFO phase.
| Offset | Trajectory relationship |
|---|---|
| 0° | L and R follow the same sweep. |
| 90° | R is one quarter LFO cycle ahead of L. |
| 180° | Counter-sweep: one side is high in the sweep while the other is low. |
The LFO uses local Sound time (x - sourceStart), so moving an otherwise identical Sound to a different Praat start time does not change its modulation trajectory.
Presets
| Preset | Rate | Sweep | Stages | Stereo | Feedback | Wet |
|---|---|---|---|---|---|---|
| Custom | form value | form values | form value | form value | form value | form value |
| Classic 70s Phaser | 0.60 Hz | 280–1800 Hz | 4 | 90° | 0.25 | 50% |
| Slow & Deep | 0.20 Hz | 120–2600 Hz | 4 | 180° | 0.35 | 55% |
| Jet Plane (High Resonance) | 0.15 Hz | 220–3200 Hz | 4 | 0° | 0.78 | 50% |
| Fast Wobble | 4.00 Hz | 450–3600 Hz | 2 | 180° | 0.20 | 45% |
| Wide Stereo Widener | 0.10 Hz | 650–2200 Hz | 2 | 180° | 0.00 | 35% |
| Sci-Fi Raygun | 2.50 Hz | 180–5000 Hz | 4 | 180° | 0.72 | 50% |
Parameters
| Parameter | Default | Meaning | Runtime handling |
|---|---|---|---|
| Rate Hz | 0.5 | LFO sweep rate. | Negative values become 0. |
| Sweep min Hz | 300 | Lower all-pass pivot frequency. | Minimum 20 Hz; repaired if too close to the allowed maximum. |
| Sweep max Hz | 2200 | Upper all-pass pivot frequency. | Maximum 0.45 × sample rate; forced above Sweep min. |
| Stage configuration | 4 stages | Number of identical first-order all-pass sections in the cascade. | 2 or 4 stages. |
| Stereo phase offset deg | 180 | LFO phase difference between odd and even channels. | Used directly in radians; periodic values outside 0…360 remain mathematically valid. |
| Feedback resonance | 0.35 | Positive loop gain around the full all-pass cascade. | Clamped to 0…0.90. |
| Dry/Wet percent | 50 | Blend between independent dry and wet paths. | Clamped to 0…100%; 0 gives exact bypass. |
| Safety peak | 0.99 | Maximum processed-output peak. | Clamped to 0…1; 0 disables safety; attenuation only. |
| Draw visualization | yes | Draws the AudioTools picture. | Does not change audio. |
| Play result | yes | Plays the completed Sound. | Does not change audio. |
Channels & output
| Property | Behavior |
|---|---|
| Mono input, active effect | Converted to stereo before phasing so L/R trajectories can differ. |
| Mono input, 0% Wet | Exact mono copy; no stereo conversion occurs. |
| 2+ channel input | Original channel count is preserved. Odd channels use L modulation; even channels use R modulation. |
| Cross-channel processing | None. Each channel has its own recursive all-pass/feedback state. |
| Sample rate | Preserved. |
| Sample count / duration | Preserved. |
| Start time | Preserved; modulation phase is start-time invariant because it uses local time. |
| Randomness | None. |
| Safety | If the active result exceeds Safety Peak, the whole output is scaled down. Quiet outputs are never boosted. |
Visualization
When Draw visualization is enabled, v0.4 creates the AudioTools house layout:
Input
Original waveform.
Output
Final processed waveform after optional Safety Peak attenuation.
All-pass pivot sweep
L and R logarithmic pivot trajectories over the first up to 3 seconds. Purple = L; blue = R.
Analytical response
Static magnitude response at the geometric-mid pivot sqrt(Sweep_min × Sweep_max), including the selected stage count, feedback, and Dry/Wet values.
The analytical response is calculated from the actual all-pass/feedback transfer function. It is not a delay-comb approximation.
Summary strip
The bottom strip reports stage count, sweep range, LFO rate, stereo phase offset, feedback, Wet percentage, final peak, and original input channel count.