--- layout: default title: Setting Up MIDI ---
MIDI is a way of both describing musical data and controlling musical hardware\software. MIDI doesn't actually create any audio but rather describes the audio in order to control hardware/software. Ardour can import MIDI data, record MIDI data and allow MIDI data to be edited in a variety of ways. Also, MIDI can be used to control various things withing Ardour. This allows for the most flexible work flow with regards to MIDI. What Ardour doesn't have is any built in synthesis to turn the MIDI data into audio. Rather, this is handled through the use of plug-ins and external hardware/software. While this makes MIDI a powerful tool it can also be a stumbling block for first time users who expect MIDI input to result in audio output by default. Please see the section on working with plug-ins for more information on turning MIDI data into audio output with Ardour.
Below is a list of various MIDI Frameworks for getting MIDI data into and out of Ardour in order to work with MIDI aware software/hardware.
CoreMIDI is the standard MIDI framework to comunicate with MIDI hardware on OSX systems. It provides drivers and libraries needed by MIDI clients. These ports do not show up in qjackctl
ALSA MIDI is the standard MIDI framework to comunicate with MIDI hardware on Linux systems. It provides drivers and libraries needed by MIDI clients. These ports show up under the "ALSA" tab in qjackctl
JACK MIDI is a framework used to comunicate between JACK MIDI software clients. It provides zero jitter and a fixed latency of 1 "period" (the same latency that exists for audio). These ports show up under the "MIDI" tab in qjackctl.
Various ways of "bridging" between the native MIDI framework (e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections below.
{% children %}