/ Free online tool — Time stretcher & BPM changer
Drop a file.
Match the BPM.
Source BPM read from the filename or worked out from the audio. Set the target BPM, hear the result, download the WAV. Pitch unchanged. No upload. No sign-up.
Click or drop audio.
WAV, MP3, FLAC, OGG, M4A, or AAC.
/ Method
How the BPM matcher
works.
Method: filename parsing + onset/autocorrelation BPM detection + STFT phase-vocoder · Built by Sample Vault · v1
The same BPM detection and time-stretching the desktop app runs across your library, in your browser.
/ 01 — Filename parsing
Sample-pack filenames usually carry the BPM (kick_loop_140bpm.wav). We pull it out the moment you drop the file, before the audio's even finished decoding.
/ 02 — Audio BPM detection
While that's happening, a second detector listens for onsets in the audio itself and works out the most likely tempo from how regularly they repeat. If the filename had nothing to say, the detected value goes in the source field. If both turn up, you pick whichever you trust.
/ 03 — Phase-vocoded stretch
Set source and target BPM. The rate is just target / source. We slice your audio into overlapping short windows and lay them back down at a different spacing — closer together to speed it up, further apart to slow it down. The frequency content of each window stays untouched, so the pitch doesn't shift.
/ 04 — Honest failure modes
Modest stretches (0.5×–2×) sound clean on most material. Extreme ratios (sub-0.4× or above 3×) get metallic on anything with sharp attacks. The detector also reports half / double alternatives — if the source feels off by an octave, halve or double it before matching.
/ Across your library
From one loop
to fifty thousand.
Matching one loop to your project tempo is easy. Doing it for thirty thousand of them, on playback, without re-bouncing or trusting filenames — that's the desktop app. Same engine, working across every folder you point it at.