#N canvas 93 26 497 377 10; #X obj -38 11 inlet midi_note; #X obj 44 99 inlet width; #X obj 77 185 inlet decay; #X obj 156 186 inlet cutoff; #X obj -37 293 outlet~; #N canvas 324 371 194 221 excitation~ 0; #X obj 31 18 inlet midi_note; #X obj 101 39 inlet width; #X obj 30 120 vline~; #X obj 100 123 noise~; #X obj 30 154 *~; #X obj 30 181 outlet~; #X obj 30 44 bang; #X obj 74 69 del 5; #X msg 30 87 1 1; #X msg 74 90 0 1; #X connect 0 0 6 0; #X connect 1 0 7 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 5 0; #X connect 6 0 8 0; #X connect 6 0 7 0; #X connect 7 0 9 0; #X connect 8 0 2 0; #X connect 9 0 2 0; #X restore -37 123 pd excitation~; #N canvas 349 54 652 388 body~ 0; #X obj 38 172 inlet~; #X obj 163 264 outlet~; #X obj 259 -11 block~ 1; #X obj 92 229 delwrite~ \$0-dl 1000; #X obj 92 131 delread~ \$0-dl 12; #X obj 92 168 lop~ 4000; #X obj 92 194 *~ 0.99; #X obj 92 12 mtof; #X obj 92 36 t b f; #X obj 92 84 /; #X msg 92 60 1; #X obj 92 107 * 1000; #X obj 92 -12 inlet midi_note; #X obj 214 165 inlet decay; #X obj 213 141 inlet cutoff; #X text 258 -54 Block size needs to be 1 sample for this subpatch to ensure correct tuning and operation for delay line feedback; #X text 151 70 Convert a midi note into the required delay line length (in ms) to generate said pitch.; #X connect 0 0 3 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 6 0 1 0; #X connect 6 0 3 0; #X connect 7 0 8 0; #X connect 8 0 10 0; #X connect 8 1 9 1; #X connect 9 0 11 0; #X connect 10 0 9 0; #X connect 11 0 4 0; #X connect 12 0 7 0; #X connect 13 0 6 1; #X connect 14 0 5 1; #X restore -37 245 pd body~; #X obj -38 35 s \$0-midi_note; #X obj -37 77 r \$0-midi_note; #X obj -22 171 r \$0-midi_note; #X text 55 121 excitation generates a short noise burst the specied width; #X text 22 245 body filters the excitation noise in a pitch specific delay line; #X connect 0 0 7 0; #X connect 1 0 5 1; #X connect 2 0 6 3; #X connect 3 0 6 2; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 8 0 5 0; #X connect 9 0 6 1; #X coords 0 0 1 1 200 100 0;