MATLAB Answers

Audio Plugin - cascade

20 views (last 30 days)
Nuno Coelho
Nuno Coelho on 1 Dec 2020
Commented: Nuno Coelho on 2 Dec 2020
I'm trying to create an audio plugin (AU, VST) that apply filters (LPF, HPF, etc).
I need to cascade 2 butterworth filters but i noticed that any cascade functions are compatible with code generator.
Anyone can help to get a way of cascade this 2 filters?
thanks a lot


jibrahim on 1 Dec 2020
Nuno, can you please provide more information about your filters? What kind of object/class are they? Which cascade function are you using?
Nuno Coelho
Nuno Coelho on 1 Dec 2020
I'm trying do implement an Linkwitz-Riley filter using 2 butterworth in cascade.
For example: 1x LR 2nd order using 2xBW 1st order in cascade
It's easy to do in an APP but not in a VST project, i think...

Sign in to comment.

Accepted Answer

jibrahim on 1 Dec 2020
Hi Nuno,
I recommend you first try crossoverFilter. It implements a Linkwitz-Riley and supports up to 4 crossovers. You can control the order of the filters with the CrossoverSlopes property.


Nuno Coelho
Nuno Coelho on 2 Dec 2020
Thanks. I will try it and check where is LR filter :)
Just one more question that I noticed.
I implemented a funtion that sets a parameter and changes another one in some conditions.
It works perfect when I execute audioTestBench but when I generate the plugin it doesn't work.
Can I force GUI update on VST or simply it works different?
an example:
function set.LPF(obj,val)
obj.LPF = val;
if strcmp(val,'Linkwitz-Riley') == true
if obj.ORD_LPF <=1
obj.ORD_LPF = 2;
d = floor(obj.ORD_LPF);
d(d <= 1) = 2;
e = mod(d,2)+d;
obj.ORD_LPF = e;
when I set.LPF and want to update ORD_LPF.
Thanks one more time
jibrahim on 2 Dec 2020
Hi Nuno,
Can you provide more information on how it is not working in a generated plugin? Does the generation error out? Or does the tuning not happen? Is this function part of the plugin? Some source code will be helpful
Nuno Coelho
Nuno Coelho on 2 Dec 2020
The plugin is successfully generated.
In audioTestBench the GUI update of ORD_LPF works well when I change obj.LPF to 'Linkwitz-Riley'.
My idea is just have LR even order and if i put an odd order it change to even order.
It doesn't work well just in the plugin.
It changes the order to the even closer order but the GUI no change

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!