10

I'm playing an old game in Dosbox. The game asks me whether my sound card is Sound Blaster or Roland. What should I choose for best sound?

enter image description here

Game happens to be http://www.gamecrafters.com/gamecrafters/maddog/index.html if you're curious.

10

Audio quality is somewhat subjective, although it's my opinion that the Roland MT-32 produced superior music quality. You can compare them with a number of videos on YouTube. Here's one for Space Quest 3:

Sound Blaster:

Roland MT-32:

The Roland audio offers a bit better quality, has reverb effects, actual MIDI "instruments," is in stereo, etc.

DOSBox, however, doesn't emulate the Roland MT-32. It only passes MIDI data to whatever MIDI devices are available on your PC. This might be the actual Roland hardware, although that's unlikely in this day and age. However, most modern sound cards have rudimentary support for MIDI, but the quality depends on your card, its drivers, etc. There are a few 3rd party MIDI device emulators for DOSBox - there's a good article on their wiki about setting them up.

So, to summarize, you'll probably get a better quality out of the MT-32 option, but only if you take the time to set it up and configure DOSBox/your PC properly.

|improve this answer|||||
  • 1
    It's worth noting that for Sierra games using the SCI0 engine, like SQ3 above, the music was specifically written for the MT-32, then converted to work with other sound cards. Sierra games often use SysEx to upload custom patches to the MT-32, so some instruments that the music was intended to be played with can't be heard on other devices. However, there are many other games where musicians primarily targeted the OPL2 synthesizer used in Adlib and Sound Blaster cards, and added MT-32 or GM support as an afterthought. Cryo's Dune is a good example of this. So it really varies by game. – Asterisk Jan 18 '17 at 5:18
8

Boxer.app, a popular DOSBOX wrapper for Macs, has recommendations for preferred sound systems in the help file. They are (in order from best to worst)

  1. Gravis Ultrasound / Max. Not many games offer it, but it's the best choice when they do.
  2. General MIDI (MPU-401). Better music. Can be paired with Sound Blaster 16 for digital audio.
  3. Roland MT-32. Predecessor to General MIDI.
  4. Sound Blaster. 16 if available, otherwise pro or regular. "Most reliable"
  5. AdLib. Not as good as Sound Blaster.
  6. Disney Sound Source / Tandy 3-voice sound, two obscure options
  7. PC speaker

Boxer added special Roland MT-32 support in 2011; it's possible this isn't available in other DOSBOX variants.

|improve this answer|||||
2

On my PC, I found that for this particular game - Maddog Williams - Sound Blaster sounded better. Roland played a constant high tone behind the music.

|improve this answer|||||
2

TL;DR If you have a choice between General MIDI and Sound Blaster for music, always choose General MIDI. MT-32 requires a special emulator to do.

A few things I should mention before I get into this:

  1. I used to be heavily involved in the game music community, particularly in the part of the community dealing with MIDI music. (Yes, I'm that Powerlord)
  2. None of this is relevant to modern day games. The advent of CD storage and explosion in hard disk space made MIDI game music obsolete in the mid to late 90s.
  3. You need to know the difference between Wavetable and FM Synthesis for MIDI music.

Wavetable vs. FM Synthesis

Wavetable Synthesis uses samples of real instruments that are pitch shifted up and down the musical scale. Generally there are 128 instruments and 32 drum samples, but Roland GS and Yamaha XG have additional instruments banks (sets of 128 instruments) and drum sets.

As an additional consideration, the larger the sample memory on the card, the more samples per instrument the card uses. This makes them sound less "weird" on lower and higher notes as MIDI pitch shifting is done from the closest sound.

FM (or Frequency Modulated) Synthesis is using a tone generator to simulate instruments by manipulating their waveforms.

What does that mean?

  • Sound Blaster and Adlib both use FM Synthesis
  • General MIDI, MT-32, GS, and XG all use Wavetable

Unless you're dealing with Chiptunes, Wavetable always sounds better than FM as it uses real instrument sounds.

General MIDI won the "MIDI war." As such, it's the only one supported directly by Windows via a software synthesizer (named Microsoft GS Wavetable SW Synth1). DOSBox and the like also tend to emulate FM (Soundblaster / Adlib) since that was common back in the day.

The biggest loser here is MT-32. MT-32 was an early wavetable format, but the instruments it used were different from the ones used by General MIDI, GS, and XG.

DOSBox does not emulate MT-32, despite the fact that it only requires instrument remapping and sending the MIDI command to increase the pitch bend range to 12 semitones (General MIDI defaults to 2 semitones).

Side note: Gravis Ultrasound is the third major music option. It's a wavetable option that supported loading the samples into the card's RAM dynamically. Newer versions of the Ultrasound used System Memory instead and could even be loaded as General MIDI devices.

1Despite the name, this isn't a full GS implementation. Microsoft just licensed the basic sound samples from Roland.

|improve this answer|||||
1

Like @agent86 mentions, it doesn't really matter for DOSBox specifically. FYI, I think DOSBox always emulates a Sound Blaster 16 for its audio by default (or it supports SB16 by default, not sure which). I wanted to take this opportunity to provide some background and helpful information.

In my opinion, the difference between these sound cards primarily depends on personal preference. In the days of Gravis, Sound Blaster 16, etc, each sound card had its own synthesizer for playing MIDI, which is a standardized interface for sound and music instructions. This is during a period of time where hardware had very limited memory to work with, so synthesizers would often produce radically different sounds depending on how the card was designed because none of them were able to push high-fidelity sound. This means that each sound card will play the music with different sounding "instruments," although the notes, volume and tempo will remain the exact same.

Some of those synthesizers will sound worse and some will sound better; heck, I would even go so far as to say that certain games sound better with specific sound cards than others. Doom, for instance, sounds better on the Gravis Ultrasound than the Sound Blaster 16 thanks to the crunchy electric guitar instruments and punchier percussion. SB16 has rather lame percussion and guitar instruments. Many Doom fans will praise the SB16, however, since that's how the vast majority of users played it when it was released, I think.

Here is a link to a video of "At Doom's Gate" (E1M1) from Doom being played with an array of different period-appropriate sound cards. If you play Doom nowadays through an updated source port like ZDoom, or even natively through Windows 95 or 98, then you're always hearing the "MS Synth" version of the music. That one sounds pretty good too.

If you are ever curious as to how a game you're playing in DOSBox sounds using hardware it was designed for, you can search the name of your game and the name of the device on YouTube to (usually) find a video of the game's soundtrack rendered with that device. I believe many of these devices even have emulators if you want to play the game that way yourself (EDIT: agent86 mentioned that one too -- there are even DOSBox-specific ones).

|improve this answer|||||
0

You should choose Roland MT32, but to be able to use it, these are required:

At the DOSBox conf file midi section:

mpu401=intelligent
mididevice=mt32
midiconfig=
mt32.romdir=./
mt32.reverse.stereo=false
mt32.verbose=false
mt32.thread=false
mt32.chunk=16
mt32.prebuffer=32
mt32.partials=32
mt32.dac=0
mt32.analog=2
mt32.reverb.mode=auto
mt32.reverb.time=5
mt32.reverb.level=3

Based on this thread that has Windows-ready pre-compiled DOSBox.

As you see, the romdir it points at is ./, this means the files: CM32L_CONTROL.ROM, CM32L_PCM.ROM, MT32_CONTROL.ROM, MT32_PCM.ROM
must all be present in the path you run DOSBox in.

for Linux
I compiled mt32 support using munt as a patch for dosbox 0.74. It was a bit complicated, but basically I had to compile the mt32 libraries and make it sure they were found to let DOSBox compile, like this:

cd munt_2_1_0/mt32emu
cmake .
make

cd dosbox-0.74
cp -vf ../munt_2_1_0/mt32emu/lib* ./src/libs/
ln -svfT ../../munt_2_1_0/mt32emu/include/mt32emu ./include/mt32emu
patch -p0 < ../dosbox-0.74-gcc46.patch #see below for the link
patch -p 1 < ../dosbox-0.74-mt32-patch.diff #this patch is with munt files 
./configure
make

# may be necessary:
cd src #the line below is the one generated by make log, but I appended the mt32 required extra parameters
g++  -g -O2    -o dosbox dosbox.o  cpu/libcpu.a debug/libdebug.a dos/libdos.a fpu/libfpu.a  hardware/libhardware.a gui/libgui.a ints/libints.a misc/libmisc.a shell/libshell.a hardware/serialport/libserial.a libs/gui_tk/libgui_tk.a -lasound -lm -ldl -lpthread -L/usr/lib/x86_64-linux-gnu -lSDL -lpng -lz -lX11 -lGL \
    -L ./libs/ -lmt32emu

# run it:
LD_LIBRARY_PATH="./libs/" ./dosbox

Do not run the above script directly, understand and apply it by hand, will be only once anyway.

dosbox-0.74-gcc46.patch:

--- include/dos_inc.h.old   2011-04-28 08:46:04.505011354 +0200
+++ include/dos_inc.h   2011-04-28 08:46:27.104408178 +0200
@@ -21,6 +21,7 @@
 #ifndef DOSBOX_DOS_INC_H
 #define DOSBOX_DOS_INC_H

+#include <cstddef>
 #ifndef DOSBOX_DOS_SYSTEM_H
 #include "dos_system.h"
 #endif

Or just add #include <cstddef> before #ifndef DOSBOX_DOS_SYSTEM_H at include/dos_inc.h

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.