VOGONS


First post, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

I am emulating a system with an SB16, this is besides the point

I need a MIDI Player that uses OPL3, and can handle a LOT of notes.

DOSMid doesn't work for me because the way it streams, it instead slows down to handle all the notes instead of lagging. Secondly, if lagging it can't come right back to the point after it lagged
(e.g instead of, lag at 4:30, lag for 50 seconds, come back at 5:00 where the lag point would have ended, instead lag at 4:30 for 50 seconds, when lag is done keep playing at 5:20), Such behavior similar to PianoFromAbove for Windows.

Reply 1 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

I should mention- a player for MS-DOS if it wasn't obvious

Reply 3 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

No, can you send a copy? I am currently using a school device, and they have archive.org (and web.archive.org) blocked

Reply 4 of 17, by SScorpio

User metadata
Rank Oldbie
Rank
Oldbie

Does it need to be ran through the emulated SB16?

Falcosoft's Soundfont MIDI Player comes with an OPL3 VST. It's a portable program you don't need to install. And you just run it on a modern system and it sounds like the MIDI was going through an old sound card.

https://falcosoft.hu/softwares.html#midiplayer

Reply 5 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

Yes, I want to push DOS to the limits of MIDI playing, mainly BlackMIDI (the impossible music stuff, but on a smaller scale, 200K notes and not 6.28 million for example)

Reply 6 of 17, by darry

User metadata
Rank l33t++
Rank
l33t++

An actual OPL3 or any reasonably accurate emulation of it can be configured to play, at most 18 FM channels (2 operators each), which means a maximum of 18 simultaneous notes.

Unless you are intent on using a modified emulated FM synthesizer that is based on the OPL3 or you intend to instantiate multiple emulated OPL3 chips simultaneously somehow (there are a few way to theoretically do this), you won't be getting more than that 18-note polyphony from an OPL3, regardless of the OS .

There may exist DOS software that can handle more than one OPL3 chip, but even if it exists, it would likely have been designed to use niche hardware (if even that existed) . This has been discussed in this thread Why no Dual-OPL3 soundcards? .

Reply 7 of 17, by SScorpio

User metadata
Rank Oldbie
Rank
Oldbie

You do realize that OPL isn't MIDI right? The MIDI player is converting the requested MIDI instruments whatever FM waveform the developer decided.

If you really want to push what can be done with an OPL, you'll want to write your own code and take control of the chip itself. And to truely push DOS to it's limit, get a later OPL4 based card which can do more than the 3. The OPL4 wasn't a device that ended up being used in games, but the cards did exist and used on later DOS / Windows systems.

I recommend starting with Adlib Tracker II and seeing some of the music people created with that. You can try writing your own, or as I mentioned do your own low level coding.

While the OPL4 wasn't used in the west. There was a MSX sound module called Moonsound that was used.

https://www.youtube.com/watch?v=jxk2OEUFL2Y

Reply 8 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

Yes I do know, I'm saying a player that USES OPL so I don't need to figure out emulating an MPU. the SB16 has OPL3, and DOSMID uses it, but as mentioned, it doesn't work for how I need, as I have mentioned.

Reply 9 of 17, by darry

User metadata
Rank l33t++
Rank
l33t++

Yes, I want to push DOS to the limits of MIDI playing, mainly BlackMIDI (the impossible music stuff, but on a smaller scale, 200K notes and not 6.28 million for example)

Maybe I've completely misunderstood what you intend to do, but if you are trying to find a player software able to push more than 18 notes simultaneously through a single OPL3, you will not find one for any OS. It's not a player limitation it's an OPL3 limitation.

If the MIDI file you are trying to play requires more polyphony than the synthesizer can support there will be dropped notes at least. If this is pushed to extremes (like thousands of notes), the results can be unpredictable (possibly what you are seeing with DOSMID). Another player might react differently, but it still won't exceed the OPL3's polyphony limits.

I don't know of anyone who has tried driving an OPL3 in this way, but I obviously don't know everything (very far from it). That being said, if you are curious as to how the software/hardware will react in extreme conditions, you are certainly free to try all the players with direct OPL3 support that you can find for DOS. Maybe you will find one that works in a way that you are satisfied with.

Again, if I have misunderstood your objective(s)/expectation(s)/hypothe(sis/ses) in this case, please feel free to clarify.

Last edited by darry on 2025-04-28, 00:34. Edited 1 time in total.

Reply 10 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

I don't mind that honestly, as long as it works.

Reply 11 of 17, by darry

User metadata
Rank l33t++
Rank
l33t++
generalchuckles wrote on 2025-04-27, 23:35:

I don't mind that honestly, as long as it works.

Then the best approach I can imagine would be for you to keep trying various DOS MIDI player programs that support the OPL3 until you find one that satisfies your functionality criteria .

For example:

Adlib Tracker II which was previously mentioned
http://www.adlibtracker.net/

Some in this thread have specific OPL3 support in addition to OPL2 : PX Player: play MID and XMI files under DOS

Reply 13 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

thank you!

Reply 14 of 17, by generalchuckles

User metadata
Rank Newbie
Rank
Newbie

Ill try when I get home from school

Reply 17 of 17, by STX

User metadata
Rank Member
Rank
Member
generalchuckles wrote on 2025-04-29, 15:05:

...CTMiDI.DRV is not found.

CTMIDI.DRV is a driver that is installed by Creative's SB16 DOS driver installer. I haven't used a SB16 for about 20 years, so don't be surprised if the following advice is wrong:
I believe that you need to download a Creative SB16 DOS driver pack and run its installer. The installer will extract CTMIDI.DRV and some other files. Then, it'll add an environment variable to AUTOEXEC.BAT and add CTMIDI.DRV to your CONFIG.SYS file, which will reduce your system's free conventional memory as an unfortunate side effect. Then, CTMIDI.DRV should be found. (Note: DOS games include their own separate SB16 drivers, notably the Miles Sound System, so that's why your DOS games work without having the Creative SB16 driver loaded. When you're not using a program that uses CTMIDI.DRV, you can remove it from your CONFIG.SYS file and reboot to regain some conventional memory.)

Here's a link to the Windows 3.1x drivers for the Sound Blaster ISA 16/32/64 cards (Release date: December 19, 1996). The DOS drivers are included:
https://support.creative.com/downloads/downlo … nDownloadId=272
If that SB16 driver installer doesn't work, then try the Sound Blaster 16/SB32/AWE32 Basic Disk for DOS/Windows 3.1 Installation (Release date: December 30, 1997):
https://support.creative.com/downloads/downlo … nDownloadId=273

The SB16 manual has a chapter about PLAY.EXE, but it doesn't mention an ability to play MIDI files with FM hardware. (It just mentions an ability to play CMF files with FM hardware.) However, the SB16 manual is from 1994, and the PLAY.EXE version recommended on flaterco.com is included in a more recent package. SB16 manual:
https://files.creative.com/manualdn/Manuals/T … itsoundcard.pdf