feature/chroma.js — C-major arpeggio chromagram

A C4–E4–G4–C5 arpeggio (261.63 / 329.63 / 392.00 / 523.25 Hz, 0.5 s each) at sr=22050 through feature.chroma_stft with tuning auto-estimated (piptrack parabolic interpolation → pitch_tuning histogram — the standard tuning-estimation path). Each note must light its own pitch-class row: per-segment argmax must be [0, 4, 7, 0] = [C, E, G, C], and estimate_tuning on these A440-derived tones must be within 0.05 chroma bins of 0. Numeric asserts were node-verified against dist before this page was written ([0,4,7,0], tuning −0.040).