Kaiser Filter | Algorithm Design | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Kaiser Filter
February 13, 2017 - 9:04 pm
Member Since: December 2, 2016
Forum Posts: 5
sp_UserOfflineSmall Offline

Hi all,

Not sure if this is the right section of the forum to post this, feel free to move it if it's not.

I'm attempting to create an FIR filter based on the Kaiser algorithm. The Kaiser algorithm, in a few words, takes 3 parameters, the attenuation frequency, the pass frequency, and the attenuation amount in dB. It then generates a list of coefficients (impulses) with which to build a filter. 

I have implemented the Kaiser filter successfully in a standard C++ program. The program takes a sound file, filters it based on hardcoded (or prompted) parameters, and returns an output file. What I want to do now is find a way to implement this process in RackAFX. 

Something I am wondering though, is that since the coefficient list is based on parameters which will (in plugin form) be changed in real time, will this be too computationally intensive or slow to recalculate the entire list every time a UI control changes? 

This is the first plugin I have attempted to create that isn't wrote out step by step in the FX book, so i'm also a bit confused on where I should be placing my functions and variables in the framework. 

Is there a way to translate the C++ program I have now into something that will work in RackAFX? I can upload that program if it's helpful.

Any help would be majorly appreciated. If i'm totally going about this the wrong way, please let me know! And if there's any other information I need to provide, I would be happy to. 

Thank you for reading if you've made it this far!

Student at The Evergreen State College, Olympia, Washington 

February 15, 2017 - 1:05 pm
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

The easiest thing to do would be to modify the Convolver project from the FX book to work with your coefficients. There are already two built-in IR Coefficient arrays, statically declared to be (max) 1024 points on the CPlugIn base class object - this is all outlined in the book as well. You would only need a routine to load those arrays (one for the left, one for the right channel) with the newly calculated filter coefficients, and you need the total length for the convolution, or number of taps. Remember to compile in "Release Mode" in Visual Studio for fastest processing. I'm guessing your convolutions will not be longer than 1024 points, but if you need very long, very fast convolution, see the App Note here:


- Will

February 21, 2017 - 1:29 pm
Member Since: December 2, 2016
Forum Posts: 5
sp_UserOfflineSmall Offline

Thanks for the reply, Will. I tried, as you suggested, to use a modified version of the Convolver project to implement the Kaiser filter. 
Unfortunately, I seem to have broke RackAFX. I compiled my project, went to load the plugin, and RackAFX crashed. Now, it won't even launch again. I see the splash screen for a split second, and it does not launched. I've tried restarting, to no avail. So I'm now reinstalling RackAFX. 
I've spent quite a bit of time and frustration on implementing this, and am about ready to move on to the oscillators chapter. I may come back to this project if at some point I realize what I was doing wrong. 
I'll attach a google drive link with the kaiser project, if you're interested. 

Thanks again




Edit: Uh oh. Even after reinstalling RackAFX, it is still crashing after showing the splash screen for a split second. I cannot open RackAFX at all. Help? 

February 22, 2017 - 10:06 am
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

You have a toxic DLL, most likely the Constructor. See the Forum post here:



Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
9 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 1

Members: 768

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 842

Posts: 3347

Moderators: W Pirkle: 689