Change tempo from 0.25x to 4x with WSOLA, holding pitch to within half a cent, or let pitch move with it like tape. Measures the output and shows how far the pitch actually went.
Initializing in your browser…
Turn audio into a waveform image in five styles, exported as PNG or real vector SVG. Reads every channel, shows true level in dBFS, and redraws correctly at any size.
Detect tempo from onset autocorrelation, within 0.20 BPM across thirteen known-tempo fixtures. Draws the beats it found and plays them back as a click so you can check by ear.
Cut a region out of any audio file, exact to the sample and measured at zero milliseconds of error. Waveform handles, real keyboard shortcuts, click-free cut fades, and WAV or MP3 output that matches its extension.
A lecture recording is too slow to review and you want 1.5x without chipmunk pitch.
Input
tone-440.wav (4.0000 s) - 1.5x - preserve pitch
Output
2.6667 s, pitch measured at 439.87 Hz: half a cent from where it started
WSOLA slides each output frame to where it best continues the one before it, so the tempo changes and the waveform shape survives. The figure above is measured out of the exported file. The plain overlap-add this replaced put the same request 158 cents flat, a minor third out of tune, with more noise than signal.
Speed up or slow down audio from 0.25x to 4x, keeping the pitch where it is or letting it move with the tempo like tape. Pitch-preserving mode holds the pitch to within half a cent, measured, and the tool shows you that measurement rather than asking you to take its word for it.
Load the episode, leave Preserve Pitch on, and pick 1.5x. The runtime drops to two thirds and the Measured Result panel confirms the pitch has not moved. The preview plays the same processed audio the download contains.
Set 0.5x with Preserve Pitch on to double the duration at the original pitch: measured at 440.12 Hz from a 440 Hz source. Turn Preserve Pitch off instead if you want the deliberate slowed-down, lower-pitched tape sound.
Turn Preserve Pitch off and set 2x on material with real top end. Everything moves up an octave as it should, and the content pushed past Nyquist is filtered out rather than folding back as a 14 kHz tone.
Slow down fast speech to catch every word while typing, without the pitch dropping.
Reduce playback speed on foreign-language audio to better follow pronunciation.
Slow a difficult passage down to practice at a comfortable tempo before building back up.
Speed up a voiceover slightly to fit a fixed video duration without re-recording.
Speed runs from 0.25x to 4x on a slider in steps of 0.05, with one-tap presets at 0.5x, 0.75x, 1x, 1.25x, 1.5x and 2x, and two genuinely different processing paths behind the Preserve Pitch switch.
With Preserve Pitch on, tempo is changed by WSOLA (waveform similarity overlap-add): each output frame is slid to the position where it best continues the frame before it, so a sustained note keeps its waveform shape instead of beating against the grain boundaries. Measured on a 440 Hz reference driven through the browser, 2x reads 440.02 Hz, 0.5x reads 440.12 Hz and 1.5x reads 439.87 Hz, all within half a cent of no change at all, with the output duration landing exactly on input duration divided by speed.
That replaced a plain overlap-add with no similarity search, and the numbers it produced are worth stating because this is the mode the tool exists for: at 2x it moved the pitch 36 cents sharp, at 0.5x it landed 145 cents sharp with more noise than signal, and at 1.5x it fell 158 cents flat, a minor third out of tune. It also summed its Hann windows to roughly twice unity and then normalised each channel independently, so levels moved and stereo images shifted.
With Preserve Pitch off you get vari-speed, the tape-machine behaviour: pitch and tempo move together, 2x raises everything an octave and 0.5x drops it one. Reading a buffer faster pushes high frequencies past Nyquist, and unless they are removed first they fold back down into the audible range as a whistle that was never in the recording. A 15 kHz tone at 2x used to reappear at 14.1 kHz just 3.5 dB below the wanted signal; the audio is now band-limited by a zero-phase Butterworth cascade before it is read, which puts that fold-back 103 dB down while leaving the passband flat to within 0.03 dB.
The preview plays the processed audio in both modes. Previously it always used the browser playbackRate, which is the tape path, so turning Preserve Pitch on changed nothing you could hear until after the download. The stretch runs in a Web Worker with a progress bar and a Cancel button that genuinely stops it, and the Measured Result panel analyses the rendered audio afterwards and reports how far the pitch actually moved: close to zero cents in pitch-preserving mode, and about 1200 cents at 2x in vari-speed. Export is a 16-bit WAV or a 192 kbps MP3, at the source sample rate.
Not with Preserve Pitch on, which is the default. Measured on a 440 Hz reference, 2x comes back at 440.02 Hz and 0.5x at 440.12 Hz. With it off, pitch rises when sped up and drops when slowed down, like a tape machine.
The Measured Result panel runs a Fourier analysis over the rendered audio and reports the shift in cents. It is measuring the output, not restating the setting, so if the stretch ever went wrong the number would say so.
Any time stretch has to invent material between the original frames, so transients soften as the ratio grows. Between 0.5x and 2x is cleanest. Pitch accuracy holds across the whole range; it is the timbre that suffers, not the tuning.
Yes, in both modes. The preview plays the same processed buffer that gets exported. That was not true before: the preview used to be tape-style even with Preserve Pitch on.
This tool applies a uniform speed change. To adjust only a section, trim it first with the Audio Trimmer, change speed, then merge it back.
Audio is decoded and processed locally with the Web Audio API. Your files are never uploaded to a server.