Abstract
How NCA Works
Each step of the NCA is a local message-passing operation applied in parallel to every cell of the mel spectrogram.
Perceive
Fixed Sobel-x, Sobel-y and identity kernels extract frequency and time gradients from the cell's neighbourhood. The noisy mel is also read at every step as a stable reference.
Update
A shared 2-layer MLP maps the perception vector to a state delta. A stochastic mask (p=0.5) randomly silences cells each step, preventing synchronisation artifacts.
Iterate
After T steps, the visible state channel is the enhanced mel. T is chosen freely at test time — more steps give higher quality up to the training horizon.
Anytime
All-steps supervision trains every intermediate state to be a valid estimate. This directly bakes the anytime property into the model — stop early for speed, run longer for quality.
Results
Quality (PESQ) as a function of inference steps and GPU latency. The NCA curve is anytime — each point is the same model stopped at a different step.
NCA Denoising Process
Watch the NCA evolve step-by-step. Left: noisy input (static reference). Centre: NCA output at the current step. Right: absolute error from the clean reference — watch it shrink as the NCA converges.
Audio Examples
NCA at T=8 (fast), T=32 and T=64 (best quality) demonstrate anytime inference. All reconstructed via ISTFT with the noisy-input phase.