First post, by DOSShark
Greetings - this guide shows you how you can improve your Dosgames MIDI Musicexperience.
This Guide is for Windows users, and is tested on my Alienware M15X with Windows 7 X64.
(1) Some basics concerning MIDI Music.
In times, where mashines were slow and ram / hdd space vaste, gamingindustrie decided to go with the General MIDI standard for Music.
Instead of having own digitized musictracks included into the games files, it was easier to just tell the audiohardware, what instrument to take, and which note to play. The MIDI technique is that of a software / hardware synthesizer, preloaded with a wavetable containing soundsamples for the instruments / drumkits the game tells the Audiohardware it wants to be played. So the soundcards came preloaded with a wavetable and the ability so synthesize music for games supporting GM.
The quality of the sound produced heavily dependend on the quality of the wavetable (how does my instrument sound like) and the audioprocessor (effects like reverb).
So a game like Monkey Island, including GM / GS support, didnt sound the same on different soundcards with different wavetables.
The most common devices i know of where the Sound Blasters from Creative (SB / SB 16 / SB AWE 32/64) and those from Roland, mainly the Roland MT-32, which is still used as a reference for how a Dosgame should sound like.
Having this in mind, enhancing our Dosbox MIDI music experience leads us to the need of a nice sounding wavetable and a software MIDI synthesizer.
(2) Software we need
This tutorial covers software which is 100% free for private use.
We need:
VSTHost by Hermann Seib: http://www.hermannseib.com/vsthost.htm (german verion)
http://www.hermannseib.com/english/vsthost.htm
A software MIDI Synthesizer: http://www.synthfont.com/#VSTSynthFont
A virtual MIDI cable driver: http://www.tobias-erichsen.de/software/loopmidi.html (german)
A Soundfont: http://my.opera.com/Silverspring/homes/files/ … aming%201.5.zip
(3) Getting started
What is this software for?
First install the virtual MIDI cable driver, loopmidi.
This simply installs a driver enabling software to send MIDI data to a virtual MIDI port AND enables software to get MIDI data from it.
We want DosBox to send MIDI data TO this virtual MIDI port and we want our softwaresynthesizer to GET MIDI data from that virtual MIDI port.
Start loopmidi and go to Konfiguration tab. At the botto enter a name for your virtual MIDI cable - lets call it DosBoxMidi, and press the "+" button.
Keep this software in systemtray in order to have the MIDI cable working.
Second - extract the wavetable
The wavetable is compressed in sfark format, but dont worry - just download and install SynthFont (the real program not the VSTPlugin).
Extract silverspring15.sfark to a playce where you can find it.
Start SynthFont - at the top of the program are big buttons - one is called SoundFont <- press it. Navigate to the place / folder where you left silverspring15.sfark and select it. You dont want to open the notes, then the unpackingprocess begins. And you will get a file called silverspring15.sf2.
Thats our wavetablefile.
Third - install VSTHost and VSTSynthFont
VSTHost enables us to load VST plugins and chains them together. This is our primary workspace we will be using.
Start VSTHost - you will be presented a nearly empty workspace containing
machineinput and machineoutput. Goto file ->New Plugin -> VSTSynthFont.dll (you installed this earlier).
You will get a new item in your workspace - VSTSynthFont, and it is connected machineoutput. On the left side of this item there are three buttons, one looking grey with some holes in it (the middle of the three). Mouseover tels you "MIDI inputfilter" - press it.
At the tab MIDI inputdevices select DosBoxMidi only.
At the MIDI outputdevices tab select none - you can achieve this by holding down control and left click <- this unselects entries. Press ok.
On the main menubar of VSTHost goto Devices -> MIDI
MIDI inputdevices select DosBoxMidi only.
MIDI outputdevices select none
MIDI thru select none
Thats the basic config for now - lets load a wavetable!
Back to the VSTSynthFont item on our workspace. It has a green button looking like a radar, the Plugin Editor, press it and the VSTSynthFont GUI will show up.
Click on Soundfont/Giga/etc and select the soundfont we extracted in step 2.
Your software MIDI Synthie is now ready to receive MIDI data!
****optional step - testing****
If you want to test it you can install Winamp.
In Winamp goto preferences->plugins->input->Nullsoft Midi (in_mid.dll)->configure
On the device tab choose DosBoxMidi and then press ok.
*check if VSTHost is running and is executing your workspace*
(VSTHost main menu->machine->execute)
Load a midi file into winamp and press play - it should play fine.
Step four - setting up DosBox for MIDI communication
open dosbox configfile
goto [midi] and make sure you have the following lines
____________________________________________
[midi]
mpu401=intelligent
mididevice=win32
midiconfig=1
____________________________________________
midiconfig=1 tells DosBox to use MIDI Port 1 and not 0. 0 always seemes to be DirectX Microsoft GS Wavetable.
DosBox tells you in the console on startup which MIDI device it has opened, it should look like this:
MIDI:win32 selected DosBoxMidi
MIDI:Opened device:win32
If not, try midiconfig=2 or midiconfig=0
If that worked - all games configured for General Midi port 330 should now send its MIDI data to our Softwaresynthesizer.
Congratulations - youre done.
(4) - Advanced effetcs and reverb
Of course the good MIDI devices like Roland MT32 and the creative AWE series added some nice reverb to make MIDI sound more alive.
You REALLY WANT reverb - trust me! 😀
This is the Reason why VSTHost is so great, there are many VST plugins available achieving this, and that for free.
For reverb we want GlaceVerb: http://dasample.com/products/glaceverb/
After installing / unpacking goto VSTHost file->new plugin goto the place you installed / unpacked glaceverb and load glaceverb.dll
*connecting our workspace elements correctly*
On each workspaceitem (machine input / machine output / glaceverb / VSTSynthFont) there is a symbol with a chain on it. Clicking this symbol tells you what inputs your workspace item has from other workspaceitems.
First we configure machineoutput - click the chainsymbol and there only select GlaceVerb. Click the same symbol on glaceverb and only select VSTSynthFont.
Now our VSTSynthFont plugin sends its audiodata to glaceverb. Glaceverb reverbs the sound and sends it to machineoutput <- soundcard.
remember this green radarbutton on the VSTSynthFont workspace item, which opened its GUI? Same works for Galceverb - open its GUI.
Play around with the settings.
**Hint you can add this plugin to SynthFont mainprogram (we used it to extract the wavetable) as well. But SynthFont also shows you the predefined presets of Glaceverb - i recommend Standard reverb A. Look at the Glaceverbsliders in SynthFont and adjust sliders in VSTHost to match those of the glaceverb preset you selected in SynthFont**
Congratulations - you added reverb to your MIDI music.
Another handy plugin is Electri-Q: http://www.aixcoustic.com/index.php/posihfopit_edition/30/0/
Its a graphicequalizer. You can add and link it in the same way as we did with glaceverb.
(5) Other soundfonts and fixing errors
Unfortunately silverspring 1.5 has 3 instruments which are broken.
But we want Silverspring because it was made especially for DosGames.
But how can we repair the damage?
On the same place where we got SynthFont there is a Soundfonteditor called viena - install it.
(i corrected these problems myself, but i wont upload changed personal content - but im telling you how you can achieve this yourself)
Get the Soundfont WeedsGM3: http://www.google.de/url?sa=t&rct=j&q=&esrc=s … Jk0pW_g&cad=rja
and get Crisis General Midi ver 3: http://www.bismutnetwork.com/04CrisisGeneralM … oundfont3.0.php (this is also in sfark)
Start viena soundfonteditor
load silverspring15.sf2
load crisisgeneralmidi.sf2
load weedsgm3.sf2
The corrupted Instruments in are:
Preset 33 - Steon Fingered Bass <- expand this by clicking the "+"
fixing this preset works by simply deleting Electris Bass 1
Preset 71: Clarinet
Delete Clarinet
goto weedsgm3 and open Preset 71: Clarinet
copy all 5 Clarinet items from here to silverspring preset 71: clarinet and dont forget the values from the table on the right side.
Preset 89: Warm Soft Pad
Delete the Saw items
goto Crisisgeneralmidi Preset 89 CrisisWarmPad
copy the CrisisWarmPad item over to silverspring, dont forget the values on the right menu. Then save silverspring and your done.
For any suggestions and feedback feel free to comment here.
I hope telling you how to fix the soundfonts isnt against the boardrules.
Cheers - DOSShark