by Lorenzo Prince
Latest version is 1.5 released 2 January 2004

Today's date is Tuesday 28 March 2017
The current time is 4:13:52 UTC

Navigation links

Version history

SourceForge project page


Midi2ogg is Free Software released under the terms of the GPL. A copy of the GPL has been included in the source tarball. Midi2ogg is a Unix Shell script that converts midi and mod files that are playable by TiMidity++ into Ogg Vorbis files with a very simple command-line syntax. The Midi2ogg command syntax looks like:

$ midi2ogg <midifile> <oggfile> <quality>

where <midifile> is a midi or mod file that is playable by TiMidity++, <oggfile> is the Ogg Vorbis audio file to be created and <quality> is the Vorbis quality which is passed directly to Oggenc.

Other options available are:

-h|--help Print usage information and exit
-v|--version Print the current version of Midi2ogg
-H|--history Print Midi2ogg version history (changelog)

Why Midi2ogg?

If you have TiMidity++ already on your system and you have taken the time to look at all the output options, you have probably seen the -Ov option and are wondering why in the world you need a script to output a midi or mod file to Ogg Vorbis. Well, the answer is pretty simple. For some reason, -Ov simply doesn't work. I have tried it with a precompiled Red Hat RPM and with a home-built compilation, and the program segfaults and creates a corrupt Ogg file. Another reason is that the -Ov option in TiMidity++ has no method for specifying the quality of the resulting Vorbis file. This script will allow you to create valid Ogg Vorbis files at the quality you specify that will actually play.

Software Requirements

Midi2ogg requires the following software:
* BASH or another Unix shell, (BASH is highly recommended because I like it ;) )
+ BASH should already be on your system if you are using GNU/Linux. If not, you can get it from your favourite GNU mirror.
+ If you are using another shell, any Unix shell should work. Midi2ogg has been successfully tested under BASH, TCSH, PDKSH and ZSH.
+ Please submit a bug report if the script refuses to run on your shell of choice.
* oggenc, which is a part of the vorbis-tools package
+ As far as I know, vorbis-tools is on every GNU/Linux system. If not, you can find several different packaging formats at the vorbis.com download area
+ If you are using another Unix that doesn't have vorbis support, go to the vorbis.com download area and download the vorbis-tools package from there, along with the ogg, vorbis, flac and speex packages, which are required by vorbis-tools.
* TiMidity++ midi/mod player
+ Most GNU/Linux systems should have this, but some don't.
+ TiMidity++ can be found here.
+ As far as I know, TiMidity++ should run on any Unix. If not, please send a bug report against the documentation. ;--)
+ The EAW patches are also highly recommended for TiMidity++ to get the best sounding audio. Get these patches in a single .zip file here. TiMidity++ can be configured to play using this zip file as a drop-in in the directory where your instruments are located. See the TiMidity++ docs for more info on how to do This.


Simply copy the file called midi2ogg to a place in your path and give it execute permission. There is no build system for this program, as it is a simple shell script.

Reporting Bugs

You may submit a bug report, feature request or patch in one of three ways:
* Send mail to the author at lorenzo1@users.sourceforge.net
* use the contact form provided at this site
* Submit your bug reports, feature requests and patches via the system provided at sourceforge.net

Hosted by sourceforge.net

Copyright 2004 by Lorenzo Prince