|MIDI is a compact, notes-based file format widely used for keyboard instruments. It stores how to play the music - which MIDI keys are pressed, and their strength and duration. It is not an audio file format like WAV that stores the full sound of the notes actually being played. Currently, Audacity only has limited support for MIDI.
MIDI and Audacity
Stable (1.2.x) releases of Audacity can currently only import MIDI files to view them.
Beta (1.3.x) releases of Audacity are now slowly adding support for MIDI. As of October 2008, MIDI files can be imported, cut-and-paste edited, then exported as MIDI. However this feature is still buggy, and there is no MIDI playback. Conversion from MIDI to audio formats, and from audio formats to MIDI is not supported.
Audacity cannot record MIDI input, only audio input.
Converting from MIDI to audio formats
MIDI files can be converted to sampled audio formats such as WAV either by recording them as they play, or by rendering them directly to an audio format using a third-party application. Recording or rendering the MIDI file to an audio file is the only way you can edit MIDI in Audacity 1.2. It is also the only way you can burn MIDI to an audio CD. WAV is the recommended format to convert to, because it is lossless and won't significantly degrade if you edit it in Audacity. If necessary you can always export it after editing to a lossy, smaller-sized format like MP3.
On Windows or Linux, depending on your sound card, you can record the MIDI into Audacity in real time simply by playing it on your computer, for example on Windows Media Player. On OS X you need to use a third-party program recording application such as Soundflower. For more help, see our FAQ on recording streaming audio.
As an alternative, TiMidity++ will render the MIDI to an audio file like WAV in faster than real time. For those on Windows, there are some instructions on the Forum to download a Windows TiMidity++ binary, plus the necessary soundfont file. Don't forget to run the interface executable timw32g.exe to run TiMidity++, not timidity.exe which is only the command line tool. On other platforms, look for an appropriate source package to compile (or a port for your platform) on the TiMidity++ home page. Some of the MIDI programs listed at the bottom of this page may also be able to render a MIDI file to WAV, such as MU.LAB.
Converting from audio formats to MIDI
Converting in the other direction is a challenging research problem requiring software that can detect the pitch of the notes being played. At present, only single melodic lines can be converted with any degree of accuracy. We'd be very interested in helping a developer who has made progress with such software in helping it reach a wider audience through Audacity. Meantime, here are a few programs you could try:
- WavetoMidi (Cross-platform, Open Source)
- AudiotoMidi (Windows)
- Intelliscore Polyphonic (Windows)
- Digital Ear (Windows)
- AmazingMIDI (Windows) free
- WidiSoft (Windows, OS X)
- Other shareware programs
Free programs for working with MIDI
There are many excellent free programs for recording and/or editing MIDI files. Many will display the MIDI notes on a musical staff. Here are some recommendations:
- Musescore (Cross-platform, Open Source)
- Tuxguitar (Cross-platform, Open Source)
- Anvil Studio (Windows)
- MU.LAB (Windows and OS X)
- Melody Assistant (Windows and OS X) (free version is feature-limited)
- Rosegarden (Linux, Open Source)
- Anthem (Linux, Open Source, requires KDE)
- Other free Windows/Linux programs