SemanticCompute v1.14.0
SemanticCompute v1.14.0 — the audio-estate lane
A minor, by the rule: seven additive families (catalogue 151 → 158), each traced to hand-rolled call
sites or an explicit consumer roadmap ask before being declared a gap. This is the release for the audio
estate that has been rewriting the same numerics in module after module — five LPC implementations, five
linear-interpolation resamplers, three envelope-follower recurrences — with conventions nobody wrote down.
Added
Batched LPC (Levinson–Durbin + all-pole spectral envelope) — the estate's most-duplicated numeric.
Conventions pinned rather than assumed: the analysis-polynomial sign (an AR(2) recovery test cannot pass
under the negated convention), silence yields zeros not NaN (a silent frame has no vocal tract), and an
unstable reflection coefficient freezes the recursion at the last stable order rather than sending poles
outside the unit circle into a formant display.
Sobel 2D gradient magnitude — a consumer plan's top priority verbatim: its MPS-based onset detector was
"the only unverified GPU path" in the module. The edge policy — the convention that silently diverges — is
stated (replicate) and pinned by a border-value test.
Polyphase windowed-sinc resample — rational L/M positions split exactly into integer + fraction, so
phase never drifts along the signal (pinned on 100k samples — the classic accumulator-resampler bug).
Per-position kernel normalisation passes DC at exactly unity. Measured: 99.7 dB interior SNR at
44100→48000 with 32 taps, where linear interpolation manages ~35.
True peak (BS.1770-4 method) — inter-sample peak metering, absent estate-wide. 4× oversampling through
the SAME windowed-sinc kernel as the resampler — one interpolator, two families, no second implementation
to disagree with. Stated honestly: the informative Annex 2 filter is not claimed. The canonical case
(fs/4 at π/4 phase: 0.707 sample peak hiding a 1.0 true peak) is pinned.
Batched attack/release envelope follower — the one-pole recurrence three modules rewrite. Pinned: the
attack/release branch compares against the PREVIOUS envelope, initial state is 0, k = 1 − exp(−1/(τ·fs))
with τ = 0 mapping to instant, never to a divide by zero. Sequential per band, parallel over bands — the
win is B bands in one dispatch, stated so nobody expects one band to speed up.
Gammatone/ERB filterbank band energies — requested by a consumer roadmap that recorded a −24 dB
surprise from an unstated normalisation in an earlier attempt. Pinned to the digit: ERB(1 kHz) = 132.639 Hz,
ERB-rate-spaced centres, the 4th-order spectral gammatone with Patterson's 1.019 factor, and area
normalisation as an explicit option rather than a default surprise.
Nearest-centroid assignment — asked for independently by two consumers (DUET spatial clustering and a
drum-piece peeling loop). Ties break to the lowest centroid index by construction (strict < in ascending
order), the chosen distance is returned so stopping criteria need no host recompute, and the update step is
deliberately absent: assignments are labels, and labels feed the fused labelwise scatter.
Verification surface: 1,165 tests in 251 suites; the kernel-compile sweep covers 360 programs across 219
lowerings, 0 failed. Four lowering targets, three executed in-core (Metal, portable C, WGSL) plus the
externally verified CUDA runner.