I’m trying to send a system exclusive message from an external controller to turn mute buttons on/off for parts in a performance. Is this possible? On the Yamaha data list manual, page 193, their is a mute switch option. I don’t know how to formulate a system exclusive message out of the data that’s provided on that page. Any help would be great. Thank you.
I describe a SysEx breakdown for another command here: https://www.yamahasynth.com/forum/using-montage-as-a-multi-timbral-sound-device#reply-20977
You should be able to use the information and adapt for the page 193 mute switch option.
F0 43 10 7F 1C 02 31 01 17 00 F7
Format:
0xF0 (MIDI spec SysEx start) 0x43 (Yamaha Corporation MIDI ID Number) 0x1n (n=device number 0x0-0xF, assuming n=0) 0x7F (group ID high) 0x1C (group ID low) 0x02 (model ID) 0x[AddrH] 0x[AddrM] 0x[AddrL] 0x[Data1] ...0x[DataLast] 0xF7 (MIDI spec end of SysEx aka EOX)So:
F0 43 10 7F 1C 02 = standard header for a parameter change.
31 = AddrH (high address)
01 = AddrM (medium address), also for this command equal to PART. 0=PART1, 1=PART2, 2=PART3 ... and so on
Therefore, in this example, I am changing 01 = PART2
17 = AddrL (low address)
00 = Datalist, and this command has only one data byte (00 = keyboard control off, 01 = keyboard control on)
F7 = end of sysex
... btw - what version of the data list are you using? The latest has "Mute Switch" documented on page 199. I think perhaps you're referencing the A0 data list, which is not the latest. May be best to match your firmware version unless you're really using old firmware which matches this early data list document.
... anyhow - using the above information:
F0 43 10 7F 1C 02 31 0p 18 00 F7 = mute off
F0 43 10 7F 1C 02 31 0p 18 01 F7 = mute on
The "p" above means PART. 0=PART1, 1=PART2, 2=PART3 ... and so on through F=PART16
Notice that the "how to construct this SysEx message" information is documented in a few places - but one place is the A0 doc you are using page 173 which states:
+---------
F0H 43H 1nH 7FH 1CH 02H ahH amH alH ddH...ddH F7H
Under "System Exclusive Message (All in Seq)"
And "additional notes" documents what the "ah" "am" "al" and "dd" parts as well as the sysex F0/F7 framing bytes are:
Additional Notes
• For example, 144 – 159(Decimal)/9nH/1001 0000 – 1001 1111(Binary) indicate the noteon
messages for the channels 1 through 16 respectively. 176 – 191/BnH/1011 0000 –
1011 1111 indicate the control change messages for the channels 1 through 16
respectively. 192 – 207/CnH/1100 0000 – 1100 1111 indicate the program change
messages for the channels 1 through 16 respectively. 240/F0H/1111 0000 is positioned
at the beginning of data to indicate a system exclusive message. 247/F7H/1111 0111 is
positioned at the end of the system exclusive message.
• aaH (Hexadecimal)/0aaaaaaa (Binary) indicates the data addresses. The data address
consists of High, Mid and Low.
• bbH/0bbbbbbb indicates byte counts.
• ccH/0ccccccc indicates check sums.
• ddH/0ddddddd indicates data/value.
Page 175 breaks down the parameter request in (3-5-3-1):
(3-5-3-1) NATIVE PARAMETER CHANGE, MODE CHANGE
11110000 F0 Exclusive Status
01000011 43 YAMAHA ID
0001nnnn 1n Device Number
01111111 7F Group ID High
00011100 1C Group ID Low
00000010 02 Model ID
0aaaaaaa aaaaaaa Address High
0aaaaaaa aaaaaaa Address Mid
0aaaaaaa aaaaaaa Address Low
0ddddddd ddddddd Data
| |
11110111 F7 End of Exclusive
For parameters with data size of 2 or more, the appropriate number of data bytes will be transmitted.
See the following MIDI Data Table for Address.
"Device number" is typically not set to a specific number - although you can change/modify your Montage's device number. This is really if you have multiple Montages on the same MIDI bus. By default, Montage is set to respond to any device number so we set n (device number) to zero - which is why all examples of SysEx on the forum you will see "10" (hex) for this byte.
... and data list page numbers I reference are for version A0 only to match what I assume you're using. You should stay up to date with the latest documents that match your firmware version. The 1.51 firmware has the data-list included in the ZIP file (version D0 as montage_en_dl_d0.pdf).
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Your The F'n man Jason!! Thank you. I would have never figured that out on my own. I'm gonna try this out tonight