[PD] biquad and karplus-strong

Alexandre Torres Porres porres at gmail.com
Tue Jun 14 20:29:14 CEST 2016


Hi Peter, I tried my best to do a faithful implementation of the Karplus
Strong algorithm (with the probability function and all) as described in
that paper. I have it in my didactic material that I use to teach my
students - one thing though, I'm from Brazil and the thing is being
developed in portuguese. You find the latest version in here:
https://sites.google.com/site/porres/pd

more specifically
Material de apoio do curso de Live Electronics da "EL Locus Solus"
<https://sites.google.com/site/porres/Live%20Electronics%20%28EL%20Locus%20Solus%29%20-%20Porres.zip?attredirects=0&d=1>

Even more specifically, the karplus strong is the last folder, in "Parte 6
- Filtros e Reverb", there you finder folder "*32.Karplus-Strong*". Even
even more specifically, the algorithm is *2.Algoritmo.Karplus-Strong.pd*

This is an ever ongoing project of mine that I doubt I'll ever finish btw,
and I keep rewriting it. Karplus Strong was one of the latest additions,
and I'm sure I'll rewrite it. I'm actually sending another patch attached,
as I think the way the output is connected now makes more sense, what do
you think?

I think that using vline~ is more accurate and elegant than [del] as in
kriedler's implementation. I also didn't like the way there was a
delay/latency of one period because the envelope goes first to the delay
line before going to the output. So I had done it differently in the
current version in my didactic work, but I'm now considering this new idea.

I use fexpr~ for the mean filter, but I had also used sometimes biquad~ in
the same way as you suggested. I think biquad~ should work with a block of
1, if not it is buggy! You can easily test it though.

Note you can use other filters instead of the mean average filter. That was
chosen back in the day for convenience, we have more options now, lop~
would be a nice one by the way.

cheers

2016-06-14 12:35 GMT-03:00 Jesse Mejia <jmejia at anestheticaudio.com>:

> I haven't heard of decay stretching in KS - I'm interested in this - where
> is info on that?
>
> > On Jun 14, 2016, at 6:38 AM, Orm Finnendahl <
> orm.finnendahl at selma.hfmdk-frankfurt.de> wrote:
> >
> > Hi Peter,
> >
> >> Am Dienstag, den 14. Juni 2016 um 15:05:57 Uhr (+0200) schrieb Peter P.:
> >> Thank you! This is quite elegant, vanilla Pd and works with a blocksize
> >> of 1 as well! Did you come up with this or is there another source which
> >> can be credited?
> >
> > The polarity was done from scratch today. The Karplus Strong patch was
> > done by Johannes Kreidler with my help when he was studying with me.
> >
> >>
> >> I am wondering if someone implemented the Karplus' and Strong's 'decay
> >> stretching' in Pd as well.
> >
> > Don't know what that is.
> >
> > --
> > Orm
> >
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160614/10646fd9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Karplus-Strong.pd
Type: application/octet-stream
Size: 8073 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160614/10646fd9/attachment-0001.obj>


More information about the Pd-list mailing list