BMS: Linking Instruments to Sequences (Wind Waker) by BasedKingPotato at 10:50 PM EDT on March 9, 2015
Pun intended!

I understand why there isn't as much of a push nowadays for accurate OST rips from games like Wind Waker, since most of the work has already been done.
However, when you have OST rips in MIDI form, it allows you to accurately separate the individual instruments to make things like backing tracks and whatnot.

Point is, I was able to find furrybob's MIDI conversions from BMS files in Wind Waker, but I couldn't find exactly how the game would link the samples inside AW files to the instruments used in a BMS sequence.
If anyone here has information on how this is done, please leave a detailed comment about it. Be as technical as you like, I am a hobbyist programmer with an interest in music!

edited 6:24 AM EDT March 10, 2015

edited 6:26 AM EDT March 10, 2015
by dj4uk6cjm at 2:42 AM EDT on March 10, 2015
Hi, if it helps check out this thread for on going BMS discussion and here for the Wind Waker soundfont. Please note that I did not make it but a very kind person did using the samples I looped and of course it is not the best but what we have so far.
by dj4uk6cjm at 2:50 AM EDT on March 10, 2015
Also for anyone thinking of making their own soundfont, here are all the Wind Waker samples properly categorized for general use https://drive.google.com/folderview?id=0B8rHgE_H8aJsTzdpN3NOVUVPNUE&usp=drive_web&tid=0B8rHgE_H8aJscWRSVXgyV0JEYW8 they are not looped but I'm working on it gradually from time to time.
by BasedKingPotato at 4:28 AM EDT on March 10, 2015
Good stuff! I'm glad people still are interested in converting the official sequenced BMSs into sequenced MIDIs with soundfonts converted from the official in-game instruments!

However, I'm not sure whether this answers my question.
How does the game know which instrument samples should be used by a BMS sequence, and in which order?
Or is the best way to figure this out is by hand?

edited 9:37 AM EDT March 10, 2015
by dj4uk6cjm at 5:03 AM EDT on March 10, 2015
arookas has more experience than any of us in that field so a good place to start would be to ask him and check his posts on the BMS format, sorry I can't be more of help.
by BasedKingPotato at 4:52 PM EDT on March 10, 2015
That's okay. I can see this BMS format is quite complicated and requires A LOT of time and effort to truly get an understanding of its inner workings.
Makes you wanna go up to Nintendo and say "HEY! HOW DOES THIS CRAP WORK?"
Everything would be so much easier if we could just do that. But we're hackers! That'd be cheating!
by camthesaxman at 12:48 PM EST on March 10, 2017
I just made my own BMS to MIDI converter in C (I'll post the source on GitHub later) which has converted all of the sequences, but I'd like to generate soundfonts from the .aw files to make the music sound more like the original game. Right now, I just have the user pass a file with a list of standard GM instruments to use when creating a MIDI, so the instruments sound somewhat correct.

Does anyone know the specifics of the .aw format, and where the metadata (such as sample looping, vibrato parameters, etc.) is stored? Some instruments seem to have more than one sample in the same file, also. Also, how does the game know which .aw to use with each .bms? The .bms file doesn't have any kind of header or anything, so that information must be stored somewhere else.

edited 12:49 PM EST March 10, 2017
by camthesaxman at 11:17 PM EST on March 11, 2017
Here are a few MIDIs I dumped with my tool. https://drive.google.com/open?id=0B0hx9HcjZSNhMm42TVZ0ejBRS3M The instruments are mostly right, but I can't verify that until I can figure out which sound bank goes corresponds to which .bms sequence and which instrument number corresponds to which sample.

The source code can be found here. https://gist.github.com/camthesaxman/370205d1a51ca631a212f45883158f94 If anyone has knowledge about the format and can help me identify some more events, then please let me know.
by Jasper at 12:45 AM EST on March 12, 2017
.aw files (which are just giant bits of sound data, basically) aren't used directly. Depending on the game, there's either a BAA file or a JaiInit.aaf file to tell you how the whole thing is laid out.

I did a lot of the RE myself, so I don't really have any documentation for you, but: https://github.com/magcius/vgmtrans/blob/siiva/src/main/formats/JaiSeqScanner.cpp

It supports both AAF and BAA files, though not perfectly. I indeed haven't figured out how banks are determined 100% of the time -- C-DF tells me some information, but not the whole story.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source