MT-32 User Memory
Moderator: Quest Studios Archive moderators
-
- Posts: 2
- Joined: Wed Nov 20, 2019 7:40 pm
MT-32 User Memory
Hi,
Do someone know how to work with the user memory.
I've tried to create a user timbre, written it on the user timbre 0, but when i call back the preset 0 nothing has been save, i get the power on default timbre, same thing with patch ?
Thanks in advance,
Have a good day,
Rgds,
Do someone know how to work with the user memory.
I've tried to create a user timbre, written it on the user timbre 0, but when i call back the preset 0 nothing has been save, i get the power on default timbre, same thing with patch ?
Thanks in advance,
Have a good day,
Rgds,
-
- Posts: 2
- Joined: Wed Nov 20, 2019 7:40 pm
Re: MT-32 User Memory
Hi,
Don't waste time the mt-32 rev 0 - 1 don't support the write request.
Have a good day,
Rgds,
Don't waste time the mt-32 rev 0 - 1 don't support the write request.
Have a good day,
Rgds,
-
- Quest Studios Veteran
- Posts: 169
- Joined: Mon Jul 13, 2015 6:26 pm
- Location: Chippewa Falls, Wisconsin
Re: MT-32 User Memory
I attempted to create a patch in October, 2017 with success, and I've just finished reverse-engineering my process to share it with you.
Originally, I found a file by Tom that was very helpful, and saved it to How-To_Manage-Patch-Banks-With-The-MT-32!.txt. It started me in the right direction, so I'm linking a .7z archive including it, the DOS and windows tools, my working files and a couple screenshots for illustration: https://drive.google.com/file/d/1mAXIV8 ... sp=sharing
The first thing I did, was use Dr. T's MT-32 Editor/Librarian to create a patch in Tom's empty patch bank template. After creating, and auditioning it to my satisfaction, I clicked "patches" in Dr. T. There I picked program 27, although you can probably use any (after you change the leading "A", "B", or "R" to "M"). Next just drag the "M##:" to select your user patch name. Before closing the "Patches" window, note the "midi prog" # (not the number prefixed with the "M", but the leftmost column on the "Patches" window) you've chosen to have your user sound on, as you need to use it later to recall it in your MIDI file/sequencer. Now it should be enough to save your file and quit Dr. T.
Next, convert the .M32 file Dr T just saved to a SysEx file, using mt2syx on windows (or wine).
Finally, import the SysEx into your sequencer, and make sure whatever channel you want to play the user patch on (2-8), has a program change set to the same PC# that Dr. T had as the "midi prog" # noted earlier from the "Patches" window. If your sequencer uses hexadecimal numbering (as MIDI files do internally), 0 will correspond to Dr. T's numbering of 1, and you will need to subtract one from the number you noted. Most likely it will number from 1, just like Dr. T, and you can use its same number.
For my use, I created a separate SysEx midi file, to be played before the song, but you could just embed it all in the song file if you'd like. The SysEx generated by Dr. T is rather a lot, but I'm sure you could examine it to glean the specific few messages you'd need, if you wanted it sent quicker. It's fast enough for me to send it all, though, at about 6 seconds. Just be sure the SysEx is sent before the song starts playing the channel with your user patch (and probably before the needed program change occurs).
I did all this, trying to recreate a complete "Raptor: Call of the Shadows" soundtrack for the CM-64 with the SN-U110-07 Electric Guitar card, but noticed in June of 2018 that Tom had a reverse cymbal programmed in ecoed11.mid on channel 1 of the SC-8850, so the original Eco Quest track should have had one too. I still haven't compared them, though. Nevertheless, it provided a good learning opportunity for me, so it's probably good to have discovered that later.
Since you thought it might have been a problem with the original MT-32, I just tested that my MT-32 (old, 1.07, 10oct87) has "ReverseCym" set on part 2 (midi channel 3), and it sounds correct. That shouldn't be all that surprising, though, as this is likely very similar to how many old games did it. Not being able to support writes on the original revision MT-32s would mean games would really have had to hack it to program their sounds. I know they exploited bugs, but I doubt that such a hurdle would have allowed the synthesizer to become quite so popular.
I hope that helps, and I'm sorry I didn't notice your question earlier.
Originally, I found a file by Tom that was very helpful, and saved it to How-To_Manage-Patch-Banks-With-The-MT-32!.txt. It started me in the right direction, so I'm linking a .7z archive including it, the DOS and windows tools, my working files and a couple screenshots for illustration: https://drive.google.com/file/d/1mAXIV8 ... sp=sharing
The first thing I did, was use Dr. T's MT-32 Editor/Librarian to create a patch in Tom's empty patch bank template. After creating, and auditioning it to my satisfaction, I clicked "patches" in Dr. T. There I picked program 27, although you can probably use any (after you change the leading "A", "B", or "R" to "M"). Next just drag the "M##:" to select your user patch name. Before closing the "Patches" window, note the "midi prog" # (not the number prefixed with the "M", but the leftmost column on the "Patches" window) you've chosen to have your user sound on, as you need to use it later to recall it in your MIDI file/sequencer. Now it should be enough to save your file and quit Dr. T.
Next, convert the .M32 file Dr T just saved to a SysEx file, using mt2syx on windows (or wine).
Finally, import the SysEx into your sequencer, and make sure whatever channel you want to play the user patch on (2-8), has a program change set to the same PC# that Dr. T had as the "midi prog" # noted earlier from the "Patches" window. If your sequencer uses hexadecimal numbering (as MIDI files do internally), 0 will correspond to Dr. T's numbering of 1, and you will need to subtract one from the number you noted. Most likely it will number from 1, just like Dr. T, and you can use its same number.
For my use, I created a separate SysEx midi file, to be played before the song, but you could just embed it all in the song file if you'd like. The SysEx generated by Dr. T is rather a lot, but I'm sure you could examine it to glean the specific few messages you'd need, if you wanted it sent quicker. It's fast enough for me to send it all, though, at about 6 seconds. Just be sure the SysEx is sent before the song starts playing the channel with your user patch (and probably before the needed program change occurs).
I did all this, trying to recreate a complete "Raptor: Call of the Shadows" soundtrack for the CM-64 with the SN-U110-07 Electric Guitar card, but noticed in June of 2018 that Tom had a reverse cymbal programmed in ecoed11.mid on channel 1 of the SC-8850, so the original Eco Quest track should have had one too. I still haven't compared them, though. Nevertheless, it provided a good learning opportunity for me, so it's probably good to have discovered that later.
Since you thought it might have been a problem with the original MT-32, I just tested that my MT-32 (old, 1.07, 10oct87) has "ReverseCym" set on part 2 (midi channel 3), and it sounds correct. That shouldn't be all that surprising, though, as this is likely very similar to how many old games did it. Not being able to support writes on the original revision MT-32s would mean games would really have had to hack it to program their sounds. I know they exploited bugs, but I doubt that such a hurdle would have allowed the synthesizer to become quite so popular.
I hope that helps, and I'm sorry I didn't notice your question earlier.
Re: MT-32 User Memory
I'm not sure what the Eco Quest stuff has to do with the OP, but I can say that with ECOED11 'Cetus', Tom did something he commonly did, which was to put the reverse cymbal notes into a separate non-drum channel for GM (usually channel 1)- which in MT-32 soundtracks are on the drum channel, and GM doesn't have rev cym in the drumkits.
-
- Quest Studios Veteran
- Posts: 169
- Joined: Mon Jul 13, 2015 6:26 pm
- Location: Chippewa Falls, Wisconsin
Re: MT-32 User Memory
It has only to do with my use case for programming MT-32 patches. I chose Reverse Cymbal because one of the Raptor GM songs I was porting to the CM-64 uses it, but I didn't see it available. Anyway, since your post, I investigated it thoroughly, and you're right that Tom set it on channel 1, and that the MT-32 version has it in channel 10 (track 8, according to rosegarden's import). It is a programmed sound from the game though, playing on key F2, which is normally silent. I hadn't noticed it while working on Raptor, so I created my own. Also, the only cymbals normally available on the MT-32 are Crash Cymbal and Ride Cymbal. Neither really replicates a GM Reverse Cymbal (as you've said, not in the GM drumkit, but on GM's Program 120). Program 120 is exactly how it exists in Raptor's Level05.mid, which I was attempting to port: http://www.mirsoft.info/gmb/music_info. ... e=MjM1Ng==Spikey wrote: ↑Thu Feb 13, 2020 10:54 am I'm not sure what the Eco Quest stuff has to do with the OP, but I can say that with ECOED11 'Cetus', Tom did something he commonly did, which was to put the reverse cymbal notes into a separate non-drum channel for GM (usually channel 1)- which in MT-32 soundtracks are on the drum channel, and GM doesn't have rev cym in the drumkits.
Thanks!
Re: MT-32 User Memory
The MT-32 note isn't F2 however, it's F4. It is usually silent, you're right- it's specially programmed in the EQ1 MT-32 patch bank.
Many Sierra MT-32 games use reverse cymbal on the drumkit, channel 10.
Many Sierra MT-32 games use reverse cymbal on the drumkit, channel 10.
-
- Quest Studios Veteran
- Posts: 169
- Joined: Mon Jul 13, 2015 6:26 pm
- Location: Chippewa Falls, Wisconsin
Re: MT-32 User Memory
Interestingly, there appears to be known discrepancies in MIDI octave numbering: https://www.midi.org/forum/830-midi-oct ... g-standard.
My Rosegarden install is definitely configured to view it as F2... No matter the program, it should always be MIDI note 53, I think. Someday I'll have to teach myself how Sierra games program new sounds into the Rhythm Part, as I was unaware of that possibility until now.
Thanks again,
Lucas
Re: MT-32 User Memory
Weird! I had no idea. What do you view as the first note on the drum part?
-
- Quest Studios Veteran
- Posts: 169
- Joined: Mon Jul 13, 2015 6:26 pm
- Location: Chippewa Falls, Wisconsin
Re: MT-32 User Memory
Yeah, I would have thought with MIDI being a standard, MIDI octave numbering would be too. The Rosegarden drum mapping's lowest possible note is "C-2" (negative 2). It is actually MIDI note 0, according to aseqdump. Using the Rosegarden CM-64 studio file I created, I see it's lowest standard CM-64 drum patch as "Acoustic Bass Drum (1Ptl,><)" at B0, which is actually MIDI note 35.