mirror of
https://github.com/airwindows/airwindows.git
synced 2026-05-15 06:05:55 -06:00
[GH-ISSUE #30] Bugfix Infinity2 algorithm #24
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/airwindows#24
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sjaehn on GitHub (May 28, 2021).
Original GitHub issue: https://github.com/airwindows/airwindows/issues/30
In the block
https://github.com/airwindows/airwindows/blob/master/plugins/MacAU/Infinity2/Infinity2.cpp#L263-L277 (and the respective lines in the VSTs) the lines 263 and 271 are the same. I think it should be
K = tan(M_PI * biquadB[0]);for the line 271. Makes sense (at least for me) and sounds much better. I think it was simply a typo?@sjaehn commented on GitHub (May 28, 2021):
... and the same in Infity1 and MatrixVerb.
@airwindows commented on GitHub (May 28, 2021):
Well spotted! However:
biquadC[0] = biquadB[0] = biquadA[0] = ((pow(GetParameter( kParam_One ),2)*9900.0)+100.0) / GetSampleRate();
It's functionally the same. But well spotted! Even though they are the same number, they might not have been. Good eye :)
@sjaehn commented on GitHub (May 29, 2021):
Yes, you are right. They are the same. There shouldn't be an audible difference. Hmmm. I don't trust my ears anymore ;-).
Anyway, if all three
biquadX[0]values are the same, then K only needs to be calculated once. And two of those expensivetancan be removed. I'll try. It shouldn't make a big difference on systems with a big buffer size. But for those with a small one. And I have to run it inside my effect sequencer withinFramesToProcess = 1. This was the reason why I stumbled on it.