2013-01-29 19:26:36 -05:00
|
|
|
---
|
|
|
|
layout: default
|
|
|
|
title: MIDI on Linux
|
|
|
|
---
|
2014-06-28 08:33:27 -04:00
|
|
|
|
|
|
|
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
|
2014-06-28 08:44:18 -04:00
|
|
|
the <code>-X alsa_midi</code> server argument. To support legacy control
|
2014-06-28 08:33:27 -04:00
|
|
|
applications, you can also use the -X seq argument to the ALSA
|
|
|
|
backend of JACK and get the exact same results.</dd>
|
2014-06-28 08:35:28 -04:00
|
|
|
<dt>All others</dt>
|
2014-06-28 08:33:27 -04:00
|
|
|
<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>
|
2014-06-28 08:35:28 -04:00
|
|
|
</dl>
|
2014-02-03 19:33:51 -05:00
|
|
|
|
|
|
|
<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
|
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>
|
|
|
|
<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>
|
2014-02-06 19:50:36 -05:00
|
|
|
Set <kbd class="menu">Settings > MIDI Driver</kbd> to <kbd
|
2014-02-03 19:33:51 -05:00
|
|
|
class="input">none</kbd>.
|
|
|
|
Then uncheck the <kbd class="optoff">Misc > Enable ALSA Sequencer
|
|
|
|
support</kbd> option.<br />
|
|
|
|
Now it's time to restart your jack server before going on.
|
|
|
|
</p>
|
2013-01-29 19:26:36 -05:00
|
|
|
|
2014-02-03 19:33:51 -05:00
|
|
|
<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>
|
2014-02-04 10:42:20 -05:00
|
|
|
<kbd class="cmd lin">a2jmidid -e</kbd>
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
|
|
|
If a2jmidid does not exist, install it with the software manager of your
|
|
|
|
Linux distribution and try again.
|
|
|
|
</p>
|
2013-01-29 19:26:36 -05:00
|
|
|
|
2014-06-28 08:33:27 -04:00
|
|
|
|
2014-08-23 13:11:38 -04:00
|
|
|
<h2>Check available MIDI ports</h2>
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2014-06-28 08:33:27 -04:00
|
|
|
If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
|
2014-06-28 08:38:05 -04:00
|
|
|
qjackctl under <kbd class="menu">Connections > MIDI </kbd>.
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|
2014-06-28 08:33:27 -04:00
|
|
|
|
|
|
|
<h3>Making it automatic</h3>
|
2014-02-03 19:33:51 -05:00
|
|
|
<p>
|
2014-06-28 08:33:27 -04:00
|
|
|
Once you've verified that the ports appear in JACK as expected, you
|
2014-06-28 08:38:05 -04:00
|
|
|
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,
|
2015-02-14 17:32:23 -05:00
|
|
|
add <kbd class="input">a2jmidid -e &</kbd> as an "after start-up" script
|
2014-06-28 08:33:27 -04:00
|
|
|
in the <kbd class="menu">Setup > Options</kbd> tab of QJackCtl, so
|
|
|
|
that it is started automatically whenever you start JACK.
|
2014-02-03 19:33:51 -05:00
|
|
|
</p>
|