Alternative to Karplus-Strong

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
I've discovered that you can get a Karplus-Strong like sound by simply playing a looped buffer of noise through a lowpass filter with decreasing cutoff. (The cutoff should decrease sharply at first, then more slowly over time.) There's no need to modify the buffer as you go.

Demo: https://jsfiddle.net/byrsgkv7/3/ (https://jsfiddle.net/byrsgkv7/3/) It uses a naive 4th order filter, but any other lowpass filter will work too.

Actually I like it more than K-S:

- Pitch depends only on buffer length. No need to account for filter delay, like in K-S.

- If you want to start at the 2 second mark, or run the decay backwards, you can. Unlike K-S where you must start at the beginning and move only forward.

Is this idea known? I've tried to find it online but couldn't. Any obvious next steps?
Last edited by vladimirslepnev on Thu Mar 21, 2019 10:08 am, edited 2 times in total.

Post

yes, it makes sense that this should sound somewhat similar.
Is this idea known? I've tried to find it online but couldn't.
actually, it's just subtractive synthesis with a waveform defined by your noise buffer and a decay-envelope on the cutoff. you could do this with any subtractive synthesizer that allows importing single-cycle waveforms - just use a chunk of noise as your cycle. i don't think, this has (or deserves) a special name
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Update: I made another demo to test if people can distinguish my algorithm from K-S. You can play a sound and then guess.

https://jsfiddle.net/egcuhna4/3/ (https://jsfiddle.net/egcuhna4/3/)

Post

I couldn't see what makes noise sound tonal. After all it was low pass filtered not band pass filtered at intended harmonics and then mixed.
~stratum~

Post

It sounds tonal because I'm playing a fixed length buffer of noise over and over :-)

Post

Vladimir, do you have any reference or derivation on that cheap gauss function?
JamOrigin.com

Like us on Facebook.com/JamOrigin and follow us on Twitter @JamOrigin

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
It's adapted from a comment by user "sellibitze" in this Reddit discussion: https://www.reddit.com/r/DSP/comments/b ... ss_filter/ (https://www.reddit.com/r/DSP/comments/b235ac/implementing_a_sweepable_gaussian_lowpass_filter/)

Post

really nice mate, i like your approach's sound more than the k-s sound, or at the very least this is a cool implementation to have as an option for an osc to switch between, i have been experimenting with something somewhat similar, but didn't get clean results like you did. maybe this gives motivation to go back to it. thanks for sharing.

Post Reply

Return to “DSP and Plugin Development”