Kyma Forum
  Kyma Support
  Delay modulation?

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Delay modulation?
patrik
Member
posted 20 May 2013 10:23         Edit/Delete Message   Reply w/Quote
Hello!
I have run into problems modulating a delay. What i want is to modulate the delay time with a falling Ramp, so, if the ramp speed is double the delay buffer time the sound would play backwards. Many interesting effects can be achieved this way on other platforms like the Nord Modular or MaxMSP. Of course small clicks can be heard when the write and read position cross each other, but that's ok for me.

But in kyma I can only check "smooth delay changes" which makes the changes too smooth, too slow. Or I can leave it unchecked but have some very brutal artefacts in the output, due to (i guess) to low sampling rate of the modulation signal.

Aren't there many applications for audio signal rate delay time modulations?
How could this be achieved in kyma?
Thanks a lot!

IP: Logged

SSC
Administrator
posted 20 May 2013 13:34         Edit/Delete Message   Reply w/Quote
If you want to go backwards through the delay, perhaps the best approach would be a MemoryWriter plus a Sample with "FromMemoryWriter" checked. In the Frequency field of the Sample, you could use:

default * (1 - (1 repeatingFullRamp))

This would be a ramp down that goes negative (ending up going backwards through the recorded buffer).

IP: Logged

pete
Member
posted 20 May 2013 14:24         Edit/Delete Message   Reply w/Quote
Hi Patrik

You could also try a waveshaper (along with a matching memory writer) to play back at different rates and directions. The value you put in the index input is where along the memory you play, but this is controlling it at sample rate, not control rate. It means that you need to supply a ramp in the index input just to hear the sound and control it with modules knitted together, as capytalk will put it back to control rate again.

You can use lo pass filters to smooth the index and get a cleaner sound, but you will probably have problems getting a clean join when the ramp jumps from +1 back to-1. I don't have a solution for that unless you are using a Capybara.


IP: Logged

patrik
Member
posted 17 June 2013 20:22         Edit/Delete Message   Reply w/Quote
@SSC I don't want to sound kinky but I what I really want is a delay, controllable a t signal rate. I guess it is definitly possible to create a delay out of memory write/sample, but when I tried it I coudn't achieve so short delay times as with the dalay module. It sounded different for sure or I made a mistake.
Anyways, I would find it strange anyways to rebuild the delay Sound because the original one can not be modulated at signal rate (or not so easily?). Is there a reason why this is not possible?

@ pete, thanks! So going with a ramp or other modulation rate signal through a waveshaper with a linear lookup table would perform some kind of upsampling? I think I don't quite get it and hav no time to try it out right now, and would really like to understand what you mean.

Thanks again!

IP: Logged

pete
Member
posted 20 June 2013 15:49         Edit/Delete Message   Reply w/Quote
Hi Patrik

You have to twist the waveshaper around in your head and look at it in a different way.

What the wave shaper does is take an input ranging from -1 to +1 and outputs the value that it finds in the wave table that matches the position. Input -1 is the start of the table and +1 is the end. Now think of the table as a big sample ( good few seconds ) and think of the input as an index to that points to the individual samples inside that sample. The index and the look up both work at sample rate, so you can pick out any individual sample in the table (the long sample) instantly and can jump around the table freely at sample rate. Putting in a random index input will give us a random output, but if we put in a ramp that takes the total duration of the sample to get from the beginning to the end (-1 to +1) then the output will be the original sample un-effected. It will play through the sample sound, one sample at a time.

If the ramp moved 2 times as fast, then the output would miss out every other sample in the table and the signal will be twice as fast and twice the pitch (like verispeed). If the ramp took 2 times as long (to go from -1 to +1) we would only move along one sample in the table for every two samples in time but the holes between the samples will be filled in with the average of the two samples either side. This is because the wave shaper will interpolate for us (as long as you have the interpolate box ticked).

If the input ramp stops the sample stops, and if the ramp then goes downwards the sample will play backwards at a rate determined by the angle of the ramp . This is all done at sample rate, so you can change rate, direction and even jump around the sample on the exact sample in time you want without the restrictions of capytalk control rate. That said you have to control the ramp at sample rate as well to achieve this, which can be tricky.

If you have a Capybara you can use Pete's DSP modules to play with ramps at sample rate, but they don't work on the paca so you have to be a bit more creative.

I hope this makes sense

Pete

IP: Logged

pete
Member
posted 21 June 2013 18:32         Edit/Delete Message   Reply w/Quote

SampleRateDelay.kym

 
Hi Patrik

Attached is a live input delay line with sample rate control of the delay, but it uses a completely different approach.

It relies on the oscillator modules FM input (that is really Phase modulation) being at sample rate. This deals with all the looping and wrap around ramps and interpolation at the borders internally, but it is limited to only 4096 samples. Here I've cascaded 4 of them giving a total max delay of 1/3 sec at 44.1Khz sample rate.

If you need longer delays you could cascade more.

Having 4 cascaded actually makes the interpolation at fast changes better but it does mean that the change happens at four different times depending on the delay. I've added a sample rate smoother in there (must keep the value just below +1) and it is controlled by a capy talk delay control, but you can replace these with sample rate delay control, and must be in the range of 0 to+1.

Hope this helps

Pete

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c