[LAD] Click-free fade-in algorithm for synths?

Paul Davis paul at linuxaudiosystems.com
Tue Sep 24 22:26:53 CEST 2019


On Tue, Sep 24, 2019 at 12:38 PM Johannes Lorenz <j.spam at lorenz-ho.me>
wrote:

> Counting zero crossings prevents
> clicking on lower notes, and it makes higher notes more punchy.


There's fundamentally no such thing as a zero crossing. You might have two
samples on either side of zero, but you still don't have a sample *at*
zero, so in the general case, truncating one of them to zero and
starting/ending there is still going to give you distortion and/or noise.
Obviously there may be cases where one of them is close enough to zero for
this not to be be an issue, but it's not a general method.
Ardour applies declick fades every time the transport starts and stops. You
can read about how we do it here:

https://github.com/Ardour/ardour/blob/master/libs/ardour/ardour/disk_reader.h#L135
https://github.com/Ardour/ardour/blob/master/libs/ardour/disk_reader.cc#L1445
https://github.com/Ardour/ardour/blob/master/libs/ardour/amp.cc#L163
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/linux-audio-dev/attachments/20190924/9c620339/attachment.html>


More information about the Linux-audio-dev mailing list