[LAD] Mixing audio: Noiseless volume changes

Fons Adriaensen fons at linuxaudio.org
Tue Mar 19 22:57:26 UTC 2013

On Tue, Mar 19, 2013 at 05:26:27PM -0500, Charles Z Henry wrote:

> 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 same thing as what ?
In this case we don't want overshoot so Q must be <= 0.5.

The form I posted actually has a little bit of feedback,
so Q is jusst above 0.5. This makes it reach its target
value in finite time, bit still with an overhsoot of less
than 1/1000 dB. The same code can do any Q value you want,
just use the righr value for the feedabck term (a).

> 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. 

'Slow enough' might be too slow. A fader should still 'feel' like
it has no delay.

> I think you should figure out a different shape of ramp that doesn't have
> discontinuities in the first derivative

That is precisely what a second order lowpass is doing.

> 0.5-0.5*cos(pi*n/N)

Raised cosine, indeed better than a linear ramp.

Ideally you'd want the higher derivatives to be continuous
as well. A raised hyperbolic tangent will do that, or at least 
come close to the ideal in finite time.

The problem with all thoe programmed ramps is that they require
extra logic to handle the case where the requested gain changes 
during the ramp. A linear filter solves that problem neatly with
much less code. And in fact *any* system that handles that case
well will be a low pass filter is some disguise.

> 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.

Again that is exactly what a lowpass filter does.



A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)

More information about the Linux-audio-dev mailing list