MIDI is a way to describe musical performances and to control music hardware and software.

Ardour can import and record MIDI data, and perform a variety of editing operations on it. Furthermore, MIDI can be used to control various functions of Ardour.

MIDI Handling Frameworks

MIDI input and output for Ardour are handled internally by the same "engine" that handles audio input and output. However, Ardour can use as many MIDI devices as the system can see as there are no syncing difficulties as there would be with audio.

OS X CoreMIDI is the standard MIDI framework on OSX systems.
Linux ALSA MIDI is the standard MIDI framework on Linux systems.
Windows There is no single standard MIDI framework on Windows, but Ardour can work with ASIO and others.

On Linux systems, QJackCtl control software displays ALSA MIDI ports under its "ALSA" tab (it does not currently display CoreMIDI ports). By contrast, JACK MIDI ports show up under the MIDI tab in QJackCtl. However, when Ardour is using jackd for audio in and out the alsa MIDI ports are not accessable. When Ardour is using ALSA for audio in and out then only alsa MIDI ports are accessable.

JACK MIDI Configuration

By default, JACK will not automatically detect and use existing MIDI ports. One of several ways of bridging between the native MIDI frameworks (e.g. CoreMIDI or ALSA) and JACK MIDI must be chosen, as described in the following sections.