Page actions
instrument mechanism / verified-clean
Harmonic Series Explorer mechanism
The inspectable method record for Harmonic Series Explorer, kept separate from implementation and qualification.
Model scope
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.
- 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.
Units and conventions
- 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.
Inspectable vector
One of 4 source-bound review vectors:
{
"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."
}Failure boundary
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.
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