You've successfully subscribed to Castopod Blog
Great! Next, complete checkout for full access to Castopod Blog
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

How to use Control Surfaces with Ardour on Linux

Using audio hardware on Linux is easier than it seems… when you know where to begin! 😉

Benjamin Bellamy
Benjamin Bellamy

I am using a Korg nanoKONTROL Studio to control and mix audio recording with Ardour.

As usual with Linux, this is very easy… once you know how to do it!

First, you need to make two choices on how you wish to connect your controller:

Not all controllers are Mackie compatible so this is not a real choice. If your controller is compatible I highly recommend that you use Mackie mode as it is much easier (mapping is already correctly configured, LEDs will lit as you expect them to…).

On the other hand, using JACK or ALSA is entirely up to you and it probably depends on what you are doing.
Basically, if you are recording music and want the best sound quality and the lowest latency, you should probably use ALSA.
If you are recording a podcast and you need to record and broadcast at the same time, then you probably need JACK.

For the podcaster: Using JACK

  1. Configure JACK the way you usually do.
    You can have a look at this post: “How to record a Podcast with remote guests on Linux”.
  2. If you use QJackCtl, go to Setup, select seq for MIDI Driver:
    JACK-MIDI
    When you start JACK, it will launch JACK MIDI daemon for ALSA MIDI which will make the MIDI device available for JACK. If for any reason you ever want to launch it yourself, simply run (after JACK server is started):
    $ a2jmidid -e &
  3. Now run Ardour, connect it to JACK:
    JACK-connect
    Note: If you were not asked this when launching Ardour or if you need to change some parameter, you may do it later by going to menu Window > Audio/MIDI Setup.
  4. Then go to menu Edit > Preferences then Control Surfaces:
    Ardour-Preferences-Surface
  5. Enable the Mackie checkbox (or Generic MIDI if your Controller is not Mackie compatible) and click on Show protocol settings:
    Ardour-Preferences-Surface-Protocol
  6. Select the appropriate Device Type (usually Mackie Control will do it).
    Next select your controller for Surface sends via and Surface receives via. If you do not see your device in the list, try to refresh it by selecting another Device Type, switching back and forth.

In case of problem, check on JACK graph window that your controller is correctly connected to Ardour:
jack-graph

That's it, you are ready for podcasting!

For the musician: Using ALSA

When using ALSA, Ardour will take exclusive control of your sound card, providing better performance but forbidding sharing it with other applications.
If your devices were used by JACK, stop it first.

  1. Start Ardour. Select ALSA. Choose the soundcard you want to use. Select ALSA sequencer as MIDI System, then click Start:
    Ardour-ALSA
    Note: If you were not asked this when launching Ardour or if you need to change some parameter, you may do it later by going to menu Window > Audio/MIDI Setup.
  2. Then go to menu Edit > Preferences then Control Surfaces:
    Ardour-Preferences-Surface
  3. Enable the Mackie checkbox (or Generic MIDI if your Controller is not Mackie compatible) and click on Show protocol settings:
    Ardour-Preferences-Surface-Protocol-ALSA
  4. Select the appropriate Device Type (usually Mackie Control will do it).
    Next select your controller for Surface sends via and Surface receives via. If you do not see your device in the list, try to refresh it by selecting another Device Type, switching back and forth.

That's it, you are ready for recording music!

Ardour-Mixing


Troubleshooting

In case of a problem, do not panic! Ardour Manual is usually a good place to start.
If you hear notes playing everytime you move a slider on your controller, it probably means that one (or more) MIDI track is using your controller as a MIDI input. Simply check inputs for every MIDI track and make sure it is not connected to the controller:
Ardour-MIDI-track-input

Tips & Tricks

Benjamin Bellamy

Podcasts, e-commerce & open-source. Father of Castopod. CEO of Ad Aures.