Kyma Forum
  Kyma Support
  Another question!

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

next newest topic | next oldest topic
Author Topic:   Another question!
JackRosete
Member
posted 04 July 2006 14:26         Edit/Delete Message   Reply w/Quote
I'd like to set up a !Reverse toggle on a drum sequencer I'm building (attached to Sample Sounds), so that when it's on, my samples play in reverse.

In the Frequency fields of my Sample Sounds, I'm using the following expression:

!KeyNumber nn * !Reverse

!Reverse is a VCS toggle: grid 2, range -1 to 1.

The problem with this method is that most of my samples have long decays, and as they're being re-triggered at !BPM rate, playing them backwards is only playing the (virtually silent) decay portion. In other words, the samples are being re-triggered before their useful sound is reached.

Therefore, if my thinking is correct, I need the !Reverse toggle to trigger a change in the End parameter field, from 1, to something more useful like 0.25, depending on !Reverse's On/Off state.

I'm not sure what code I'll need for this. I've limited !Reverse's values to: 1, and -1 (grid 2). I'll need to scale these values to: 1 and 0.25 to use in the End field (I'm guessing 0.25 will work but I may need to tweak this). In Max I would use a scale object with arguments 1. - 1. 1. 0.25. Does anyone know of a code in Kyma for similar scaling of values?

Finally, I'll also need !Reverse to trigger a short AttackTime to remove clicks. Again, I'll need to scale it's values from: 1 and -1, to: 0 and say 0.25 (again I may need to tweak this value).

BTW, sorry for posting so much! I'm preparing this Sound along with a few others for a forthcoming live performance and I don't have much time to finish!

Thanks!

Jack

[This message has been edited by JackRosete (edited 04 July 2006).]

IP: Logged

SSC
Administrator
posted 04 July 2006 14:42         Edit/Delete Message   Reply w/Quote
"I've limited !Reverse's values to: 1, and -1 (grid 2). I'll need to scale these values to: 1 and 0.25 to use in the End field"

You have the set of values {-1, 1}. Add 1 to get {0, 2}. Use result to look into an array:

(!Reverse + 1) of: #(0.25 0 1)

The second entry in the array is never accessed so you can make it whatever you like.


"Finally, I'll also need !Reverse to trigger a short AttackTime to remove clicks. Again, I'll need to scale it's values from: 1 and -1, to: 0 and say 0.25 (again I may need to tweak this value)."

Start with {-1, 1}. Add 1 to get {0,2}. Divide by 8 to get {0, 0.25}

!Reverse + 1 / 8

IP: Logged

JackRosete
Member
posted 04 July 2006 14:53         Edit/Delete Message   Reply w/Quote
Thanks! I particularly like your first suggestion of using an array. Funnily enough, just before reading your post I remembered that a while back I'd asked a similar question about an equivalent of the Max scale object, and you'd suggested a combination of * and + to match values.

Got plenty of options now!

Thanks again

IP: Logged

HectorBenard
Member
posted 04 July 2006 21:37         Edit/Delete Message   Reply w/Quote
[sorry, wrong forum]

[This message has been edited by HectorBenard (edited 04 July 2006).]

IP: Logged

SSC
Administrator
posted 05 July 2006 08:47         Edit/Delete Message   Reply w/Quote
By the way in this expression:

!KeyNumber nn * !Reverse

the pitch should be converted to hertz before negating to get reversal

!KeyNumber nn hz * !Reverse

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