Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Harmonic Series Explorer

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

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

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

Area
Audio, Music, Photography & Color
Tranche
tranche-4
Evidence ID
t4-109
Ledger rows
1

No ledger note is attached.

Review findings

The frequency formula itself is standard and passes the arithmetic checks under the stated assumptions. The instrument cannot receive a final PASS until it specifies the note-to-frequency formula, nearest-note/cents formula, A4 tuning reference, cents sign convention, units, and whether the output starts at n=1 or n=2.

Formula and scope findings

  • fn=f1*n is correct for the nth harmonic when n is a positive integer and f1 is a frequency in Hz, but the phrase 'above a fundamental' is ambiguous about whether n=1 (the fundamental) is included or only n>=2 is displayed.
  • No formula is provided for converting a fundamental note name into frequency.
  • No formula is provided for selecting the nearest 12-TET note or calculating cents error. A standard definition would use MIDI note m=69+12*log2(f/440), nearest integer MIDI note k=round(m), reference frequency fk=440*2^((k-69)/12), and signed cents error=1200*log2(f/fk).
  • The harmonic-count convention is unspecified: 'number of harmonics' could mean output n=1 through N or N overtones n=2 through N+1.
  • The empty honest_label is a concern because note-name and cents results require explicit 12-TET and tuning-reference assumptions.

Unit assumptions

  • All computed frequencies are in Hz unless an input explicitly states another unit.
  • The tuning reference is A4=440 Hz and equal temperament is 12-TET.
  • Cents error is signed: positive means sharp and negative means flat relative to the nearest 12-TET note.
  • A note input such as C4 is converted using f=440*2^((MIDI-69)/12).
  • For these test vectors, 'number of harmonics' means N outputs with n=1,2,...,N, including the fundamental.
  • Harmonic numbers are positive integers.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The specification does not state validation for a strictly positive fundamental frequency, so zero or negative inputs can reach logarithmic note conversion and produce undefined results. It also does not disambiguate whether the harmonic count includes the fundamental.

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": {
    "fundamental": 440,
    "fundamental_unit": "Hz",
    "number_of_harmonics": 3
  },
  "expected_outputs": {
    "harmonics": [
      {
        "n": 1,
        "frequency_hz": 440,
        "nearest_note": "A4",
        "cents_error": 0
      },
      {
        "n": 2,
        "frequency_hz": 880,
        "nearest_note": "A5",
        "cents_error": 0
      },
      {
        "n": 3,
        "frequency_hz": 1320,
        "nearest_note": "E6",
        "cents_error": 1.96
      }
    ]
  },
  "working": "n=1: f1=440*1=440 Hz. 440 Hz is A4, so cents=1200*log2(440/440)=0. n=2: f2=440*2=880 Hz. 880 Hz is A5, so cents=0. n=3: f3=440*3=1320 Hz. E6=440*2^((76-69)/12)=1318.510 Hz. Cents=1200*log2(1320/1318.510)=1200*log2(1.0011299)=+1.96 cents."
}

Related workflows

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-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json