Introduction to JACK Audio Connection Kit

Those lovers of music and FOSS they can't stop knowing JACK, the low latency audio server.

This article is based on the translation I made of pages 37 and 38 of the AvLinux user manual. If you want to work with Audio in Linux, it is highly recommended that you read this PDF and the Ardor or Qtractor manual.

Using JACK

The easiest way to configure the Audio JACK server is to use the JACK Control application (known as Qjackctl). This can be easily launched from LXPanel or the Wbar Dock. To configure your sound card click on the 'Setup' button.

In the example below the system has an integrated Intel HDA card that has been selected from the 'Interface' drop down menu. Generally, if your audio interface is on this list it is because it is supported by ALSA and JACK. To use a firewire interface you will have to select 'firewire' instead of 'alsa' in the 'Driver' drop-down menu. It is very important to make sure that 'Real Time' is selected in the 'Parameters' field. Another number to check in the setup is the 'Periods / buffer' field.

If you are experiencing 'Xruns' or audio cuts you need to increase this number until they disappear. If you are recording directly to a recording track, low latency numbers are not terribly necessary, but if you are recording through a plugin or other audio application routed to the recording track then you do need low latencies. To use JACK with synthesizers and MIDI plug-ins, it is recommended to increase the 'Time Limit (msec)' value to 3000 milliseconds (or more) for better stability.

Making the connections

Most applications, once started and running under JACK, will manage their connections from the program you are using, although sometimes it is necessary to use the 'Connect' function in JACK Control to connect applications or even hardware such as MIDI keyboards. In the following example we connect the MIDI outputs of the virtual keyboard 'VMPK' to control the sound bank of the Qsynth synthesizer. The 'Connections' window has three tabs. The 'Audio' tab shows the audio connections made from the microphone or line inputs of the card to the application you are using and from the application to the current outputs of the sound card. The 'MIDI' tab is for making hardware and software connections that use 'JACK MIDI' and the ALSA tab does the same for applications that use 'ALSA MIDI'.

For those more graphically oriented there are also two alternative patchbay utilities to make connections under AV Linux: the Patchbay linuxDSP JP1 located in the 'JACK Plugins' menu and 'Patchage', found in the 'Audio' menu and shown in the following figure.

A couple of supplementary notes

Something that reminds me about Qsynth is that it does not come with a bank of sounds loaded by default (I think it can be configured to do so), so the first time it does not sound and some lazy user may already throw the towel (there are). As I am also quite ignorant, Qsynth is a manager for the Fluydsynth synthesizer, so I imagine there is a way for it to load a bank by default, but since I am quite lazy, I haven't gotten to that yet. Rest assured that when we talk about synths I will try to give you the solution, while you will have to search in Google. To load a soundbank into Qsynth, go to the 'Settings' menu.

In the 'Soundfonts' tab, we will load (' Open 'button) the bank that Av Linux brings and is located in the path' / usr / share / sounds / sf2 ′. On the Internet there are a good amount of free banks that I will mention, to get out of trouble on the MuseScore page there are 3 quite decent ones, among which is included the default bank of Av Linux.

Once the sound bank is open, Qsynth will warn you that it has to restart the audio engine, to which you will say yes. At this moment, VMPK will disconnect from Qsynth, but you already know how to connect it, right? (One hint: Qjackctl> Connections Window> Select one, select another> Connect).

Now you go to VMPK and press the keyboard of your computer (or you click on the virtual keyboard)… “cool”, right? 😉

4 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Diego Picco said

    Thanks Baltar !! as always with audio at the forefront! Cheers

  2.   ion said

    Thanks to this post and the mention of Patchage I have been able to configure PureData in a super simple way, since for necessities I have the HDA intel card and a Soundblaster of the year of Mikaela and I did not quite understand how they were related to the different programs in my Kubuntu 12.

    Thank you.

  3.   Gaius baltar said

    Thank you!. Really, this is an entry rescued from long ago. But to write about these things it is necessary for readers to educate themselves about JACK and Qjackctl, so I could not omit it. 😀

    In a few days more and better 😀

  4.   Gustavo Parra said

    Hello, getting out of context a bit. Is there a way to fix extra screen detection? since my system was upgraded from Linux Core 3.7 to Linux Core 3.8.3-203.fc18.i686, it no longer detects the additional one that I always work with on my PC with Fedora Linux 18 through HDMI since it is the only port I have looked for output apart from VGA but I can't find how.