Skip to main content

Module novelty

Module novelty 

Source
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§

NoveltyDetector
Tracks the slow running mean of the spectrum and reports how far the current spectrum sits from it.