├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE.txt ├── README.md ├── _main.pd ├── abs ├── combdelay.pd ├── combdelay~.pd ├── cylinder.pd ├── grain~.pd ├── impulse~.pd ├── modalpoly~.pd ├── mode.pd ├── particle.pd ├── randomizer.pd ├── randrange.pd ├── setresonance.pd └── string~.pd ├── audio ├── Piano-D2.aiff ├── chopstick.aiff ├── medmallet.aiff └── spoon.aiff ├── blow.pd ├── blow~.pd ├── bow.pd ├── bow~.pd ├── modal.pd ├── modal~.pd ├── output~.pd ├── pluck.pd ├── pluck~.pd ├── presets ├── agogo.txt ├── coffeemug.txt ├── marimba.txt ├── marimba2.txt ├── marimba3.txt ├── modes.txt ├── reso.txt ├── vibraphone.txt ├── wood1.txt └── wood2.txt ├── shake.pd └── shake~.pd /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: jeremymuller 2 | custom: "https://paypal.me/jeremysmuller" 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 jeremymuller 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Parametric Synthesis 2 | 3 | Parametric synths in Pure Data based on Perry Cook & Gary Scavone's Synthesis Toolkit ([STK](https://ccrma.stanford.edu/software/stk/)). 4 | 5 | There are two versions of the patches: 6 | 1. As an abstraction to be used as an object in your patch. 7 | 2. As a GUI specifically designed to be used with [AUTOMATONISM](https://www.automatonism.com/) 8 | 9 | **All inlets take input ranges from 0-127 in order to work nicely with MIDI. The left-most inlets can also take 'init' and 'rand' messages to set initial values or randomize, respectively.** 10 | 11 | * blow~ inlets: pressure, pitch, noise 12 | 13 | * bow~ inlets: pitch, _bow velocity_, bow pressure, bow position, noise 14 | _bow velocity_ = anything above 64 is one bowing direction while anything below 64 is the opposite direction. 15 | 16 | * modal~ inlets: 17 | 18 | * pluck~ inlets: `bang`/pitch/`double` string/`single` string, velocity, pick sound, position, dampening 19 | 20 | * shake~ inlets: 21 | -------------------------------------------------------------------------------- /_main.pd: -------------------------------------------------------------------------------- 1 | #N canvas 271 51 941 752 10; 2 | #X obj 291 183 noise~; 3 | #X obj 291 264 *~; 4 | #X obj 316 230 line~; 5 | #X msg 316 209 4 \, 0 1; 6 | #X obj 474 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 7 | 1; 8 | #X obj 474 103 metro 200; 9 | #X obj 157 562 output~; 10 | #X obj 516 63 hsl 128 15 50 500 0 0 empty empty empty -2 -8 0 10 -262144 11 | -1 -1 0 0; 12 | #X floatatom 513 83 5 0 0 0 - - -; 13 | #X obj 474 189 random 1000; 14 | #X obj 474 210 / 1000; 15 | #X obj 474 252 sig~; 16 | #X obj 474 231 * 0.2; 17 | #X obj 291 502 rev3~ 85 90; 18 | #X obj 291 296 pluck; 19 | #X obj 68 92 modal~; 20 | #X obj 37 308 shake~; 21 | #X obj 37 329 output~; 22 | #X obj 597 120 shake; 23 | #X obj 597 275 output~; 24 | #X obj 758 8 noise~; 25 | #X obj 758 89 *~; 26 | #X obj 783 55 line~; 27 | #X msg 783 34 4 \, 0 1; 28 | #X floatatom 46 223 5 0 0 0 - - -; 29 | #X floatatom 100 257 5 0 0 0 - - -; 30 | #X obj 134 75 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 31 | -1 -1 0 1; 32 | #X obj 184 83 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 33 | -1 -1 0 1; 34 | #X connect 0 0 1 0; 35 | #X connect 1 0 14 0; 36 | #X connect 2 0 1 1; 37 | #X connect 3 0 2 0; 38 | #X connect 4 0 5 0; 39 | #X connect 5 0 3 0; 40 | #X connect 5 0 9 0; 41 | #X connect 7 0 5 1; 42 | #X connect 7 0 8 0; 43 | #X connect 9 0 10 0; 44 | #X connect 10 0 12 0; 45 | #X connect 11 0 14 1; 46 | #X connect 12 0 11 0; 47 | #X connect 13 0 6 0; 48 | #X connect 13 1 6 1; 49 | #X connect 14 0 13 0; 50 | #X connect 14 0 13 1; 51 | #X connect 14 0 6 0; 52 | #X connect 14 0 6 1; 53 | #X connect 16 0 17 0; 54 | #X connect 16 0 17 1; 55 | #X connect 18 0 19 0; 56 | #X connect 18 0 19 1; 57 | #X connect 20 0 21 0; 58 | #X connect 21 0 18 0; 59 | #X connect 22 0 21 1; 60 | #X connect 23 0 22 0; 61 | #X connect 24 0 16 0; 62 | #X connect 25 0 16 1; 63 | #X connect 26 0 24 0; 64 | #X connect 27 0 25 0; 65 | #X coords 0 752 1 751 200 100 0; 66 | -------------------------------------------------------------------------------- /abs/combdelay.pd: -------------------------------------------------------------------------------- 1 | #N canvas 706 182 518 436 10; 2 | #X obj 74 21 inlet~; 3 | #X obj 74 283 delwrite~ \$0-del 100; 4 | #X obj 184 178 vd~ \$0-del; 5 | #X obj 184 372 outlet~; 6 | #X obj 184 43 expr 1000 / $f1; 7 | #X obj 184 125 sig~; 8 | #X obj 184 147 lop~ 70; 9 | #X obj 328 204 block~ 1; 10 | #X obj 324 21 inlet pluck position; 11 | #X obj 324 43 * 0.5; 12 | #X obj 184 21 inlet freq; 13 | #X obj 184 65 *; 14 | #X connect 0 0 1 0; 15 | #X connect 2 0 3 0; 16 | #X connect 4 0 11 0; 17 | #X connect 5 0 6 0; 18 | #X connect 6 0 2 0; 19 | #X connect 8 0 9 0; 20 | #X connect 9 0 11 1; 21 | #X connect 10 0 4 0; 22 | #X connect 11 0 5 0; 23 | -------------------------------------------------------------------------------- /abs/combdelay~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 839 267 518 436 10; 2 | #X obj 74 21 inlet~; 3 | #X obj 74 283 delwrite~ \$0-del 100; 4 | #X obj 184 228 vd~ \$0-del; 5 | #X obj 184 372 outlet~; 6 | #X obj 184 197 lop~ 70; 7 | #X obj 328 204 block~ 1; 8 | #X obj 184 175 *~; 9 | #X obj 324 63 *~ 0.5; 10 | #X obj 324 21 inlet~ pluck position; 11 | #X obj 199 21 inlet~ freq; 12 | #X obj 184 107 sig~ 1000; 13 | #X obj 184 128 /~; 14 | #X connect 0 0 1 0; 15 | #X connect 2 0 3 0; 16 | #X connect 4 0 2 0; 17 | #X connect 6 0 4 0; 18 | #X connect 7 0 6 1; 19 | #X connect 8 0 7 0; 20 | #X connect 9 0 11 1; 21 | #X connect 10 0 11 0; 22 | #X connect 11 0 6 0; 23 | -------------------------------------------------------------------------------- /abs/cylinder.pd: -------------------------------------------------------------------------------- 1 | #N canvas 142 253 556 507 10; 2 | #X obj 239 48 inlet~; 3 | #X obj 182 395 delwrite~ \$0-tube 100; 4 | #X obj 307 191 vd~ \$0-tube; 5 | #X obj 307 53 inlet frequency; 6 | #X obj 307 169 lop~ 70; 7 | #X obj 35 51 block~ 1; 8 | #X floatatom 347 147 5 0 0 0 - - -; 9 | #X obj 307 213 rzero~ -1; 10 | #X obj 307 235 *~ 0.5; 11 | #X obj 327 279 outlet~; 12 | #N canvas 163 165 443 263 reedtable 0; 13 | #X obj 23 62 inlet~ deltaV; 14 | #X obj 23 232 outlet~; 15 | #X obj 23 144 *~ -0.3; 16 | #X obj 23 166 +~ 0.7; 17 | #X obj 23 188 min~ 1; 18 | #X obj 23 210 max~ -1; 19 | #X text 75 145 < slope; 20 | #X text 74 162 < offset; 21 | #X obj 187 50 * 0.0078125; 22 | #X obj 187 71 * 0.26; 23 | #X obj 187 92 - 0.44; 24 | #X floatatom 187 113 5 0 0 0 - - -; 25 | #X obj 187 29 r \$0-slope-rec; 26 | #X connect 0 0 2 0; 27 | #X connect 2 0 3 0; 28 | #X connect 3 0 4 0; 29 | #X connect 4 0 5 0; 30 | #X connect 5 0 1 0; 31 | #X connect 8 0 9 0; 32 | #X connect 9 0 10 0; 33 | #X connect 10 0 11 0; 34 | #X connect 11 0 2 1; 35 | #X connect 12 0 8 0; 36 | #X restore 182 329 pd reedtable; 37 | #X obj 239 285 *~ 1; 38 | #X obj 182 307 -~; 39 | #X obj 182 351 *~; 40 | #X obj 182 373 +~; 41 | #X obj 307 75 expr 500 / $f1; 42 | #X obj 307 257 *~ -0.95; 43 | #X msg 307 96 \$1 200; 44 | #X obj 307 117 line~; 45 | #X connect 0 0 11 0; 46 | #X connect 2 0 7 0; 47 | #X connect 3 0 15 0; 48 | #X connect 4 0 2 0; 49 | #X connect 7 0 8 0; 50 | #X connect 8 0 16 0; 51 | #X connect 10 0 13 0; 52 | #X connect 11 0 12 1; 53 | #X connect 11 0 14 1; 54 | #X connect 12 0 10 0; 55 | #X connect 12 0 13 1; 56 | #X connect 13 0 14 0; 57 | #X connect 14 0 1 0; 58 | #X connect 15 0 6 0; 59 | #X connect 15 0 17 0; 60 | #X connect 16 0 9 0; 61 | #X connect 16 0 12 0; 62 | #X connect 17 0 18 0; 63 | #X connect 18 0 4 0; 64 | -------------------------------------------------------------------------------- /abs/grain~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 165 66 727 682 10; 2 | #N canvas 154 285 450 300 pan 0; 3 | #X obj 62 39 inlet~; 4 | #X obj 62 201 *~; 5 | #X obj 142 201 *~; 6 | #X obj 62 223 outlet~; 7 | #X obj 142 223 outlet~; 8 | #X obj 77 158 sqrt~; 9 | #X obj 172 58 sig~; 10 | #X obj 157 114 sig~ 1; 11 | #X obj 157 136 -~; 12 | #X obj 157 158 sqrt~; 13 | #X obj 172 36 inlet panning; 14 | #X obj 172 80 lop~ 50; 15 | #X connect 0 0 1 0; 16 | #X connect 0 0 2 0; 17 | #X connect 1 0 3 0; 18 | #X connect 2 0 4 0; 19 | #X connect 5 0 1 1; 20 | #X connect 6 0 11 0; 21 | #X connect 7 0 8 0; 22 | #X connect 8 0 9 0; 23 | #X connect 9 0 2 1; 24 | #X connect 10 0 6 0; 25 | #X connect 11 0 5 0; 26 | #X connect 11 0 8 1; 27 | #X restore 187 505 pd pan; 28 | #X floatatom 220 485 5 0 0 0 - - -; 29 | #X obj 202 295 line~; 30 | #X obj 187 399 *~; 31 | #N canvas 0 23 876 394 env 0; 32 | #X obj 84 57 inlet duration; 33 | #X obj 184 57 inlet amp; 34 | #X obj 84 219 outlet~; 35 | #X obj 420 224 * 0.5; 36 | #X msg 420 246 0 \, 1 \$1 \, 0 \$1 \$1; 37 | #X obj 420 268 vline~; 38 | #X obj 420 290 expr~ pow($v1 \, $f2); 39 | #X obj 579 259 loadbang; 40 | #X msg 579 281 0.5; 41 | #X obj 420 312 *~; 42 | #X text 465 226 dur/2; 43 | #X text 609 281 < Later \, add slope parameter if desired; 44 | #X obj 84 77 t f b; 45 | #X msg 54 99 0; 46 | #X obj 84 121 line~; 47 | #X msg 84 99 1 \$1; 48 | #X obj 84 143 *~ 2048; 49 | #X text 138 144 window size; 50 | #X obj 84 165 tabread4~ envelope; 51 | #X obj 84 187 *~; 52 | #X text 121 98 dur; 53 | #X connect 0 0 12 0; 54 | #X connect 1 0 19 1; 55 | #X connect 3 0 4 0; 56 | #X connect 4 0 5 0; 57 | #X connect 5 0 6 0; 58 | #X connect 6 0 9 0; 59 | #X connect 7 0 8 0; 60 | #X connect 8 0 6 1; 61 | #X connect 12 0 15 0; 62 | #X connect 12 1 13 0; 63 | #X connect 13 0 14 0; 64 | #X connect 14 0 16 0; 65 | #X connect 15 0 14 0; 66 | #X connect 16 0 18 0; 67 | #X connect 18 0 19 0; 68 | #X connect 19 0 2 0; 69 | #X restore 157 343 pd env; 70 | #X floatatom 157 203 5 0 0 2 start - -; 71 | #X floatatom 214 203 5 0 0 2 duration - -; 72 | #N canvas 58 405 450 300 samples 0; 73 | #X obj 89 46 inlet start; 74 | #X obj 179 46 inlet duration; 75 | #X obj 89 198 pack f f f; 76 | #X obj 89 220 outlet; 77 | #X obj 89 148 t f f; 78 | #N canvas 0 22 344 358 transposition 0; 79 | #X obj 87 119 / 12; 80 | #X obj 99 206 pow; 81 | #X obj 87 143 t b f; 82 | #X msg 87 166 2; 83 | #X obj 99 256 outlet; 84 | #X obj 138 210 * 44.1; 85 | #X obj 99 234 * 44100; 86 | #X obj 87 89 f; 87 | #X obj 212 89 t b f; 88 | #X obj 212 67 inlet duration; 89 | #X obj 102 67 r \$0-trans; 90 | #X text 67 19 transposes the sample by # of halfsteps; 91 | #X connect 0 0 2 0; 92 | #X connect 1 0 6 0; 93 | #X connect 2 0 3 0; 94 | #X connect 2 1 1 1; 95 | #X connect 3 0 1 0; 96 | #X connect 5 0 6 1; 97 | #X connect 6 0 4 0; 98 | #X connect 7 0 0 0; 99 | #X connect 8 0 7 0; 100 | #X connect 8 1 5 0; 101 | #X connect 9 0 8 0; 102 | #X connect 10 0 7 1; 103 | #X restore 179 131 pd transposition; 104 | #X obj 117 172 +; 105 | #X connect 0 0 4 0; 106 | #X connect 1 0 2 2; 107 | #X connect 1 0 5 0; 108 | #X connect 2 0 3 0; 109 | #X connect 4 0 2 0; 110 | #X connect 4 1 6 0; 111 | #X connect 5 0 6 1; 112 | #X connect 6 0 2 1; 113 | #X restore 157 222 pd samples; 114 | #X msg 202 273 \$1 \, \$2 \$3; 115 | #X obj 157 319 f; 116 | #X obj 300 485 pack f f f; 117 | #X obj 300 462 f; 118 | #X obj 300 439 t b f; 119 | #X msg 300 517 \$1 \, \$2 \$3; 120 | #X obj 300 539 line; 121 | #X obj 300 64 inlet; 122 | #X obj 300 415 r \$0-dur; 123 | #X obj 321 138 s \$0-dur; 124 | #X obj 214 171 r \$0-dur; 125 | #X obj 157 244 t b a; 126 | #X obj 300 86 t a b; 127 | #X msg 554 103 1; 128 | #X obj 594 53 r \$0-dur; 129 | #X obj 554 155 ==; 130 | #X obj 554 177 sel 1; 131 | #X obj 594 75 t f b; 132 | #X obj 594 97 del; 133 | #X msg 594 119 0; 134 | #X msg 624 119 1; 135 | #X msg 554 199 grain already in use; 136 | #X obj 554 221 print ERROR; 137 | #X text 165 28 name start dur amp trans panStart panEnd; 138 | #X obj 300 116 unpack s f f f f f f; 139 | #X msg 227 326 set \$1; 140 | #X obj 378 138 s \$0-trans; 141 | #X obj 187 421 hip~ 5; 142 | #X obj 187 627 throw~ \$1-outL; 143 | #X obj 287 627 throw~ \$1-outR; 144 | #X obj 202 369 tabread4~ \$1-soundfile; 145 | #X connect 0 0 36 0; 146 | #X connect 0 1 37 0; 147 | #X connect 1 0 0 1; 148 | #X connect 2 0 38 0; 149 | #X connect 3 0 35 0; 150 | #X connect 4 0 3 0; 151 | #X connect 5 0 7 0; 152 | #X connect 6 0 7 1; 153 | #X connect 6 0 9 1; 154 | #X connect 7 0 19 0; 155 | #X connect 8 0 2 0; 156 | #X connect 9 0 4 0; 157 | #X connect 10 0 13 0; 158 | #X connect 11 0 10 0; 159 | #X connect 12 0 11 0; 160 | #X connect 12 1 10 2; 161 | #X connect 13 0 14 0; 162 | #X connect 14 0 1 0; 163 | #X connect 15 0 20 0; 164 | #X connect 16 0 12 0; 165 | #X connect 18 0 6 0; 166 | #X connect 19 0 9 0; 167 | #X connect 19 1 8 0; 168 | #X connect 20 0 32 0; 169 | #X connect 20 1 21 0; 170 | #X connect 21 0 23 0; 171 | #X connect 22 0 25 0; 172 | #X connect 23 0 24 0; 173 | #X connect 24 0 29 0; 174 | #X connect 25 0 26 0; 175 | #X connect 25 1 28 0; 176 | #X connect 26 0 27 0; 177 | #X connect 27 0 23 1; 178 | #X connect 28 0 23 1; 179 | #X connect 29 0 30 0; 180 | #X connect 32 0 33 0; 181 | #X connect 32 1 5 0; 182 | #X connect 32 2 17 0; 183 | #X connect 32 3 4 1; 184 | #X connect 32 4 34 0; 185 | #X connect 32 5 11 1; 186 | #X connect 32 6 10 1; 187 | #X connect 35 0 0 0; 188 | #X connect 38 0 3 1; 189 | -------------------------------------------------------------------------------- /abs/impulse~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 519 55 451 264 10; 2 | #N canvas 0 22 450 278 (subpatch) 0; 3 | #X array \$0-imp 1 float 2; 4 | #X coords 0 1 1 0 50 50 1 0 0; 5 | #X restore 256 49 graph; 6 | #X obj 58 44 inlet bang; 7 | #X obj 58 66 tabplay~ \$0-imp; 8 | #X obj 58 88 outlet~; 9 | #X obj 225 157 loadbang; 10 | #X obj 225 201 s \$0-imp; 11 | #X msg 225 179 0 1; 12 | #X connect 1 0 2 0; 13 | #X connect 2 0 3 0; 14 | #X connect 4 0 6 0; 15 | #X connect 6 0 5 0; 16 | -------------------------------------------------------------------------------- /abs/modalpoly~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 83 106 783 706 10; 2 | #X declare -path presets/; 3 | #N canvas 749 49 464 527 setstrikeposition 0; 4 | #X obj 112 46 inlet; 5 | #X msg 224 98 1; 6 | #X obj 224 120 atan; 7 | #X obj 224 142 * 4; 8 | #X obj 224 74 loadbang; 9 | #X obj 112 178 *; 10 | #X text 263 139 < Pi; 11 | #X floatatom 61 284 5 0 0 0 - - -; 12 | #X obj 61 303 sin; 13 | #X obj 61 325 * 0.12; 14 | #X obj 61 417 pack f f f; 15 | #X obj 112 200 t f f f; 16 | #X obj 61 439 outlet; 17 | #X obj 131 285 * 3.9; 18 | #X obj 131 307 + 0.05; 19 | #X obj 131 329 sin; 20 | #X obj 131 351 * -0.03; 21 | #X obj 225 279 * 11; 22 | #X obj 225 301 + -0.05; 23 | #X obj 225 323 sin; 24 | #X obj 225 345 * 0.11; 25 | #X connect 0 0 5 0; 26 | #X connect 1 0 2 0; 27 | #X connect 2 0 3 0; 28 | #X connect 3 0 5 1; 29 | #X connect 4 0 1 0; 30 | #X connect 5 0 11 0; 31 | #X connect 7 0 8 0; 32 | #X connect 8 0 9 0; 33 | #X connect 9 0 10 0; 34 | #X connect 10 0 12 0; 35 | #X connect 11 0 7 0; 36 | #X connect 11 1 13 0; 37 | #X connect 11 2 17 0; 38 | #X connect 13 0 14 0; 39 | #X connect 14 0 15 0; 40 | #X connect 15 0 16 0; 41 | #X connect 16 0 10 1; 42 | #X connect 17 0 18 0; 43 | #X connect 18 0 19 0; 44 | #X connect 19 0 20 0; 45 | #X connect 20 0 10 2; 46 | #X restore 140 301 pd setstrikeposition; 47 | #X obj 140 259 / 127; 48 | #X floatatom 140 280 5 0 0 0 - - -; 49 | #X obj 336 330 *~ 0; 50 | #X obj 336 309 rpole~; 51 | #X obj 336 351 s~ \$0-imp; 52 | #X obj 379 172 / 127; 53 | #X floatatom 379 193 5 0 0 0 - - -; 54 | #X obj 379 234 -; 55 | #X obj 379 213 swap 1; 56 | #X obj 89 444 outlet~; 57 | #X obj 336 271 catch~ \$0-exciter; 58 | #X obj 224 189 s \$0-pitch; 59 | #X obj 140 322 unpack f f f; 60 | #X obj 575 111 declare -path presets/; 61 | #X text 505 70 SINGLE INSTANCE OF MODAL SYNTH; 62 | #X obj 379 151 r \$1-velocity; 63 | #X obj 235 424 r \$0-slider-pitch; 64 | #X obj 61 12 inlet; 65 | #X obj 89 343 mode 1 \$0 \$1; 66 | #X obj 89 363 mode 2 \$0 \$1; 67 | #X obj 89 383 mode 3 \$0 \$1; 68 | #X obj 89 403 mode 4 \$0 \$1; 69 | #X obj 89 423 mode 5 \$0 \$1; 70 | #N canvas 646 80 645 666 implement 0; 71 | #X obj 120 72 inlet; 72 | #X obj 120 93 t b f; 73 | #X obj 223 138 s \$0-slider-pitch; 74 | #X obj 44 157 impulse~; 75 | #X obj 79 227 noise~; 76 | #X obj 79 358 *~; 77 | #X obj 94 269 f 1; 78 | #X msg 94 290 0.2 \, 0 \$1; 79 | #X obj 94 311 line~; 80 | #X msg 293 208 511.519; 81 | #X obj 293 309 * 1; 82 | #X obj 109 249 + 1; 83 | #X obj 308 245 / 127; 84 | #X obj 308 266 * 2.5; 85 | #X obj 308 287 max 0.01; 86 | #X msg 293 330 0 \, 225588 \$1; 87 | #X obj 293 351 line~; 88 | #X obj 293 372 tabread4~ \$1-residual; 89 | #X obj 293 393 *~ 1; 90 | #X obj 79 379 *~ 0.2; 91 | #X obj 103 617 throw~ \$0-exciter; 92 | #X obj 157 371 / 127; 93 | #X floatatom 157 392 5 0 0 0 - - -; 94 | #X obj 79 493 *~; 95 | #X obj 293 452 *~; 96 | #X obj 109 442 lop~ 50; 97 | #X obj 308 426 lop~ 50; 98 | #X obj 94 332 *~; 99 | #X obj 94 417 sig~ 1; 100 | #X obj 94 468 -~; 101 | #X obj 157 350 r \$1-mallet-rec; 102 | #X obj 450 131 r \$1-hardness-rec; 103 | #X connect 0 0 1 0; 104 | #X connect 1 0 3 0; 105 | #X connect 1 0 6 0; 106 | #X connect 1 0 9 0; 107 | #X connect 1 1 2 0; 108 | #X connect 4 0 5 0; 109 | #X connect 5 0 19 0; 110 | #X connect 6 0 7 0; 111 | #X connect 7 0 8 0; 112 | #X connect 8 0 27 0; 113 | #X connect 8 0 27 1; 114 | #X connect 9 0 10 0; 115 | #X connect 10 0 15 0; 116 | #X connect 11 0 6 1; 117 | #X connect 12 0 13 0; 118 | #X connect 13 0 14 0; 119 | #X connect 14 0 10 1; 120 | #X connect 15 0 16 0; 121 | #X connect 16 0 17 0; 122 | #X connect 17 0 18 0; 123 | #X connect 18 0 24 0; 124 | #X connect 19 0 23 0; 125 | #X connect 21 0 22 0; 126 | #X connect 22 0 25 0; 127 | #X connect 22 0 26 0; 128 | #X connect 23 0 20 0; 129 | #X connect 24 0 20 0; 130 | #X connect 25 0 29 1; 131 | #X connect 26 0 24 1; 132 | #X connect 27 0 5 1; 133 | #X connect 28 0 29 0; 134 | #X connect 29 0 23 1; 135 | #X connect 30 0 21 0; 136 | #X connect 31 0 11 0; 137 | #X connect 31 0 12 0; 138 | #X restore 61 100 pd implement; 139 | #X obj 140 238 r \$1-position-rec; 140 | #X connect 0 0 13 0; 141 | #X connect 1 0 2 0; 142 | #X connect 2 0 0 0; 143 | #X connect 3 0 5 0; 144 | #X connect 4 0 3 0; 145 | #X connect 6 0 7 0; 146 | #X connect 7 0 9 0; 147 | #X connect 7 0 3 1; 148 | #X connect 8 0 4 1; 149 | #X connect 9 0 8 0; 150 | #X connect 9 1 8 1; 151 | #X connect 11 0 4 0; 152 | #X connect 13 0 19 2; 153 | #X connect 13 1 20 2; 154 | #X connect 13 2 21 2; 155 | #X connect 16 0 6 0; 156 | #X connect 17 0 19 1; 157 | #X connect 17 0 20 1; 158 | #X connect 17 0 21 1; 159 | #X connect 17 0 22 1; 160 | #X connect 17 0 23 1; 161 | #X connect 18 0 24 0; 162 | #X connect 19 0 20 0; 163 | #X connect 20 0 21 0; 164 | #X connect 21 0 22 0; 165 | #X connect 22 0 23 0; 166 | #X connect 23 0 10 0; 167 | #X connect 25 0 1 0; 168 | #X coords 0 706 1 705 200 150 0; 169 | -------------------------------------------------------------------------------- /abs/mode.pd: -------------------------------------------------------------------------------- 1 | #N canvas 568 214 640 664 10; 2 | #X obj 108 475 biquad~; 3 | #X obj 176 139 unpack f f f; 4 | #X obj 232 527 *~; 5 | #X obj 462 91 inlet amp; 6 | #X obj 125 190 moses 0; 7 | #X obj 125 211 * -1; 8 | #X obj 143 375 * \$1; 9 | #X obj 108 49 r~ \$2-imp; 10 | #X obj 232 576 +~; 11 | #X obj 232 605 outlet~; 12 | #X obj 351 93 inlet~; 13 | #X obj 41 378 * \$1; 14 | #X obj 41 357 max 0.06; 15 | #X obj 41 335 * 2; 16 | #X obj 41 314 / 127; 17 | #X obj 41 409 spigot; 18 | #X obj 143 419 spigot; 19 | #X obj 143 354 mtof; 20 | #X obj 74 388 < 0; 21 | #X obj 176 398 > 0; 22 | #X obj 86 161 t b b f; 23 | #X obj 247 451 lop~ 80; 24 | #X obj 143 446 setresonance; 25 | #X obj 408 113 * 127; 26 | #X obj 295 203 +, f 5; 27 | #X obj 295 79 change; 28 | #X obj 295 100 t b f; 29 | #X floatatom 295 224 5 0 0 0 - - -; 30 | #X obj 408 92 inlet; 31 | #X msg 41 68 1; 32 | #X obj 41 89 metro 100; 33 | #X obj 41 110 snapshot~; 34 | #X floatatom 41 131 5 0 0 0 - - -; 35 | #X obj 295 50 r \$3-pitch; 36 | #X obj 176 118 r \$3-mode\$1; 37 | #X connect 0 0 2 0; 38 | #X connect 1 0 18 0; 39 | #X connect 1 0 19 0; 40 | #X connect 1 0 20 0; 41 | #X connect 1 1 22 1; 42 | #X connect 1 2 21 0; 43 | #X connect 2 0 8 0; 44 | #X connect 3 0 21 0; 45 | #X connect 4 0 5 0; 46 | #X connect 4 1 6 1; 47 | #X connect 5 0 11 1; 48 | #X connect 6 0 16 0; 49 | #X connect 7 0 0 0; 50 | #X connect 7 0 31 0; 51 | #X connect 8 0 9 0; 52 | #X connect 10 0 8 1; 53 | #X connect 11 0 15 0; 54 | #X connect 12 0 11 0; 55 | #X connect 13 0 12 0; 56 | #X connect 14 0 13 0; 57 | #X connect 15 0 22 0; 58 | #X connect 16 0 22 0; 59 | #X connect 17 0 6 0; 60 | #X connect 18 0 15 1; 61 | #X connect 19 0 16 1; 62 | #X connect 20 0 14 0; 63 | #X connect 20 1 6 0; 64 | #X connect 20 2 4 0; 65 | #X connect 21 0 2 1; 66 | #X connect 22 0 0 0; 67 | #X connect 23 0 24 0; 68 | #X connect 24 0 17 0; 69 | #X connect 24 0 27 0; 70 | #X connect 25 0 26 0; 71 | #X connect 26 0 24 0; 72 | #X connect 26 1 24 1; 73 | #X connect 28 0 23 0; 74 | #X connect 29 0 30 0; 75 | #X connect 30 0 31 0; 76 | #X connect 31 0 32 0; 77 | #X connect 33 0 14 0; 78 | #X connect 33 0 25 0; 79 | #X connect 34 0 1 0; 80 | -------------------------------------------------------------------------------- /abs/particle.pd: -------------------------------------------------------------------------------- 1 | #N canvas 481 71 912 718 10; 2 | #X text 395 338 gains; 3 | #X msg 397 360 1; 4 | #X obj 189 599 setresonance; 5 | #X obj 179 621 biquad~; 6 | #X obj 115 443 *~ 1; 7 | #X text 145 445 bamboo gains; 8 | #X msg 466 381 0.0791812; 9 | #X text 483 365 current gain; 10 | #X obj 115 465 *~ 1; 11 | #X obj 478 333 loadbang; 12 | #X obj 284 264 loadbang; 13 | #N canvas 0 22 450 300 varyfreq 0; 14 | #X obj 122 75 inlet bang; 15 | #X obj 122 97 t b b; 16 | #X obj 122 119 f 2800; 17 | #X obj 181 103 noise~; 18 | #X obj 181 125 snapshot~; 19 | #X obj 181 147 * 0.2; 20 | #X obj 181 169 + 1; 21 | #X obj 122 201 *; 22 | #X obj 122 223 outlet; 23 | #X connect 0 0 1 0; 24 | #X connect 1 0 2 0; 25 | #X connect 1 1 4 0; 26 | #X connect 2 0 7 0; 27 | #X connect 3 0 4 0; 28 | #X connect 4 0 5 0; 29 | #X connect 5 0 6 0; 30 | #X connect 6 0 7 1; 31 | #X connect 7 0 8 0; 32 | #X restore 459 170 pd varyfreq; 33 | #X obj 50 643 outlet~; 34 | #X obj 225 86 inlet; 35 | #X obj 50 97 inlet~; 36 | #X obj 156 121 noise~; 37 | #X obj 156 193 *~; 38 | #X obj 177 171 line~; 39 | #X msg 177 149 \$1 \, 0 1; 40 | #X text 457 143 TODO for later; 41 | #X obj 483 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 42 | -1; 43 | #X obj 459 192 print; 44 | #X obj 225 108 t f b; 45 | #N canvas 0 22 450 300 varyfreq 0; 46 | #X obj 122 75 inlet bang; 47 | #X obj 122 97 t b b; 48 | #X obj 181 103 noise~; 49 | #X obj 181 125 snapshot~; 50 | #X obj 181 147 * 0.2; 51 | #X obj 181 169 + 1; 52 | #X obj 122 201 *; 53 | #X obj 122 223 outlet; 54 | #X obj 122 119 f \$1; 55 | #X connect 0 0 1 0; 56 | #X connect 1 0 8 0; 57 | #X connect 1 1 3 0; 58 | #X connect 2 0 3 0; 59 | #X connect 3 0 4 0; 60 | #X connect 4 0 5 0; 61 | #X connect 5 0 6 1; 62 | #X connect 6 0 7 0; 63 | #X connect 8 0 6 0; 64 | #X restore 169 493 pd varyfreq; 65 | #X text 643 68 radii; 66 | #X msg 644 87 0.96; 67 | #X msg 569 71 3200; 68 | #X obj 169 515 spigot; 69 | #X obj 229 530 f \$1; 70 | #X obj 279 530 f \$2; 71 | #X text 327 34 Arg: 1) frequency \; 2) radius \; 3) vary freq (true 72 | or false); 73 | #X obj 250 359 f \$3; 74 | #X obj 250 381 sel 0; 75 | #X msg 250 403 0; 76 | #X msg 277 423 1; 77 | #X obj 298 581 pack; 78 | #X obj 284 286 t b b; 79 | #X connect 1 0 4 1; 80 | #X connect 2 0 3 0; 81 | #X connect 3 0 12 0; 82 | #X connect 4 0 8 0; 83 | #X connect 6 0 8 1; 84 | #X connect 8 0 3 0; 85 | #X connect 9 0 6 0; 86 | #X connect 10 0 36 0; 87 | #X connect 11 0 21 0; 88 | #X connect 13 0 22 0; 89 | #X connect 14 0 12 0; 90 | #X connect 15 0 16 0; 91 | #X connect 16 0 4 0; 92 | #X connect 17 0 16 1; 93 | #X connect 18 0 17 0; 94 | #X connect 20 0 11 0; 95 | #X connect 22 0 18 0; 96 | #X connect 22 1 23 0; 97 | #X connect 23 0 27 0; 98 | #X connect 27 0 2 0; 99 | #X connect 28 0 2 0; 100 | #X connect 28 0 35 0; 101 | #X connect 29 0 2 1; 102 | #X connect 29 0 35 1; 103 | #X connect 31 0 32 0; 104 | #X connect 32 0 33 0; 105 | #X connect 32 1 34 0; 106 | #X connect 33 0 27 1; 107 | #X connect 34 0 27 1; 108 | #X connect 36 0 28 0; 109 | #X connect 36 1 31 0; 110 | #X connect 36 1 29 0; 111 | -------------------------------------------------------------------------------- /abs/randomizer.pd: -------------------------------------------------------------------------------- 1 | #N canvas 353 378 538 414 10; 2 | #X obj 43 29 inlet bang; 3 | #X obj 86 127 noise~; 4 | #X obj 86 148 snapshot~; 5 | #X obj 86 169 * 0.5; 6 | #X obj 86 190 + 0.5; 7 | #X text 191 53 Args: max max max max max max; 8 | #X obj 98 315 pack f f f f f f; 9 | #X obj 43 50 t b b b b b b; 10 | #X obj 86 211 * \$1; 11 | #X obj 156 127 noise~; 12 | #X obj 156 148 snapshot~; 13 | #X obj 156 169 * 0.5; 14 | #X obj 156 190 + 0.5; 15 | #X obj 226 127 noise~; 16 | #X obj 226 148 snapshot~; 17 | #X obj 226 169 * 0.5; 18 | #X obj 226 190 + 0.5; 19 | #X obj 296 127 noise~; 20 | #X obj 296 148 snapshot~; 21 | #X obj 296 169 * 0.5; 22 | #X obj 296 190 + 0.5; 23 | #X obj 366 127 noise~; 24 | #X obj 366 148 snapshot~; 25 | #X obj 366 169 * 0.5; 26 | #X obj 366 190 + 0.5; 27 | #X obj 436 127 noise~; 28 | #X obj 436 148 snapshot~; 29 | #X obj 436 169 * 0.5; 30 | #X obj 436 190 + 0.5; 31 | #X obj 156 211 * \$2; 32 | #X obj 226 211 * \$3; 33 | #X obj 296 211 * \$4; 34 | #X obj 366 211 * \$5; 35 | #X obj 436 211 * \$6; 36 | #X obj 98 336 outlet; 37 | #X obj 86 232 + 0.5; 38 | #X obj 86 253 int; 39 | #X obj 156 232 + 0.5; 40 | #X obj 156 253 int; 41 | #X obj 226 232 + 0.5; 42 | #X obj 226 253 int; 43 | #X obj 296 232 + 0.5; 44 | #X obj 296 253 int; 45 | #X obj 366 232 + 0.5; 46 | #X obj 366 253 int; 47 | #X obj 436 232 + 0.5; 48 | #X obj 436 253 int; 49 | #X connect 0 0 7 0; 50 | #X connect 1 0 2 0; 51 | #X connect 2 0 3 0; 52 | #X connect 3 0 4 0; 53 | #X connect 4 0 8 0; 54 | #X connect 6 0 34 0; 55 | #X connect 7 0 2 0; 56 | #X connect 7 1 10 0; 57 | #X connect 7 2 14 0; 58 | #X connect 7 3 18 0; 59 | #X connect 7 4 22 0; 60 | #X connect 7 5 26 0; 61 | #X connect 8 0 35 0; 62 | #X connect 9 0 10 0; 63 | #X connect 10 0 11 0; 64 | #X connect 11 0 12 0; 65 | #X connect 12 0 29 0; 66 | #X connect 13 0 14 0; 67 | #X connect 14 0 15 0; 68 | #X connect 15 0 16 0; 69 | #X connect 16 0 30 0; 70 | #X connect 17 0 18 0; 71 | #X connect 18 0 19 0; 72 | #X connect 19 0 20 0; 73 | #X connect 20 0 31 0; 74 | #X connect 21 0 22 0; 75 | #X connect 22 0 23 0; 76 | #X connect 23 0 24 0; 77 | #X connect 24 0 32 0; 78 | #X connect 25 0 26 0; 79 | #X connect 26 0 27 0; 80 | #X connect 27 0 28 0; 81 | #X connect 28 0 33 0; 82 | #X connect 29 0 37 0; 83 | #X connect 30 0 39 0; 84 | #X connect 31 0 41 0; 85 | #X connect 32 0 43 0; 86 | #X connect 33 0 45 0; 87 | #X connect 35 0 36 0; 88 | #X connect 36 0 6 0; 89 | #X connect 37 0 38 0; 90 | #X connect 38 0 6 1; 91 | #X connect 39 0 40 0; 92 | #X connect 40 0 6 2; 93 | #X connect 41 0 42 0; 94 | #X connect 42 0 6 3; 95 | #X connect 43 0 44 0; 96 | #X connect 44 0 6 4; 97 | #X connect 45 0 46 0; 98 | #X connect 46 0 6 5; 99 | -------------------------------------------------------------------------------- /abs/randrange.pd: -------------------------------------------------------------------------------- 1 | #N canvas 128 359 450 300 10; 2 | #X obj 96 76 inlet; 3 | #X obj 96 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 4 | -1; 5 | #X obj 96 118 random; 6 | #X text 198 29 arg: min max; 7 | #X obj 208 80 loadbang; 8 | #X obj 208 102 t b b; 9 | #X obj 208 166 -; 10 | #X obj 245 124 f \$1; 11 | #X obj 208 124 f \$2; 12 | #X obj 96 180 +; 13 | #X obj 96 202 outlet; 14 | #X obj 277 60 inlet min; 15 | #X obj 366 56 inlet max; 16 | #X connect 0 0 1 0; 17 | #X connect 1 0 2 0; 18 | #X connect 2 0 9 0; 19 | #X connect 4 0 5 0; 20 | #X connect 5 0 8 0; 21 | #X connect 5 1 7 0; 22 | #X connect 6 0 2 1; 23 | #X connect 7 0 6 1; 24 | #X connect 7 0 9 1; 25 | #X connect 8 0 6 0; 26 | #X connect 9 0 10 0; 27 | #X connect 11 0 8 1; 28 | #X connect 12 0 7 1; 29 | -------------------------------------------------------------------------------- /abs/setresonance.pd: -------------------------------------------------------------------------------- 1 | #N canvas 324 113 607 538 10; 2 | #X obj 51 49 inlet frequency; 3 | #X obj 264 68 inlet radius; 4 | #X obj 264 160 max 0; 5 | #X obj 165 86 loadbang; 6 | #X msg 66 113 1; 7 | #X obj 66 135 atan; 8 | #X obj 66 157 * 8; 9 | #X obj 51 181 *; 10 | #X obj 66 209 samplerate~; 11 | #X obj 51 233 /; 12 | #X obj 51 255 cos; 13 | #X obj 51 307 *; 14 | #X obj 66 281 * 2; 15 | #X obj 264 182 pow 2; 16 | #X obj 264 204 * -1; 17 | #X obj 332 280 t b f; 18 | #X msg 332 302 0.5; 19 | #X obj 332 354 -; 20 | #X obj 347 326 * 0.5; 21 | #X obj 332 376 * -1; 22 | #X obj 76 481 outlet biquad coefficients; 23 | #X obj 165 111 t b b b; 24 | #X obj 365 188 f \$1; 25 | #X text 333 118 arg: 1=normalize \, 0=don't normalize; 26 | #X obj 332 258 spigot; 27 | #X obj 76 459 pack f f 1 0 0; 28 | #X text 177 13 This calculates coefficients for biquad filter; 29 | #X connect 0 0 7 0; 30 | #X connect 1 0 2 0; 31 | #X connect 2 0 12 0; 32 | #X connect 2 0 13 0; 33 | #X connect 3 0 21 0; 34 | #X connect 4 0 5 0; 35 | #X connect 5 0 6 0; 36 | #X connect 6 0 7 1; 37 | #X connect 7 0 9 0; 38 | #X connect 8 0 9 1; 39 | #X connect 9 0 10 0; 40 | #X connect 10 0 11 0; 41 | #X connect 11 0 25 0; 42 | #X connect 12 0 11 1; 43 | #X connect 13 0 14 0; 44 | #X connect 13 0 24 0; 45 | #X connect 14 0 25 1; 46 | #X connect 15 0 16 0; 47 | #X connect 15 1 18 0; 48 | #X connect 16 0 17 0; 49 | #X connect 17 0 19 0; 50 | #X connect 17 0 25 2; 51 | #X connect 18 0 17 1; 52 | #X connect 19 0 25 4; 53 | #X connect 21 1 22 0; 54 | #X connect 21 2 4 0; 55 | #X connect 21 2 8 0; 56 | #X connect 22 0 24 1; 57 | #X connect 24 0 15 0; 58 | #X connect 25 0 20 0; 59 | -------------------------------------------------------------------------------- /abs/string~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 575 318 734 515 10; 2 | #X obj 124 283 delwrite~ \$0-del 100; 3 | #X obj 234 178 vd~ \$0-del; 4 | #X obj 234 372 outlet~; 5 | #X obj 234 147 lop~ 70; 6 | #X obj 234 200 rzero~ -1; 7 | #X text 295 199 y[n] = x[n] + x[n-1]; 8 | #X obj 234 222 *~ 0.5; 9 | #X text 283 246 < dampening; 10 | #X text 282 223 < moving average filter; 11 | #X obj 580 56 block~ 1; 12 | #X obj 249 21 inlet~ freq; 13 | #X obj 457 113 *~ 5e-06; 14 | #X obj 457 135 +~ 0.995; 15 | #X obj 457 157 min~ 0.99999; 16 | #X obj 234 244 *~; 17 | #X obj 124 21 inlet~ exciter; 18 | #X obj 234 92 sig~ 1000; 19 | #X obj 234 113 /~; 20 | #X obj 367 68 / 127; 21 | #X obj 367 131 * -1; 22 | #X obj 367 89 * 0.2; 23 | #X obj 367 110 + 0.8; 24 | #X obj 367 47 r \$1-damp-send; 25 | #X connect 1 0 4 0; 26 | #X connect 3 0 1 0; 27 | #X connect 4 0 6 0; 28 | #X connect 6 0 14 0; 29 | #X connect 10 0 11 0; 30 | #X connect 10 0 17 1; 31 | #X connect 11 0 12 0; 32 | #X connect 12 0 13 0; 33 | #X connect 13 0 14 1; 34 | #X connect 14 0 0 0; 35 | #X connect 14 0 2 0; 36 | #X connect 15 0 0 0; 37 | #X connect 16 0 17 0; 38 | #X connect 17 0 3 0; 39 | #X connect 18 0 20 0; 40 | #X connect 19 0 4 1; 41 | #X connect 20 0 21 0; 42 | #X connect 21 0 19 0; 43 | #X connect 22 0 18 0; 44 | -------------------------------------------------------------------------------- /audio/Piano-D2.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremymuller/parametric-synthesis/94064edb2b96b686179887964a7003ae36bbc77e/audio/Piano-D2.aiff -------------------------------------------------------------------------------- /audio/chopstick.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremymuller/parametric-synthesis/94064edb2b96b686179887964a7003ae36bbc77e/audio/chopstick.aiff -------------------------------------------------------------------------------- /audio/medmallet.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremymuller/parametric-synthesis/94064edb2b96b686179887964a7003ae36bbc77e/audio/medmallet.aiff -------------------------------------------------------------------------------- /audio/spoon.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeremymuller/parametric-synthesis/94064edb2b96b686179887964a7003ae36bbc77e/audio/spoon.aiff -------------------------------------------------------------------------------- /blow.pd: -------------------------------------------------------------------------------- 1 | #N canvas 453 73 987 740 10; 2 | #X declare -path abs/; 3 | #X obj 369 378 pack f 20; 4 | #X obj 369 400 line~; 5 | #X obj 369 468 *~; 6 | #X obj 384 424 noise~; 7 | #X obj 384 446 *~ 0.2; 8 | #X obj 354 490 +~; 9 | #X floatatom 204 442 5 0 0 0 - - -; 10 | #X obj 204 461 mtof; 11 | #X obj 369 518 osc~ 5.735; 12 | #X obj 354 572 *~; 13 | #X obj 354 594 +~; 14 | #X obj 369 539 *~ 0.01; 15 | #X floatatom 447 516 5 0 0 0 - - -; 16 | #X obj 453 29 declare -path abs/; 17 | #X obj 113 219 hsl 128 15 0 127 0 0 empty \$0-position-rec POSITION 18 | 0 8 0 10 -1 -262144 -262144 6400 1; 19 | #X obj 113 168 hsl 128 15 0 127 0 0 empty \$0-vel-rec VEL 0 8 0 10 20 | -1 -262144 -262144 6400 1; 21 | #X obj 176 113 cnv 15 5 5 empty empty BLOW 5 9 0 14 -262144 -1 0; 22 | #X obj 113 151 hsl 128 15 0 127 0 0 empty \$0-pitch-rec PITCH 0 8 0 23 | 10 -1 -262144 -262144 6000 1; 24 | #X obj 245 151 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 25 | -1 60 256; 26 | #X obj 100 100 cnv 5 25 10 empty empty PITCH 0 5 0 8 -1 -262144 0; 27 | #X obj 100 240 cnv 5 25 10 empty empty OUT 1 5 0 8 -1 -262144 0; 28 | #X obj 113 185 hsl 128 15 0 127 0 0 \$0-noise-send \$0-noise-rec NOISE 29 | 0 8 0 10 -1 -262144 -262144 2600 1; 30 | #X obj 464 95 loadbang; 31 | #X obj 464 116 f \$0; 32 | #X obj 113 134 hsl 128 15 0 127 0 0 empty \$0-pressure-rec PRESSURE 33 | 0 8 0 10 -1 -262144 -262144 0 1; 34 | #X obj 369 354 / 127; 35 | #X obj 354 643 outlet~; 36 | #X obj 245 168 bng 32 250 50 0 empty empty RAND 4 16 0 10 -1 -262144 37 | -262144; 38 | #X obj 636 235 list prepend \$0; 39 | #X obj 636 214 randomizer 10 128 128 128 128 128; 40 | #X obj 245 202 bng 32 250 50 0 empty empty INIT 4 16 0 10 -1 -262144 41 | -262144; 42 | #X obj 440 402 r \$0-noise-send; 43 | #X msg 636 256 \; \$1-pitch-rec \$3 \; \$1-vel-rec \$4 \; \$1-noise-rec 44 | \$5 \;; 45 | #X obj 113 202 hsl 128 15 0 127 0 0 \$0-slope-send \$0-slope-rec REED 46 | 0 8 0 10 -1 -262144 -262144 6900 1; 47 | #X obj 440 423 * 0.0078125; 48 | #X text 518 422 < (1/128); 49 | #X msg 464 137 \; \$1-pitch-rec 60 \; \$1-vel-rec 64 \; \$1-noise-rec 50 | 26 \; \$1-position-rec 64 \; \$1-slope-rec 69 \;; 51 | #X obj 354 622 cylinder; 52 | #X connect 0 0 1 0; 53 | #X connect 1 0 2 0; 54 | #X connect 1 0 5 0; 55 | #X connect 2 0 5 1; 56 | #X connect 3 0 4 0; 57 | #X connect 4 0 2 1; 58 | #X connect 5 0 9 0; 59 | #X connect 5 0 10 1; 60 | #X connect 6 0 7 0; 61 | #X connect 7 0 37 1; 62 | #X connect 8 0 11 0; 63 | #X connect 9 0 10 0; 64 | #X connect 10 0 37 0; 65 | #X connect 11 0 9 1; 66 | #X connect 12 0 11 1; 67 | #X connect 17 0 18 0; 68 | #X connect 17 0 6 0; 69 | #X connect 22 0 23 0; 70 | #X connect 23 0 36 0; 71 | #X connect 24 0 25 0; 72 | #X connect 25 0 0 0; 73 | #X connect 27 0 29 0; 74 | #X connect 28 0 32 0; 75 | #X connect 29 0 28 0; 76 | #X connect 30 0 23 0; 77 | #X connect 31 0 34 0; 78 | #X connect 34 0 4 1; 79 | #X connect 37 0 26 0; 80 | #X coords 0 -1 1 1 200 150 2 100 100; 81 | -------------------------------------------------------------------------------- /blow~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 453 73 987 740 10; 2 | #X declare -path abs/; 3 | #X obj 369 378 pack f 20; 4 | #X obj 369 400 line~; 5 | #X obj 369 468 *~; 6 | #X obj 384 424 noise~; 7 | #X obj 384 446 *~ 0.2; 8 | #X obj 354 490 +~; 9 | #X floatatom 204 442 5 0 0 0 - - -; 10 | #X obj 204 461 mtof; 11 | #X obj 369 518 osc~ 5.735; 12 | #X obj 354 572 *~; 13 | #X obj 354 594 +~; 14 | #X obj 369 539 *~ 0.01; 15 | #X floatatom 447 516 5 0 0 0 - - -; 16 | #X obj 768 135 declare -path abs/; 17 | #X obj 404 165 loadbang; 18 | #X obj 404 186 f \$0; 19 | #X obj 369 354 / 127; 20 | #X obj 354 643 outlet~; 21 | #X obj 636 235 list prepend \$0; 22 | #X obj 440 423 * 0.0078125; 23 | #X text 518 422 < (1/128); 24 | #X obj 91 52 route float rand init; 25 | #X obj 204 421 r \$0-pitch-rec; 26 | #X obj 369 310 r \$0-pressure-rec; 27 | #X obj 91 98 s \$0-pressure-rec; 28 | #X obj 91 29 inlet pressure; 29 | #X obj 283 26 inlet pitch; 30 | #X obj 283 47 s \$0-pitch-rec; 31 | #X obj 201 294 s \$0-vel-rec; 32 | #X obj 453 26 inlet noise; 33 | #X obj 453 47 s \$0-noise-rec; 34 | #X obj 440 402 r \$0-noise-rec; 35 | #X obj 93 293 r \$0-slope-rec; 36 | #X text 89 272 reedtable slope?; 37 | #X text 68 194 TODO: velocity?; 38 | #X msg 404 207 \; \$1-pitch-rec 60 \; \$1-noise-rec 26 \; \$1-slope-rec 39 | 69 \;; 40 | #X obj 636 214 randomizer 128 128 128; 41 | #X msg 636 256 \; \$1-pitch-rec \$3 \; \$1-slope-rec \$4 \; \$1-noise-rec 42 | \$5 \;; 43 | #X floatatom 93 314 5 0 0 0 - - -; 44 | #X obj 354 622 cylinder; 45 | #X connect 0 0 1 0; 46 | #X connect 1 0 2 0; 47 | #X connect 1 0 5 0; 48 | #X connect 2 0 5 1; 49 | #X connect 3 0 4 0; 50 | #X connect 4 0 2 1; 51 | #X connect 5 0 9 0; 52 | #X connect 5 0 10 1; 53 | #X connect 6 0 7 0; 54 | #X connect 7 0 39 1; 55 | #X connect 8 0 11 0; 56 | #X connect 9 0 10 0; 57 | #X connect 10 0 39 0; 58 | #X connect 11 0 9 1; 59 | #X connect 12 0 11 1; 60 | #X connect 14 0 15 0; 61 | #X connect 15 0 35 0; 62 | #X connect 16 0 0 0; 63 | #X connect 18 0 37 0; 64 | #X connect 19 0 4 1; 65 | #X connect 21 0 24 0; 66 | #X connect 21 1 36 0; 67 | #X connect 21 2 15 0; 68 | #X connect 22 0 6 0; 69 | #X connect 23 0 16 0; 70 | #X connect 25 0 21 0; 71 | #X connect 26 0 27 0; 72 | #X connect 29 0 30 0; 73 | #X connect 31 0 19 0; 74 | #X connect 32 0 38 0; 75 | #X connect 36 0 18 0; 76 | #X connect 39 0 17 0; 77 | #X coords 0 740 1 739 200 150 0; 78 | -------------------------------------------------------------------------------- /bow.pd: -------------------------------------------------------------------------------- 1 | #N canvas 422 23 987 740 10; 2 | #X declare -path abs/; 3 | #X floatatom 378 278 5 0 0 0 - - -; 4 | #X obj 453 29 declare -path abs/; 5 | #X obj 113 185 hsl 128 15 0 127 0 0 \$0-position-send \$0-position-rec 6 | POSITION 0 8 0 10 -1 -262144 -262144 1600 1; 7 | #X obj 113 151 hsl 128 15 0 127 0 0 \$0-bow-send \$0-bow-rec BOW 0 8 | 8 0 10 -1 -262144 -262144 6400 1; 9 | #X obj 176 113 cnv 15 5 5 empty empty BOW 5 9 0 14 -262144 -1 0; 10 | #X obj 113 134 hsl 128 15 0 127 0 0 \$0-pitch-send \$0-pitch-rec PITCH 11 | 0 8 0 10 -1 -262144 -262144 6000 1; 12 | #X obj 245 134 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 13 | -1 60 256; 14 | #X obj 100 100 cnv 5 25 10 empty empty PITCH 0 5 0 8 -1 -262144 0; 15 | #X obj 100 240 cnv 5 25 10 empty empty OUT 1 5 0 8 -1 -262144 0; 16 | #X obj 113 202 hsl 128 15 0 127 0 0 \$0-noise-send \$0-noise-rec NOISE 17 | 0 8 0 10 -1 -262144 -262144 0 1; 18 | #X obj 464 95 loadbang; 19 | #X obj 464 116 f \$0; 20 | #X obj 113 168 hsl 128 15 0 127 0 0 \$0-pressure-send \$0-pressure-rec 21 | PRESSURE 0 8 0 10 -1 -262144 -262144 6400 1; 22 | #X obj 85 695 outlet~; 23 | #X obj 378 257 r \$0-pitch-send; 24 | #X obj 305 98 r \$0-pitch-send; 25 | #X obj 85 296 / 127; 26 | #X obj 85 380 line~; 27 | #N canvas 66 200 754 454 bowedstring 0; 28 | #X obj 37 37 inlet~; 29 | #X obj 265 84 rpole~ 0.65; 30 | #X obj 265 105 *~ 0.35; 31 | #X obj 265 126 *~ -0.95; 32 | #X text 328 126 < bridge reflection; 33 | #X obj 37 275 -~; 34 | #X obj 265 204 +~; 35 | #X text 298 204 < string velocity; 36 | #X obj 482 87 *~ -1; 37 | #N canvas 407 273 509 329 bowtable 0; 38 | #X obj 22 271 outlet~; 39 | #X obj 37 79 *~; 40 | #X obj 37 100 abs~; 41 | #X obj 37 121 +~ 0.75; 42 | #X obj 37 142 *~; 43 | #X obj 37 163 *~; 44 | #X obj 22 187 sig~ 1; 45 | #X obj 22 208 /~; 46 | #X text 48 206 x^(-4); 47 | #X obj 22 229 max~ 0.01; 48 | #X obj 22 250 min~ 0.98; 49 | #X obj 333 20 loadbang; 50 | #X msg 333 41 0; 51 | #X floatatom 325 192 5 0 0 0 - - -; 52 | #X obj 325 212 pack f 20; 53 | #X obj 325 233 line~; 54 | #X msg 208 64 0.1; 55 | #X text 242 65 slope; 56 | #X obj 325 108 r \$0-pressure-send; 57 | #X obj 325 129 / 127; 58 | #X obj 37 37 inlet~ deltaV; 59 | #X floatatom 167 281 5 0 0 0 - - -; 60 | #X obj 167 218 / 127; 61 | #X obj 254 127 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 62 | -1 -1 0 1; 63 | #X floatatom 254 263 5 0 0 0 - - -; 64 | #X obj 167 239 * 0.4; 65 | #X obj 167 260 + 0.1; 66 | #X floatatom 432 281 5 0 0 0 - - -; 67 | #X obj 432 218 / 127; 68 | #X obj 432 239 * 4; 69 | #X obj 432 260 + 1; 70 | #X obj 325 150 * 0.4; 71 | #X obj 325 171 + 0.1; 72 | #X text 88 57 < offset; 73 | #X obj 37 58 +~ 0.1; 74 | #X connect 1 0 2 0; 75 | #X connect 2 0 3 0; 76 | #X connect 3 0 4 0; 77 | #X connect 3 0 4 1; 78 | #X connect 4 0 5 0; 79 | #X connect 4 0 5 1; 80 | #X connect 5 0 7 1; 81 | #X connect 6 0 7 0; 82 | #X connect 7 0 9 0; 83 | #X connect 9 0 10 0; 84 | #X connect 10 0 0 0; 85 | #X connect 11 0 12 0; 86 | #X connect 11 0 16 0; 87 | #X connect 13 0 14 0; 88 | #X connect 14 0 15 0; 89 | #X connect 15 0 1 1; 90 | #X connect 18 0 19 0; 91 | #X connect 19 0 31 0; 92 | #X connect 20 0 34 0; 93 | #X connect 22 0 25 0; 94 | #X connect 23 0 24 0; 95 | #X connect 24 0 22 0; 96 | #X connect 25 0 26 0; 97 | #X connect 26 0 21 0; 98 | #X connect 28 0 29 0; 99 | #X connect 29 0 30 0; 100 | #X connect 30 0 27 0; 101 | #X connect 31 0 32 0; 102 | #X connect 32 0 13 0; 103 | #X connect 34 0 1 0; 104 | #X restore 37 296 pd bowtable; 105 | #X obj 37 317 *~; 106 | #X obj 37 378 +~; 107 | #X obj 37 399 delwrite~ \$0-neckDel 100; 108 | #X obj 337 378 +~; 109 | #X obj 337 399 delwrite~ \$0-bridgeDel 100; 110 | #X obj 569 132 outlet~; 111 | #X obj 265 33 inlet~; 112 | #X obj 482 66 delread4~ \$0-neckDel; 113 | #X obj 265 63 delread4~ \$0-bridgeDel; 114 | #X obj 482 37 inlet~; 115 | #X obj 626 64 block~ 2; 116 | #X connect 0 0 5 0; 117 | #X connect 1 0 2 0; 118 | #X connect 2 0 3 0; 119 | #X connect 3 0 6 0; 120 | #X connect 3 0 11 1; 121 | #X connect 5 0 10 1; 122 | #X connect 5 0 9 0; 123 | #X connect 6 0 5 1; 124 | #X connect 8 0 6 1; 125 | #X connect 8 0 13 1; 126 | #X connect 9 0 10 0; 127 | #X connect 10 0 11 0; 128 | #X connect 10 0 13 0; 129 | #X connect 11 0 12 0; 130 | #X connect 13 0 14 0; 131 | #X connect 16 0 18 0; 132 | #X connect 17 0 8 0; 133 | #X connect 18 0 1 0; 134 | #X connect 18 0 15 0; 135 | #X connect 19 0 17 0; 136 | #X restore 85 611 pd bowedstring; 137 | #X obj 378 297 sig~; 138 | #X obj 378 348 +~; 139 | #X obj 224 17 inlet~ pitch; 140 | #X obj 224 59 s~ \$0-inlet-pitch; 141 | #X obj 224 38 *~ 127; 142 | #X obj 393 322 r~ \$0-inlet-pitch; 143 | #X obj 378 369 mtof~; 144 | #X obj 363 395 sig~ 1000; 145 | #X obj 363 416 /~; 146 | #X obj 484 405 r \$0-position-send; 147 | #X obj 484 426 / 127; 148 | #X obj 484 447 swap 1; 149 | #X obj 484 468 -; 150 | #N canvas 633 97 385 269 cascade 0; 151 | #X obj 69 19 inlet~; 152 | #X obj 69 198 outlet~; 153 | #X obj 69 49 biquad~ 0.5509 0.3925 1 1.5667 0.3133; 154 | #X obj 69 71 biquad~ 1.6357 -0.8697 1 -1.9537 0.9542; 155 | #X obj 69 93 biquad~ 1.7674 -0.8735 1 -1.6683 0.8852; 156 | #X obj 69 115 biquad~ 1.8498 -0.9516 1 -1.8585 0.9653; 157 | #X obj 69 137 biquad~ 1.9354 -0.959 1 -1.9299 0.9621; 158 | #X obj 69 159 biquad~ 1.9867 -0.9923 1 -1.98 0.9888; 159 | #X connect 0 0 2 0; 160 | #X connect 2 0 3 0; 161 | #X connect 3 0 4 0; 162 | #X connect 4 0 5 0; 163 | #X connect 5 0 6 0; 164 | #X connect 6 0 7 0; 165 | #X connect 7 0 1 0; 166 | #X restore 85 632 pd cascade filter body; 167 | #X obj 85 653 *~ 0.1248; 168 | #X obj 363 581 *~; 169 | #X obj 125 575 *~; 170 | #X obj 245 151 bng 32 250 50 0 empty empty RAND 4 16 0 10 -1 -262144 171 | -262144; 172 | #X obj 647 206 list prepend \$0; 173 | #X obj 245 185 bng 32 250 50 0 empty empty INIT 4 16 0 10 -1 -262144 174 | -262144; 175 | #X obj 647 185 randomizer 128 128 128 128 128; 176 | #X obj 363 437 lop~ 15; 177 | #X obj 140 542 lop~ 20; 178 | #X obj 378 560 lop~ 20; 179 | #X obj 85 317 * 0.5; 180 | #X obj 85 338 - 0.25; 181 | #X obj 85 359 pack f 30; 182 | #X msg 647 227 \; \$1-bow-rec \$2 \; \$1-pressure-rec \$3 \; \$1-pitch-rec 183 | \$4 \; \$1-noise-rec \$5 \; \$1-position-rec \$6 \;; 184 | #X obj 85 275 r \$0-bow-send; 185 | #X obj 85 493 min~ 0.5; 186 | #X obj 85 514 max~ -0.5; 187 | #X obj 85 411 +~; 188 | #X obj 347 47 *~ 0.25; 189 | #X obj 275 100 cnv 5 25 10 empty empty BOW 0 5 0 8 -1 -262144 0; 190 | #X obj 347 26 inlet~ bow-cv; 191 | #X msg 464 137 \; \$1-bow-rec 64 \; \$1-pressure-rec 64 \; \$1-pitch-rec 192 | 60 \; \$1-noise-rec 0 \; \$1-position-rec 16; 193 | #X obj 85 472 +~; 194 | #X obj 100 451 *~; 195 | #X obj 115 405 noise~; 196 | #X obj 115 426 *~ 0.2; 197 | #X obj 165 382 r \$0-noise-send; 198 | #X obj 165 403 * 0.0078125; 199 | #X connect 0 0 19 0; 200 | #X connect 10 0 11 0; 201 | #X connect 11 0 54 0; 202 | #X connect 14 0 0 0; 203 | #X connect 15 0 6 0; 204 | #X connect 16 0 43 0; 205 | #X connect 17 0 50 0; 206 | #X connect 18 0 32 0; 207 | #X connect 19 0 20 0; 208 | #X connect 20 0 25 0; 209 | #X connect 21 0 23 0; 210 | #X connect 23 0 22 0; 211 | #X connect 24 0 20 1; 212 | #X connect 25 0 27 1; 213 | #X connect 26 0 27 0; 214 | #X connect 27 0 40 0; 215 | #X connect 28 0 29 0; 216 | #X connect 29 0 30 0; 217 | #X connect 29 0 41 0; 218 | #X connect 30 0 31 0; 219 | #X connect 30 1 31 1; 220 | #X connect 31 0 42 0; 221 | #X connect 32 0 33 0; 222 | #X connect 33 0 13 0; 223 | #X connect 34 0 18 2; 224 | #X connect 35 0 18 1; 225 | #X connect 36 0 39 0; 226 | #X connect 37 0 46 0; 227 | #X connect 38 0 11 0; 228 | #X connect 39 0 37 0; 229 | #X connect 40 0 34 0; 230 | #X connect 40 0 35 0; 231 | #X connect 41 0 35 1; 232 | #X connect 42 0 34 1; 233 | #X connect 43 0 44 0; 234 | #X connect 44 0 45 0; 235 | #X connect 45 0 17 0; 236 | #X connect 47 0 16 0; 237 | #X connect 48 0 49 0; 238 | #X connect 49 0 18 0; 239 | #X connect 50 0 55 0; 240 | #X connect 50 0 56 0; 241 | #X connect 51 0 50 1; 242 | #X connect 53 0 51 0; 243 | #X connect 55 0 48 0; 244 | #X connect 56 0 55 1; 245 | #X connect 57 0 58 0; 246 | #X connect 58 0 56 1; 247 | #X connect 59 0 60 0; 248 | #X connect 60 0 58 1; 249 | #X coords 0 -1 1 1 200 150 2 100 100; 250 | -------------------------------------------------------------------------------- /bow~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 453 86 987 740 10; 2 | #X declare -path abs/; 3 | #X floatatom 378 318 5 0 0 0 - - -; 4 | #X obj 799 209 declare -path abs/; 5 | #X obj 307 145 loadbang; 6 | #X obj 307 166 f \$0; 7 | #X obj 85 695 outlet~; 8 | #X obj 85 296 / 127; 9 | #X obj 85 380 line~; 10 | #N canvas 66 200 754 454 bowedstring 0; 11 | #X obj 37 37 inlet~; 12 | #X obj 265 84 rpole~ 0.65; 13 | #X obj 265 105 *~ 0.35; 14 | #X obj 265 126 *~ -0.95; 15 | #X text 328 126 < bridge reflection; 16 | #X obj 37 275 -~; 17 | #X obj 265 204 +~; 18 | #X text 298 204 < string velocity; 19 | #X obj 482 87 *~ -1; 20 | #N canvas 407 273 509 329 bowtable 0; 21 | #X obj 22 271 outlet~; 22 | #X obj 37 79 *~; 23 | #X obj 37 100 abs~; 24 | #X obj 37 121 +~ 0.75; 25 | #X obj 37 142 *~; 26 | #X obj 37 163 *~; 27 | #X obj 22 187 sig~ 1; 28 | #X obj 22 208 /~; 29 | #X text 48 206 x^(-4); 30 | #X obj 22 229 max~ 0.01; 31 | #X obj 22 250 min~ 0.98; 32 | #X obj 333 20 loadbang; 33 | #X msg 333 41 0; 34 | #X floatatom 325 192 5 0 0 0 - - -; 35 | #X obj 325 212 pack f 20; 36 | #X obj 325 233 line~; 37 | #X msg 208 64 0.1; 38 | #X text 242 65 slope; 39 | #X obj 325 129 / 127; 40 | #X obj 37 37 inlet~ deltaV; 41 | #X floatatom 167 281 5 0 0 0 - - -; 42 | #X obj 167 218 / 127; 43 | #X obj 254 127 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 44 | -1 -1 0 1; 45 | #X floatatom 254 263 5 0 0 0 - - -; 46 | #X obj 167 239 * 0.4; 47 | #X obj 167 260 + 0.1; 48 | #X floatatom 432 281 5 0 0 0 - - -; 49 | #X obj 432 218 / 127; 50 | #X obj 432 239 * 4; 51 | #X obj 432 260 + 1; 52 | #X obj 325 150 * 0.4; 53 | #X obj 325 171 + 0.1; 54 | #X text 88 57 < offset; 55 | #X obj 37 58 +~ 0.1; 56 | #X obj 325 108 r \$0-pressure-rec; 57 | #X connect 1 0 2 0; 58 | #X connect 2 0 3 0; 59 | #X connect 3 0 4 0; 60 | #X connect 3 0 4 1; 61 | #X connect 4 0 5 0; 62 | #X connect 4 0 5 1; 63 | #X connect 5 0 7 1; 64 | #X connect 6 0 7 0; 65 | #X connect 7 0 9 0; 66 | #X connect 9 0 10 0; 67 | #X connect 10 0 0 0; 68 | #X connect 11 0 12 0; 69 | #X connect 11 0 16 0; 70 | #X connect 13 0 14 0; 71 | #X connect 14 0 15 0; 72 | #X connect 15 0 1 1; 73 | #X connect 18 0 30 0; 74 | #X connect 19 0 33 0; 75 | #X connect 21 0 24 0; 76 | #X connect 22 0 23 0; 77 | #X connect 23 0 21 0; 78 | #X connect 24 0 25 0; 79 | #X connect 25 0 20 0; 80 | #X connect 27 0 28 0; 81 | #X connect 28 0 29 0; 82 | #X connect 29 0 26 0; 83 | #X connect 30 0 31 0; 84 | #X connect 31 0 13 0; 85 | #X connect 33 0 1 0; 86 | #X connect 34 0 18 0; 87 | #X restore 37 296 pd bowtable; 88 | #X obj 37 317 *~; 89 | #X obj 37 378 +~; 90 | #X obj 37 399 delwrite~ \$0-neckDel 100; 91 | #X obj 337 378 +~; 92 | #X obj 337 399 delwrite~ \$0-bridgeDel 100; 93 | #X obj 569 132 outlet~; 94 | #X obj 265 33 inlet~; 95 | #X obj 482 66 delread4~ \$0-neckDel; 96 | #X obj 265 63 delread4~ \$0-bridgeDel; 97 | #X obj 482 37 inlet~; 98 | #X obj 626 64 block~ 2; 99 | #X connect 0 0 5 0; 100 | #X connect 1 0 2 0; 101 | #X connect 2 0 3 0; 102 | #X connect 3 0 6 0; 103 | #X connect 3 0 11 1; 104 | #X connect 5 0 10 1; 105 | #X connect 5 0 9 0; 106 | #X connect 6 0 5 1; 107 | #X connect 8 0 6 1; 108 | #X connect 8 0 13 1; 109 | #X connect 9 0 10 0; 110 | #X connect 10 0 11 0; 111 | #X connect 10 0 13 0; 112 | #X connect 11 0 12 0; 113 | #X connect 13 0 14 0; 114 | #X connect 16 0 18 0; 115 | #X connect 17 0 8 0; 116 | #X connect 18 0 1 0; 117 | #X connect 18 0 15 0; 118 | #X connect 19 0 17 0; 119 | #X restore 85 611 pd bowedstring; 120 | #X obj 378 337 sig~; 121 | #X obj 378 369 mtof~; 122 | #X obj 363 395 sig~ 1000; 123 | #X obj 363 416 /~; 124 | #X obj 484 426 / 127; 125 | #X obj 484 447 swap 1; 126 | #X obj 484 468 -; 127 | #N canvas 633 97 385 269 cascade 0; 128 | #X obj 69 19 inlet~; 129 | #X obj 69 198 outlet~; 130 | #X obj 69 49 biquad~ 0.5509 0.3925 1 1.5667 0.3133; 131 | #X obj 69 71 biquad~ 1.6357 -0.8697 1 -1.9537 0.9542; 132 | #X obj 69 93 biquad~ 1.7674 -0.8735 1 -1.6683 0.8852; 133 | #X obj 69 115 biquad~ 1.8498 -0.9516 1 -1.8585 0.9653; 134 | #X obj 69 137 biquad~ 1.9354 -0.959 1 -1.9299 0.9621; 135 | #X obj 69 159 biquad~ 1.9867 -0.9923 1 -1.98 0.9888; 136 | #X connect 0 0 2 0; 137 | #X connect 2 0 3 0; 138 | #X connect 3 0 4 0; 139 | #X connect 4 0 5 0; 140 | #X connect 5 0 6 0; 141 | #X connect 6 0 7 0; 142 | #X connect 7 0 1 0; 143 | #X restore 85 632 pd cascade filter body; 144 | #X obj 85 653 *~ 0.1248; 145 | #X obj 363 581 *~; 146 | #X obj 125 575 *~; 147 | #X obj 69 165 list prepend \$0; 148 | #X obj 69 144 randomizer 128 128 128 128 128; 149 | #X obj 363 437 lop~ 15; 150 | #X obj 140 542 lop~ 20; 151 | #X obj 378 560 lop~ 20; 152 | #X obj 85 317 * 0.5; 153 | #X obj 85 338 - 0.25; 154 | #X obj 85 359 pack f 30; 155 | #X msg 69 186 \; \$1-bow-rec \$2 \; \$1-pressure-rec \$3 \; \$1-pitch-rec 156 | \$4 \; \$1-noise-rec \$5 \; \$1-position-rec \$6 \;; 157 | #X obj 85 493 min~ 0.5; 158 | #X obj 85 514 max~ -0.5; 159 | #X msg 307 187 \; \$1-bow-rec 64 \; \$1-pressure-rec 64 \; \$1-pitch-rec 160 | 60 \; \$1-noise-rec 0 \; \$1-position-rec 16; 161 | #X obj 85 472 +~; 162 | #X obj 100 451 *~; 163 | #X obj 115 405 noise~; 164 | #X obj 115 426 *~ 0.2; 165 | #X obj 165 403 * 0.0078125; 166 | #X obj 53 26 inlet pitch; 167 | #X text 373 10 bow \, pressure \, position \, noise; 168 | #X obj 53 47 route float rand init; 169 | #X obj 85 275 r \$0-bow-rec; 170 | #X obj 165 382 r \$0-noise-rec; 171 | #X obj 378 297 r \$0-pitch-rec; 172 | #X obj 484 405 r \$0-position-rec; 173 | #X obj 237 100 s \$0-bow-rec; 174 | #X obj 377 107 s \$0-pressure-rec; 175 | #X obj 507 107 s \$0-position-rec; 176 | #X obj 637 107 s \$0-noise-rec; 177 | #X obj 53 107 s \$0-pitch-rec; 178 | #X obj 237 29 inlet bow; 179 | #X obj 377 29 inlet pressure; 180 | #X obj 507 29 inlet pos; 181 | #X obj 637 29 inlet noise; 182 | #X connect 0 0 8 0; 183 | #X connect 2 0 3 0; 184 | #X connect 3 0 30 0; 185 | #X connect 5 0 24 0; 186 | #X connect 6 0 31 0; 187 | #X connect 6 0 32 0; 188 | #X connect 7 0 15 0; 189 | #X connect 8 0 9 0; 190 | #X connect 9 0 11 1; 191 | #X connect 10 0 11 0; 192 | #X connect 11 0 21 0; 193 | #X connect 12 0 13 0; 194 | #X connect 12 0 22 0; 195 | #X connect 13 0 14 0; 196 | #X connect 13 1 14 1; 197 | #X connect 14 0 23 0; 198 | #X connect 15 0 16 0; 199 | #X connect 16 0 4 0; 200 | #X connect 17 0 7 2; 201 | #X connect 18 0 7 1; 202 | #X connect 19 0 27 0; 203 | #X connect 20 0 19 0; 204 | #X connect 21 0 17 0; 205 | #X connect 21 0 18 0; 206 | #X connect 22 0 18 1; 207 | #X connect 23 0 17 1; 208 | #X connect 24 0 25 0; 209 | #X connect 25 0 26 0; 210 | #X connect 26 0 6 0; 211 | #X connect 28 0 29 0; 212 | #X connect 29 0 7 0; 213 | #X connect 31 0 28 0; 214 | #X connect 32 0 31 1; 215 | #X connect 33 0 34 0; 216 | #X connect 34 0 32 1; 217 | #X connect 35 0 34 1; 218 | #X connect 36 0 38 0; 219 | #X connect 38 0 47 0; 220 | #X connect 38 1 20 0; 221 | #X connect 38 2 3 0; 222 | #X connect 39 0 5 0; 223 | #X connect 40 0 35 0; 224 | #X connect 41 0 0 0; 225 | #X connect 42 0 12 0; 226 | #X connect 48 0 43 0; 227 | #X connect 49 0 44 0; 228 | #X connect 50 0 45 0; 229 | #X connect 51 0 46 0; 230 | #X coords 0 740 1 739 200 150 0; 231 | -------------------------------------------------------------------------------- /modal.pd: -------------------------------------------------------------------------------- 1 | #N canvas 417 105 783 537 10; 2 | #X declare -path presets/; 3 | #X declare -path abs/; 4 | #X obj 113 219 hsl 128 15 0 127 0 0 \$0-position-send \$0-position-rec 5 | POSITION 0 8 0 10 -1 -262144 -262144 6400 1; 6 | #X obj 113 168 hsl 128 15 0 127 0 0 empty \$0-vel-rec VEL 0 8 0 10 7 | -1 -262144 -262144 6400 1; 8 | #X obj 102 112 bng 15 50 50 0 empty empty empty 17 7 0 10 -1 -228856 9 | -1; 10 | #X obj 31 496 outlet~; 11 | #X obj 176 113 cnv 15 5 5 empty empty MODAL 5 9 0 14 -262144 -1 0; 12 | #X obj 113 151 hsl 128 15 0 127 0 0 empty \$0-pitch-rec PITCH 0 8 0 13 | 10 -1 -262144 -262144 6000 1; 14 | #X obj 245 151 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 15 | -1 60 256; 16 | #X obj 23 42 threshold~ 0.9 0 0.9 0; 17 | #X obj 23 21 inlet~; 18 | #X obj 110 134 hradio 15 1 0 9 \$0-presets-send \$0-presets-rec PRESETS 19 | 1 8 0 10 -1 -262144 -262144 3; 20 | #N canvas 77 72 1003 700 presets 0; 21 | #X obj 42 347 qlist; 22 | #X floatatom 48 66 5 0 0 0 - - -; 23 | #X msg 48 107 vibraphone; 24 | #X msg 78 167 coffeemug; 25 | #X obj 42 256 symbol; 26 | #X obj 42 277 makefilename %s.txt; 27 | #X msg 42 298 read \$1 \, bang; 28 | #X msg 58 127 marimba; 29 | #X msg 68 147 agogo; 30 | #X msg 128 107 wood1; 31 | #X msg 138 127 wood2; 32 | #X msg 148 147 reso; 33 | #X msg 158 167 marimba2; 34 | #X obj 375 46 r ###; 35 | #X obj 48 86 sel 0 1 2 3 4 5 6 7 8; 36 | #X msg 178 107 marimba3; 37 | #X obj 397 91 r \$0-presets-send; 38 | #X obj 397 132 route 0 1 2 3 4 5 6 7 8; 39 | #X obj 397 112 list append \$0; 40 | #X text 323 532 coffee mug; 41 | #X text 322 417 agogo; 42 | #X text 324 187 vibraphone; 43 | #X text 335 311 reso; 44 | #X text 563 183 marimba 1; 45 | #X text 573 287 marimba 2; 46 | #X text 569 401 marimba 3; 47 | #X text 539 521 wood 1; 48 | #X text 845 188 wood 2; 49 | #X msg 267 206 \; \$1-mode1 1 0.99995 0.025 \; \$1-mode2 2.01 0.99991 50 | 0.015 \; \$1-mode3 3.9 0.99992 0.015 \; \$1-mode4 14.37 0.9999 0.015 51 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 72 \;; 52 | #X msg 520 417 \; \$1-mode1 -132 0.99998 0.04 \; \$1-mode2 -529 0.99996 53 | 0.01 \; \$1-mode3 -1324 0.9996 0.01 \; \$1-mode4 -2461 0.9994 0.008 54 | \; \$1-mode5 -3937 0.999 0.008 \; \$1-position-rec 64 \;; 55 | #X msg 261 548 \; \$1-mode1 -2457 0.9998 0.109 \; \$1-mode2 -2609 0.9998 56 | 0.196 \; \$1-mode3 -3752 0.9998 0.092 \; \$1-mode4 -5786 0.9996 0.036 57 | \; \$1-mode5 -9057 0.9996 0.044 \; \$1-position-rec 64 \;; 58 | #X msg 525 200 \; \$1-mode1 1 0.9996 0.04 \; \$1-mode2 3.99 0.9994 59 | 0.01 \; \$1-mode3 10.65 0.9994 0.01 \; \$1-mode4 -2443 0.999 0.008 60 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 57 \;; 61 | #X msg 271 435 \; \$1-mode1 1 0.999 0.06 \; \$1-mode2 4.08 0.999 0.05 62 | \; \$1-mode3 6.669 0.999 0.03 \; \$1-mode4 -3725 0.999 0.02 \; \$1-mode5 63 | 0 0.9996 0 \; \$1-position-rec 46 \;; 64 | #X msg 505 541 \; \$1-mode1 1 0.996 0.04 \; \$1-mode2 2.777 0.994 0.01 65 | \; \$1-mode3 7.378 0.994 0.01 \; \$1-mode4 15.377 0.99 0.008 \; \$1-mode5 66 | 0 0.9996 0 \; \$1-position-rec 48 \;; 67 | #X msg 260 327 \; \$1-mode1 1 0.99996 0.02 \; \$1-mode2 2.777 0.99994 68 | 0.005 \; \$1-mode3 7.378 0.99994 0.005 \; \$1-mode4 15.377 0.9999 0.004 69 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 32 \;; 70 | #X msg 812 217 \; \$1-mode1 1 0.996 0.04 \; \$1-mode2 1.777 0.994 0.01 71 | \; \$1-mode3 2.378 0.994 0.01 \; \$1-mode4 3.377 0.99 0.008 \; \$1-mode5 72 | 0 0.9996 0 \; \$1-position-rec 57 \;; 73 | #X msg 522 301 \; \$1-mode1 1 0.9998 0.04 \; \$1-mode2 3.99 0.9996 74 | 0.01 \; \$1-mode3 10.65 0.9996 0.01 \; \$1-mode4 -2443 0.9994 0.008 75 | \; \$1-mode5 9057 0 0 \; \$1-position-rec 64 \;; 76 | #X connect 1 0 14 0; 77 | #X connect 2 0 4 0; 78 | #X connect 3 0 4 0; 79 | #X connect 4 0 5 0; 80 | #X connect 5 0 6 0; 81 | #X connect 6 0 0 0; 82 | #X connect 7 0 4 0; 83 | #X connect 8 0 4 0; 84 | #X connect 9 0 4 0; 85 | #X connect 10 0 4 0; 86 | #X connect 11 0 4 0; 87 | #X connect 12 0 4 0; 88 | #X connect 14 0 2 0; 89 | #X connect 14 1 7 0; 90 | #X connect 14 2 8 0; 91 | #X connect 14 3 3 0; 92 | #X connect 14 4 9 0; 93 | #X connect 14 5 10 0; 94 | #X connect 14 6 11 0; 95 | #X connect 14 7 12 0; 96 | #X connect 14 8 15 0; 97 | #X connect 15 0 4 0; 98 | #X connect 16 0 18 0; 99 | #X connect 17 0 28 0; 100 | #X connect 17 1 34 0; 101 | #X connect 17 2 32 0; 102 | #X connect 17 3 30 0; 103 | #X connect 17 4 31 0; 104 | #X connect 17 5 36 0; 105 | #X connect 17 6 29 0; 106 | #X connect 17 7 33 0; 107 | #X connect 17 8 35 0; 108 | #X connect 18 0 17 0; 109 | #X restore 316 132 pd presets; 110 | #X obj 100 100 cnv 5 25 10 empty empty TRIG 1 5 0 8 -1 -262144 0; 111 | #X obj 265 100 cnv 5 25 10 empty empty PITCH 0 5 0 8 -1 -262144 0; 112 | #X obj 221 33 inlet~ pitch; 113 | #X obj 12 270 s \$0-pitch; 114 | #X obj 113 202 hsl 128 15 0 127 0 0 \$0-hardness-send \$0-hardness-rec 115 | HARDNESS 0 8 0 10 -1 -262144 -262144 6400 1; 116 | #X obj 589 28 declare -path presets/; 117 | #X obj 221 54 snapshot~; 118 | #X obj 23 63 t b b; 119 | #X obj 86 397 modalpoly~ \$0; 120 | #X obj 86 313 poly 4 1; 121 | #X obj 86 334 stripnote; 122 | #X obj 86 355 pack f f; 123 | #X obj 86 376 route 1 2 3 4; 124 | #X obj 96 417 modalpoly~ \$0; 125 | #X obj 106 437 modalpoly~ \$0; 126 | #X obj 116 457 modalpoly~ \$0; 127 | #X obj 240 288 s \$0-velocity; 128 | #X obj 221 75 s \$0-inlet-pitch; 129 | #X obj 86 271 r \$0-inlet-pitch; 130 | #X msg 86 292 \$1 1; 131 | #X obj 589 48 declare -path abs/; 132 | #X obj 100 240 cnv 5 25 10 empty empty OUT 1 5 0 8 -1 -262144 0; 133 | #X obj 113 185 hsl 128 15 0 127 0 0 \$0-mallet-send \$0-mallet-rec 134 | MALLET 0 8 0 10 -1 -262144 -262144 12700 1; 135 | #X obj 418 22 loadbang; 136 | #X obj 418 43 f \$0; 137 | #N canvas 333 440 631 395 residual 0; 138 | #N canvas 0 22 450 278 (subpatch) 0; 139 | #X array \$0-residual 22558 float 0; 140 | #X coords 0 1 22557 -1 100 100 1 0 0; 141 | #X restore 131 35 graph; 142 | #X obj 131 140 loadbang; 143 | #X obj 131 224 soundfiler; 144 | #X obj 131 245 / 44.1; 145 | #X floatatom 131 266 5 0 0 0 - - -; 146 | #X obj 131 161 f \$0; 147 | #X obj 131 182 makefilename %d-residual; 148 | #X msg 131 203 read -resize audio/chopstick.aiff \$1; 149 | #X connect 1 0 5 0; 150 | #X connect 2 0 3 0; 151 | #X connect 3 0 4 0; 152 | #X connect 5 0 6 0; 153 | #X connect 6 0 7 0; 154 | #X connect 7 0 2 0; 155 | #X restore 316 114 pd residual; 156 | #X obj 245 168 bng 32 250 50 0 empty empty RAND 4 16 0 10 -1 -262144 157 | -262144; 158 | #X obj 513 196 list prepend \$0; 159 | #X obj 513 175 randomizer 10 128 128 128 128 128; 160 | #X obj 245 202 bng 32 250 50 0 empty empty INIT 4 16 0 10 -1 -262144 161 | -262144; 162 | #X msg 513 217 \; \$1-presets-rec \$2 \; \$1-pitch-rec \$3 \; \$1-vel-rec 163 | \$4 \; \$1-mallet-rec \$5 \; \$1-hardness-rec \$6 \; \$1-position-rec 164 | \$7 \;; 165 | #X msg 418 64 \; \$1-presets-rec 3 \; \$1-pitch-rec 60 \; \$1-vel-rec 166 | 64 \; \$1-mallet-rec 127 \; \$1-hardness-rec 64 \;; 167 | #X text 333 351 TODO: stick direct gain; 168 | #X text 344 367 TODO: do a slider for mallet instead of presets? like 169 | VCV rack; 170 | #X connect 1 0 27 0; 171 | #X connect 5 0 6 0; 172 | #X connect 5 0 14 0; 173 | #X connect 7 0 18 0; 174 | #X connect 8 0 7 0; 175 | #X connect 13 0 17 0; 176 | #X connect 17 0 28 0; 177 | #X connect 18 0 2 0; 178 | #X connect 18 1 17 0; 179 | #X connect 19 0 3 0; 180 | #X connect 20 0 21 0; 181 | #X connect 20 1 22 1; 182 | #X connect 20 2 21 1; 183 | #X connect 21 0 22 0; 184 | #X connect 22 0 23 0; 185 | #X connect 23 0 19 0; 186 | #X connect 23 1 24 0; 187 | #X connect 23 2 25 0; 188 | #X connect 23 3 26 0; 189 | #X connect 24 0 3 0; 190 | #X connect 25 0 3 0; 191 | #X connect 26 0 3 0; 192 | #X connect 29 0 30 0; 193 | #X connect 30 0 20 0; 194 | #X connect 34 0 35 0; 195 | #X connect 35 0 42 0; 196 | #X connect 37 0 39 0; 197 | #X connect 38 0 41 0; 198 | #X connect 39 0 38 0; 199 | #X connect 40 0 35 0; 200 | #X coords 0 -1 1 1 190 150 2 100 100; 201 | -------------------------------------------------------------------------------- /modal~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 417 105 783 537 10; 2 | #X declare -path presets/; 3 | #X declare -path abs/; 4 | #X obj 113 219 hsl 128 15 0 127 0 0 \$0-position-send \$0-position-rec 5 | POSITION 0 8 0 10 -1 -262144 -262144 6400 1; 6 | #X obj 113 168 hsl 128 15 0 127 0 0 empty \$0-vel-rec VEL 0 8 0 10 7 | -1 -262144 -262144 6400 1; 8 | #X obj 31 496 outlet~; 9 | #X obj 113 151 hsl 128 15 0 127 0 0 empty \$0-pitch-rec PITCH 0 8 0 10 | 10 -1 -262144 -262144 6000 1; 11 | #X obj 245 151 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 12 | -1 60 256; 13 | #X obj 110 134 hradio 15 1 0 9 \$0-presets-send \$0-presets-rec PRESETS 14 | 1 8 0 10 -1 -262144 -262144 3; 15 | #N canvas 77 72 1003 700 presets 0; 16 | #X obj 42 347 qlist; 17 | #X floatatom 48 66 5 0 0 0 - - -; 18 | #X msg 48 107 vibraphone; 19 | #X msg 78 167 coffeemug; 20 | #X obj 42 256 symbol; 21 | #X obj 42 277 makefilename %s.txt; 22 | #X msg 42 298 read \$1 \, bang; 23 | #X msg 58 127 marimba; 24 | #X msg 68 147 agogo; 25 | #X msg 128 107 wood1; 26 | #X msg 138 127 wood2; 27 | #X msg 148 147 reso; 28 | #X msg 158 167 marimba2; 29 | #X obj 375 46 r ###; 30 | #X obj 48 86 sel 0 1 2 3 4 5 6 7 8; 31 | #X msg 178 107 marimba3; 32 | #X obj 397 91 r \$0-presets-send; 33 | #X obj 397 132 route 0 1 2 3 4 5 6 7 8; 34 | #X obj 397 112 list append \$0; 35 | #X text 323 532 coffee mug; 36 | #X text 322 417 agogo; 37 | #X text 324 187 vibraphone; 38 | #X text 335 311 reso; 39 | #X text 563 183 marimba 1; 40 | #X text 573 287 marimba 2; 41 | #X text 569 401 marimba 3; 42 | #X text 539 521 wood 1; 43 | #X text 845 188 wood 2; 44 | #X msg 267 206 \; \$1-mode1 1 0.99995 0.025 \; \$1-mode2 2.01 0.99991 45 | 0.015 \; \$1-mode3 3.9 0.99992 0.015 \; \$1-mode4 14.37 0.9999 0.015 46 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 72 \;; 47 | #X msg 520 417 \; \$1-mode1 -132 0.99998 0.04 \; \$1-mode2 -529 0.99996 48 | 0.01 \; \$1-mode3 -1324 0.9996 0.01 \; \$1-mode4 -2461 0.9994 0.008 49 | \; \$1-mode5 -3937 0.999 0.008 \; \$1-position-rec 64 \;; 50 | #X msg 261 548 \; \$1-mode1 -2457 0.9998 0.109 \; \$1-mode2 -2609 0.9998 51 | 0.196 \; \$1-mode3 -3752 0.9998 0.092 \; \$1-mode4 -5786 0.9996 0.036 52 | \; \$1-mode5 -9057 0.9996 0.044 \; \$1-position-rec 64 \;; 53 | #X msg 525 200 \; \$1-mode1 1 0.9996 0.04 \; \$1-mode2 3.99 0.9994 54 | 0.01 \; \$1-mode3 10.65 0.9994 0.01 \; \$1-mode4 -2443 0.999 0.008 55 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 57 \;; 56 | #X msg 271 435 \; \$1-mode1 1 0.999 0.06 \; \$1-mode2 4.08 0.999 0.05 57 | \; \$1-mode3 6.669 0.999 0.03 \; \$1-mode4 -3725 0.999 0.02 \; \$1-mode5 58 | 0 0.9996 0 \; \$1-position-rec 46 \;; 59 | #X msg 505 541 \; \$1-mode1 1 0.996 0.04 \; \$1-mode2 2.777 0.994 0.01 60 | \; \$1-mode3 7.378 0.994 0.01 \; \$1-mode4 15.377 0.99 0.008 \; \$1-mode5 61 | 0 0.9996 0 \; \$1-position-rec 48 \;; 62 | #X msg 260 327 \; \$1-mode1 1 0.99996 0.02 \; \$1-mode2 2.777 0.99994 63 | 0.005 \; \$1-mode3 7.378 0.99994 0.005 \; \$1-mode4 15.377 0.9999 0.004 64 | \; \$1-mode5 0 0.9996 0 \; \$1-position-rec 32 \;; 65 | #X msg 812 217 \; \$1-mode1 1 0.996 0.04 \; \$1-mode2 1.777 0.994 0.01 66 | \; \$1-mode3 2.378 0.994 0.01 \; \$1-mode4 3.377 0.99 0.008 \; \$1-mode5 67 | 0 0.9996 0 \; \$1-position-rec 57 \;; 68 | #X msg 522 301 \; \$1-mode1 1 0.9998 0.04 \; \$1-mode2 3.99 0.9996 69 | 0.01 \; \$1-mode3 10.65 0.9996 0.01 \; \$1-mode4 -2443 0.9994 0.008 70 | \; \$1-mode5 9057 0 0 \; \$1-position-rec 64 \;; 71 | #X connect 1 0 14 0; 72 | #X connect 2 0 4 0; 73 | #X connect 3 0 4 0; 74 | #X connect 4 0 5 0; 75 | #X connect 5 0 6 0; 76 | #X connect 6 0 0 0; 77 | #X connect 7 0 4 0; 78 | #X connect 8 0 4 0; 79 | #X connect 9 0 4 0; 80 | #X connect 10 0 4 0; 81 | #X connect 11 0 4 0; 82 | #X connect 12 0 4 0; 83 | #X connect 14 0 2 0; 84 | #X connect 14 1 7 0; 85 | #X connect 14 2 8 0; 86 | #X connect 14 3 3 0; 87 | #X connect 14 4 9 0; 88 | #X connect 14 5 10 0; 89 | #X connect 14 6 11 0; 90 | #X connect 14 7 12 0; 91 | #X connect 14 8 15 0; 92 | #X connect 15 0 4 0; 93 | #X connect 16 0 18 0; 94 | #X connect 17 0 28 0; 95 | #X connect 17 1 34 0; 96 | #X connect 17 2 32 0; 97 | #X connect 17 3 30 0; 98 | #X connect 17 4 31 0; 99 | #X connect 17 5 36 0; 100 | #X connect 17 6 29 0; 101 | #X connect 17 7 33 0; 102 | #X connect 17 8 35 0; 103 | #X connect 18 0 17 0; 104 | #X restore 316 132 pd presets; 105 | #X obj 221 33 inlet~ pitch; 106 | #X obj 12 270 s \$0-pitch; 107 | #X obj 113 202 hsl 128 15 0 127 0 0 \$0-hardness-send \$0-hardness-rec 108 | HARDNESS 0 8 0 10 -1 -262144 -262144 6400 1; 109 | #X obj 589 28 declare -path presets/; 110 | #X obj 221 54 snapshot~; 111 | #X obj 86 397 modalpoly~ \$0; 112 | #X obj 86 313 poly 4 1; 113 | #X obj 86 334 stripnote; 114 | #X obj 86 355 pack f f; 115 | #X obj 86 376 route 1 2 3 4; 116 | #X obj 96 417 modalpoly~ \$0; 117 | #X obj 106 437 modalpoly~ \$0; 118 | #X obj 116 457 modalpoly~ \$0; 119 | #X obj 240 288 s \$0-velocity; 120 | #X obj 221 75 s \$0-inlet-pitch; 121 | #X obj 86 271 r \$0-inlet-pitch; 122 | #X msg 86 292 \$1 1; 123 | #X obj 589 48 declare -path abs/; 124 | #X obj 113 185 hsl 128 15 0 127 0 0 \$0-mallet-send \$0-mallet-rec 125 | MALLET 0 8 0 10 -1 -262144 -262144 12700 1; 126 | #X obj 418 22 loadbang; 127 | #X obj 418 43 f \$0; 128 | #N canvas 333 440 631 395 residual 0; 129 | #N canvas 0 22 450 278 (subpatch) 0; 130 | #X array \$0-residual 22558 float 0; 131 | #X coords 0 1 22557 -1 100 100 1 0 0; 132 | #X restore 131 35 graph; 133 | #X obj 131 140 loadbang; 134 | #X obj 131 224 soundfiler; 135 | #X obj 131 245 / 44.1; 136 | #X floatatom 131 266 5 0 0 0 - - -; 137 | #X obj 131 161 f \$0; 138 | #X obj 131 182 makefilename %d-residual; 139 | #X msg 131 203 read -resize audio/chopstick.aiff \$1; 140 | #X connect 1 0 5 0; 141 | #X connect 2 0 3 0; 142 | #X connect 3 0 4 0; 143 | #X connect 5 0 6 0; 144 | #X connect 6 0 7 0; 145 | #X connect 7 0 2 0; 146 | #X restore 316 114 pd residual; 147 | #X obj 245 168 bng 32 250 50 0 empty empty RAND 4 16 0 10 -1 -262144 148 | -262144; 149 | #X obj 513 196 list prepend \$0; 150 | #X obj 513 175 randomizer 10 128 128 128 128 128; 151 | #X obj 245 202 bng 32 250 50 0 empty empty INIT 4 16 0 10 -1 -262144 152 | -262144; 153 | #X msg 513 217 \; \$1-presets-rec \$2 \; \$1-pitch-rec \$3 \; \$1-vel-rec 154 | \$4 \; \$1-mallet-rec \$5 \; \$1-hardness-rec \$6 \; \$1-position-rec 155 | \$7 \;; 156 | #X msg 418 64 \; \$1-presets-rec 3 \; \$1-pitch-rec 60 \; \$1-vel-rec 157 | 64 \; \$1-mallet-rec 127 \; \$1-hardness-rec 64 \;; 158 | #X text 333 351 TODO: stick direct gain; 159 | #X text 344 367 TODO: do a slider for mallet instead of presets? like 160 | VCV rack; 161 | #X obj 23 21 inlet bang; 162 | #X connect 1 0 20 0; 163 | #X connect 3 0 4 0; 164 | #X connect 3 0 8 0; 165 | #X connect 7 0 11 0; 166 | #X connect 11 0 21 0; 167 | #X connect 12 0 2 0; 168 | #X connect 13 0 14 0; 169 | #X connect 13 1 15 1; 170 | #X connect 13 2 14 1; 171 | #X connect 14 0 15 0; 172 | #X connect 15 0 16 0; 173 | #X connect 16 0 12 0; 174 | #X connect 16 1 17 0; 175 | #X connect 16 2 18 0; 176 | #X connect 16 3 19 0; 177 | #X connect 17 0 2 0; 178 | #X connect 18 0 2 0; 179 | #X connect 19 0 2 0; 180 | #X connect 22 0 23 0; 181 | #X connect 23 0 13 0; 182 | #X connect 26 0 27 0; 183 | #X connect 27 0 34 0; 184 | #X connect 29 0 31 0; 185 | #X connect 30 0 33 0; 186 | #X connect 31 0 30 0; 187 | #X connect 32 0 27 0; 188 | #X connect 37 0 11 0; 189 | #X coords 0 537 1 536 190 150 0; 190 | -------------------------------------------------------------------------------- /output~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 0 0 615 578 12; 2 | #X obj 353 490 t b; 3 | #X obj 353 437 f; 4 | #X obj 353 515 f; 5 | #X msg 467 514 0; 6 | #X obj 353 467 moses 1; 7 | #X obj 467 486 t b f; 8 | #X obj 433 447 moses 1; 9 | #X obj 29 97 dbtorms; 10 | #X obj 85 170 inlet~; 11 | #X msg 299 310 \; pd dsp 1; 12 | #X obj 29 170 line~; 13 | #X obj 64 242 *~; 14 | #X obj 64 272 dac~; 15 | #X obj 29 127 pack 0 50; 16 | #X text 121 146 audio in; 17 | #X text 138 464 test if less than 1 -->; 18 | #X text 104 491 if true convert to bang -->; 19 | #X text 100 96 <-- convert from dB to linear units; 20 | #X floatatom 323 219 3 0 100 0 dB - -; 21 | #X obj 350 240 bng 15 250 50 0 empty empty mute -38 7 0 12 -262144 22 | -1 -1; 23 | #X text 118 126 <-- make a ramp to avoid clicks or zipper noise; 24 | #X obj 148 170 inlet~; 25 | #X obj 154 241 *~; 26 | #X text 373 378 MUTE logic:; 27 | #X obj 323 174 r \$0-master-lvl; 28 | #X obj 353 541 s \$0-master-lvl; 29 | #X obj 323 279 s \$0-master-out; 30 | #X obj 29 71 r \$0-master-out; 31 | #X obj 433 418 r \$0-master-out; 32 | #X text 60 10 Level control abstraction \, used in many of the Pd example 33 | patches. The "level" and "mute" controls show up on the parent \, calling 34 | patch.; 35 | #X text 66 517 previous nonzero master-lvl -->; 36 | #X text 138 421 recall previous; 37 | #X text 138 439 value of master-lvl -->; 38 | #X text 39 319 automatically start DSP -->; 39 | #X obj 85 192 hip~ 3; 40 | #X obj 147 192 hip~ 3; 41 | #X connect 0 0 2 0; 42 | #X connect 1 0 4 0; 43 | #X connect 2 0 25 0; 44 | #X connect 3 0 25 0; 45 | #X connect 4 0 0 0; 46 | #X connect 4 1 5 0; 47 | #X connect 5 0 3 0; 48 | #X connect 6 1 2 1; 49 | #X connect 7 0 13 0; 50 | #X connect 8 0 34 0; 51 | #X connect 10 0 22 0; 52 | #X connect 10 0 11 0; 53 | #X connect 11 0 12 0; 54 | #X connect 13 0 10 0; 55 | #X connect 18 0 9 0; 56 | #X connect 18 0 26 0; 57 | #X connect 19 0 1 0; 58 | #X connect 21 0 35 0; 59 | #X connect 22 0 12 1; 60 | #X connect 24 0 18 0; 61 | #X connect 27 0 7 0; 62 | #X connect 28 0 1 1; 63 | #X connect 28 0 6 0; 64 | #X connect 34 0 11 1; 65 | #X connect 35 0 22 1; 66 | #X coords 0 0 1 1 65 55 1 300 200; 67 | -------------------------------------------------------------------------------- /pluck.pd: -------------------------------------------------------------------------------- 1 | #N canvas 657 39 783 537 10; 2 | #X declare -path abs/; 3 | #X obj 113 191 hsl 128 15 0 127 0 0 \$0-pos-send \$0-pos-rec POSITION 4 | 0 8 0 10 -1 -262144 -262144 1000 1; 5 | #X obj 113 157 hsl 128 15 0 127 0 0 \$0-vel-send \$0-vel-rec VELOCITY 6 | 0 8 0 10 -1 -262144 -262144 8100 1; 7 | #X obj 102 112 bng 15 50 50 0 empty empty empty 17 7 0 10 -1 -228856 8 | -1; 9 | #X obj 171 117 cnv 15 5 5 empty empty PLUCK 1 9 0 14 -262144 -1 0; 10 | #X obj 113 140 hsl 128 15 0 127 0 0 \$0-pitch-send \$0-pitch-rec PITCH 11 | 0 8 0 10 -1 -262144 -262144 5300 1; 12 | #X obj 403 26 loadbang; 13 | #X obj 245 140 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 14 | -1 53 256; 15 | #X obj 23 42 threshold~ 0.9 0 0.9 0; 16 | #X obj 23 21 inlet~; 17 | #X obj 100 100 cnv 5 25 10 empty empty TRIG 1 5 0 8 -1 -262144 0; 18 | #X obj 265 100 cnv 5 25 10 empty empty PITCH 0 5 0 8 -1 -262144 0; 19 | #X obj 221 33 inlet~ pitch; 20 | #X obj 528 30 declare -path abs/; 21 | #N canvas 0 23 123 169 poly 0; 22 | #X obj 8 9 inlet bang; 23 | #X obj 8 30 f 0; 24 | #X obj 48 30 + 1; 25 | #X obj 48 51 mod 2; 26 | #X floatatom 8 101 5 0 0 0 - - -; 27 | #X obj 8 121 outlet; 28 | #X connect 0 0 1 0; 29 | #X connect 1 0 2 0; 30 | #X connect 1 0 4 0; 31 | #X connect 2 0 3 0; 32 | #X connect 3 0 1 1; 33 | #X connect 4 0 5 0; 34 | #X restore 60 306 pd poly 2; 35 | #X obj 23 63 t b b; 36 | #X obj 60 327 sel 0 1; 37 | #X obj 60 447 outlet~; 38 | #X obj 245 225 tgl 15 1 empty empty empty 17 7 0 10 -1 -262144 -1 1 39 | 1; 40 | #X obj 337 351 s \$0-doublestring; 41 | #N canvas 630 150 750 634 pluck1 0; 42 | #X obj 61 13 inlet bang; 43 | #X obj 233 236 rpole~; 44 | #X obj 296 29 / 127; 45 | #X obj 296 91 -; 46 | #X obj 357 440 -~; 47 | #X obj 184 468 -~; 48 | #X obj 184 582 outlet~; 49 | #X obj 357 516 *~; 50 | #X obj 372 465 r \$0-doublestring; 51 | #X obj 372 486 lop~ 50; 52 | #X obj 430 317 *~ 0.996; 53 | #X obj 432 125 mtof~; 54 | #X obj 432 104 +~; 55 | #X obj 432 83 sig~; 56 | #X obj 199 436 combdelay~; 57 | #X obj 372 407 combdelay~; 58 | #X obj 520 152 sig~; 59 | #X obj 233 168 catch~ \$0-exciter1; 60 | #X obj 514 71 r~ \$0-inlet-pitch; 61 | #X obj 184 387 string~ \$0; 62 | #X obj 357 359 string~ \$0; 63 | #N canvas 4 120 695 500 implement 0; 64 | #X obj 159 15 inlet; 65 | #X obj 159 36 t b f; 66 | #X obj 195 63 s \$0-slider-pitch; 67 | #X obj 144 277 noise~; 68 | #X obj 144 408 *~; 69 | #X obj 174 189 + 1; 70 | #X obj 144 429 throw~ \$0-exciter1; 71 | #X obj 159 323 line~; 72 | #X obj 159 344 cos~; 73 | #X obj 159 365 *~ 0.5; 74 | #X obj 159 386 +~ 0.5; 75 | #X obj 39 149 loadbang; 76 | #X obj 159 209 f 5; 77 | #X msg 159 302 -0.5 \, 0.5 \$1; 78 | #X obj 174 147 / 127; 79 | #X obj 174 168 * 19; 80 | #X obj 174 126 r \$0-pick-send; 81 | #X connect 0 0 1 0; 82 | #X connect 1 0 12 0; 83 | #X connect 1 1 2 0; 84 | #X connect 3 0 4 0; 85 | #X connect 4 0 6 0; 86 | #X connect 5 0 12 1; 87 | #X connect 7 0 8 0; 88 | #X connect 8 0 9 0; 89 | #X connect 9 0 10 0; 90 | #X connect 10 0 4 1; 91 | #X connect 11 0 12 0; 92 | #X connect 12 0 13 0; 93 | #X connect 13 0 7 0; 94 | #X connect 14 0 15 0; 95 | #X connect 15 0 5 0; 96 | #X connect 16 0 14 0; 97 | #X restore 61 49 pd implement; 98 | #X obj 296 70 swap 0.999; 99 | #X obj 296 49 * 0.15; 100 | #X obj 233 287 *~; 101 | #X obj 248 267 * 0.5; 102 | #X obj 432 41 r \$0-pitch-send; 103 | #X obj 432 62 max 20; 104 | #X obj 296 8 r \$0-vel-send; 105 | #X obj 520 110 r \$0-pos-send; 106 | #X obj 520 131 / 127; 107 | #X connect 0 0 21 0; 108 | #X connect 1 0 24 0; 109 | #X connect 2 0 25 0; 110 | #X connect 2 0 23 0; 111 | #X connect 3 0 1 1; 112 | #X connect 4 0 7 0; 113 | #X connect 5 0 6 0; 114 | #X connect 7 0 6 0; 115 | #X connect 8 0 9 0; 116 | #X connect 9 0 7 1; 117 | #X connect 10 0 15 1; 118 | #X connect 10 0 20 1; 119 | #X connect 11 0 10 0; 120 | #X connect 11 0 14 1; 121 | #X connect 11 0 19 1; 122 | #X connect 12 0 11 0; 123 | #X connect 13 0 12 0; 124 | #X connect 14 0 5 1; 125 | #X connect 15 0 4 1; 126 | #X connect 16 0 14 2; 127 | #X connect 16 0 15 2; 128 | #X connect 17 0 1 0; 129 | #X connect 18 0 12 1; 130 | #X connect 19 0 5 0; 131 | #X connect 19 0 14 0; 132 | #X connect 20 0 4 0; 133 | #X connect 20 0 15 0; 134 | #X connect 22 0 3 0; 135 | #X connect 22 1 3 1; 136 | #X connect 23 0 22 0; 137 | #X connect 24 0 20 0; 138 | #X connect 24 0 19 0; 139 | #X connect 25 0 24 1; 140 | #X connect 26 0 27 0; 141 | #X connect 27 0 13 0; 142 | #X connect 28 0 2 0; 143 | #X connect 29 0 30 0; 144 | #X connect 30 0 16 0; 145 | #X restore 60 349 pd pluck1; 146 | #X obj 245 157 bng 32 250 50 0 empty empty RAND 4 16 0 10 -1 -262144 147 | -262144; 148 | #X obj 221 75 s~ \$0-inlet-pitch; 149 | #X obj 221 54 *~ 127; 150 | #X obj 113 208 hsl 128 15 0 127 0 0 \$0-damp-send \$0-damp-rec DAMPEN 151 | 0 8 0 10 -1 -262144 -262144 1000 1; 152 | #X obj 100 250 cnv 5 25 10 empty empty OUT 1 5 0 8 -1 -262144 0; 153 | #X obj 113 174 hsl 128 15 0 127 0 0 \$0-pick-send \$0-pick-rec PICK 154 | 0 8 0 10 -1 -262144 -262144 2800 1; 155 | #X obj 245 191 bng 32 250 50 0 empty empty INIT 4 16 0 10 -1 -262144 156 | -262144; 157 | #X obj 403 47 f \$0; 158 | #N canvas 0 162 750 634 pluck2 0; 159 | #X obj 61 13 inlet bang; 160 | #X obj 233 236 rpole~; 161 | #X obj 296 29 / 127; 162 | #X obj 296 91 -; 163 | #X obj 357 440 -~; 164 | #X obj 184 468 -~; 165 | #X obj 184 582 outlet~; 166 | #X obj 357 516 *~; 167 | #X obj 372 465 r \$0-doublestring; 168 | #X obj 372 486 lop~ 50; 169 | #X obj 430 317 *~ 0.996; 170 | #X obj 432 125 mtof~; 171 | #X obj 432 104 +~; 172 | #X obj 432 83 sig~; 173 | #X obj 199 436 combdelay~; 174 | #X obj 372 407 combdelay~; 175 | #X obj 520 152 sig~; 176 | #X obj 514 71 r~ \$0-inlet-pitch; 177 | #X obj 184 387 string~ \$0; 178 | #X obj 357 359 string~ \$0; 179 | #N canvas 4 120 695 500 implement 0; 180 | #X obj 159 15 inlet; 181 | #X obj 159 36 t b f; 182 | #X obj 195 63 s \$0-slider-pitch; 183 | #X obj 144 277 noise~; 184 | #X obj 144 408 *~; 185 | #X obj 174 189 + 1; 186 | #X obj 159 323 line~; 187 | #X obj 159 344 cos~; 188 | #X obj 159 365 *~ 0.5; 189 | #X obj 159 386 +~ 0.5; 190 | #X obj 39 149 loadbang; 191 | #X obj 159 209 f 5; 192 | #X msg 159 302 -0.5 \, 0.5 \$1; 193 | #X obj 174 147 / 127; 194 | #X obj 174 168 * 19; 195 | #X obj 174 126 r \$0-pick-send; 196 | #X obj 144 429 throw~ \$0-exciter2; 197 | #X connect 0 0 1 0; 198 | #X connect 1 0 11 0; 199 | #X connect 1 1 2 0; 200 | #X connect 3 0 4 0; 201 | #X connect 4 0 16 0; 202 | #X connect 5 0 11 1; 203 | #X connect 6 0 7 0; 204 | #X connect 7 0 8 0; 205 | #X connect 8 0 9 0; 206 | #X connect 9 0 4 1; 207 | #X connect 10 0 11 0; 208 | #X connect 11 0 12 0; 209 | #X connect 12 0 6 0; 210 | #X connect 13 0 14 0; 211 | #X connect 14 0 5 0; 212 | #X connect 15 0 13 0; 213 | #X restore 61 49 pd implement; 214 | #X obj 296 70 swap 0.999; 215 | #X obj 296 49 * 0.15; 216 | #X obj 233 287 *~; 217 | #X obj 248 267 * 0.5; 218 | #X obj 432 41 r \$0-pitch-send; 219 | #X obj 432 62 max 20; 220 | #X obj 296 8 r \$0-vel-send; 221 | #X obj 520 110 r \$0-pos-send; 222 | #X obj 520 131 / 127; 223 | #X obj 233 168 catch~ \$0-exciter2; 224 | #X connect 0 0 20 0; 225 | #X connect 1 0 23 0; 226 | #X connect 2 0 24 0; 227 | #X connect 2 0 22 0; 228 | #X connect 3 0 1 1; 229 | #X connect 4 0 7 0; 230 | #X connect 5 0 6 0; 231 | #X connect 7 0 6 0; 232 | #X connect 8 0 9 0; 233 | #X connect 9 0 7 1; 234 | #X connect 10 0 15 1; 235 | #X connect 10 0 19 1; 236 | #X connect 11 0 10 0; 237 | #X connect 11 0 14 1; 238 | #X connect 11 0 18 1; 239 | #X connect 12 0 11 0; 240 | #X connect 13 0 12 0; 241 | #X connect 14 0 5 1; 242 | #X connect 15 0 4 1; 243 | #X connect 16 0 14 2; 244 | #X connect 16 0 15 2; 245 | #X connect 17 0 12 1; 246 | #X connect 18 0 5 0; 247 | #X connect 18 0 14 0; 248 | #X connect 19 0 4 0; 249 | #X connect 19 0 15 0; 250 | #X connect 21 0 3 0; 251 | #X connect 21 1 3 1; 252 | #X connect 22 0 21 0; 253 | #X connect 23 0 18 0; 254 | #X connect 23 0 19 0; 255 | #X connect 24 0 23 1; 256 | #X connect 25 0 26 0; 257 | #X connect 26 0 13 0; 258 | #X connect 27 0 2 0; 259 | #X connect 28 0 29 0; 260 | #X connect 29 0 16 0; 261 | #X connect 30 0 1 0; 262 | #X restore 70 369 pd pluck2; 263 | #X msg 403 68 \; \$1-pitch-rec 60 \; \$1-vel-rec 100 \; \$1-pick-rec 264 | 27 \; \$1-pos-rec 64 \; \$1-damp-rec 127 \;; 265 | #X obj 494 222 randomizer 127 127 127 127 127; 266 | #X obj 494 243 list prepend \$0; 267 | #X msg 494 264 \; \$1-pitch-rec \$2 \; \$1-vel-rec \$3 \; \$1-pick-rec 268 | \$4 \; \$1-pos-rec \$5 \; \$1-damp-rec \$6 \;; 269 | #X connect 2 0 13 0; 270 | #X connect 4 0 6 0; 271 | #X connect 5 0 27 0; 272 | #X connect 7 0 14 0; 273 | #X connect 8 0 7 0; 274 | #X connect 11 0 22 0; 275 | #X connect 13 0 15 0; 276 | #X connect 14 0 2 0; 277 | #X connect 15 0 19 0; 278 | #X connect 15 1 28 0; 279 | #X connect 17 0 18 0; 280 | #X connect 19 0 16 0; 281 | #X connect 20 0 30 0; 282 | #X connect 22 0 21 0; 283 | #X connect 26 0 27 0; 284 | #X connect 27 0 29 0; 285 | #X connect 28 0 16 0; 286 | #X connect 30 0 31 0; 287 | #X connect 31 0 32 0; 288 | #X coords 0 -1 1 1 190 160 2 100 100; 289 | -------------------------------------------------------------------------------- /pluck~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 53 132 783 537 10; 2 | #X declare -path abs/; 3 | #X obj 102 162 loadbang; 4 | #X obj 572 124 declare -path abs/; 5 | #N canvas 0 23 123 169 poly 0; 6 | #X obj 8 9 inlet bang; 7 | #X obj 8 30 f 0; 8 | #X obj 48 30 + 1; 9 | #X obj 48 51 mod 2; 10 | #X floatatom 8 101 5 0 0 0 - - -; 11 | #X obj 8 121 outlet; 12 | #X connect 0 0 1 0; 13 | #X connect 1 0 2 0; 14 | #X connect 1 0 4 0; 15 | #X connect 2 0 3 0; 16 | #X connect 3 0 1 1; 17 | #X connect 4 0 5 0; 18 | #X restore 23 306 pd poly 2; 19 | #X obj 23 327 sel 0 1; 20 | #X obj 23 447 outlet~; 21 | #X obj 409 257 s \$0-doublestring; 22 | #N canvas 0 162 750 634 pluck1 0; 23 | #X obj 61 13 inlet bang; 24 | #X obj 233 236 rpole~; 25 | #X obj 296 29 / 127; 26 | #X obj 296 91 -; 27 | #X obj 357 440 -~; 28 | #X obj 184 468 -~; 29 | #X obj 184 582 outlet~; 30 | #X obj 357 516 *~; 31 | #X obj 372 465 r \$0-doublestring; 32 | #X obj 372 486 lop~ 50; 33 | #X obj 430 317 *~ 0.996; 34 | #X obj 432 125 mtof~; 35 | #X obj 432 104 +~; 36 | #X obj 432 83 sig~; 37 | #X obj 199 436 combdelay~; 38 | #X obj 372 407 combdelay~; 39 | #X obj 520 152 sig~; 40 | #X obj 233 168 catch~ \$0-exciter1; 41 | #X obj 184 387 string~ \$0; 42 | #X obj 357 359 string~ \$0; 43 | #N canvas 4 120 695 500 implement 0; 44 | #X obj 159 15 inlet; 45 | #X obj 159 36 t b f; 46 | #X obj 195 63 s \$0-slider-pitch; 47 | #X obj 144 277 noise~; 48 | #X obj 144 408 *~; 49 | #X obj 174 189 + 1; 50 | #X obj 144 429 throw~ \$0-exciter1; 51 | #X obj 159 323 line~; 52 | #X obj 159 344 cos~; 53 | #X obj 159 365 *~ 0.5; 54 | #X obj 159 386 +~ 0.5; 55 | #X obj 39 149 loadbang; 56 | #X obj 159 209 f 5; 57 | #X msg 159 302 -0.5 \, 0.5 \$1; 58 | #X obj 174 147 / 127; 59 | #X obj 174 168 * 19; 60 | #X obj 174 126 r \$0-pick-rec; 61 | #X connect 0 0 1 0; 62 | #X connect 1 0 12 0; 63 | #X connect 1 1 2 0; 64 | #X connect 3 0 4 0; 65 | #X connect 4 0 6 0; 66 | #X connect 5 0 12 1; 67 | #X connect 7 0 8 0; 68 | #X connect 8 0 9 0; 69 | #X connect 9 0 10 0; 70 | #X connect 10 0 4 1; 71 | #X connect 11 0 12 0; 72 | #X connect 12 0 13 0; 73 | #X connect 13 0 7 0; 74 | #X connect 14 0 15 0; 75 | #X connect 15 0 5 0; 76 | #X connect 16 0 14 0; 77 | #X restore 61 49 pd implement; 78 | #X obj 296 70 swap 0.999; 79 | #X obj 296 49 * 0.15; 80 | #X obj 233 287 *~; 81 | #X obj 248 267 * 0.5; 82 | #X obj 432 62 max 20; 83 | #X obj 520 131 / 127; 84 | #X obj 296 8 r \$0-vel-rec; 85 | #X obj 432 41 r \$0-pitch-rec; 86 | #X obj 520 110 r \$0-pos-rec; 87 | #X connect 0 0 20 0; 88 | #X connect 1 0 23 0; 89 | #X connect 2 0 24 0; 90 | #X connect 2 0 22 0; 91 | #X connect 3 0 1 1; 92 | #X connect 4 0 7 0; 93 | #X connect 5 0 6 0; 94 | #X connect 7 0 6 0; 95 | #X connect 8 0 9 0; 96 | #X connect 9 0 7 1; 97 | #X connect 10 0 15 1; 98 | #X connect 10 0 19 1; 99 | #X connect 11 0 10 0; 100 | #X connect 11 0 14 1; 101 | #X connect 11 0 18 1; 102 | #X connect 12 0 11 0; 103 | #X connect 13 0 12 0; 104 | #X connect 14 0 5 1; 105 | #X connect 15 0 4 1; 106 | #X connect 16 0 14 2; 107 | #X connect 16 0 15 2; 108 | #X connect 17 0 1 0; 109 | #X connect 18 0 5 0; 110 | #X connect 18 0 14 0; 111 | #X connect 19 0 4 0; 112 | #X connect 19 0 15 0; 113 | #X connect 21 0 3 0; 114 | #X connect 21 1 3 1; 115 | #X connect 22 0 21 0; 116 | #X connect 23 0 19 0; 117 | #X connect 23 0 18 0; 118 | #X connect 24 0 23 1; 119 | #X connect 25 0 13 0; 120 | #X connect 26 0 16 0; 121 | #X connect 27 0 2 0; 122 | #X connect 28 0 25 0; 123 | #X connect 29 0 26 0; 124 | #X restore 23 349 pd pluck1; 125 | #X obj 102 183 f \$0; 126 | #N canvas 314 100 750 634 pluck2 0; 127 | #X obj 61 13 inlet bang; 128 | #X obj 233 236 rpole~; 129 | #X obj 296 29 / 127; 130 | #X obj 296 91 -; 131 | #X obj 357 440 -~; 132 | #X obj 184 468 -~; 133 | #X obj 184 582 outlet~; 134 | #X obj 357 516 *~; 135 | #X obj 372 465 r \$0-doublestring; 136 | #X obj 372 486 lop~ 50; 137 | #X obj 430 317 *~ 0.996; 138 | #X obj 432 125 mtof~; 139 | #X obj 432 104 +~; 140 | #X obj 432 83 sig~; 141 | #X obj 199 436 combdelay~; 142 | #X obj 372 407 combdelay~; 143 | #X obj 520 152 sig~; 144 | #X obj 184 387 string~ \$0; 145 | #X obj 357 359 string~ \$0; 146 | #N canvas 4 120 695 500 implement 0; 147 | #X obj 159 15 inlet; 148 | #X obj 159 36 t b f; 149 | #X obj 195 63 s \$0-slider-pitch; 150 | #X obj 144 277 noise~; 151 | #X obj 144 408 *~; 152 | #X obj 174 189 + 1; 153 | #X obj 159 323 line~; 154 | #X obj 159 344 cos~; 155 | #X obj 159 365 *~ 0.5; 156 | #X obj 159 386 +~ 0.5; 157 | #X obj 39 149 loadbang; 158 | #X obj 159 209 f 5; 159 | #X msg 159 302 -0.5 \, 0.5 \$1; 160 | #X obj 174 147 / 127; 161 | #X obj 174 168 * 19; 162 | #X obj 174 126 r \$0-pick-send; 163 | #X obj 144 429 throw~ \$0-exciter2; 164 | #X connect 0 0 1 0; 165 | #X connect 1 0 11 0; 166 | #X connect 1 1 2 0; 167 | #X connect 3 0 4 0; 168 | #X connect 4 0 16 0; 169 | #X connect 5 0 11 1; 170 | #X connect 6 0 7 0; 171 | #X connect 7 0 8 0; 172 | #X connect 8 0 9 0; 173 | #X connect 9 0 4 1; 174 | #X connect 10 0 11 0; 175 | #X connect 11 0 12 0; 176 | #X connect 12 0 6 0; 177 | #X connect 13 0 14 0; 178 | #X connect 14 0 5 0; 179 | #X connect 15 0 13 0; 180 | #X restore 61 49 pd implement; 181 | #X obj 296 70 swap 0.999; 182 | #X obj 296 49 * 0.15; 183 | #X obj 233 287 *~; 184 | #X obj 248 267 * 0.5; 185 | #X obj 432 62 max 20; 186 | #X obj 520 131 / 127; 187 | #X obj 233 168 catch~ \$0-exciter2; 188 | #X obj 296 8 r \$0-vel-rec; 189 | #X obj 432 41 r \$0-pitch-rec; 190 | #X obj 520 110 r \$0-pos-rec; 191 | #X connect 0 0 19 0; 192 | #X connect 1 0 22 0; 193 | #X connect 2 0 23 0; 194 | #X connect 2 0 21 0; 195 | #X connect 3 0 1 1; 196 | #X connect 4 0 7 0; 197 | #X connect 5 0 6 0; 198 | #X connect 7 0 6 0; 199 | #X connect 8 0 9 0; 200 | #X connect 9 0 7 1; 201 | #X connect 10 0 15 1; 202 | #X connect 10 0 18 1; 203 | #X connect 11 0 10 0; 204 | #X connect 11 0 14 1; 205 | #X connect 11 0 17 1; 206 | #X connect 12 0 11 0; 207 | #X connect 13 0 12 0; 208 | #X connect 14 0 5 1; 209 | #X connect 15 0 4 1; 210 | #X connect 16 0 14 2; 211 | #X connect 16 0 15 2; 212 | #X connect 17 0 5 0; 213 | #X connect 17 0 14 0; 214 | #X connect 18 0 4 0; 215 | #X connect 18 0 15 0; 216 | #X connect 20 0 3 0; 217 | #X connect 20 1 3 1; 218 | #X connect 21 0 20 0; 219 | #X connect 22 0 17 0; 220 | #X connect 22 0 18 0; 221 | #X connect 23 0 22 1; 222 | #X connect 24 0 13 0; 223 | #X connect 25 0 16 0; 224 | #X connect 26 0 1 0; 225 | #X connect 27 0 2 0; 226 | #X connect 28 0 24 0; 227 | #X connect 29 0 25 0; 228 | #X restore 33 369 pd pluck2; 229 | #X msg 102 204 \; \$1-pitch-rec 60 \; \$1-vel-rec 100 \; \$1-pick-rec 230 | 27 \; \$1-pos-rec 64 \; \$1-damp-rec 127 \;; 231 | #X obj 141 325 randomizer 127 127 127 127 127; 232 | #X obj 141 346 list prepend \$0; 233 | #X msg 141 367 \; \$1-pitch-rec \$2 \; \$1-vel-rec \$3 \; \$1-pick-rec 234 | \$4 \; \$1-pos-rec \$5 \; \$1-damp-rec \$6 \;; 235 | #X obj 23 21 inlet bang or pitch; 236 | #X obj 62 78 s \$0-pitch-rec; 237 | #X obj 339 20 inlet vel; 238 | #X obj 339 41 s \$0-vel-rec; 239 | #X obj 439 20 inlet pick; 240 | #X obj 439 41 s \$0-pick-rec; 241 | #X obj 539 20 inlet pos; 242 | #X obj 539 41 s \$0-pos-rec; 243 | #X obj 639 20 inlet damp; 244 | #X obj 639 41 s \$0-damp-rec; 245 | #X msg 376 186 1; 246 | #X msg 409 185 0; 247 | #X obj 23 42 route bang float init rand double single; 248 | #X obj 409 129 loadbang; 249 | #X obj 409 226 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 250 | 1; 251 | #X obj 374 320 r \$0-damp-rec; 252 | #X obj 374 341 s \$0-damp-send; 253 | #X connect 0 0 7 0; 254 | #X connect 2 0 3 0; 255 | #X connect 3 0 6 0; 256 | #X connect 3 1 8 0; 257 | #X connect 6 0 4 0; 258 | #X connect 7 0 9 0; 259 | #X connect 8 0 4 0; 260 | #X connect 10 0 11 0; 261 | #X connect 11 0 12 0; 262 | #X connect 13 0 25 0; 263 | #X connect 15 0 16 0; 264 | #X connect 17 0 18 0; 265 | #X connect 19 0 20 0; 266 | #X connect 21 0 22 0; 267 | #X connect 23 0 27 0; 268 | #X connect 24 0 27 0; 269 | #X connect 25 0 2 0; 270 | #X connect 25 1 14 0; 271 | #X connect 25 2 7 0; 272 | #X connect 25 3 10 0; 273 | #X connect 25 4 23 0; 274 | #X connect 25 5 24 0; 275 | #X connect 26 0 23 0; 276 | #X connect 27 0 5 0; 277 | #X connect 28 0 29 0; 278 | #X coords 0 537 1 536 190 160 0; 279 | -------------------------------------------------------------------------------- /presets/agogo.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1.0 0.999 0.06; 4 | mode2 4.08 0.999 0.05; 5 | mode3 6.669 0.999 0.03; 6 | mode4 -3725 0.999 0.02; 7 | mode5 0 0.9996 0; 8 | 9 | ### strike positions 10 | strikeposition -------------------------------------------------------------------------------- /presets/coffeemug.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 -2457 0.9998 0.109; 4 | mode2 -2609 0.9998 0.196; 5 | mode3 -3752 0.9998 0.092; 6 | mode4 -5786 0.9996 0.036; 7 | mode5 -9057 0.9996 0.044; -------------------------------------------------------------------------------- /presets/marimba.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1 0.9996 0.04; 4 | mode2 3.99 0.9994 0.01; 5 | mode3 10.65 0.9994 0.01; 6 | mode4 -2443 0.999 0.008; 7 | mode5 0 0.9996 0; -------------------------------------------------------------------------------- /presets/marimba2.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1.0 0.9998 0.04; 4 | mode2 3.99 0.9996 0.01; 5 | mode3 10.65 0.9996 0.01; 6 | mode4 -2443 0.9994 0.008; 7 | mode5 9057 0.0 0.0; -------------------------------------------------------------------------------- /presets/marimba3.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 -132 0.99998 0.04; 4 | mode2 -529 0.99996 0.01; 5 | mode3 -1324 0.9996 0.01; 6 | mode4 -2461 0.9994 0.008; 7 | mode5 -3937 0.999 0.008; -------------------------------------------------------------------------------- /presets/modes.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 -2457 0.9998 0.109; 4 | mode2 -2609 0.9998 0.196; 5 | mode3 -3752 0.9998 0.092; 6 | mode4 -5786 0.9996 0.036; 7 | mode5 -9057 0.9996 0.044; -------------------------------------------------------------------------------- /presets/reso.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1.0 0.99996 0.02; 4 | mode2 2.777 0.99994 0.005; 5 | mode3 7.378 0.99994 0.005; 6 | mode4 15.377 0.9999 0.004; 7 | mode5 0 0.9996 0; -------------------------------------------------------------------------------- /presets/vibraphone.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1 0.99995 0.025; 4 | mode2 2.01 0.99991 0.015; 5 | mode3 3.9 0.99992 0.015; 6 | mode4 14.37 0.9999 0.015; 7 | mode5 0 0.9996 0; -------------------------------------------------------------------------------- /presets/wood1.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1.0 0.996 0.04; 4 | mode2 2.777 0.994 0.01; 5 | mode3 7.378 0.994 0.01; 6 | mode4 15.377 0.99 0.008; 7 | mode5 0 0.9996 0; -------------------------------------------------------------------------------- /presets/wood2.txt: -------------------------------------------------------------------------------- 1 | ### modename freq resonance amp; 2 | 3 | mode1 1.0 0.996 0.04; 4 | mode2 1.777 0.994 0.01; 5 | mode3 2.378 0.994 0.01; 6 | mode4 3.377 0.99 0.008; 7 | mode5 0 0.9996 0; -------------------------------------------------------------------------------- /shake.pd: -------------------------------------------------------------------------------- 1 | #N canvas 479 51 801 785 10; 2 | #X declare -path presets/; 3 | #X declare -path abs/; 4 | #X obj 113 219 hsl 128 15 0 127 0 0 \$0-particles-send \$0-particles-rec 5 | PARTICLES 0 8 0 10 -1 -262144 -262144 6400 1; 6 | #X obj 113 168 hsl 128 15 0 127 0 0 \$0-vel-send \$0-vel-rec VEL 0 7 | 8 0 10 -1 -262144 -262144 12700 1; 8 | #X obj 102 112 bng 15 50 50 0 empty empty empty 17 7 0 10 -1 -228856 9 | -1; 10 | #X obj 143 477 outlet~; 11 | #X obj 176 113 cnv 15 5 5 empty empty SHAKE 5 9 0 14 -262144 -1 0; 12 | #X obj 113 151 hsl 128 15 0 127 0 0 empty \$0-pitch-rec PITCH 0 8 0 13 | 10 -1 -262144 -262144 6000 1; 14 | #X obj 245 151 nbx 3 15 0 127 0 0 empty empty empty 0 -8 0 10 -1 -262144 15 | -1 60 256; 16 | #X obj 23 42 threshold~ 0.9 0 0.9 0; 17 | #X obj 23 21 inlet~; 18 | #X obj 110 134 hradio 15 1 0 8 empty \$0-presets-rec PRESETS 1 8 0 19 | 10 -1 -262144 -262144 3; 20 | #N canvas 555 358 608 466 presets 0; 21 | #X obj 48 45 inlet; 22 | #X obj 175 357 qlist; 23 | #X obj 159 14 loadbang; 24 | #X floatatom 48 66 5 0 0 0 - - -; 25 | #X obj 48 86 sel 0 1 2 3 4 5 6 7; 26 | #X msg 48 107 vibraphone; 27 | #X msg 78 167 coffeemug; 28 | #X obj 42 256 symbol; 29 | #X obj 42 277 makefilename %s.txt; 30 | #X msg 42 298 read \$1 \, bang; 31 | #X msg 58 127 marimba; 32 | #X msg 68 147 agogo; 33 | #X msg 128 107 wood1; 34 | #X msg 138 127 wood2; 35 | #X msg 148 147 reso; 36 | #X msg 158 167 marimba2; 37 | #X obj 375 46 r ###; 38 | #X connect 0 0 3 0; 39 | #X connect 3 0 4 0; 40 | #X connect 4 0 5 0; 41 | #X connect 4 1 10 0; 42 | #X connect 4 2 11 0; 43 | #X connect 4 3 6 0; 44 | #X connect 4 4 12 0; 45 | #X connect 4 5 13 0; 46 | #X connect 4 6 14 0; 47 | #X connect 4 7 15 0; 48 | #X connect 5 0 7 0; 49 | #X connect 6 0 7 0; 50 | #X connect 7 0 8 0; 51 | #X connect 8 0 9 0; 52 | #X connect 9 0 1 0; 53 | #X connect 10 0 7 0; 54 | #X connect 11 0 7 0; 55 | #X connect 12 0 7 0; 56 | #X connect 13 0 7 0; 57 | #X connect 14 0 7 0; 58 | #X connect 15 0 7 0; 59 | #X restore 481 271 pd presets; 60 | #X obj 100 100 cnv 5 25 10 empty empty TRIG 1 5 0 8 -1 -262144 0; 61 | #X obj 265 100 cnv 5 25 10 empty empty PITCH 0 5 0 8 -1 -262144 0; 62 | #X obj 221 33 inlet~ pitch; 63 | #X obj 12 270 s \$0-pitch; 64 | #N canvas 333 440 631 395 implement 0; 65 | #X obj 37 21 inlet select; 66 | #X msg 37 128 label IMPULSE; 67 | #X obj 37 92 sel 0 1 2; 68 | #X msg 47 148 label NOISE; 69 | #X msg 57 168 label STICK; 70 | #N canvas 0 22 450 278 (subpatch) 0; 71 | #X array \$0-residual 22558 float 0; 72 | #X coords 0 1 22557 -1 100 100 1 0 0; 73 | #X restore 271 35 graph; 74 | #X obj 271 140 loadbang; 75 | #X obj 271 224 soundfiler; 76 | #X obj 271 245 / 44.1; 77 | #X floatatom 271 266 5 0 0 0 - - -; 78 | #X obj 271 161 f \$0; 79 | #X obj 271 182 makefilename %d-residual; 80 | #X msg 271 203 read -resize audio/chopstick.aiff \$1; 81 | #X obj 37 219 s \$0-implement-label; 82 | #X obj 37 42 s \$0-implement; 83 | #X connect 0 0 2 0; 84 | #X connect 0 0 14 0; 85 | #X connect 1 0 13 0; 86 | #X connect 2 0 1 0; 87 | #X connect 2 1 3 0; 88 | #X connect 2 2 4 0; 89 | #X connect 3 0 13 0; 90 | #X connect 4 0 13 0; 91 | #X connect 6 0 10 0; 92 | #X connect 7 0 8 0; 93 | #X connect 8 0 9 0; 94 | #X connect 10 0 11 0; 95 | #X connect 11 0 12 0; 96 | #X connect 12 0 7 0; 97 | #X restore 339 486 pd implement; 98 | #X obj 113 202 hsl 128 15 0 127 0 0 empty \$0-size-rec SIZE 0 8 0 10 99 | -1 -262144 -262144 6400 1; 100 | #X obj 589 28 declare -path presets/; 101 | #X obj 221 54 snapshot~; 102 | #X obj 378 217 s \$0-size; 103 | #X obj 23 63 t b b; 104 | #X obj 221 75 s \$0-inlet-pitch; 105 | #X obj 86 271 r \$0-inlet-pitch; 106 | #X obj 589 48 declare -path abs/; 107 | #X obj 100 240 cnv 5 25 10 empty empty OUT 1 5 0 8 -1 -262144 0; 108 | #X obj 238 375 hsl 128 15 0 127 0 0 empty \$0-mallet-rec MALLET 0 8 109 | 0 10 -1 -262144 -262144 12700 1; 110 | #X obj 418 22 loadbang; 111 | #X obj 418 43 f \$0; 112 | #X obj 113 185 hsl 128 15 0 127 0 0 \$0-shake-send \$0-shake-rec SHAKE 113 | 0 8 0 10 -1 -262144 -262144 0 1; 114 | #X msg 418 64 \; \$1-presets-rec 3 \; \$1-pitch-rec 60 \; \$1-vel-rec 115 | 127 \; \$1-mallet-rec 127 \; \$1-size-rec 64 \; \$1-particles-rec 64 116 | \;; 117 | #X obj 380 20 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 118 | -1; 119 | #X obj 293 266 r \$0-particles-send; 120 | #N canvas 502 200 604 595 shake-algorithm 0; 121 | #X obj 119 27 r \$0-shake-send; 122 | #X obj 119 48 / 127; 123 | #X obj 134 87 r \$0-vel-send; 124 | #X obj 134 108 / 127; 125 | #X obj 119 130 * 1; 126 | #X obj 119 181 moses 0.001; 127 | #X text 198 181 < min energy; 128 | #X msg 119 202 0; 129 | #X obj 334 37 loadbang; 130 | #X msg 334 58 1; 131 | #X obj 334 79 metro 1; 132 | #X obj 334 100 random 1024; 133 | #X obj 334 186 moses 64; 134 | #X obj 379 122 r \$0-particles-send; 135 | #X msg 334 207 bang; 136 | #X obj 353 278 del 1; 137 | #X obj 61 154 f; 138 | #X obj 119 233 * 0.999; 139 | #X obj 119 304 * 0; 140 | #X msg 134 269 1; 141 | #X msg 164 269 0; 142 | #X obj 119 345 + 0; 143 | #X obj 134 324 f; 144 | #X obj 119 366 t f f; 145 | #X obj 196 396 * 0.95; 146 | #X text 240 397 < sound decay; 147 | #N canvas 104 80 626 599 particles 0; 148 | #X obj 256 84 inlet bang; 149 | #X obj 256 150 pack f f f; 150 | #X obj 61 412 outlet~; 151 | #X msg 256 106 \$1 1; 152 | #X obj 61 194 particle 2800 0.995; 153 | #X obj 61 216 particle 2240 0.995; 154 | #X obj 61 238 particle 3360 0.995; 155 | #X obj 61 260 particle 2800 0.995; 156 | #X obj 61 326 particle 2800 0.995; 157 | #X obj 61 282 particle 2240 0.995; 158 | #X obj 61 348 particle 2240 0.995; 159 | #X obj 256 172 route 1 2 3 4 5 6 7 8 9; 160 | #X obj 61 304 particle 3360 0.995; 161 | #X obj 61 368 particle 3360 0.995; 162 | #X obj 256 128 poly 9 1; 163 | #X connect 0 0 3 0; 164 | #X connect 1 0 11 0; 165 | #X connect 3 0 14 0; 166 | #X connect 4 0 5 0; 167 | #X connect 5 0 6 0; 168 | #X connect 6 0 7 0; 169 | #X connect 7 0 9 0; 170 | #X connect 8 0 10 0; 171 | #X connect 9 0 12 0; 172 | #X connect 10 0 13 0; 173 | #X connect 11 0 4 1; 174 | #X connect 11 1 5 1; 175 | #X connect 11 2 6 1; 176 | #X connect 11 3 7 1; 177 | #X connect 11 4 9 1; 178 | #X connect 11 5 12 1; 179 | #X connect 11 6 8 1; 180 | #X connect 11 7 10 1; 181 | #X connect 11 8 13 1; 182 | #X connect 12 0 8 0; 183 | #X connect 13 0 2 0; 184 | #X connect 14 0 1 0; 185 | #X connect 14 1 1 1; 186 | #X connect 14 2 1 2; 187 | #X restore 119 421 pd particles; 188 | #X obj 119 442 outlet~; 189 | #X floatatom 79 90 5 0 0 0 - - -; 190 | #X obj 119 69 * 0.3; 191 | #X obj 238 15 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 192 | -1; 193 | #N canvas 0 23 450 300 shake 0; 194 | #X obj 109 36 inlet bang; 195 | #X obj 109 58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 196 | -1; 197 | #X obj 109 179 outlet; 198 | #X msg 138 149 0; 199 | #X obj 138 127 del 500; 200 | #X msg 109 157 0.1; 201 | #X connect 0 0 1 0; 202 | #X connect 1 0 5 0; 203 | #X connect 1 0 4 0; 204 | #X connect 3 0 2 0; 205 | #X connect 4 0 3 0; 206 | #X connect 5 0 2 0; 207 | #X restore 238 35 pd shake; 208 | #X obj 334 228 t b b b; 209 | #X obj 379 143 max 2; 210 | #X connect 0 0 1 0; 211 | #X connect 1 0 29 0; 212 | #X connect 2 0 3 0; 213 | #X connect 3 0 4 1; 214 | #X connect 4 0 5 0; 215 | #X connect 5 0 7 0; 216 | #X connect 5 1 17 0; 217 | #X connect 7 0 17 0; 218 | #X connect 8 0 9 0; 219 | #X connect 9 0 10 0; 220 | #X connect 10 0 11 0; 221 | #X connect 11 0 12 0; 222 | #X connect 12 0 14 0; 223 | #X connect 13 0 33 0; 224 | #X connect 14 0 32 0; 225 | #X connect 15 0 20 0; 226 | #X connect 16 0 5 0; 227 | #X connect 17 0 16 1; 228 | #X connect 17 0 18 0; 229 | #X connect 18 0 21 0; 230 | #X connect 19 0 18 1; 231 | #X connect 20 0 18 1; 232 | #X connect 21 0 23 0; 233 | #X connect 22 0 21 1; 234 | #X connect 23 0 26 0; 235 | #X connect 23 1 24 0; 236 | #X connect 24 0 22 1; 237 | #X connect 26 0 27 0; 238 | #X connect 29 0 4 0; 239 | #X connect 29 0 28 0; 240 | #X connect 30 0 31 0; 241 | #X connect 31 0 4 0; 242 | #X connect 32 0 22 0; 243 | #X connect 32 1 16 0; 244 | #X connect 32 1 15 0; 245 | #X connect 32 2 19 0; 246 | #X connect 33 0 12 1; 247 | #X restore 143 434 pd shake-algorithm; 248 | #X connect 5 0 6 0; 249 | #X connect 5 0 14 0; 250 | #X connect 7 0 20 0; 251 | #X connect 8 0 7 0; 252 | #X connect 9 0 10 0; 253 | #X connect 13 0 18 0; 254 | #X connect 16 0 19 0; 255 | #X connect 18 0 21 0; 256 | #X connect 20 0 2 0; 257 | #X connect 20 1 18 0; 258 | #X connect 25 0 15 0; 259 | #X connect 26 0 27 0; 260 | #X connect 27 0 29 0; 261 | #X connect 30 0 27 0; 262 | #X connect 32 0 3 0; 263 | #X coords 0 -1 1 1 190 150 2 100 100; 264 | -------------------------------------------------------------------------------- /shake~.pd: -------------------------------------------------------------------------------- 1 | #N canvas 479 51 801 785 10; 2 | #X declare -path presets/; 3 | #X declare -path abs/; 4 | #X obj 113 168 hsl 128 15 0 127 0 0 \$0-vel-send \$0-vel-rec VEL 0 5 | 8 0 10 -1 -262144 -262144 12700 1; 6 | #X obj 143 477 outlet~; 7 | #X obj 52 242 hsl 128 15 0 127 0 0 empty \$0-pitch-rec PITCH 0 8 0 8 | 10 -1 -262144 -262144 6000 1; 9 | #X obj 477 215 hradio 15 1 0 8 empty \$0-presets-rec PRESETS 1 8 0 10 | 10 -1 -262144 -262144 3; 11 | #N canvas 555 358 608 466 presets 0; 12 | #X obj 48 45 inlet; 13 | #X obj 175 357 qlist; 14 | #X obj 159 14 loadbang; 15 | #X floatatom 48 66 5 0 0 0 - - -; 16 | #X obj 48 86 sel 0 1 2 3 4 5 6 7; 17 | #X msg 48 107 vibraphone; 18 | #X msg 78 167 coffeemug; 19 | #X obj 42 256 symbol; 20 | #X obj 42 277 makefilename %s.txt; 21 | #X msg 42 298 read \$1 \, bang; 22 | #X msg 58 127 marimba; 23 | #X msg 68 147 agogo; 24 | #X msg 128 107 wood1; 25 | #X msg 138 127 wood2; 26 | #X msg 148 147 reso; 27 | #X msg 158 167 marimba2; 28 | #X obj 375 46 r ###; 29 | #X text 211 66 TODO!!!; 30 | #X connect 0 0 3 0; 31 | #X connect 3 0 4 0; 32 | #X connect 4 0 5 0; 33 | #X connect 4 1 10 0; 34 | #X connect 4 2 11 0; 35 | #X connect 4 3 6 0; 36 | #X connect 4 4 12 0; 37 | #X connect 4 5 13 0; 38 | #X connect 4 6 14 0; 39 | #X connect 4 7 15 0; 40 | #X connect 5 0 7 0; 41 | #X connect 6 0 7 0; 42 | #X connect 7 0 8 0; 43 | #X connect 8 0 9 0; 44 | #X connect 9 0 1 0; 45 | #X connect 10 0 7 0; 46 | #X connect 11 0 7 0; 47 | #X connect 12 0 7 0; 48 | #X connect 13 0 7 0; 49 | #X connect 14 0 7 0; 50 | #X connect 15 0 7 0; 51 | #X restore 481 271 pd presets; 52 | #X obj 12 270 s \$0-pitch; 53 | #N canvas 337 444 631 395 implement 0; 54 | #X obj 37 21 inlet select; 55 | #X msg 37 128 label IMPULSE; 56 | #X obj 37 92 sel 0 1 2; 57 | #X msg 47 148 label NOISE; 58 | #X msg 57 168 label STICK; 59 | #N canvas 0 22 450 278 (subpatch) 0; 60 | #X array \$0-residual 22558 float 0; 61 | #X coords 0 1 22557 -1 100 100 1 0 0; 62 | #X restore 271 35 graph; 63 | #X obj 271 140 loadbang; 64 | #X obj 271 224 soundfiler; 65 | #X obj 271 245 / 44.1; 66 | #X floatatom 271 266 5 0 0 0 - - -; 67 | #X obj 271 161 f \$0; 68 | #X obj 271 182 makefilename %d-residual; 69 | #X msg 271 203 read -resize audio/chopstick.aiff \$1; 70 | #X obj 37 219 s \$0-implement-label; 71 | #X obj 37 42 s \$0-implement; 72 | #X connect 0 0 2 0; 73 | #X connect 0 0 14 0; 74 | #X connect 1 0 13 0; 75 | #X connect 2 0 1 0; 76 | #X connect 2 1 3 0; 77 | #X connect 2 2 4 0; 78 | #X connect 3 0 13 0; 79 | #X connect 4 0 13 0; 80 | #X connect 6 0 10 0; 81 | #X connect 7 0 8 0; 82 | #X connect 8 0 9 0; 83 | #X connect 10 0 11 0; 84 | #X connect 11 0 12 0; 85 | #X connect 12 0 7 0; 86 | #X restore 339 486 pd implement; 87 | #X obj 113 202 hsl 128 15 0 127 0 0 empty \$0-size-rec SIZE 0 8 0 10 88 | -1 -262144 -262144 6400 1; 89 | #X obj 589 28 declare -path presets/; 90 | #X obj 305 136 snapshot~; 91 | #X obj 378 217 s \$0-size; 92 | #X obj 305 157 s \$0-inlet-pitch; 93 | #X obj 589 48 declare -path abs/; 94 | #X obj 327 417 hsl 128 15 0 127 0 0 empty \$0-mallet-rec MALLET 0 8 95 | 0 10 -1 -262144 -262144 12700 1; 96 | #X obj 418 22 loadbang; 97 | #X obj 418 43 f \$0; 98 | #X msg 418 64 \; \$1-presets-rec 3 \; \$1-pitch-rec 60 \; \$1-vel-rec 99 | 127 \; \$1-mallet-rec 127 \; \$1-size-rec 64 \; \$1-particles-rec 64 100 | \;; 101 | #X obj 380 20 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 102 | -1; 103 | #X obj 293 266 r \$0-particles-send; 104 | #N canvas 755 282 604 595 shake-algorithm 1; 105 | #X obj 119 48 / 127; 106 | #X obj 134 108 / 127; 107 | #X obj 119 130 * 1; 108 | #X obj 119 181 moses 0.001; 109 | #X text 198 181 < min energy; 110 | #X msg 119 202 0; 111 | #X obj 334 37 loadbang; 112 | #X msg 334 58 1; 113 | #X obj 334 79 metro 1; 114 | #X obj 334 100 random 1024; 115 | #X obj 334 186 moses 64; 116 | #X msg 334 207 bang; 117 | #X obj 353 278 del 1; 118 | #X obj 61 154 f; 119 | #X obj 119 233 * 0.999; 120 | #X obj 119 304 * 0; 121 | #X msg 134 269 1; 122 | #X msg 164 269 0; 123 | #X obj 119 345 + 0; 124 | #X obj 134 324 f; 125 | #X obj 119 366 t f f; 126 | #X obj 196 396 * 0.95; 127 | #X text 240 397 < sound decay; 128 | #N canvas 104 80 626 599 particles 0; 129 | #X obj 256 84 inlet bang; 130 | #X obj 256 150 pack f f f; 131 | #X obj 61 412 outlet~; 132 | #X msg 256 106 \$1 1; 133 | #X obj 61 194 particle 2800 0.995; 134 | #X obj 61 216 particle 2240 0.995; 135 | #X obj 61 238 particle 3360 0.995; 136 | #X obj 61 260 particle 2800 0.995; 137 | #X obj 61 326 particle 2800 0.995; 138 | #X obj 61 282 particle 2240 0.995; 139 | #X obj 61 348 particle 2240 0.995; 140 | #X obj 256 172 route 1 2 3 4 5 6 7 8 9; 141 | #X obj 61 304 particle 3360 0.995; 142 | #X obj 61 368 particle 3360 0.995; 143 | #X obj 256 128 poly 9 1; 144 | #X connect 0 0 3 0; 145 | #X connect 1 0 11 0; 146 | #X connect 3 0 14 0; 147 | #X connect 4 0 5 0; 148 | #X connect 5 0 6 0; 149 | #X connect 6 0 7 0; 150 | #X connect 7 0 9 0; 151 | #X connect 8 0 10 0; 152 | #X connect 9 0 12 0; 153 | #X connect 10 0 13 0; 154 | #X connect 11 0 4 1; 155 | #X connect 11 1 5 1; 156 | #X connect 11 2 6 1; 157 | #X connect 11 3 7 1; 158 | #X connect 11 4 9 1; 159 | #X connect 11 5 12 1; 160 | #X connect 11 6 8 1; 161 | #X connect 11 7 10 1; 162 | #X connect 11 8 13 1; 163 | #X connect 12 0 8 0; 164 | #X connect 13 0 2 0; 165 | #X connect 14 0 1 0; 166 | #X connect 14 1 1 1; 167 | #X connect 14 2 1 2; 168 | #X restore 119 421 pd particles; 169 | #X obj 119 442 outlet~; 170 | #X floatatom 79 90 5 0 0 0 - - -; 171 | #X obj 119 69 * 0.3; 172 | #X obj 238 15 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 173 | -1; 174 | #N canvas 0 23 450 300 shake 0; 175 | #X obj 109 36 inlet bang; 176 | #X obj 109 58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 177 | -1; 178 | #X obj 109 179 outlet; 179 | #X msg 138 149 0; 180 | #X obj 138 127 del 500; 181 | #X msg 109 157 0.1; 182 | #X connect 0 0 1 0; 183 | #X connect 1 0 5 0; 184 | #X connect 1 0 4 0; 185 | #X connect 3 0 2 0; 186 | #X connect 4 0 3 0; 187 | #X connect 5 0 2 0; 188 | #X restore 238 35 pd shake; 189 | #X obj 334 228 t b b b; 190 | #X obj 379 143 max 2; 191 | #X obj 119 27 r \$0-shake-rec; 192 | #X obj 134 87 r \$0-vel-rec; 193 | #X obj 379 122 r \$0-particles-rec; 194 | #X connect 0 0 26 0; 195 | #X connect 1 0 2 1; 196 | #X connect 2 0 3 0; 197 | #X connect 3 0 5 0; 198 | #X connect 3 1 14 0; 199 | #X connect 5 0 14 0; 200 | #X connect 6 0 7 0; 201 | #X connect 7 0 8 0; 202 | #X connect 8 0 9 0; 203 | #X connect 9 0 10 0; 204 | #X connect 10 0 11 0; 205 | #X connect 11 0 29 0; 206 | #X connect 12 0 17 0; 207 | #X connect 13 0 3 0; 208 | #X connect 14 0 13 1; 209 | #X connect 14 0 15 0; 210 | #X connect 15 0 18 0; 211 | #X connect 16 0 15 1; 212 | #X connect 17 0 15 1; 213 | #X connect 18 0 20 0; 214 | #X connect 19 0 18 1; 215 | #X connect 20 0 23 0; 216 | #X connect 20 1 21 0; 217 | #X connect 21 0 19 1; 218 | #X connect 23 0 24 0; 219 | #X connect 26 0 2 0; 220 | #X connect 26 0 25 0; 221 | #X connect 27 0 28 0; 222 | #X connect 28 0 2 0; 223 | #X connect 29 0 19 0; 224 | #X connect 29 1 13 0; 225 | #X connect 29 1 12 0; 226 | #X connect 29 2 16 0; 227 | #X connect 30 0 10 1; 228 | #X connect 31 0 0 0; 229 | #X connect 32 0 1 0; 230 | #X connect 33 0 30 0; 231 | #X restore 143 434 pd shake-algorithm; 232 | #X obj 23 90 s \$0-shake-rec; 233 | #X obj 23 21 inlet shake; 234 | #X text 316 108 TODO: pitch; 235 | #X obj 165 27 inlet particles; 236 | #X obj 165 77 s \$0-particles-rec; 237 | #X connect 2 0 5 0; 238 | #X connect 3 0 4 0; 239 | #X connect 7 0 10 0; 240 | #X connect 9 0 11 0; 241 | #X connect 13 0 6 0; 242 | #X connect 14 0 15 0; 243 | #X connect 15 0 16 0; 244 | #X connect 17 0 15 0; 245 | #X connect 19 0 1 0; 246 | #X connect 21 0 20 0; 247 | #X connect 23 0 24 0; 248 | #X coords 0 785 1 784 190 150 0; 249 | --------------------------------------------------------------------------------