On Mon, Mar 18, 2013 at 5:50 PM, Tim E. Real <[email protected]> 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. --p
_______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
