solution: extracting clock without using sync~ ?

Apr 3, 2006 at 6:30pm

solution: extracting clock without using sync~ ?

And here is the solution:

A fully functional MIDI clock that bypasses the need for sync~ object,
thus freeing oodles of processing power. Assumption precludes that one
does not need sample accurate timing naturally.

Note the second tier counter which is used to position new counter heads
in correct ratio to received clock. Without this you cant change clock
divisions in real time and loose the “1″ of the beat. It’s purpose is to
retain your relative position in time,

Hope someone will find this useful

Wk,

S. Chedal

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 657 29 100 196617 < ---- 1/96;
#P comment 405 178 100 196617 current divisions;
#P comment 179 164 100 196617 base relative;
#P flonum 160 484 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 76 566 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 84 623 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 125 584 102 196617 * 1.;
#P newex 125 538 28 196617 i 24;
#P flonum 169 527 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 427 153 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 374 148 27 196617 – 0;
#P flonum 426 132 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 319 531 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 2;
#P comment 228 501 60 196617 loc within loop;
#P window linecount 1;
#P newex 217 481 82 196617 !/ 1.;
#P window linecount 2;
#P comment 302 445 60 196617 current range;
#P window linecount 1;
#P newex 289 426 27 196617 i 24;
#P window linecount 2;
#P comment 224 444 60 196617 current count;
#P window linecount 1;
#P newex 217 426 27 196617 i 24;
#P comment 658 189 100 196617 < ---- 2 bar;
#P user multiSlider 329 222 44 114 0. 96. 1 2921 15 0 0 2 0 0 1;
#M frgb 0 0 0;
#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 multiSlider 220 222 44 114 0. 96. 1 2921 15 0 0 2 0 0 1;
#M frgb 0 0 0;
#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 button 302 205 13 0;
#N counter 1 24;
#X flags 0 0;
#P newobj 236 178 78 196617 counter 1 24;
#P message 721 287 20 196617 16;
#P message 763 287 20 196617 32;
#P message 548 287 14 196617 1;
#P message 573 287 14 196617 2;
#P message 598 287 14 196617 3;
#P message 623 287 14 196617 4;
#P message 648 287 14 196617 6;
#P message 673 287 14 196617 8;
#P message 698 287 20 196617 12;
#P message 742 287 20 196617 24;
#P message 785 287 20 196617 48;
#P message 810 287 20 196617 96;
#P newex 638 237 170 196617 route 0 1 2 3 4 5 6 7 8 9 10 11;
#P user radiogroup 638 27 18 192;
#X size 12;
#X offset 16;
#X inactive 0;
#X itemtype 0;
#X flagmode 0;
#X set 8;
#X done;
#P number 540 399 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 389 214 38 0;
#P button 323 94 13 0;
#P newex 323 59 78 196617 route 248 250;
#N counter 1 24;
#X flags 0 0;
#P newobj 323 178 78 196617 counter 1 24;
#P newex 323 27 35 196617 rtin b;
#P comment 439 68 100 196617 set length;
#P newex 357 104 21 196617 t 0;
#P comment 658 157 100 196617 < ---- 1 bar;
#P newex 540 457 79 196617 t i b b b i i;
#P newex 384 102 35 196617 round;
#P connect 41 0 44 0;
#P connect 42 0 43 0;
#P fasten 1 1 41 0 558 508 130 508;
#P connect 41 0 42 0;
#P fasten 1 4 41 1 597 521 148 521;
#P connect 30 0 45 0;
#P connect 34 0 40 0;
#P fasten 1 2 30 0 571 485 380 485 380 402 222 402;
#P connect 30 0 34 0;
#P connect 34 0 42 1;
#P connect 25 0 27 0;
#P fasten 8 0 25 0 328 116 241 116;
#P fasten 3 0 25 3 362 128 292 128;
#P fasten 1 3 32 0 584 489 370 489 370 405 294 405;
#P connect 32 0 34 1;
#P connect 25 3 26 0;
#P fasten 25 0 32 1 241 393 311 393;
#P connect 32 0 36 0;
#P fasten 5 0 7 0 328 53 328 53;
#P connect 7 0 8 0;
#P connect 8 0 6 0;
#P connect 6 0 28 0;
#P connect 7 1 3 0;
#P connect 38 0 6 2;
#P connect 3 0 6 2;
#P connect 0 0 38 0;
#P fasten 42 0 0 0 130 620 511 620 511 89 389 89;
#P connect 6 3 9 0;
#P fasten 1 5 6 4 610 553 515 553 515 170 396 170;
#P connect 0 0 37 0;
#P connect 38 0 39 0;
#P connect 24 0 10 0;
#P connect 13 0 10 0;
#P connect 14 0 10 0;
#P connect 15 0 10 0;
#P connect 16 0 10 0;
#P connect 17 0 10 0;
#P connect 18 0 10 0;
#P connect 19 0 10 0;
#P connect 20 0 10 0;
#P connect 21 0 10 0;
#P connect 22 0 10 0;
#P connect 10 0 1 0;
#P connect 12 0 22 0;
#P connect 12 1 21 0;
#P connect 12 2 20 0;
#P connect 12 3 19 0;
#P connect 11 0 12 0;
#P connect 12 4 18 0;
#P connect 12 5 17 0;
#P connect 12 6 16 0;
#P connect 12 7 24 0;
#P connect 12 8 15 0;
#P connect 12 9 23 0;
#P connect 12 10 14 0;
#P connect 12 11 13 0;
#P window clipboard copycount 49;

====

Hello max/mspers,

I’m trying to extract from rtin the ticks so I can create a clock for
use in non-audio patches. I know how to create clock via phasor~ but I
would prefer to have clock information on the data path instead of on
the audio path. This primarily because i want to clock 80 different
modules together and if I use audio paths the processor just goes
“clunk”. I figure if I can extract a metro/counter from the rtin, then I
have what I need to map my sequencers and LFO’s.

here is my example patch with the clock on the data path vs. signal
path; I kinda feel like I am “hacking” at it with a hammer. As you can
see there is a weird inconsistency in the clock rates from both paths -
and I can’t tell why it occurs – could someone help me to understand how
I could extract ’248′ messages and make them into an accurate metro or
counter? I would be most grateful.

Or am I forced to use the signal path? If so, what would be a smart way
to get clock, and divide it into segments for all my sub modules without
creating dozens of signal connections?

Haven’t found anything directly helpful on this subject in the archives:

thanks in advance,
seb.

#25217

You must be logged in to reply to this topic.