The Linux digital audio workstation - Part 1

Please consider subscribing to LWN Subscriptions are the lifeblood of LWN.net. If you appreciate this content and would like to see more of it, your subscription will help to ensure that LWN continues to thrive. Please visit this page to join up and keep LWN on the net.

The contemporary DAW—digital audio workstation—is a system of hardware and software parts assembled to record, edit, and play digital audio and MIDI (Musical Instrument Digital Interface) data. Hardware components include the host computer, one or more interfaces for audio and MIDI I/O, input devices (e.g. a MIDI keyboard), and a speaker system for playback. The software component—also commonly referred to as the DAW—is typically a program dedicated to displaying, editing, and saving the captured data. In the world of recording, the DAW is the heart of the digital studio.

This article presents a personal sampling of the variety of DAWs available to Linux users. It doesn't explain how to set up Linux to meet the requirements of professional audio, nor does it provide details of installing and configuring the software I present here. Complete information is available at each program's Web site, and many mainstream Linux distributions have sub-projects dedicated to advanced audio configuration. Search Google to find pointers to distribution-specific documentation regarding system configuration for professional audio.

If you're new to the terminology of digital audio, you should consult the comprehensive—and comprehensible—glossaries at The Sonic Spot and Sound On Sound. Those lists should suffice to define any unknown or confusing terms you encounter in the article.

Common characteristics

A modern DAW should perform at least the following tasks:

Record and edit synchronized multitrack/multichannel audio and MIDI at variable sampling rates and bit depths.

Import and export a variety of audio and MIDI file types.

Mix new tracks and previously recorded material with sample-accurate timing.

Support the use of audio and MIDI processing plugins in various formats.

Provide total recall of all session parameters.

Manufacturers add interesting features beyond this basic set, but these characteristics meet the minimum requirements for a usable modern DAW. A Linux DAW should offer the basic feature set listed above, with the important addition of JACK support. JACK is an audio server specifically designed with pro-audio capabilities, such as multitrack/multichannel recording with realtime effects processing. However, JACK requires an audio back-end, and fortunately the Linux kernel provides the ALSA system. Support for JACK should be considered mandatory for Linux DAWs.

From sequencer to HDR to DAW to sequencer

In the middle 1980s, the advent of MIDI fueled a phenomenal drive in the development of new hardware and software for digital music and sound production. The MIDI data recorder—a.k.a. the MIDI sequencer—arrived in hard and soft formats, and both did essentially the same things: record (sequence), edit, process, and play back MIDI data. Early drum machines and performance synthesizers included basic sequencers, but MIDI—especially computer-centric MIDI—gave new life to the design of the sequencer.

By the late 1980s, sophisticated MIDI sequencing programs were available for every popular desktop computer. Those platforms included machines from Apple, Atari, Commodore/Amiga, IBM, and a horde of PC-clone/compatible manufacturers. Some MIDI hardware and software was available for UNIX systems, but few (if any) of the popular commercial programs were ported.

By the early 1990s, MIDI software capabilities expanded as the capabilities of the host computers advanced. As the hardware grew more powerful, it became possible to create an affordable hard-disk recorder (HDR) designed to run on the new desktop machines. The classic HDR was a standalone digital recorder built to accommodate high-quality analog-to-digital (ADC) and digital-to-analog (DAC) converters for audio I/O. The converters may or may not have been built into the device, and the user would typically need to provide further external support such as mixers and signal processors. These hardware HDRs had been available for desktop recordists but the boxes were often expensive to purchase and maintain—parts were rarely off-the-shelf components—and each machine's internal software was strictly proprietary for the device's operating system and data formats.

Fortunately, the increased power and lower entry cost of the general-purpose desktop computer paved the way for the software HDR, which eventually opened the way for the melding of software MIDI sequencer and the software HDR—with mixer and processors—into a single program called a digital audio workstation, i.e. a DAW.

The term "DAW" could be applied equally well to some of the machines built by SGI in the 1990s. Multichannel output was built into the hardware, and software had been developed to take advantage of the sonic possibilities. Unfortunately for SGI, the i386 continued its march forward to desktop domination—along with other computing niceties such as greatly enhanced video and massive storage capabilities—until the power of an average desktop machine rivaled SGI's bigger iron, at a much lower cost.

These days a DAW is also simply called a sequencer, perhaps as an unconscious reminder of the word's original use. Of course the very definition of a digital audio workstation continues to evolve as programs such as Ableton Live and Renoise present characteristics not commonly associated with a conventional DAW.

The Linux DAW

The blessing—or curse—of choice is in full effect when it comes to the Linux DAW. The DAW selection in this article is not exhaustive, and my descriptions present only a few salient characteristics of each program. With that admission out of the way, we'll take an alphabetical tour of Linux DAWs.

Ardour

The Ardour user interface will be familiar to anyone who has worked with the famous Pro Tools DAW. The interface model is loosely based on the multitrack tape recording paradigm in which recorded tracks are arranged in vertical order, much like the individual bands of a multitrack tape. Of course the similarity is primarily visual—the technology of hard-disk recording differs profoundly from its tape-based ancestry—but the tape-based interface model is deeply embedded in the contemporary digital recording industry.

Ardour is currently available in two distinct versions. The 2.x series is the stable public release track, but it lacks some of the features considered essential in a modern DAW. The soon-to-be-public 3.x series includes just about everything you can find in a DAW, including extensive MIDI support, the feature most notably missing in the 2.x releases. Of course Ardour synchronizes with external hardware and software by various means, including MTC (MIDI Time Code), MIDI Clock, and JACK. Open Sound Control (OSC) messaging is also supported, giving Ardour the opportunity to control or be controlled by other OSC-savvy programs.

Plugin support is extensive, though both the 2.x and 3.x lack support for the DSSI plugin API. Native Linux VST plugins are welcome, and it is possible to compile a version of Ardour that will host native Windows VST plugins. This capability is not unique to Ardour and, like any other Linux DAW with such support, its performance will vary according to initial conditions. Those conditions include the version of Wine used during the build, the conformance of the plugins to Windows programming standards, and the availability of required DLLs. Copy-protection schemes, especially hardware-based keys, are almost certain to block the use of the protected plugins.

Unfortunately none of the DAWs reviewed here include integrated video capabilities, but Robin Gareus and Luis Garrido are working to fill that gap with their Xjadeo project. Xjadeo is essentially a video display (shown in the Ardour screen shot above) that slaves to JACK or MTC, and all SMPTE framerates supported by Ardour are likewise supported by Xjadeo. It is not an editor, but it is incredibly useful, and I suspect that at some point in Ardour's development Xjadeo will be fully integrated into the DAW.

Ecasound

Developer Kai Vehmanen has developed his great ecasound DAW since 1995, the same year I began using Linux. Ecasound is a complete DAW with no GUI at all, a remarkable achievement in today's visually-dominated world of sound and music software. I must emphasize the "complete" aspect of ecasound—as far as I can tell it has every feature common to all DAWs, including MIDI and synchronization capabilities, and its command-line interface guarantees a unique position among its more colorful brethren.

Given its text-based UI, ecasound has some very appealing aspects to the recordist. Above all, the program is fast, and its happy lack of a dependency-laden GUI gives it an edge in the stability department. Ecasound can also be extensively and elaborately scripted—in essence you can define the program's available capabilities on a per-project basis. For example, I use a simple ecasound script when I want to record something very quickly and with high quality. Typically I'll then import my ecasound-recorded tracks into Ardour for detailing, arrangement, and the final mix. In truth, I could script ecasound to do all that too, but I like to keep everyone busy in my studio.

By the way, if you must have a GUI for ecasound take a look at Joel Roth's Nama or Luis Gasparotto's TkEca. Both programs provide GUIs for nearly complete control over ecasound's powers. And if you need to be convinced that ecasound can be used to make real music, check out the music of Julien Claassen.

Though its native UI is humble and unassuming, ecasound is awesomely powerful. I've used it for so long and for so many purposes I simply can't imagine my Linux audio life without it. In my opinion, the compleat Linux studio requires ecasound.

EnergyXT2

EnergyXT2—eXT2 to its users—is an inexpensive cross-platform, commercially available DAW designed chiefly by Joergen Aase. It is a complete DAW with the expected audio and MIDI record/edit/playback functions, though the demo version (shown at left) comes with restricted recording and file-saving capabilities.

Configuration and installation is uncomplicated, and the demo version worked out of the box for me on my AV Linux 5.0.1 system. I loaded the demo songs and played them without xruns (JACK-speak for audio buffer over or under-runs) or other audio discontinuities being reported by JACK, but I expect that kind of stability from a mature application (I tested version 2.6).

eXT2's plugin support is limited to native Linux VSTs, of which fortunately we have quite a few these days. However, it partially atones for that limitation by including a built-in synthesizer/sampler and a very nice multi-effects processor. The full version of energyXT2 also bundles 400+ loops and 32 instruments from Loopmasters, so there are plenty of goodies to get you started.

EnergyXT2 is a popular program that's easy to learn and master. If you do get stuck there's plenty of help available within the program and on-line. See the unofficial eXT2 Wiki and the energyXT2 forum at KVR-audio for opinions, suggestions, and advice from eXT2 users world-wide.

LMMS

LMMS—a.k.a. the Linux MultiMedia Studio—has its roots in the design philosophy behind programs such as the original FruityLoops and GarageBand. Those programs were designed to get the user into making music as quickly and efficiently as possible. Like the programs it is modeled on, LMMS proves that efficiency does not necessarily arrive at the expense of power. (For examples, see the compositions of Louigi Verona.) Be assured, LMMS is a true DAW. It is a lot of fun to play with, but it is no mere toy.

LMMS is designed for loop-based composition. You can record and import audio and MIDI loops, or you can manually enter your own MIDI loops on a piano-roll display. Alas, there is no automated time/pitch stretching. Plugin support is limited to the LMMS internal plugins and plugins in LADSPA or Windows VST formats, but it must be noted that the LMMS internal plugins sound pretty good to my ears. I think they look pretty good too.

Control automation—graphic curve control of signal processing parameters—is a strength of the program. LMMS provides excellent graphic control curve editing, a necessary feature for accurately synchronizing sweeps and other effects to your material. Check out some of the demo songs to hear and see how easily LMMS handles the task.

In early versions, LMMS had problems with its JACK support, but recent releases have mitigated those problems. LMMS is perfectly comfortable in an ALSA-only environment, though; on my systems, I get better performance from LMMS with pure ALSA anyway. Your mileage may vary.

With its colorful and well-organized GUI, LMMS presents itself as an upbeat environment for making music. At development version 0.4.9, LMMS still shows some rough edges, but its usability rates high. It works out of the box, it's very easy to learn, and it's great fun. The LMMS interface is unlike any other presented in this article, but I find it attractive and conducive to productivity.

Mixbus

I thought about including Mixbus in my description of Ardour—Mixbus is based on the Ardour 2.x release series—but it is in a class of its own and deserves separate treatment.

Mixbus is a commercially-available cross-platform DAW created by Harrison Consoles, a company dedicated to the manufacture of some of the most prestigious audio mixing desks in the professional recording industry. Harrison's Web site lists the many famous musicians whose work has been mixed on Harrison boards, and it suffices to say that the list is very impressive. Obviously Harrison's technology is much-esteemed, but it's also costly. Harrison mixing desks are high-end professional products with fully professional price tags to match, so there was much anticipation about the company's release of a software DAW that took the editing and GUI capabilities from Ardour2 and blended those features with elements of a Harrison mixing console.

The result is the mixer par excellence for serious Linux audio production. The track editor is recognizably from Ardour, but the mixer section is all Harrison, with built-in EQ, compression/limiting, a K-meter, and a very cool saturation control. The sound quality is remarkable to my ears, and I've begun to use Mixbus as the master mixer in my workflow. I'm not exaggerating when I claim that everything I record elsewhere is significantly improved by remixing it in Mixbus. Other reviewers have fallen all over themselves with praise for the program, and I'll willingly join the crowd. For its relatively low price—miniscule when compared to Harrison's hardware—there is no better deal in the indispensable Linux audio arsenal. If you intend to do serious mixing then you need Mixbus.

The Mixbus development plans include the adoption of features from Ardour3, including a complete suite of MIDI functions. With those extensions Mixbus may well become one of the most powerful DAWs on any platform. These are exciting times for the serious Linux-based recordist.

Outro

There are more attractions on the tour, but we've run out of room for them this time. Join me next week for Part 2 of this article as I finish this short stroll through the land of the Linux DAW. I'll also introduce an upcoming program that may have a profound influence on Linux audio applications development. Or it may not. Tune in next week to catch the buzz.

