Ok, my curiosity got the better of me, and I decided to have ten minutes with a cup of coffee before starting my DIY duties for the day! This is the first time I have tried sending SYSEX from Cantabile, hence my curiosity!
The following works with my Motif Rack ES, which, other than different device IDs looks very similar to the MOXF in terms of MIDI structure
The Motif Rack ES has a model ID of 7F 00
The MOXF has a model ID of 7F 1C 00
Other than that, the MOXF sysex message is identical to the Motif Rack ES SYSEX message
First the binding, which I just set to a PC keypress
And the SYSEX Message. I found that it didn’t matter if you have spaces in the string or not, but it is of course easier to parse if you have the spaces in.
In the example, the 03 value in the last byte is selecting Multi mode (would the rack equivalent of Song Mode). 00 selects voice mode, and 01 selects performance mode.
So, my summary is that if you get the right SYSEX message all should work. From my reply above, I believe that the right SYSEX string for the MOXF is
F0 43 10 7F 1C 00 0A 00 01 XX F7
Where XX is the value from the table (see my first reply) to select the mode
I can’t see why Cantabile does not like the strings you are entering, so that is one for @brad
Yeah, looks strange. I just typed in Christoph’s sysex string in my Cantabile, and it generated no errors, so the parsing error looks suspicious.
@CologneKeys: have you tried retyping the string from scratch - maybe there’s some hidden character, shift-space or other nastiness? Best is to start with the string x"F0" (including the closing quotation marks), see if it parses all right and then add the next bytes one at a time to find out where the offender sits. If even the x"F0" doesn’t parse correctly, there must be something wrong with your Cantabile installation - that would be one for @brad
Hi Torsten,
nice to meet you here! It’s a pity but I have to report an ongoing obscurity. After your hint I de- and reinstalled Cantabile but it didn’t change anything. The parser-error occurs right after typing “x” …
Hmmm, even more curious - when I type just the x into my sysex window, I get a different error message:
"Error in sys-ex data: Unresolved identifier in expression: 'x'"
which in itself looks kind of logical, since there is no string after the x. But when I add “F0” to make the total x"F0", things work out nicely. But the “unexpected error parsing binary data” looks kinda strange…
Just to compare: I’m running Cantabile Performer x64, build 3552. What are you running?
Hi Torsten, I’m using Cantabile Performer x64 as well but build 3213 after reinstalling - I don’t remember what I used before but I think I was up to date. I’ll update now. …
…
now I’m running build 3552 and I get the same error message you described - very tricky …
Hi Torsten,
after another absolutely clean reinstallation of C3 all seems to work fine! I’ll do some further testing but I think thats it!
Thank you (and Dave and Derek, too) so much! I lost my ambition to understand everything whats going on with bits and bytes, the main point is: it works.
Have a nice weekend
Cheers
Christoph
you were perfectly right with your advice concerning the SysEx Messages of the MOFX and you are absolutely
right in what you wrote about summaries
So I’ll do my very best (sorry for some ‘germlish’ constructions or vocabulary …)
Problem: The MOFX didn’t react on receiving the supposed appropriate SysEx messages. Writing the SysEx message results in a parser error message.
Issues in the path of solution:
first of all the SysEx I initially used haven’t been the right ones
the Cantabile SysExData parser requires the input-form: Letter x followed by SysEx Data starting and ending with double quotes, for example: x"F0 43 10 7F 1C 00 0A 00 01 00 F7" for voice mode
nevertheless the parser threw an error
Solution:
Update to Cantabile Build 3551 (needless to say after backing up all data! and deinstalling the former version of C3). This solution is probably caused by my personal configuration and not by Cantabile because it seemed to be a very solitary and personal problem
Benefit:
Eventually I’m able to change MOXF modes via SysEx messages, for example on song load.
The following choice of bank/program numbers is done via simple MIDI bank/program change commands.
Thanks again for all the helpful advice!
Regards from Cologne
Christoph
Thanks for that, detailed write up (in very good English). it is good to hear you have it working, and I am sure that will be helpful for others as well.
It was good for me, as I hadn’t experimented with sending SYSEX in Cantabile before, so it was a good exercise to learn how to do that, as I am sure I will need to do the same at some point.
I needed to send SysEx messages for one of my projects, but it didn’t work properly. I was happy to read this article, because with your advice I was able to solve one of the problems. So thank you!
I’m trying to control the patches of Yamaha MOXF6 and Yamaha MOXF8 keyboards with an arduino device (both ‘at the same time’ on stage). I’m using standard midi cables for signal transmission. (Arduino → MOXF8 MIDI in, and MOXF8 MIDI thru-> MOXF6 MIDI in connections)
On the MOXF8 I set the Device number and Basic RcvCh to 1, and on the MOXF6 I set both to 2.
Within the mode, I can distinguish the patch change with using a midi channel.
I can distinguish which keyboard I send the SysEx message to using the device number in this 2-keyboards-chain.
My problem is that if I send 2 SysEx msgs to both of them, both ‘receive’ the other’s SysEx msg, and the one that is not for its own device number says ‘Device number mismatch’. Of course, it still sets the mode for it in the background because of the other well-addressed message, but when changing modes, you have to accept the ‘error message’ on both keys, which can be annoying during a live concert.
Can’t this ‘Device number mismatch’ report be turned off? Or do you have any other ideas?
These two messages go through the chain to switch modes:
SysEx to MOXF8:
F0 43 10 7F 1C 00 0A 00 01 00 F7
SysEx to MOXF6:
F0 43 11 7F 1C 00 0A 00 01 01 F7