First post, by Reserve

User metadata
Rank Newbie

Hello! I've been struggling for a few hours now, trying to figure out how to set my MT-32's pitch bend range to 2 semitones instead of 12 or 24, or whatever the default is. I have a SysEx file that sets it to 24, but I'm completely stumped as to how to change the hex code to do what I want. (I got as far as changing the "24" to "2", but then the checksum's wrong.)

I'm also very interested in changing the reverb mode. I had no idea there were different modes until I gave MUNT a try, but I'd like to change them on my actual MT-32. I know about using the Master Volume+Volume button to change the reverb amount, but nothing about modes...

I've been completely out of luck finding tutorials for these things--everything I can find seems to read like I should already know a whooole lot that it gives me no clue about. I really hope its okay to ask for help here! Everyone here seems like a genius, talking about stuff wayyy over my head.

I mostly just want to change this stuff so I can record a few tracks of my own music, so if I could just figure out how to set the pitch bend range for just one track, I'd be happy...

Reply 1 of 6, by MMaximus

User metadata
Rank Oldbie

A few years ago I got interested in making music with my CM-32L so I delved in the user manual to look into the same issues as you (pitch bend range and reverb control). I didn't know anything about Sysex at the time and still don't know much now so I'm not sure how this works, but I think I managed to change the pitchbend range to 2 tones instead of an octave and to disable the reverb. To do so I placed some instructions at the beginning of the sequence, using Cubase list editor.

If I'm not mistaken you need to send three successive Control Change messages to modify the pitchbend range:
CC101 (RPN MSB) value "0"
CC100 (RPN LSB) value "0"
CC6 (dataEnt MSB) value "2"

and you need to send the following Sysex data to disable the reverb. If you look in the user manual you'll probably find the correct string to access other reverb modes or change the reverb level.

Hope this works! 😎

Hard Disk Sounds

Reply 2 of 6, by Reserve

User metadata
Rank Newbie

Ooh, thanks for the quick reply! Sorry I'm late, I just went to bed after posting.

I did find a Pitch Bend Sensitivty thing in Cakewalk Home Studio, but it doesn't seem to send to my MT-32 (I'm fairly sure I have an old version, and I vaguely recall reading that RPN messages can only be sent to the new one?) Cakewalk uses the controller pane, not any SysEx stuff that I know of.

I did try your reverb-off code, but it didn't seem to do anything... I used Bome's SendSX 1.30, and the light flashed, so I know the MT-32 got the message. I spent the morning and afternoon working on this post, to further explain why I'm so befuddled by everything, and what exactly it is I need help understanding.

First, some further confusion with reverb:

The Owner's Manual says that holding down Master Volume+Volume buttons changes Reverb MODE - which ranges from 0-10 on the display. Later, it shows this:

Reverb Mode | Sets the reverb type | Room, Hall, Plate, and Tap-delay
Reverb Time | Sets the reverb duration | 1 to 8
Reverb Level | Sets the reverb intensity | 0 to 7

From my experience, it sounds more like the Master Volume+Volume changes the LEVEL, not the mode. (In any case, why does the display show 0-10 if 4 or 7 is the highest?)

Nowhere in the manual does it say HOW to change any of the other reverb things.

Now in the MIDI Implementation booklet, I found this, under the section titled "System Area":

Offset Address | Description
00 01H | 0000 00aa | Reverb Mode 0-3
00 02H | 0000 0aaa | Reverb Time 0-7
00 03H | 0000 0aaa | Reverb Level 0-7

I have no idea what I'm supposed to do with this information. :( How do I convert it to a SysEx message? What do the Hs mean? What do the 0s and As mean, under "Description"? Which part should I change to represent the number I want to change?


Leaving that problem aside for now, my findings with changing the Pitch Bender Range:

There's two mentions of "Bender Range", one under a section titled "Patch Temp" and another under a section titled "Patch Memory". In both of them, they're described the same:

Offset Address | Description
00 04H | 000a aaaa | Bender Range 0-24

Now here's the first line of the SysEx file I have, which sets the Bender Range to 24:

F0 41 10 16 12 05 00 04 18 5F F7

Breaking down each bit into what I understand...

F0 | Start SysEx
41 | Roland
10 | Device ID
16 | Model
12 | Send
05 | ??? (this doesn't change)
00 | ??? (this goes up by 1 every 16 messages)
04 | ??? (this keeps adding 8)
18 | Pitch Bend Range? (24) (tried changing this to 02, but got a Checksum Error when I sent it to the device.)
5F | Checksum (this keeps subtracting 8)
F7 | End SysEx

I couldn't find any information on how to calculate the checksum after changing the other data, except for what's mentioned in this thread: http://www.vcfed.org/forum/showthread.php?278 … o-MT-32-display.

Where checksum:=((not sumBytes(startAddress+data)) and $7F)+1;

Though mein gott the explanations of making the roland checksum were needlessly complex.

Again... no idea what that means! :( I just know I need to figure out how to change the checksum as well as everything else.

This is the whole SysEx file, pastebinned for length:



Thanks for trying to help me figure this all out, by the way! I appreciate it a lot.

Reply 3 of 6, by Reserve

User metadata
Rank Newbie

I think I just made a breakthrough. Bottom right corner of Page 7 of my MIDI Implementation booklet, it lists some Start address stuff.
05 00 08 is Patch Memory #1 ... Patch Memory #2 adds 8. So I'm not sure what the deal is with that earlier code in the pastebin link starting with 05 00 04 and adding 8 from there, but that explains those 3 numbers. So its cycling through every Patch Memory... Which means that the 18 is the Pitch Bender Range number, and the only part that is really screwing up is the Checksum!

...I think.

Edit: I found the Roland Checksum program! http://www.bwalk.com.au/Convert/Convert.html Here you are, future archaeologists. So I'm going to reverse-engineer that code, find the checksum pattern, and test it out... If it works, we can ignore all my rambling about the pitch bend stuff. :D

Edit 2: SUCCESS! http://pastebin.com/GJuw0162 Pitch Bend sensitivity set to 2 semitones!

Edit 3: HAH! I figured it out!

So the START ADDRESS is the code that the OFFSET ADDRESS changes. That's why 05 00 00 was turned to 05 00 04. Because 00 04 is the Pitch Bender's OFFSET. You add that onto the START ADDRESS... So 10 00 00 is System Area, and Reverb Mode is 00 01, the code to change the Reverb Mode becomes 10 00 01! Then the next number is the value, and then the checksum! And the checksum goes DOWN the more you add!

So these three lines crank the tap reverb to max!
F0 41 10 16 12 10 00 01 04 6B F7
F0 41 10 16 12 10 00 02 08 66 F7
F0 41 10 16 12 10 00 03 08 65 F7

:D I figured it out! Thanks for reading all this! I knew nothing about all this stuff before this morning, and I think I wet myself with giddiness a little when it all clicked.

Reply 4 of 6, by Thmp

User metadata
Rank Newbie

So, I don´t know if anybody will read this, but I stumbled across this old thread while looking for a solution on how to change the reverb on my mt-32 pi by sending sysex messages via an external midi controller and a retrokits rk002-cable. Thanks to your "research" I got it to work - great help, thank you!

As a next step I was trying to switch off the reverb only on the rhythm section (while it´s turned on on the instrument patches on midi ch 1-8) Somehow I don´t get this to work, so I´d like to know if it´s even possible to separately control the reverb of the rhythm bank. And if yes, what would be the correct sysex code for e.g. turning off the first instrument (acoustic bass drum). I tried F 0 41 10 16 12 03 01 10 40 50 07 00 55 F7 but that didn´t work. I also tried F0 41 10 16 12 03 01 13 00 69 F7 as a "general" rhythm section midi switch, but that didn´t work either.

Reply 5 of 6, by now_its_dark

User metadata
Rank Newbie

To set the reverb for an individual drum sound, the sysex is

F0 41 10 16 12 03 [address in drum map from 01 13 (C1) to 03 0D (E♭6)] [enable=01/disable=00] [checksum] F7

Each LSB is offset by 4 (timbre, level, pan and reverb params per-drum).
So to disable reverb for the first Acou BD in the default drum map (B1 / #35), it would be

F0 41 10 16 12 03 01 3F 00 3D F7