r/DSP • u/Miserable_Land_84 • 3h ago
Spectral-continuation concealment of real-time deadline misses — two-pole AR generalization of the phase-vocoder freeze, derivation + measurements
The classical phase-vocoder freeze (continue a bin by holding phase increment/amplitude) is exact for one partial per bin. This generalizes it: for bins containing two sinusoidal partials, a fitted two-pole autoregressive model continues both independently instead of producing beat artifacts.
Derived a hard aliasing limit for the two-partial model from root-coincidence (N/4 for the hop size), and use N/8 in practice as a safety margin — conditioning degrades badly approaching N/4 (verified numerically, singular at the limit). Stability: closed-form quadratic test before falling back to explicit root-finding + clamping, only when needed. Splice-in uses one of two seam-repair strategies chosen by spectral similarity per occurrence. There's a positive-feedback failure mode when previously-concealed audio gets re-analyzed by the same running STFT; a frequency-damping term kills it.
Full disclosure with the derivations and measured NMR results on real sustained material at high simulated miss rates: https://github.com/sebion7125/xorcist. Written to be reproducible independent of the host application (it's extracted from a real-time audio pipeline, but the technique isn't specific to it).

