rate~ but for cycle~?

Jun 26, 2007 at 7:42pm

rate~ but for cycle~?

Does anyone know of an external or abstraction to do this? If two cycle~ objects are kept at the same freq then their phases are kept in sync (or not depending on a float into the phase inlet – MSP “keeps track” of the phases of oscillators at the same freq says the manual). After changing the freq of one cycle~ and then setting it back to the same freq as the other, how can the phase relationship be reestablished (ala the “sync lock” message to rate~)? Here is a little patch to demonstrate what I’m after.

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 3 0 2 0;
#P connect 6 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 • Patcher;
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 109 380 48 196617 p panner;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 6 0 2 0;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 • Patcher;
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 25 380 48 196617 p panner;
#P window linecount 12;
#P comment 399 329 123 196617 Change the pan speed offset of oscB to something and then set it back to 1. How can the phase relationship of the two cycle’s be resynched (to be 180 degrees out of phase)? Instantiating a new MSP object or restarting the dac~ will do it but with audible artifacts (obviously).;
#P window linecount 1;
#P message 269 149 14 196617 1;
#P message 160 150 23 196617 0.1;
#P newex 269 116 48 196617 loadbang;
#P comment 319 208 123 196617 < - pan speed offset oscB;
#P comment 109 34 60 196617 osc B;
#P comment 25 34 60 196617 osc A;
#P comment 213 178 78 196617 < - pan speed;
#P user scope~ 289 378 389 473 128 3 32 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0;
#P user scope~ 183 378 283 473 128 3 32 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0;
#P flonum 269 210 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 228 236 29 196617 * 0.;
#P newex 228 210 29 196617 t b f;
#P flonum 160 178 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user led 62 458 17 17 0 150;
#P newex 276 264 48 196617 loadbang;
#P flonum 225 59 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 109 107 47 196617 *~ 0.02;
#P newex 25 107 47 196617 *~ 0.02;
#P newex 79 458 31 196617 dac~;
#P message 276 301 23 196617 0.5;
#P message 208 300 14 196617 0;
#P newex 160 323 58 196617 cycle~ 0.1;
#P newex 228 322 58 196617 cycle~ 0.1;
#P newex 109 49 49 196617 tri~ 308;
#P newex 25 49 49 196617 tri~ 110;
#P comment 263 60 60 196617 < - volume;
#P connect 1 0 8 0;
#P connect 8 0 27 0;
#P connect 10 0 8 1;
#P connect 4 0 27 1;
#P connect 12 0 7 0;
#P connect 27 0 7 0;
#P connect 28 0 7 0;
#P connect 27 1 7 1;
#P connect 28 1 7 1;
#P connect 2 0 9 0;
#P connect 9 0 28 0;
#P connect 10 0 9 1;
#P connect 3 0 28 1;
#P connect 23 0 24 0;
#P connect 24 0 13 0;
#P connect 13 0 4 0;
#P connect 4 0 17 0;
#P connect 11 0 5 0;
#P connect 5 0 4 1;
#P connect 13 0 14 0;
#P connect 14 0 15 0;
#P connect 16 0 15 0;
#P connect 15 0 3 0;
#P connect 14 1 15 1;
#P connect 23 0 25 0;
#P connect 25 0 16 0;
#P connect 11 0 6 0;
#P connect 6 0 3 1;
#P connect 3 0 18 0;
#P window clipboard copycount 29;

#32642
Jun 26, 2007 at 8:01pm

#107782
Jun 26, 2007 at 8:28pm

Cycle~ can be driven by a phasor~ connected to the right inlet, so you can
use rate~ & phasor, as below.
Cheers
Roger

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 290 282 45 196617 loadbang;
#P message 290 303 51 196617 sync lock;
#P newex 236 300 35 196617 rate~;
#P flonum 429 241 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 236 279 43 196617 pong~ 1;
#P newex 235 256 32 196617 +~ 0.;
#P newex 196 234 44 196617 phasor~;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 6 0 2 0;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 •
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 109 380 48 196617 p panner;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 3 0 2 0;
#P connect 6 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 •
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 25 380 48 196617 p panner;
#P message 269 149 14 196617 1;
#P message 160 150 23 196617 0.1;
#P newex 269 116 48 196617 loadbang;
#P comment 319 208 123 196617 < - pan speed offset oscB;
#P comment 109 34 60 196617 osc B;
#P comment 25 34 60 196617 osc A;
#P comment 213 178 78 196617 < - pan speed;
#P user scope~ 289 378 389 473 128 3 32 -1. 1. 0 0. 0 0. 102 255 51 135 135
135 0;
#P user scope~ 183 378 283 473 128 3 32 -1. 1. 0 0. 0 0. 102 255 51 135 135
135 0;
#P flonum 269 210 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 160 178 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user led 62 458 17 17 0 150;
#P flonum 225 59 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 109 107 47 196617 *~ 0.02;
#P newex 25 107 47 196617 *~ 0.02;
#P newex 79 458 31 196617 dac~;
#P newex 160 323 40 196617 cycle~;
#P newex 209 322 40 196617 cycle~;
#P newex 109 49 49 196617 tri~ 308;
#P newex 25 49 49 196617 tri~ 110;
#P comment 263 60 60 196617 < - volume;
#P comment 356 242 70 196617 phase offset;
#P connect 24 0 5 1;
#P connect 24 0 25 0;
#P connect 28 0 4 1;
#P connect 29 0 28 0;
#P connect 30 0 29 0;
#P connect 11 0 24 0;
#P connect 12 0 28 1;
#P connect 26 0 28 0;
#P connect 25 0 26 0;
#P connect 27 0 25 1;
#P connect 4 0 23 1;
#P connect 4 0 14 0;
#P connect 5 0 22 1;
#P connect 5 0 13 0;
#P connect 21 0 12 0;
#P connect 19 0 20 0;
#P connect 19 0 21 0;
#P connect 20 0 11 0;
#P connect 9 0 7 1;
#P connect 9 0 8 1;
#P connect 8 0 23 0;
#P connect 3 0 8 0;
#P connect 23 1 6 1;
#P connect 22 1 6 1;
#P connect 23 0 6 0;
#P connect 22 0 6 0;
#P connect 10 0 6 0;
#P connect 7 0 22 0;
#P connect 2 0 7 0;
#P window clipboard copycount 31;

On 26/6/07 20:42, “Lewis Keller” wrote:

>
> Does anyone know of an external or abstraction to do this? If two cycle~
> objects are kept at the same freq then their phases are kept in sync (or not
> depending on a float into the phase inlet – MSP “keeps track” of the phases of
> oscillators at the same freq says the manual). After changing the freq of one
> cycle~ and then setting it back to the same freq as the other, how can the
> phase relationship be reestablished (ala the “sync lock” message to rate~)?
> Here is a little patch to demonstrate what I’m after.

#107783
Jun 26, 2007 at 9:11pm

Here’s a slightly wonkier version that interpolates at signal rate
rather than jumping instantly. The right-hand part with the phasor~ is
just setting when it switches between the higher and lower speeds. You
can adjust the times for rampsmooth~ to make interpolation faster or
slower.

You can get better performance by storing your panning waveform into a
buffer~ and then playing that buffer~ using wave~ instead of cycle~.

I do the following:
-Use a buffer~ that is 1000 ms so that you don’t have to do any
interpolation, and 2 channels so you don’t have to mess with the
offsets. (i.e. one channel is up while the other is down) (that is,
do all the math once, rather than continuously)
-send wave~ the message interp 0 at startup

Peter McCulloch

max v2;
#N vpatcher 10 59 1124 831;
#P origin 142 0;
#P window setfont “Sans Serif” 12.;
#P flonum 454 157 35 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 363 160 35 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 417 330 40 196617 +~ 0.5;
#P newex 395 355 40 196617 cycle~;
#P newex 465 352 40 196617 cycle~;
#P newex 454 199 41 196617 sig~ 3.;
#P user scope~ 251 600 381 730 256 3 128 -1. 1. 0 0. 0 0. 102 255 51
135 135 135 0;
#P newex 543 123 47 196617 *~ 0.25;
#P user scope~ 254 465 384 595 256 3 128 -1. 1. 0 0. 0 0. 102 255 51
135 135 135 0;
#P newex 543 94 39 196617 >~ 0.5;
#P newex 543 62 64 196617 phasor~ 0.1;
#P newex 465 387 27 196617 *~;
#P newex 409 414 66 196617 +~;
#P newex 409 387 27 196617 *~;
#P newex 465 302 64 196617 phasor~ 0.1;
#P newex 542 302 36 196617 !-~ 1.;
#P newex 543 251 125 196617 rampsmooth~ 4000 4000;
#P newex 543 222 43 196617 ==~ 1.;
#P newex 543 157 34 196617 +~ 1.;
#P newex 363 203 47 196617 sig~ 0.3;
#P newex 363 302 64 196617 phasor~ 0.1;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 3 0 2 0;
#P connect 6 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 •
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 85 456 48 196617 p panner;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#N vpatcher 456 115 661 452;
#P window setfont “Sans Serif” 9.;
#P newex 17 277 124 196617 buffer~ —pan.aiff 11.61;
#P newex 17 252 85 196617 peek~ —pan.aiff;
#P newex 17 30 45 196617 loadbang;
#N counter 0 0 512;
#X flags 0 0;
#P newobj 17 117 108 196617 counter 0 0 512;
#P newex 17 74 58 196617 t i b;
#P comment 74 152 56 196617 0 >-> 512;
#P message 17 54 26 196617 513;
#P newex 17 95 40 196617 Uzi 10;
#P newex 17 138 40 196617 t i i i;
#P comment 74 190 87 196617 -1000 >-> +1000;
#P newex 17 229 55 196617 pack 0 0.;
#P newex 63 208 44 196617 * 0.001;
#N vpatcher 325 98 540 317;
#P window setfont “Sans Serif” 9.;
#P newex 70 64 33 196617 – 256;
#P newex 70 129 37 196617 -;
#P newex 70 106 27 196617 256;
#P newex 70 85 37 196617 t b i;
#P newex 22 42 58 196617 split 0 256;
#P newex 22 162 152 196617 expr (sqrt($i1/256. )) * 1000.;
#P outlet 22 187 15 0;
#P inlet 22 22 15 0;
#P connect 0 0 3 0;
#P connect 6 0 2 0;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 3 1 7 0;
#P connect 7 0 4 0;
#P connect 4 0 5 0;
#P connect 5 0 6 0;
#P connect 4 1 6 1;
#P pop;
#P newobj 63 169 63 196617 p pan_curve;
#P comment 128 169 58 196617 •
#P connect 11 0 7 0;
#P connect 7 0 9 0;
#P connect 9 0 6 0;
#P connect 6 0 10 0;
#P connect 10 0 5 0;
#P connect 5 0 3 0;
#P connect 3 0 12 0;
#P connect 2 0 3 1;
#P fasten 5 2 1 0 52 161 68 161;
#P connect 1 0 2 0;
#P connect 9 1 10 2;
#P pop;
#P newobj 255 161 85 196617 patcher panCurve;
#P newex 133 82 44 196617 +~ 0.25;
#P newex 133 59 45 196617 *~ 0.25;
#P newex 133 127 35 196617 +~ 0.5;
#P newex 132 190 31 196617 *~;
#P newex 153 159 90 196617 cycle~ —pan.aiff;
#N comlet Right Signal Out;
#P outlet 132 214 15 0;
#P comment 92 232 76 196617 Right Signal Out;
#P newex 53 158 90 196617 cycle~ —pan.aiff;
#P comment 12 232 76 196617 Left Signal Out;
#N comlet Left Signal Out;
#P outlet 32 214 15 0;
#P newex 32 189 31 196617 *~;
#N comlet Signal In;
#P inlet 32 28 15 0;
#P window linecount 2;
#P comment 57 28 42 196617 Signal In;
#N comlet (SIgnal) Pan (-1=Left , +1=Right);
#P inlet 133 29 15 0;
#P window linecount 1;
#P comment 149 29 165 196617 (SIgnal) Pan (-1=Left , +1=Right);
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P lcolor 6;
#P connect 7 0 4 1;
#P lcolor 6;
#P fasten 3 0 11 0 37 182 137 182;
#P connect 11 0 9 0;
#P lcolor 15;
#P connect 1 0 13 0;
#P connect 13 0 14 0;
#P fasten 14 0 12 0 138 113 138 113;
#P lcolor 15;
#P connect 12 0 7 1;
#P lcolor 6;
#P connect 10 0 11 1;
#P lcolor 15;
#P fasten 14 0 10 1 138 113 238 113;
#P lcolor 15;
#P pop;
#P newobj 1 456 48 196617 p panner;
#P comment 211 153 123 196617 < - pan speed offset oscB;
#P comment 85 110 60 196617 osc B;
#P comment 1 110 60 196617 osc A;
#P user led 38 534 17 17 0 150;
#P flonum 201 135 35 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 85 183 47 196617 *~ 0.02;
#P newex 1 183 47 196617 *~ 0.02;
#P newex 55 534 31 196617 dac~;
#P newex 136 399 40 196617 cycle~;
#P newex 85 125 49 196617 tri~ 308;
#P newex 1 125 49 196617 tri~ 110;
#P comment 239 136 60 196617 < - volume;
#P window linecount 12;
#P comment 458 467 123 196617 Change the pan speed offset of oscB to
something and then set it back to 1. How can the phase relationship of
the two cycle’s be resynched (to be 180 degrees out of phase)?
Instantiating a new MSP object or restarting the dac~ will do it but
with audible artifacts (obviously).;
#P connect 2 0 6 0;
#P connect 6 0 13 0;
#P connect 8 0 6 1;
#P connect 4 0 13 1;
#P connect 9 0 5 0;
#P connect 13 0 5 0;
#P connect 14 0 5 0;
#P connect 13 1 5 1;
#P connect 14 1 5 1;
#P connect 3 0 7 0;
#P connect 7 0 14 0;
#P connect 8 0 7 1;
#P connect 23 0 14 1;
#P connect 15 0 4 1;
#P hidden connect 23 0 29 0;
#P connect 4 0 27 0;
#P connect 34 0 16 0;
#P connect 16 0 15 0;
#P connect 32 0 22 0;
#P connect 22 0 23 0;
#P connect 15 0 33 0;
#P connect 33 0 32 1;
#P connect 19 0 22 1;
#P connect 35 0 30 0;
#P connect 30 0 21 0;
#P connect 31 0 24 0;
#P connect 24 0 23 1;
#P connect 20 0 24 1;
#P connect 21 0 31 1;
#P connect 19 0 20 0;
#P connect 25 0 26 0;
#P connect 26 0 28 0;
#P connect 28 0 17 0;
#P connect 17 0 18 0;
#P connect 18 0 19 0;
#P pop;

#107784

You must be logged in to reply to this topic.