Kyma Forum
  Kyma Support
  deal with midi event bytes.

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

next newest topic | next oldest topic
Author Topic:   deal with midi event bytes.
PR
Member
posted 25 October 2012 12:19         Edit/Delete Message   Reply w/Quote
I am a new user of the kyma.

Now, I'm trying to do a sysex editor for an old synth.

I already managed to do this for my Roland MKS 7 and Crumar bit 99.

but with my DK 700, is a little more difficult.

I need to send: F0 7F 21 00 77 xx 00 00 0F 0F 00 00 F7
just a single time.

xx is a number that corresponds to a parameter of my synthesizer and also to a control change number entering in kyma.

and then
I need to send: F0 7F 21 00 78 xx 00 00 0F 0F yy zz F7

yy = (value of control change* 2) mod: 16
zz = (value of control change* 2) / 16


I would really like to do it with only 2 "midi event bytes" prototypes
because anyway, I can control one parameter at a time with this synth.

any ideas to do this properly ?

IP: Logged

SSC
Administrator
posted 25 October 2012 14:31         Edit/Delete Message   Reply w/Quote
You could use two MIDIOutputEventInBytes.

In the first, you would use

0xF0 0x7F 0x21 0x00 0x77 {!ControlNumber} 0x00 0x00 0x0F 0x0F 0x00 0x00 0xF7

In the second, you would use

0xF0 0x7F 0x21 0x00 0x78 {!ControlNumber} 0x00 0x00 0x0F 0x0F {(!ControlValue * 127) rounded * 2 mod: 16} {(!ControlValue * 127) rounded * 2 // 16} 0xF7

This assumes that !ControlNumber has a value between 0 and 127, and !ControlValue has a value between 0 and 1. If you want !ControlValue to have a range of 0 to 127, you would use:

0xF0 0x7F 0x21 0x00 0x78 {!ControlNumber} 0x00 0x00 0x0F 0x0F {!ControlValue rounded * 2 mod: 16} {!ControlValue rounded * 2 // 16} 0xF7


IP: Logged

PR
Member
posted 25 October 2012 16:04         Edit/Delete Message   Reply w/Quote
thanks for the reply.

but i need to make something more controlable.

I use global map to make the maping between the incoming control change and the sysex editor.

i need something like that :

if !cc5(of channel N) move, then send 1 for 0.1 s (to trigger the first midievent) and send number xx
maybe i need to use an enveloppe or a pulse in the parameter field.
and maybe a capytalk expressions exist to analyse the movement of a parameter ?


for the second midi event i already use a delay of 0.1 s.

I hope i'm clear.
thanks a lot.

IP: Logged

SSC
Administrator
posted 25 October 2012 16:15         Edit/Delete Message   Reply w/Quote
Could you use:

!cc05 hasChangedInLast: 0.1 s

in the Trigger field of the MIDIOutputEvent? This would trigger that sysex message when the fader moves.

IP: Logged

PR
Member
posted 25 October 2012 16:25         Edit/Delete Message   Reply w/Quote
I have an error message :" HotVariables cannot perform the operation hasChangedinlast: "

IP: Logged

SSC
Administrator
posted 25 October 2012 16:55         Edit/Delete Message   Reply w/Quote
It needs an uppercase 'I' and uppercase 'L' in hasChangedInLast:

(I know, I know, computers are such sticklers

[This message has been edited by SSC (edited 25 October 2012).]

IP: Logged

PR
Member
posted 25 October 2012 17:24         Edit/Delete Message   Reply w/Quote
thanks a lot.

now i can make my editor.

any tips to send a fixed value when a parameter move.

i think i need to do some scripting for that purpose.
but if it's to hard i can make this with a lot of midieventbytes.

in any case i'm very happy with kyma, i'm working on reverb based on an algorithm of lexicon plate to. and it sound really great.

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