Dear Starbound Devs! I love the fact that there is a music system like this in this game, and seeing how many instruments you implemented, it also seems to be an important point to you. However, I personally find the abc notation quite bad, and while many won't agree with me, I am sure some share this opinion. I understand that this won't be a priority in development, especially not during the busy beta, but I'd like you to consider adding support for MML notation, which is technically superior to abc in many ways. MML notation is easier and faster to write and the conversion to and from midi is much smoother and suffers from less losses(usually none) than the conversion to abc. It's been pointed out to me, that the fault lies mostly with the programs available for ABC and also how the midi synth currently works in Starbound. While this may be true, it doesn't change the fact that MML is still easier to use and better suited for a game than ABC. ABC is larger and more complex than MML but it in turn has more things than midi actually needs. Allow me to explain, to the layman, what ABC and MML are and what they do. Unlike us humans(Apex, Hylotl etc...), both Computers and Glitch, are unable to easily read and understand sheet music. We write music with dots on 5 lines and decorate them with fancy accessories because some guy a long time ago decided that's how it's going to work. Personally, I think it's a bit crap, and it's the reason why some people just don't get into playing an instrument, but nothing we can do about that, really. Now to allow computers to read music, groups of people came up with a bunch of different ideas how we can translate our sheet music into something a computer would understand. Thus they created "languages" using letters and symbols in ASCII. (Don't quote me on this, I may just be making this up) Anyway, there is that MIDI thing, Musical Instrument Digital Interface, a thing from the 1970's, which gave our earliest games actual music. Great! MIDI are basically digital instruments synthesized by the computer, with a file telling them which notes to play and when and how. Basically .mid or .midi files. But MIDI can also play based on instructions from notations like ABC and MML. So what does this have to do with Starbound? The Devs of Starbound went through the trouble of building some kind of MIDI synthesizer into their game engine and put ~25 or so instruments into the game. Then for some reason they decided to let .abc files with the ABC notation control the whole thing. It was a likely choice, ABC is a common western notation standard, also used in the popular(?, citation needed) MMO "Lord of the Rings Online", whereas MML originated in Japan and is more widely used there, for example in the MMO "Mabinogi". Why change? Or why add MML if we already have ABC? Sure, ABC has some advantages, it has a standard, it has a format that can be put into a file and read out easily by the engine. It's more known and widespread in the western world, but aside from LotRO, it's pretty dead. And while ABC may seem neat at first, its original purpose is not what Starbound is using it for. ABC Notation is generally just that, it's a form of Sheet Music you can quickly write on your computer(or even calculator), it was not designed to instruct MIDI. Music Macro Language on the other hand was made just for that. Instructing machines to play music. It's formless and can be displayed as a single string, it can change tempo, note duration and volume at any moment. It's easy to learn and write, and MIDI files can convert directly into MML and vice versa. Here is a great example of the advantages of MML over ABC: I took a midi file from VGMusic.com, Bolero of Fire from Legend of Zelda:OoT You can grab it for comparison here: http://www.vgmusic.com/music/console/nintendo/n64/OoTBoF.mid The MIDI has 8 Tracks. In the following I will demonstrate converting that midi to both MML and ABC with the currently best tools provided, and upload the resulting midi files from both "experiments". In order to convert the MIDI to MML, I use the 3ML Editor 2, it's a free and extremely powerful tool for midi<->MML conversion. It allows you to export the generated MML notation in 3 differently formatted plain texts straight to your clipboard. I added a few line breaks and here is what I got: Code: t122r1r1r1r1r1r1t122r8t120t120r8t118r8t117t116r8t116r8t115t113r8t113r8t112t110r8t109r8t108t107r8t106r8t105t104r8t104r8t103t102r8t101r8t100t98r8t97r8t96t96r8t94r8t93t93r8t91r8t90t89r8t89r8t88t87 46v1150091219322v11f8d8f8d8a8f8a8f2&f8r1r2g8e8g8e8a+8g8a+8g2&g8a8f8a8f8>d8<a8>d8<a8>f8d8f8d8a8e8a8e8g8c+8g8c+8f8<a8f8e8d8f+8>d8>d8a8 79v1270091219322r1r2v11>f8d8f8d8a8f8a8f8r2g8e8g8e8a+8g8a+8g8 0v970091239321v11f8d8f8d8a8f8a8f2&f8r1r2g8e8g8e8a+8g8a+8g2&g8a8f8a8f8>d8<a8>d8<a8>f8d8f8d8a8e8a8e8g8c+8g8c+8f8<a8f8e8d8f+8>d8>d8a8 48v100101050091649362r1r1r1v11<g8e8g8e8a+8g8a+8g8r2a8f8a8f8>d8<a8>d8<a8>f8d8f8d8a8e8a8e8g8c+8g8c+8f8<a8f8e8a1&a2v9v8v7v6v5v4v3v2v1v0 48v11010210091669363r1r1r1r1r1r2v54v11>f8v58v59v60d8v65v66v67f8v72v73v74d8v78v79v80v81c+8v85v86v87v88e8v92v93v94v95c+8v99v100v101e8v106v107v108<a+8c+8a+8c+8a8a8f8e8<d1&d2v9v8v7v6v5v4v3v2v1v0 45v69101050091619361v11o2d4r4>d4r4<a4r4d4r4>d4r4<a4r4g4r4>e4r4<a+4r4d4r4>d4r4<a4r4g4r4>e4r4<a+4 32v97101050091199320v11o1d4r4>>a4r4<a4r4<d4r4>>a4r4<a4r4<g4r4>>e4r4<a+4r4<d4r4>>a4r4<a4r4<g4r4>>e4r4<a+4 Each line corresponds to one of the 8 tracks from the midi. The output midi file can be heard here: https://www.dropbox.com/s/y9831ar9lq45ovr/OoTBoFMML.mid Let's move on to ABC. Now, using Maestro, the Midi2ABC tool made for LotRO, you can also load midi files and export an ABC file. When loading the freshly created ABC file we see that the notation has merged the 8 tracks into one. Which in itself is not a big problem, MIDI synthesizers can handle that. Unfortunately maestro does not export MIDI files from abc notations, therefore there will be no sample of how it sounds, but you can all try it out for yourselves. If you want to take my word for it, let's say some notes are off-key and the score now has some odd pauses caused by notes not being of the proper length. The ABC notation we get looks like this: Code: X: 1 T: OoTBoF (0:17) - Lute %%part-name Lute M: 4/4 Q: 122 K: C maj +ff+ [D,-F,-f] [D,F,-d] [D,/-F,/f/-] [D,/4f/4-] +mp+ [D,/4-f/4] +ff+ [D,/4d/4-] +mp+ [D,3/4d3/4] +ff+ [D,-D-A-a] [D,D-A-f] [D,/-D/A/a/-] [D,/4a/4-] +mp+ [D,/4-a/4] +ff+ [D,/4f/4-] +mp+ [D,3/4f3/4-] | [D,2A,2-F2-f2-] [D,/-A,/F/f/-] [D,3/2f3/2] +fff+ [D,-F,-f] [D,F,-d] [D,/-F,/f/-] [D,/4f/4] +mp+ D,/4- +fff+ [D,/4d/4-] +mp+ [D,3/4d3/4] | +fff+ [D,-D-A-a] [D,3/4-D3/4-A3/4-f3/4] [D,/4D/4-A/4-] [D,/-D/A/a/-] [D,/4a/4-] +mp+ [D,/4-a/4] +fff+ [D,/4f/4-] +mp+ [D,3/4f3/4-] [D,/-A,/-F/-f/] [D,/4A,/4-F/4-] [D,/A,/-F/-] [D,3/4A,3/4-F3/4-] [D,/-A,/F/] D,/4 D,/ D,3/4 | +ff+ [D,-E,-G,-Gg] [D,E,-G,-Ee] [D,/-E,/G,/G/-g/-] [D,/4G/4-g/4-] +mp+ [D,/4-G/4g/4] +ff+ [D,/4E/4-e/4-] +mp+ [D,3/4E3/4e3/4] +ff+ [D,-E-^A-^a] [D,E-GAg] [D,/-E/A/-a/-] [D,/4A/4-a/4-] +mp+ [D,/4-A/4a/4] +fff+ [D,/4G/4-g/4-] +mp+ [D,3/4G3/4g3/4-] | [D,2^A,2-G2-g2-] [D,/-A,/G/g/-] [D,3/2g3/2] +ff+ [D,-F,-Aa] [D,F,-Ff] [D,/-F,/A/-a/-] [D,/4A/4-a/4-] +mp+ [D,/4-A/4a/4] +ff+ [D,/4F/4-f/4-] +mp+ [D,3/4F3/4f3/4] | +ff+ [D,-D-Ad] [D,D-A-a] [D,/-D/A/d/-] [D,/4d/4-] +mp+ [D,/4-d/4] +ff+ [D,/4A/4-a/4-] +mp+ [D,3/4A3/4a3/4] +ff+ [D,3/4A,3/4-F3/4-f3/4-a3/4-] +mp+ [D,/4-A,/4-F/4-f/4a/4] +ff+ [D,/4A,/4-F/4-d/4-f/4-] +mp+ [D,3/4A,3/4-F3/4-d3/4f3/4] +ff+ [D,/-A,/F/f/-a/-] [D,/4f/4-a/4-] +mp+ [D,/4-f/4a/4] +ff+ [D,/4d/4-f/4-] +mp+ [D,3/4d3/4f3/4] | +ff+ [D,-E,-G,-^ca] [D,E,-G,-ea] [D,/-E,/G,/c/-a/-] [D,/4c/4-a/4-] +mp+ [D,/4-c/4a/4] +ff+ [D,/4e/4-a/4-] [e/4-a/4-] +mp+ [D,/e/a/] +ff+ [D,-E-^A-g^a] [D,/4-E/4-A/4-] [D,E-A-ce] [D,/-E/A/g/-a/-] [D,/4g/4-a/4-] +mp+ [D,/4-g/4a/4] +ff+ [D,/c/-e/-] +mp+ [D,/4-c/4-e/4-] | [D,/4^c/4e/4] z/4 +ff+ [D,-^A,-G-fa] [D,A,GAda] [D,5/4-F5/4A5/4f5/4] [D,-E-G-e] [D,/4D/4E/4^F/4-G/4A/4-] [D,/-D/-F/-A/d/-] [D,/-D/-F/-A/-d/] [D,3/4-D3/4-F3/4-A3/4-d3/4-] [D,/D/-F/-A/-d/-^f/] [D/-F/-A/-d/-a/] [D/4-F/4-A/4-d/4] | [D/-^F/-A/-d/-] [D/-F/-A/-d/a/] [D3/4-F3/4-A3/4-d3/4-] [D/-F/-A/-d/-^f/] [D3/4-F3/4-A3/4-d3/4a3/4] [D/-F/-A/-d/-] [z9/2D9/2-F9/2-A9/2-d9/2-] | [z8D17/4^F4A4d17/4] |] When you try to play the abc file ingame however, the synthesizer just craps itself and completely discards tempo and note lengths altogether. Not sure why, maybe because ABC is information-sensitive, maybe the way LotRO reads ABC files is different from the way Starbound does it, point is, it doesn't work. Another tool we can use is EasyABC... Or as I like to call it... the Butcher: https://www.dropbox.com/s/3d5pmpx9lxs2q1x/OoTBoFABC.mid The way it interprets the ABC notation is also vastly different from Maestro. Code: X:1 T:Ootbof M:3/4 L:1/8 K:Dm [FFF,,D,,F,,,D,,,D,,][DD] [F/F/D,,/]D,,/[DD]D,,/ [AAA,D,D,A,D,,][FF] | [A/A/D,,/]D,,/[F/F/]D,,/ [F,2A,,2F,2A,,2D,,2] D,,2 | [fF,,D,,F,,,D,,,D,,]d [f/D,,/]D,,/dD,,/ [aA,D,D,A,D,,]f | [a/D,,/]D,,/f/D,,/ [F,/A,,/F,/A,,/D,,/](3D,,D,,D,,D,,/D,,/ | [GgGG,E,,G,,E,,,G,,,D,,][EeEE,] [G/g/G/G,/D,,/]D,,/[EeEE,]D,,/ [BbBB,B,E,B,E,D,,][GgGG,] | [B/b/B/B,/D,,/]D,,/[G/g/G/G,/]D,,/ [G,2B,,2G,2B,,2D,,2] D,,2 | [AAA,F,,D,,F,,,D,,,D,,][FFF,] [A/A/A,/D,,/]D,,/[FFF,]D,,/ [ddDA,D,D,A,D,,][AAA,] | [d/d/D/D,,/]D,,/[AAA,]D,,/ [f/f/F/A/f/F,/A,,/F,/A,,/D,,/]D,,/[ddDFd]D,,/ [f/f/F/A/f/D,,/]D,,/[ddDFd]D,,/ | [aaAa^cE,,G,,E,,,G,,,D,,][eeEAe] [a/a/A/a/c/D,,/]D,,/[eeEAe]D,,/ [ggGgBB,E,B,E,D,,][ccCcEC] | [g/g/G/g/B/D,,/]D,,/[^ccCcEC]D,,/ [ffFfAG,B,,G,B,,D,,][AAA,DA] [FFF,A,FD,,][EEE,G,E] [^F,0A,0A,0F,0D,0] | [DDDD,DD,,][A,/A,/][D/D/][^F/F/] [A/A/A/][d/d/][a/a/][d'/d'/] [f'/f'/][a'/a'/][d''/d''/] | As you see it cannot handle the amount of tracks at all and just outputs a mess. What do we learn from that? Starbound seems to use some kind of MIDI for the instruments you can play in it, ABC is not designed to instruct MIDI devices, MML is. MML is basically always the same, and it needs no formatting, ABC on the other hand seems to be extremely sensitive to it. MML is much easier to use in this case, and I think more people could get into making music in Starbound with that language. To sum it up: MML is more efficient and easier to learn than ABC. ABC was invented by a guy who couldn't write regular notation so he decided to write music with letters instead. MML was invented to specifically instruct MIDI. (Which is the instruments you hear in-game) MML does not require German-language keyboard users to break their fingers. ABC does. ABC Standard v2.1 requires a 14 chapter manual. (or this list of syntax alternatively) MML can be learned with just a single table. You can convert all your MIDI files with ease and no losses or compromises into MML. Still not convinced? What's wrong with you? But fine! Here have a WONDERFUL presentation of how MML-MIDI implementation works in a game released 2004. Find more here: and Big thanks to @Rydian for uploading these. If you like this idea, then actually "LIKE" this post and spread the word, tweet at the devs and make it known that you would like to have MML notation support in Starbound. We're still in the beta, and we, the beta testers, can still help shape the game to exceed its potential. Since MML notation can be written in a single line, it would be an option to simply paste the notation into a prompt in-game, without the need of adding files into the game folder. Here's a simple mock up of what a part of it could look like: (Btw, I'm not saying remove the abc notation from the game, I'm just saying: why not have both and use the one you like?) EDIT: I'd also like to point out, especially to my German friends reading this, and anyone using a German language keyboard layout, that actually typing ABC notation is the biggest pain on those keyboards. The most used symbols in abc notation are brackets ], [, and slash /, and while regular qwerty keyboards have the brackets nice and easy next to the enter key, and the slash directly next to the right shift key, German layouts need the most awkward combination of holding the AltGr modifier and pressing 8 and 9 for the brackets and Shift+7 for the slash. If you don't have a Germany layout, good for you, but now just try pressing these combinations 100 times and see how that feels. Sure, you can switch to a different layout for songwriting, but what kind of BS is that?