Gamecube BMS sequence ripper/editor - Design? Language? Existing DAW/sequencer plugin? by nobody1089 at 5:41 AM EDT on April 10, 2016
I'm starting a project to rip Gamecybe BMS sequences (Zelda Wind Waker, Twilight Princess, Mario Sunshine) into data structures (high-level object trees, maybe JSON/YAML as a save format).


Ideally, I'd write a high-level spec which is used to parse the file directly. I managed to write up a "declarative spec" in the form of a switch-case statement. However, I essentially stole Go syntax, so I'm not sure if my "spec" is any more readable or language-agnostic than normal code.

* However, it's *definitely* much better than bit-bashing a MIDI file from a BMS file.

* The current BMS decoder is located at http://kuribo64.net/board/thread.php?id=2363.
** It barely works. Resulting MIDI tracks lack volume, looping, etc., and note timing is completely off.
** This program literally reads bytes from the source data and constructs a MIDI file byte-by-byte.
** The code is practically unreadable as documentation.

Existing BMS programs:
https://github.com/arookas/MIDItoBMS (BMS encoder, I didn't read, could be a spec?)
http://www.hcs64.com/mboard/forum.php?showthread=37639&showpage=0 @Yuuto
* Outdated CodePlex reader (http://jplay.codeplex.com ), incompatible with Wind Waker?, unreleased new version on MediaFire
** Yuuto disappeared, we're probably not getting the new version

**** What language do I use? ****

Also, I hate "Be-Music Source". Will you stop cluttering my search results?

--------

Long non-BMS-related rambling removed for now. Will be reposted somewhere else.

edited 4:46 AM EDT April 11, 2016
by nobody1089 at 3:47 PM EDT on April 10, 2016
(Removed for now)

edited 4:46 AM EDT April 11, 2016
by robotortoise at 1:50 PM EDT on April 11, 2016
It'd be pretty rad if you could create a BMS sequence converter!

The only existing one, sort of, is for Super Mario Sunshine. It's a MIDI to BMS converter, but arookas has worked on a BMS to MIDI converter as well. They might have some ideas if you talk to them.

If you're looking for something to implement the BMS converter into, I'd suggest looking into VGMTrans, which is a universal sequence to MIDI converter, more or less. It supports DS sequences, N64 sequences, NES, SNES sequences...and so on.
by nobody1089 at 4:10 PM EDT on April 11, 2016
I'm aware of vgmtrans. The project seems to have been handed around many times, the current developer hasn't been around for a few months.

My main concern is that vgmtrans is a GUI C++ program with massive dependence on the win32 API, and I don't really understand its heavily nested object structure. Many extractions are inaccurate or missing commands not natively supported by MIDI.

I'd prefer working with sequences in a more powerful format, since MIDI is clunky and hardware-oriented.
by vajuvaju at 4:36 PM EDT on April 11, 2016
The user Nisto here at HCS64 is very interested in MIDI + soundfont sequence extraction.

Here is another thread dedicated to this topic, but mainly focused on games with the MuxyX system.


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