Dynamically changing Delay Line

daveronan's icon

Hello,

Does anyone know how to create a dynamically changing delay line using tap in tap out where it doesn't distort the audio too much. I am trying to create continuous non-linearity in the string. Excuse me if I don't have the terminology correct.

Cheers,

Dave

Tim Lloyd's icon

Are you modulating the delay line at audio rate? That's the first step. The second would be to smooth the changes in the modulating signal with onepole~/slide~/rampsmooth~ etc... if necessary. This depends on how you're modulating though, if you're using an lfo (cycle~/phasor~ etc...) then a smoothing filter won't be necessary.

I'm not well-versed in physical string modelling (sounds like what you're doing), so I can't offer much advice on exactly how to go about achieving the non-linearity that you want.

daveronan's icon

Nice one Tim. I'll give that a try. What I have tried to do is modulate the delay length of a Karplus strong with a another Karplus Strong so that it kind of fades out and eventually stops changing the delay length but it's still a bit glitchy. Cheers anyway!

daveronan's icon

I'm afraid modulating the delay line with the audio rate distorts it even more.I'm going to have to figure something else out. Thanks for your help anyway.

Tim Lloyd's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Could you post an example? You should be able to modulate tapout~ at audio rate with no glitches/distortions. Maybe you're modulating so fast you're creating FM sidebands, hard to say without seeing a patch.

pid's icon

tim is right as usual. in the meantime, the poletti m4l example is sitting in your patches folder and works great: Max5/patches/m4l-patches/Tools resources/M4L.vdelay~.maxpat

daveronan's icon

Nice one guys. The patch I have attached is part of a bigger patch. I'm trying to physically model a sitar as part of my masters thesis. All the main inner workings of my model are contained in the patch I have attached.

881.string.maxpat
Max Patch
daveronan's icon

Actually might as well include the whole thing for clarity. At the moment I have it set to modulate the tapin tap out with not using the audio rate. Everything is in the string1 subpatch

882.BiDirectionalDelay2.maxpat
Max Patch
Tim Lloyd's icon

I made some tiny changes that seem to have stopped the distortion, but I may be missing something; it's a big patch! The bits I changed are outlined in red.

883.bi-directional-waveguide-sitar.maxpat
Max Patch
daveronan's icon

That's perfect Tim!! Thank you so much, you've saved me many a panic attack. My thesis is due in a few weeks.

oli larkin's icon

interested to hear the final thing did you do more to it?

oli

daveronan's icon

I have indeed, submitted my thesis last week. Please find attached and enjoy.

1139.Sitar.zip
zip
Rob Ramirez's icon

impressive!

pid's icon

great stuff.

you forgot to include the "sitar.mid" file?...

daveronan's icon

It's not worth listening to really, very simple demo of its sound. Although, I did do a composition using it. Its not very obvious I used it though because of all the time stretching. http://soundcloud.com/davidronan

It's called "Called Anon Tiro"

oli larkin's icon

really good work, thanks for posting. Will you make the thesis available too?

it's a shame that the tuning is compromised in the higher registers. A bit better with sigvs @ 4, but then the cpu goes through the roof.

oli

daveronan's icon

I will indeed, I still have a week to make a few changes to the writing, I'll post it when it is finished.

Ya the thing eats cpu big time, it's a pity.