Kyma Forum
  Tips & Techniques
  MIDI processing question

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

next newest topic | next oldest topic
Author Topic:   MIDI processing question
Scott Loiselle
Member
posted 12 July 2011 08:41         Edit/Delete Message   Reply w/Quote
Hello! If this is simple, please chalk it up to me being so as well.

Can KYMA process a MIDI stream so that sequential note-on commands a) are unaffected if they're ≥ [a specified time length] apart and b) shifted to different note numbers if they arrive in less than that amount of time?

I'm sure this is poorly worded. Put another way, here comes the note-ons ....C3#1...(500ms)...C3#2....(125ms)....C3#3...(500ms)....C3#4...etc.

I want to run the stream through KYMA and have it make no change to note #s 1,2&4 but shift #3 to a predetermined note value, so that it becomes

....C3#1...(500ms)...C3#2....(125ms)....C3#3(-shifted-toF#3)...(500ms)....C3#4...etc.

Kind regards to all! Scott Loiselle

IP: Logged

phillipm
Member
posted 14 July 2011 10:04         Edit/Delete Message   Reply w/Quote
As you describe what you are trying to do in your post, it sounds like you are looking for realtime reaction, which isn't possible (unless I misunderstand your question). Pure MIDI data has no way of handling note duration -- only note # and velocity pairs, with velocities from 1-127 being interpreted as note on and velocities of 0 being note off. (Notation software simply creates the illusion of "MIDI note duration" by handling the note-off messages under the hood.)

So what it sounds like you you are trying to do would require Kyma to be able to foresee the future in order to know that a note was going to be short before knowing when the note will end. Even Kyma is not that powerful ;-)

Apologies if I misunderstand your question.

[This message has been edited by phillipm (edited 14 July 2011).]

IP: Logged

Scott Loiselle
Member
posted 14 July 2011 15:23         Edit/Delete Message   Reply w/Quote
Phillip, don't apologize for trying to help me! I probably hold the distinction of being the least sophisticated KYMA user!

I didn't word the question well. Even I know that KYMA can't read the future because if it could, everyone on Wall Street would be using it!

No, I meant that a series of note-on commands would be coming down a MIDI wire, all being the same note number (D4, for instance). What I want is to be able to process the MIDI stream so that what is measured is the duration between note-on commands. In other words, a series of notes will be entering the processor, going through it, and out to a drum module. Every single note in this stream will be the SAME note # (ALL C#3, or ALL D4, etc.). The notes in this stream will be arriving melodically (serially), never as a chord, always one-at-a-time. I want the processor to do an "if-then" operation, so that if a given note-on arrives at the processor and the _previous_ note-on was received less than 200ms (or whatever the setting) before it, the processor says, "aha, this current note-on is only 85ms later than the previous one, therefore I will apply an operation to it (shift it up 3 steps, or whatever). And if the note following THAT one arrives at the processor, say, 300ms later, the processor will pass it through unchanged. Is this any clearer?

So thank you for taking the time to respond, and anyone else who has any ideas, please don't be shy!

Thanks, Scott

IP: Logged

SSC
Administrator
posted 14 July 2011 19:21         Edit/Delete Message   Reply w/Quote

keyDownrateaffectspitch.kym

 
What if you were to use the following Frequency expression:

!KeyPitch + (((!KeyDown durationBetweenTriggers) lt: 0.2) * !Interval nn)

Then you could shift the "faster" notes up by an Interval that you control in the VCS.

[This message has been edited by SSC (edited 14 July 2011).]

IP: Logged

Scott Loiselle
Member
posted 26 July 2011 15:36         Edit/Delete Message   Reply w/Quote
THANK YOU!! I hadn't checked because the forum kept saying "3 responses" so I only just saw your solution.

Thanks! Scott

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