2014-06-28 08:33:27 -04:00
|
|
|
|
2017-03-14 23:57:34 -04:00
|
|
|
<p>
|
|
|
|
The right approach for using MIDI on Linux depends on which version of JACK
|
|
|
|
is in use. The world divides into:
|
|
|
|
</p>
|
2014-06-28 08:33:27 -04:00
|
|
|
|
2017-03-14 12:43:24 -04:00
|
|
|
<table class="dl">
|
2017-03-14 23:57:34 -04:00
|
|
|
<tr><th>Systems using JACK 1, versions 0.124 or later</th>
|
2017-10-10 13:09:11 -04:00
|
|
|
<td>On these systems, JACK must be started with the <code>-X alsa_midi</code>
|
2017-03-14 23:57:34 -04:00
|
|
|
server argument. To support legacy control applications, the <code>-X
|
|
|
|
seq</code> argument to the ALSA backend of JACK can also be used to get the
|
|
|
|
exact same results.</td></tr>
|
|
|
|
<tr><th>All others</th>
|
2017-10-10 13:09:11 -04:00
|
|
|
<td>Using a2jmidid acts as a bridge between ALSA MIDI and JACK. The <code>-X seq</code>
|
|
|
|
or <code>-X raw</code> arguments should <em>not</em> be used—the timing and
|
2017-03-14 23:57:34 -04:00
|
|
|
performance of these options is unacceptable.</td></tr>
|
2017-03-14 12:43:24 -04:00
|
|
|
</table>
|
2017-02-25 00:30:29 -05:00
|
|
|
|
2017-03-14 23:57:34 -04:00
|
|
|
<h2>Using a2jmidid</h2>
|
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
|
|
|
<dfn>a2jmidid</dfn> is an application that bridges between the system
|
|
|
|
<abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
|
2014-02-06 19:50:36 -05:00
|
|
|
<abbr title="JACK Audio Connection Kit">JACK</abbr>.
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2017-03-14 23:57:34 -04:00
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2017-03-14 23:57:34 -04:00
|
|
|
First it must be ensured that there is no ALSA sequencer support enabled in
|
2017-10-10 13:09:11 -04:00
|
|
|
JACK. To check that, one must open QJackCtl's <kbd class="menu">Setup</kbd> window
|
|
|
|
and set <kbd class="menu">Settings > MIDI Driver</kbd> to <kbd
|
|
|
|
class="input">none</kbd>, then uncheck the <kbd class="optoff">Misc >
|
|
|
|
Enable ALSA Sequencer support</kbd> option. The jack server must then be restarted
|
2017-03-14 23:57:34 -04:00
|
|
|
before going on.
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2013-01-29 19:26:36 -05:00
|
|
|
|
2017-10-10 13:09:11 -04:00
|
|
|
<h3>Checking for a2jmidid availability</h3>
|
2017-03-14 23:57:34 -04:00
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2017-10-10 13:09:11 -04:00
|
|
|
Next, it must be checked whether a2jmidid is already installed. This is done
|
|
|
|
by starting the JACK server, then going to the command line and typing:
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2017-03-14 23:57:34 -04:00
|
|
|
|
2014-02-04 10:42:20 -05:00
|
|
|
<kbd class="cmd lin">a2jmidid -e</kbd>
|
2017-03-14 23:57:34 -04:00
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2017-10-10 13:09:11 -04:00
|
|
|
If a2jmidid does not exist, it must be installed with the software manager of the
|
|
|
|
Linux distribution in use until this command responds.
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2013-01-29 19:26:36 -05:00
|
|
|
|
2017-10-10 13:09:11 -04:00
|
|
|
<h2>Checking available MIDI ports</h2>
|
2014-06-28 08:33:27 -04:00
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2017-03-14 23:57:34 -04:00
|
|
|
If JACK is correctly configured for MIDI, then the MIDI ports should appear
|
|
|
|
in qjackctl under <kbd class="menu">Connections > MIDI</kbd>.
|
2014-06-28 08:38:05 -04:00
|
|
|
</p>
|
|
|
|
|
2017-03-14 23:57:34 -04:00
|
|
|
<h3>Making it automatic</h3>
|
2014-06-28 08:38:05 -04:00
|
|
|
|
|
|
|
<p>
|
2017-03-14 23:57:34 -04:00
|
|
|
Once it has been verified that the ports appear in JACK as expected, this can
|
|
|
|
be made to happen whenever JACK is started:
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2017-02-13 14:53:37 -05:00
|
|
|
|
2017-03-14 23:57:34 -04:00
|
|
|
<ul>
|
2017-10-10 13:09:11 -04:00
|
|
|
<li>If a newer version of JACK 1 is in use, by just making sure the <code>-X
|
2017-03-14 23:57:34 -04:00
|
|
|
alsa_midi</code> or <code>-X seq</code> options are enabled for whatever
|
|
|
|
technique is being used to start JACK.</li>
|
2017-10-10 13:09:11 -04:00
|
|
|
<li>For other versions of JACK, by adding <code>a2jmidid -e &</code> as an
|
2017-03-14 23:57:34 -04:00
|
|
|
"after start-up" script in the <kbd class="menu">Setup > Options</kbd> tab
|
|
|
|
of QJackCtl, so that it is started automatically whenever JACK is
|
|
|
|
started.</li>
|
|
|
|
</ul>
|