diff --git a/channel.pd b/channel.pd index b7ab6a3..7499e7d 100644 --- a/channel.pd +++ b/channel.pd @@ -31,7 +31,7 @@ 1; #X obj 55 351 tgl 20 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#N canvas 892 187 864 792 mute_solo 0; +#N canvas 892 187 864 792 mute_solo 1; #X obj 17 57 inlet~; #X obj 217 17 inlet; #X obj 287 17 inlet; @@ -43,14 +43,13 @@ #X text 389 322 set mute button; #X text 403 94 If solo is pressed \, override mute; #X msg 354 350 0; -#X obj 17 456 gate~; #X msg 352 93 0; #X obj 286 158 t b f; #X msg 320 322 set \$1; #X floatatom 267 220 5 0 0 0 - - -; #X obj 267 194 -; #X obj 48 736 outlet~; -#X floatatom 49 428 5 0 0 0 - - -; +#X floatatom 77 428 5 0 0 0 - - -; #X obj 267 249 expr if($f1 < 0 \, 1 \, 0); #X obj 336 352 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; @@ -63,7 +62,6 @@ #X obj 111 543 v global_solo_count; #X text 111 474 Check to see if there are any solo'd channels; #X floatatom 111 615 5 0 0 0 - - -; -#X obj 48 672 gate~; #X floatatom 141 567 5 0 0 0 - - -; #X obj 111 493 r solo_mode; #X obj 111 518 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 @@ -81,45 +79,47 @@ #X obj 269 544 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 269 519 pipe 10; -#X connect 0 0 11 0; +#X obj 17 456 switcher~; +#X obj 48 672 switcher~; +#X connect 0 0 41 0; #X connect 1 0 5 0; -#X connect 1 0 25 0; +#X connect 1 0 24 0; #X connect 2 0 6 0; -#X connect 5 0 16 0; -#X connect 5 0 35 1; -#X connect 6 0 13 0; -#X connect 11 1 29 0; -#X connect 12 0 6 0; +#X connect 5 0 15 0; +#X connect 5 0 33 1; +#X connect 6 0 12 0; +#X connect 11 0 6 0; +#X connect 11 0 5 0; #X connect 12 0 5 0; -#X connect 13 0 5 0; -#X connect 13 1 16 1; -#X connect 14 0 7 0; -#X connect 14 0 20 0; -#X connect 14 0 10 0; -#X connect 15 0 19 0; -#X connect 16 0 15 0; -#X connect 18 0 11 1; -#X connect 19 0 18 0; -#X connect 19 0 23 0; -#X connect 23 0 22 0; -#X connect 23 1 14 0; -#X connect 23 1 21 0; -#X connect 25 0 24 0; -#X connect 26 0 30 0; -#X connect 26 0 35 0; -#X connect 26 0 36 0; -#X connect 28 0 29 1; -#X connect 29 0 17 0; -#X connect 31 0 32 0; -#X connect 32 0 26 0; -#X connect 35 0 28 0; -#X connect 36 0 5 0; -#X connect 37 0 28 0; -#X connect 38 0 12 0; -#X connect 39 0 32 0; -#X connect 40 0 42 0; -#X connect 41 0 26 0; -#X connect 42 0 41 0; +#X connect 12 1 15 1; +#X connect 13 0 7 0; +#X connect 13 0 19 0; +#X connect 13 0 10 0; +#X connect 14 0 18 0; +#X connect 15 0 14 0; +#X connect 17 0 41 1; +#X connect 18 0 17 0; +#X connect 18 0 22 0; +#X connect 22 0 21 0; +#X connect 22 1 13 0; +#X connect 22 1 20 0; +#X connect 24 0 23 0; +#X connect 25 0 28 0; +#X connect 25 0 33 0; +#X connect 25 0 34 0; +#X connect 27 0 42 1; +#X connect 29 0 30 0; +#X connect 30 0 25 0; +#X connect 33 0 27 0; +#X connect 34 0 5 0; +#X connect 35 0 27 0; +#X connect 36 0 11 0; +#X connect 37 0 30 0; +#X connect 38 0 40 0; +#X connect 39 0 25 0; +#X connect 40 0 39 0; +#X connect 41 1 42 0; +#X connect 42 0 16 0; #X restore 165 305 pd mute_solo; #X obj -61 354 r mute all; #X obj -61 332 r solo all; diff --git a/hamilr4.pd b/hamilr4.pd index ba72592..15fcf36 100644 --- a/hamilr4.pd +++ b/hamilr4.pd @@ -14,7 +14,7 @@ the second is for data; #X obj 1030 97 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1184 119 list trim; -#X msg 1184 140 1 2 3 4 5; +#X msg 1184 140 hamilr4 key 1 Meta_L 0; #X obj 1184 98 list prepend set; #X text 1030 0 Two named receives \, one for tempo (receives a "bang" event from the global clock metro) and the other receives a list of @@ -241,74 +241,134 @@ control data... this can be any size.; #X text 347 370 More structure... timeline; #X text 347 290 More cowbell... sounds; #X text 321 250 Show off browser examples; -#N canvas 0 23 729 549 more_sounds 1; -#N canvas 1009 23 483 431 additive-synthesis 0; -#X floatatom 62 46 5 0 0 0 - - -; -#X obj 62 65 mtof; +#N canvas 0 23 1920 1129 more_sounds 0; +#N canvas 10 23 1910 1031 additive-synthesis 0; +#X floatatom 62 6 5 0 0 0 - - -; +#X obj 62 25 mtof; #X obj 62 110 osc~; -#X obj 118 87 * 2; +#X obj 118 47 * 2; #X obj 118 109 osc~; #X obj 118 131 *~ 0.1; #X obj 188 109 osc~; -#X obj 188 87 * 3; +#X obj 188 47 * 3; #X obj 188 131 *~ 0.2; #X obj 258 109 osc~; -#X obj 258 87 * 4; -#X obj 258 131 *~ 0.5; +#X obj 258 47 * 4; #X obj 118 167 +~; #X obj 118 189 +~; -#X obj 118 211 *~; -#X obj 62 242 +~; -#X obj 165 213 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 118 271 *~; +#X obj 62 302 +~; +#X obj 165 273 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X text 197 212 toggle overtones; -#X obj 62 317 *~ 0; -#X floatatom 91 275 5 0 0 0 - - -; -#X obj 91 295 dbtorms; -#X obj 62 357 dac~; +#X text 197 272 toggle overtones; +#X obj 62 377 *~ 0; +#X floatatom 91 335 5 0 0 0 - - -; +#X obj 91 355 dbtorms; +#X obj 62 417 dac~; +#X floatatom 24 48 5 0 0 0 - - -; +#X floatatom 126 70 5 0 0 0 - - -; +#X floatatom 199 70 5 0 0 0 - - -; +#X floatatom 271 71 5 0 0 0 - - -; +#X obj 328 109 osc~; +#X floatatom 341 71 5 0 0 0 - - -; +#X obj 328 47 * 5; +#X obj 388 109 osc~; +#X floatatom 401 71 5 0 0 0 - - -; +#X obj 388 47 * 6; +#X obj 328 131 *~ 0.1; +#X obj 388 131 *~ 0.1; +#X obj 118 212 +~; +#X obj 118 235 +~; +#X obj 258 131 *~ 0.2; +#N canvas 0 22 450 278 (subpatch) 0; +#X array additive_synth 100 float 1; +#A 0 -0.528365 -0.0236192 0.275021 0.375499 0.45438 0.558161 0.603844 +0.640299 0.860423 1.25846 1.48169 1.21951 0.638468 0.212533 0.139342 +0.141112 -0.100167 -0.514078 -0.787655 -0.796432 -0.697922 -0.657846 +-0.688756 -0.770715 -0.927511 -1.08991 -1.044 -0.669687 -0.148338 0.219167 +0.357333 0.428291 0.532369 0.598713 0.620013 0.775341 1.14829 1.46252 +1.33942 0.801256 0.292188 0.134296 0.156651 -0.00637895 -0.402208 -0.740444 +-0.814197 -0.723206 -0.660077 -0.67554 -0.741838 -0.877928 -1.05619 +-1.08898 -0.79922 -0.286128 0.144571 0.334717 0.406011 0.503298 0.588745 +0.610226 0.709029 1.0346 1.40806 1.42548 0.967073 0.401455 0.143975 +0.156079 0.067728 -0.285363 -0.671365 -0.819183 -0.75169 -0.668662 +-0.665587 -0.718383 -0.832706 -1.0117 -1.10806 -0.910661 -0.43112 0.0500877 +0.303191 0.387105 0.473476 0.572494 0.605975 0.661906 0.926184 1.3252 +1.4727 1.12459 0.536857 0.176009 0.146499 0.119337 -0.171141 -0.582427 +; +#X coords 0 1 99 -1 200 140 1 0 0; +#X restore 571 223 graph; +#X text 543 216 1; +#X text 540 286 0; +#X text 533 355 -1; +#X obj 344 314 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 344 339 metro 100; +#X obj 318 367 tabwrite~ additive_synth; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 3 0; -#X connect 2 0 15 0; +#X connect 1 0 21 0; +#X connect 1 0 7 0; +#X connect 1 0 10 0; +#X connect 1 0 27 0; +#X connect 1 0 30 0; +#X connect 2 0 14 0; #X connect 3 0 4 0; +#X connect 3 0 22 0; #X connect 4 0 5 0; -#X connect 5 0 12 0; +#X connect 5 0 11 0; #X connect 6 0 8 0; #X connect 7 0 6 0; -#X connect 8 0 12 1; -#X connect 9 0 11 0; +#X connect 7 0 23 0; +#X connect 8 0 11 1; +#X connect 9 0 35 0; #X connect 10 0 9 0; -#X connect 11 0 13 1; -#X connect 12 0 13 0; -#X connect 13 0 14 0; -#X connect 14 0 15 1; -#X connect 15 0 18 0; -#X connect 16 0 14 1; -#X connect 18 0 21 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 18 1; +#X connect 10 0 24 0; +#X connect 11 0 12 0; +#X connect 12 0 33 0; +#X connect 13 0 14 1; +#X connect 14 0 17 0; +#X connect 14 0 42 0; +#X connect 15 0 13 1; +#X connect 17 0 20 0; +#X connect 17 0 20 1; +#X connect 18 0 19 0; +#X connect 19 0 17 1; +#X connect 25 0 31 0; +#X connect 27 0 25 0; +#X connect 27 0 26 0; +#X connect 28 0 32 0; +#X connect 30 0 28 0; +#X connect 30 0 29 0; +#X connect 31 0 33 1; +#X connect 32 0 34 1; +#X connect 33 0 34 0; +#X connect 34 0 13 0; +#X connect 35 0 12 1; +#X connect 40 0 41 0; +#X connect 41 0 42 0; #X restore 70 123 pd additive-synthesis; -#N canvas 795 432 573 296 sine-wave-oscillator 0; +#N canvas 82 73 1436 733 sine-wave-oscillator 0; #X obj 88 59 mtof; #X obj 88 81 osc~; #X obj 181 122 tabwrite~ sine; #N canvas 0 22 450 278 (subpatch) 0; #X array sine 100 float 1; -#A 0 0.906203 0.945681 0.974625 0.992767 0.999878 0.995881 0.980846 -0.954886 0.918346 0.871596 0.815169 0.7497 0.675886 0.594584 0.506666 -0.413127 0.315002 0.213373 0.10938 0.00416842 -0.101088 -0.205223 -0.307075 --0.405526 -0.49946 -0.587857 -0.669724 -0.744148 -0.810325 -0.867477 --0.915016 -0.952383 -0.979174 -0.995106 -0.99996 -0.993735 -0.976455 --0.948339 -0.909699 -0.860939 -0.802639 -0.735405 -0.660015 -0.577297 --0.48816 -0.393613 -0.294683 -0.192487 -0.0881515 0.0171626 0.122288 -0.22605 0.327307 0.424927 0.517826 0.604984 0.685407 0.758234 0.822629 -0.877892 0.923416 0.958664 0.983291 0.996974 0.999598 0.991127 0.971633 -0.941374 0.900632 0.849906 0.789738 0.720795 0.643863 0.559758 0.469452 -0.373927 0.274249 0.17153 0.0669009 -0.0384688 -0.143411 -0.246761 --0.347374 -0.444121 -0.535947 -0.621809 -0.700773 -0.771957 -0.834557 --0.887909 -0.931376 -0.964515 -0.986941 -0.998398 -0.998792 -0.988059 --0.966377 -0.933955 -0.891159 -0.838483; +#A 0 -0.779677 -0.567846 -0.308507 -0.0233615 0.263741 0.528775 0.749581 +0.907656 0.9898 0.989152 0.90572 0.746528 0.524886 0.259314 -0.0279455 +-0.31287 -0.571611 -0.782537 -0.927995 -0.995797 -0.980303 -0.882788 +-0.711407 -0.480519 -0.209421 0.0791956 0.361189 0.61296 0.813446 0.945891 +0.999178 0.968879 0.857538 0.674427 0.434903 0.158995 -0.13022 -0.408538 +-0.652684 -0.842206 -0.961279 -0.999932 -0.954907 -0.830007 -0.635662 +-0.388128 -0.108129 0.18092 0.454829 0.690693 0.868763 0.974145 0.998045 +0.938427 0.800303 0.595234 0.340349 0.0569966 -0.231128 -0.499909 -0.726869 +-0.893028 -0.984447 -0.99352 -0.919477 -0.768487 -0.553217 -0.291659 +-0.00569774 0.280739 0.54369 0.761145 0.914934 0.992165 0.986386 0.8981 +0.73466 0.50976 0.242216 -0.0455989 -0.329595 -0.586026 -0.79341 -0.934423 +-0.997273 -0.976657 -0.874347 -0.698892 -0.464948 -0.192115 0.0967936 +0.377601 0.626822 0.8236 0.951462 0.999736 0.964363 0.848303 0.661285 +0.41893; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 433 97 graph; #X text 405 90 1; @@ -321,7 +381,9 @@ control data... this can be any size.; #X obj 207 94 metro 100; #X text 293 31 MIDI note values (0-127); #X obj 81 179 output~; +#X floatatom 157 59 5 0 0 0 - - -; #X connect 0 0 1 0; +#X connect 0 0 12 0; #X connect 1 0 2 0; #X connect 1 0 11 0; #X connect 1 0 11 1; @@ -329,24 +391,25 @@ control data... this can be any size.; #X connect 8 0 9 0; #X connect 9 0 2 0; #X restore 70 143 pd sine-wave-oscillator; -#N canvas 881 23 672 291 sawtooth-oscillator 0; +#N canvas 156 106 1416 839 sawtooth-oscillator 0; #X obj 88 59 mtof; #N canvas 0 22 450 278 (subpatch) 0; #X array sawtooth 100 float 1; -#A 0 -0.852727 -0.836889 -0.821051 -0.805213 -0.789375 -0.773537 -0.757699 --0.741861 -0.726023 -0.710185 -0.694347 -0.678509 -0.662671 -0.646833 --0.630995 -0.615157 -0.599319 -0.583481 -0.567643 -0.551805 -0.535967 --0.520129 -0.504291 -0.488453 -0.472615 -0.456777 -0.440939 -0.425101 --0.409263 -0.393425 -0.377587 -0.361749 -0.345911 -0.330073 -0.314235 --0.298397 -0.282559 -0.266721 -0.250883 -0.235045 -0.219207 -0.203369 --0.187531 -0.171693 -0.155855 -0.140017 -0.124179 -0.108341 -0.0925027 --0.0766647 -0.0608267 -0.0449886 -0.0291506 -0.0133126 0.00252545 0.0183635 -0.0342014 0.0500394 0.0658774 0.0817155 0.0975535 0.113392 0.12923 -0.145068 0.160906 0.176744 0.192582 0.20842 0.224258 0.240096 0.255934 -0.271772 0.28761 0.303448 0.319286 0.335124 0.350962 0.3668 0.382638 -0.398476 0.414314 0.430152 0.44599 0.461828 0.477666 0.493504 0.509342 -0.52518 0.541018 0.556856 0.572694 0.588532 0.60437 0.620208 0.636046 -0.651884 0.667722 0.68356 0.699398 0.715236; +#A 0 -0.850728 -0.849107 -0.847487 -0.845866 -0.844246 -0.842625 -0.841005 +-0.839384 -0.837764 -0.836143 -0.834523 -0.832903 -0.831282 -0.829662 +-0.828041 -0.826421 -0.8248 -0.82318 -0.821559 -0.819939 -0.818319 +-0.816698 -0.815078 -0.813457 -0.811837 -0.810216 -0.808596 -0.806975 +-0.805355 -0.803734 -0.802114 -0.800494 -0.798873 -0.797253 -0.795632 +-0.794012 -0.792391 -0.790771 -0.78915 -0.78753 -0.785909 -0.784289 +-0.782669 -0.781048 -0.779428 -0.777807 -0.776187 -0.774566 -0.772946 +-0.771325 -0.769705 -0.768085 -0.766464 -0.764844 -0.763223 -0.761603 +-0.759982 -0.758362 -0.756741 -0.755121 -0.7535 -0.75188 -0.75026 -0.748639 +-0.747019 -0.745398 -0.743778 -0.742157 -0.740537 -0.738916 -0.737296 +-0.735675 -0.734055 -0.732435 -0.730814 -0.729194 -0.727573 -0.725953 +-0.724332 -0.722712 -0.721091 -0.719471 -0.71785 -0.71623 -0.71461 +-0.712989 -0.711369 -0.709748 -0.708128 -0.706507 -0.704887 -0.703266 +-0.701646 -0.700025 -0.698405 -0.696785 -0.695164 -0.693544 -0.691923 +-0.690303; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 433 97 graph; #X text 405 90 1; @@ -373,19 +436,19 @@ control data... this can be any size.; #X connect 12 0 13 0; #X connect 12 0 13 1; #X restore 70 163 pd sawtooth-oscillator; -#N canvas 892 23 674 388 square-oscillator 0; +#N canvas 30 23 1573 1028 square-oscillator 0; #X obj 94 121 mtof; #N canvas 0 22 450 278 (subpatch) 0; #X array square 100 float 1; -#A 0 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 +#A 0 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 +-0.98 -0.98 -0.98 -0.98 -0.98 -0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 +0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 --0.98 -0.98 -0.98; +-0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 0.98 0.98 0.98 0.98 +0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.98 +0.98 0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 +-0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 -0.98 0.98 +; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 438 189 graph; #X text 410 182 1; @@ -424,8 +487,8 @@ wave \, as you can see in the graph.; #X connect 16 0 9 0; #X restore 70 183 pd square-oscillator; #X text 55 99 Basic Synthesis Examples; -#N canvas 363 307 898 556 karplus_strong 0; -#N canvas 707 129 520 633 strummer 0; +#N canvas 8 23 1920 1129 karplus_strong 0; +#N canvas 707 129 706 668 strummer 0; #X obj 110 36 inlet; #X obj 247 15 inlet; #X text 290 37 strum speed inlet and default value; @@ -454,7 +517,7 @@ wave \, as you can see in the graph.; #X obj 218 538 i 55; #X obj 257 543 i 59; #X obj 293 563 i 64; -#N canvas 101 96 589 438 chords 0; +#N canvas 101 96 857 446 chords 0; #X obj 249 26 inlet; #X obj 82 265 outlet; #X obj 132 265 outlet; @@ -548,7 +611,7 @@ midi pitches for each of the six strings.; -2 -8 1 10 -262144 -1 -1 17177 1; #X obj 495 248 hsl 180 15 100 8000 0 0 empty \$0-cutoff_ctrl cutoff -2 -8 1 10 -262144 -1 -1 12689 1; -#N canvas 287 351 847 508 plucked_instrument 0; +#N canvas 540 332 847 508 plucked_instrument 0; #X obj 22 63 inlet; #X obj 92 60 inlet; #X obj 175 60 inlet; @@ -629,6 +692,8 @@ at the specified pitch.; #X obj 857 173 s \$0-strum_speed_ctrl; #X msg 864 148 8; #X obj 329 342 outlet~; +#X text 94 426 Karplus-Strong algorithm - physical model of a string +; #X connect 0 0 4 0; #X connect 0 1 4 1; #X connect 0 2 4 2; @@ -651,24 +716,24 @@ at the specified pitch.; #X connect 16 0 15 0; #X restore 381 288 pd karplus_strong; #X text 359 267 "Guitar" String model; -#N canvas 693 367 702 345 am-synthesis 0; +#N canvas 0 23 1371 827 am-synthesis 0; #X obj 88 48 mtof; #N canvas 0 22 450 278 (subpatch) 0; #X array am 100 float 1; -#A 0 -0.0438968 -0.0380207 -0.0263368 -0.00892826 0.0137533 0.0408958 -0.0713557 0.103707 0.136302 0.167342 0.194979 0.217391 0.232877 0.239969 -0.237492 0.22464 0.201058 0.166863 0.122662 0.069568 0.00916753 -0.0565287 --0.125145 -0.194034 -0.260373 -0.32127 -0.373909 -0.415654 -0.444151 --0.457494 -0.454285 -0.433707 -0.39562 -0.340582 -0.26984 -0.18533 --0.0896308 0.0141317 0.122369 0.231163 0.336409 0.433946 0.519765 0.59014 -0.641763 0.671941 0.6787 0.660859 0.618131 0.551187 0.461617 0.351907 -0.225424 0.0862571 -0.0608915 -0.210855 -0.358205 -0.49742 -0.457143 --0.730263 -0.814331 -0.871516 -0.898934 -0.894684 -0.857957 -0.789188 --0.689966 -0.56302 -0.412228 -0.242425 -0.000325814 0.00242221 0.0100181 -0.0219885 0.0375392 0.0555981 0.0748697 0.0939012 0.11117 0.125158 -0.134437 0.137762 0.134137 0.122883 0.103694 0.0766706 0.0423349 0.00162909 --0.044108 -0.0931874 -0.143625 -0.193235 -0.239707 -0.280703 -0.313991 --0.337528 -0.349556 -0.348723 -0.334151 -0.305486; +#A 0 0.471545 0.459653 0.44491 0.427372 0.407114 0.384244 0.358875 +0.331132 0.30116 0.269125 0.235202 0.199571 0.162435 0.124007 0.084504 +0.0441523 0.00319007 -0.0381431 -0.0796028 -0.120938 -0.161904 -0.20225 +-0.241728 -0.280091 -0.317105 -0.352538 -0.386156 -0.417745 -0.447105 +-0.474043 -0.498362 -0.519907 -0.538531 -0.554097 -0.566469 -0.575567 +-0.581312 -0.583636 -0.582489 -0.577866 -0.569768 -0.558204 -0.54322 +-0.524887 -0.50329 -0.478519 -0.450707 -0.420003 -0.386567 -0.350564 +-0.312206 -0.271704 -0.22928 -0.18517 -0.139633 -0.0929292 -0.045327 +0.00289424 0.05145 0.100054 0.148413 0.196236 0.243237 0.28913 0.333623 +0.376447 0.417337 0.456036 0.49228 0.525853 0.556536 0.58412 0.608409 +0.62925 0.646497 0.660008 0.669678 0.675435 0.677221 0.674975 0.668698 +0.658407 0.644136 0.625919 0.603863 0.578074 0.548676 0.515808 0.479661 +0.440429 0.398318 0.353557 0.306407 0.257133 0.206006 0.153325 0.0993965 +0.0445322 -0.0109477 -0.0667141; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 433 97 graph; #X text 405 90 1; @@ -700,25 +765,26 @@ at the specified pitch.; #X connect 12 0 13 0; #X connect 12 0 16 0; #X connect 12 0 16 1; -#X restore 69 203 pd am-synthesis; -#N canvas 730 319 719 507 tremolo 0; +#X restore 70 203 pd am-synthesis; +#N canvas 34 70 719 731 tremolo 0; #X obj 88 28 mtof; #N canvas 0 22 450 278 (subpatch) 0; #X array tremolo 100 float 1; -#A 0 0.477489 -0.867087 -0.105657 0.91405 -0.287017 -0.792297 0.628067 -0.523753 -0.854261 -0.15749 0.92342 -0.239119 -0.822234 0.592914 0.568784 --0.838364 -0.209408 0.929755 -0.18983 -0.84968 0.555332 0.612397 -0.819397 --0.261217 0.932967 -0.139325 -0.87455 0.515397 0.654422 -0.797424 -0.312705 -0.933039 -0.0877851 -0.896701 0.473283 0.694641 -0.772498 -0.363683 -0.929901 -0.0354023 -0.916026 0.429109 0.732931 -0.744661 -0.41394 -0.92359 0.0176301 -0.932423 0.383036 0.769086 -0.714038 -0.463273 0.914053 -0.0711135 -0.945792 0.33522 0.802975 -0.680679 -0.511498 0.901324 0.124843 --0.9561 0.285833 0.834429 -0.644722 -0.558402 0.88543 0.178616 -0.963203 -0.235059 0.863324 -0.606262 -0.603812 0.866392 0.232227 -0.967127 0.183066 -0.889532 -0.565452 -0.647516 0.844276 0.285466 -0.967794 0.130062 0.912902 --0.522416 -0.689373 0.819117 0.338131 -0.965193 0.0762344 0.933378 --0.477302 -0.729178 0.791042 0.390007 -0.959307 0.0217872 0.950808 --0.430287; +#A 0 -0.00800669 -0.00853675 -0.00842516 -0.00817408 -0.00853675 -0.00848096 +-0.00878783 -0.0092621 -0.0092342 -0.00959687 -0.00945738 -0.00962477 +-0.00962477 -0.00968056 -0.00934579 -0.0100432 -0.00998744 -0.0092342 +-0.00942948 -0.00945738 -0.00962477 -0.00945738 -0.00984795 -0.0100711 +-0.0100153 -0.0105454 -0.010657 -0.0104896 -0.0105733 -0.010657 -0.0107965 +-0.0107407 -0.0105454 -0.0107407 -0.0106291 -0.010378 -0.0106291 -0.0105175 +-0.0102664 -0.0102664 -0.0108523 -0.0103222 -0.010657 -0.0111313 -0.0111034 +-0.0111313 -0.0108244 -0.0110476 -0.0111313 -0.0116055 -0.0115776 -0.0111592 +-0.0115776 -0.0119124 -0.0119124 -0.0112149 -0.0115776 -0.0114102 -0.0115218 +-0.0114939 -0.0112707 -0.0114381 -0.0115497 -0.0114381 -0.0115776 -0.0114939 +-0.0122751 -0.0118287 -0.0121077 -0.0121356 -0.0120519 -0.012554 -0.0126935 +-0.0122193 -0.0124983 -0.0124146 -0.0122751 -0.0122193 -0.0119682 -0.0124704 +-0.0124983 -0.0120798 -0.0119124 -0.0123867 -0.012554 -0.0119124 -0.0121077 +-0.0119682 -0.0122751 -0.0127493 -0.0121356 -0.0119403 -0.0121914 -0.0118008 +-0.0118845 -0.0121356 -0.0122472 -0.0122193 -0.0119403 -0.0120519; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 61 356 graph; #X text 33 349 1; @@ -733,40 +799,40 @@ at the specified pitch.; #X obj 88 168 *~; #N canvas 0 22 450 278 (subpatch) 0; #X array osc_adjusted 100 float 1; -#A 0 0.916277 0.9171 0.917924 0.918747 0.919562 0.92037 0.921178 0.921986 -0.922787 0.92358 0.924373 0.925165 0.925952 0.926729 0.927506 0.928283 -0.929056 0.929817 0.930578 0.93134 0.932099 0.932844 0.933589 0.934335 -0.935079 0.935808 0.936538 0.937267 0.937997 0.938711 0.939424 0.940137 -0.94085 0.94155 0.942247 0.942944 0.943641 0.944326 0.945007 0.945688 -0.946369 0.947039 0.947703 0.948368 0.949032 0.949688 0.950336 0.950984 -0.951631 0.952272 0.952903 0.953535 0.954166 0.954792 0.955406 0.956021 -0.956635 0.957246 0.957844 0.958442 0.95904 0.959635 0.960216 0.960797 -0.961378 0.961959 0.962523 0.963087 0.963651 0.964215 0.964763 0.96531 -0.965857 0.966403 0.966936 0.967466 0.967996 0.968526 0.969043 0.969556 -0.970068 0.970581 0.971083 0.971578 0.972073 0.972569 0.973055 0.973533 -0.974011 0.974489 0.974959 0.97542 0.97588 0.976341 0.976796 0.977239 -0.977682 0.978125 0.978564 0.97899; +#A 0 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 0.914158 +0.914158 0.914158 0.914158 0.914158 0.914158; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 271 356 graph; #N canvas 0 22 450 278 (subpatch) 0; #X array osc_unadjusted 100 float 1; -#A 0 0.832553 0.8342 0.835847 0.837494 0.839124 0.84074 0.842357 0.843973 -0.845575 0.84716 0.848745 0.85033 0.851904 0.853458 0.855012 0.856566 -0.858112 0.859635 0.861157 0.862679 0.864197 0.865688 0.867178 0.868669 -0.870158 0.871617 0.873076 0.874534 0.875993 0.877421 0.878848 0.880275 -0.881701 0.8831 0.884494 0.885889 0.887283 0.888653 0.890014 0.891376 -0.892738 0.894078 0.895407 0.896736 0.898064 0.899376 0.900671 0.901967 -0.903263 0.904544 0.905807 0.907069 0.908332 0.909583 0.910813 0.912042 -0.913271 0.914492 0.915688 0.916884 0.918079 0.919271 0.920432 0.921594 -0.922756 0.923917 0.925045 0.926173 0.927301 0.928429 0.929525 0.930619 -0.931713 0.932807 0.933873 0.934932 0.935992 0.937051 0.938086 0.939111 -0.940136 0.941162 0.942165 0.943156 0.944147 0.945137 0.94611 0.947066 -0.948022 0.948977 0.949919 0.95084 0.951761 0.952682 0.953592 0.954478 -0.955364 0.95625 0.957128 0.957979; +#A 0 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 0.828316 +0.828316 0.828316 0.828316 0.828316 0.828316; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 481 356 graph; #X obj 204 236 tabwrite~ osc_adjusted; -#X floatatom 214 48 5 0 0 0 - - -; +#X floatatom 213 49 5 0 0 0 - - -; #X obj 214 70 osc~; #X obj 103 107 +~ 1; #X obj 103 129 *~ 0.5; @@ -774,13 +840,14 @@ at the specified pitch.; #X obj 194 266 tabwrite~ tremolo; #X text 84 -8 Sine wave; #X obj 85 269 output~; +#X obj 53 50 adc~; +#X obj 39 127 gate~; #X connect 0 0 8 0; #X connect 5 0 0 0; #X connect 6 0 7 0; #X connect 7 0 12 0; #X connect 7 0 17 0; #X connect 7 0 18 0; -#X connect 8 0 9 0; #X connect 9 0 18 0; #X connect 9 0 20 0; #X connect 9 0 20 1; @@ -790,26 +857,27 @@ at the specified pitch.; #X connect 15 0 16 0; #X connect 16 0 9 1; #X connect 16 0 12 0; +#X connect 21 0 9 0; #X restore 70 286 pd tremolo; -#N canvas 224 280 672 404 ring-modulation 0; +#N canvas 37 117 1360 740 ring-modulation 0; #N canvas 0 22 450 278 (subpatch) 0; #X array ringmod 100 float 1; -#A 0 0.00697309 0.0080427 0.00898856 0.00971218 0.0101787 0.010358 -0.0103605 0.0102799 0.0100982 0.0099051 0.00995953 0.0102867 0.0105762 -0.01055 0.0100315 0.00914681 0.00811949 0.00684602 0.00563882 0.00505692 -0.00456703 0.00342942 0.0018948 0.00076914 0.000330511 -3.0627e-07 --0.000525302 -0.000806251 -0.000700656 -0.000572985 -0.000513335 -0.000353695 --0.000106978 7.05673e-05 0.000157561 0.000260461 0.000443319 0.000666878 -0.000878619 0.00116227 0.00158114 0.00185774 0.00185413 0.00182709 -0.00205306 0.00264549 0.00324313 0.00336534 0.00325272 0.00332808 0.00325645 -0.00266763 0.00192022 0.00166075 0.00171457 0.00144761 0.00129806 0.00205517 -0.00322288 0.00400195 0.00433189 0.00431342 0.00417138 0.00409633 0.00391847 -0.00361208 0.00343998 0.00325829 0.00275797 0.00207669 0.00149782 0.000957402 -0.000241637 -0.000603913 -0.00147417 -0.00229927 -0.00298044 -0.00351139 --0.00391323 -0.00413971 -0.00428569 -0.00440331 -0.00415919 -0.00368657 --0.00355438 -0.00341101 -0.00262832 -0.00179713 -0.00184356 -0.00239185 --0.00256727 -0.00261241 -0.00300987 -0.00318914 -0.00253037 -0.00148808 --0.000983213 -0.0011717 -0.00143969 -0.00143928; +#A 0 -0.00741483 -0.00711032 -0.00719827 -0.00692073 -0.00681419 -0.00682853 +-0.00641129 -0.00604545 -0.00577737 -0.00588849 -0.00569321 -0.00547622 +-0.00516827 -0.00490929 -0.00474435 -0.00458075 -0.00394271 -0.00373958 +-0.00369521 -0.00351733 -0.003297 -0.00338677 -0.00343142 -0.00310579 +-0.00308612 -0.00293755 -0.00279064 -0.00247592 -0.00227021 -0.00221306 +-0.00209423 -0.0019973 -0.00184013 -0.00184731 -0.00177352 -0.00144044 +-0.00117162 -0.00120225 -0.000977952 -0.000795748 -0.000596964 -0.000152839 +-0.000416936 -0.000338365 0.000223719 -0.000110929 5.49953e-05 0.000399855 +0.000486467 0.000339325 0.000495596 0.000473587 0.000417109 0.000688737 +0.000852817 0.00076022 0.000786327 0.000960847 0.000902088 0.000795573 +0.000916 0.000970105 0.00108579 0.000871804 0.00137055 0.00127932 0.00105422 +0.00120605 0.00135411 0.00138192 0.00139432 0.00124971 0.00143084 0.00159316 +0.00140894 0.00167445 0.001626 0.00151242 0.00164778 0.00142048 0.00127454 +0.00143069 0.00137331 0.00147404 0.00157109 0.00153556 0.0015003 0.00143129 +0.00139718 0.00153933 0.00136234 0.00125424 0.00129522 0.00136475 0.00113866 +0.0011969 0.0010871 0.00117103 0.00128814 0.00130814; #X coords 0 1 99 -1 200 140 1 0 0; #X restore 339 181 graph; #X text 311 174 1; @@ -825,10 +893,12 @@ at the specified pitch.; #X obj 106 83 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 103 107 mtof; -#X obj 103 129 osc~; -#X text 157 111 Modulate one audio signal (input from the microphone) +#X obj 103 139 osc~; +#X text 192 113 Modulate one audio signal (input from the microphone) by a second audio signal (output from the osc~ object); #X obj 85 269 output~; +#X floatatom 141 107 5 0 0 0 - - -; +#X floatatom 141 137 5 0 0 0 - - -; #X connect 4 0 5 0; #X connect 5 0 9 0; #X connect 6 0 9 0; @@ -836,50 +906,59 @@ by a second audio signal (output from the osc~ object); #X connect 6 0 14 1; #X connect 7 0 6 0; #X connect 10 0 11 0; +#X connect 10 0 15 0; #X connect 11 0 12 0; +#X connect 11 0 16 0; #X connect 12 0 6 1; #X restore 70 306 pd ring-modulation; -#N canvas 222 309 914 458 fm-synthesis 0; +#N canvas 0 23 1920 1129 fm-synthesis 0; #N canvas 0 22 450 278 (subpatch) 0; #X array fm 100 float 1; -#A 0 -0.997362 -0.978915 -0.943281 -0.891227 -0.823798 -0.742275 -0.648192 --0.543283 -0.429421 -0.308615 -0.182977 -0.0546453 0.0742082 0.201441 -0.324981 0.442821 0.553115 0.654145 0.744362 0.82245 0.887289 0.937964 -0.973836 0.994502 0.999796 0.989793 0.964804 0.925362 0.872213 0.806296 -0.728727 0.640774 0.543836 0.43941 0.32908 0.214499 0.0973331 -0.0207431 --0.13807 -0.253034 -0.36408 -0.469752 -0.568675 -0.659614 -0.741465 --0.813233 -0.874137 -0.923521 -0.960875 -0.985887 -0.998409 -0.998445 --0.986158 -0.961863 -0.926016 -0.879208 -0.822152 -0.755666 -0.680665 --0.598122 -0.509121 -0.414771 -0.316205 -0.214599 -0.111126 -0.00694947 -0.0967828 0.198957 0.298506 0.394422 0.485741 0.571602 0.651209 0.723851 -0.788898 0.84583 0.89422 0.933738 0.964148 0.985312 0.997166 0.99977 -0.993262 0.977861 0.953841 0.921561 0.881481 0.834042 0.779824 0.719376 -0.653351 0.582359 0.507104 0.42827 0.346542 0.262628 0.177228 0.0910282 -0.00469937 -0.0811051; +#A 0 0.917651 0.930842 0.942927 0.953892 0.963724 0.972387 0.979894 +0.986233 0.991391 0.995356 0.998119 0.999645 0.999946 0.999013 0.996834 +0.993401 0.988704 0.982734 0.975483 0.966945 0.957104 0.945964 0.93352 +0.919769 0.904708 0.888336 0.870652 0.851659 0.831356 0.809742 0.786829 +0.762627 0.737145 0.710396 0.682393 0.653155 0.622679 0.591008 0.558167 +0.524181 0.489063 0.452868 0.415627 0.377369 0.338156 0.298019 0.257023 +0.215215 0.172661 0.129421 0.0855691 0.0411729 -0.00368479 -0.0489234 +-0.094453 -0.140183 -0.186016 -0.231851 -0.277577 -0.323084 -0.368256 +-0.412973 -0.457109 -0.500536 -0.543121 -0.584726 -0.625211 -0.664421 +-0.702223 -0.738472 -0.773021 -0.805685 -0.83635 -0.864855 -0.891031 +-0.91476 -0.935857 -0.954209 -0.969667 -0.982076 -0.991337 -0.997322 +-0.99989 -0.998954 -0.994424 -0.986213 -0.97425 -0.958476 -0.938852 +-0.915352 -0.887969 -0.856696 -0.821575 -0.782666 -0.740033 -0.693755 +-0.643982 -0.590814 -0.534456 -0.475067; #X coords 0 1 99 -1 200 140 1 0 0; -#X restore 267 267 graph; -#X text 239 260 1; -#X text 236 330 0; -#X text 229 399 -1; -#X obj 8 55 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +#X restore 344 265 graph; +#X text 316 258 1; +#X text 313 328 0; +#X text 306 397 -1; +#X obj 85 53 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; -#X obj 94 273 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 171 271 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X obj 94 298 metro 100; -#X text 1 38 Carrier Frequency; -#X obj 5 85 mtof~; -#X text -412 83 * NOTE here we're using "mtof~" not "mtof". The output +#X obj 171 296 metro 100; +#X text 78 36 Carrier Frequency; +#X obj 82 83 mtof~; +#X text 91 462 * NOTE here we're using "mtof~" not "mtof". The output from this object is an audio signal not just a float.; -#X obj 94 324 tabwrite~ fm; -#X obj 5 285 osc~; -#X obj 5 233 +~; -#X obj 20 147 osc~; -#X text 59 120 Modulation frequency in Hz; -#X floatatom 20 120 5 0 0 0 - - -; -#X obj 20 207 *~; -#X floatatom 35 179 5 0 0 0 - - -; -#X text 74 180 Modulation amount in Hz; -#X obj 2 334 output~; +#X obj 171 322 tabwrite~ fm; +#X obj 82 283 osc~; +#X obj 82 231 +~; +#X obj 97 145 osc~; +#X text 136 118 Modulation frequency in Hz; +#X floatatom 97 118 5 0 0 0 - - -; +#X obj 97 205 *~; +#X floatatom 112 177 5 0 0 0 - - -; +#X text 151 178 Modulation amount in Hz; +#X obj 79 332 output~; +#X text 425 30 The Synthesis of Complex Audio Spectra by Means of Frequency +Modulation; +#X text 423 73 JOHN M. CHOWNING (first published: J. M. Chowning. The +Synthesis of Complex Audio Spectra by Means of Frequency Modulation. +J. Audio Eng. Soc. 21 \, 7 \, 1973.); +#X text 422 143 https://ccrma.stanford.edu/sites/default/files/user/jc/fm_synthesispaper-2.pdf +; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 10 0; @@ -892,8 +971,8 @@ from this object is an audio signal not just a float.; #X connect 15 0 13 0; #X connect 16 0 12 1; #X connect 17 0 16 1; -#X restore 69 223 pd fm-synthesis; -#N canvas 71 97 805 507 reverb 0; +#X restore 70 223 pd fm-synthesis; +#N canvas 0 23 1920 1129 reverb 0; #X floatatom 200 230 0 0 120 0 - - -; #N canvas 0 22 539 448 tests 0; #X obj 67 33 inlet; @@ -989,6 +1068,7 @@ through.; ; #X obj 39 191 inlet~; #X obj 115 393 output~; +#X obj 55 149 adc~; #X connect 0 0 22 2; #X connect 1 0 22 0; #X connect 1 0 27 0; @@ -1005,70 +1085,72 @@ through.; #X connect 22 1 27 1; #X connect 26 0 22 0; #X connect 26 0 27 0; -#X restore 69 326 pd reverb; -#N canvas 875 533 669 485 delay 0; -#X text 270 69 DELAYS; -#X text 269 156 The delwrite~ object creates the delay line \; you +#X connect 28 0 22 0; +#X restore 70 326 pd reverb; +#N canvas 287 23 1131 785 delay 0; +#X text 328 88 DELAYS; +#X text 327 175 The delwrite~ object creates the delay line \; you give it a name and a size in milliseconds. Each delwrite~ should have a different name.; -#N canvas 0 22 548 248 sample 0; +#N canvas 678 444 548 248 sample 0; #N canvas 0 22 450 300 (subpatch) 0; -#X array G01-tab 62079 float 0; +#X array delay-tab 62079 float 0; #X coords 0 1 62078 -1 200 140 1; #X restore 100 20 graph; #X obj 61 176 loadbang; #X obj 60 221 soundfiler; -#X msg 61 199 read -resize voice.wav G01-tab; +#X msg 61 198 read -resize voice.wav delay-tab; #X connect 1 0 3 0; #X connect 3 0 2 0; -#X restore 274 414 pd sample; -#X floatatom 59 273 4 0 999 0 - - -; -#X text 102 272 <-- delay time; -#X text 67 307 read from delay line; -#X obj 59 326 delread~ delay1; -#X obj 35 164 tabplay~ G01-tab; -#X obj 35 140 metro 1000; -#X text 61 223 write to delay line; -#X obj 36 352 +~; -#X obj 45 242 delwrite~ delay1 1000; -#X text 269 101 You can delay a signal using the delwrite~ and delread~ +#X restore 332 433 pd sample; +#X floatatom 117 292 4 0 999 0 - - -; +#X text 160 291 <-- delay time; +#X text 125 326 read from delay line; +#X obj 117 345 delread~ delay1; +#X obj 93 159 metro 1000; +#X text 119 242 write to delay line; +#X obj 94 371 +~; +#X obj 103 261 delwrite~ delay1 1000; +#X text 327 120 You can delay a signal using the delwrite~ and delread~ objects. In this example \, a sample loops continuously and is added to a delayed copy of itself.; -#X text 268 292 The delread~ object always delays the signal an integer +#X text 326 311 The delread~ object always delays the signal an integer number of samples and does no interpolation.; -#X text 49 184 test signal to delay; -#X text 269 207 Delread~'s arguments are the name of a delwrite (of +#X text 107 203 test signal to delay; +#X text 327 226 Delread~'s arguments are the name of a delwrite (of which there should be exactly one) and an optional delay time in milliseconds between 0 and the length of the delay line. Each delwrite~ may have as many delread~s as you wish \, which can then function as multiple delay taps.; -#X text 135 286 (msec); -#X floatatom 92 108 4 0 0 0 - - -; -#X text 72 33 nonzero number or "bang" to start; -#X msg 36 34 bang; -#X msg 47 64 stop; -#X text 84 64 zero or "stop" to stop; -#X obj 37 380 output~; +#X text 193 305 (msec); +#X floatatom 150 127 4 0 0 0 - - -; +#X text 130 52 nonzero number or "bang" to start; +#X msg 94 53 bang; +#X msg 105 83 stop; +#X text 142 83 zero or "stop" to stop; +#X obj 95 399 output~; +#X msg 55 156 bang; +#X obj 93 183 tabplay~ delay-tab; #X connect 3 0 6 0; -#X connect 6 0 10 1; -#X connect 7 0 10 0; -#X connect 7 0 11 0; -#X connect 8 0 7 0; -#X connect 10 0 22 0; -#X connect 10 0 22 1; -#X connect 17 0 8 1; -#X connect 19 0 8 0; -#X connect 20 0 8 0; -#X restore 69 346 pd delay; +#X connect 6 0 9 1; +#X connect 7 0 23 0; +#X connect 9 0 21 0; +#X connect 9 0 21 1; +#X connect 16 0 7 1; +#X connect 18 0 7 0; +#X connect 19 0 7 0; +#X connect 22 0 23 0; +#X connect 23 0 9 0; +#X connect 23 0 10 0; +#X restore 70 346 pd delay; #X text 45 262 Processing; -#N canvas 42 23 849 464 file-playback-scratcher 0; +#N canvas 0 23 1920 1129 file-playback-scratcher 0; #X obj 62 225 hip~ 5; #X text 121 227 high pass filter to cut DC; #N canvas 0 22 450 300 (subpatch) 0; -#X array sample-table 44104 float 0; -#X coords 0 1.02 44103 -1.02 200 130 1; +#X array scratcher-table 44104 float 0; +#X coords 0 1.02 44103 -1.02 200 130 1 0 0; #X restore 549 90 graph; -#X obj 62 193 tabread4~ sample-table; #X obj 62 158 line~; #X obj 62 109 * 441; #X floatatom 62 55 0 0 100 0 - - -; @@ -1087,19 +1169,20 @@ sent when you load this patch by the "loadbang" object.); #X text 110 86 WHEN THIS IS 0-100 AND ACTIVELY CHANGING.; #X text 548 221 --- 44103 samples ---; #X obj 283 367 soundfiler; -#X msg 283 342 read voice.wav sample-table; #X obj 55 342 output~; -#X connect 0 0 22 0; -#X connect 0 0 22 1; -#X connect 3 0 0 0; -#X connect 4 0 3 0; -#X connect 5 0 7 0; -#X connect 6 0 5 0; -#X connect 7 0 4 0; -#X connect 10 0 21 0; -#X connect 21 0 20 0; +#X msg 283 342 read voice.wav scratcher-table; +#X obj 62 193 tabread4~ scratcher-table; +#X connect 0 0 20 0; +#X connect 0 0 20 1; +#X connect 3 0 22 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 9 0 21 0; +#X connect 21 0 19 0; +#X connect 22 0 0 0; #X restore 58 453 pd file-playback-scratcher; -#N canvas 880 23 497 410 drums-horrible-snare 0; +#N canvas 372 32 851 837 drums-horrible-snare 0; #X obj 106 98 noise~; #X obj 163 98 line~; #X obj 106 152 *~; @@ -1109,20 +1192,28 @@ sent when you load this patch by the "loadbang" object.); #X obj 163 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 -1; #X obj 106 188 lop~ 400; -#X floatatom 157 166 5 0 0 0 - - -; +#X floatatom 159 164 5 0 0 0 - - -; #X obj 106 247 *~ 1; #X obj 87 301 output~; +#X text 15 97 White noise; +#X text 170 188 Low-pass filter; +#X obj 121 7 metro 200; +#X obj 81 12 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; #X connect 0 0 2 0; #X connect 1 0 2 1; #X connect 2 0 6 0; +#X connect 3 0 8 1; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 8 0; #X connect 7 0 6 1; #X connect 8 0 9 0; #X connect 8 0 9 1; -#X restore 368 148 pd drums-horrible-snare; -#N canvas 1056 23 483 421 drums-horrible-kick 0; +#X connect 12 0 5 0; +#X connect 13 0 12 0; +#X restore 368 128 pd drums-horrible-snare; +#N canvas 310 103 839 822 drums-horrible-kick 0; #X obj 209 153 line~; #X obj 82 222 *~; #X obj 118 235 hsl 128 15 0 1 0 0 empty empty Volume_0-1 -2 -6 0 8 @@ -1150,39 +1241,39 @@ sent when you load this patch by the "loadbang" object.); #X connect 8 0 5 1; #X connect 9 0 11 0; #X connect 9 0 11 1; -#X restore 368 168 pd drums-horrible-kick; -#N canvas 0 177 654 844 horrible-marimba 0; -#X obj 113 480 line~; -#X obj 98 507 *~; -#X obj 111 64 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 +#X restore 368 148 pd drums-horrible-kick; +#N canvas 75 23 1264 1129 horrible-marimba 0; +#X obj 245 457 line~; +#X obj 230 484 *~; +#X obj 243 41 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 -1; -#X obj 96 419 osc~; -#X obj 294 278 noise~; -#X obj 352 316 line~; -#X obj 295 370 *~; -#X obj 295 406 lop~ 5000; -#X obj 0 343 line~; -#X obj -47 340 osc~; -#X msg 0 313 1 \, 0 100; -#X floatatom 98 156 3 0 0 0 - - -; -#X floatatom 130 155 3 0 0 0 - - -; -#X obj -47 373 *~; -#X obj -47 310 * 3; -#X obj -47 406 *~ 1; -#X obj 295 465 *~ 0.5; -#X obj 97 201 mtof; -#X msg 352 288 1 \, 0 44; -#X msg 113 451 1 \, 0 400; -#X obj 98 533 *~ 0.4; -#X obj 130 201 * 0.33; -#X obj 130 223 * 0.4; -#X obj 155 64 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +#X obj 228 396 osc~; +#X obj 426 255 noise~; +#X obj 484 293 line~; +#X obj 427 347 *~; +#X obj 427 383 lop~ 5000; +#X obj 132 320 line~; +#X obj 85 317 osc~; +#X msg 132 290 1 \, 0 100; +#X floatatom 230 133 3 0 0 0 - - -; +#X floatatom 262 132 3 0 0 0 - - -; +#X obj 85 350 *~; +#X obj 85 287 * 3; +#X obj 85 383 *~ 1; +#X obj 427 442 *~ 0.5; +#X obj 229 178 mtof; +#X msg 484 265 1 \, 0 44; +#X msg 245 428 1 \, 0 400; +#X obj 230 510 *~ 0.4; +#X obj 262 178 * 0.33; +#X obj 262 200 * 0.4; +#X obj 287 41 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; -#X obj -36 63 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 +#X obj 96 40 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; -#X text -31 42 Pitch (midi); -#X text 161 42 Velocity (volume); -#X obj 79 677 output~; +#X text 101 19 Pitch (midi); +#X text 293 19 Velocity (volume); +#X obj 211 654 output~; #X connect 0 0 1 1; #X connect 1 0 20 0; #X connect 2 0 19 0; @@ -1216,7 +1307,7 @@ sent when you load this patch by the "loadbang" object.); #X connect 22 0 16 1; #X connect 23 0 12 0; #X connect 24 0 11 0; -#X restore 369 190 pd horrible-marimba; +#X restore 368 168 pd horrible-marimba; #N canvas 653 23 576 695 cleaner-horrible-marimba 0; #X obj -1022 66 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 -1; @@ -1325,9 +1416,9 @@ sent when you load this patch by the "loadbang" object.); #X connect 20 0 10 1; #X connect 22 0 12 2; #X connect 23 0 11 2; -#X restore 369 210 pd cleaner-horrible-marimba; +#X restore 368 188 pd cleaner-horrible-marimba; #X text 357 102 "Horrible" Instruments; -#N canvas 261 146 695 590 bells 0; +#N canvas 305 23 927 717 bells 0; #X obj 47 459 catch~ sum; #X obj 359 284 s frequency; #X obj 473 284 s duration; @@ -1388,18 +1479,16 @@ Risset.; #X connect 33 0 18 0; #X restore 388 362 pd bells; #X text 370 341 Risset "Bells" model; -#N canvas 1013 238 567 604 play_soundfile 0; +#N canvas 676 122 567 604 play_soundfile 0; #X obj 13 22 loadbang; #X obj 13 71 soundfiler; -#X msg 13 46 read voice.wav sample-table-1; #N canvas 0 22 450 300 (subpatch) 0; -#X array sample-table-1 44104 float 0; +#X array player-table-1 44104 float 0; #X coords 0 1.02 44103 -1.02 200 130 1 0 0; #X restore 328 22 graph; #X text 334 175 (one second plus three extra; #X text 336 194 for 4-point interpolation); #X text 327 153 --- 44103 samples ---; -#X obj 15 177 tabplay~ sample-table-1; #X obj 15 379 dac~ 1; #X obj 15 335 *~; #X obj 33 307 line~; @@ -1414,79 +1503,117 @@ Risset.; #X msg 33 261 0.5 100; #X obj 33 239 loadbang; #X msg 176 133 22500 10000; -#X msg 57 478 open voice.wav; #X obj 47 512 readsf~; #X obj 93 553 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 47 445 1; #X msg 17 445 0; #X obj 47 536 dac~; -#X connect 0 0 2 0; -#X connect 2 0 1 0; -#X connect 7 0 9 0; -#X connect 9 0 13 0; -#X connect 10 0 9 1; -#X connect 11 0 10 0; -#X connect 13 0 8 0; -#X connect 14 0 7 0; -#X connect 15 0 7 0; -#X connect 16 0 7 0; -#X connect 17 0 7 0; -#X connect 18 0 10 0; -#X connect 19 0 18 0; -#X connect 20 0 7 0; -#X connect 21 0 22 0; -#X connect 22 0 26 0; -#X connect 22 1 23 0; -#X connect 24 0 22 0; -#X connect 25 0 22 0; +#X text 35 419 Play file from disk; +#X obj 15 177 tabplay~ player-table-1; +#X msg 13 46 read voice.wav player-table-1; +#X msg 57 479 open voice.wav; +#X obj 215 176 r playme; +#X connect 0 0 26 0; +#X connect 7 0 11 0; +#X connect 8 0 7 1; +#X connect 9 0 8 0; +#X connect 11 0 6 0; +#X connect 12 0 25 0; +#X connect 13 0 25 0; +#X connect 14 0 25 0; +#X connect 15 0 25 0; +#X connect 16 0 8 0; +#X connect 17 0 16 0; +#X connect 18 0 25 0; +#X connect 19 0 23 0; +#X connect 19 1 20 0; +#X connect 21 0 19 0; +#X connect 22 0 19 0; +#X connect 25 0 7 0; +#X connect 26 0 1 0; +#X connect 27 0 19 0; +#X connect 28 0 12 0; #X restore 58 433 pd play_soundfile; #X text 40 400 File Playback; +#X obj 939 672 dac~; +#X text 847 194 microphone; +#X obj 940 245 channel; +#N canvas 0 23 914 497 stuff 0; +#X text 868 46 WELCOME TO THE MASHEEN; +#X text 822 104 Today we're going to learn some techniques to make +more interesting sounds; +#X text 822 167 Not that our; +#X obj 916 167 osc~ 440; +#X text 989 167 isn't super interesting...; +#X text 1186 168 (even spelled correctly); +#X text 825 237 But we need a few more skillz to fall back on if our +goal is to make some good music \, no?; +#X text 823 309 I thought so; +#X text 824 465 That aside...; +#X text 824 507 I should probably get started now... thanks Pink Floyd +for the dramatic intro.; +#X text 828 578 https://www.youtube.com/watch?v=lt-udg9zQSE; +#X text 826 369 On our left we see a bunch of pd modules \; these are +actually all in the MASHEEN project \, available in the hamilr4.pd +patch; +#X text 927 404 comment; +#X restore 1857 1102 pd stuff; +#X text 75 367 "Run Like Hell" - Pink Floyd; +#X obj 939 193 adc~; +#X connect 26 0 24 0; +#X connect 26 1 24 1; #X restore 234 288 pd more_sounds; -#N canvas 0 23 450 300 more_control 0; -#N canvas 932 23 405 432 keyboard-input 0; -#X obj 57 62 key; -#X floatatom 57 90 3 0 0 0 - - -; -#X floatatom 96 88 3 0 0 0 - - -; -#X obj 96 62 keyup; -#X floatatom 147 88 3 0 0 0 - - -; -#X obj 147 62 keyname; -#X symbolatom 191 89 10 0 0 0 - - -; -#X text -16 -75 Key and keyup report the (system dependent) numbers -of "printing" keys of the keyboard. Keyname gives the symbolic name -of the key \, with a 1 or 0 if it's up or down \, and works with non-printing +#N canvas 501 23 1418 992 more_control 0; +#N canvas 545 23 1259 1129 keyboard-input 0; +#X obj 121 157 key; +#X floatatom 121 185 3 0 0 0 - - -; +#X floatatom 160 183 3 0 0 0 - - -; +#X obj 160 157 keyup; +#X floatatom 211 183 3 0 0 0 - - -; +#X obj 211 157 keyname; +#X symbolatom 257 184 10 0 0 0 - - -; +#X text 48 20 Key and keyup report the (system dependent) numbers of +"printing" keys of the keyboard. Keyname gives the symbolic name of +the key \, with a 1 or 0 if it's up or down \, and works with non-printing keys like shift or "F1".; -#X text -24 -8 Caveat -- this only works if Pd actually gets the key +#X text 40 87 Caveat -- this only works if Pd actually gets the key events which can depend on the stacking order of windows and/or the pointer location \, depending on the system.; -#X obj -12 252 select 97; -#X obj -12 283 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 57 253 select 115; -#X obj 57 281 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 57 128 s keypress; -#X obj 58 166 r keypress; -#X obj 58 204 select 119; -#X obj 58 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X obj 52 318 select 97; +#X obj 52 349 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 133 281 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 121 318 select 115; +#X obj 121 346 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 273 318 select 119; +#X obj 273 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 197 346 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 197 318 select 100; +#X text 49 400 ASCII - different on different operating systems; +#X obj 53 379 s playme; +#X obj 160 215 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 121 215 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 133 253 select 100; +#X text 337 185 symbol; #X connect 0 0 1 0; #X connect 1 0 13 0; +#X connect 1 0 9 0; +#X connect 1 0 16 0; +#X connect 1 0 11 0; +#X connect 1 0 20 0; +#X connect 2 0 19 0; #X connect 3 0 2 0; #X connect 5 0 4 0; #X connect 5 1 6 0; #X connect 9 0 10 0; #X connect 11 0 12 0; -#X connect 14 0 9 0; -#X connect 14 0 11 0; -#X connect 14 0 15 0; -#X connect 14 0 18 0; -#X connect 15 0 16 0; -#X connect 18 0 17 0; -#X restore 70 54 pd keyboard-input; +#X connect 13 0 14 0; +#X connect 16 0 15 0; +#X restore 69 65 pd keyboard-input; #N canvas 309 359 632 605 sequences 0; #X obj 79 59 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 ; @@ -1531,7 +1658,53 @@ pointer location \, depending on the system.; #X connect 11 0 6 0; #X connect 11 0 13 0; #X restore 70 32 pd sequences; -#X restore 227 331 pd more_control; +#X obj 69 121 keycontrol hamilr4; +#X text 215 117 Put your username here to send all keystroke messages +to your [r username_control] receive; +#X obj 68 175 receive hamilr4_control; +#X obj 68 238 list trim; +#X msg 68 259 hamilr4 key 1 Meta_L 0; +#X obj 68 217 list prepend set; +#X obj 66 359 mouse_osx; +#X text 33 330 MOUSE CONTROLLER - OSX VERSION; +#X text 36 102 KEYBOARD CONTROLLER; +#X obj 366 216 route hamilr4 obamab; +#X obj 325 245 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 68 288 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 366 193 list trim; +#X obj 443 264 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 366 239 route key; +#X obj 290 285 print; +#X obj 366 285 unpack f s f; +#X floatatom 366 322 5 0 0 0 - - -; +#X symbolatom 407 323 10 0 0 0 - - -; +#X floatatom 447 349 5 0 0 0 - - -; +#X obj 447 371 mtof; +#X floatatom 447 394 5 0 0 0 - - -; +#X obj 447 420 osc~; +#X obj 447 443 throw~ hamilr4_audio_1; +#X text 31 410 HIDIO; +#X connect 4 0 7 0; +#X connect 4 0 14 0; +#X connect 5 0 6 0; +#X connect 6 0 13 0; +#X connect 7 0 5 0; +#X connect 11 0 12 0; +#X connect 11 0 16 0; +#X connect 11 1 15 0; +#X connect 14 0 11 0; +#X connect 16 0 17 0; +#X connect 16 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 20 0; +#X connect 18 2 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X restore 227 332 pd more_control; #N canvas 0 23 450 300 more_structure 0; #X obj 28 50 hamilr4_etude_1 one 2 three; #X obj 83 156 s bartoa_mute; diff --git a/keycontrol.pd b/keycontrol.pd new file mode 100644 index 0000000..92053ce --- /dev/null +++ b/keycontrol.pd @@ -0,0 +1,30 @@ +#N canvas 531 255 592 357 12; +#X obj 217 82 key; +#X floatatom 217 108 5 0 0 0 - - -; +#X obj 172 82 keyup; +#X floatatom 172 108 5 0 0 0 - - -; +#X obj 45 81 keyname; +#X text 293 80 key: 119 keyname_s: symbol w keyname: 1 keyup: 119 keyname_s: +symbol w keyname: 0; +#X obj 104 141 pack f s; +#X obj 104 177 list append; +#X obj 104 208 list prepend key; +#X obj 104 236 list prepend \$1; +#X obj 104 262 s \$1_control; +#X symbolatom 91 107 10 0 0 0 - - -; +#X floatatom 45 107 5 0 0 0 - - -; +#X text 28 37 SEND KEYSTROKE DATA TO EACH USER'S UNIQUE SEND; +#X obj 53 262 outlet; +#X connect 0 0 1 0; +#X connect 1 0 7 1; +#X connect 2 0 3 0; +#X connect 3 0 7 1; +#X connect 4 0 12 0; +#X connect 4 1 11 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 0 14 0; +#X connect 11 0 6 1; +#X connect 12 0 6 0; diff --git a/mixer.pd b/mixer.pd index d5f24e9..62fdfe8 100644 --- a/mixer.pd +++ b/mixer.pd @@ -209,7 +209,7 @@ #X connect 39 0 79 0; #X connect 40 0 81 0; #X connect 41 0 83 0; -#X restore 809 491 pd submixer................................................. +#X restore 1414 605 pd submixer................................................. ; #N canvas 0 23 838 530 submixer_busses 0; #X obj 1003 417 throw~ main_out_left; @@ -282,6 +282,8 @@ bus; #X obj 710 252 catch~ channel_11_R; #X text 870 39 DEPRECATED: Simple hard-coded left/right channel routing to stereo bus; +#X obj 588 62 catch~ channel_21_R; +#X obj 218 62 catch~ channel_21_L; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 4 0 0 0; @@ -342,7 +344,9 @@ to stereo bus; #X connect 64 0 46 0; #X connect 65 0 44 0; #X connect 66 0 46 0; -#X restore 809 512 pd submixer_busses; +#X connect 68 0 44 0; +#X connect 69 0 45 0; +#X restore 1414 626 pd submixer_busses; #X obj 1162 -284 catch~ smithd32_audio_1; #X text 118 331 hamilr4; #X text 34 331 bartoa; diff --git a/mouse_osx.pd b/mouse_osx.pd new file mode 100644 index 0000000..baa9f75 --- /dev/null +++ b/mouse_osx.pd @@ -0,0 +1,69 @@ +#N canvas 0 23 775 456 12; +#X declare -lib Gem; +#X obj 68 57 Gem; +#X text 103 58 Having the Gem object here instantiates the Gem library. +; +#X obj 65 236 gemmouse; +#X floatatom 65 361 9 0 0 1 X-position - -; +#X floatatom 76 339 8 0 0 1 Y-position - -; +#X floatatom 87 317 2 0 0 1 left-Button - -; +#X floatatom 98 296 2 0 0 1 middle-Button - -; +#X floatatom 110 272 2 0 0 1 right-Button - -; +#X floatatom 231 278 9 0 0 1 X-position - -; +#X floatatom 248 256 8 0 0 1 Y-position - -; +#X obj 231 232 gemmouse 1 1; +#X obj 230 329 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#N canvas 589 352 498 353 follow_mouse 0; +#X obj 112 29 inlet; +#X obj 168 74 * 8; +#X obj 168 97 - 4; +#X obj 168 31 inlet; +#X obj 112 129 gemhead; +#X obj 112 189 translateXYZ; +#X obj 112 217 colorRGB 1 0 0; +#X obj 112 242 square 0.25; +#X obj 214 139 - 4; +#X obj 214 33 inlet; +#X text 253 76 invert y; +#X obj 214 116 * 8; +#X msg 214 57 1 \$1; +#X obj 214 81 -; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 5 1; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 8 0 5 2; +#X connect 9 0 12 0; +#X connect 11 0 8 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X restore 230 352 pd follow_mouse; +#X text 63 175 Ggemmouse tracks mouse position within the Gem window +when a button is pressed.; +#X msg 68 124 create; +#X text 64 103 Create window:; +#X msg 119 124 destroy; +#X obj 507 58 declare -lib Gem; +#X obj 68 157 gemwin; +#X obj 468 293 osc~; +#X obj 467 357 throw~ hamilr4_audio_1; +#X obj 528 263 osc~; +#X obj 527 327 throw~ hamilr4_audio_1; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 5 0; +#X connect 2 3 6 0; +#X connect 2 4 7 0; +#X connect 3 0 19 0; +#X connect 4 0 21 0; +#X connect 8 0 12 1; +#X connect 9 0 12 2; +#X connect 10 0 8 0; +#X connect 10 1 9 0; +#X connect 11 0 12 0; +#X connect 14 0 18 0; +#X connect 16 0 18 0; diff --git a/mycounter.pd b/mycounter.pd index 0ac6615..9a99bc3 100755 --- a/mycounter.pd +++ b/mycounter.pd @@ -1,4 +1,4 @@ -#N canvas -32 133 1092 802 12; +#N canvas 0 133 1092 802 12; #X obj 39 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 117 156 + 1; @@ -7,6 +7,7 @@ #X obj 39 44 inlet; #X obj 39 216 outlet; #X obj 39 83 metro 500; +#X obj 161 43 inlet; #X connect 0 0 2 0; #X connect 1 0 2 1; #X connect 2 0 3 0; @@ -14,3 +15,4 @@ #X connect 3 0 5 0; #X connect 4 0 6 0; #X connect 6 0 0 0; +#X connect 7 0 0 0; diff --git a/switcher~.pd b/switcher~.pd new file mode 100644 index 0000000..37324d0 --- /dev/null +++ b/switcher~.pd @@ -0,0 +1,23 @@ +#N canvas 0 23 450 300 12; +#X obj 70 51 inlet~; +#X obj 127 51 inlet; +#X obj 70 202 *~; +#X obj 70 226 outlet~; +#X obj 208 90 expr 1 - $f1; +#X obj 140 202 *~; +#X obj 140 226 outlet~; +#X obj 208 141 line~; +#X obj 127 141 line~; +#X msg 208 117 \$1 20; +#X msg 127 116 \$1 20; +#X connect 0 0 2 0; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 1 0 10 0; +#X connect 2 0 3 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 7 0 5 1; +#X connect 8 0 2 1; +#X connect 9 0 7 0; +#X connect 10 0 8 0; diff --git a/utilities.pd b/utilities.pd index efad11a..d7dda0c 100644 --- a/utilities.pd +++ b/utilities.pd @@ -1,4 +1,4 @@ -#N canvas 0 23 737 285 12; +#N canvas 0 23 777 652 12; #X msg 235 77 60000 \$1; #X obj 235 101 /; #X floatatom 235 125 10 0 0 0 - - -; @@ -13,6 +13,19 @@ #X floatatom 513 157 5 0 0 0 - - -; #X floatatom 513 73 5 0 0 0 - - -; #X text 555 158 ms; +#X text 273 241 Put your username here to send all keystroke messages +to your [r username_control] receive; +#X obj 57 362 list trim; +#X msg 57 383 your_username_here key 1 Meta_L 0; +#X obj 57 341 list prepend set; +#X obj 58 245 keycontrol your_username_here; +#X obj 57 299 receive your_username_here_control; +#X text 22 209 KEYBOARD CONTROLLER - THIS GOES INTO YOUR SUBPATCHES +; +#X obj 59 484 mouse_osx; +#X text 26 455 MOUSE CONTROLLER - OSX VERSION; +#X text 25 542 MOUSE CONTROLLER - WINDOWS (use the "hidio" external) +; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 0 0; @@ -21,3 +34,6 @@ #X connect 5 0 6 0; #X connect 10 0 11 0; #X connect 12 0 10 0; +#X connect 15 0 16 0; +#X connect 17 0 15 0; +#X connect 19 0 17 0; diff --git a/welcome.jpg b/welcome.jpg new file mode 100644 index 0000000..14ae758 Binary files /dev/null and b/welcome.jpg differ diff --git a/zhuy16.pd b/zhuy16.pd index 5e79292..8395f50 100755 --- a/zhuy16.pd +++ b/zhuy16.pd @@ -1,5 +1,4 @@ #N canvas 276 66 1302 858 12; -#X obj 443 482 dac~; #X obj 422 78 mycounter; #X obj 421 52 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; @@ -23,11 +22,9 @@ #X msg 505 296 146.8; #X obj 551 347 osc~; #X obj 551 391 *~ 0.1; -#X msg 614 377 0; -#X msg 614 396 0.2; +#X msg 614 369 0; #X msg 447 232 246.9; #X msg 398 232 164.8; -#X msg 370 380 0.3; #X obj 352 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 352 157 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 @@ -44,45 +41,59 @@ #X obj 424 175 select 0 1 2 3 4 5, f 19; #X text 13 50 Julia florida~; #X text 14 82 LEFT RIGHT; -#X text 59 82 F#3 -- B 3 | G3 -- B3 D3 B2 -- | E3 C#3 --; -#X connect 1 0 3 0; -#X connect 2 0 1 0; -#X connect 3 0 34 0; -#X connect 4 0 35 0; -#X connect 5 0 0 0; -#X connect 6 0 5 1; +#X text 16 119 F#3 -- B 3 | G3 -- B3 D3 B2 -- | E3 C#3 --; +#X obj 325 41 inlet; +#X obj 379 534 outlet~; +#X obj 446 534 outlet; +#X obj 443 482 *~ 1; +#X obj 386 326 loadbang; +#X msg 370 380 0.6; +#X msg 614 396 0.4; +#X obj 264 38 inlet~; +#X obj 482 47 r zhuy16_tempo; +#X obj 500 514 throw~ zhuy16_audio_1; +#X obj 730 425 osc~ 440; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 31 0; +#X connect 3 0 32 0; +#X connect 4 0 39 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; #X connect 7 0 8 0; -#X connect 8 0 9 0; +#X connect 9 0 10 0; #X connect 10 0 11 0; -#X connect 11 0 12 0; -#X connect 14 0 5 0; -#X connect 15 0 14 0; -#X connect 16 0 21 0; -#X connect 17 0 14 0; -#X connect 18 0 21 0; -#X connect 19 0 21 0; +#X connect 13 0 4 0; +#X connect 14 0 13 0; +#X connect 15 0 20 0; +#X connect 16 0 13 0; +#X connect 17 0 20 0; +#X connect 18 0 20 0; +#X connect 19 0 20 0; #X connect 20 0 21 0; -#X connect 21 0 22 0; -#X connect 22 0 0 1; -#X connect 22 0 0 0; -#X connect 23 0 22 1; -#X connect 24 0 22 1; -#X connect 25 0 14 0; -#X connect 26 0 14 0; -#X connect 27 0 5 1; -#X connect 34 0 4 0; -#X connect 35 0 14 0; -#X connect 35 0 15 0; -#X connect 35 0 20 0; -#X connect 35 0 28 0; -#X connect 35 1 16 0; -#X connect 35 1 29 0; -#X connect 35 2 17 0; -#X connect 35 2 30 0; -#X connect 35 3 18 0; -#X connect 35 3 31 0; -#X connect 35 3 26 0; -#X connect 35 4 19 0; -#X connect 35 4 32 0; -#X connect 35 5 33 0; -#X connect 35 5 25 0; +#X connect 21 0 39 0; +#X connect 22 0 21 1; +#X connect 23 0 13 0; +#X connect 24 0 13 0; +#X connect 31 0 3 0; +#X connect 32 0 14 0; +#X connect 32 0 19 0; +#X connect 32 0 25 0; +#X connect 32 1 15 0; +#X connect 32 1 26 0; +#X connect 32 2 16 0; +#X connect 32 2 27 0; +#X connect 32 3 17 0; +#X connect 32 3 28 0; +#X connect 32 3 24 0; +#X connect 32 4 18 0; +#X connect 32 4 29 0; +#X connect 32 5 30 0; +#X connect 32 5 23 0; +#X connect 39 0 37 0; +#X connect 39 0 45 0; +#X connect 40 0 41 0; +#X connect 40 0 42 0; +#X connect 41 0 4 1; +#X connect 42 0 21 1; +#X connect 44 0 0 1;