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