VOGONS


MID-format player for Adlib device ?

Topic actions

First post, by Rolandradio

User metadata
Rank Newbie
Rank
Newbie

Hi,

is there a MID player for Dos that plays MID-file to ISA card Adlib, soundblaster or OPL2LPT ?

I found adt2track (Adlib Tracker) , but it support no MID-files.
Radplay also support no MID-files

What is a2m and RAD file format ?

Reply 1 of 20, by Scali

User metadata
Rank l33t
Rank
l33t

There's various players, with various limitations.
One that is on here is PX player: PX Player: play MID and XMI files under DOS
Here's an old thread on the same subject: Midi player for DOS? supporting SB1, SB PRO, SB 16, ADLIB, General Midi...

Funny thing is that each player may sound different, because afaik the soundbanks for OPL2 aren't exactly standardized.

The most common (and probably most compatible) MIDI player I would say is Windows 3.x, but you might not consider that 'DOS' enough.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 2 of 20, by Jo22

User metadata
Rank l33t++
Rank
l33t++

SEAL2 also supports MIDI playback. It uses Allegro library and supports OPL2, Dual OPL2 and OPL3.
Sample: https://youtu.be/wELcFW9u2V4

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 20, by Rolandradio

User metadata
Rank Newbie
Rank
Newbie

ok, I want to play Doom2 music to Adlib in DOS or are there convertors for Adlib Tracker2 ?

Doom is original MID or MUS format right ?

I use Synthesia and play MID files over midi cable to a Yamaha Portsasound synthesizer (80s) that's amazing, almost Yamaha YM3812 feeling. 😎

Seals 2 sounds great but is only for windows.

Reply 4 of 20, by Jo22

User metadata
Rank l33t++
Rank
l33t++

In essence, Seal is a GUI for MS-DOS. It needs Protected-Mode, though. So it may not work with Adlipt dongles.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 20, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie

There is also DOSMid: http://dosmid.sourceforge.net/

1) VLSI SCAMP /286@20 /4M /CL-GD5422 /CMI8330
2) i420EX /486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
3) i430FX /K6-2@400 /64M /Rage Pro PCI /ES1370+YMF718
4) i440BX /P!!!750 /256M /MX440 /SBLive!
5) iB75 /3470s /4G /HD7750 /HDA

Reply 7 of 20, by bristlehog

User metadata
Rank Oldbie
Rank
Oldbie

> Doom is original MID or MUS format right ?

Doom uses MUS format. It's not very convenient to play MIDI files from Doom with PX player, because PX player has no Adlib banks from Doom. But maybe it is possible to convert one to PX's format. Or use something default like FAT.AD.

> What is a2m and RAD file format ?

Not sure about a2m, but RAD is a format of Reality Adlib Tracker 1.0 and 2.0. So it is a format for tracked music, not MIDI.

Hardware comparisons and game system requirements: https://technical.city

Reply 9 of 20, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

The problem you'll have with this is that the OPL chips weren't really designed for MIDI. They're synthesizers, and to make the most of them, you have to be specific about how you want the sound channels to work. MIDI is an abstraction that, by design, decouples the content from the hardware capabilities. Works OK for more powerful synths, but because of the limited flexibility of the OPL oscillators, and the small number of voices it can produce, it is not an ideal match.

Games that use MIDI (or MIDI-like) music via OPL have had some amount of optimization of either the OPL driver, the music files, the playback engine, or all of the above. If you write the driver to make the voices sound good, you're going to run out of voices very quickly. If you optimize for better polyphony, you can only use the bare minimum of features. That's a balancing act the game's music director will need to fine-tune.

Windows tries, but voice-stealing is a huge problem, and the patch sets (how the voices sound) are usually pretty bland. The best way to play a particular soundtrack is to capture the hardware-level commands sent by the game engine and play them back the same way. As I understand it, DOSBox can capture OPL streams and save them to a file for later playback through something else. I don't know what, under real DOS, exists to play those.. but I'm sure something exists. So that's what I would look into.

Reply 10 of 20, by Artigkar

User metadata
Rank Newbie
Rank
Newbie
SirNickity wrote:

As I understand it, DOSBox can capture OPL streams and save them to a file for later playback through something else. I don't know what, under real DOS, exists to play those.. but I'm sure something exists. So that's what I would look into.

Yes, DOSBox can record OPL music to a .dro file format by pressing "CTRL-ALT-F7 - Start/Stop recording of OPL commands."
I don't know if its possible to play .dro files on a real dos machine, but VGM files can with the SBVGM program.
There is a program out there that can convert .dro files into .vgm files: http://www.vgmpf.com/Wiki/index.php/DRO_to_VGM

I used this software some time last year to record and convert primarily Laser Squad music to VGM so I could listen to it without copying over the entire game to my old 486.
Only major issue I can remember running into with this method was that when I tried to record OPL3 music specifically in dosbox to dro format it would end up as 2xOPL2 (or Sound Blaster Pro 1 music) in the VGM format. Not sure what I was doing wrong.

Reply 11 of 20, by Scali

User metadata
Rank l33t
Rank
l33t

I have a DRO player for DOS. I could prepare an early pre-release version of that, if anyone is interested.
There's also a DOSBox version available that captures directly to VGM, by NewRisingSun: https://vgmrips.net/forum/viewtopic.php?t=2585

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 12 of 20, by Scali

User metadata
Rank l33t
Rank
l33t
Artigkar wrote:

Only major issue I can remember running into with this method was that when I tried to record OPL3 music specifically in dosbox to dro format it would end up as 2xOPL2 (or Sound Blaster Pro 1 music) in the VGM format. Not sure what I was doing wrong.

This is something I also struggled with, with the three variations of DRO/VGM music:
1) Single OPL2
2) Dual OPL2
3) Single OPL3

I think the problem is that DOSBox can merely capture the writes to registers, and then has to 'guess' what kind of chip they are for. Writes to 388h/389h are single OPL2. Writes to 220h/221h are also OPL2. If there's also writes to 222h/223h then it can be either dual OPL2 or OPL3. I suppose they assume it's dual OPL2 unless they detect special OPL3 commands.
So it probably 'guesses' the wrong chip in some (actually most) cases. That is easy to patch if you know the DRO header format: http://www.shikadi.net/moddingwiki/DRO_Format
The 9th byte (for version 2.0 files, I don't think the old format is relevant anymore) indicates the hardware type. It is set to '1' for dual OPL2. Change it to '2', and it will be OPL3.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 13 of 20, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

Hey that's handy. I'm working on breadboarding various synth chips and wanted a convenient format for storing sample music data with a minimum of overhead. Who knew something like that might already exist. 😉

Reply 14 of 20, by Rolandradio

User metadata
Rank Newbie
Rank
Newbie

Dosmid and PX plays MID-files in dos with OPL2LPT, adtrack2 a nice program works with OPL2LPT ! but has no MID-file support.

Dosmid is the most that I like, but has no file search menu, every file name must be typed in command.

Reply 15 of 20, by bristlehog

User metadata
Rank Oldbie
Rank
Oldbie
Rolandradio wrote on 2019-05-21, 21:03:

RAD has sound samples in it like MOD, S3M ?

No, instead of sound samples it contains parameters for OPL2 or OPL3 synthesizer. It is similar to MOD and S3M but uses OPL synthesis instead of PCM sample playback.

Hardware comparisons and game system requirements: https://technical.city

Reply 16 of 20, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie
bristlehog wrote on 2020-02-08, 18:09:
Rolandradio wrote on 2019-05-21, 21:03:

RAD has sound samples in it like MOD, S3M ?

No, instead of sound samples it contains parameters for OPL2 or OPL3 synthesizer. It is similar to MOD and S3M but uses OPL synthesis instead of PCM sample playback.

It should technically be possible to use a sophisticated combination of Fourier transforms, Bessel functions and pattern matching to find FM parameters that approximate a given MOD sample.
One could then convert MOD files to RAD files and listen to the result on an OPL2/OPL3 card.
The process involved would be far from trivial, though.

Reply 18 of 20, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie

I'm aware. The thing is that the result of the transform approach could potentially sound vastly superior, provided that FM synthesis can produce the sound in question, and that it would use as little CPU resources as any other FM tune composed for the Adlib.

Reply 19 of 20, by derSammler

User metadata
Rank l33t
Rank
l33t

That's not really possible, simply because FM synthesis doesn't work that way. You can't form a waveform using FM synthesis to resemble an arbitrary sample. Not with the limited operations of the OPL2/3 anyway.