State of the Art: Linux Audio 2008

An overview of current capabilities and achievements in Linux audio development.
For the Professional: JACK

The demands of professional audio production require a different order of performance from a sound server. None of the servers mentioned above are capable of drop-out free performance under heavy resource demand—for example, multichannel recording with high sample rates and bit depths—and they cannot be considered suitable under pro-audio conditions. Fortunately, Linux has JACK, a truly professional-grade audio server and master transport system. If you plan on producing professional-quality audio with Linux sound and music software, you need to know JACK.

JACK development is steady and continues to expand the system's capabilities. JackMIDI is showing up in more applications, and the jackdmp Project points the way toward JACK's future on multiprocessor architectures. Current versions already run on OS X, and there's even been a successful port to Windows. Currently supported back ends now include ALSA, OSS, PulseAudio, FreeBob/FFADO (for FireWire devices) and CoreAudio (on OS X).

Other Notable System Software

Erik de Castro Lopo has contributed some essential components to the Linux audio infrastructure. His libsndfile provides programmers with a comprehensive library for handling file I/O for a great variety of soundfile formats, and his libsamplerate has found broad acceptance as the preferred tool for high-quality sample rate conversion. These libraries relieve applications programmers from the burden of writing code for very common tasks, and both packages are common dependencies throughout the world of Linux audio software. I'm also happy to report that both libraries are currently maintained.

Common Applications

The sound-related software most familiar to typical users includes media players, games and audio communication devices. In each instance, the application itself does not handle audio directly, instead relying on the kernel's sound API (that is, ALSA). This reliance frees application developers to focus on features, rather than on how to interface with users' sound hardware.

Media Players

Linux music players are a mixed blessing. For average users, programs such as Amarok, Banshee, Rhythmbox and the XMMS clan work well for playing most audio formats (MP3, Ogg, WAV, AIFF and so on). AlsaPlayer continues to provide a lighter-weight player, not so feature-rich but stable and JACK-savvy. JACK-awareness is one of my personal complaints with most of the current music players, but I have reason to hope that the major players will get it and at least provide a plugin for JACK connectivity. And, while I'm dreaming, I'd also like to see Linux media players adopt the JACK master control system. More typical wish lists include true gapless playback and support for huge collections. The development teams of the popular players are quite aware of these requests and are working to address them in future releases. As Figure 1 indicates, some developers are indeed moving forward.

Figure 1. Amarok does JACK with libxine.

Multimedia players, such as MPlayer and Xine, continue their development march forward. These projects are well established, and many users rely on them heavily for more than just DVD and video file playback. MPlayer (and its sister software MEncoder) is a veritable toolkit for a wide variety of video and audio tasks, and the Xine library is used by many other applications that need video capabilities. Both programs play a wide variety of video and audio formats, and both include hooks for user-friendly GUIs.

Alas, there is a snake in the grass in this field. Video players depend on codecs that provide support for the seemingly endless variety of video formats, and many popular formats are patent-encumbered. One immediate result of this situation is the difficulty or impossibility of including these codecs in a mainstream Linux distribution. Some distros simply point users to a repository where they can download the necessary packages, but it would, of course, be better if the codecs could be installed along with the players. However, until patent law reform takes place (in the US, at least), there can be no other way to supply the software.

Playback of encrypted DVDs also is problematic. It appears that the MPAA is no longer pursuing legal action against distribution of the DCSS software, but distribution vendors remain hesitant to include the software directly. Again, users typically are directed to a distribution point on the Internet where they can acquire the software they need to watch their legally purchased discs. Although these extra steps may seem trivial to seasoned users, they often are confusing and seem unnecessary to novices, especially when there is little or no understanding of the legal ramifications. Nevertheless, until patent encumbrance and copyright entanglements are things of the past, the extra steps will be necessary if users expect fully functional media playback.

______________________

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.

Webcast
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers

Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.

Learn More

Sponsored by AMD

White Paper
Red Hat White Paper: Using an Open Source Framework to Catch the Bad Guy

Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6

Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.

Learn more about catching the bad guy in this free white paper.

Learn More

Sponsored by DLT Solutions