Why Do This in Your Browser?
Pitch shifting without changing duration used to mean opening a DAW, hunting through plugin menus, finding a time-domain shifter, dialing it in by ear, and bouncing the result. For a single instrument practice take or a podcast voice tweak, the friction is the whole job. The math behind pitch-preserved time stretching is non-trivial — it requires resampling combined with phase-aware time correction — but it has been a solved problem since the 1990s and FFmpeg ships the algorithm built in.
Run the shift in your browser. The audio never leaves your device. The 32MB FFmpeg.wasm engine is the same one used by the Audio Trimmer, Normalizer, and the Video Suite — load it once and every later operation across the suite starts instantly.
How It Works
Drop an audio file. Set the pitch shift in semitones using the slider (range ±12 — a full octave each direction). Positive values raise the pitch; negative values lower it. Duration stays exactly the same — only the pitch changes. Preview the slider position before committing to the export.
Under the hood, the tool applies FFmpeg's standard pitch-shift chain: `asetrate` to scale the sample rate by `2^(semitones/12)`, `aresample` to bring the rate back to a standard frequency, then `atempo` with the inverse factor to restore the original duration. The result is a pitch shift with the same playback length — voice gets higher or lower, music transposes up or down a key, all while the song's tempo stays put.
Tip: For changing playback speed without affecting pitch, use the Audio Tempo Changer instead — it does the opposite operation. To run a final loudness pass after pitch correction, the Audio Normalizer brings the result to distribution-ready levels.
Common Use Cases
How We Compare
Honest read on free, paid, and self-hosted options for this kind of job: