[LAD] Mixing audio: Noiseless volume changes
paul at linuxaudiosystems.com
Mon Mar 18 22:47:16 UTC 2013
On Mon, Mar 18, 2013 at 5:50 PM, Tim E. Real <termtech at rogers.com> wrote:
> Hi again. Looking for any advice, tips, tricks, anecdotes etc.
> I want to eliminate or reduce 'zipper' noise on volume changes.
> So I'm looking at two techniques:
> Zero-crossing / zero-value signal detection, and slew-rate limiting.
> Code is almost done, almost ready to start testing each technique.
> Each technique has some advantages and disadvantages.
> If I use a slew-rate limiter, I figure for a sudden volume factor change
> from 0.0 to 1.0, if I limit the slew rate to say 0.01 per sample then
> 100 samples the ramp will be done.
> But even with a fine ramp, this still might introduce artifacts in the
You cannot avoid artifacts in the audio. The only question is what is the
nature of the artifacts.
> If I use a zero-crossing/zero-value detector and apply volume changes
Zero crossing stuff is a completely bogus idea that needs to be eliminated
from the lexicon of audio software. You will not be accomplishing anything
trying to use such a technique, other than introduce even more artifacts
(and rather horrendous ones at that). Even zero-valued samples are not
particularly useful - keep in mind that what defines transducer (read:
speaker) behaviour is power, not instantaneous volume.
Just use sensibly short ramped changes. For the record, Ardour uses 64 or a
JACK period size, whichever is, hmm, larger or smaller, can't recall.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Linux-audio-dev