VOGONS

Common searches


FM MIDI - How do you enable it?

Topic actions

First post, by Guest

User metadata

Hello, I have a question regarding DosBox 0.63. Specifically, I'm trying to disable the usage of the Windows wavetable MIDI device within DoxBox, that I may play MIDI files in DosBox using FM modulation (I'm doing a project that uses old school sound styles).

I would appriciate any help that can be given.

LordHaHa

Reply 7 of 26, by Guest

User metadata

eL_PuSHeR: The funny thing was is that one of the programs (dated year = 1990) didn't have a "force AdLib" option (odd, considering the timeframe of the program's creation). I'll try to find an AdLib-based DOS MIDI player, but I would prefer to get the OPL3 FM working on the prompt if I could.

HunterZ: I'm not sure. DosBox still has some problems with SB emulation, IMHO (Dr. Sbastio, one of my favorite proggies I got with my old SBPRO, crashed and burned with 0.61 - haven't tested it on 0.63 yet, though). Still, the 'Sound.com' thought might work. Any ideas were I can pick it up?

In addition to these responces, one further note - I installed Daggerfall yesterday and the SB sound emulation ran just fine (the game itself, however, was running a tad slow for my liking...but that's another story). I'm not entriely sure how a game can run Sound Blaster with out a hitch but a half-dozen MIDI players can't.

Oh, how I miss the days of MEMMAKER and DEFRAG! Everything was so much less complicated back then...

LordHaHa

Reply 8 of 26, by LordHaHa

User metadata

I did find a DOS player specificaly designed for AdLib cards (AdPlay), but running it did not work. Since most of the MIDI files are from the same source, played a Mozart MIDI from elsewhere to see if the problem was the files and not the other software (be it DosBox or the players). That other file did not work, so it's not the files that are causing the issue.

LordHaHa

Reply 9 of 26, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

I'm almost positive that Dr. Sbaitso (or however it's spelled) requires a driver of some sort. I remember getting that program with my SB 2.0 around 1992.

I also had a DOS-based MIDI sequencer called Voyetra something-or-other, and it came with its own TSR driver for OPL support that loaded automatically when I ran it.

Reply 12 of 26, by LordHaHa

User metadata

Ok. This is now weird (and infuriating). I managed to get single-track (Type 0) .mdi files to run with the FM synth without a hitch. Any old player will work. But multi-track (Type 1) MIDI playback, outside of a game...oh-no! Not matter what program I use, it won't run the multi-track MIDI's. This is after making sure that the config is set to SB16, or SBPRO, or whatever varient I tried.

In addition, I tried using an AdLib FM emulator for DOS (heh, emulating an emulator - crazy) called AdPlay (of which there is a WinAmp version, but that to refuses to work for some reason - probably because it's a WAmp v2 plugin and not one for WAmp v5 and I can't see the sense of having three versions of the same stupid media player on my machine at the same time...especially if there's even the slightest chance of conflicts to occur with the arrangement). Even the fragging AdLib emulator didn't work.

And downloading and running the various reccomended TSR programs haven't helped yet either (I even found some official SB drivers that should have done the job, but didn't). The programs might help later, but they do not at the present.

I'm just wondering if there is any reason whatsoever that a stupid multitrack MIDI file from 1994-95 will just simply not run with FM synth of any OPL variation unless it's in a game? It seems the only time those files do play in DosBox outside of one is when the MPU-401 is active, but when it is it refrences the standard wavetable data on my machine.

LordHaHa

Reply 13 of 26, by jal

User metadata
Rank Oldbie
Rank
Oldbie
LordHaHa wrote:

Ok. This is now weird (and infuriating). I managed to get single-track (Type 0) .mdi files to run with the FM synth without a hitch. (...) But multi-track (Type 1) MIDI playback, outside of a game...oh-no!

It is still not clear to me what you are trying to achieve, and how you are trying to achieve this. Please elaborate on the programs you are using for playback, and the way you have configured DOSbox.

JAL

Reply 14 of 26, by LordHaHa

User metadata

Basically, what I am trying to do is to playback certian game MIDI files (ripped directly from TES2: Daggerfall) using Sound Blaster 16 FM modulation and transfer that music directly to a wave file so that I can use it in a TES3: Morrowind mod that I'm making which would have a rediculously large, claustrophobic and extr. dark dungeon (in Daggerfall style) with some of the more suspenseful music from that game being used in that dungeon.

The music from that game in particular (Daggerfall) sounds much better in FM than it does using wavetable effects, so I want to have it play back in FM. Problem is that Morrowind uses MP3 files for music, not MIDI's, and now-a-days most modern machines have some wavetable capibility so it would sound terrible anyway.

Now, I start thinking about this. I have DosBox. DosBox emulates SB16 FM. No problem then! I just have to search the 'net and find any old DOS MIDI player. Then I just play the stupid music I want while having the sound capture feature active. Problem solved, right?

Wrong. I slap a DOS MIDI player on the machine, execute the program and the music file. I expect FM goodness from yesteryear. I get wavetable c**p from a 2003 Toshiba laptop. I look in the config. Perhaps if I disable the MPU-401 emulation, it'll force DosBox to use the SB16 emulation for MIDI playback. I do that, but when I go back to play the song I don't get anything played back. "Well, maybe it's the player", I think. After I try 10 or 12 different players noone has ever heard of, the FM music still doesn't play.

Then I find my disk for Daggerfall. I manage to install the game to my hard drive and configure it to run in DoxBox per the instructions in the Wiki I was directed to. The game runs with full sound, including the FM music ("Strange, why does it run the in game but not in the shell? Shoudn't the drivers be emulated as detected or something as well?"). It runs slow, even with the speed increase tips availible on the Wiki and on the forum - and really don't feel like slowly delving through Privateer's Hold and half a dozen other dungeons just to get the songs I want, so I abandoned that.

I went back to the various players, and I finally found one that worked - a *.mdi, or Type-0 Single Track MIDI file. So single track FM works, but why do the Daggerfall MIDI's (converted from their default format to now-common Type 1 Multi Track .MID MIDI files) *not work*?

I eventually *did* find a player, just last night, that did play the MIDI files in question. It is called MIDIer. The only problem is it played it 300% faster then I wanted it to. And I after I ran the program twice, it refused to ever run again for NO APPARENT REASON (?!?).

Needless to say, I've been getting rather distressed by this point and am running out of ideas. I've been trying the suggestions above, but they don't seem to remedy the situation. I've tried various configurations of my config file, but to no avail.

Here is the relevant portion of my config that deals with DBox sound (at least as it stands at the moment), in case it can help anyone who wishes to help.

[mixer]
# nosound -- Enable silent mode, sound is still emulated though.
# rate -- Mixer sample rate, setting any devices higher than this will
# probably lower their sound quality.
# blocksize -- Mixer block size, larger blocks might help sound stuttering
# but sound will also be more lagged.
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=2048
prebuffer=10

[midi]
# mpu401 -- Enable MPU-401 Emulation.
# intelligent -- Operate in Intelligent mode.
# device -- Device that will receive the MIDI data from MPU-401.
# This can be default,alsa,oss,win32,coreaudio,none.
# config -- Special configuration options for the device.

mpu401=true
intelligent=true
device=default
config=

[sblaster]
# type -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.
# base,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.
# mixer -- Allow the soundblaster mixer to modify the dosbox mixer.
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.
# On auto the mode is determined by sblaster type.
# oplrate -- Sample rate of OPL music emulation.

type=sb16
base=220
irq=5
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=44100

[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# base,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the
# Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# rate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory. In this directory
# there should be a MIDI directory that contains
# the patch files for GUS playback. Patch sets used
# with Timidity should work fine.

gus=false
rate=22050
base=240
irq1=5
irq2=5
dma1=3
dma2=3
ultradir=C:\ULTRASND
Show last 12 lines

[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# Tandysound emulation is present if machine is set to tandy.
# disney -- Enable Disney Sound Source emulation.

pcspeaker=true
pcrate=22050
tandyrate=22050
disney=true

Anyway, sorry for venting, but this is getting fustrating as hell. It's almost as infuriating as when I made my first script for Morrowind.

LordHaHa

Reply 17 of 26, by LordHaHa

User metadata

Hey, I just might have found the reason why these players didn't work. I started another player, called RDOSPLAY, and tried to run a file off it (it can't handle MIDI files, but it can handle MUS files...and I know that you can convert MIDI files to MUS with "MIDI2MUS", a proggie I used frequently during my Doom 1 editing days. Anyway, I converted a music file, but it still refused to run. It said it was unable to detect the sound card. Perhaps all these programs can't detect the existance of the Sound Blaster emulation?

LordHaHa

Reply 18 of 26, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

In my opinion, Daggerfall's music sounds wayyy better to me on a wavetable card with a good GM/GS Soundfont... Bethesda was composing for General MIDI hardware back when they made Arena (the Elder Scrolls part 1, of which Daggerfall is part 2 and Morrowind part 3).

Years ago I wrote a program to rip all the game's music to .HMI files (they're stored uncompressed in MIDI.BSA in a sort of WAD-file format), and converted many to .MID myself (by playing the HMI files with a special player and directing the output to a MIDI sequencer program through MIDI Yoke) and posted them on my old Geocities site (which no longer exists). Nowadays you can play HMI files natively in Winamp, although I still haven't seen any other programs that can play them (especially for DOS). If someone has an Adlib/OPL emulator for Windows that lets it act as a MIDI device, then you could record it that way. I haven't heard of such a thing for Adlib/OPLx emulation though.

With DOSBox you might try setting the oplmode to something other than auto, such as opl2 or opl3.

Reply 19 of 26, by LordHaHa

User metadata

I dunno about wavetable. I've got some decent equipment myself, but whenever I've listened to a game soundtrack and compaired the FM version with the wavetable one, I always prefer the FM varient. It sound's more atmospheric. Still, I must admit that DF works better with wavetable than most.

Anyway, I used the Daggerfall Jukebox to convert all the HMI files to MIDI (and also ripped the "Halt" sound, but that's another story). Theoretically, they should run in any MIDI player. Why they don't work properly in the one's I've use via DosBox is beyond me. I did find an Windows OPL2 emulator in the form of the AdPlay plugin for Winamp, but even that doesn't run the files in question. Nothing for OPL3, though.

I did try setting the oplmode to other values besides auto, but it did not improve the situation.

LordHaHa