How do I play a midi from the command line in Ubuntu?

I'd like to do something like

$ play filename.mid

and hear the midi file played without opening up a graphical program. Is there a package for Ubuntu that can do this?


There are many different packages/commands you can try:

  1. wildmidi (as used by gstreamer)
  2. timidity (found this very CPU intensive)
  3. playmidi (never tried personally)

You'll likely want the playmidi package (sudo apt-get install playmidi) which will allow you to play midi files from the command line.

playmidi filename.mid


fluidsynth from http://www.fluidsynth.org/.

Use it like this:
fluidsynth /some/dir/with/sundfonts/some_soundfont.sf2 some.mid

You can find soundfonts here: https://musescore.org/de/handbuch/soundfont

And quite a nice collection of MIDI files to try this out here: http://garyrog.50megs.com/midi1.html

I especially like the soundfont "Timbres of Heaven" from http://midkar.com/soundfonts/.


I know this thread is old, but I was looking for answers for a Raspberry Pi but didn't find any. After more work I came up with the following, it may work in Ubuntu too. The output is through a cheap USB to midi interface.

On Raspbian Jessie Lite with no extra installs:

pi@pizerow:~$ aconnect -l  
client 0: 'System' [type=kernel]  
0 'Timer           '  
1 'Announce        '  
client 14: 'Midi Through' [type=kernel]  
0 'Midi Through Port-0'  
client 20: 'CH345' [type=kernel]  
0 'CH345 MIDI 1    '  
pi@pizerow:~$ aplaymidi --port=20:0 myfile.mid  

If you have fluidsynth installed, you can also play Midi files with VLC by installing the vlc-plugin-fluidsynth package.