w3c
 
Welcome, Guest. Please login or register.
Did you miss your activation email?

 
   Home   Help Search Blog Login Register  
Pages: [1]
  Print  
Author Topic: Karplus-Strong Algorithm?  (Read 2767 times)
clarenceatomkraft
phpBB Junior Member

View Profile
« on: August 25, 2006, 07:26:35 PM »

Anyone tried to do some solid state experiments using Karplus-Strong plucked string synthesis?...it seems like it might be a straighforward thing to do but I've only seen it done and done it myself using computers...the basic elements needed are: a noisy source with complex harmonics, like white noise or a shifting waveform, a very short and easily fine tuned delay line, a filter (low pass I think) and then a trigger to open and close the process. As far as I can remember the noise source is fed into the delay line that uses feedback, much like a flanger, to create a reasonant frequncy which builds up in the delay. I think the filter is used to create the shifting tone you would get from a guitar (but in my experience it sounds more like a koto or a harpsichord). I don't have the necessary tools to try it out at the moment but I would be interested in hearing if anyone has tried. I think that even if it didn't work as a fully functioning synth the process might be an interesting source of noisy fun...;-)
Logged
clarenceatomkraft
phpBB Junior Member

View Profile
« Reply #1 on: August 29, 2006, 02:26:12 AM »

No takers then?

So anyway I was looking into the whole k-sa thing and I found out that I had missed out on something - it averages the signal before it is sent into the feedback loop, which of course shows exactly how it works: the signal is noisy and complex at the initial stage but, when it is averaged, the flangy resonance caused by the short feedback time becomes more and more aparent until the signal becomes pure and sine like...

Anyone have any idea how to average a signal? (this could have interesting applications in itself for feedback loops)...

Also I found a bucket brigade delay module at http://www.doepfer.net called the A-188-1 that can be used to similate plucked strings...a bit expensive though ...is there any bbd schematics going about by any chance?
Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #2 on: August 29, 2006, 12:06:53 PM »

"Average the signal" just sounds like "Follow the envelope" to me ;)

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
clarenceatomkraft
phpBB Junior Member

View Profile
« Reply #3 on: August 29, 2006, 09:29:51 PM »

Follow the envelope as in using an envelope follower? I've used envelope following with computers (max/msp and such) but I can't 100% grasp how one would be used to average the pitch of a signal since I've only ever used them to affect amplitude, but then again maybe I'm still thinking in terms of computers. The implementation of k-s that I'm looking at right now merely delays a signal by one sample multiplies both signals by 0.5 and then adds them together. So would this mean that it's not really the averaging that is important but the minute delay...Hmmmmm I'm a bit confused...ugh, well anyway it looks like there is a lot more research for me to do anyway, thanks for all and any help ;-)

p.s. While dabbling with the k-s example I discovered that when the delay and averaging part of the module is removed the entire thing turns into a comb filter type thing...hmmmm....
Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #4 on: August 30, 2006, 02:18:28 AM »

Wait-I thought you were referring to the amplitude of the signal when you said averaging the signal.

When you say averaging the frequency I think of fundamental filtering.  Is that more along the lines of what you're thinking?

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
clarenceatomkraft
phpBB Junior Member

View Profile
« Reply #5 on: August 30, 2006, 04:23:09 AM »

yeah, I was thinking about filtering too, but the more I look into it the less I am sure that it is pitch averaging. As I mentioned, looking into the workings of the Karplus-Strong implementation it did, in fact, seem merely to be a crude averaging following a one sample delay and this made all the difference. Of course that would mean creating a delay of 1/44,100 of a second, and how the hell would you get that in a solid state form? I know that you can use pic chips to do the dsp for this algorithm, but that's no fun and requires programming skills that I surely don't have and maybe don't want ;-)...It's quite clear that I don't really know what I'm talking about, but I posted this topic to see if anyone had tried it already. I think it has the potential to be an interesting part of the diy noise maker's arsenal. For example I was originally thinking of it's uses as a synth or chaotic noise maker but it could potentially be used as an audio effect. Find attached an mp3 file of a drum and bass loop (the most normal sample I had) put through a rudimentary k-s module with a few little changes...

btw the program I'm messing around with is Miller S. Puckette's PD.

* dumloop.mp3 (1373.43 KB - downloaded 185 times.)
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.12 | SMF © 2006-2009, Simple Machines LLC