How the Audio Time Stretch Works
AnyTool changes tempo without changing pitch entirely in the browser. For preview it uses a WSOLA time-stretch engine in an AudioWorklet, so dragging the speed slider (0.25x–4x) or setting a target duration/BPM is heard live and pitch-preserving, with a waveform, region select and loop. Three modes drive the factor: Speed (direct), Target-duration (factor = source ÷ target), and Target-BPM (the source BPM is detected from the decoded buffer, then factor = target ÷ source). For export the shared self-hosted single-threaded ffmpeg.wasm engine (bundled core, no CDN) applies a pitch-preserving atempo chain (auto-chained to stay within the per-stage window across 0.25x–4x) and encodes WAV, MP3 (libmp3lame), M4A (AAC), OGG (libvorbis) or FLAC; an extreme spectral-smoothing mode handles ambient stretches beyond 4x.
- Runs client-side — the audio is never uploaded
- WSOLA preview changes tempo without changing pitch
- Speed, target-duration and target-BPM modes
- Region loop and an extreme ambient-stretch mode
- Self-hosted ffmpeg core (bundled) — no CDN
- Export WAV/MP3/M4A/OGG/FLAC
