Chowdhury-DSP / BYOD

Build-your-own guitar distortion!
GNU General Public License v3.0
429 stars 22 forks source link

Add virtual analog ladder filter processor #272

Closed butchwarns closed 1 year ago

butchwarns commented 1 year ago

This PR adds a new processor to the tone category.

The "Ladder Filter" is a dual resonating four-pole filter modeled after the classic transistor-ladder. The model was created by the topology-preserving transform (TPT) method, as per Zavalishin's "The Art of VA Filter Design". A saturating nonlinearity can be used to add some grit to the output. Both filters are capable of self-oscillation at high resonance settings, and allow for smooth modulation of the cutoff frequencies.

Please let me know if your expertise dictates anything needs changing, or if you see room for improvement!

-Butch

butchwarns commented 1 year ago

Following your suggestion, I also implemented a new parameter in the drop-down, which enables self-oscillating behavior. Resonance range is now restricted by default. Will create new PR once I sorted out the smoothing thing!

Thanks again for your feedback!

butchwarns commented 1 year ago

Fantastic. Thanks for checking again! I will, of course, take care of the float conversion warnings and other things you mentioned. Will let you know as soon as that's done. Cheers!

butchwarns commented 1 year ago

Hi Jatin,

I was able to implement the changes you recommended. No more float warnings, improved color scheme and fixed comments.

Is there anything else you think needs to be reworked?

Best -Butch

jatinchowdhury18 commented 1 year ago

Nope, I think this is good to go! Merging now...

Thanks for your contribution :)

butchwarns commented 1 year ago

Wonderful. Glad to see this as part of the BYOD project! And thank you for all the help and feedback! =)