VOGONS


Windows, Doom, Apogee OPL3 Synthesizer.

Topic actions

Reply 140 of 204, by nukeykt

User metadata
Rank Member
Rank
Member
James-F wrote:
opl2.png

They sound the same and no different than none at all.

🤣. You are using driver which emulates Windows 9x's SB16 OPL3 driver. Doom driver is separate from 'Windows 9x' driver. Download link in doomworld thread. Install both x64 and x86 versions and select 'Doom OPL3 Synth' for music output.

Reply 141 of 204, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Heh, thank you for clarifying this. 😀

For future users:
You have to install both x64 and x32 versions of Visual C++ 2015 Redistributable.
You have to install both x64 and x32 versions of the OPL driver.
"Windows OPL" and "Doom OPL" are NOT the same!


my important / useful posts are here

Reply 142 of 204, by Wohlstand

User metadata
Rank Newbie
Rank
Newbie

Nice, anyway chip is same, but banks are different 😜
"Windows OPL" because there are used default Yamaha's bank (I don't know why that bank is named "Fat Man"?) and "Doom OPL" bank which made with DMX Audio library and modded by Id Software while used in DOOM. But chip is same, with it's 18 two-operator channels and it's 6 four-operators channels 😜

EDIT: Just figured out the "JungleVision Sound Drive" demo package and I found:

For FAT2.OP3 and FAT4.OP3 Patch Files: General MIDI timbres for Yamaha OPL-2 and OPL-3 based sound cards were produced by The […]
Show full quote

For FAT2.OP3 and FAT4.OP3 Patch Files:
General MIDI timbres for Yamaha OPL-2 and OPL-3 based sound cards were
produced by The Fat Man (TM) and developed by K. Weston Phelan and
George Alistair Sanger. Copyright 1993, The Fat Man (TM)

I.e. bank primary used in the Windows drivers firstly developed by people from "The Fat Man" company in 1993 year.

Reply 143 of 204, by Wohlstand

User metadata
Rank Newbie
Rank
Newbie

P.S. I think would be useful to also have ALSA-MIDI daemon to let me use this driver on Linux (instead of heavy Timidify/FluidSynth), because on Wine (where I doing various MIDI editing in the old Sonar) this don't wanna work even I manually added registry keys 😜
I'll try to implement some of that myself, even I have a simple example to do that.

Reply 144 of 204, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, Wine has no support for the Usermode Driver Framework so softsynths cannot function under Wine. They'd have to be hosted natively under Linux somehow and provided via ALSA.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 145 of 204, by mihaelkyeah

User metadata
Rank Newbie
Rank
Newbie

I can't get the newest one to work, and I don't know exactly for what reason.

EDIT: IT WORKED!

IT_WORKED.png

The reason why it didn't work the past times was because I was unable to install Microsoft C++ 2015 runtimes; the installation always freezed at Windows7_MSU_x64 (or x86 respectively) and then said the installation failed, with the error code:
0x8024001e

From what I guessed, that MSU_x64 or MSU_x86 responds to a needed update that apparently won't be downloaded unless you update Windows Update (how ironic!) with the Update Agent here. After that, you may want to check on Windows Update and select all important updates as well as all the optional ones (besides the language packs). To me, at first it looked like it wasn't updating anything (it always said 0 kB downloaded) but when I turned off the computer, it installed a pack of new updates, after which I was eventually able to properly install the Microsoft C++ 2015 runtimes.

Reply 147 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Hi,
I managed to compile the OPL3 emulator midi drivers with the nuked OPL3 Emulator in visual studio 2008, so this means You can have a very Accurate OPL3 Software synthesizer in operating systems as old as windows 2000.
I also made an innosetup script for the driver so it shows in add/remove programs in the control panel, and included a basic midi player application.
Source:
http://grossgang.com/utilities/opl3emu.zip
Compiled version:
http://grossgang.com/utilities/opl3emu.exe

Last edited by datajake1999 on 2017-06-10, 03:12. Edited 1 time in total.

Reply 148 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Update: Got the drivers to compile in visual studio 6 with the February 2003 platform sdk.
I tested the drivers on windows NT 4.0, and they worked.
The links are the same as in my last post.

Reply 149 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Another update:
I fixed compilation warnings in the OPL3 emulators.
I fixed signed/unsigned mismatches in the Apogee and Doom synthlibs by casting, and fixed a warning in opl3class.cpp about conversion from Bit16u to Bit8u by casting as Bit8u.
These changes don't seem to impact the audio quality.
I also removed the library line from winmm_drv.def because it isn't needed, as the output filename is defined in the visual studio project files.

Last edited by datajake1999 on 2017-06-15, 16:30. Edited 3 times in total.

Reply 150 of 204, by kode54

User metadata
Rank Member
Rank
Member
datajake1999 wrote:
Another update: I fixed compilation warnings in the OPL3 emulators. I fixed signed/unsigned mismatches in the Apogee and Doom sy […]
Show full quote

Another update:
I fixed compilation warnings in the OPL3 emulators.
I fixed signed/unsigned mismatches in the Apogee and Doom synthlibs, and turned all bit8u values to bit16u in the emulator core to prevent data loss.
These changes don't seem to impact the audio quality.

Are you sure that "data loss" was not intentional? Or that 64 bit precision was not intentional regardless of the platform's native register size?

Reply 153 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

After I installed the Windows server 2003 sdk, I compiled the drivers for x64 and ia64 platforms.
The emulators for all platforms are all in a single installer, and you can get it from http://grossgang.com/utilities/opl3emu.exe

Reply 154 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

Will nuked opl3 2.0 be compatible with the drivers in there current form?
When you release 2.0, I plan to recompile my version of the drivers with the new core by replacing opl3.cpp and opl3.h with the updated versions. Will I have to make any other changes so it will compile, or do I just replace opl3.cpp and opl3.h?

Reply 155 of 204, by nukeykt

User metadata
Rank Member
Rank
Member
datajake1999 wrote:

Will nuked opl3 2.0 be compatible with the drivers in there current form?
When you release 2.0, I plan to recompile my version of the drivers with the new core by replacing opl3.cpp and opl3.h with the updated versions. Will I have to make any other changes so it will compile, or do I just replace opl3.cpp and opl3.h?

Only fmopl3lib will be modified.

Reply 157 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

I found some Doom wads that had modified genmidi lumps, and I extracted the wads so I could get the op2 files.
They are included in my fork of the driver.

Last edited by datajake1999 on 2017-11-10, 07:20. Edited 1 time in total.

Reply 158 of 204, by datajake1999

User metadata
Rank Newbie
Rank
Newbie

I wrote a little program to make setting up the apogee and doom drivers easier.
Edit: I fixed some errors in the intro text. The file is reuploaded.
Edit2: I removed the program from the post because some of its functions only apply to my driver, and the program is included with my driver anyway.

Last edited by datajake1999 on 2018-02-01, 05:56. Edited 4 times in total.

Reply 159 of 204, by binarymaster

User metadata
Rank Newbie
Rank
Newbie
datajake1999 wrote:
Hi, I managed to compile the OPL3 emulator midi drivers with the nuked OPL3 Emulator in visual studio 2008, so this means You ca […]
Show full quote

Hi,
I managed to compile the OPL3 emulator midi drivers with the nuked OPL3 Emulator in visual studio 2008, so this means You can have a very Accurate OPL3 Software synthesizer in operating systems as old as windows 2000.
I also made an innosetup script for the driver so it shows in add/remove programs in the control panel, and included a basic midi player application.
Source:
http://grossgang.com/utilities/opl3emu.zip
Compiled version:
http://grossgang.com/utilities/opl3emu.exe

Hello datajake1999!

With your driver I noticed that when I call midiOutClose function in my program, the driver still plays notes that are not turned off by Note Off event.

It continues to play that notes even after I start playback again.

by Stas'M