Linux beyond geekdom

Linux has always been a great operating system for programmers. Since the late 90s, however, there's been a big push to make Linux more attractive to people that don't have Mountain Dew addictions. Desktop environments have improved the user interface to the point where large institutions are rolling out Linux workstations, something that never would have happened with twm as the only desktop option. Meanwhile, the day-to-day tasks of business have been made doable by projects like OpenOffice and Mozilla.

Parallel to Linux's furthering of basic usability, there's been a lot of work put into high-end uses for Linux, like professional audio production. These applications require a certain amount of spiffy GUI and big helpings of performance and stabilitywhich Linux is now more than ready to provide. Audio editing is also greatly helped by compatible hardware, which can give a more intuitive user interface and better performance. Unfortunately, Linux has always been plagued with hardware compatibility issues, and this is very evident when trying to do professional audio production.

Given Linux's strengths, weaknesses, history, and ideology, it's interesting to see where Free/Libre and Open Source Software (FOSS) competes well with proprietary software, where it falls behind, and where it provides novel innovation. The FOSS pro-level Digital Audio Workstation (DAW), Ardour, competes with industry-standard apps like ProTools, Logic, Nuendo, and Digital Performer. Audacity, on the other hand, is a more casual FOSS audio editor, but infuses the task with some distinctly geeky scripting facilities. SND, "modeled loosely after Emacs and an old, sorely-missed PDP-10 sound editor named Dpysnd," is a distinctly Linux audio app, complete with an ass-ugly interface, a mountainous learning curve, and the ability to wash your dishes if you know how to ask.

First things first: you don't know Jack

Meet Jack. Jack is where things start to get weird. Most operating systems, err, Windows and OS X, provide an invisible interface to your audio hardware. In these OSes audio applications output to a software mixer, which mixes the signals and streams it to the sound card. This approach is similar to how ESD works. Similarly, Jack is an audio daemon that sits between audio apps and ALSA. Where Jack differs is that, in the proud tradition of Linux, it is infinitely configurable. This allows lower latency and the ability to pipe any output to any input, like a rousing game of Twister, but with data. Ardour requires it. Audacity and SND can use it. Any ALSA program can use it via an ALSA plugin.

Technical details

For what it's worth, I'm looking at all this software on a Pentium 4 3.2GHz with a Creative Labs SB Audigy 2 and 1 GB of RAM. I played with a couple distros, including DeMuDi, but settled on my old favorite Debian testing (Etch). All of the applications I used were taken from the apt repositories, not custom compiled. The kernel (2.6.12) does not have realtime scheduling support built in, which is very popular with computer musicians. More on that later. Additionally, the hard drive is not tuned with hdparm, which is recommended for serious audio work.

Download the PDF

(This feature for Premier subscribers only.)