![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Another question! |
JackRosete Member |
![]() ![]() ![]() 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 |
![]() ![]() ![]() "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.
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 |
![]() ![]() ![]() 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 |
![]() ![]() ![]() [sorry, wrong forum] [This message has been edited by HectorBenard (edited 04 July 2006).] IP: Logged |
SSC Administrator |
![]() ![]() ![]() 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 |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.