2 The right approach for using MIDI on Linux depends on which version of
3 JACK you use. The world divides into:
6 <dt>Systems using JACK 1, versions 0.124 or later</dt>
7 <dd>On these systems, just start JACK with
8 the <code>-X alsa_midi</code> server argument. To support legacy control
9 applications, you can also use the -X seq argument to the ALSA
10 backend of JACK and get the exact same results.</dd>
12 <dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do
13 not use the -X seq or -X raw arguments—the timing and performance
14 of these options is not acceptable.
20 <dfn>a2jmidid</dfn> is an application that bridges between the system
21 <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
22 <abbr title="JACK Audio Connection Kit">JACK</abbr>.
25 First you should make sure that there is no ALSA sequencer support enabled
26 in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
29 Set <kbd class="menu">Settings > MIDI Driver</kbd> to <kbd
30 class="input">none</kbd>.
31 Then uncheck the <kbd class="optoff">Misc > Enable ALSA Sequencer
32 support</kbd> option.<br>
33 Now it's time to restart your jack server before going on.
36 <h3>Check for a2jmidid availability</h3>
38 First, check whether a2jmidid is already installed in your system. After
39 starting your JACK server, go to the command line and type
41 <kbd class="cmd lin">a2jmidid -e</kbd>
43 If a2jmidid does not exist, install it with the software manager of your
44 Linux distribution and try again.
48 <h2>Check available MIDI ports</h2>
50 If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
51 qjackctl under <kbd class="menu">Connections > MIDI </kbd>.
54 <h3>Making it automatic</h3>
56 Once you've verified that the ports appear in JACK as expected, you
57 can make this happen whenever you start JACK.
60 <p>If you use a newer version of JACK 1, just make sure the -X
61 alsa_midi or -X seq options are enabled for whatever technique you use
66 For other versions of JACK,
67 add <kbd class="input">a2jmidid -e &</kbd> as an "after start-up" script
68 in the <kbd class="menu">Setup > Options</kbd> tab of QJackCtl, so
69 that it is started automatically whenever you start JACK.