VOGONS

Common searches


First post, by DOSShark

User metadata
Rank Newbie
Rank
Newbie

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

Reply 1 of 5, by SquallStrife

User metadata
Rank l33t
Rank
l33t

Good write-up, but it seems like you could replace all of that with BASSMIDI...

Especially if you're using DOSBox, it should be able to pump MIDI straight in to BASSMIDI without all those extra drivers.

Good advice for fixing up the SoundFonts though, that's quite useful.

VogonsDrivers.com | Link | News Thread

Reply 2 of 5, by DOSShark

User metadata
Rank Newbie
Rank
Newbie

BASSMIDI seemes to have no VST pluginsupport - i dont know how good its reverb capabilities are.
As stated above - only the right reverb makes MIDI sound "alive". 😀

But thanks for your comment - ill try out BASSMIDI myself.

Reply 3 of 5, by rfnagel

User metadata
Rank Oldbie
Rank
Oldbie
DOSShark wrote:

BASSMIDI seemes to have no VST pluginsupport

The BASSMIDI Driver doesn't require any sort of VST hosts, virtual MIDI "patch cables" (such as MIDIYoke), and the like. It is a Windows system driver, and functions as a standalone MIDI device within Windows 😀

DOSShark wrote:

i dont know how good its reverb capabilities are. As stated above - only the right reverb makes MIDI sound "alive". 😀

The BASSMIDI Driver utilizes Ian Lick's "BASS" and "BASSMIDI" Audio Libraries, with full reverb (as well as other effects) support.

Check here:

MIDI Implementation Chart: http://www.mudlord.info/bassmididrv/BASSMIDI_ … ation_Chart.htm
Mirror: http://jasonwilliams400com.startlogic.com/sno … ation_Chart.htm

..for a complete MIDI implementation chart.

DOSShark wrote:

ill try out BASSMIDI myself.

You won't be sorry 😀 A few links for ya:

Main Info: http://www.mudlord.info/bassmididrv
Mirror: http://jasonwilliams400com.startlogic.com/sno … #bassmididriver

Installation Guide: http://www.mudlord.info/bassmididrv/BASSMIDI_ … nfiguration.htm
Mirror: http://jasonwilliams400com.startlogic.com/sno … nfiguration.htm

(Edit) P.S. A little MIDI/MP3 demo/comparison for you:

The original MIDI is "SYMPHONY.MID" that shipped with almost EVERY Creative Labs' sound card since the dawn of time 🤣! Originally sequenced in 1993-1994 by "Dr. Chew" (I think?), I've always thought that MIDI was 'way ahead of it's time' for the current hardware that was available at the time <grin>.

http://jasonwilliams400com.startlogic.com/sno … Symphony_BM.mid

Optimized it a bit for the BASSMIDI Driver, and recorded an MP3 of it in action (along with my "¥Weeds¥ General MIDI SoundFont v3.0" (WeedsGM3.sf2))... the MP3 in all of it's glory really shows off the BASSMIDI Driver (as well as my SoundFont) IMHO 😀

http://jasonwilliams400com.startlogic.com/sno … Symphony_BM.mp3

Rich ¥Weeds¥ Nagel
http://www.richnagel.net

Reply 4 of 5, by DOSShark

User metadata
Rank Newbie
Rank
Newbie

Ok - i tried it.

But to be honest - my solution is a bit more complex but i like its sound more.
And my virtual MIDI driver offers the possibility to let a roland MT 32 emulator receive the MIDI data from DosBox or ScummVM to have the old sound of it 😀.

ScummVM didnt find BASSMIDI's MIDI port - and winamp reported a driver with japanese letters in it.

I didnt play with those extra BASSMIDI plugins, so i dont know if there is something like glaceverb which lets me set special reverb effects besides the reverb the midi file sets.

EDIT - found a BASS vst pluginloader, but can i use it with the MIDI driver?

Reply 5 of 5, by rfnagel

User metadata
Rank Oldbie
Rank
Oldbie
DOSShark wrote:

But to be honest - my solution is a bit more complex but i like its sound more.

I suppose it's all a matter of personal preference, but I find that the BASSMIDI Driver's SoundFont synthesis sounds MUCH closer to real E-mu 8000/10K/20K hardware than SynthFont (at least to my ears) 😀

DOSShark wrote:

I didnt play with those extra BASSMIDI plugins, so i dont know if there is something like glaceverb which lets me set special reverb effects besides the reverb the midi file sets.

I'm not sure what you're refering to as "extra BASSMIDI plugins"... the BASSMIDI driver is a standalone sort of thing.

DOSShark wrote:

EDIT - found a BASS vst pluginloader, but can i use it with the MIDI driver?

If you're refering to Mudlord and Kode54's "VST MIDI Driver" ( http://www.mudlord.info/products.html ), that driver aloows you to use *ANY* VSTi as a standalone Windows system MIDI device 😀

Rich ¥Weeds¥ Nagel
http://www.richnagel.net