[music-dsp] Distortion algorithm query...

robert bristow-johnson rbj at audioimagination.com
Wed Oct 3 16:10:30 EDT 2007

> Ross Bencina wrote:
> > Andrew Simper wrote:
> >> An approach I'm looking at to bandlimit hard clipping is the same approach 
> >> I use to bandlimit oscillators. At the point of clipping you know the 
> >> derivative is zero, and the output level is 1 (for the positive side). If 
> >> you numerically compute the first and second order derivatives of the 
> >> audio signal at the clipping point you can introduce a band limited 
> >> corrective ramp and parabola which removes the first and second order 
> >> derivative discontinuities introduced by the clipping.
> >
> > That sounds rather interesting, but I'm not sure I understand what the 
> > corrective ramp and parabola look like.
> >
> > So for example, in the ramp case, you know the gradient at the clipping 
> > boundary, so you could extend a ramp off to infinity to avoid a gradient 
> > discontinuity, but I guess that's not what you're doing... :-) so how does 
> > one construct a "bandlimited corrective ramp".
> >
> If you take the trivial step away from the band limited step and you are left 
> with the corrective step, and you do the same thing for the ramp: you take 
> the trivial ramp away from the band limited ramp, and you can do the same for 
> higher orders as well.

so now my question is, how much do you scale the corrective step (or corrective ramp)?  based upon the last sample (or two) before clipping occurs?  i cannot think of another basis for the scaling, but i also cannot see why such would be the case.

if the clipping is modeled as an additive step and additive gated ramp, how do you know how big the hypothetical added step and ramp are?


r b-j                  rbj at audioimagination.com

"Imagination is more important than knowledge."

More information about the music-dsp mailing list