When attempting to open a MIDI file in most Unix-like operating system (such as most Linux distributions and MacOS), you will learn there is no native support for playing MIDI files. So, what do you do? Say hello to TiMidity++ – an open-source software synthesizer.
Unlike Windows, MacOS and many Linux distributions can’t natively play MIDI files using their built-in media programs (like QuickTime or iTunes.) Thus, you need to install a third-party software synthesizer in order to open MIDI files.
(I feel that I should note that while in MacOS you can open MIDI files natively in Garage Band, it doesn’t work very well. My experience with Garage Band has been horrible.)
When I setup the Mint Tin, I found out about this and immediately went online to find a solution. TiMidity++ is one of the more popular open-source software synthesizers (“softsynths”) you can install in MacOS or Linux Mint. (You can also install TiMidity++ in Windows.)
TiMidity++ was originally written by Tuukka Toivonen in Finland in 1995. However, starting in 1999, a group of volunteers led by Masanao Izumo has maintained and updated the software.
TiMidity++ is far from perfect and has some major drawbacks, especially without any mods installed.
The first is just how difficult TiMidity can be to get up and running. For non-power users, typing all the commands into Terminal windows and configuring a SoundFont may be a little difficult. But with some guidance from online sources, it can be done. (You can also argue that this comes with the territory; Linux distributions are less refined and more technically-involved than their MacOS and Windows counterparts.)
TiMidity’s default user interface is a command line interface which requires you to remember commands and manually type things in, like a piece of software for MS-DOS. Most other softsynths, particularly those for MacOS and Windows, have graphical user interfaces. With the default interface, there is no way to stop or pause a playing MIDI file without quitting the Terminal window. However, TiMidity++ allows you to install a mod interface, which allows you to use TiMidity++ with a GUI.
TiMidity++ also doesn’t come with any SoundFonts or sample banks. Thus, you will need to download and install them before you can use TiMidity. Freepats is the recommended sample bank since it is free, although it is missing some instruments. (In operation, TiMidity++ will just ignore those instruments. Therefore, some songs may sound strange when played using TiMidity.)
Despite a long list of drawbacks, TiMidity offers some features that can come in handy.
- Automatically output a WAV file of a MIDI
- Display song lyrics that may be embedded within the MIDI file
- Easy to install modification and change SoundFonts; more customizable
- TiMidity++ is one of only a few softsynths available for use with Unix-like operating systems like Linux Mint and MacOS
- Best of all… it’s free!
When comparing the performance of TiMidity++ to a standardized softsynth – such as Windows Media Player – you’d think that TiMidity++ would loose every time. And while in many cases that would be correct, there are some songs where TiMidity++ (and Freepats) excels over its Windows counterpart.
I think a large drawback to TiMidity++ performance is a huge problem with TiMidity++ itself – no de facto SoundFont or sample bank. Freepats doesn’t include many of the samples which a lot of songs use – making the song sound strange.
But, as previously mentioned, there are some songs on which TiMidity++ and the recommended Freepats sample bank absolutely kills Windows Media Player and the de facto sample bank included with Windows. For instance, the below MIDI rendering of Every Breath You Take by The Police.
Below is a rendering of the T42 playing the William Tell Overture via Windows Media Player versus the Mint Tin playing the William Tell Overture in TiMidity++ using Freepats.
The rendering of the William Tell Overture using Windows and the IBM ThinkPad T42.
The rendering of the William Tell Overture using TiMidity++ using standard FreePats samples.
Unlike other standardized softsynths such as Windows Media Player, TiMidity++ displays lyrics, comments, author information, and other things embedded inside the MIDI file – as well as many of the instruments. Nothing really stays hidden with TiMidity++!
Overall, TiMidity++ works. It gives those running Mac OS and Linux the software to render MIDI and MOD files. While it isn’t perfect, it works good for simple MIDI files which FreePats have the samples for. In a standard configuration, TiMidity++ is operated from a terminal console, but mods exist to make it easier to control.
If you’re looking for a MIDI player for Mac OS or Linux-based operating system, TiMidity++ is worth a shot.