How the Audio Speed Changer Works
AnyTool changes audio speed entirely in the browser. Preview is instant and encode-free: a bound HTMLMediaElement's playbackRate is set live as the slider moves, and because preservesPitch defaults to true the pitch stays natural with no processing; flipping preservesPitch to false gives the pitch-follows-speed (nightcore/vaporwave) mode. A waveform is drawn from decodeAudioData with a synced playhead. Export uses a self-hosted single-threaded ffmpeg.wasm engine (bundled core, no CDN): pitch-preserved speed uses a chained atempo filter (each stage clamped 0.5–2.0), pitch-follows-speed uses asetrate+aresample, and an independent semitone pitch shift uses asetrate→aresample→atempo. Output defaults to the source format across MP3/WAV/FLAC/OGG/M4A.
- Runs client-side — the audio is never uploaded
- Self-hosted ffmpeg core (bundled) — no CDN
- Instant zero-encode preview via playbackRate + preservesPitch
- Pitch-preserved (atempo) or pitch-follows-speed (asetrate)
- Independent semitone pitch shift; nightcore/slowed presets
- MP3/WAV/FLAC/OGG/M4A export, defaulting to source format
