# Phaser

> Swept allpass notches: 2 to 12 stages, a free or transport-locked sweep, signed feedback and channel spread.

Source: https://docs.tune.toys/nodes/std.phaser/

Phaser sweeps a set of notches up and down the spectrum, the classic whooshing, swirling sound of a chain of allpass filters mixed back with the dry signal.

## What it does

Each channel runs through 2 to 12 first-order allpass stages that share one break frequency. An allpass passes every frequency at full level but delays its phase; mixed with the dry sound, the two cancel wherever the chain has shifted the phase by an odd multiple of half a cycle. That gives one notch for every two stages. A sine sweep moves the break frequency between Low and High, either at Rate or locked to the shared transport when Beats is above zero. Feedback sends the last stage back into the first, deepening the notches and raising peaks between them. Channel spread offsets the sweep for each channel, so a stereo signal swirls between the speakers.

The stages are normalized lattice allpasses: a sweeping coefficient never adds energy, so even fast sweeps with high feedback stay clean, and the engine reports a proven tail for every setting.

## When to use it

Use it on pads, guitars, electric pianos, drums and noise for movement without the pitch wobble of [Chorus](https://docs.tune.toys/nodes/std.chorus/). For a single static notch or band use [State-variable filter](https://docs.tune.toys/nodes/std.svf/); for echoes use [Delay](https://docs.tune.toys/nodes/std.delay/).

## Ports

<!-- ports:start -->

| Port    | Direction | Signal | Lanes                   |
| ------- | --------- | ------ | ----------------------- |
| `audio` | Input     | Audio  | Inferred from the cable |
| `audio` | Output    | Audio  | Inferred from the cable |

<!-- ports:end -->

## Parameters

<!-- parameters:start -->

| Parameter  | Label          | Range         | Default | Unit  | Scale  | Notes                                                                                                       |
| ---------- | -------------- | ------------- | ------- | ----- | ------ | ----------------------------------------------------------------------------------------------------------- |
| `stages`   | Stages         | 0 to 4        | 1       |       | linear | First-order allpass stages in the chain. Every two stages add one notch. Choices: 0 2, 1 4, 2 6, 3 8, 4 12. |
| `rate_hz`  | Rate           | 0.01 to 20    | 0.4     | Hz    | log    | Sweep cycles per second when Beats is 0.                                                                    |
| `beats`    | Beats          | 0 to 64       | 0       | beats | linear | Beats per sweep cycle, phase-locked to the shared transport. 0 uses Rate instead.                           |
| `depth`    | Depth          | 0 to 1        | 0.8     |       | linear | Share of the Low to High range the sweep covers, around its geometric centre.                               |
| `low_hz`   | Low            | 20 to 20000   | 200     | Hz    | log    | Allpass break frequency at the bottom of the sweep.                                                         |
| `high_hz`  | High           | 20 to 20000   | 2400    | Hz    | log    | Allpass break frequency at the top of the sweep, kept below 45 % of the sample rate.                        |
| `feedback` | Feedback       | -0.95 to 0.95 | 0.3     |       | linear | Signed gain from the last stage back into the first; it sharpens the notches and peaks.                     |
| `spread`   | Channel spread | 0 to 1        | 0.5     |       | linear | Sweep phase distribution across every channel: 0 moves them together, 1 spaces them around the cycle.       |
| `mix`      | Mix            | 0 to 1        | 0.5     |       | linear | Dry/wet blend. 0.5 gives the deepest notches.                                                               |

<!-- parameters:end -->

### Stages (`stages`)

How many allpass stages are in the chain: 2, 4, 6, 8 or 12. Every two stages add one notch, so 4 stages give the familiar two-notch phaser and 12 give six notches.

### Rate (`rate_hz`)

Sweep cycles per second, from 0.01 to 20 Hz, when `beats` is 0.

### Beats (`beats`)

Beats per sweep cycle, phase-locked to the shared transport: 4 sweeps once a bar in 4/4 and always lands on the same point of the bar. At 0 the sweep runs freely at `rate_hz`. While the transport is stopped a synced sweep holds still.

### Depth (`depth`)

How much of the range from `low_hz` to `high_hz` the sweep covers, around its geometric centre. At 0 the notches stay put at the centre.

### Low (`low_hz`)

The break frequency at the bottom of the sweep.

### High (`high_hz`)

The break frequency at the top of the sweep. It is kept below 45 % of the sample rate.

### Feedback (`feedback`)

Signed gain from the last stage back into the first, from -0.95 to 0.95. Positive values deepen the notches and add resonant peaks between them; negative values move the peaks and make the notches shallower.

### Channel spread (`spread`)

How the sweep phase is distributed across channels. At 0 every channel sweeps together; at 0.5 a stereo pair is a quarter cycle apart; at 1 the channels are spaced evenly around the cycle.

### Mix (`mix`)

Dry and wet blend. 0.5 cancels fully at the notches; 1 is the allpassed signal alone, which sounds like a subtle phase shift on its own.

## Tips

- Slow rates (0.1 to 0.5 Hz) with 4 stages are the classic phaser; 12 stages with high feedback sound more like a jet.
- Keep `low_hz` above a few hundred hertz on bass-heavy sounds to keep the low end steady.
- Long tails at high feedback and very low break frequencies are real: the notches ring as they decay.

## See also

[Chorus](https://docs.tune.toys/nodes/std.chorus/), [State-variable filter](https://docs.tune.toys/nodes/std.svf/), [Delay](https://docs.tune.toys/nodes/std.delay/).
