![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: delaying "smoothed" message? |
phillipm Member |
![]() ![]() ![]() I'm working on tracking MIDI data from a wind controller. I'm thinking it would be very useful to be able to delay the "smoothed" message so that the attack is totally responsive to the breath controller but the would be smoothed out slightly, beginning shortly after the attack. So... if I have something like the following in a parameter box: !BreathController smoothed Is there anyway to delay the onset of the smoothing by a few milliseconds. IP: Logged |
SSC Administrator |
![]() ![]() ![]() Hi Mark, Have you tried pasting the MIDI controller into a Constant and feeding the Constant through a PeakDetector? The PeakDetector can have a faster response to increases than to decreases and might give you the effect you desire. Please give that a try and let us know whether this does the trick. Thanks! IP: Logged |
phillipm Member |
![]() ![]() ![]() yep ... seems to work ... and it probably offers more flexibility, too. :-) But the difference between what this does and what I was looking for is that, once it kicked in, smoothing would apply uniformly on minor fluxuations regardless of which direction the wind pressure is going. Whereas with the peak detector it would affect rising pressure changes differently than falling. [This message has been edited by phillipm (edited 14 January 2012).] IP: Logged |
SSC Administrator |
![]() ![]() ![]() Can you send a !KeyDown from the wind controller? If so, then you could do a quick crossfade from raw !BreathController to !BreathController smoothed on each !KeyDown. (You would have a Crossfade of two Constants, one with !BreathController and one with !BreathController Smoothed. The Fade parameter of the CrossFade could be something like !KeyDown ramp: !Atk s) IP: Logged |
phillipm Member |
![]() ![]() ![]() Yes ... this works. Meanwhile ... I spent some time this weekend analyzing EWI output data streams ... and a lot of time working in Max building prototypes of things I might want to try to accomplish with Kyma. Meanwhile, here are some observations about the behavior of the instrument: As soon as breath pressure (cc#2) exceeds 0, a note message is sent (note # with velocity = 120). When cc#2 hits 0, a note off message is sent (note # with velocity = 0). If a new note is fingered while the cc#2 value is still above 0; two messages are sent in rapid succession: new note # with velocity = 120, followed by old note # with velocity = 0. The tricky issue is that there are often 1-2 very short notes (≤ .005 s i.e. pairs of note on/off messages) sent when cc#2 returns to 0 ... unless the return is quite fast. When playing a conventionally programmed (i.e. monophonic) wind controller sound, these ghost notes are not a problem because cc#2 remains at 0 on either side of these note messages ... so they don't actually sound. But they do become an issue when trying to do something more unconventional, such as using note on messages to trigger Kyma events while playing a line that has its own demands on playing technique. Pitch bend is always active regardless of the status of cc#2 or note on/off messages [This message has been edited by phillipm (edited 18 January 2012).] IP: Logged |
Bill Meadows Member |
![]() ![]() ![]() Perhaps you could clean up the MIDI stream with MAX before sending it to Kyma. IP: Logged |
phillipm Member |
![]() ![]() ![]() I may end up doing that, but it seems like it might be a valuable learning experience to see how much of this I could accomplish in Kyma. The more Smalltalk and CapyTalk expressions I get to see the better I'll get at creating them myself. At least that's my working theory ;-) [This message has been edited by phillipm (edited 24 January 2012).] IP: Logged |
SSC Administrator |
![]() ![]() ![]() Maybe you should generate your own gate events rather than using the EWI keyDowns. You could set the cc02 threshold higher than 0. Or you could delay their keydown by 5 ms (or more), compare to current keydown and only gate when both are on. 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.