Roland MT-32 synthesis

The Linear Arithmetic synthesis (LA synthesis) from Roland was made famous by the D-50 synthesizer.

The D-110 rack and the MT-32 expander are using almost the same synthesis, in a cheaper way, but the ROMs and the PCM samples used are similar.

You can modify MT-32 sounds, by loading a sysex into a real MT-32, or the Munt emulator. This is non persistent after powering it off, so you have to load again the changes with sysex before loading your midi files.

Sounds designed for MT-32 can be exported to the D-110 synthetizer, most patches will sound the same.

L/A Synth (Edit)

There is a (windows) tool called L/A Synth is a tool for editing the sounds of MT32 or D110 synth. You can get it there.

  • On linux : sudo modprobe snd-virmidi
  • Connect your midi keyboard to virtual raw midi 2.0
  • Load Munt mt-32 emulator.
  • Load LA-Synth Ed/Lib (add the required dll and vbx if necessary).
  • In munt, a new synth should appear, with a name such as "Wine midi driver". Add midi2 input port (it should be the virtual raw midi 2.0 previously connected in jack). In Munt properties, set channel 1...8 to make it able to respond to your midi keyboard (usually set in channel 1), or better, keep the original MT-32 settings and set your keyboard or DAW to talk to midi channels 2-10
  • In LA-Synth Ed/Lib, load D110 database (it should work for mt32, mostly) and open some mt32 sysex.
  • In midi settings, midi ports In= VirMidi 2-0, Out = Munt
  • In synth, select MT-32
  • Double click a timbre to load it in Munt.
  • To transfer a timbre from sysex to database, load a timbre in timbre memory, click on the database window, in the "Timbre menu", select "save timbre from timbre memory to db" (shift+ins)
  • To transfer a timbre to timbre bank (from a sysex), load a timbre in timbre memory, click on the Timbre Bank window, in the "Timbre menu", select "save timbre memory to timbre bank" (shift+ins)
  • Then in "Patch memory" window, assign the patch number to the correct timbre number (use the "memory" timbre group). Let's say you want to keep the default sounds banks except for the second patch, which you have modified. In your Timbre bank you have replaced "AcouPiano2" by a new sound called "MyPiano". After you've made the changes, open the Patch Memory windows, in Patch number 1 you'll have AcouPiano1, assigned to Timbre group "group A", with Timbre number 1 (by default). In Patch number 2 similarly, you'll get AcouPiano2, assigned to Timbre group "group A", with Timbre number 2. So to replace this Patch number 2, just change "timbre group" to "Memory" instead of "Group A", and it will display your customised sound "MyPiano".
  • In "Patch Temp", define the 8 instruments to be selected by default (will be displayed in Munt main window). Make sure the output level is enough, otherwise you won't have sound in Munt.
  • Save the sysex.
  • To clean the sysex, use M32-to-SYX from there.

Sysexer NG and Munt (Edit)

  • You can use sysexxer NG to load the resulting sysex into Munt (you might need to transfert it twice)

Muse Sequencer (Edit)

  • For using with a DAW, you might need to request program changes to load correctly your sounds. If your DAW has the MT-32 configuration (the Muse Sequencer has it), to get your customised "MyPiano", select "AcouPiano2" in the DAW, and it will select the correct patch number.
  • Export in Midi.

Cakewalk (Edit)

To embed the sysex and midi together, here is a tutorial from Midi Music Adventures

  • In Cakewalk Pro v3.01, choose View->Sysx, there click "Load Bank" and choose your .syx file. More can be added by clicking other bank numbers there and then clicking "Load Bank".
  • Next, to actually attach the SysEx to any standard midi files you will be saving to, select the track you want the SysEx on, and choose View->New->"Event List". There, type the "Insert" key on your keyboard to insert a new event. By default it will be a standard "Note On" message, so double click under the "Kind" heading, where it says "Note" and change it to "System Exclusive". Then double-click the "0" under the "Values" column, and make that number, the number of the bank that you imported your SysEx into earlier (see the View->Sysx window for that).
  • Of course, if you imported more .syx files earlier, just press the "Insert" key again and repeat that, changing the values as necessary to set each "Bank". When you export the file as a .mid, it will contain your now embedded SysEx, with whatever other song data you have in the cakewalk session.

Synthwork for Atari ST (Edit)


Cubase 3 for Atari ST (Edit)

Cubase 3 is perfect for recording MT-32 music. From a fpga card such as MiST, you can transfert back your work with the hatari emulator, just put the SD card on your computer, load the .hd file into the IDE HD settings, you might also need a IDE driver to be loaded from floppy A, and also use a local GEMDOS drive as a second harddrive, which will be a folder on your computer, set the "add GEMDOS HD after ACSI/SCSI/IDE partitions" option, and important, use emuTOS instead of regular atari TOS to be able to use 2 hardrives.

LA synthesis (Edit)

  • TVF = Time Variant Filter (lowpass/highcut)
  • TVA = Time Variant Amplifier (ADSR)
  • P-Env = diapason envelope (change pitch during time)

Converting a MT-32 midi file into a GM (General Midi) file (Edit)

If you have some MT-32 files you wish to convert to the GM format, you'll notice the instruments don't have the same numbers: you'll have to remap all instruments, either by hand or with a tool.

You can find a list with the instruments and the differences there:

midiplex ( can convert midi into xmi, and Wildmidi ( can make the conversion from MT32 to GM.

./wildmidi -g 1 /tmp/midiMT32.xmi -x /tmp/midiGM.mid

The instruments are not exactly the same of course, but it can be of a great help, especially for the drums which are correctly remapped!

Using MT-32 to compose music (Edit)

Munt is a great MT-32 emulator, but it's barely usable due to its latency.

MT32-pi is a "hardware" version of this emulator, running on baremetal raspberry pi, and with zero latency:

Powered by LionWiki-t2t
  Edit   History