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

From: Will J Godfrey <WillGodfrey@email-addr-hidden>
Date: Wed Sep 25 2019 - 10:07:03 EEST

On Tue, 24 Sep 2019 19:12:47 -0400
Tim <termtech@rogers.com> wrote:

>On 9/24/19 4:26 PM, Paul Davis wrote:
>>
>>
>> On Tue, Sep 24, 2019 at 12:38 PM Johannes Lorenz <j.spam@lorenz-ho.me
>> <mailto:j.spam@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
>
>Hi Paul. Thanks, I was going to mention that.
>
>We had a similar conversation a few years ago when I was adding
> anti-zipper noise to MusE, and I inquired about zero-crossing methods.
>
>I replied that TV and amplifier electronic volumes use zero-crossing,
> so why not use it?
>
>But I conceded the very point you mention above, ie. where exactly is
> the crossing point.
>And it is dependent on frequency so you get a different attack result
> each time.
>
>In a TV or amp volume chip it's OK but here, meh...
>
>So in the end, looking at the code given above, I can see I did much
> the exact same thing as Ardour, using a fixed coefficient value
> driven by time passage (sample rate).
>
>Cheers.
>Tim.

Just like to add, that on a complex waveform with a strong harmonic content it's
quite likely to cross the zero point 2-3 times during each cycle of the
fundamental.

-- 
It wasn't me! (Well actually, it probably was)
... the hard part is not dodging what life throws at you,
but trying to catch the good bits.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Wed Jan 1 02:16:10 2020

This archive was generated by hypermail 2.1.8 : Wed Jan 01 2020 - 02:16:10 EET