# Chorus

> Prepared multi-voice chorus, ensemble and vibrato over arbitrary channel bundles.

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

Chorus thickens a sound by mixing it with slightly delayed, slowly moving copies of itself.

## What it does

Each channel passes through short delay lines whose delay time is modulated by a slow sine at Rate. The modulated copies are mixed with the dry signal at Mix. Chorus uses several taps per channel, Ensemble is a wider variant, and Vibrato outputs only the modulated signal so the pitch wavers without thickening. Spread offsets the modulation phase across every channel, including mono and odd-width bundles. Feedback sends some output back into the delay.

## When to use it

Use it on pads, guitars and synth leads that sound thin, or use Vibrato for a pitch wobble. For distinct 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                                                                                                                      |
| ---------- | -------------- | ------------- | ------- | ---- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| `rate`     | Rate           | 0.05 to 5     | 0.8     | Hz   | log    | Modulation frequency.                                                                                                      |
| `depth`    | Depth          | 0 to 10       | 3       | ms   | linear | Modulated delay excursion.                                                                                                 |
| `delay`    | Delay          | 1 to 30       | 15      | ms   | linear | Center delay; reads stay at least one sample in the past.                                                                  |
| `mix`      | Mix            | 0 to 1        | 0.4     |      | linear | Dry/wet blend. Processing latency is aligned before blending. Shown when `type` is 0 or 1.                                 |
| `type`     | Type           | 0 to 2        | 0       |      | linear | Selects the implemented algorithm. Choices are discrete and are not LFO targets. Choices: 0 Chorus, 1 Ensemble, 2 Vibrato. |
| `voices`   | Voices         | 1 to 8        | 3       |      | linear | Internal delay taps per channel, independent of the cable channel count. Shown when `type` is 0 or 1.                      |
| `spread`   | Channel spread | 0 to 1        | 1       |      | linear | Phase distribution across every channel, including mono and odd-width bundles.                                             |
| `feedback` | Feedback       | -0.85 to 0.85 | 0       |      | linear | Signed feedback gain. Matrix rows must have an absolute gain sum of at most one.                                           |

<!-- parameters:end -->

### Rate (`rate`)

The modulation frequency from 0.05 to 5 Hz.

### Depth (`depth`)

How far the delay time swings, from 0 to 10 ms. More depth gives more pitch movement.

### Delay (`delay`)

The center delay time, from 1 to 30 ms.

### Mix (`mix`)

Dry and wet blend. It is used by the Chorus and Ensemble types.

### Type (`type`)

Chorus, Ensemble or Vibrato. A discrete choice.

### Voices (`voices`)

The number of internal delay taps per channel (1 to 8), independent of the cable's channel count. Used by Chorus and Ensemble.

### Channel spread (`spread`)

How much the modulation phase is distributed across channels, from 0 to 1.

### Feedback (`feedback`)

A signed feedback gain, from -0.85 to 0.85.

## Tips

- Slow Rate and low Depth sound subtle; faster and deeper sounds more obviously wobbly.
- Use Spread at 1 on stereo sources for a wide image.
- Small amounts of Feedback add a flanger-like resonance.

## See also

[Delay](https://docs.tune.toys/nodes/std.delay/), [Reverb](https://docs.tune.toys/nodes/std.reverb/), [Oscillator](https://docs.tune.toys/nodes/std.oscillator/).
