<br><br><div class="gmail_quote">On Mon, Mar 18, 2013 at 5:50 PM, Tim E. Real <span dir="ltr"><<a href="mailto:termtech@rogers.com" target="_blank">termtech@rogers.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi again. Looking for any advice, tips, tricks, anecdotes etc.<br>
<br>
I want to eliminate or reduce 'zipper' noise on volume changes.<br>
So I'm looking at two techniques:<br>
Zero-crossing / zero-value signal detection, and slew-rate limiting.<br>
Code is almost done, almost ready to start testing each technique.<br>
Each technique has some advantages and disadvantages.<br>
<br>
If I use a slew-rate limiter, I figure for a sudden volume factor change<br>
 from 0.0 to 1.0, if I limit the slew rate to say 0.01 per sample then after<br>
 100 samples the ramp will be done.<br>
But even with a fine ramp, this still might introduce artifacts in the audio.<br></blockquote><div><br>You cannot avoid artifacts in the audio. The only question is what is the nature of the artifacts.  <br></div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If I use a zero-crossing/zero-value detector and apply volume changes<br></blockquote><div><br>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.  <br>
<br>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.<br><br>--p<br><br></div></div>