Wohlstand / OPL3BankEditor

A small cross-platform editor of the OPL3 FM banks of different formats (Downloads in README below)
GNU General Public License v3.0
143 stars 12 forks source link

can't seem to merge drum and melody ibk files to a wopl. #210

Closed zaphod77 closed 3 months ago

zaphod77 commented 3 months ago

the two ibk files i'm working with are here. http://annex.retroarchive.org/cdrom/nightowl-006/042A/MID2CMF.ZIP

i think the drum.ibk uses a lot f "default instruments" or something. these work fine with the included mid2cmf converter, but i can't get a peep out of them when i imort one intto the other and save a .wopl file.

So why isn't this working?

Wohlstand commented 3 months ago

Lemme take a look on this...

zaphod77 commented 3 months ago

the editor only shows 5 percussions or so, and a bunch of copies of the melody instruments from melody.bnk , but when i run mid2cmf.exe it does the right thing, and all the percussion is there, so i dunno what's up.

there's something really weird about that bank file. it may have something to do with default percussions instruments on the card itself.

SBTIMBRE doesn't do any better parsing it. i'm not sure how the heck mid2cmf manages it.

Wohlstand commented 3 months ago

Okay, now I am at my computer. So, that's because how IBK files are by theme selves: instruments do have the mark as "melodic" or "drum". And because of that, instruments marked as melodic fled into melodic set. Here is what you can do:

These instruments, seems, needs a manual adjustment, because they are clucky at the source (they are same when you open this drum bank via sbtimbre, I checked that), you need to manually tweak them manually: set them a rhythm mode drums, and set the note, and also, seems, adjust some other properties to make them valid :thinking:

zaphod77 commented 3 months ago

then why do they WORK with mid2cmf?

i want to play back this midi file and have it sound like this

https://www.vgmpf.com/Wiki/index.php?title=Ballad_2

if i load melody.ibk (or the alternate mt32.ibk with sbtimbre) then i can play ballad2.mid is dosmidi with

dosmid /opl /sbnk:melody.ibk ballad2.mid

but if i leave off the drum one, the drums play back differently.

if i use drum.sbk from sbbtimbre, that doesnt' help any.

Wohlstand commented 3 months ago

then why do they WORK with mid2cmf?

Because there are hardcoded conditions that use these instruments differently than they are in the bank file.

zaphod77 commented 3 months ago

anyway turns out the midi file is an actual mt-32 arrangement, and windows itself was getting the percussion wrong anyway, but i still need a mt32 percussion fm .ibk to go with melody.ibk, as drum.ibk from sbtimbre isn't that.

i tested this by sending it out to MUNT, and the percussion is better there, and seems to have more different instruments. seems it's going to take much reverse engineering to fix this.

So those are the base settings, and they are copied and edited to make the real percussion instruments, with mid2cmf doing all the magicm, and a sample midi file that uses all of the mt-32 drums is needed to work out what's assigned. joy.

Wohlstand commented 3 months ago

Anyway, the tool doesn't remaps instruments, and here is a result thing I did with my custom GM melodic set, but kept drums as original: MID2CMF-xiang.zip To make drums work, the channel 10 should set patch 126.

zaphod77 commented 3 months ago

here's my other reference that the file is supposed ot be for mt-32

https://www.vgmpf.com/Wiki/images/d/d3/Voyetra_-_Sequencer_Plus_and_MusiClips.pdf

last page says so.

zaphod77 commented 3 months ago

finally read the manual. mt-32 drum map is not exactly a subset of gm drum map. it's similar, but not identical.

specifically, the bass drum and tom sounds are not the same. everything else pretty much matches.

specifically, the two bass drums are identical in mt32, the two floor toms are both low tom in mt32, and in gm it's low, low mid, high-mid, high, and in mt-32 land it's mid mid hi hi.

SO to turn gm into mt32, you copy 35 to 36, 39 to 40, 41 to 42, and 43 to 44.

and drum.ibk in sbtimbre is wrong, so that's why mergig it in broke things.

zaphod77 commented 3 months ago

okay, merged in fat_drums.sb (the fat man's 2 op drum patchset) to the mt32.ibk, and this actually sound decent. it's not the same as the actual windows recording, but turns out windows 3.1 was wrong anyway.

Wohlstand commented 3 months ago

Speaking about Windows 3.1, if you are interested, I have the "MS Adlib" bank extracted from the source code of the AdLib and SoundBlaster 1.x drivers for Windows 3.1 (they shared the same MIDI driver code, and the same bank) and I turned it into WOPL. msadlib.wopl.zip

zaphod77 commented 3 months ago

nope, that's the new one that is gm.

the driver i'm talking about has an mt-32 melodic bank.

it came on the sb 2.0 driver disks. any ones that HAVE those four midi files (ballad2, jazz3, minuet1, and reggae2) on it has the correct driver. and it don't have source.

zaphod77 commented 3 months ago

https://archive.org/download/creativelabssoundblaster2.0/Creative%20Labs%20Sound%20Blaster%202.0.zip the driver is here.

you will ned to use the clzx.com to extract some of the files from it, or run the installer somehow.

the impossible to download voyetra sequencer plus junior that came with the midi kit for sb 2.0 and 1.5 uses the same banks.

zaphod77 commented 3 months ago

anyway i managed to get win 3.11 working in dosbox, used the setup with that driver to install the driver, and jukebox.exe does play the midis. the bank is either in sndblast.drv, or in jukebox.exe itself. hopefully you can figure out how the heck to get it out.

and yes, when i do that, ballad2.mid sounds just like it did on that website. EXACTLY. play cmf isn't quite the same. in fact it doesn't do reggae2 or jazz3 correctly.