Hi list,
I am trying to implement Karplus-Strong and am wondering about the following questions:
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