Hi.
I’m using Kawai Mp7 as a standalone instrument and midi controller for synths and other hardware for a long time with great results. Now I would like to control the organ and synth sounds of Mp7 with more appropriate controllers.
The keyboard note on-off messages are easily received, but I want to control some of the internal mp7 parameters with one of my other controllers.
One of them is very capable on programming since it can program CCs 128-154 with MSB-LSB.
I don’t really know if the MP7 can support such functions. The Kawai manual on midi implementation has a chapter (3.4 Setup Address: Internal Section) that contains midi data about the parameters I would like to control. It shows MSB- LSB hex messages, but no CcCs. Could it be RPN-NRPN?
In case I can’t do that with what the MP7 midi section offers, is there an external device (like one of these https://midisolutions.com/EP_Guide.htm or something), or any software solution, I could add to help me achieve my goal?
Thank you
Be aware that the controller numbers for Control Change messages only go between 0 and 127, there is no such thing as "CCs 128 to 154". Your MIDI controller device is using the numbers between 128 and 154 to represent other kinds of MIDI messages, you need to look in the manual to understand what they are.
It looks like you need to send System Exclusive messages to do what you want. In the Kawai MP7 manual, the MIDI Implementation section 3 "Exclusive Data" starting on page 133 is all about System Exclusive messages. Section 3.2 "Parameter Send" shows the main pattern of the System Exclusive messages the MP7 uses:
F0 40 0n 10 00 11 40 xx xx yy zz ... F7
n is "Channel no."
xx xx is "Address MSB and LSB"
yy is "data size (byte)"
zz ... is "data"
The following sections 3.3, 3.4, and 3.5 show values you can plug into this System Exclusive pattern.
Thank you Bavi_H for the reply and the correction.
Could you please help me how could I send those particular Susex msgs from my controllers? Do I need any particular software or device, that could work like a ‘translator” between the two devices?
The only times I ve worked with sysex msgs are when I do bulk dumps and when read msgs on MidiOx, so I’m not familiar at all with them.
Look in the manuals for your controllers to see if you can type in System Exclusive messages to send like the pattern the MP7 uses:
F0 40 0n 10 00 11 40 xx xx yy zz ... F7
For a particular MP7 function, the n, xx xx, and yy will be constant values from the MP7 settings or tables in your MP7 manual. When you program the sending device you would type in numbers from 00 to 7F for these spots (and n is 0 to F).
The zz ... part might need to contain one or two variable bytes controlled by a knob or slider on your sending device. When you program the sending device, you would need to type in some special symbol or button for these spots to indicate the value should be controlled by the position of a knob or slider.
If none of your controllers let you type in System Exclusive bytes like this, then you might consider some translator device or software. As you are probably aware, these kinds of translators can do things likes change an incoming Control Change message into an outgoing System Exclusive message, where one byte in the System Exclusive message is a value that came from the original Control Change message.
It looks like MIDI-OX has translator capability that lets you type in arbitrary System Exclusive messages with variable bytes that come from the source MIDI message you are converting from. In the help file, start with the section "Mapping", sub-section "Using Data Maps", and scroll the page down to the "SysEx Mapping" section.
A recent poster here mentioned they were using an iOS app called Midiflow ($7 to $16, depending on in-app add-ons purchased). I found a section in the manual that suggests it supports sending arbitrary System Exclusive messages with variable bytes that come from the source MIDI message you are converting from.
If you are interested in the MIDI Solutions Event Processor products ($160 or $200), you can try out their free MIDI Solutions Programming Tools Software to get a feel for what kind of translation ability you can program into them. I see the Event Processors have "Map a MIDI event" settings that can convert an incoming MIDI message into an arbitrary System Exclusive message you type in with variable bytes that come from the source MIDI message you are converting from.
Really thank you. Actually I can't write sysex in none of my controllers.
Midi Solutions Event Processor seems really attractive since it's hardware. Also the Bome Pro Midi Translator seems like a serious solution (much cheaper - around $50) since it can ran on my studio pc. The ipad one is not a bad thing but it needs a lot of extra cabling like adaptors etc, so conflict may occur at a crucial moment or frequently.
Just to clarify things a bit more Bavi_H.
Have all setup parameters the value 40H? I can’t see any other values for them anywhere.
If so I will give you an example of Sysex and please tell me if it’s correct.
If I want to make a button respond to the Reverb Switch On- Off commands on channel 1 on the MAIN zone, I would type:
For Off
F0 40 01 10 00 11 40 01 27 01 00 F7
And for On
F0 40 01 10 00 11 49 01 27 01 01 F7
How do they look like? Any correction ?
This way I can assign cc switch like cc 16 on a button of my controller send it to the translator and cc16 value 00 will be translated to the off MP7 SYSEX and cc16 value 127 will be translated to the on SYSEX.
Am I correct?
Thanks for your time
[quotePost id=15932]Have all setup parameters the value 40H? I can't see any other values for them anywhere.[/quotePost]
In the System Exclusive message pattern
F0 40 0n 10 00 11 40 xx xx yy zz F7
the manual says the 7th byte is hex 40 for "Setup Parameter". My guess is that other Kawai devices might have other possible values in this spot for things like "Bulk Dump" or so on. But I guess this keyboard can only do "Setup Parameter" transfers.
If I want [...] the Reverb Switch On- Off commands on channel 1 on the MAIN zone, I would type:
For Off
F0 40 01 10 00 11 40 01 27 01 00 F7
And for On
F0 40 01 10 00 11 49 01 27 01 01 F7
Possible problems:
• The 3rd byte is for "Channel no.", but the manual doesn't explain what hex values it should use. My guess is you might have to use hex 00 for channel 1, hex 01 for channel 2, and so on, up to hex 0F for channel 16.
• As explained above, I think the 7th byte must always be hex 40, according to the manual.
F0 40 00 10 00 11 40 01 27 01 00 F7
F0 40 00 10 00 11 40 01 27 01 01 F7
I can assign cc switch like cc 16 on a button of my controller send it to the translator and cc16 value 00 will be translated to the off MP7 SYSEX and cc16 value 127 will be translated to the on SYSEX.
Sounds good to me.
[quotePost id=15937]
the manual says the 7th byte is hex 40 for "Setup Parameter". My guess is that other Kawai devices might have other possible values in this spot for things like "Bulk Dump" or so on. But I guess this keyboard can only do "Setup Parameter" transfers.
[/quotePost]
Wha t I need to adjust are setup parameters. So apparently I'm good with 40H. I jsut can't understand how it seperates so many different parameters. I haven't checked carefully if there are duplicate Address MSB - LSB and BYTE values
[quotePost id=15937]
Possible problems:
• The 3rd byte is for "Channel no.", but the manual doesn't explain what hex values it should use. My guess is you might have to use hex 00 for channel 1, hex 01 for channel 2, and so on, up to hex 0F for channel 16.
[/quotePost]
Actually it does in section 3.2 0nH n=0-FH. My mistake.
Thank you
It works. It's 00 for channel 1 etc.
Now I'm trying to find what's the best solution to help me map a button like an on-off switch. Even if I can use 2 different contollers I would prefer to be able to do such thing from one. I think it has to be something like the double button pressing programming or shift layering or something.
Apparently the principle must be for example:
First pressing of CC16 has a value 00 that corresponds to F0 40 00 10 00 11 40 01 27 01 00 F7
Second pressing of CC 16 having a value of 127 that corresponds to F0 40 00 10 00 11 40 01 27 01 01 F7
and the same cycle again like an on-off switch. This could happen with shift also. One pressing the first action and the same pressing + shift the second. But it seems quite more complicated.
PS. Actually it can happen with rules in Bome Translator Pro and maybe also in Midi Solutions Event Processor.