Hello! I have some bunch of IBK files made by me, and I was used the Jamie O’Connel’s custom FM MIDI Driver to play&record music with it, but it has a poor support of drums (I can't implement full support of them).
That driver (Win 3x / Win 9x): http://wohlsoft.ru/docs/Sounds/SMBX_OPL/SMBX_OPL_Sounds_src/Software%20for%20FM%20chip/fmsynthJamieOConnel.zip
SMB Timbre tool (DOS 16 bit) which I used to make my mods: http://wohlsoft.ru/docs/Sounds/SMBX_OPL/SMBX_OPL_Sounds_src/Software%20for%20FM%20chip/sbtimbre.zip
EDIT: Half year ago I found the ADLMIDI program (which I redesigned into the library) which implements an MIDI-Player over OPL chip emulator and uses a big set of various bank formats. It works light and is not overloads CPU, tested on Pentium IV machine. This also supports overclocking 18-channels 2-op and 6-channels 4-op limits by running multiple copies of chip emulators and then MIDI-player shares notes between all running chip emulators.
Now I got skills and then I quickly made a bank editor for Junglevision format:
That format is supported both 2-operator, 4-operator instruments. Then later I have been added more bank formats: DMX, TMB, IBK, BNK (AdLib and HMI), and AIL (also I working on other formats too).
I think, I'll make a new file format which must support:
- 128 melodic instruments and 128 drum sets (Even as idea, allow support of multiple banks like GS or XG to have able to make full GS/XG instruments set)
- Three modes: 2-operators (OPL2), double-voice 2-operators (Pseudo 4-operators, like DMX), 4-operators (OPL3)
- Fine tuning for second voice (Pseudo-4-operators mode only)
- Note offsets per instrument (to allow octave offsets for some instruments instead of changing a frequency multiplication flags which are may change resulted in sound instead "just up/down one octave")
- Custom instrument names (especially for GX/XG instrument sets more than standard 128)
EDIT2: The new WOPL format has been created
It is already supported by OPL3 Bank Editor and by libADLMIDI:
The full specification is here: https://github.com/Wohlstand/OPL3BankEditor/blob/master/Specifications/WOPL-and-OPLI-Specification.txt
Feel free to use it on your side!