feature/mfcc.js + scripts/xa-display.js — chirp → mel → MFCC → specshow

A 3 s linear chirp 200 → 4000 Hz plus a 0.5 s steady 1 kHz tail at sr=22050 goes through feature.melspectrogram (n_mels=128) → convert.power_to_dbspecshow (magma), with the MFCC(13) matrix and waveshow below. Before the tier-2 repair, specshow(melspectrogram(y)) threw 'cmap: data contains no valid finite values' on the package's own Array<Float32Array> format (Array.prototype.flat does not flatten typed-array rows). Numeric asserts were node-verified against dist before this page was written (rho 0.9998, steady bin 38, mfcc 13×151, NoteFormatter A4).

mel spectrogram (specshow, magma) — rising chirp ridge + steady 1 kHz tail

MFCC(13) heatmap (specshow)

waveform (waveshow)