Source: https://guthlabs.ai/docs/instruments/metronome-panel/

instrument / verified-clean

# Metronome Panel

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/metronome-panel/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/metronome-panel/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/metronome-panel/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/metronome-panel/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Audio, Music, Photography & Color

**Tranche**: tranche-6

**Evidence ID**: t6-033

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The numerical interval formula passes the stated unit interpretation, but the instrument needs explicit constraints and semantics before it can be approved. In particular, define subdivision as clicks per beat, define the beat unit for every time signature, specify accent-pattern scope and validation, document the tap-adjustment algorithm, and provide an honest label describing timing jitter and platform-dependent background behavior.

### Formula and scope findings

- The interval formula 60000/BPM/subdivision is correct in milliseconds only when BPM is beats per minute and subdivision means a positive number of equally spaced clicks per beat; this definition is not stated explicitly.

- Time signature does not affect the interval formula, but it is needed to determine bar length and accent placement. The beat unit for compound signatures such as 6/8 is unspecified.

- Accent-pattern semantics are unspecified: the pattern could apply per beat, per subdivision, or per bar, and its required length is undefined.

- The tap-adjustable BPM behavior has no algorithm specified, including tap averaging, minimum tap count, timeout, smoothing, or outlier rejection.

### Unit assumptions

- BPM is beats per minute.

- The constant 60000 is milliseconds per minute, so click intervals are in milliseconds.

- subdivision is a positive integer giving the number of clicks per notated beat.

- For the test vectors, event time 0 is the first click and later event times are n multiplied by the interval.

- For explicit test-vector accent patterns, 1 means accented and 0 means unaccented; patterns are specified per click unless otherwise noted.

- Audio and haptic scheduling may have platform latency and jitter even when the mathematical schedule is exact.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

BPM = 0 produces an undefined click interval unless the input is explicitly rejected. A separate convention ambiguity can also produce 250 ms versus 1000 ms for the same displayed settings if subdivision is interpreted per beat versus per bar.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "BPM": 120,
    "time_signature": "4/4",
    "subdivision": 1,
    "accent_pattern": [
      1,
      0,
      0,
      0
    ],
    "accent_pattern_scope": "one bar, one entry per click",
    "bar_count": 1
  },
  "expected_outputs": {
    "click_interval_ms": 500,
    "click_times_ms": [
      0,
      500,
      1000,
      1500
    ],
    "accented_click_indices": [
      0
    ]
  },
  "working": "BPM = 120 beats/minute. One subdivision gives 1 click/beat. Interval = 60000 / 120 / 1 = 500 ms. A 4/4 bar has 4 beats, so click times are 0, 0+500 = 500, 500+500 = 1000, and 1000+500 = 1500 ms. The accent pattern [1,0,0,0] accents only index 0."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
