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. Those lists should suffice to define any unknown or confusing
terms you encounter in the article.
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
- 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
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.
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.
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
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—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—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.
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.
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.
Comments (7 posted)
After this work, Left 4 Dead 2 is running at 315 FPS on Linux. That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version. However, it does speak to the underlying efficiency of the kernel and OpenGL. Interestingly, in the process of working with hardware vendors we also sped up the OpenGL implementation on Windows. Left 4 Dead 2 is now running at 303.4 FPS with that configuration.
— The Valve Linux team
We have found that the best defense against major unexpected failures is to fail often. By frequently causing failures, we force our services to be built in a way that is more resilient.
Comments (3 posted)
The Document Foundation has announced
the release of LibreOffice 3.6, with lots of new features. "Wherever you look you see improvements: a new CorelDRAW importer, integration with Alfresco via the CMIS protocol and limited SharePoint integration, color-scales and data-bars in spreadsheet cells, PDF export watermarking, improved auto-format function for tables in text documents, high quality image scaling, Microsoft SmartArt import for text documents, and improved CSV handling. In addition, there is a lot of contributions from the design team: a cleaner look, especially on Windows PCs, beautiful new presentation master pages, and a new splash screen.
" More information can be found in the new feature summary
and release notes
. In addition, Michael Meeks has put together a "behind-the-scenes" view of 3.6 development
, including information on dead code removal, build system improvements, more unit tests, and so on.
Comments (6 posted)
, a new generative Web framework built for Python, has been announced. The author admits "I know what you are thinking: 'What the world doesn't need are more lawyers and python web frameworks'
," but evidently found existing frameworks either too big or too small. The new framework offers an intentionally Ruby-on-Rails like MVC feature set.
Full Story (comments: none)
A new version of the Python database driver for MySQL has been released. Version 1.0.5 is a beta not yet ready for production environments, but it introduces several new features. Included among the changes are support for fractional seconds in time values, the ability to reconnect to a server with configurable retries and delays, and "descriptive error codes for both client and server errors in the module errorcode.
" Not all changes are backward-compatible, however.
Full Story (comments: none)
ARM has announced the release of ports of binutils, gas, and ld for its AArch64 64-bit architecture. Although the company cautions that the tools are not yet complete, it does state that "we believe
that the code is now in a state where it is worth starting the process
of a public review.
" We may have been a bit late in picking this up; hopefully it still registers as good news....
Full Story (comments: 1)
Newsletters and articles
Comments (none posted)
GNOME developer William Jon McCann has posted a lengthy
on recent work done with the Nautilus file manager and where
that utility is going. "Nautilus was a bit of black sheep among the
GNOME 3 core applications. It had a design that grew organically over many
years and didn’t really seem to fit in any more. In bringing it back up to
par we now have things like a much improved and space efficient maximized
window state, a more consistent menu layout and behavior, more consistent
use of icons, and a more GNOME 3 style pathbar and toolbar.
Comments (178 posted)
On his blog, Allan Day has posted an overview of GNOME OS
with a description of what it is (and isn't) based on discussions at the recently concluded GUADEC. "Many of the things that we want to do as a part of GNOME OS are old ideas that have been around in the GNOME project for a really long time. The aspirations that are driving this process include things like providing a better experience for application developers, automated testing, sandboxed applications and broad hardware compatibility. While each of these goals could be pursued independently, there are enough interconnections between them to make a holistic plan worthwhile. Yes we could call the initiative something else, but GNOME OS has stuck, and it kinda fits (as I hope to explain a bit better below).
Comments (156 posted)
Page editor: Nathan Willis
Next page: Announcements>>