Hi Peter, BTW: The patch in the pd tutorial uses [z~ 1] which you can replace with [biquad~ 0 0 0 1 0] and your suggestion to do the averaging in the biquad~ should simplify that patch even more.
The probability based polarity change could be done using the attached patch. -- Orm Am Dienstag, den 14. Juni 2016 um 10:51:16 Uhr (+0200) schrieb Peter P.: > Hi list, > > I am trying to implement Karplus-Strong and am wondering about the > following questions: > > - I run the feedback-delay inside a subpatch that is re[block~ 1]ed to 1 > sample blocksize. Will a biquad~ object work correctly with blocksizes > of 1 as well? > > - The Karplus-Strong paper recommends a simple one sample delay moving > average filter: y(n) = 0.5 * [x(n) + x(n+1)]. Would > [biquad~ 0 0 0.5 0.5 0] be the correct implementation of it then? > > - Low frequencies (DC) recirculate forever in such a patch. I wonder > what practice people have came up with to cope with this. I would > suspect putting a factor <1 into the feedback loop, or a [hip~ 3] or > something similar? Is there a standard way? I guess not... > > - Karplus-Strong seems to get interesting if the phase of each sample is > randomly reversed in the feedback path (the 'drum' algorithm). The > probability of such a phase reversal should be controllable using a > 'p' parameter, which is a float value between 0 and 1, and which > describes the probability that a sample is phase-reversed (multiplied > by one). > How can this be implemented in vanilla Pd (using blocksize 1)? > > Thank you for any ideas to the above questions. I checked the > mailinglist-archive and have not found anything about these ones. > > P > > _______________________________________________ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list
#N canvas 765 130 450 570 10; #X obj 105 178 noise~; #X obj 118 423 print~; #X obj 190 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 69 273 abs~; #X obj 122 218 sig~ 0.5; #X obj 105 239 -~; #X obj 210 54 vsl 15 128 -1 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 7000 1; #X floatatom 210 190 5 0 0 0 - - -, f 5; #X obj 86 300 -~; #X obj 88 349 clip~ 0 2; #X obj 88 371 -~ 1; #X obj 87 328 *~ 1e+36; #X connect 0 0 5 0; #X connect 2 0 1 0; #X connect 3 0 8 0; #X connect 4 0 5 1; #X connect 5 0 8 1; #X connect 5 0 3 0; #X connect 6 0 7 0; #X connect 6 0 2 0; #X connect 7 0 4 0; #X connect 8 0 11 0; #X connect 9 0 10 0; #X connect 10 0 1 0; #X connect 11 0 9 0;
_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list