MIDI software rhapsody


So… MIDIs… what are they?

That's not a question, that will be answered in this devlog. Instead, let's talk about how all music editing software in existence sucks, because apparently it's not enough that there already exists a Youtube channel out there dedicated to pointing out flaws in interface design.

First of all, which software will we cover? Oh it's only

  • MuseScore
  • LMMS
  • Audacity
  • Fluidsynth
  • Timidity

That looks like a lot! But why those exactly? Well, it's because some of them might actually manage to get your job done. But wait, we don't just want normal audio files, we want MIDIs, because you gotta have MIDI trumpets in your Touhou game. (I honestly have a fondness for MIDI trumpets though, which was sparked in part thanks to Touhou.)

The first thing, that you will learn when dealing with MIDI is that no music software actually handles MIDI – it simply imports from and exports to MIDI. This is an important difference, because even though as far as the music itself is concerned, MIDI is de facto lossless, it doesn't typically contain all the other metadata, that your software might want. Think of the vast array of MuseScore style options that simply don't matter for how the note is played.

When opening MIDIs, saving them and reopening, fun things can happen. MuseScore for instance will forget which instruments were used and instead default to whatever it thinks sounds the most reasonable. So you wanted an F Tuba? Well, now it's just a Tuba, but don't worry, we've labeled it "F Tuba, Tuba", because that's helpful. Rinse and repeat until you get "F Tuba, Tuba, Tuba, Tuba, Tuba…" LMMS is no better. As far as it's concerned, the only instrument that can play MIDIs is the piano. Multi-track MIDIs? What are those? And while Audacity has the nicest-looking piano roll of all of them, I dare you to copypaste some notes between different sections.

Now let's say you've composed a MIDI track and you want to play it. You will need a MIDI sequencer once again. And chances are, that your MIDIs will sound differently from before. Now this is actually a strong suite of MIDI of some sorts. After all, a composer should not be able to dictate what a given piece should sound like, there are lots of room for interpretation. However, it does irk me when the synthesizer of my choice produces output, that is completely different to what I had before or – God forbid – MuseScore decided once again that your strings section is actually a piano. I noticed this problem more so with Timidity than Fluidsynth, but it's not like Fluidsynth is immune to it. Since MuseScore falls back to its own soundfont without telling you (and it would also appear a different synthesizer) things can still sound very different in Fluidsynth, so as a composer you're always forced to consider other configurations, even if those happen to be your own.

The final nail in the coffin for Timidity from my point of view was that despite all of its many command line options it apparently lacks a way to specify a soundfont without a configuration file. That does not jill well with the handcrafted Makefile [1] approach to building all the other formats that I wanted. Though technically, using Timidity would be the superior choice in some regard, as it natively handles FLAC and Vorbis and it seems even Speex.

Anyway, after some while I settled for MuseScore for editing and Fluidsynth for listening and synchronizing somehow between the two. I still don't like how software like MuseScore wants to dictate where to save all my stuff. I get, that this might be preferable to the imagined userbase, who doesn't know how to computer, but I know my filesystem and I know where I want to put things and I don't want to put my Touhou MIDIs next to – oh, I don't know – MuseScore plugins, I want them next to the game I'm working on. Sheesh, XDG directories exist for a reason and MuseScore knows that they exist, because they put stuff there.

Oh yeah, and because I haven't yet ranted enough about Fluidsynth: Why is the default volume like 20%? And why do I have to add silence to the end of my MIDIs to prevent them from being cut off?

[1] Long-time followers of my content will notice, that I use handcrafted Makefiles literally everywhere to for various tasks. I just can't help it. For all of its many flaws – and yes, I won't deny that make is severely flawed in many aspects – it is somehow one of my favourite languages, second only to flavours of Lisp. I have looked at various lispy build systems, but so far none of them have convinced me to use them over make.

Files

Marisa stole Alice's First MIDIs 18 kB
Jun 12, 2021
Marisa stole Alice's First FLAC 95 MB
Jun 12, 2021
Marisa stole Alice's First Vorbis 16 MB
Jun 12, 2021

Get Marisa stole Alice's First

Leave a comment

Log in with itch.io to leave a comment.