Need to do sound recording or editing, but find most audio software daunting due to complicated interfaces or price? Then take a look at Audacity: it's free, open source, and packs a bunch of professional-level sound editing features, all under a very intuitive, friendly user interface (Figure 1). By design, Audacity is a user-friendly but still powerful alternative to other sound editors that tend to be complicated to use. What's more, it comes in Linux, Mac OS X, and Windows versions.
Figure 1. The Linux version of Audacity (click for full-size image)
"Many other editors use nonstandard GUIs or require you to understand terms and concepts from analog mixing boards. A lot of people use Audacity simply because they gave up trying to get other tools to work," claims the 27-year-old founder and lead developer of Audacity, Dominic Mazzoni, who works for the Jet Propulsion Laboratory in Pasadena, California, as a research programmer and develops Audacity in his spare time.
While a graduate student of computer science at Carnegie Mellon University in 1999, Mazzoni started writing what would evolve into Audacity: he created a program to visualize pitch transcription algorithms, then later decided to expand this tool into an audio editor.
Audacity is different than other music composition programs in that the designers planned from the start to make a cross-platform program (Figure 2); its code runs natively on Linux, Mac OS X, and Windows. (The Mac and Windows versions don't require X11.) Few applications can run natively on all three of these platforms, especially multimedia programs. This works to Audacity's advantage: professional musicians and audio engineers tend to prefer working in a cross-platform environment, because they often need to collaborate with people who use software running on different platforms.
Figure 2. Audacity also runs natively on Mac OS X (click for full-size image)
In the Linux world, Audacity may not be as advanced or powerful as other audio editors (which also function as music composers), but it does stand out as one of the easiest to use. Mazzoni and other developers on the Audacity team borrow the best ideas and features from several audio editors and digital audio workstations, but with the goal of presenting everything under an interface accessible even to inexperienced users.
"Several other applications support the same features as Audacity: multitrack recording, nondestructive editing, LADSPA effects. But most of them are designed for audio professionals and take time to learn," says Matt Brubeck, a programmer in Seattle who contributes to the Linux side of development for Audacity. "Audacity's interface is very easy for new users, but it still has many of the key features found in [more] professional applications." (See Figure 3.)
Figure 3. Few Windows sound editing programs are both free and as feature-rich as Audacity (click for full-size image)
Here are some highlights of Audacity's many features:
Mazzoni wanted to design an application that would look and feel like it was native on whatever platform it ran, so he selected C++ as the language in which to write Audacity.
"We wanted the application to be fast and responsive. This ruled out every other high-level language at the time I started development," Mazzoni says. "Today, if I was starting from scratch, I would consider using wxPython, but it would still require tens of thousands of lines of C/C++ code in order to achieve comparable speed and responsiveness."
The team uses the wxWidgets library to build the cross-platform user interface for Audacity. "Thanks to wxWidgets, it is possible to write great cross-platform programs without compromising on anything. I wish more people would go this route," Mazzoni says.
To achieve cross-platform audio input/output, Audacity incorporates PortAudio, chosen because of its powerful and robust design, and the fact that it runs on Linux, Mac, and Windows. In comparison, similar cross-platform libraries, such as Simple DirectMedia Layer and OpenAL, are optimized for playback but not recording.
"I believe that Audacity shows that today there really is no reason anymore to code just for one OS, and that free software tools are a real alternative to company-owned technologies like .NET or Java," says Markus Meyer, one of the Audacity development team's members. Meyer is a 25-year-old freelance programmer in Nuremberg, Germany.
There are, however, a few technical limitations with Audacity:
"Audacity shouldn't really have built-in limitations. Things like the maximum number of tracks or the size of the project are practically unlimited, and even special provisions exist in the code to allow data to scale beyond limits of the OS," Meyer says.
Perhaps the biggest limitation is not technical but stems from licensing and patent issues. For example, the official release of Audacity does not include VST support because the licensing of the VST SDK, the Audacity developers feel, is "most unclear."
For future versions of Audacity, Mazzoni and his team have added support for Audio Units (an effects plugin format for Mac OS X) and have started to consider VST support. This will make a much larger library of plugin effects available for Audacity. For the Linux version, the Audacity developers want to improve LADSPA support as the LADSPA community adds support for native GUIs.
Meyer himself is working on new additions to make audio production easier for people working at radio stations. Many of those elements will be of benefit to other users, too: support for multiple clips per track, a clipboard that can handle several clips, and enhanced undo functionality.
"Audacity may not do everything you need in an audio program yet, but if it does just one thing better than any other tool, then why not keep it around along with your other tools?" Mazzoni asks rhetorically. "Keep giving us feedback, and maybe Audacity will eventually surpass these other tools."
Howard Wen is a freelance writer who has contributed frequently to O'Reilly Network and written for Salon.com, Playboy.com, and Wired, among others.
Return to the Linux DevCenter.
Copyright © 2009 O'Reilly Media, Inc.