Expand description
Long-window spectral novelty for experimental track-change detection (Plan 0009 Phase 4). Feeds the standalone’s scene director a nudge: a large spectral shift (a new track / section with a different frequency distribution) raises the novelty score, and the director lets that pull scene rotation earlier — but never triggers a change on novelty alone, since beatmatched DJ blends have no hard edge (NFR section 10).
The score is the distance between the current per-band spectrum and a slow exponential running mean of it, normalized by the mean’s magnitude so it measures a change in spectral shape, not loudness — a pure volume swell reads ~0, a full spectral swap reads ~sqrt(2). Within a steady segment the spectrum sits on its own running mean, so novelty stays near zero; at a boundary the spectrum diverges from a mean still built on the previous segment, so novelty spikes, then decays as the mean catches up. Deliberately spectral, not tempo: a beatmatched set holds tempo across the blend, so a tempo term would miss exactly the case this must stay soft on.
Pure and deterministic — a function of the spectrum sequence alone, no wall clock and no randomness (NFR section 6).
Structs§
- Novelty
Detector - Tracks the slow running mean of the spectrum and reports how far the current spectrum sits from it.