// BPM Calculator
I kept doing the same maths by hand. BPM to milliseconds, milliseconds to Hz, for every delay, every reverb tail, every envelope stage.
This does it instead. Type a BPM, get every standard note division in milliseconds and Hz, straight, dotted and triplet.
Also: click any number to copy it straight to your clipboard.
Hope you find it useful too.
BPM
Delay, reverb & envelope timings
| Straight | Dotted | Triplet |
|---|
Using this
Delay: pick a straight division for an in-time echo, a dotted 8th for the classic ambient
bounce, or a triplet for a shuffled feel.
Reverb tail: aim the decay time at or just under a division so it clears before the next hit
lands. A quarter or 8th keeps things tight. A half or whole note lets it wash.
Envelopes: release times read the same way. A pluck decaying over a 16th feels rhythmic. A pad
released over a bar feels like it's breathing with the track.
LFO sync: the Hz column is the rate for anything that takes Hz instead of a note value. Filter
wobble, tremolo, sidechain-style pumping without a compressor.
To do
- Tap tempo. Click in time and let it average the intervals instead of typing a BPM you already half-know.
- A "fits under" mode for reverb tails: type a target ms and it highlights the nearest division under it, rather than reading the table by eye.
- Time signatures other than 4/4. Right now "1 bar" always means 4 beats.
Changelog
2026-07-16
- Initial release: BPM input with presets, straight/dotted/triplet chart from a whole note down to a 32nd in ms and Hz, click-to-copy.
- Added a slider synced to the BPM field for quick scrubbing.
- Relabelled the top row "1 Bar" instead of "1/1" so the table's top end reads unambiguously.
- Removed the BPM preset pills.
- Removed the "Tempo" / "beats per minute" labels; "BPM" now sits next to the field in white, matching the number's size.
- Fixed the stat row's unused small low-contrast default styling, now full size and light like the rest of the page.
- Fixed the "Using this" hint paragraph, still using the low-contrast muted colour on text. Now light, like everything else.
- Removed bold weight from the BPM display and table headers, the site never uses bold text.
I'd love to tell you more.