I wonder what I’m doing wrong trying to control my MOXFs via SysEx commands.
My aim is to change the MOXF modes (Voice, Pattern, Song, etc) on Song Load.
These are the informations about the right syntax from Yamaha:
F0 43 10 7F 1C 00 30 30 00 dd F7 Performance Common
F0 43 10 7F 1C 00 36 30 00 dd F7 Song/Pattern Common
F0 43 10 7F 1C 00 40 30 00 dd F7 Normal Voice Common
F0 43 10 7F 1C 00 46 30 00 dd F7 Drum Voice Common
Where dd = 00~05 (SF1~SF6)
I don’t have a MOXF, but do a lot with Yamaha SYSEX (including Motif ES and Montage) so after having a quick scan of the MOXF data list…
Looking at what you have given, it looks like you are taking the addresses from the Parameter Base Address table on Page 123, which is not the right thing to do. These are intended to identify SYSEX blocks sent and received during bulk transfer (see Bulk Dump table on Page 124), or for addressing individual parameters via a computer editor . E.g. if you look at Performance Common on page 129 and onwards, then you can see how these base addresses are used for addressing parameters in Parameter request/receive messages in the different blocks (e.g. Performance Common, Reverb, Chorus, Parts, etc.)
On my quick look at the manual, I found (3-6-3-1) on page 121 as the general structure which tallies with what you are using above, but I then I found a MIDI PARAMETER CHANGE TABLE (MODE CHANGE) table on Page 125, which I think would give you
F0 43 10 7F 1C 00 0A 00 01 XX F7
Where XX is the value from the table to select the mode, see highlighted below.
I think you can use banked program changes using the MSB/LSB pairs given on P123 to select the right data bank and object in that mode
Hi Derek, thank you VERY much for your effort to help me - this C3-Community is marvellous, isn’t it? I will be able to test your advice this evening and I will report immediately! I’m sure it will be helpful Best regards!
My posting was just an example of the form the statement should take for your sys-ex message box, not to be copied literally. Your first post values look more like
x"F0 43 10 7F 1C 00 30 30 00 dd F7" and your previous post has x" but the ‘dd’ needs to be a number between 00 and 05
so a complete statement for the MOXF specifically should be
x"F043107F1C0030300000F7" with the ‘00’ replacing the ‘dd’ and all the spaces removed and is for Performance Common selection on your MOXF keyboard. So the small case ‘dd’ from the MOXF midi implementation data you showed are read as by Cantabile as improper syntax.
Hope this helps explain how sys ex statements work a little better.
It looks good according to my experience. You could make sure that sys ex is enabled on your MOXF. Many devices this is switchable in their options section, not sure about Yamaha. After I will check the midi implement data like Derek did to check my work.
In that case it’s always on. Maybe this one is a job for @brad Christoph, I’ve shown all I know and after looking at the manual the only thing I can’t verify is how you determined the Device number byte (3rd from left). It all looks correctly entered to me.
Hi Dave,
I appreciate your effort to help me so much!! Thank you! It is possible that I made some silly mistake or maybe there is a Yamaha special trick we both couldn’t reveal … I’ll going through all the details again this afternoon and I will ask a Yamaha forum specialist about YamahaSpecialStuff and some dirty sysex tricks …
Best regards from Cologne
Christoph
So I assume the problem is still getting Cantabile to recognise and send the message? I’ll do some experimentation tonight on my system if you are still having trouble. I could try and see if I can get my Motif Rack ES to change modes from a Cantabile message. The command structure for the Motif Rack ES looks the same.
From the screenshot above I note that it is still (in my opinion) the wrong message to send (see my post above for what I think is the right message)
Whilst I don’t have a MOXF, all Yamahas receive SYSEX by default. The only thing to ensure is that the SYSEX DEVICE NUMBER (not MIDI CHANNEL) number match otherwise the message is ignored.
Dave is correct above, the least significant nibble (bottom four bits) of the 3rd byte is the target SYSEX device. In this case a value of 0x0 is Channel 1.
So your MOXF SYSEX DEVICE NUMBER, which is set under the MIDI page in utility mode (see page 147-148 of the PDF manual) needs to be either set to 1 or ALL to receive the messages. Just checking the MOXF manual there is also an option for OFF, which you obviously do not want.
PS: There are a few MOXF users over at Yamaha Musicians who may have some insight on the MOXF in general.
Hi Derek,
thank you for not leaving me alone, too
I’ll test your advices this afternoon/eventing and will reoprt as soon as I can … meanwhile I asked this question in the Motifator Forum, too and I hope that grandmaster “Bad Mister” or one of the other Yamaha-Gurus will notice it - have a nice day!