Tom's Definitive Linux Software Roundup: Audio Production

You Don't Know JACK

JACK stands for JACK Audio Connection Kit--yes, another Linux app utilizing the always-irritating recursive acronym.

JACK is a sound server API, which resides between the system hardware audio driver and running applications. It can be used to route audio streams from one application to another, allowing multiple applications to be chained together. JACK acts like software cabling, for lack of a better description. Connecting real instruments into hardware synths, EQs, and effects pedals is accomplished by plugging cables from one to another before the amp. JACK creates connections between software applications before playback through PC speakers.

JACK offers complete command line functionality. However, most people use the QjackCtl GUI interface. The GUI helps to visualize how your apps are linked to each other. The Applications menu entry for QjackCtl is simply JACK Control, and we will be referring to JACK, JACK Control, and QjackCtl interchangeably in the application roundup.

JACK Control must be started before any other application that accesses sound, or you will most likely be greeted with an error window. This means you need to fire it up before a browser, audio player, or chat client. Those other apps can be started after JACK with no detrimental effect most of the time. But before starting any piece of software you would like to connect using JACK, you must first start JACK.

Connections are made in the connection window. Just click one entry in the output pane and another in the input pane, then select Connect. New entries appear when JACK-compatible applications are opened, and some apps automatically create their own connections.

Without JACK, an open standard API, connecting these different applications to each other would not be possible in many cases. Recording could be achieved one step at a time via import/export to the various apps. But that would add substantial time to even amateur projects, and forget about doing anything live. Another option would be to rely on plug-ins, but they would have to be specially made from one app to another, which is certain to limit your options. Comprehensive DAWs could handle many of these duties, but they lock users into a single app, along with any of its shortcomings.

JACK enables a lot of functionality that wouldn't be possible otherwise in the world of Linux audio production. But all is not rosy. JACK is complicated. Many JACK-compliant applications have preferences tabs filled with options. JACK has its own options menu as well. With all of those settings, getting JACK to work with apps and apps to work with each other isn't always easy. Troubleshooting an issue with one app often leads to more issues with other apps in the chain. The more apps in the chain, the more complicated troubleshooting becomes. Throw in MIDI apps and issues with hardware drivers, such as ALSA (or PulseAudio, yikes), and you have a mess on your hands.

Be prepared to spend some time on the forums getting a custom chain of applications working properly. Be patient, and be willing to redo the whole OS if things go south. It's also not a bad idea to establish at least a beginner's familiarity with the Linux command line. Many of the most knowledgeable users in online forums will give you code instead of a GUI walkthrough as possible solutions to your problem. You may also be asked to run some of your applications from the terminal instead of the Applications menu in order to copy and paste errors or other CLI output. This output is essential for generating feedback tailored specifically to your issue. Most GNOME distributions list the command line as Terminal, and can be accessed via the Applications/Accessories menu. KDE distros typically list it in the Applications/Utilities menu as Konsole.

Create a new thread in the US Reviews comments forum about this subject
This thread is closed for comments
Comment from the forums
    Your comment
  • nekromobo
    Now I remember why I read tom's.

    A great article!
  • akorzan
    I found using WINE with, don't laugh, FL Studio works great. Latencies are on par with Windows. Only problem is some VST plugins have mouse problems... I.E: double-clicking has to be absurdly fast. Another trivial problem is that battery life in laptops is nonexistent with WINE and FL Studio.
  • longshotthe1st
    Why would anyone even bother? Time is money, I'm going to just stick with what works.
  • damiensturdy
    Great read. FLStudio is one of only two pieces of software that keeps me tied to Windows. Sure, it runs under Wine, but getting it working is a pain, and you're lucky to get 100% of the functionality. As an advanced user of FLStudio, I use almost everything the app provides, and I need it as low latency as possible. 20ms is too much- 10ms is better. In general I've never achieved
  • damiensturdy
    Damn, it cut my post off. No way to edit that? ah well. I was basically saying that this article has helped me decide what software to use when I build my synthesizer this year.
  • g00ey
    Has anyone tried running software such as FL Studio in Linux using a virtualization software such as VirtuaBox? VirtualBox can even run in seamless mode which allows you to have Windows windows next to Gnome/KDE windows in the same screen.
  • Anonymous
    Very nice article you could also have covered comercial productos on Linux like:

    Harrison Mixbus; Renoise; EnergyXT; WusikStation; PianoTec...

    BTW there is big updates soon for Ardour (3.0), MuSe (2.0) and Rosegarden (?).
  • damiensturdy
    @g00ey, yes. Latency and audio are weak through a VM, and the audio still has to travel through whichever audio library the Linux distro is using, it's a no go.
  • caeden
    g00ey, as a general rule of thumb you don't want to virturalize your workstations whether they be for audio or video editing. In part due to stability, and in part due to speed/latency.
    I was surprised at the scoring software. Looks about as good as my wife's version of Sibelius, with the exception that she had to pay for hers.
    Personally I just do editing and cleanup, and while it looks like it is much improved on Linux from what it use to be, it has improved more on the windows side. But nice to know that there are options available if I were to ever cross over.
  • Anonymous
    I'm really looking forward to the Video apps review since that is my main sphere of interest.
    But it really sounds like it is time to get the 'ole midi keyboard out of the closet and try some of those synth apps!
  • Anonymous
    No love for Pure Data?
  • adamovera
    nekromobo: Thanks! Great name BTW.

    g00ey: If you're only using samples and not recording, going live, or hooking up to any other apps, I don't see why it would be a problem. Although that would definitely reduce the functionality of FL Studio. Oracle VirtualBox is free, if you already own a copy of Windows it can't hurt to give it a try.

    adsgdVery nice article you could also have covered comercial productos on Linux like:Harrison Mixbus; Renoise; EnergyXT; WusikStation; PianoTec...BTW there is big updates soon for Ardour (3.0), MuSe (2.0) and Rosegarden (?).

    Not sure how Harrison Mixbus packages the Linux version, no trial available either. Renoise, EnergyXT, and PianoTec don't qualify due to the package/repo rule - see page 2. I don't think WusikStation has their Linux version ready yet.

    boombipNo love for Pure Data?

    Doesn't qualify due to package/repo rule - see page 2.
  • g00ey
    @damiensturdy & caeden, I can imagine that latency could be an issue when it comes to virtualization but the software I have tried (such as graphics, video playback, office and DTP) works surprisingly well under virtualization so I just figure that maybe audio production software works inside a virtual machine.

    So called Type 1 hypervisors have support for something that is called passthrough which means that some hardware can be assigned to communicate directly to the virtual machine without intervention of a virtual abstraction layer (that usually manifests itself as a ring buffer between the hypervisor and the VM) this is commonly used on network interface cards to ensure a good throughput and lower latency on virtual machines that require this.

    For this to be possible the hypervisor has to be run "on the metal" and not as an application inside an OS (such as the VBox or the VMWare Workstation). Xen is one such example that is integrated with the operating system. The ESXi/vSphere is another, but it is its own operating system.

    Moreover, the hardware needs to support either Intel VT-d or AMD-IOMMU which provides this passthrough feature.

    Edit: Not only Xen is supporting PCI passthrough, we are also beginning to see this on KVM and VirtualBox. This is possible since one has managed to add type 1 like attributes on type 2 hypervisors and the distinction between the two of them is getting fuzzier. This is possible by patching come parts of the (type 2) hypervisor into the kernel. KVM can pass through up to 32 PCI units and it also supports multi-function passthrough. It currently does not support passthrough of graphics cards (or VGA passthrough, which is due to advanced BIOS features of a GPU in a computer) like Xen does, however. I don't know about VirtualBox but I expect it has similar capabilities, but only on Linux. VB currently has no support for this on other host platforms.
  • pelov
    Love the entire series. Great work
  • Anonymous
    Fantastic article, thanks Adam.
  • mc84ss
    What would anyone reccomend for taking mp3s and "mixing up" any profanity. I work in a secure building and my boss frowns upon any music with profanity.
  • pocketdrummer
    Linux is definitely not the OS to use for Audio Engineering. Not only is it seriously restricted in the drivers department (most decent interfaces do not support linux), the Sequencers (or DAWs as this article slightly misrepresents) are not sophisticated enough to really stand up to the likes of Cubase, Sonar, Pro Tools, or even Ableton Live. There's no real point in trying to build a Linux system for recording unless you just love working around severe limitations.

    This is coming from an Engineer who uses Ableton Live and Cubase on Windows and Mac systems (depending on the application and gig).
  • Anonymous
    I agree with pocketdrummer here, and I must add that i have used Lunix for audio engineering and music making for many years and I can assure you that nothing in the lunix world is as powerful and stable as even a simple DAW like Garageband on the Mac.. Linux is nice for daily computing, but don't go there for serious work...
  • salsaman
    I hope you will mention LiVES ( in the upcoming video roundup.
  • Anonymous
    Mixxx is a fun mixing application, that I'm a little surprised didn't make this article.