Source: https://guthlabs.ai/docs/instruments/tempo-milliseconds-converter/mechanism/

instrument mechanism / verified-clean

# Tempo ↔ Milliseconds Converter mechanism

The inspectable method record for Tempo ↔ Milliseconds Converter, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The implementation should document the note-value factor table and require BPM > 0. The empty honest_label is a concern: the user-facing label should explicitly state that BPM is quarter-note BPM and that note values are converted using factors relative to a quarter note.

- The formula is standard only when BPM means quarter-note beats per minute and noteValueFactor is explicitly defined relative to one quarter note.

- The spec does not define the allowed note values or their factors, so “any note value” is ambiguous.

- The spec does not state whether BPM must be a positive number or how invalid and zero BPM inputs are handled.

## Units and conventions

- BPM is quarter-note beats per minute.

- 60000 is the number of milliseconds in one minute.

- noteValueFactor is dimensionless: quarter note = 1, half note = 2, whole note = 4, eighth note = 0.5, sixteenth note = 0.25, dotted quarter = 1.5, and so on.

- The output ms is milliseconds per specified note value.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "BPM": 120,
    "note_value": "quarter",
    "noteValueFactor": 1
  },
  "expected_outputs": {
    "ms": 500
  },
  "working": "60000 / 120 = 500 ms per quarter note; 500 × 1 = 500 ms."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification does not define input-domain rejection or note-value parsing. BPM = 0 is undefined, negative BPM yields an invalid negative duration, and the notation 1/4 can produce 125 ms or 2000 ms depending on convention.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/tempo-milliseconds-converter/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/tempo-milliseconds-converter/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/tempo-milliseconds-converter/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
