[LAD] Mixing audio: Noiseless volume changes
Tim E. Real
termtech at rogers.com
Tue Mar 19 00:30:51 UTC 2013
On March 18, 2013 11:58:48 PM Fons Adriaensen wrote:
> On Mon, Mar 18, 2013 at 07:43:32PM -0400, Tim E. Real wrote:
> > Ah, I may have answered my own question when I said:
> > "(One cannot simply wait for the current data value to be 'zero' because
> > for example with a perfect square wave signal the 'current' value will
> > never approach zero, hence the zero-crossing detection requirement.)"
> The analog waveform always 'approaches' zero - it's bandlimited and hence
> continuous - it just may not happen at a sample point. In fact the chance
> that it happens exactly at a sample point is zero.
> > So having no choice but to apply the volume at this cross point the
> > popping
> > noise might still be heard. I guess that's what Fons meant by
> > 'reduced'...
> > and what Paul meant by... bogus. Right?
> Imagine a signal slowly passing through zero, e.g. a low frequency
> sine wave. If you switch gain at an arbitatry point there will be
> a 'step', having a 1/F spectrum (just like a square wave). If you
> switch at a zero crossing there will be 'sharp corner', and this
> has a 1/(F^2) spectrum (like a triangular wave). So instead of a
> sharp click there will be something more like a 'thump'. The only
> real solution is to never switch the gain, but change it smoothly.
Cool. Got it. And the response to James. Thanks very much.
It is here at the mixing stage that I want to limit control motions.
All our controller graphs are sample-accurate and it's possible to
deliberately draw sudden changes, also it's possible to suddenly
change a GUI slider or knob's position.
More information about the Linux-audio-dev