Milliseconds to samples: convert delay at any sample rate
Convert milliseconds to samples at 44.1, 48, or 96 kHz, round sample-based delay correctly, and distinguish intentional delay from audio buffer latency.
To convert milliseconds to samples, multiply the time by the sample rate in hertz and divide by 1,000. At 48 kHz, 1 ms equals 48 samples, so a 10 ms delay equals 480 samples. Here, samples are the individual time steps in digital audio, not separate drum files or loops.
Use the sample rate that applies to the processor’s delay control, usually the current session rate. The same number of samples lasts a different amount of time at 44.1, 48, and 96 kHz.
Convert in either direction
Sample rate tells you how many samples represent one second. With 48,000 samples per second, divide by 1,000 to get 48 samples per millisecond.
Samples = milliseconds × sample rate in Hz / 1,000
Milliseconds = samples × 1,000 / sample rate in Hz
You can also multiply milliseconds directly by the sample rate in kHz. For a 48 kHz session, 10 × 48 = 480. Do not mix the two forms: multiplying 10 ms by 48,000 without dividing by 1,000 produces a result a thousand times too large.
| Desired delay | At 44.1 kHz | At 48 kHz | At 96 kHz |
|---|---|---|---|
| 0.1 ms | 4.41 samples | 4.8 samples | 9.6 samples |
| 1 ms | 44.1 samples | 48 samples | 96 samples |
| 10 ms | 441 samples | 480 samples | 960 samples |
| 125 ms | 5,512.5 samples | 6,000 samples | 12,000 samples |
These are ideal mathematical values. If the control accepts only whole samples, round the final sample count to a supported integer. Some delay processors can interpolate between samples, but you should not assume a field labeled samples accepts fractions.
Check the rounding error
At 44.1 kHz, an ideal 1 ms delay is 44.1 samples. Setting a whole-sample delay to 44 gives:
44 × 1,000 / 44,100 = 0.997732... ms
That is approximately 0.002268 ms shorter than the target. One whole sample at this rate lasts about 0.022676 ms, so rounding to the nearest sample produces an error no larger than about 0.011338 ms.
For 125 ms at 44.1 kHz, the ideal count is 5,512.5. Rounding up to 5,513 gives approximately 125.011338 ms; rounding down to 5,512 gives approximately 124.988662 ms. Either is equally close in this exact half-sample case. Select according to the timing requirement if one direction matters.
These differences are small for many musical echoes, but sample alignment can matter when combining closely related signals. Use the reverse formula to see the actual duration rather than expecting an integer field to reproduce every decimal millisecond value exactly.
Convert a tempo-related delay
First find the musical interval using the BPM to MS calculator. Then convert that duration to samples using the active processing rate.
At 120 BPM, a sixteenth note is 125 ms. In a 48 kHz project, that becomes 125 × 48 = 6,000 samples. If the plugin has only a sample-delay field, enter 6,000 there rather than pasting the millisecond value unchanged.
Keep precision until the final conversion. At 140 BPM, a dotted eighth lasts approximately 321.428571 ms. Multiplying by 48 gives about 15,428.571 samples, which rounds to 15,429. Rounding the time to 321 ms first would instead give 15,408 samples, losing precision before you reach the device’s sample limit.
The delay-time guide helps select the musical subdivision. Converting the unit preserves the chosen interval; it does not determine feedback, tone, or how loud the echo should be.
Use the processing rate, not the file label
A file recorded at 48 kHz may be imported into a 44.1 kHz project and resampled for playback. A delay operating at the session rate normally uses that current processing rate, not the original file’s metadata. If a processor uses an internal rate or a special convention for its sample control, check its documentation.
Stereo does not double the time calculation. A 480-sample delay at 48 kHz lasts 10 ms on each channel; it does not become 20 ms because there are two channels. Bit depth is separate too: switching between 16-bit and 24-bit audio does not change the time represented by one sample at the same sample rate.
If you change the session rate while keeping a fixed integer sample delay, recheck the duration. A 480-sample setting is 10 ms at 48 kHz but only 5 ms at 96 kHz. A processor may compensate automatically, but the unit conversion itself does not.
A buffer duration is only part of latency
The same formula says that a 256-sample buffer at 48 kHz spans approximately 5.333 ms. That is the duration of one buffer, not a guarantee of the total recording or monitoring delay. Input/output buffering, conversion, driver behavior, and plugin processing can add more time.
Use a sample-delay effect for an intentional offset or alignment adjustment. Use the DAW’s latency information and compensation features when investigating the whole signal path. Keeping those purposes separate helps you choose the correct number without expecting one buffer calculation to explain everything you hear.