Why does a tape recorder sound like chipmunks when you play it fast? And what do professional musicians use when they need to change tempo without affecting pitch?
Digital audio is just a long sequence of numbers representing air pressure over time (PCM — Pulse Code Modulation). When you play a PCM recording at double speed, you're reading through those numbers twice as fast. The pitch rises by exactly one octave because you're completing each cycle of the waveform twice as often. This is the same effect you hear when you speed up a vinyl record (classic DJ scratching) or a cassette tape. Pitch and speed are locked together in raw PCM.
Professional tools like Pro Tools, Ableton Live, and Audacity use algorithms to break this link. The most common approach is phase vocoder (Fast Fourier Transform-based), which analyzes the frequency content of short overlapping windows, stretches or compresses the time axis, and resynthesizes the audio. Another approach is WSOLA (Waveform Similarity Overlap-Add), which finds similar-looking chunks of audio and stitches them together. Both produce artifacts at extreme ratios but are remarkably transparent at moderate speed changes (±25%). The SoundTouch.js library brings WSOLA to the browser — we'll integrate it in a future update.
The Record button activates your browser's MediaRecorder API, which captures audio from your microphone and encodes it as WebM/Opus (the best-quality compressed format browsers support). When you stop recording, the WebM blob is decoded back to raw PCM samples using AudioContext.decodeAudioData(). The raw PCM is stored in an AudioBuffer, which supports playbackRate adjustment. On download, the PCM is re-encoded to uncompressed WAV for maximum compatibility with audio editors.
Record your voice and play it back at different speeds. Hear yourself fast, slow, or anywhere between 0.25x and 2x. Download as WAV. Runs in-browser — no upload required.
Part of ToolFluency’s library of free online tools for Music. No account needed, no data leaves your device.