how to convert sysex values to Control Changes

garubi

2009-11-25 18:07:51

Hallo,
first time here ;-)

I'm trying to control ORGANized Trio (a VSTi Hammond Clone) with my Oberheim OB3^2.

The problems arises when I try to "map" the OB3 drawbars to command the "virtual" ones.
OB3 outputs the drawbars "level" as sysex string in this form:
FO 31 01 01 36 xx yy F7
where 36 is the value for the first drawbar and
xx & yy can be in the range of 00 00 to 01 7F (as I can read on the OB3 manual)

On the other side ORGANized Trio needs a Control Change message.
for the first drawbar the CC is #12

The problem is that the CC can only have the 0-127 range

I need a way to maybe "combine" and "reduce" the values coming from sysex to something valid in the CC range.

I read other post similar to this but, maybe because Exadecimal operation are far beyond my comprehension (after all I'm a musician...) I can't solve the problem.

Someone can help?

garubi

2009-11-27 09:19:30

I sollved with a little studying on an old book from my high scool time ;-)

So:
garubi wrote: FO 31 01 01 36 pp qq F7
where 36 is the value for the first drawbar and
pp & qq can be in the range of 00 00 to 01 7F (as I can read on the OB3 manual)
I set up a rule like the following

Code: Select all

rr = pp*128
rr = rr+qq
rr = rr/2
this give me a value range 0-127 that I can then send it as CC

Great software!
Stefano

florian

2009-12-02 15:59:40

Hi garubi,

nice one! just for completeness (for others), here's the full translator:

Code: Select all

Incoming MIDI: F0 31 01 01 36 pp qq F7
Rules:
  rr = pp*128
  rr = rr+qq
  rr = rr/2
Outgoing MIDI: B0 0C rr
Regards,
Florian