some updates to the section on setting up MIDI

This commit is contained in:
Paul Davis 2014-06-28 08:33:27 -04:00
parent 9ab3009544
commit cda977cf94
2 changed files with 46 additions and 26 deletions

View File

@ -21,17 +21,21 @@ title: Setting Up MIDI
<h2>MIDI Handling Frameworks</h2> <h2>MIDI Handling Frameworks</h2>
<p> <p>
Ardour supports various ways of sending and receiving MIDI data: MIDI input and output for Ardour are handled by the same "engine"
that handles audio input and output. Up to release 3.5, that means
that all MIDI I/O takes place via JACK. JACK itself uses the
native MIDI systems of the operating system to receive and send
data which are:
</p> </p>
<h3>CoreMIDI</h3> <h3>OS X : CoreMIDI</h3>
<p> <p>
<dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems. <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems.
It provides drivers for MIDI hardware and libraries needed by MIDI It provides drivers for MIDI hardware and libraries needed by MIDI
software clients. software clients.
</p> </p>
<h4>ALSA MIDI</h4> <h3>Linux : ALSA MIDI</h3>
<p> <p>
<dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn> <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
is the standard MIDI framework on Linux systems. It provides drivers is the standard MIDI framework on Linux systems. It provides drivers
@ -40,25 +44,17 @@ title: Setting Up MIDI
<p> <p>
The <dfn>QJackCtl</dfn> control software displays ALSA MIDI ports The <dfn>QJackCtl</dfn> control software displays ALSA MIDI ports
under its "ALSA" tab (it does not currently display CoreMIDI ports). under its "ALSA" tab (it does not currently display CoreMIDI ports).
By contrast, JACK MIDI ports show up under
the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
</p> </p>
<h4>JACK MIDI</h4> <h2>JACK MIDI Configuration</h2>
<p> <p>
<dfn><abbr title="JACK Audio Connection Kit">JACK</abbr> MIDI</dfn> By default, JACK will not automatically detect and use existing MIDI
is a framework used to comunicate between JACK MIDI software clients. ports on your system. You must choose one of several ways
It provides zero jitter and a fixed latency of one <dfn>period</dfn>, of <dfn>bridging</dfn> between the native MIDI frameworks
the same latency as for JACK audio. (e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
</p> below.
<p>
JACK MIDI ports show up under the <kbd class="menu">MIDI</kbd> tab in
QJackCtl.
</p>
<p>
There are several ways of <dfn>bridging</dfn> between the native MIDI frameworks
(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
below.
</p> </p>
{% children %} {% children %}

View File

@ -3,6 +3,22 @@ layout: default
title: MIDI on Linux title: MIDI on Linux
--- ---
The right approach for using MIDI on Linux depends on which version of
JACK you use. The world divides into:
<dl>
<dt>Systems using JACK 1, versions 0.124 or later</dt>
<dd>On these systems, just start JACK with
the <code>-X alsa_midi server</code> argument. To support legacy control
applications, you can also use the -X seq argument to the ALSA
backend of JACK and get the exact same results.</dd>
<dl>All others</dl>
<dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do
not use the -X seq or -X raw arguments - the timing and performance
of these options is not acceptable.
</dd>
</ul>
<h2>a2jmidid</h2> <h2>a2jmidid</h2>
<p> <p>
<dfn>a2jmidid</dfn> is an application that bridges between the system <dfn>a2jmidid</dfn> is an application that bridges between the system
@ -32,13 +48,21 @@ title: MIDI on Linux
Linux distribution and try again. Linux distribution and try again.
</p> </p>
<h3>Check surface control MIDI ports</h3>
<h2>Check MIDI ports</h2>
<p> <p>
After starting a2jmidid, your control surface MIDI ports should appear in If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
qjackctl under <kbd class="menu">Connections &gt; MIDI &gt; a2j</kbd>. qjackctl under <kbd class="menu">Connections &gt; MIDI &gt; a2j</kbd>.
</p> </p>
<h3>Making it automatic</h3>
<p> <p>
You can now add <kbd class="input">a2jmidid -e</kbd> as an "after start-up" script in the <kbd Once you've verified that the ports appear in JACK as expected, you
class="menu">Setup &gt; Options</kbd> tab of QJackCtl, so that it is can make this happen whenever you start JACK. If you use a newer
started automatically whenever you start JACK. version of JACK 1, just make sure the -X alsa_midi or -X seq options
are enabled. For other versions of JACK,
add <kbd class="input">a2jmidid -e</kbd> as an "after start-up" script
in the <kbd class="menu">Setup &gt; Options</kbd> tab of QJackCtl, so
that it is started automatically whenever you start JACK.
</p> </p>