Hi,
I'm running sheet music plus with a Bluetooth pedal on my tablet. I've set midi commands to change the patch on my Roland XP-50 automatically when I load a song up, but can't figure out what command I need to transpose the pitch. I play in a band and trying to reduce the need to manually configure this stuff.
EDIT I've since seen thanks to another reply that I can transpose the patches and save them and then call these patches up, but would like to do it by midi if possible to keep my user patches as original patches, and not copies. That's a good back up plan though if i can't do this!
Thanks
Transpose by midi commands.
Re: Transpose by midi commands.
I'll assume that you can read Hexadecimal and that the XP50 has device id 16 or hex 10 (default)
I'll also assume that you want to transpose the keyboard as a whole not individual parts.
So that is System Transpose
Sysex for the XP50 is ...
F0 41 id 6A Cmd Address Data Checksum F7
Transmit command is 12
Address for System is 00 00 00 00
Add to that the offset for Transposition Value = 00 00 00 2C
Data is 0 to 11, but 0 is 5 semitones down and works its way up to 11 that is 6 semitones up.
The check sum is worked out from the byte starting at the address (byte 5 as F0 is byte 0) and ending at the data byte.
So you don't have to work out the checksum here are the 12 messages
F0 41 10 6A 12 00 00 00 2C 00 54 F7 = -5
F0 41 10 6A 12 00 00 00 2C 01 53 F7 = -4
F0 41 10 6A 12 00 00 00 2C 02 52 F7 = -3
F0 41 10 6A 12 00 00 00 2C 03 51 F7 = -2
F0 41 10 6A 12 00 00 00 2C 04 50 F7 = -1
F0 41 10 6A 12 00 00 00 2C 05 4F F7 = 0
F0 41 10 6A 12 00 00 00 2C 06 4E F7 = +1
F0 41 10 6A 12 00 00 00 2C 07 4D F7 = +2
F0 41 10 6A 12 00 00 00 2C 08 4C F7 = +3
F0 41 10 6A 12 00 00 00 2C 09 4B F7 = +4
F0 41 10 6A 12 00 00 00 2C 0A 4A F7 = +5
F0 41 10 6A 12 00 00 00 2C 0B 49 F7 = +6
You might also need a second sysex message to turn the transposition on -
Offset for Transposition On is 00 00 00 2B
F0 41 10 6A 12 00 00 00 2B 00 55 F7 = OFF
F0 41 10 6A 12 00 00 00 2B 01 54 F7 = ON
All the best
Royce
I'll also assume that you want to transpose the keyboard as a whole not individual parts.
So that is System Transpose
Sysex for the XP50 is ...
F0 41 id 6A Cmd Address Data Checksum F7
Transmit command is 12
Address for System is 00 00 00 00
Add to that the offset for Transposition Value = 00 00 00 2C
Data is 0 to 11, but 0 is 5 semitones down and works its way up to 11 that is 6 semitones up.
The check sum is worked out from the byte starting at the address (byte 5 as F0 is byte 0) and ending at the data byte.
So you don't have to work out the checksum here are the 12 messages
F0 41 10 6A 12 00 00 00 2C 00 54 F7 = -5
F0 41 10 6A 12 00 00 00 2C 01 53 F7 = -4
F0 41 10 6A 12 00 00 00 2C 02 52 F7 = -3
F0 41 10 6A 12 00 00 00 2C 03 51 F7 = -2
F0 41 10 6A 12 00 00 00 2C 04 50 F7 = -1
F0 41 10 6A 12 00 00 00 2C 05 4F F7 = 0
F0 41 10 6A 12 00 00 00 2C 06 4E F7 = +1
F0 41 10 6A 12 00 00 00 2C 07 4D F7 = +2
F0 41 10 6A 12 00 00 00 2C 08 4C F7 = +3
F0 41 10 6A 12 00 00 00 2C 09 4B F7 = +4
F0 41 10 6A 12 00 00 00 2C 0A 4A F7 = +5
F0 41 10 6A 12 00 00 00 2C 0B 49 F7 = +6
You might also need a second sysex message to turn the transposition on -
Offset for Transposition On is 00 00 00 2B
F0 41 10 6A 12 00 00 00 2B 00 55 F7 = OFF
F0 41 10 6A 12 00 00 00 2B 01 54 F7 = ON
All the best
Royce
-
- Posts: 30
- Joined: 16:47, 11 January 2016
Re: Transpose by midi commands.
Great thanks very much for that Royce, I'll have a tinker with this, I'm using mobilsheet music on my tablet so hopefully 'll be able to enter the details in the format above per this. Thanks for the 12 messages with the + and - numbers beside them!rcraven wrote:I'll assume that you can read Hexadecimal and that the XP50 has device id 16 or hex 10 (default)
I'll also assume that you want to transpose the keyboard as a whole not individual parts.
So that is System Transpose
Sysex for the XP50 is ...
F0 41 id 6A Cmd Address Data Checksum F7
Transmit command is 12
Address for System is 00 00 00 00
Add to that the offset for Transposition Value = 00 00 00 2C
Data is 0 to 11, but 0 is 5 semitones down and works its way up to 11 that is 6 semitones up.
The check sum is worked out from the byte starting at the address (byte 5 as F0 is byte 0) and ending at the data byte.
So you don't have to work out the checksum here are the 12 messages
F0 41 10 6A 12 00 00 00 2C 00 54 F7 = -5
F0 41 10 6A 12 00 00 00 2C 01 53 F7 = -4
F0 41 10 6A 12 00 00 00 2C 02 52 F7 = -3
F0 41 10 6A 12 00 00 00 2C 03 51 F7 = -2
F0 41 10 6A 12 00 00 00 2C 04 50 F7 = -1
F0 41 10 6A 12 00 00 00 2C 05 4F F7 = 0
F0 41 10 6A 12 00 00 00 2C 06 4E F7 = +1
F0 41 10 6A 12 00 00 00 2C 07 4D F7 = +2
F0 41 10 6A 12 00 00 00 2C 08 4C F7 = +3
F0 41 10 6A 12 00 00 00 2C 09 4B F7 = +4
F0 41 10 6A 12 00 00 00 2C 0A 4A F7 = +5
F0 41 10 6A 12 00 00 00 2C 0B 49 F7 = +6
You might also need a second sysex message to turn the transposition on -
Offset for Transposition On is 00 00 00 2B
F0 41 10 6A 12 00 00 00 2B 00 55 F7 = OFF
F0 41 10 6A 12 00 00 00 2B 01 54 F7 = ON
All the best
Royce
-
- Posts: 30
- Joined: 16:47, 11 January 2016
Re: Transpose by midi commands.
Thanks so much for your help, I'd never heard of hexadecimal before so didn't understand those codes when I saw them in the book. I'm an extreme midi novice. Was so chuffed when the synth transposed on my first go, I'll just need to copy the appropriate code now and such to each song... No more flusturing during gigs to find patch, or starting playing in wrong key! Really appreciated your help, thanks for taking the time to respond
Re: Transpose by midi commands.
Welcome to the wild world of hex and Midi.
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 .... Hex
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .... Decimal
eg Midi CC message
B3 07 23
CC7 on channel 4 value 35
B=CC and 3 is the channel (add 1 as the range is 0 to F, 0 to 15) 3 = channel 4
07 volume
23 (2 x 16 + 3 = 35 ) the value
Royce
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 .... Hex
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .... Decimal
eg Midi CC message
B3 07 23
CC7 on channel 4 value 35
B=CC and 3 is the channel (add 1 as the range is 0 to F, 0 to 15) 3 = channel 4
07 volume
23 (2 x 16 + 3 = 35 ) the value
Royce