snails.fm/ docs voice tuner

What a voice tuner does

Every real-time voice tuner (any brand, any era) is the same three-stage loop, run continuously:

  1. Detect. Estimate the pitch being sung, many times per second.
  2. Decide. Compare it to a set of allowed or intended notes, choose a target, and choose how quickly to move.
  3. Resynthesise. Re-render the voice at the corrected pitch.

Everything you've ever heard a tuner do (invisible repair on a ballad, the hard-quantised lock of modern pop, robotic and hyperpop textures) is this one loop with different decide settings. Slow movement toward the target is transparent correction; instantaneous movement is the famous effect. The machine is the same; the taste is in the numbers.

Monophonic means one voice

Most voice tuners, this one included, are monophonic: they track and correct a single pitch. Give one a chord or a duet and it will hear some pitch in the blend and correct everything toward it, usually badly. This isn't a missing feature so much as a different problem: separating simultaneous voices before correcting them is a much harder task than correcting one.

A monophonic tuner can still output many voices: harmoniser features re-render the one input voice at several pitches at once. One voice in, a choir out.

Where tuners differ

Since the loop is universal, the differences between tuners live in three places:

  • Detection quality. How well the pitch tracker handles the hard cases: note onsets, breathy tone, octave ambiguity. Most audible "tuner artefacts" are detection mistakes acted on confidently.
  • The decision layer. The gates, thresholds, and glide behaviours between hearing and acting. Nearly every commercial tuner treats this layer as a trade secret; it is where each one's feel comes from.
  • Resynthesis method. How the voice is re-rendered at the new pitch, and what happens to its character on the way (see formants).

The other universal truth: real-time pitch shifting has an unavoidable latency floor, set by the lowest note the shifter promises to handle. That is a physics constraint, not an engineering one. Any tuner's latency figure is really a statement about what it has promised.

last updated · Charlie