Kyma Forum
  Tips & Techniques
  Ramp...

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

next newest topic | next oldest topic
Author Topic:   Ramp...
JackRosete
Member
posted 15 December 2014 09:26         Edit/Delete Message   Reply w/Quote
Hi folks,

I'm working on some control functions and using the ramp: code a fair bit. I'm looking to add some spice and create variable curves for these ramps. Specifically something that starts faster and then slows down, or the opposite of this ... or something that starts slow, speeds up and then slows again, or the opposite of this.

What would be the simplest way to create these variable curve functions using the ramp: code?

For example using something like this as a starting point:

!Trigger ramp: 5 s

I'm looking to trigger the control functions with !Trigger so they are always on phase, and have some kind of !Scale slider that determines how much the curves are affecting the ramp.

I'm guessing this is simple to create, but my maths is pretty bad

Thanks for the tips!

IP: Logged

JackRosete
Member
posted 15 December 2014 17:46         Edit/Delete Message   Reply w/Quote
Hi...

Just found the solution to creating curves, it's already in the expressions library! Ooops

(!Slope ** (!Gate ramp: !DecayTime s) - 1 /
(!Slope - 1))

Now I'm going to dig a little deeper .. see if I can work out how to create the more complex curves I'm after.

IP: Logged

SSC
Administrator
posted 15 December 2014 17:56         Edit/Delete Message   Reply w/Quote
Hi Jack,

Another area to explore might be the into: arrays. You provide an array of input@output value pairs and then use an index to select which input/output pair to use. The values in between the specified pairs are linearly interpolated. For example:

(!Trigger ramp: 5 s) into: #({0@0} {0.25@0.5} {0.75@0.6} {1@1})

IP: Logged

pete
Member
posted 16 December 2014 11:31         Edit/Delete Message   Reply w/Quote
You could try using half a cycle of a Cos wave. i.e. If you multiply the ramp by float pi and do a cos to it you should get an output from +1 to -1 that starts and ends slowly but is faster in the middle. I think the Cos function works at cappytalk rate (but I could be wrong)?

IP: Logged

JackRosete
Member
posted 17 December 2014 18:28         Edit/Delete Message   Reply w/Quote
Thanks for the tips! When parameter fields expect a single value versus an array of values, what's the rule for using arrays? Is that where the 'into' comes in, to reduce the array down to a single value?

IP: Logged

JackRosete
Member
posted 17 December 2014 18:30         Edit/Delete Message   Reply w/Quote
Hi Pete, I'll look into the cos option too. Sounds like another good solution. Thanks!

IP: Logged

SSC
Administrator
posted 17 December 2014 19:54         Edit/Delete Message   Reply w/Quote
The into: maps a single input value to a single output value. So it is like a distorting lens: you send in one number but get a different number out.

Always a single value, though, so it is the same as entering a single number into the field.

IP: Logged

gustl
Member
posted 18 December 2014 00:16         Edit/Delete Message   Reply w/Quote
The XenOscillator can give you very complex curves, you can have jitter for individual points, adjust the smoothing etc. - in fact it depends only on your imagination If you want to use it as a kind of ramp you have to substitue a 1 after 1 cycle. 1 cycle of the xen will be your ramp duration.

Best,
Gustl

IP: Logged

JackRosete
Member
posted 18 December 2014 06:39         Edit/Delete Message   Reply w/Quote
Great, lots to play with then!

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