SysEx to MOXF - again

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.

35%20AM

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

1 Like

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.
image

@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

Cheers,

Torsten

3 Likes

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” …

Maybe we finally should call for B-R-A-H-AAAAAAAA-D

still curious …

P.S.: letters and symbols throwing errors, numbers don’t …

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?

Cheers,

Torsten

1 Like

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 …

OK, so you get the “unresolved identifier” now? Then what about when you enter x"F0" now?

1 Like

[SOLVED]

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 :smiley:
Christoph

4 Likes

Hi, Christoph,

So do you have the SYSEX in Cantabile switching modes on the MOXF? And was it the command string I supplied?

Always good to now the resolution, not just for the dopamine hit :wink: , but also because it helps other people who are looking to resolve the same issue. :slight_smile:

1 Like

Hi Derek,

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 :slight_smile:
So I’ll do my very best (sorry for some ‘germlish’ constructions or vocabulary …)

[SUMMARY]

System: Windows 10 Pro, Intel Core i5, 3.2 GHz, 16 GB RAM, Cantabile C3 Performer, Build 3.2.xx?

Purpose: Changing Yamaha MOXF modes (Voice, Performance, Pattern, Song, Master) via the following SysEx messages

F0 43 10 7F 1C 00 0A 00 01 XX F7 = General construction, where XX is the variable for selecting the mode

F0 43 10 7F 1C 00 0A 00 01 00 F7 = Voice Mode
F0 43 10 7F 1C 00 0A 00 01 01 F7 = Performance Mode
F0 43 10 7F 1C 00 0A 00 01 02 F7 = Pattern Mode
F0 43 10 7F 1C 00 0A 00 01 03 F7 = Song Mode
F0 43 10 7F 1C 00 0A 00 01 04 F7 = Master Mode

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 :frowning:
  • 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 :sweat_smile:

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

3 Likes

Hi, 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. :slight_smile:

3 Likes

Hi all,

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! :slight_smile:

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

Thank you very much in advance!