[LAD] Mixing audio: Noiseless volume changes

Tim E. Real termtech at rogers.com
Mon Mar 18 23:04:52 UTC 2013

On March 18, 2013 06:47:16 PM you wrote:

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 after
 100 samples the ramp will be done.
But even with a fine ramp, this still might introduce artifacts in the audio.

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.


Wow, surprising answer. 
Can you elaborate a wee bit on the bogus point? What worse artifacts?
Popping noise will be heard if sudden volume change is applied while
 the signal data value is currently non-zero.
Is it not better to apply (register) the changes during zero or near-zero
 signal data values?

After all, some electronic systems employ it: 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20130318/42a2d734/attachment.html>

More information about the Linux-audio-dev mailing list