karplus-strong physmod string model not possible on Mod

Anything about the Scope modular synths

Moderators: valis, garyb

Post Reply
User avatar
kensuguro
Posts: 4434
Joined: Sun Jul 08, 2001 4:00 pm
Location: BPM 60 to somewhere around 150
Contact:

Post by kensuguro »

This is sort of a cross post from the device/module wishlist, but I just found out after a while of experimenting, that there is no way physmod is possible on Mod.

Just as a memory refresher, the Karplus-Strong string modeling method uses several delays in a feedback loop (represents the string), and sends it an impulse (pluck, etc.) to cause sound. The delay time controls how long the string is, and inturn controls pitch.

So this is basically what all the "plucked string" type physmod does. I decided to try to implement it using the mod delay module in ModIII and try to make me one.

Problems:
CW mod delay module has built in lowpass and so the signal altered during the delay. (thanx to j9k for informing me about this) For Karplus-Strong, you need delays that simply delay what you feed it, and throws it back 100% unaltered.

Delay time controls pitch, and theoretically, modulating the delay time of mod delay can control pitch. It works, to an extent, but there is no way to control pitch using the keyboard, as in, I can't convert MIDI note numbers to proper delay time format. Ideally, I would convert like this: notenumber->hertz->time it takes for 1 cycle in millisecs. In Mod, there are no objects that can do Note number->hertz conversion.

With the experiment I did, I got some sound... using a bunch of improper workarounds, (out went the concept of scientific accuracy) and ended up with a string that could be plucked by keystroke, pitch controled with a const val slider (range was only about 4 semitones). The plucked sound was okay, but the decay would morph into a sin wave at high pitches, and morph into a squarewave at low pitches. If anyone's interested, I'll post the patch.

Conclusion? The result I got sounds nothing like a plucked string. It's scientifically totally inaccurate, and the pitch can't be effectively controlled. BUT, the resulting sound is really strange and almost magical. I think I may even tweak it so that it's playable as an instrument of its own kind.

<font size=-1>[ This Message was edited by: kensuguro on 2004-04-29 09:23 ]</font>
j9k
Posts: 266
Joined: Sun Feb 24, 2002 4:00 pm
Location: san diego
Contact:

Post by j9k »

the modulation delay doesn't have a lowpass built in exactly. what it's doing is averaging between the samples which is what a lowpass filter does but differently.

a 200 sample delay has a modulation input of min to max which is a range of 4,294,967,296. if you divide the modulation range by how large the delay is you get 21,474,836. so every time your modulation signal hits a multiple of that number you will get exactly out what goes in. inbetween though it's crossfading between each sample of delay.

the feedback mdl also introduces one sample of delay(which i just found out recently myself). so you probably need two of them in your patch.

j9k


_________________
if you're not up to much you get .....crushed

<font size=-1>[ This Message was edited by: j9k on 2004-04-29 15:36 ]</font>
User avatar
at0m
Posts: 4743
Joined: Sat Jun 30, 2001 4:00 pm
Location: Bubble Metropolis
Contact:

Post by at0m »

A problem with working on such tight timings, using Xmod&Feedback or Flexor's Sample Delay, is also known as the phase issue. We have no control over which dsp the module is loaded on. Most of the time you load the patch, it will sit right on the same chip, but if you have bad luck it doesn't. This can make a couple samples difference in the flow, making a patch (and it's presets) somewhat unpredictable, especially if it's a larger circuit.

Hey j9k, smart Slew Rate Limiter idea of yours, it uses that sample delay feedback for interpolation :smile:


Nordmod patch uses sample delays for counters, to make sure events happen in the right sequence. An example is the arpeggiator patch, which uses fast logics to scan pressed keys.

Ken, fingers crossed we can play with DP one of these, that opens some more perspectives :cool:
Post Reply