Page actions
instrument mechanism / verified-clean
Beat/Measure Duration & Song Length Estimator mechanism
The inspectable method record for Beat/Measure Duration & Song Length Estimator, kept separate from implementation and qualification.
Model scope
The duration arithmetic is standard under the stated unit assumptions, but the instrument cannot be verified unambiguously until the BPM beat unit, time-signature-to-beatsPerBar mapping, reverse formula, and whole-bar policy are specified. The empty honest_label is a concern: the label should disclose that results assume constant tempo, a fixed meter, and a defined BPM beat unit.
- The duration formula is correct only when BPM means the number of beats represented by beatsPerBar and the tempo is constant: duration_seconds = bars × beatsPerBar × 60/BPM.
- The claimed reverse operation has no formula in the specification. It should explicitly define bars = targetDurationSeconds × BPM / (beatsPerBar × 60).
- The specification does not define how BPM relates to the time signature. In compound meters such as 6/8, BPM may refer to eighth notes or dotted-quarter beats, producing different results.
- The specification does not define whether bars must be whole numbers when calculating bars needed for a target duration.
Units and conventions
- BPM is beats per minute for the beat counted by beatsPerBar.
- 60/BPM converts one beat into seconds.
- bars is dimensionless and beatsPerBar is beats per bar.
- target duration used by the reverse calculation is in seconds; minutes must first be converted by multiplying by 60.
- For a 6/8 example using beatsPerBar = 6, BPM is explicitly treated as eighth-note BPM, not dotted-quarter BPM.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"mode": "duration",
"BPM": 120,
"time_signature": "4/4",
"beatsPerBar": 4,
"bar_count": 16
},
"expected_outputs": {
"duration_seconds": 32,
"duration_minutes": 0.5333333333
},
"working": "Beat duration = 60/120 = 0.5 seconds. Beats in song = 16 × 4 = 64 beats. Duration = 64 × 0.5 = 32 seconds. Minutes = 32/60 = 0.5333333333 minutes."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
BPM = 0 makes the duration formula undefined because it divides by zero; the instrument must reject that input. The 6/8 probe also exposes a convention hazard because treating the numerator as beatsPerBar differs from conventional compound-meter grouping.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json