Audiobus’ Self-Repairing Audio Stream

Audiobus signal repair algorithm demonstration

I’m just finishing up working on Audiobus’s new stream self-repair code, which will automatically regenerate missing audio caused by an overloaded device or excessive network loss.

Audiobus already contains a mechanism to automatically recover audio packets that go missing in-transit, but if the app you are using uses Audiobus’s low-latency mode (instead of the normal, lossless ‘production-quality’ mode suitable for high-quality recording), this will not be used, as it creates too much delay in the signal.

When an audio packet gets lost, you get a hole in the audio, which causes a noticeable click. Audiobus’s new self-repair mechanism automatically recognises and patches these holes with a new chunk of audio that’s derived from the surrounding context. It won’t be exact, but it’s usually pretty damn good. Plus, it’s all built using the speedy Accelerate vector DSP framework, so it’s very light.

This is a recording of the same audio segment played twice - one version with a hole due to a lost packet, and one version after running Audiobus’s self-repair algorithm. Click: gone!

// Michael

Tags: DSP audio
Fun with automatic signal repair, in the event of overloaded devices or high network loss (extreme example).

Fun with automatic signal repair, in the event of overloaded devices or high network loss (extreme example).

Tags: audio DSP