Your 8-Bar Loop Is the Wrong Length: The Time Signature Trap in Sample Editing
Bars-to-seconds math looks like simple division, but compound time signatures redefine what a 'beat' even is — get that wrong and every trimmed loop drifts out of sync.
Chop an 8-bar loop out of a sample at what you’re sure is the right length, drop it into your DAW, and watch it drift half a beat out of sync by the fourth repeat. Nine times out of ten the tempo was right and the bar count was right — what was wrong was the assumption that “a beat” means the same thing in every time signature, which is the single most common trap in bars-to-seconds math for anyone sampling or building loops in anything other than straight 4/4.
The formula everyone starts with
The base relationship is simple: one beat lasts 60 / BPM seconds. At 120 BPM, that’s 60/120 = 0.5 seconds per beat. A bar in 4/4 has four beats, so one bar is 4 × 0.5 = 2 seconds, and an 8-bar loop is 8 × 2 = 16 seconds. That’s the calculation nearly everyone does correctly, because 4/4 is the time signature most tutorials, presets, and factory loop packs default to.
The Loop Length Calculator runs exactly this — bars or beats in, seconds, milliseconds and samples out, at any BPM, time signature and sample rate — but the reason it needs a time-signature field at all is that the “beats per bar” number silently changes what a beat even is once you leave 4/4.
Where it breaks: compound time signatures
In simple time signatures — 4/4, 3/4, 2/4 — the bottom number tells you the beat is a quarter note, and the math above holds directly. But in compound time signatures — 6/8, 9/8, 12/8 — the bottom number says “eighth note,” and that changes the reference unit the whole calculation is built on:
secondsPerBeat = (60 / BPM) × referenceScale
referenceScale = 0.5 when the denominator is 8 (eighth-note beat)
referenceScale = 2 when the denominator is 2 (half-note beat)
referenceScale = 1 otherwise (quarter-note beat)
So at 120 BPM in 6/8, one eighth-note “beat” is (60/120) × 0.5 = 0.25 seconds — not the 0.5 seconds you’d get by treating it like 4/4. A bar of 6/8 has six of those eighth-note beats, giving 6 × 0.25 = 1.5 seconds per bar. If you’d instead (wrongly) treated 6/8 as “6 beats at 0.5 seconds each” using the 4/4 assumption, you’d calculate 3 seconds per bar — exactly double the correct length. That’s not a rounding error; it’s a factor-of-two mistake that will make every loop trimmed by hand in a 6/8 track land exactly one bar-length too long, throwing off every downstream edit that assumes the loop point is correct.
Worked example: an 8-bar loop in 6/8 at 140 BPM
Say you’re sampling a jig or a ballad written in 6/8 at 140 BPM and want an 8-bar loop:
secondsPerBeat = (60/140) × 0.5 ≈ 0.2143 s
beatsPerBar = 6 (the numerator of 6/8)
secondsPerBar = 6 × 0.2143 ≈ 1.2857 s
8-bar loop = 8 × 1.2857 ≈ 10.286 s
At a 48 kHz sample rate, that’s 10.286 × 48000 ≈ 493,700 samples — and that sample count is what actually matters if you’re setting exact loop points in a sampler, since samplers work in sample-accurate boundaries, not seconds rounded to two decimal places. Get the reference-beat assumption wrong and your loop point lands roughly half a second off in either direction, which is audible as a stutter or gap on every repeat, not just a rounding artifact you can ignore.
Bars and beats stay in sync automatically — but only one way
The tool keeps a bars field and a beats field synced to each other: edit bars, and beats updates to bars × numerator; edit beats, and bars recalculates as beats / numerator. That’s useful when you’re thinking in musical bars but need to communicate a length in raw beats to a sampler or MIDI clip editor, or vice versa — but it also means the numerator (the top number of the time signature) is doing real work here too, not just the denominator. A bar of 9/8 has 9 beats; a bar of 12/8 has 12. Mixing up which time signature a track is actually in — 6/8 versus 12/8 sound similar rhythmically but produce bar lengths that differ by exactly 2× — is a second, independent way to get the bar count wrong even after you’ve correctly handled the eighth-note reference beat.
Sample rate is a separate multiplier, and it compounds
Once the seconds figure is right, converting to samples is pure multiplication — seconds × sample rate — but it’s worth being deliberate about which sample rate you actually need. A loop trimmed at 44.1 kHz and later dropped into a 48 kHz session (or vice versa) without resampling will play back at a slightly different pitch and length, because the same sample count represents a different duration at a different rate. If you’re preparing loops for multiple target formats — say, a sample pack that needs both 44.1 kHz (CD/streaming-standard) and 48 kHz (video/broadcast-standard) versions — compute the sample count separately for each rate rather than assuming one sample-count figure applies across both.
When the math actually matters
None of this precision matters much if you’re eyeballing a loop point by ear and nudging it until it feels right — plenty of producers work exactly that way, and it works fine for loose, groove-based material. It matters a great deal when you’re slicing multitracks for a sample library, syncing a loop to a DAW’s grid with zero drift over dozens of repeats, or hitting an exact sample-accurate boundary for a hardware sampler that doesn’t forgive an off-by-a-few-samples edit. In those cases, the difference between assuming 4/4-style beats and correctly handling a 6/8 or 12/8 reference beat is the difference between a loop that locks and one that slowly walks out of phase.
Enter your BPM, time signature, sample rate, and either bars or beats into the Loop Length Calculator and it handles the compound-time-signature reference-beat conversion automatically, along with a quick preset row for common loop lengths (1, 2, 4, 8, 16, 32 bars). If you’re setting delay or reverb times off the same tempo rather than trimming a loop, the BPM to Milliseconds Delay Calculator covers that companion calculation — straight, dotted and triplet note values converted from the same BPM.