amazing how much that sounds like a real struck guitar string for such a simple patch.
Orm Finnendahl wrote:
Hi,
attached an annotated implementation of karplus strong in pd for anybody interested.
-- Orm
#N canvas 452 71 569 635 12; #X obj 106 530 delwrite~ buffer 1000; #X obj 68 162 noise~; #X obj 68 214 *~; #X msg 174 161 0; #X msg 140 161 1; #X obj 140 70 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 173 97 5 0 0 0 - - -; #X obj 61 489 *~ 0.99; #X floatatom 119 468 5 0 0 0 - - -; #X obj 90 330 biquad~ 0 0 0 0 1; #X obj 91 364 *~ 0.5; #X obj 30 364 *~ 0.5; #X obj 50 402 +~; #X obj 45 531 dac~; #X obj 174 134 del 3; #X obj 91 268 vd~ buffer 100; #X text 260 330 delay one sample; #X text 103 405 0.5 * f[n] + 0.5 * f[n-1]; #X text 106 429 (average betwen current and last sample); #X text 312 532 write back into buffer; #X text 231 255 read out buffer; #X text 212 164 fill buffer with random values; #X text 184 471 damping (set between 0 and 1); #X text 232 275 delay time translates into pitch; #X text 36 69 play sound; #X text 233 97 delay time translates into pitch; #X obj 257 43 loadbang; #X msg 257 66 14; #X text 39 17 PD implementation of the karplus strong algorithm; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 5 0 4 0; #X connect 5 0 14 0; #X connect 6 0 14 1; #X connect 6 0 15 0; #X connect 7 0 0 0; #X connect 7 0 13 1; #X connect 7 0 13 0; #X connect 8 0 7 1; #X connect 9 0 10 0; #X connect 10 0 12 1; #X connect 11 0 12 0; #X connect 12 0 7 0; #X connect 14 0 3 0; #X connect 15 0 11 0; #X connect 15 0 9 0; #X connect 26 0 27 0; #X connect 27 0 6 0;
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list