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.
Similis sum folio de quo ludunt venti.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.