Difference between revisions of "Munt"

From Modding Fridays
Jump to: navigation, search
(Usage)
(Installation)
Line 2: Line 2:
  
 
== Installation ==
 
== Installation ==
You need two things basically, the Munt software and the ROMS of the synth we want to emulate. Please note that even though MT-32 is often referred to as the ideal DOS gaming sound device, its successor the CM-32L, is the preferred choice here. According to [http://www.marshalltradecorp.com/coDe/old-game-info/differences-between-roland-mt32-and-cm32l.html a Roland synth collector]:
+
You need two things basically, the Munt software and the ROMS of the synth we want to emulate. Please note that even though MT-32 is often referred to as the ideal DOS gaming sound device, its successor the CM-32L, has some advantages. According to [http://www.marshalltradecorp.com/coDe/old-game-info/differences-between-roland-mt32-and-cm32l.html a Roland synth collector]:
  
 
<blockquote>
 
<blockquote>
Line 8: Line 8:
 
</blockquote>
 
</blockquote>
  
'''However''' (dramatic pause), using the latest CM-32L may not be the best thing to do for some games that made use of the faults and issues found in the original MT-32. As explained by [http://thecrankyhermit.shoutwiki.com/wiki/MT-32_setup_guide The Cranky Hermit]:
+
'''However''' (dramatic pause), using the latest CM-32L may not be the best thing to do for some games that exploited the faults and issues found in the original MT-32. As explained by [http://thecrankyhermit.shoutwiki.com/wiki/MT-32_setup_guide The Cranky Hermit]:
  
 
<blockquote>
 
<blockquote>
The MT-32 went through many iterations and variants. This guide will discuss two of them; the very original model (sometimes called the rev0), and the CM-32L. There are plenty of others, but these two will cover all of your bases with regards to playing old games on a new computer. The difference between the two [...] is that the CM-32L has some additional sound effects built into it and fixes a number of firmware bugs. There are also a very small number of games that simply don't work on a rev0. However, many games, especially those by Sierra and Dynamix, actually exploit the rev0's firmware bugs to produce sound beyond its intended ability, and they will not sound right on a CM-32L, or on anything but a rev0. Therefore, '''the MT-32 rev0 should be the default model to emulate, and the CM-32L to be used only for games which use its sound effects, and also for games known to be incompatible with the rev0''' [my emphasis].  
+
The MT-32 went through many iterations and variants. [The main ones are] the very original model (sometimes called the rev0), and the CM-32L. There are plenty of others, but these two will cover all of your bases with regards to playing old games on a new computer. The difference between the two [...] is that the CM-32L has some additional sound effects built into it and fixes a number of firmware bugs. There are also a very small number of games that simply don't work on a rev0. However, many games, especially those by Sierra and Dynamix, actually exploit the rev0's firmware bugs to produce sound beyond its intended ability, and they will not sound right on a CM-32L, or on anything but a rev0. Therefore, '''the MT-32 rev0 should be the default model to emulate, and the CM-32L to be used only for games which use its sound effects, and also for games known to be incompatible with the rev0''' [my emphasis].  
 
</blockquote>
 
</blockquote>
  
Line 20: Line 20:
 
* <code>CM32L_CONTROL.ROM</code>
 
* <code>CM32L_CONTROL.ROM</code>
 
* <code>CM32L_PCM.ROM</code>
 
* <code>CM32L_PCM.ROM</code>
* <code>MT32_CONTROL.ROM</code> (find the 1987 unpatched version)
+
* <code>MT32_CONTROL.ROM</code> (find the 1987 unpatched version, that's rev0)
 
* <code>MT32_PCM.ROM</code>
 
* <code>MT32_PCM.ROM</code>
  
Line 28: Line 28:
  
 
=== Munt Installation ===
 
=== Munt Installation ===
 +
 +
'''Note:''' You may need to install some missing headers here YMMV
  
 
<pre>
 
<pre>
Line 34: Line 36:
 
mkdir build
 
mkdir build
 
cd build
 
cd build
cmake -DCMAKE_BUILD_TYPE=Release -Dmunt_WITH_MT32EMU_QT:BOOL=OFF ..  # You may need to install some missing headers here YMMV
+
cmake -DCMAKE_BUILD_TYPE=Release -Dmunt_WITH_MT32EMU_QT:BOOL=OFF ..  # We don't build the QT GUI
 
make
 
make
 
sudo make install
 
sudo make install

Revision as of 14:33, 6 October 2019

Munt is a multi-platform software synthesiser emulating pre-GM MIDI devices such as the Roland MT-32, CM-32L, CM-64 and LAPC-I. It's useful for listening to MIDI files in a glorious way or get a chance to experience the soundtrack of many DOS games the way they were often originally composed.

Installation

You need two things basically, the Munt software and the ROMS of the synth we want to emulate. Please note that even though MT-32 is often referred to as the ideal DOS gaming sound device, its successor the CM-32L, has some advantages. According to a Roland synth collector:

Internally, the CM-32L contains everything that the MT-32 does, but contained an additional 33 samples in it's wave banks. Most of the added samples were sound effects. There are several games that make use of these added sound effects, such as Beneath a Steel Sky and Ultima Underworld. If you play these games with an MT-32, you will get the music, but you will miss out on a few sound effects here and there. This was designed in such a way that an MT-32 user would not know that they were missing anything but the CM-32L, CM-64, CM-500 user would be treated to a nice surprise with extra sounds.

However (dramatic pause), using the latest CM-32L may not be the best thing to do for some games that exploited the faults and issues found in the original MT-32. As explained by The Cranky Hermit:

The MT-32 went through many iterations and variants. [The main ones are] the very original model (sometimes called the rev0), and the CM-32L. There are plenty of others, but these two will cover all of your bases with regards to playing old games on a new computer. The difference between the two [...] is that the CM-32L has some additional sound effects built into it and fixes a number of firmware bugs. There are also a very small number of games that simply don't work on a rev0. However, many games, especially those by Sierra and Dynamix, actually exploit the rev0's firmware bugs to produce sound beyond its intended ability, and they will not sound right on a CM-32L, or on anything but a rev0. Therefore, the MT-32 rev0 should be the default model to emulate, and the CM-32L to be used only for games which use its sound effects, and also for games known to be incompatible with the rev0 [my emphasis].

ROM files

It's basically copyrighted binaries and data, so they can be a bit tricky to find. You want these files:

  • CM32L_CONTROL.ROM
  • CM32L_PCM.ROM
  • MT32_CONTROL.ROM (find the 1987 unpatched version, that's rev0)
  • MT32_PCM.ROM

They may be available under a slightly different name, just rename them.

Place the files in /usr/share/mt32-rom-data.

Munt Installation

Note: You may need to install some missing headers here YMMV

git clone https://github.com/munt/munt.git
cd munt
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -Dmunt_WITH_MT32EMU_QT:BOOL=OFF ..  # We don't build the QT GUI
make
sudo make install
cd ../mt32emu_alsadrv
make
sudo make install

Usage

As a MIDI player

The idea is to get a MIDI player to send MIDI data to the Munt ALSA driver.

  • First we start Munt:
mt32d
  • Then we check where the Munt client is:
aconnect -l | grep MT-32
  • On my machine it looks like this, it may be slightly different for yours:
client 128: 'MT-32' [type=user,pid=23689]
aplaymidi *-mt32.mid --port 128

IMPORTANT: If you have installed both MT-32 and CM-32L ROM files, by default mt32d will make use of the CM-32L ROM files. To force it to use the MT-32 romset, start mt32d like this:

mt32d -o 2

As a sound engine for DOSBox

TODO

As an External soundcard

TODO