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 could. 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 instead?
I can't get it... (.. newbie)
-----Messaggio originale----- Da: pd-list-admin@iem.at [mailto:pd-list-admin@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