DOSDOOM MUSIC SUPPORT
(Version 0.64)
For the latest info,
visit the DOSDoom Website at http://www.frag.com/dosdoom
Contents:
I DIGMID
I.I What is
DIGMID?
I.II Should
I Get DIGMID?
I.III How to
Setup DIGMID
II MP3 Support
II.I How to Play
MP3 Files
II.II MP3
Performance Issues
II.III More
Documentation on MP3 and MPEG Audio
III Other Music Support (MUS, MID,
S3M, MOD, MP3 Playlists)
IV CD-Audio Support
IV.I CD-Audio
IV.II CD-Atmosphere
V Level Designers
V.I DOOM II
Music Names
V.II Miscellaneous
Music Names
VI dosdoom.cfg Notes
V.I [Sound] Section
I DIGMID contents next previous
I.I What is
DIGMID? contents next previous
DIGMID is a software wavetable synthesizer. It
uses you CPU to emulate the hardware found on high end
sound cards such as the Creative Labs AWE32 and AWE64 and
the Gravis Ultrasound. Most other sound cards use
FM-Synthesis. FM-Synthesis uses a chip on the sound
card to try and approximate an instrument.
Wavetable sound cards use actual recordings of an
instrument to play back. As you can guess,
wavetable synthesis sounds a whole lot better!
I.II
Should I Get DIGMID? contents next previous
This table identifies if you should get DIGMID.
You have an AWE32 or AWE64 Soundcard. |
You have a 386/486SX CPU |
You are using the MPU-401 driver |
Everyone else :-) |
No. Your computer is too good. |
No. Your computer can't handle DIGMID. |
No. You probably have an external synth
(and therefore know what you are doing :-) or you
have a wavetable card not natively supported by
DOSDoom that can work with this driver. |
YES! You should use the DIGMID driver! |
I.III How to Setup DIGMID
contents next previous
Method 1: The Easy Way
- Download a patch set.
ftp://www.telefragged.com/--dosdoom--/patches.zip
<-- Note to Andy, this link needs to be
finalised. This file contains a
prefabricated patches.dat.
- Unzip it into the DOSDoom Directory.
- Use a setup program to tell DOSDoom to use
DIGMID. (Or do it manually, see Section VI)
- That's It! Run DOSDoom and bask in the
glory of DOOM's music, the way it was meant to be
:-)
Method 2: The Custom
Way.
- Download a patch set. This
patch set can be a SoundFont 2.0 bank or a set of
GUS Patches. http://www.talula.demon.co.uk/allegro/digmid/
has an extensive selection of patches to
download. I recommend 2mbgmgs.sf2
from Creative Labs.
- Download pat2dat.zip from http://www.frag.com/dosdoom/pat2dat.zip
- Unzip pat2dat.zip into a temporary directory.
- Copy 2mbgmgs.sf2 to this temporary
directory. If you have chosen a different
Sound Font file, substitute it's name
instead. If you have chosen GUS patches,
copy *.pat and default.cfg to the temporary
directory, and substitute default.cfg for the
Sound Font file name.
- Run: pat2dat -8 -c 2mbgmgs.sf2 patches.dat
- Copy the resulting patches.dat to your DOSDoom
directory.
- Use a setup program to tell DOSDoom to use
DIGMID. (Or do it manually, see Section VI)
- That's It! Run DOSDoom and bask in the
glory of DOOM's music, the way it was meant to be
:-)
II MP3 Support contents next previous
II.I How to
play MP3 files contents next previous
DOSDoom can now support MP3s as a music
format! For those of you who don't know, MP3s are
high quality compressed digital audio files.
Because MP3s are streamed from disk, they have to be
handled differently from the other formats. To get
them to play, use your favourite text editor to create a
playlist file. The first line in the file must be dosdoom_playlist
followed by the number of MP3s to play. Then, on
subsequent lines, put the full path to each MP3 to be
played. eg
dosdoom_playlist
4
c:\mp3\classic1.mp3
c:\mp3\spot1.mp3
d:\pushit.mp3
d:\doomdev\d_the_da.mp2 |
Make sure you leave a blank line at the
end of the file. You can then use this file like
any of the other formats that DOSDoom supports.
II.II MP3
performance issues contents next previous
MP3s use a high compression encoding format, allowing
compression of up to 25:1. The downside to this is
that it takes a lot of CPU time to decode it. If
your CPU can't keep up, DOSDoom will try and compensate
(by downmixing stereo signals to mono.) To minimise
popping etc. follow these rules.
- Use MPEG-2 streams instead of MPEG-1
- Use Layer 3 instead of Layer 2 (DOSDoom supports
mp2 files too.)
- Use a Pentium class machine.
MP3 decoding is very heavy on FPU time. The
faster the CPU, the better. DOSDoom is just
playable on a 486DX2-66 (just!) while playing MP3 music.
II.III MP3
Resources on the Net contents next previous
For more information, try:
www.mpeg.org
Fraunhofer
IIS
MP3.com
III Other Music
Support contents next previous
Previously, level designers had to convert their songs to
DOOM's MUS format, then store it into their patch
wad. Now, DOSDoom can play MUS, MID, S3M, MOD and
MP3 playlists (described above) without conversion.
All that is needed is to store the file into the patch
wad. DOSDoom will detect what type of file it is
:-)
Note: If you have a song you want to play, you
don't have to store it into a wad. Use -file
[filename] and DOSDoom will load and play it.
(Remember the naming convention: D_EeMm where e is the
episode and m is the map number this music is played on,
for DOOM I music, for DOOM II the convention is D_MAPxx
where xx is the level number, or use the old DOOM II
naming convention. See Section
V.)
IV CD-Audio Support contents next previous
IV.I CD-Audio
contents next previous
DOSDoom can play a normal music CD instead of it's normal
music. Use -cdaudio when running DOSDoom.
IV.II
CD-Atmosphere contents next previous
DOSDoom can play both a music CD AND it's normal
music. This mode is intended to be used by playing
an atmosphere track (ie from the Quake CD or Syndicate
Wars CD) of dripping water, wind blowing, howling demons
etc... while DOOM's normal music pumps over the
top. It is probably not a good idea to use a real
music CD (but you never
know... :-) Use -cdatmosphere
when running DOSDoom to enable.
V Level
Designers contents next previous
These are the names of the DOOM II Songs, if you don't
want to use the D_MAPxx convention, which isn't
compatible with the original DOOM II.
Level Number |
Music Name |
Level Number |
Music Name |
1 |
D_RUNNIN |
2 |
D_STALKS |
3 |
D_COUNTD |
4 |
D_BETWEE |
5 |
D_DOOM |
6 |
D_THE_DA |
7 |
D_SHAWN |
8 |
D_DDTBLU |
9 |
D_IN_CIT |
10 |
D_DEAD |
11 |
D_STLKS2 |
12 |
D_THEDA2 |
13 |
D_DOOM2 |
14 |
D_DDTBL2 |
15 |
D_RUNNI2 |
16 |
D_DEAD2 |
17 |
D_STLKS3 |
18 |
D_ROMERO |
19 |
D_SHAWN2 |
20 |
D_MESSAG |
21 |
D_COUNT2 |
22 |
D_DDTBL3 |
23 |
D_AMPIE |
24 |
D_THEDA3 |
25 |
D_ADRIAN |
26 |
D_MESSG2 |
27 |
D_ROMER2 |
28 |
D_TENSE |
29 |
D_SHAWN3 |
30 |
D_OPENIN |
31 |
D_EVIL |
32 |
D_ULTIMA |
V.I
Miscellaneous Musics: contents next previous
DOOM II Storyline/Text Music:
D_READ_M
DOOM II Title
Music:
D_DM2TTL
DOOM II Intermission
Music: D_DM2INT
DOOM I Storyline/Text Music:
D_VICTOR
DOOM I Storyline/Rabbit Music: D_BUNNY
DOOM I Title
Music:
D_INTRO
DOOM I Intermission
Music: D_INTER
V.I
Miscellaneous Musics: contents next previous
DOSDoom SAMPLE structure: unsigned short: bit flags: bit
0: set = 8 bit sample, clear = 16 bit sample bit 1: set =
mono sample, clear = stereo sample 2 - 13: Reserved. Must
be clear bit 14: MUST BE 0! Used internally by DOSDoom
(memory locking) bit 15: MUST BE 0! Used internally by
DOSDoom (caching) To be compatible, use flags = 3.
unsigned short: sample rate: the sample rate in Hz. Note:
DOSDoom can support any sample rate between 0 - 65535.
unsigned long: length: The number of samples in this
sample. Not measured in bytes, do not include the header.
length * (2 - (flags & 1)) * (2 - ((flags & 2) /
2)) bytes of sample data follow. Sample data is of type
signed char.
VI dosdoom.cfg Notes contents previous
The dosdoom.cfg file is a plain text file that hold
config info. It's format is similar to a Windows
INI file. Lines starting with # are comments. A
value is set by the line value = set eg digi_card =
2 or patches = c:\dosdoom\patches.dat
VI.I Sound
Section contents
digi_card
midi_card
digi_volume
midi_volume
digi_voices
midi_voices
flip_pan
sb_port
sb_dma
sb_irq
sb_freq
fm_port
mpu_port
mpu_irq
ibk_file
ibk_drum_file
patches
cache_all_patches
cdaudio
VI.I.I digi_card contents
This specifies what Soundcard to use for mixing digital
samples. Note that the Gravis Ultrasound is not
actually implemented yet...
Value Digi
card
-1
Autodetect
0
None (Disable)
1
Sound Blaster
2
SB v1.0
3
SB v1.5
4
SB v2.0
5
SB Pro
6
SB 16
7
Gravis Ultrasound
8
ESS Audiodrive
VI.I.II midi_card contents
This specifies what Soundcard to use for mixing playing
music. Note that the Gravis Ultrasound is not actually
implemented yet...
Value Midi card
-1 Autodetect
0 None (Disable)
1 Adlib
2
OPL-2 (SB)
3 Twin OPL-2 (SB-Pro)
4
OPL-3 (SB-Pro2, SB16)
5 SB-MIDI General Midi
6 MPU-401 General Midi
7 Gravis Ultrasound
8 Digmid
9 SB AWE32/64
VI.I.III digi_volume contents
This specifies how loud to play SFX (duh) range 0 -
255
VI.I.IV midi_volume contents
This specifies how loud to play music range 0 - 255
VI.I.V digi_voices contents
This specifies how many SFX can be mixed at once.
digi_voices + midi_voices must be less than or equal to
32 if using DIGMID. If you are not using DIGMID, I
recommend digi_voices = 32 midi_voices = 32. If you
are not using MOD/S3M/MP3 music I recommend digi_voices =
8, midi_voices = 24. Otherwise I recommend
digi_voices = 12, midi_voices = 20.
VI.I.VI midi_voices contents
Specifies how many midi voices can be used at once.
See digi_voices.
VI.I.VII flip_pan contents
If flip pan is 1, the stereo channels will be
swapped. Set this if a monster on your right makes
sounds from your left.
VI.I.VIII sb_port contents
The port address of your sound card, -1 =
autodetect. 220 is a good choice.
VI.I.IX sb_dma contents
The (low) dma your sound card uses, -1 =
autodetect. Probably 1.
VI.I.X sb_irq contents
The IRQ your sound card uses, -1 = autodetect.
Probably 5
VI.I.XI sb_freq contents
The mixing frequency to mix at. Higher sounds
better, but uses more CPU. Valid values are 11906,
16129, 22727, 45454. Some sound cards don't support
the higher values.
VI.I.XII fm_port contents
The port to send FM-Synthesis to. Probably the same
as sb_port, use -1 to autodetect. You can usually
get music to work, even if you can't get SFX to work by
setting midi_card = 1 (Adlib) and fm_port = 388.
VI.I.XIII mpu_port contents
The port for an external midi device. Probably
330. If you have a SCSI interface, 330 could wreck
your hard drive. If you want to use the mpu_port,
you probably know what you are doing :-)
VI.I.XIV ibk_file contents
This is the filename of the ibk file to use for
FM-Synthesis. The IBK file contains instruments
like the patches.dat file contains instruments for
wavetable synthesis.
VI.I.XV ibk_drum_file contents
This is the filename of the ibk file to FM-Synthesise
drums.
VI.I.XVI patches contents
This is the filename of the patches.dat file. See
DIGMID.
VI.I.XVII mpu_irq contents
This is the IRQ for the external midi device.
Normally the same as sb_irq, or 2.
VI.I.XVIII cache_all_patches
contents
If this is 1, (and you are using DIGMID) the entire
patches.dat file will be loaded into memory on startup
instead of portions being loaded as needed. This
makes a slower startup time, but quicker music
changes. If you have 16mbs or more of RAM, you
should enable this. Has the same effect as the -patches
parameter.
VI.I.XIX cdaudio contents
Valid values are 0 (Off), 1 (On) or 3 (Atmosphere)
Off means no CD-Audio, Normal Music.
On means CD-Audio, No normal music, same as -cdaudio
parameter.
Atmosphere means both CD-Audio and Normal Music, same as -cdatmosphere
parameter.
|