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! 😉
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:
- Use standard MIDI protocol or Mackie Control Devices.
- Use either Jack Audio Connection Kit or Advanced Linux Sound Architecture (ALSA).
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
- 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”. - If you use QJackCtl, go to
Setup
, selectseq
for MIDI Driver:
When you start JACK, it will launchJACK 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 &
- Now run Ardour, connect it to JACK:
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. - Then go to menu Edit > Preferences then Control Surfaces:
- Enable the Mackie checkbox (or Generic MIDI if your Controller is not Mackie compatible) and click on Show protocol settings:
- 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:
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.
- Start Ardour. Select ALSA. Choose the soundcard you want to use. Select ALSA sequencer as MIDI System, then click Start:
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. - Then go to menu Edit > Preferences then Control Surfaces:
- Enable the Mackie checkbox (or Generic MIDI if your Controller is not Mackie compatible) and click on Show protocol settings:
- 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!
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: