State of the Art: Linux Audio 2008

An overview of current capabilities and achievements in Linux audio development.

The world of Linux audio covers many domains, from basic desktop sound services to embedded systems, from simple Internet telephony to the demands of professional recording studios. This article presents an overview of the Linux audio world and its current status.

Due to the breadth of the topic, I have divided this article into two parts. For the same reason, it is impossible to discuss any particular program in-depth in this kind of survey. However, I cover many of the programs mentioned here in my articles for the Linux Journal Web site (www.linuxjournal.com), and I refer readers to those articles for more detail on individual programs.

General Commentary

Sound support in Linux has progressed grandly since my first experience with the system in the mid-1990s. The mainstream distributions all have excellent device detection, including sound card detection, and the typical desktop audio functions are configured transparently during installation. Most distributions let users add and configure extra sound devices manually, but some detect and configure multiple devices automatically. Any configuration needed after installation is handled similarly through control panels and other user-friendly utilities. In addition to technical advances, Linux sound and music applications have grown in number and sophistication. We now have excellent software for media production and playback, and there is good reason to expect continued development in audio-oriented domains.

Software Categories

In this overview, I distinguish between the two broad categories of system software and applications software. System software here includes the kernel sound system and other tools and utilities that make the user-level programs work. This software is usually not associated with normal usage, and typical users may, in fact, never even know about it. Nevertheless, this layer is where the heavy lifting is done, and although it's not flashy or sexy, it is the heart of the Linux audio system. In contrast, applications software includes the programs that present themselves to users via the distribution's menus, toolbars and file managers. This software is what typical users understand and employ on a regular basis.

The first part of this article covers system software and a variety of other audio-related software domains. The second part focuses on the state of Linux sound and music production software.

System Software

ALSA (Advanced Linux Sound Architecture) provides the core audio and MIDI services to the Linux kernel. These services include the device drivers installed with the kernel, a library and API for programmers, various user-level tools and utilities, and firmware for some USB and other devices. If a project's development is reflected in its changelogs, ALSA is clearly a very active project, with a steady stream of enhancements and fixes, and an expanding list of supported sound cards and audio chipsets.

The developers at 4Front Technologies have improved their OSS (Open Sound System) Linux package in similar fashion. In 2007, the company announced the decision to place the system under open-source licensing. As a result, OSS is now a free, open-source project, complete with source repository, Bugzilla, wiki and protection by the GPL, BSD and CDDL licenses. But, all this goodness isn't only for Linux. The OSS package also provides high-quality audio/MIDI services to our comrades on UNIX systems, such as FreeBSD and Solaris.

ALSA and OSS provide the device drivers needed to make your sound hardware usable by the operating system. Sometimes they create these drivers by consulting material provided by manufacturers, and sometimes they reverse-engineer a driver. To my knowledge, only Audio Science offers Linux drivers developed in-house. Audio Science manufactures high-quality audio hardware marketed mainly to radio broadcasters, and codes and provides native Linux drivers for its products. Ah, if only [manufacturer's name deleted] would be so wise.

Desktop Sound Servers

Normal desktop actions and activities that require audio services include system sounds, media players, Internet telephones and simple recording. However, normal users now expect amenities, such as transparent software mixing and relatively glitch-free performance, in a multitasking system. ALSA's dmix plugin provides software mixing, but not all distributions want to employ it. Thus, competition remains for the position of the default Linux desktop audio server. GNOME still uses esd (the Enlightened Sound Dæmon), and KDE still backs the aRts dæmon, but the PulseAudio Project definitely is the newcomer to watch. PulseAudio already has been adopted as the sound server of choice for the OLPC XO laptop and for recent releases of Ubuntu, and there's reason to believe it may overtake esd and/or artsd as the One True Server for typical users' sound-related activities.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Pianoteq and JUCE

Anonymous's picture

The great Pianoteq is also based on JUCE.

Regards

Jackdmp comment

fober's picture

"Currently supported back ends now include ALSA, OSS, PulseAudio, FreeBob/FFADO (for FireWire devices) and CoreAudio (on OS X)."

Not exactly, PulseAudio is not supported, but a PortAudio driver to be used for Jackdmp Windows version.

Author's reply

Dave Phillips's picture

Ouch, you're right, I meant Portaudio. Thanks for the correction. :)

Similis sum folio de quo ludunt venti.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState