Why UDP Arrival Should Not Be the Speaker Clock
RTP arrived in bursts even when packet sequence was mostly healthy, so directly pacing I2S from receive callbacks made network jitter audible.
RTP arrived in bursts even when packet sequence was mostly healthy, so directly pacing I2S from receive callbacks made network jitter audible.
A large first callback-to-speaker delay suggested work was accumulating between RTP reception and physical output.
The firmware sounded worse while producing the very diagnostics intended to explain it.
Crackle and cutouts needed a device-side timing metric that was closer to the DAC than packet arrival.
A call can sound excellent for thirty seconds while two media clocks slowly walk apart.
Increasing jitter tolerance seemed like the obvious response to bursty packet arrival.