I propose switching to a different music notation format, preferably a pre-existing one that is easier to find tools for online that actually function well. midi2piano 'works' but it is horribly outdated for anything other than playing single-track songs. Need to sync up multiple synthesizers in game or something and would like the BPM to stay the same across all of them? Midi2piano doesn't do that. In fact, midi2piano just kindof picks a BPM at complete random, and doesn't stick to it the entire song. Some parts of the song will be five times faster then they're supposed to be, some parts of the song will be half the speed. It's just awful.
Letting people import midis is bad as well as we want it to be text that can be read, and played by the game, for the sake of reducing lag. There are a few good formats that work way better than the slop we have now, and most importantly, they're incredibly easy to create, but I think the best one is ABC v2.1.
ABC notation looks something like this:
Code: Select all
<score lang="ABC">
X:1
T:The Legacy Jig
Q:1/4=120
M:6/8
L:1/8
R:jig
K:G
GFG BAB | gfg gab | GFG BAB | d2A AFD |
GFG BAB | gfg gab | age edB |1 dBA AFD :|2 dBA ABd |:
efe edB | dBA ABd | efe edB | gdB ABd |
efe edB | d2d def | gfe edB |1 dBA ABd :|2 dBA AFD |]
</score>
DOWNSIDES:
Focuses more on one-voice tunes instead of chords (The other similar format that focuses on chords, JAM, is completely gone from the internet.)
We'd lose the songs already put into the game by our current system
UPSIDES:
Extremely easy to read.
Extremely easy to write.
Several programs that can convert midi tracks directly into ABC file format already out there.
Stupidly large amount of documentation on it.
Fields for tempo.
Stupidly robust if you know how to use it.
We'd get like 15k more songs
COMPLETELY OPEN FORMAT.
https://abcnotation.com/wiki/abc:standard:v2.1 Check out the wiki for more stuff.
I really do think implementing a different format for the game reading the music would make it ACTUALLY worth trying to play new songs and fiddle around with super crazy setups with circuits and creating bands and stuff. ABC is my pick because of the incredibly expansive knowledge on it and the fact its 20x better than the janky piece of shit we have running right now.
If anyone's ever thinking of reworking the instruments (Please do, they're really not that good) please keep ABC notation in mind.