Hi,
I would like and I’m trying to write a macro definition to set a number of banks of formant filters (frequency, amplitude, bandwith) and in the same time tweak the amplitude parameter through the curve function for each bank (my separate attempts are below ) the thing is I have a bank of 8 filters and I would like to send different banks at each different event i.e. :
event1
(1 freq1 amp1 bw1, 2 freq2 amp2 bw2, … , n freqn ampn bwn) and tweak the $amp with curves
event2
(1 freq1 amp1 bw1, 2 freq2 amp2 bw2, … , n freqn ampn bwn) and tweak the $amp with curves
…
my actual attempt both works but separately:
NOTE Bb3 4 MACRO
@MACRO_DEF Muse_Wah($BANK_RECEIVE, $Num, $FRQ, $AMP, $BW)   ;maybe $FREQ_RECEIVE, $AMP_RECEIVE, $BW_RECEIVE
{
group  {
	$BANK_RECEIVE $Num $FRQ $AMP $BW       
 }  
}
@Muse_Wah(formantissimo, 1, 311, 40, 10)
Trill (C4-Bb3) 4 beg
noise 1;
- loop 6.66
 
{
curve  @action:=amps $x1 $x2 $x3 $x4 $x5 $x6 $x7 $x8 @grain:=0.03s
{
$x1, $x2, $x3, $x4, $x5, $x6, $x7, $x8
{
    {100. 0. 0. 0. 0. 0. 0. 0.}   
0.5 {0. 100. 0. 0. 0. 0. 0. 0.}  
0.5 {0. 0. 100. 0. 0. 0. 0. 0.}  
1.0 {0. 0. 0. 100. 0. 0. 0. 0.}  
0.5 {0. 0. 0. 0. 100. 0. 0. 0.}  
0.5 {0. 0. 0. 0. 0. 100. 0. 0.}  
0.5 {0. 0. 0. 0. 0. 0. 100. 0.}  
1.0 {0. 0. 0. 0. 0. 0. 0. 100.}  
	}  
}  
} /until(expr)/
is it possible or do I have to implement a max module for each bank like in the attached screenshot ?
hope it’s not a mess of a request
thanks
N.

      
    
 At each iteration of the loop (that is, each 6.6 beats), a new curve is started (that lasts 4.5 beats). If you want to avoid to explicit the number of bank, (for example because you want to write a code that adapts to any number of bank), you can replace all the variable by just one, and instead of specifying a list of breakpoints, you use a TAB (a vector). Something like