#N canvas 182 174 656 604 10; #X text 298 24 xfm~ cross frequency modulation; #X msg 180 308 reset; #X floatatom 231 255 5 0 0; #X floatatom 282 255 5 0 0; #X floatatom 332 255 5 0 0; #X floatatom 382 255 5 0 0; #X obj 287 514 dac~; #X obj 231 282 lop~ 1; #X obj 282 282 lop~ 1; #X obj 332 282 lop~ 1; #X obj 382 282 lop~ 1; #X floatatom 444 268 5 0 0; #X text 228 232 freq1; #X text 279 232 freq2; #X text 337 233 fb1; #X text 381 234 fb2; #X text 297 43 freq_osc1 = freq1 + wave_out2*fb1; #X text 297 58 freq_osc2 = freq2 + wave_out1*fb2; #X obj 275 99 hsl 300 15 1 20000 1 1 empty empty empty -2 -6 0 8 -262144 -1 -1 15200 1; #X obj 275 121 hsl 300 15 1 20000 1 1 empty empty empty -2 -6 0 8 -262144 -1 -1 14400 1; #X obj 276 146 hsl 300 15 1 20000 1 1 empty empty empty -2 -6 0 8 -262144 -1 -1 18938 1; #X obj 276 171 hsl 300 15 1 20000 1 1 empty empty empty -2 -6 0 8 -262144 -1 -1 21000 1; #X floatatom 487 377 5 0 0; #X floatatom 534 375 5 0 0; #X obj 462 348 metro; #X floatatom 534 335 5 0 0; #X obj 463 324 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 534 306 500; #X msg 565 305 125; #X msg 444 241 0.1; #X msg 495 306 1000; #X msg 150 223 type 0; #X msg 151 263 type 1; #X text 42 213 square phasor; #X text 45 158 algo type; #X text 37 257 circular phasor; #X text 7 371 remark: all frequencies are warped; #X text 8 388 (f_real = arctan(2pi*f_in)/2pi); #X obj 288 485 vols~; #X floatatom 352 453 5 0 0; #X text 7 416 for frequencies under 1000Hz; #X text 8 430 this effect is minimal; #X text 9 465 use the fwarp to convert from; #X text 9 478 real to warped; #X text 9 505 the square phasor type is warped too; #X text 9 520 but not in such a nice way as the; #X text 9 534 circular phasor; #X text 36 229 (chaotic 4DOF); #X text 5 272 (quasiperiodic 2DOF); #X obj 277 325 xfm~; #X obj 462 411 ead~ 0 0; #X obj 442 517 dac~; #X obj 435 451 *~; #X obj 472 451 *~; #X obj 443 488 vols~; #X floatatom 507 456 5 0 0; #X text 2 173 (can be set by creation argument); #X connect 1 0 49 0; #X connect 2 0 7 0; #X connect 3 0 8 0; #X connect 4 0 9 0; #X connect 5 0 10 0; #X connect 7 0 49 0; #X connect 8 0 49 1; #X connect 9 0 49 2; #X connect 10 0 49 3; #X connect 11 0 10 1; #X connect 11 0 9 1; #X connect 11 0 7 1; #X connect 11 0 8 1; #X connect 18 0 2 0; #X connect 19 0 3 0; #X connect 20 0 4 0; #X connect 21 0 5 0; #X connect 22 0 50 1; #X connect 23 0 50 2; #X connect 24 0 50 0; #X connect 25 0 24 1; #X connect 25 0 23 0; #X connect 26 0 24 0; #X connect 27 0 25 0; #X connect 28 0 25 0; #X connect 29 0 11 0; #X connect 30 0 25 0; #X connect 31 0 49 0; #X connect 32 0 49 0; #X connect 38 0 6 0; #X connect 38 1 6 1; #X connect 39 0 38 2; #X connect 49 0 52 0; #X connect 49 0 38 0; #X connect 49 1 53 0; #X connect 49 1 38 1; #X connect 50 0 52 1; #X connect 50 0 53 1; #X connect 52 0 54 0; #X connect 53 0 54 1; #X connect 54 0 51 0; #X connect 54 1 51 1; #X connect 55 0 54 2;