| name | audit-voice |
| description | The instrument's HARMONIC CHARACTER — does it lead with the fundamental like the real thing, and does it have ONE committed voice instead of a washed-out average. Usage - audit-voice <instrument> |
audit-voice — pick one tone and commit
Owner (2026-07-17): "compare with more tones … more sounds. pick one. don't always go for
average. sometimes you need to pick one of the many possibles and commit with it."
This is the timbre aspect, and it carries the most important method-shift in the project.
match-reference tunes toward the MEDIAN of a reference set — which averages out exactly the
character that makes one tone gorgeous, and yields something correct in a spectrogram and
lifeless in a phrase. audit-voice does the opposite: gather MANY real tones, choose ONE
target worth chasing, and commit the instrument to it.
Why this aspect exists
The clearest, oldest failure in the project — the owner's recurring "too EP-like" — was a
harmonic-balance defect the average-matching loop never named: the PIANO put its 2nd and 3rd
harmonics ABOVE the fundamental in the mid register (C4 h2 +3, h3 +6), where every real grand
LEADS WITH THE FUNDAMENTAL (Steinway C4 h2 -15, Kawai -13). No real acoustic instrument in its
sustained body is top-heavy at the fundamental. That single check — "is the fundamental led?"
— catches thin/electric/synthetic character across the whole library.
The procedure
-
Gather MANY tones, not one. Pull several real recordings of the instrument from
DIFFERENT sources (e.g. VCSL has a Steinway B, a Kawai grand, two uprights — all CC0;
VSCO-2-CE, Karoryfer, FreePats). Licence-clean only; ledger the source
(agentic-docs/licensing.md). More sources = you SEE the spread and can choose, instead of
inheriting whatever one library happened to sound like.
-
Measure the harmonic ladder with scripts/dev/ref-analyze.py (octave-corrected pitch,
per-harmonic amplitudes rel h1). Print h1..h8 for a handful of representative notes across
the register at a mezzo-forte layer. Do it for OURS and for EACH real source, side by side.