audioJS

Pitch and tempo changer

Drop a track. Transpose it, slow it down or speed it up, keep the rest intact.

Drop a song or recording here
or click to choose, or paste with Ctrl+V

Nothing is uploaded. Everything runs in this tab with @audio/shift and @audio/stretch.

Transpose and time-stretch in the browser

The two sliders drive @audio/shift (pitch) and @audio/stretch (tempo), open-source transient-aware phase vocoder implementations from audiojs. Nothing is uploaded, nothing is watermarked, and the result saves as MP3, WAV, FLAC, OGG, Opus or AAC.

Slow down music to practice

Set tempo to 50 to 75 % and the solo stays at the original pitch, so you can play along. Speed up to 125 to 200 % for lectures and podcasts.

Transpose a backing track

Shift by whole semitones up to an octave. Duration stays the same, so the track still lines up with a video or a click.

Quality notes

Transient detection keeps drum hits from smearing, the usual weakness of phase vocoders. Extreme settings (an octave, or 200 %) are audible on any algorithm; moderate settings are hard to tell from the original.

Questions

Does changing tempo change the pitch? No. Time stretching keeps the pitch while changing duration, and pitch shifting keeps the duration while transposing. Both use transient-preserving phase vocoders, so drums stay sharp.

How far can I transpose? Up to an octave either way. Small moves (up to 3 or 4 semitones) are transparent; larger ones start to sound processed, as with any real-time algorithm.

What is it good for? Slowing a solo down to learn it, transposing a backing track to your vocal range, speeding up a lecture or audiobook, matching two songs for a mix.

Is the audio uploaded? No. @audio/shift and @audio/stretch run in your browser.