Forums > MaxMSP

exponentially timed sequence of bangs.

February 18, 2009 | 1:53 pm

hallo,

can somebody give me a quick hint on how to generate a sequence of bangs with a exponential timing? meaning: after each bang there’s a bigger pause until the next one than with the previous two?

in the end it should be possible to make such "ramped" bang-sequences with each time different amounts of bangs, with different timings.

i think i can construct it with a complex network of delays, bangs, and uzis, but maybe somebody did it smarter before?

thanks a lot, florian.



Ch
February 18, 2009 | 3:05 pm

I don’t know if it is a smarter one, but the first thing I thought about is that :

– Pasted Max Patch, click to expand. –

Ch.


February 18, 2009 | 3:58 pm

Here is my solution, using a ‘phasor bang’ and curve~

– Pasted Max Patch, click to expand. –

February 19, 2009 | 5:05 am

Essl’s RTC Lib has a number of abstractions that may be useful for you.



February 19, 2009 | 5:42 pm

On 18 Feb 2009, at 14:53, Flo Kuehnle wrote:
>
> hallo,
>
> can somebody give me a quick hint on how to generate a sequence of
> bangs with a exponential timing? meaning: after each bang there’s a
> bigger pause until the next one than with the previous two?

an easy approach is to do it recursively:

#P button 48 179 22 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P hidden newex 332 78 69 196617 loadmess 1.1;
#P newex 302 158 31 196617 !/ 1.;
#P flonum 181 63 49 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 181 159 22 0;
#P button 227 159 22 0;
#P newex 181 138 32 196617 sel 1;
#P newex 227 137 32 196617 sel 1;
#P newex 181 103 45 196617 >= 800.;
#P newex 227 103 39 196617 < = 50.;
#P newex 181 192 32 196617 f 0.9;
#P newex 227 192 44 196617 f 1.111;
#P flonum 302 133 42 9 1. 0 1 3 0 0 0 40 204 140 222 222 222 0 0 0;
#P flonum 181 223 46 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 144 247 47 196617 f 1.1;
#P flonum 144 299 49 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 144 276 35 196617 * 50.;
#P toggle 48 74 24 0;
#P newex 48 245 27 196617 i 67;
#P newex 48 386 43 196617 noteout;
#P newex 48 354 107 196617 makenote 120 50;
#P newex 48 118 52 196617 metro 50;
#P fasten 18 0 0 1 186 93 95 93;
#P connect 18 0 13 0;
#P connect 18 0 12 0;
#P connect 9 0 10 1;
#P connect 9 0 19 0;
#P connect 6 0 1 2;
#P fasten 6 0 5 1 149 325 204 325 204 267 174 267;
#P fasten 6 0 18 0 149 334 288 334 288 50 186 50;
#P connect 0 0 21 0;
#P connect 0 0 7 0;
#P connect 21 0 3 0;
#P hidden connect 20 0 9 0;
#P connect 3 0 1 0;
#P connect 1 0 2 0;
#P fasten 1 1 2 1 150 378 69 378;
#P connect 19 0 11 1;
#P connect 10 0 8 0;
#P connect 16 0 10 0;
#P connect 14 0 16 0;
#P connect 12 0 14 0;
#P connect 8 0 7 1;
#P connect 11 0 8 0;
#P connect 17 0 11 0;
#P connect 15 0 17 0;
#P connect 13 0 15 0;
#P connect 5 0 6 0;
#P connect 7 0 5 0;
#P connect 4 0 0 0;
#P window clipboard copycount 22;


March 6, 2009 | 9:36 pm

Hallo to you all,

thanks for your answer. I didn’t have time to address the problem for a while, now i came back to it.
At the moment, Volkers approach is the one that I will work with I think. I hope it will work also ok until down to more or less 100 bangs per second… let’s see.

Thx! f.



pm
March 7, 2009 | 6:19 am

To work at such rate (100 bang per seconds), better use audio rate and a phasor~ driven engine…

– Pasted Max Patch, click to expand. –

Viewing 8 posts - 1 through 8 (of 8 total)