This was one of the deepest lectures, I took the whole day to finish it but it feels really rewarding, thanks for that!
@droussel73593 жыл бұрын
The value of those lectures is immense. As a long time programmer interested in getting go to audio stuff; this is invaluable. Thanks and I hope those will continue for a long time. Also ordering a Bela board :)
@ОрландоОрсо4 жыл бұрын
Thank you for this great lecture!
@michaelliuzzi2 жыл бұрын
Can someone explain how a filter, which I understand to effect the frequency domain of a signal, can be used to smooth the amplitude variation of a signal? Is the amplitude variation, in this case, the "frequency" that we are talking about?
@joaotragtenberg4 жыл бұрын
Should the line 99 in the Envelope Follower code you showed in 49:38 be "envelopeInput" instead of "in"? Because the "in" value could be also a negative number, and the "gLastEnvelopeSample" is always positive right? It can't understand what it could mean by the comparison of the raw signed input and the last envelope sample.
@oromoiluig4 жыл бұрын
I think you are right. As it is, during the attack phase the envelope detector will alternate between the attack and decay time constants, which is going to make the attack slower than expected.
@apm4144 жыл бұрын
True, it should be envelopeInput. You end up with a sort of half-wave rectifier and, as Giulio says, a slower attack. Thanks for spotting that!
@michaelliuzzi2 жыл бұрын
I also can't quite grok why we have called the tau parameters in the code attack time. It seems to scale the function by some value, but its not true that the attack time, in the way I understand it, to be the tau parameter. I would think attack time would mean the time we take to reach the maximum value,.
@joaotragtenberg4 жыл бұрын
In the exponential decay envelope (around 38:45), I missed the update of the variable gLastButtonValue, you just call it inside the if statement. It should hold the gAmplitude at 1.0 when holding the button and only triggering the decay envelope when you release the button.
@oromoiluig4 жыл бұрын
it would seem that the code as is would keep the amplitude to 1 as long as the button is held down, and start the exponential decay upon release (it acts as a gate signal). Perhaps not quite what was expected, but it should still be usable.
@apm4144 жыл бұрын
Yes you're right, there should be a line updating gLastButtonValue after the if statement. Good catch.
@apm4144 жыл бұрын
At 30:45 you can hear a bug in my example code. See if you can spot it!
@joaotragtenberg4 жыл бұрын
it takes the first 2 seconds doing nothing, because you set the ramp to decrease if the gRampIncreasing was true, so since the ramp starts with the lowest value, it decreases from itself to itself...
@apm4144 жыл бұрын
@@joaotragtenberg yep!
@clausanders28864 жыл бұрын
elapsed time in seconds is not samples*sample rate, rather is samples/sample rate.
@apm4144 жыл бұрын
Oops, you're right! That's been in a couple videos now and escaped notice. The code examples have it correct, at least.