[music-dsp] Declipping

Yaakov Stein yaakov_s at rad.com
Wed Feb 23 01:21:04 EST 2005

Sorry for arriving late in this discussion ...

Getting back to the original question of how to declip,
I once developed an algorithm that was very effective
in filling in "missing data".
(The original problem was missing TDMoIP packets,
 which typically contain between 1 and 8 samples of each
 8 kHz audio channel).

If you consider your clipped sample as effective lost,
then you could exploit this algorithm as well.

The algorithm worked extremely well up to about 5 percent
loss on speech signals sampled at 8 kHz
(see www.dspcsp.com/tdmoip/pl.pdf)
and should work on music sampled at 40+ kHz,
but was never tried.

The computational load is not low,
but reduces to two Levinsons and so
could be run in real time on multiple channels using a cheap DSP.
The output has to be slightly delayed compared
to the input, since the idea is to use an interpolation
procedure (which is always better than an extrapolation).

For the simplest case of a single missing sample,
the algorithm reduces to linear interpolation
with an additional input-dependent gain,
and so the computational load is quite reasonable.

If someone wants to explore this approach for the music case
I would be interested in a collaboration.

Jonathan (Y) Stein

More information about the music-dsp mailing list