skip to content
snails.fmindependent music toolsdocsabout

voice tuner

A real-time pitch corrector and a 16-voice MIDI harmoniser in one plugin. Hold a chord and your voice sings it. VST3 & AU, macOS. Windows soon.

this is the panel, live, not a screenshot. scroll the display, click the keys.

Currently in closed beta, drop me an email and I'll send you a version to play with.

this is my personal email list: updates, freebies, my writing, the occasional hello. every email is from me, you can reply, and I answer. unsubscribe whenever.

numbers
16
voices from one held chord, formants kept where they were.
10 ms
in to out, live mode at its fastest range. studio mode is 46 ms: it spends the time looking ahead.
0
network requests, telemetry, or AI. it runs entirely on your machine.
mechanism

how it actually works

repair

Pitch is corrected and the formants are left alone, so the corrected voice still sounds like you. Retune is a time in milliseconds, not a 0–1 knob: set it slow and the repair is inaudible, set it fast and it locks hard.

cage

Hold a chord on any MIDI keyboard and the sung note moves to the nearest note in the chord, with up to fifteen harmony voices made from the same performance. Release the chord and the effect lets go.

latency

Studio mode looks 46 ms ahead to make better decisions. Live mode skips the lookahead: total latency falls to between 24 and 10 ms, depending on range.

display

Everything that moves on the panel is the engine actually moving. Nothing is animated for effect.

read the DSP: how it works
spec

stated plainly

formatsVST3 & AU, 64-bit, macOS. Windows soon. Sample-rate-agnostic; any host block size.
enginesFormant-preserving TD-PSOLA + a phase-vocoder engine with cepstral formant preservation. Live mode runs PSOLA.
voices16-note polyphony: the lead + 15 harmony voices, plus 4 ADT-style double voices.
retune0–200 ms glide. 0 is an instant snap.
scale modeNote snapping with a ~40-cent dead band, so pitch doesn’t flicker between neighbouring notes. Per-note masking and bias.
MIDI modeNotes played together are read as one chord (gathered over 30 ms). Every note in the chord gets a voice.
CPU~1.7% of one core: full plugin, stereo defaults. Measured on Apple M2 at 48 kHz, release build.
total round trip, input → output · 48 kHz
full · 65 Hz
studio
live
46.2 ms23.7 ms
low · 80 Hz
studio
live
37 ms19.4 ms
mid · 110 Hz
studio
live
27 ms14.3 ms
high · 160 Hz
studio
live
19.4 ms10 ms

The range floor sets the latency: to track a note the engine has to hear whole cycles of it, and lower notes have longer cycles (studio waits for three; live for one and a half, plus 32 samples). Latency is reported to the host for delay compensation and recomputed when range or mode changes; bypass is delay-matched, so toggling never shifts time. Values from the engine specification, 2026-07-10; CPU measured, latency computed from the spec’s formulae. Bench-measured DAW round trips join this table at launch.

plainly

what you get

+formatsVST3 & AU
VST3 and AU, 64-bit, on macOS. Windows soon.
+licenceoffline keyfile
A signed offline keyfile arrives by email. No iLok, no account, no DRM theatre. Person-based: your machines are your machines.
+free versionthe tuner, free
The tuner is free. The licence unlocks the instrument. Full quality, free forever: no expiry, no email, no signup.
maker

I’ve been making music for sixteen years, and building tools for other people for ten. snails.fm is the two joined up, long overdue. I can’t sing well, so a voice tuner has been at the heart of my workflow, but I was never satisfied with what I sounded like on the other end. This one, I built. No DRM, yours forever, and the tuner is free.

— Charlie, snails.fm