On Tue, Sep 24, 2019 at 12:38 PM Johannes Lorenz <j.spam(a)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…
https://github.com/Ardour/ardour/blob/master/libs/ardour/disk_reader.cc#L14…
https://github.com/Ardour/ardour/blob/master/libs/ardour/amp.cc#L163