Yet Another BMS to MIDI converter by Yuuto2 at 12:24 PM EST on March 3, 2023
I'm currently having fun working on my long-term project of reverse-engineering Twilight Princess' audio system again and made quite some progress. As the title says, it's about converting BMS sequences to MIDI files. This time I chose a dynamic approach: The BMS sequences are actually played back (virtually) just like the game engine does. Instead of synthesizing the audio events, they are converted to MIDI messages and recorded.

The tool currently supports all commands related to sequence control, i. e. register manipulation, port reading/writing, (conditional) branching etc. This effectively means that dynamic sequences containing different segments and logic for transitioning between them (used for some Twilight Princess boss fights) are supported as well.

In this folder you can find a few samples of what the converted files look like. The basic ones containing just a simple loop (twilight, deathmountain01, field_link_night) are played until they first loop back. The dynamic ones (e_dekutoad, e_fireman) were cut off at a specific time. During playback, I wrote to their track ports (just like the game does) to trigger the segment jumping.

The folder also contains an SF2 including all three BGM banks of the game. The program and bank numbers of both the generated MIDIs and the SF2 have been altered to be MIDI-compatible, so you can grab a MIDI player that supports SF2s (e. g. audacious) and use it to play back the converted sequences.

Keep in mind that this is all work in progress and currently more a proof of concept. The envelope data of the SF2 is rather estimated than accurate, so do not expect it to sound as it would in-game. Articulation commands are not complete, too. The tool currently contains hard-coded logic in some places, so it is not very usable yet, but I'm planning on uploading an executable that can handle the basic sequences soon.

edited 12:26 PM EST March 3, 2023

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=]Link[/url]


HCS Forum Index
Halley's Comet Software
forum source