Our band uses a MODX. On occasion we have the need to step a song down a half step or whole step to help out the singer. Of course, this happens after the keyboard player has learned it in the original key. We use a program called BandHelper to manage our setlist. The other thing is does for us is load the song patches via midi. It can also send control codes with their values to tweak a patch if necessary for the song.
On the Roland FA-07 we use, we can send over some data in Hex Code to tune the keyboard up or down as many half steps as needed. I can't find anything for this for the MODX though. Is this possible?
Source: https://www.zubersoft.com/mobilesheets/forum/thread-12730.html
(MobileSheets forum). Showing SysEx messages.
steps : transpose
-11 : F043107F1C0700000735F7
-10 : F043107F1C0700000736F7
-9 : F043107F1C0700000737F7
-8 : F043107F1C0700000738F7
-7 : F043107F1C0700000739F7
-6 : F043107F1C070000073AF7
-5 : F043107F1C070000073BF7
-4 : F043107F1C070000073CF7
-3 : F043107F1C070000073DF7
-2 : F043107F1C070000073EF7
-1 : F043107F1C070000073FF7
+1 : F043107F1C0700000741F7
+2 : F043107F1C0700000742F7
+3 : F043107F1C0700000743F7
+4 : F043107F1C0700000744F7
+5 : F043107F1C0700000745F7
+6 : F043107F1C0700000746F7
+7 : F043107F1C0700000747F7
+8 : F043107F1C0700000748F7
+9 : F043107F1C0700000749F7
+10 : F043107F1C070000074AF7
+11 : F043107F1C070000074BF7
for reset: no-transpose : F043107F1C0700000740F7
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Note that this command (00, 00, 07) is for the SYSTEM level keyboard transpose. Depending on how you have splits set up, you may not prefer this. Usually when folks want to transpose they want to note shift which would replace the last "07" in the sequence with a "01"
Example (for last line of pitch reset):
F043107F1C0700000740F7
Becomes ...
F043107F1C0700000140F7
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Another note for anyone else that comes across this post. When I send the string, it has to be spaced out in this format or it is ignored...
"F0 43 10 7F 1C 07 00 00 07 3F F7" (this is the -1 half step down)
Note that this command (00, 00, 07) is for the SYSTEM level keyboard transpose. Depending on how you have splits set up, you may not prefer this. Usually when folks want to transpose they want to note shift which would replace the last "07" in the sequence with a "01"
Example (for last line of pitch reset):
F043107F1C0700000740F7
Becomes ...
F043107F1C0700000140F7
So for clarification, if I want the pitch changed everywhere (including the splits) I'd use the system level transpose?
Yes - it is possible and documented in the Data List Manual - see pages 188 and 194
p.188
(3-5-3) PARAMETER CHANGE
(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 07 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.
The previous response showed this command for a transpose down of 1 half step
-1 : F043107F1C070000073FF7
Use the doc spec to understand the 'bytes' of the above:
F0 -> Exclusive status - use F0
43 -> YAMAHA ID - use 43
1n -> Device Number - the example replaces 'n' with '0' - that works unless you have manually changed the Modx Device Number as documented on p.194 of the Modx Reference manual:
Device Number
Determines the MIDI Device Number. This number must match the Device Number of the external MIDI
device when transmitting/receiving bulk data, parameter changes or other System Exclusive messages.
Settings: 1–16, All, Off
7F -> Group ID High - use 7F
1C -> Group ID Low - use 1C
07 -> Model ID - use 07 since that is the model ID for the Modx
00 00 -> Address High and Addaress Mid - this is the address of the 'MIDI PARAMETER CHANGE TABLE (SYSTEM) table on p.194 of the data list doc
07 -> Address Low - look in the table and you will see that the 5th parameter down is 'Keyboard Transpose'
3F -> Data - this represents a -1 (one half step down) transpose - the table shows a default value of 40 (in hex)
that '40' represents a ZERO transpose - the 3F hex value is ONE LESS than 40 hex.
F7 End of Exclusive - use F7 to indicate the end of the SysEx Message
Our band uses a MODX. On occasion we have the need to step a song down a half step or whole step to help out the singer. Of course, this happens after the keyboard player has learned it in the original key.
So for a simple case of a band member playing the Modx and NOT using splits the sample commands shown can be used. But if you are using splits, sending MIDI to other devices, or sending MIDI to the Modx to be played the choice of 'Transpose' versus 'Note Shift' is more complicated.
No matter which path you choose it is important to TEST, TEST, TEST to make sure things work the way you expect.