Linux Audio Development: A Report from Karlsruhe
From March 14-16, the Zentrum für Kunst und Medientechnologie (ZKM) in Karlsruhe, Germany, hosted the first conference of Linux audio developers. Developers from more than a dozen countries attended this successful conference, representing organizations such as SuSE, Linux Audio Systems, Stanford University, IRCAM and Centro Tempo Reale. Topic discussions included in-depth presentations of the rapidly evolving Linux sound system, a look at the details of programming for professional audio standards and a survey of recent applications and audio-centric Linux distributions.
The first session took place on Friday evening, March 14, with two more sessions on Saturday and a final open session on Sunday, the 16th. All sessions were well-attended by developers and the public, and it is hoped that a second annual meeting will be planned for next year.
Historically, the basic Linux sound system has been built on an API known most recently as OSS/Free. As of the 2.5 development series, the Linux kernel now officially deprecates the aging OSS/Free API and has replaced it with the Advanced Linux Sound Architecture (ALSA). ALSA provides a backwards-compatible layer for accommodating older applications designed for OSS/Free. But, its advanced API includes more interesting features, such as support for sound hardware from consumer-level sound cards to professional-grade digital audio boards, a fully modularized driver design, safe operation in SMP and threaded programming environments, and a user-space library (libasound) to simplify applications programming.
Conference participants included ALSA luminaries Jaroslav Kysela (founder and team leader), Takashi Iwai, Paul Davis, Frank van de Pol and Matthias Nagorni. Topic presentations included an in-depth analysis of the ALSA driver design, ALSA development in historical and technical perspective, an exposition of the JACK low-latency audio server/connector, details of the ALSA sequencer API and a demonstration of various ALSA-aware applications and utilities. As might be expected in this session, the level of discussion was quite technical at times, but all presentations were well-prepared and clearly delivered.
Some special mention must be made regarding JACK. This unique software provides a professional-grade audio server in a low-latency environment, making arbitrary audio signal routing possible, without dropouts or distortion. In a short period of time, JACK has been embraced enthusiastically by Linux audio applications developers, and the list of JACK-aware programs grows almost daily. JACK is not actually a part of ALSA, but its chief designer (Paul Davis) also has written some of ALSA's most significant drivers. Although it does not require ALSO specifically, JACK development closely follows ALSA's progress and, at this time, is best employed in an ALSA-based environment.
Takashi Iwai's presentation of the ALSA bake mix was another highlight, not soon to be forgotten by those who witnessed it. If his presentation was an indicator of new packaging trends, I believe we can expect some colorful innovations from Takashi and crew.
Paul Davis's second presentation was titled "Some Things You Might Not Have Thought about When Writing an Audio Application", and it was a distillation of his experience programming the Ardour hard-disk recorder/digital audio workstation (DAW). Ardour has become a center of attention for those of us who wish to use Linux in a professional audio setting. As its development nears a first public release, anticipation and interest has become quite intense. Happily, Paul's presentation of the program's current status was most exciting, demonstrating features such as control automation, advanced editing procedures and effects processing using the LADSPA plugins. Ardour still has a way to go before reaching its 1.0 release, but it is already being tested in real-world scenarios with excellent results.
Ardour's development history has been of great importance to a new generation of Linux audio software programmers. As Paul points out, no road map exists for programming software like Ardour; that is, there is no existing code base for writing a professional-quality hard-disk recording system. Successful commercial DAW software manufacturers, such as Steinberg or Emagic, leave no open sources that could function as a guide to the construction of such a complex application. Thus, every important lesson learned by programmers in those commercial houses must be learned anew by the open-source developers. That Ardour has come so far and evolved so well is a testament to the talents and dedication of its programming crew. Thanks to Paul's efforts, along with those of many other Linux audio developers, the next generation of Linux audio software coders will find their way made easier and their labor less, well, arduous.
LADSPA stands for the Linux audio developers simple plugin architecture. The API was first proposed and designed by Richard W. E. Furse with the collaboration of other members of the Linux audio development community, but Steve Harris is probably the name most often associated with LADSPA plugins. Steve has authored the most popular collection of plugins and has consistently worked to improve not only his plugins but the LADSPA API as well. In his presentation at ZKM Steve demonstrated the ease with which LADSPA plugins can be written. He even managed to convince most of his audience that they too could become accomplished DSP programmers after only a few easy lessons, particularly if they employ Steve's XML-based plugin programming framework.
The last session focused on the actual programs LAD people have written and new means of packaging and distribution. As the possible interactions between applications become more complex, some development efforts have taken on the task of ensuring that the new user finds a ready-made integrated environment that includes a system prepared for low-latency, high-priority performance. The environment needs a selection of applications that can take advantage of the new Linux sound system.
Francois Dechelle demonstrated recent free software developments taking place at IRCAM in Paris. The jMax software is already quite well-known and has evolved into one of the most sophisticated audio production and processing environments available for Linux. jMax can be thought of as a synthesizer, a sample playback machine, a DSP engine, an audio/video composition and processing environment or even a LADSPA plugin. Although Francois's demonstration was plagued by technical difficulties, it was enough to be able to glimpse jMax's enormous flexibility. Francois also presented news regarding the OpenMusic project, another free software development sponsored by IRCAM. OpenMusic is targeted for composers; that is, it is essentially music composition software, very advanced in its features and capabilities. Alas, the port to Linux is incomplete, but a dedicated team at IRCAM continues the work. We can expect wonderful things when we finally see OpenMusic 1.0 for Linux.
Andrea Glorioso reported on the efforts of the AGNULA team, of which I am proud to be a member. AGNULA stands for "a GNU/Linux audio" distribution, and it has been designed to provide turnkey systems for new Linux users who especially want to work with audio and video software. AGNULA plans to release two complete distributions, one based on Debian and another based on Red Hat. These distributions are complete systems, not crippled in any way, with enhancements such as a kernel patched for low-latency and a collection of entirely free software (free in the sense described by the FSF). A 0.9 release of the Debian distribution (Demudi) should be ready this summer.
The PlanetCCRMA suite is another response to the need for a system targeted at new users interested in the possibilities of Linux audio and video software. Developer Fernando Pablo Lopez-Lezcano described PlanetCCRMA's evolution in historical and technical perspective. Fernando also described the system's use of the apt-get utility so familiar to Debian users. With apt-get and a fast network connection, a user can download, install and update the entire PlanetCCRMA system over the Internet. Alternatively, she can download CD ISO images and install the system off-line. Unlike AGNULA, PlanetCCRMA is not an actual distribution. Instead, it depends on an existing Red Hat installation (7.x, 8.x) and replaces the default kernel with a kernel optimized for multimedia performance (low-latency, capabilities-enabled, high-priority scheduling). It also adds the ALSA drivers to your system and, of course, provides an excellent bundle of selected audio/video applications for Linux.
My own presentation was a rather rambling account of issues I've encountered while documenting Linux audio software. The lack of release dates, the constant evolution of the software described and the rapid pace of system development all conspire to make the doc writer's work difficult, particularly if he is trying to write tutorial documentation for normal users. Other documentation issues include standardized bug report and test forms, the need to distinguish between reference and instructional documentation and the predictable difficulty of writing simple and clear user-level introductions and tutorials.
The open session on Sunday was quite exciting; applications were demonstrated, code was viewed and shared, conversation and discussion thrived and many pictures were taken. Memorable moments included Torben Hohn's demonstration of the gAlan synthesis/processing network environment, Stefen Westerfeld's presentation of the BEAST synthesis/composition software, Fernando Lopez-Lezcano's composition for quad-speaker playback and Frank Barknecht's awesome demo of Pd-as-techno-machine.
Informal discussions took place throughout the conference, over breakfast and dinner, while sampling the excellent beer and in apartments and hotel rooms until the wee hours. I think I averaged about four hours of sleep per night, and by Monday morning I was exhausted and exhilarated. Nevertheless, on my flight back to the US I found myself wishing for another few days in Karlsruhe. I was told that the city and its environs include many lovely sights, but involvement with the conference was so intense that none of us got to be tourists. Perhaps next year's meeting will be a little longer, and we'll be able to see more of Karlsruhe, visit Heidelberg or take a bicycle ride along the Rhein and into the Schwarzwald.
First thanks must go to Frank Neumann, Matthias Nagorni and Götz Dipper. They managed a large and diverse group of developers arriving from various points at various times, ensuring everyone's comfort and well-being. For a first-time effort organizing a conference of this size, they all deserve the highest praise and thanks. The directorate and staff at ZKM also must receive great gratitude for their hospitality and financial assistance. The Zentrum is an awesome place to hold such a conference, and I recommend it to anyone visiting Karlsruhe. Thanks also to Jörn Nettingsmeier for managing the live internet feed and for helping in so many other ways.
Finally, vast thanks to the developers themselves who have done so much and given so freely. They are true heroes, persevering to create a unique phenomenon: powerful software freely available to musicians and sound people the world over, running on the world's most free and powerful operating system. What an amazing group, what remarkable accomplishments!
Pictures and MP3s from the conference are available on-line.
More information about ZKM may be found at www.zkm.de.
Information regarding the Linux Audio Developers group is at www.linuxdj.com/audio/lad/.
More general information about Linux sound and music software can be found at linux-sound.org.
Dave Phillips is a musician, teacher and writer living in Findlay, Ohio. He has been an active member of the Linux audio community since his first contact with Linux in 1995. He is the author of The Linux Book of Music & Sound.