Automation In Max MSP

Dec 21, 2007 at 9:57pm

Automation In Max MSP

Basically, I want a filter graph to follow a frequency automation over time. How do I do this? I need the number object thats connected to the frequency of the graph to change to specific numbers at certain time intervals. I want to be able to load different automations via the preset box.

Much help would be appreciated!

Regards,

Steve

#35085
Dec 21, 2007 at 9:59pm

Oh, and I want the user to be able to ‘draw’ in the frequency automation over time on a multi level slider

#119175
Dec 21, 2007 at 10:03pm

Arrgh, it wont let me edit, and it needs explaining again because I dont think the above made sense:

I want the user to be able to ‘map out’ the frequency changes of the filter graph over time, perhaps with a multi level slider?. This means that if the multi level slider is connected to the number box which in turn is connected to the frequency inlet of the filter graph, it will change accordinlgy over time (in milliseconds).

I want the preset box to be able to load plugins for the multi level slider as well.

Thanks

#119176
Dec 21, 2007 at 11:21pm

Is this usefull:

max v2;
#N vpatcher 20 74 726 608;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 110 218 50 196617 19000hz;
#P window linecount 8;
#P comment 545 320 28 196617 ^ | | f r e q;
#P number 103 109 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 36 58 48 196617 loadbang;
#P newex 425 44 37 196617 r freq;
#P newex 504 418 37 196617 s freq;
#P message 36 165 48 196617 fetch $1;
#P toggle 36 93 15 0;
#N counter 0 0 1024;
#X flags 0 0;
#P newobj 36 140 89 196617 counter 0 0 1024;
#P newex 36 114 52 196617 metro 10;
#P user multiSlider 160 217 382 197 20. 19000. 1024 2937 47 0 0 2 0 0 0;
#M frgb 173 178 255;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P user umenu 160 73 70 196647 1 64 89 0;
#X add display;
#X add lowpass;
#X add highpass;
#X add bandpass;
#X add bandstop;
#X add peaknotch;
#X add lowshelf;
#X add highshelf;
#X add resonant;
#X add allpass;
#P flonum 531 68 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 478 68 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 425 68 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user filtergraph~ 160 92 382 126 3 9 0. 22050. 0.0625 16. 1 1 1 0 0 0 1;
#X frgb 193 193 255;
#X brgb 233 233 255;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 118 121 166;
#X rgb6 210 74 54;
#X rgb7 255 22 22;
#X linmarkers 5512.5 11025. 16537.5;
#X logmarkers 10. 100. 1000. 10000.;
#X nfilters 1;
#X setfilter 0 1 0 0 0 4692. 1. 1.332913 0. 22050. 0.0001 16. 0.5 25.;
#X done;
#P comment 159 418 100 196617 time —>;
#P comment 126 400 35 196617 20 hz;
#P comment 19 469 217 196617 • note that a multislider isn’t that accurate!!!!;
#P connect 15 0 11 0;
#P connect 11 0 9 0;
#P connect 9 0 10 0;
#P connect 10 0 12 0;
#P connect 10 0 16 0;
#P connect 7 1 3 0;
#P hidden fasten 12 0 8 0 41 198 165 198;
#P connect 14 0 4 0;
#P connect 4 0 3 5;
#P connect 5 0 3 6;
#P connect 8 1 13 0;
#P connect 6 0 3 7;
#P pop;

hope it helps?!

#119177
Dec 21, 2007 at 11:26pm

the preset box is pretty limited in what it can do. For storing the states
of things you
should look at pattrstorage. I will save the state of any named object. You
can then save
the state of your objects as a preset and then recall them at any time. It
even interpolate between
presets! To create a scripted time line of preset changes, look into
“qlist”.

Anthony

—– Original Message —–
From: “Steve”
To:
Sent: Friday, December 21, 2007 4:03 PM
Subject: [maxmsp] Re: Automation In Max MSP

>
> Arrgh, it wont let me edit, and it needs explaining again because I dont
> think the above made sense:
>
> I want the user to be able to ‘map out’ the frequency changes of the
> filter graph over time, perhaps with a multi level slider?. This means
> that if the multi level slider is connected to the number box which in
> turn is connected to the frequency inlet of the filter graph, it will
> change accordinlgy over time (in milliseconds).
>
> I want the preset box to be able to load plugins for the multi level
> slider as well.
>
> Thanks
>

#119178
Dec 21, 2007 at 11:49pm

Danny, perfect. Anthony, thanks for the advice

#119179
Dec 22, 2007 at 12:06am

is it possible to get some sort of marker to represent the current position of the multislider?

#119180
Dec 22, 2007 at 11:04am

Another way of possibly storing your silder values is to put it through a
sig~ and record into a buffer. This would be the solution I’d opt for
because even though everyone on here suggests pattrstorage as a solution
for everything. I haven’t used it before because I’m lazy.
Hope this helps.

On 22/12/2007, Steve wrote:
>
>
> is it possible to get some sort of marker to represent the current
> position of the multislider?
>

#119181
Dec 22, 2007 at 11:52pm

I need further help! The automation patch I have used that is based on dannys help file is flawed because when the number box attached to the s freq box has reached 1024, it resets to 0. This can cause uneccessary ‘jumps’ in the automation that can only be fixed if the performer draws in a very accurate line at the end that is equal to the start.

My solution in theory is to ‘oscillate’ the automation. Meaning, once the number box reaches 1024, it counts down to 0. This would be perfect. But how do I do this?

Regards

Steve

#119182
Dec 23, 2007 at 12:46am

I suggest you look at the help file for [counter].
After that I suggest you take a look at the tutorials..

Regards,
Klaas-Jan

#119183
Dec 23, 2007 at 12:49am

I advice you to go true the tutorials to learn the basics of max. It takes some time but is absolutely worth it.

I adjusted my previous example, hope it helps…:

max v2;
#N vpatcher 20 74 952 737;
#P window setfont “Sans Serif” 9.;
#P user umenu 93 90 100 196647 1 64 106 1;
#X add up;
#X add down;
#X add up/down;
#P window linecount 1;
#P comment 588 509 21 196617 ms;
#P comment 313 591 86 196617 interpolated data;
#P comment 347 574 50 196617 raw data;
#P number 399 590 58 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 399 574 58 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 628 509 238 196617 < -- change this number to interpolate;
#P number 554 510 35 9 0 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 537 485 27 196617 t i b;
#P newex 537 531 44 196617 line 0.;
#P newex 93 107 60 196617 loadmess 2;
#P comment 115 267 50 196617 19000hz;
#P window linecount 7;
#P comment 550 369 15 196617 ^ | | f r e q;
#P number 92 214 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 41 107 48 196617 loadbang;
#P newex 430 93 37 196617 r freq;
#P newex 537 553 37 196617 s freq;
#P message 41 214 48 196617 fetch $1;
#P toggle 41 142 15 0;
#N counter 0 0 1024;
#X flags 0 0;
#P newobj 41 189 89 196617 counter 0 0 1024;
#P newex 41 163 52 196617 metro 10;
#P user multiSlider 165 266 382 197 20. 19000. 1024 2937 47 0 0 2 0 0 0;
#M frgb 173 178 255;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P user umenu 165 122 70 196647 1 64 138 0;
#X add display;
#X add lowpass;
#X add highpass;
#X add bandpass;
#X add bandstop;
#X add peaknotch;
#X add lowshelf;
#X add highshelf;
#X add resonant;
#X add allpass;
#P flonum 536 117 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 483 117 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 430 117 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user filtergraph~ 165 141 382 126 3 9 0. 22050. 0.0625 16. 1 1 1 0 0 0 1;
#X frgb 193 193 255;
#X brgb 233 233 255;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 118 121 166;
#X rgb6 210 74 54;
#X rgb7 255 22 22;
#X linmarkers 5512.5 11025. 16537.5;
#X logmarkers 10. 100. 1000. 10000.;
#X nfilters 1;
#X setfilter 0 1 0 0 0 20. 1. 1.332913 0. 22050. 0.0001 16. 0.5 25.;
#X done;
#P comment 164 467 100 196617 time —>;
#P comment 131 449 35 196617 20 hz;
#P comment 24 518 217 196617 • note that a multislider isn’t that accurate!!!!;
#P comment 97 67 250 196617 You can let the counter go up/down (see the help file);
#P window linecount 2;
#P comment 581 466 238 196617 or you can interpolate (like portamento on a synth) the automated data;
#P window linecount 1;
#P comment 174 584 121 196617 watch the difference –>;
#P connect 18 0 14 0;
#P connect 14 0 12 0;
#P connect 12 0 13 0;
#P connect 13 0 15 0;
#P fasten 32 0 13 1 98 182 65 182;
#P fasten 22 0 13 1 98 183 65 183;
#P fasten 13 0 19 0 46 210 97 210;
#P connect 10 1 6 0;
#P hidden fasten 15 0 11 0 46 247 170 247;
#P hidden fasten 11 1 27 0 542 518 404 518;
#P hidden fasten 23 0 28 0 542 553 404 553;
#P connect 17 0 7 0;
#P connect 7 0 6 5;
#P connect 8 0 6 6;
#P connect 9 0 6 7;
#P connect 11 1 24 0;
#P connect 24 0 23 0;
#P connect 23 0 16 0;
#P connect 24 1 25 0;
#P connect 25 0 23 1;
#P pop;

#119184
Dec 23, 2007 at 1:46pm

Thanks Danny

Another question I have is, I want to automate two filters on the same graph. But the number box connected to the inlet only changes the 1st filter, and not the second. How do I split them up?

Thanks

#119185
Dec 25, 2007 at 3:42pm

#119186

You must be logged in to reply to this topic.