Time
Every pitch shifter owes the laws of physics a debt, and this page is where the voice tuner pays it in the open. The debt is latency. The first honest thing to say about it is that it is not a quality setting.
Why latency exists at all
To shift a note, the shifter must hold enough of it in hand to work with: roughly three full cycles of the lowest pitch it promises to handle. Low pitches cycle slowly, so the lower the promise, the longer the wait. No optimisation removes this; it is a causality commitment. The only honest way to reduce it is to promise less.
That is exactly what the Range control does. It sets the floor (the lowest pitch the shifter commits to), and the latency follows:
| Range | Floor | Studio mode | Live mode |
|---|---|---|---|
| Full | 65 Hz | ~46 ms | ~24 ms |
| Low | 80 Hz | ~37 ms | ~19 ms |
| Mid | 110 Hz | ~27 ms | ~14 ms |
| High | 160 Hz | ~19 ms | ~10 ms |
(48 kHz figures.) Input that falls below the chosen floor is handed through dry rather than mis-shifted. The mechanism, including the 40 ms glitch ride-through, is on the deciding page. And the detector always hears the full 70–1000 Hz regardless of Range: the tuner knows the note it is declining to move.
Live mode
Studio mode spends its latency budget looking ahead: grains are built with audio from both sides of the moment being rendered. Live mode rebuilds the grain geometry to be nearly causal: the rise of each grain comes entirely from audio already received, with only a quarter-period of lookahead for the fall. It works at every Range (the floor you need is set by your voice, not by the mode), and the causal geometry roughly halves each floor's wait, down to ~10 ms in to out at Range = High. Tracking-friendly on a dry mic, which is what it's for. Live mode is PSOLA-only.
What the host is told
The plugin reports its exact latency to the host for delay compensation, so recorded and monitored material lands on the grid. AU hosts are notified the moment it changes; VST3 hosts pick up the new value when the plugin is re-activated. Mid-session renegotiation is a known deferred item.
Bypass is delay-matched: the bypass path is a dry delay of identical length, so toggling it never shifts timing and never clicks. Bypassed CPU is approximately zero.
Alignment and the mix
Everything rendered is delay-aligned to a single common latency before the mix: the lead (both engines, when both are running), the harmony bus, the doubles, and the dry signal. Because the alignment is exact, the Mix control blends processed against dry phase-coherently: no comb filtering from the blend itself, at any setting.
This is also the quiet answer to a classic parallel-processing headache: there is no "nudge the dry track to taste" step. The tuner has already done the aligning, sample-exactly, inside the box.
last updated · Charlie