On Tue, Mar 19, 2013 at 2:15 PM, Tim Goetze <tim@email-addr-hidden> wrote:
> [Fons Adriaensen]
> >Exactly the same with the form I proposed, w, a, b need to be computed
> >just once, not for every gain change. In fact only w depends on the
> >sample rate, a and b are fixed constants.
>
> Ah yes, sorry, I see that now.
>
> If that extra operation comes around to bite hard enough, I'll be sure
> to chain two 1st-order lowpass filters.
>
You guys are splitting hairs... kind of misses the forest for the trees.
Here's my nit to pick: two identical 1st-order lowpass filters in series
are only equivalent to a 2nd-order lowpass filter when the quality factor
is 0.5. So that's not the same thing.
The best way to avoid "zipper noise" is not to create it in the first
place. Ramps not good enough for ya? Why not? Any "slow enough" ramp
will do. Your problem might be that you're trying to ramp the volume too
fast. Adding a filter just slows down the response anyway.
I think you should figure out a different shape of ramp that doesn't have
discontinuities in the first derivative, such as:
0.5-0.5*cos(pi*n/N)
where N is the number of samples in the ramp
If simple guesses like that are not good enough, you'll have to figure out
how to make a bandlimited step function that cuts out the problematic
frequencies.
Chuck
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Wed Mar 20 00:15:02 2013
This archive was generated by hypermail 2.1.8 : Wed Mar 20 2013 - 00:15:02 EET