manual/include/midi-on-linux.html

72 lines
2.3 KiB
HTML

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</code> server 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>
<dt>All others</dt>
<dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do
not use the -X seq or -X raw arguments&mdash;the timing and performance
of these options is not acceptable.
</dd>
</dl>
<h2>a2jmidid</h2>
<p>
<dfn>a2jmidid</dfn> is an application that bridges between the system
<abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
<abbr title="JACK Audio Connection Kit">JACK</abbr>.
</p>
<p>
First you should make sure that there is no ALSA sequencer support enabled
in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
</p>
<p>
Set <kbd class="menu">Settings &gt; MIDI Driver</kbd> to <kbd
class="input">none</kbd>.
Then uncheck the <kbd class="optoff">Misc &gt; Enable ALSA Sequencer
support</kbd> option.<br>
Now it's time to restart your jack server before going on.
</p>
<h3>Check for a2jmidid availability</h3>
<p>
First, check whether a2jmidid is already installed in your system. After
starting your JACK server, go to the command line and type
</p>
<kbd class="cmd lin">a2jmidid -e</kbd>
<p>
If a2jmidid does not exist, install it with the software manager of your
Linux distribution and try again.
</p>
<h2>Check available MIDI ports</h2>
<p>
If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
qjackctl under <kbd class="menu">Connections &gt; MIDI </kbd>.
</p>
<h3>Making it automatic</h3>
<p>
Once you've verified that the ports appear in JACK as expected, you
can make this happen whenever you start JACK.
</p>
<p>If you use a newer version of JACK 1, just make sure the -X
alsa_midi or -X seq options are enabled for whatever technique you use
to start JACK.
</p>
<p>
For other versions of JACK,
add <kbd class="input">a2jmidid -e &amp;</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>