Hi Autumn,

Here is how to cross inputs 2 and 3.
Cheers

Yann

X = _,_ <: !,_,_,!;
process = _,X,_:par(i,2,(voc(n,0.01,1,mod_bw,mod_order,car_bw,car_order))):>
_,_;

Le jeu. 28 déc. 2023 à 14:06, Autumn Cheney via Faudiostream-users <
[email protected]> a écrit :

> hi!
>
> i'm currently building a stereo vocoder in radium's faust development
> environment, and i've run into a minor problem
>
> i have the core vocoder running, but i can't figure out how to route the
> effect input the way i want to. i'd like to have input 1 going into the
> left channel modulator input, input 2 going into the right channel carrier
> input, and inputs 3 and 4 going into their respective modulator inputs. but
> as of now inputs 1 and 2 are routed to the left channel unit and inputs 3
> and 4 are routed to the right channel input
>
> hopefully this makes sense. here's my faust code (don't mind the fact that
> some code is ripped from the libraries):
>
> import("stdfaust.lib");
>
> select4(s) = *(s==0),*(s==1),*(s==2),*(s==3):>_;
>
> n = 8;
>
> mod_order = nentry("modulator
> order[style:menu{'-12db':0;'-24db':1;'-36db':2;'-48db':3}}]",0,0,3,1);
> mod_bw = vslider("modulator bw",0.5,0.1,2,0.001);
>
> car_order = nentry("carrier
> order[style:menu{'-12db':0;'-24db':1;'-36db':2;'-48db':3}}]",0,0,3,1);
> car_bw = vslider("carrier bw",0.5,0.1,2,0.001);
>
> bp(freq,q) = fi.svf.bp(freq,q);
> multi_bp(freq,q,order) =
> _<:bp(freq,q),(bp(freq,q):bp(freq,q)),(bp(freq,q):bp(freq,q):bp(freq,q)),(bp(freq,q):bp(freq,q):bp(freq,q):bp(freq,q)):>select4(order);
>
> voc_band(band_num,bands_num,bw_ratio,order,bg,x) = x : multi_bp(band_freq,
> band_q, order) : _*bg with {
>         band_freq = 25*pow(2,(band_num+1)*(9/bands_num));
>         bw = (band_freq - 25*pow(2,(band_num)*(9/bands_num)))*bw_ratio;
>         band_q = band_freq/bw;
> };
>
> voc(bands_num,att,rel,mod_bw,mod_order,car_bw,car_order,carrier,modulator)
> = carrier <: par(i,bands_num,voc_band(i,bands_num,mod_bw,mod_order,1) :
> an.amp_follower_ar(att,rel) : _,modulator :
> voc_band(i,bands_num,car_bw,car_order)) :>
> _*(1/(bands_num*(mod_order+1)*(car_order+1)));
>
> process =
> _,_,_,_:par(i,2,(voc(n,0.01,1,mod_bw,mod_order,car_bw,car_order))):>_,_;
>
> as you'll see from the block diagram the input  2 and 3 cables don't cross
> over. but i want them to cross over
>
> is this possible? thank you,
>
> a cheney
> _______________________________________________
> Faudiostream-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to