Forums > MaxMSP

synchronizing multiple metro objects

December 28, 2011 | 6:47 pm

Say I have multiple metro objects, set to output quarter notes. Some of these metro objects exist in bpatchers that are dynamically created by scripting, at arbitrary times. What I would like to have happen is that each of these metro objects outputs their quarter notes at exactly the same time, regardless of when they are created. I am just using the one master Max transport for the whole patch.

Suggestions for best approach? I am looking for the tightest possible synchronization of the metro objects as possible….


December 28, 2011 | 7:06 pm

My question is; why not script-generate receive objects that all get their data from the same metro?


December 28, 2011 | 7:14 pm

Because I am using the interval attribute of the metros to easily generate subdivisions of the quarter notes (i.e. eigth, sixteenth, etc…). I’m sure I *could* do that division outside of the metro objects, but seems better to do directly within the metro?


December 28, 2011 | 7:35 pm

You could try using a quantize attribute like @quantize 4n.


December 28, 2011 | 7:43 pm

Been messing with that earlier today – so far not doing what I want it to, but it might be user error! Thanks broc.


December 28, 2011 | 7:44 pm

My approach would be to use a faster clock and a counter and send the count to all your various subpatchers, then use the modulo operator to create the actual clock in each subpatcher.


December 28, 2011 | 8:06 pm

Good idea Chris, will try that – and you guys are probably right in general, to get rid of the multiple metros in the first place…


December 28, 2011 | 8:57 pm

Did you try [metro 10 ticks @active 1 @quantize 16n] with a master transport outside of your bpatchers ?


December 28, 2011 | 9:19 pm

No, I was doing [metro 16n (or 4n, or 8n, etc..) @active 1 @quantize 16n] . That didn’t work too well…


December 28, 2011 | 11:32 pm

For syncing to quarter notes you’d need using ‘@quantize 4n’ regardless of the interval.
But sending counter data from a global metro is probably the better solution anyway.


December 28, 2011 | 11:36 pm

I vote modulo, it has never failed. both the counters and the main metro have no arguments. You’ll want a way to reset each counter separately and all at once, use send/receive from the main patch.

The only issue might be with triplets etc. if you want some funky subdivisions, then you’d need a much faster main clock as mentioned above. Maybe try a clock 12X as fast as your quarter-note, so you can get down to smaller subdivisions in both duple and triple?


December 28, 2011 | 11:55 pm

Thanks all for the comments – I will be trying the modulo approach, and will probably go with 24 ppqn, so that I can substitute MIDI clock rather than Max-generated clock if the need arises….


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