State of the Art: Linux Audio 2008

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

The Linux audio infrastructure provides well-designed and well-tested programming interfaces for sound and music applications developers, particularly if they employ JACK to handle audio (and now MIDI) I/O. Alternatives include the OSS API and directly programming ALSA, but JACK is truly the superior solution.

Regarding GUI toolkits: Qt and GTK remain the dominant players, but FLTK and wxWidgets also are popular. This multiplicity of GUI toolkits has been a problem for plugin developers, although the emerging LV2 specification may resolve that issue.

Python and its GUI bindings have become popular for some types of music applications, Tcl/Tk remains a popular scripting language for smaller applications and rapid prototyping, and Java programmers have added a sizable number of excellent applications to the Linux audio software armory. Java audio programmers also can employ JJack, a JACK audio driver for the JavaSound API. At this time, only the Frinika sequencer makes use of JJack, but I hope to see it receive the attention it deserves.

The JUCE multiplatform development environment provides excellent tools for developing audio applications. The JUCE framework is fully JACK-compliant, but unfortunately, its adoption has been slow so far. Current implementations include Rick Taube's GraceCL (next-generation algorithmic music environment), Kjetil Mattheussen's Mammut (massive FFT audio transformer) and Lucio Asnaghi's JOST plugin system. These programs all have attractive GUIs with excellent audio capabilities—all courtesy the JUCE framework.

Media-Optimized Linux Distributions

Audio/video-optimized Linux distributions are flourishing. Stand-out systems include Planet CCRMA, 64 Studio, JAD, MusiX, Dynebolic and Ubuntu Studio. Some of these distros include ISO images for making live CDs that can be used to test the system without installing it to your hard disk. All of them have been engineered for low-latency performance, and all are currently maintained. These distributions are the Linux audio novice's best friends; they are highly recommended for anyone who wants to work seriously with audio/MIDI on Linux.

Community

Ivica Ico Bukvic is the current director of Linuxaudio.org, which is “...a not-for-profit consortium of libre software projects and artists, companies, institutions, organizations and hardware vendors using Linux kernel-based systems and allied libre software for audio-related work, with an emphasis on professional tools for the music, production, recording and broadcast industries.” Among its many purposes, the organization functions as a portal to a variety of “priority” links, including URLs for an applications index, a software mirror, a VST plugins compatibility database and other useful resources.

Linux audio developers meet annually at the Linux Audio Conference, held in Koln in 2008. Rumor says that LAC2009 may be held in Parma, Italy, but no definite plans have been made at the time of this writing. This conference is the event of the season for Linux sound folk—a four-day fiesta of presentations, performances and much sharing of ideas, code and music. Keep an eye on the LAC link page at Linuxaudio.org for news of next year's conference, and be there if you can.

Program-centric communities have evolved around the maintained projects. Communications channels include the typical forums, wikis, mailing lists and IRC channels, but they now include channels, such as YouTube and MySpace. YouTube has become an especially useful channel for demonstration and instructional videos. Some examples of Linux audio software in action can be found there now, and I expect more to appear.

A wide variety of music made with Linux software can be heard at Hans Fugal's LAM site. Other good sources for Linux-made music include the Linux Audio Users mailing-list archives, the Internet Archive and, of course, the forums and other comm channels mentioned above.

Closing Remarks

In my opinion, the Linux audio infrastructure is now a solid structure, with exceptional capabilities and provision for future development. JACK is by itself a most remarkable achievement, and it has become the cornerstone for all serious audio applications, particularly in the pro-audio domain.

Configuration has been all but completely automated during installation, and post-installation configuration has become a no-brainer in most distributions. Distribution developers deserve high praise for the work done in this regard. Again, it's not sexy stuff, but it makes a great difference to the newbies and even to the not-so-newbies.

Audio performance on the normal multitasking desktop has been a problematic point, but the PulseAudio Project promises a satisfactory resolution to that problem. Only time will tell if its adoption becomes widespread.

Normal applications that require audio support are well served by the current software map. Requested features are being implemented, and usability has improved greatly since Ye Olden Times. With software mixing and relatively xrun-free playback, the desktop audio system is looking and sounding better all the time.

______________________

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