R: [PD] resonant comb filter series

Davide Morelli info at davidemorelli.it
Wed Feb 16 16:35:09 CET 2005

Hi Derek,

Thank you for the explanation, Karplus-Strong gives charimng sounds.
But I can't make it resonate at the frequency I want.
I made a little testing patch trying to follow your guidelines as much as I
What's wrong?

I googled a bit and I always found that deltime should be
deltime (sec) = 1/Freq(Hz)

example: to get a A440 sound I should
deltime (msec) = (1/440)*1000

why must we do
deltime (msec) = (samplerate~ / Freq(Hz)) / 1000

I can't get it...
(.. newbie)

> -----Messaggio originale-----
> Da: pd-list-admin at iem.at [mailto:pd-list-admin at iem.at]Per conto di derek
> holzer
> Inviato: martedì 15 febbraio 2005 17.48
> A: pun chik
> Cc: PD-List
> Oggetto: [PD] resonant comb filter series
> Hi Pun Chik,
>  > hi . can u send me an example patch of this harmonic series of resonant
>  > comb filters...im really interested in learning this. an example patch
>  > would be really nice
> I'm a bit too busy to make a simple demo right now, but the principle is
> easy to understand:
> A comb filter is simply a very short delay with a high amount of
> feedback. It is so short that it's length becomes an oscillating
> waveform. Try making a simple [delwrite~ delayname] and a [vd~
> delayname]. Now make a feedback loop by connecting the [vd~ delayname]
> back into the [delwrite~ delayname], and multiply this by a number less
> than 1. Something between .9 and .99 will give you a good ringing sound.
> The output of the [vd~ delayname] also gets sent out to the [adc~] for
> you to hear.
> Divide the samplerate by the frequency you want the comb filter to
> resonate at, then divide by 1000 to get the delay length to send to the
> [vd~ delayname]. It would be good to put your [delwrite~] and [vd~]
> objects in a subpatch with a [block~ 1] object, which sets the blocksize
> to 1 and allows for the shortest possible delay times [which in turn
> gives you the highest possible resonant frequencies].
> To make a resonant series, make multiple instances of this [as
> abstractions, don't forget to use $0 in the "delayname"!], and send the
> base frequency to the first comb filter abstraction, and multiplications
> or divisions of that to subsequent "harmonic" subpatches. Integers
> [2,3,4...] will produce clean harmonics, while other numbers [.98, 1.34,
> 2.22...] will be detuned to various degrees, resulting in an acoustic
> "beating" phenomenon as waveforms amplify and cancel each other out.
> The same audio input is sent to all the comb filters. Sharp, percussive
> sounds will "ring" the filters, giving you a plucked-string kind of
> sound. Continuous sounds give something like a guitar or sitar type of
> drone. Try changing the multipliers of the "harmonic" filters for
> different drone or tonal effects.
> All in all, I find it is much better for people to understand the
> principles of how these things work, so building your own will be great
> practice! Google for "karplus-strong" for more technical/mathmatical info.
> Good luck,
> derek
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-karplus.pd
Type: application/octet-stream
Size: 1969 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20050216/afa336f3/attachment.obj>

More information about the Pd-list mailing list