OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Emulation of old PCs, PC hardware, or PC peripherals.

OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-12 @ 21:18

Hello!

It's my OPL3 banks editor which supports different bank formats (currently implemented reading/writing of OP3 [Junglevision], OP2 [DMX], TMB [Apogee Sound System, known from Duke Nukem 3D], other file formats are coming soon). Editor uses DosBox 0.74's (since 1.2.3-beta, replaced with Nuked) OPL3 emulator to provide sound testing.

Editor supports opening from command line (you freely can associate bank files with editor program to open with it) and supports drag & drop to open a bank files. In the editor are pop-up hints about each parameter and it's sense.

Image

Image

Latest versions are available here:
https://github.com/Wohlstand/OPL3BankEditor/releases

Source code of editor and fresh Dev builds (built via CI servers): (to build you need to have a Qt 5)
https://github.com/Wohlstand/OPL3BankEditor

Trivia: Because different bank formats supports different parameters, I going to implement my own bank format for libADLMIDI usage as default custom bank format to support a lot of parameters where we are know.
(For example, double-voice of 2-operator channels mode supported only on DMX's banks, but it is not allows usage of all 127 drums, there are limited with GeneralMIDI instruments only, OP2 and TMB are supports using of any of 127 drum instruments for any cases, but TMB supports only one 2-operator voice per instrument, and OP3 and DMX are not supports velocity offset value which on TMB. OP3 also not supports note offset which supported on DMX and on TMB)
Last edited by Wohlstand on 2017-7-17 @ 08:51, edited 4 times in total.
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Jepael » 2016-6-14 @ 16:11

I'd try it, but it won't compile. Can you help me build this?

I had to install QT5, the multimedia libraries to get QAudioOutput, and make QT5 default before I got this far on command line. But QT creator still won't find QAudioOutput :)

Code: Select all
src/bank_editor.cpp: In member function ‘void BankEditor::loadInstrument()’:
src/bank_editor.cpp:472:70: error: ‘FmBank::Instrument::Connections’ is not a class or namespace
     ui->am1->setChecked( m_curInst->connection1==FmBank::Instrument::Connections::AM );
Jepael
Oldbie
 
Posts: 1108
Joined: 2005-6-15 @ 19:28
Location: Finland

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-14 @ 16:55

Jepael wrote:I'd try it, but it won't compile. Can you help me build this?

I had to install QT5, the multimedia libraries to get QAudioOutput, and make QT5 default before I got this far on command line. But QT creator still won't find QAudioOutput :)

Code: Select all
src/bank_editor.cpp: In member function ‘void BankEditor::loadInstrument()’:
src/bank_editor.cpp:472:70: error: ‘FmBank::Instrument::Connections’ is not a class or namespace
     ui->am1->setChecked( m_curInst->connection1==FmBank::Instrument::Connections::AM );

That wired, because error happen because not Qt: because your compiler wasn't correctly detected a member of enum "Connections". That successfully building on gcc 4.8/4.9, but let me come to home to let me check or a thing, then I'll notify you when pull update from repo. But you just can remove "::Connections" in that function (because ennui values are exporting into environment), and retry build
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Jepael » 2016-6-14 @ 17:25

OK, I managed to find a way to compile it under QT5 (it was very difficult to find how to change it, who on earth designed the UI).

So it runs now, but no sound output.

Code: Select all
using null output device, none available


I actually don't know what prints this, maybe QAudioDeviceInfo::defaultOutputDevice(), but I bet it cannot find the default output device.
Jepael
Oldbie
 
Posts: 1108
Joined: 2005-6-15 @ 19:28
Location: Finland

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-14 @ 18:01

Jepael wrote:OK, I managed to find a way to compile it under QT5 (it was very difficult to find how to change it, who on earth designed the UI).

So it runs now, but no sound output.

Code: Select all
using null output device, none available


I actually don't know what prints this, maybe QAudioDeviceInfo::defaultOutputDevice(), but I bet it cannot find the default output device.

Are you have installed PulseAudio? Anyway, I totally forgot to bind manual audio device selecting that is very important especially for case if default audio device is wrong
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Jepael » 2016-6-14 @ 18:37

Well, again bad documentation, it just needed to install libqt5multimedia5-plugins separately and it can find a default device now.

Thank you for your support. This tool may come in handy someday. First thing that comes to my mind is to add qtserial support to send commands to a retro PC so it can be used to control an actual OPL chip in real machine.
Jepael
Oldbie
 
Posts: 1108
Joined: 2005-6-15 @ 19:28
Location: Finland

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-14 @ 19:57

Jepael wrote:Well, again bad documentation, it just needed to install libqt5multimedia5-plugins separately and it can find a default device now.

Thank you for your support. This tool may come in handy someday. First thing that comes to my mind is to add qtserial support to send commands to a retro PC so it can be used to control an actual OPL chip in real machine.

Or even you have C-Media (which has chip with FM synth) or Sound Blaster 16 PCI card which has that chip and you can plug that on modern machine, but on Linux that would work much better because drivers are works fine or we are even directly send commands to OPL chip by address requests
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby MusicallyInspired » 2016-6-15 @ 14:20

This is fantastic! Any plans to support the INS/BNK format from the DOS-based Insmaker program? If you can support BNK we can use it in conjunction with SCI Companion and create patch resource files for Sierra's SCI engine for fangames much easier without needing DOSBox for Insmaker.

Or for that matter, what do you think the chances are of support Sierra's Adlib SCI patch format directly?
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, Hocus Pocus, Descent, and more.
Doom TNT music pack released!
Legacy of Grabbag - Metal Medley
User avatar
MusicallyInspired
Oldbie
 
Posts: 510
Joined: 2004-9-16 @ 03:41
Location: Manitoba, Canada

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-15 @ 14:29

MusicallyInspired wrote:Any plans to support the INS/BNK format from the DOS-based Insmaker program? If you can support BNK we can use it in conjunction with SCI Companion and create patch resource files for Sierra's SCI engine for fangames much easier without needing DOSBox for Insmaker.

Or for that matter, what do you think the chances are of support Sierra's Adlib SCI patch format directly?

Yes, I wanna support those formats too (BNK I going to implement today at evening (by Moscow time), but I also must to finish editing of AdLib-moded drums (lock unused operators for tom/snare/hat/cymbal) fix a wrong drum testing in 5-channel mode which currently producing incorrect sound), but I also going to make an import dialog (to open single-instrument files (SBI/INS) and some set of instruments from another banks or even music files like IMF/CMF. I have SBI specification, [it's so simple and easy], but I needed for INS specification [I bet that it must be very simple]) and I think, I'll allow explort instruments as single-instrument files (SBI/INS/etc.). Also to have support of bank files with a ton of instruments (more than 127), I will add "rubber" mode where each instrument will be added/removed instead of editing one of pre-defined 127 slots per melodic/percussion sets.
EDIT: So, I found a specifications here:
http://www.shikadi.net/moddingwiki/AdLi ... ent_Format
http://www.shikadi.net/moddingwiki/AdLi ... ank_Format
Anyway, adding file format is very fast precedure, and I think, I'll do fix of AdLib drum testing after (I added that since I implemented IBK format support [only on GitHub]).

Also: this editor itself is my very old dream which I done myself 8 years layer, but 8 years ago I wasn't skilled like now, but I also annoyed to use DosBox with SBTimbre too, I used it to edit very limited IBK-files while I have OP2/OP3 files with double-voice, full-featured two/four-operator drums and 4-operator support. And I had to use Jemmie O'Connel's driver for Windows 3.1 to play music on custom banks. But limit is 5-channel drums where I can't normally play full-featured drums like most of banks which are arround.
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-6-23 @ 13:53

Beta-version which now supports IBK and experimentally BNK files, and now supports instrument importing from another banks is available!
https://github.com/Wohlstand/OPL3BankEd ... 1.2.1-beta
BNK support is experimental yet, because saved BNK files are crashing INSMAKER on attempt to open my files.
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-10-15 @ 17:32

Bump
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Stretch » 2016-10-15 @ 23:12

This is a nice program. Are there any plans for Adlib Gold bnk files? How about Linux sb and o3 bank files?
Win98SE - Intel SE440BX-2 - Pentium II 233 Mhz - 256 MB System Ram - Voodoo 3 1000 AGP - ESS 1938 PCI - Soundblaster 32 ISA
Stretch
Member
 
Posts: 236
Joined: 2013-11-16 @ 00:57

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-10-16 @ 00:12

Stretch wrote:This is a nice program. Are there any plans for Adlib Gold bnk files? How about Linux sb and o3 bank files?

I need specifications for them to add support. BNK is experimental, it works for read and write, but result is not liked by AdLib's bank editor which crashing.
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Stretch » 2016-10-16 @ 02:16

glib19f.tar.gz from Index of /public/ftp/pub/Linux/apps/sound has a file sbvoice.doc which has the specs for the extended sbi format for Linux sb and o3 OPL patch files.

I don't know about the specs for Adlib Gold bnk format.
Win98SE - Intel SE440BX-2 - Pentium II 233 Mhz - 256 MB System Ram - Voodoo 3 1000 AGP - ESS 1938 PCI - Soundblaster 32 ISA
Stretch
Member
 
Posts: 236
Joined: 2013-11-16 @ 00:57

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby gamax92 » 2016-10-25 @ 04:52

The sb and o3 files are just 128 SBI/2OP/4OP instrument patches concatenated together into one file, 4OP patches seem to have an addition 8 bytes than SBI/2OP patches.
That sbvoice.doc file seems to be good at describing the format of the individual patches
I had been using some cmf.txt document but now realize that all my custom .sb files need to be redone, oops.
There's also this discussion in this other topic about the file format: https://www.vogons.org/viewtopic.php?f=5&t=50037

Would love to see this supported in this bank editor, very well done.
User avatar
gamax92
Newbie
 
Posts: 14
Joined: 2013-6-21 @ 13:47

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-10-26 @ 13:45

gamax92 wrote:The sb and o3 files are just 128 SBI/2OP/4OP instrument patches concatenated together into one file, 4OP patches seem to have an addition 8 bytes than SBI/2OP patches.
That sbvoice.doc file seems to be good at describing the format of the individual patches
I had been using some cmf.txt document but now realize that all my custom .sb files need to be redone, oops.
There's also this discussion in this other topic about the file format: https://www.vogons.org/viewtopic.php?f=5&t=50037

Would love to see this supported in this bank editor, very well done.

Can you also send me some of those files to let me implement support of them more accurate?
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Stretch » 2016-10-26 @ 23:34

[/quote]
Can you also send me some of those files to let me implement support of them more accurate?[/quote]

adagio05.tar.gz from Index of /packages/linux-tsx-11/packages/sound has the OPL2 sb files and the OPL3 o3 files.
Win98SE - Intel SE440BX-2 - Pentium II 233 Mhz - 256 MB System Ram - Voodoo 3 1000 AGP - ESS 1938 PCI - Soundblaster 32 ISA
Stretch
Member
 
Posts: 236
Joined: 2013-11-16 @ 00:57

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby DracoNihil » 2016-10-28 @ 06:52

This program would be a gods-end to making FM MIDI on Linux not sound completely terrible, if it can export .sb and .o3 files properly for sbiload to function.
User avatar
DracoNihil
Oldbie
 
Posts: 1058
Joined: 2011-10-09 @ 14:26
Location: Independence, KS

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby Wohlstand » 2016-10-28 @ 11:06

DracoNihil wrote:This program would be a gods-end to making FM MIDI on Linux not sound completely terrible if it can export .sb and .o3 files properly for "sbiload()" to function.

I'm in work to support those formats, there are not hard and primarily based on already supported SBI format
User avatar
Wohlstand
Newbie
 
Posts: 26
Joined: 2016-6-12 @ 20:25
Location: Moscow, Russia

Re: OPL2/OPL3 FM Bank Editor for Windows/Linux/MacOS X

Postby DracoNihil » 2016-10-28 @ 11:21

Thanks a ton for this, Wohlstand! I look forward to seeing this support .sb/.o3 files.
User avatar
DracoNihil
Oldbie
 
Posts: 1058
Joined: 2011-10-09 @ 14:26
Location: Independence, KS

Next

Return to PC Emulation

Who is online

Users browsing this forum: elianda, reenigne and 1 guest