[PD] biquad and karplus-strong

Peter P. peterparker at fastmail.com
Tue Jun 14 10:51:16 CEST 2016


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



More information about the Pd-list mailing list