Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Anyone tried to repair clipping with interpolation? (Read 1803 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Anyone tried to repair clipping with interpolation?

I've lately been thinking about the problems of clipping in 44.1khz/16 bit PCM audio.

I've definitely noticed that contemporary recordings sound bad -- digitizing some old cassette tapes has also had me thinking about the mastering process.

It seems to me that it might be possible to undo ~some~ of the damage that clipping does to an audio recording.  The idea is to go a 20 and 24 bit representation and try to interpolate something reasonable for the clipped areas.  Yes,  information is permanently lost,  but we can certainly predict something better than an #0000 or #ffff value for these points.

One scheme I can imagine is dividing the signal into time blocks,  and estimating the fourier components of the signal,  throwing out the clipped samples.  This an underdetermined problem -- there would be more than one possible set of fourier coefficients that would reproduce the clipped points.  I'd select one of these with a maximum entropy method -- basically,  by maximizing some function that estimates the 'plausability' of a solution,  say,  by making the spectral envelope smooth.

I'd also imagine that something similar could be done using the linear predictive methods that are used in many lossless encoding schemes.

In the end we get a signal that sounds a bit better and that responds better to future signal processing such as lossy compression,  phase rotation,  et al.

Is this a crazy idea -- has anybody tried it before?

SimplePortal 1.0.0 RC1 © 2008-2021