← Gallery Chromagram — C-major arpeggio

Chromagram — C-major arpeggio

feature/chroma.js

Play a C-major arpeggio — C, E, G, then C an octave up — and the chromagram should light up exactly one pitch-class row per note; the play button lets you hear the very audio being analyzed. Technically: a C4–E4–G4–C5 arpeggio (261.63 / 329.63 / 392.00 / 523.25 Hz, 0.5 s each) at sr=22050 runs through feature.chroma_stft with tuning auto-estimated (piptrack parabolic interpolation → pitch_tuning histogram — the standard tuning-estimation path). 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).