<<

Dave Phillips and the 400 Glessner Avenue Findlay, OH 45840 USA [email protected] : A Report from the Front

The purpose of this article is to introduce readers man’s Free Foundation. Other notable to Linux and to describe the factors that make this contributions toward a complete system include operating system attractive to computer musicians. the X Windows System (a client-server windowing Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488. by guest on 28 September 2021 I have divided this exposition into two main parts. engine) from the XFree86 organization, and net- The first describes and assesses Linux as a general working tools and utilities from Berkeley Standard platform for . The second, longer section Distribution (BSD) . Originally designed for focuses on Linux’s audio and music capabilities. In ’s processors, Linux now runs on many that section, a historical overview precedes a neces- other CPUs and platforms, including the PowerPC, sarily brief account of the Linux audio software 64-bit Alpha systems, IBM’s S/390, various embed- base, followed by a prediction for the near future of ded systems, and even hand-held machines (palm- Linux audio development and the acceptance of Li- tops). nux for music applications. It should be noted that many users (and some distributions) refer to the platform as ‘‘GNU/Li- nux’’ in recognition of the Founda- A General Introduction to Linux tion’s significant contribution to the system. Strictly speaking, Linux is only the kernel, whereas Many readers of this journal will need no introduc- most of its surrounding system software has indeed tion to Linux, but for the rest a brief description is come from the GNU project’s efforts. in order. I will first review Linux in general terms, Although the code is in fact outlining its advantages as well as aspects that his- available at no cost, most new users begin their Li- torically have been of concern. The remainder of nux experience by purchasing a software-plus- this article will then describe in detail the consid- manual-plus-support called a Linux erations specific to audio and music. distribution. A distribution is normally a complete Linux is a UNIX-like operating system designed system including the X11 graphics and windowing to provide computer users with a free system com- system, a robust TCP/IP networking subsystem, parable to traditional (and usually expensive) UNIX and broad support for hardware extensions. Distri- systems such as IBM’s AIX, Sun’s Solaris, or SGI’s butions also typically include a wealth of applica- IRIX. ‘‘Free’’ here means that the system software tions, utilities, and programming tools far in excess itself is freely available at no cost, with free access of comparable commercial systems. Linux itself is to the , and with the assurance that legally protected by the remarkable ‘‘’’ pro- anyone’s development of the system benefits every- visions of the GNU Public License (GPL), but avail- one else who develops or uses the system. Linux is able applications for Linux may be covered by any compliant with the Portable Operating System In- one of a variety of licenses ranging from terface (POSIX), a standard of the Institute of Elec- with absolutely no restrictions to commercial offer- trical and Electronics Engineers (IEEE). ings protected by the end-user license agreements The system kernel was developed in the early (EULA) commonly associated with off-the-shelf 1990s by at the University of Hel- software. The great significance of the Linux/GPL sinki in , and the system was essentially marriage lies in the stipulation that any source- completed by making use of components developed level modifications to the system must in turn be for GNU (a recursive acronym for GNU’s Not freely available upon redistribution. By establishing UNIX), which itself is a project of Richard Stall- a source-code base that is publicly open and exten- sible by contributors, Linux has developed rapidly Journal, 27:4, pp. 27–42, Winter 2003 since its initial public release. Distributions are ᭧ 2003 Massachusetts Institute of Technology. now available commercially from a number of

Phillips 27 high-profile vendors such as , Mandrake, ready scored major successes in the professional and SuSE, and extensive documentation about 3D-rendering industry, with large Linux-based ren- Linux is available online and in print. dering farms proving to be cheaper, faster, and The Linux applications software base has bene- more reliable than any other solution. In-house fited from a rich inheritance of tools and utilities for post-production facilities have designed for UNIX computing environments, in- found the Linux source code to be a particular Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 cluding sophisticated packages such as the blessing: they are no longer bound to wait for fixes text editor, the X11 , and the and enhancements to arrive at the convenience of a GNU (gcc). Developers have trans- commercial provider. And thanks to the GPL, they formed the Linux user’s environment from one are free to make whatever changes are needed to dominated by an image of the daunting UNIX com- achieve the required performance. mand prompt into one now media-rich and appar- Manufacturers requiring an embedded operating ently infinitely customizable. The Linux graphical system have also embraced Linux. The availability user interface (GUI) can be tailored to available re- of source code enables easier customization, and sources and needs; it may consist of a simple win- the GPL relieves companies from burdensome and dow manager (e.g., BlackBox, FVWM, or IceWM) restrictive licenses. NEC, Sony, Panasonic, and or a complete such as the IBM have already employed embedded Linux in de- K Desktop Environment (KDE) or the GNU Net- vices such as mobile phones and network routers. work Object Model Environment (GNOME). Of course, users are free to dispense with a GUI com- pletely and run the system entirely from a text- Security mode console. Linux development has naturally strived toward Computer security is a primary concern to system interoperability, supporting a wide variety of file administrators of environments networked to the systems (Windows VFAT, MS-DOS, the Reiser Internet or on local intranets. Once again, the journaling filesystem, etc.) and network protocols open-source nature of Linux proves most amenable (TCP/IP, UDP, Samba, etc.). The system integrates to resolving this concern: the code base is continu- well with other platforms, promoting the use of ally pored over by the many eyes of its develop- each platform for its particular strengths. ment community and tested by thousands of users in demanding real-world situations, including high- security corporate and military installations. Again, Scalability system administrators are freed from depending on a vendor’s schedule for security updates and In 1992, Linus Torvalds stated that his evolving patches, though it must be stressed that no system brainchild would likely continue to run only on In- (including Linux) is automatically secure. However, tel i386-based hardware. But by mid 2003, the sys- with the proper precautions, Linux can be easily tem has been deployed on a surprising number of configured as a safe, solid, and famously reliable platforms. Linux still runs on machines, but network server and gateway. now , Alpha hardware, com- puters, and even the Amiga enjoy the benefits of the system. Ports to unusual hardware are often Cost of Ownership undertaken as interesting programming projects, and some ports have been written for every type of The total cost of ownership (TCO) of Linux has hardware from palm-tops to . been variously reported as both higher and lower Linux scales well in almost any computing envi- than that of other systems, particularly Windows. ronment, from the single-user desktop to huge How the relevant figures are computed indicates clusters and processor ‘‘farms.’’ The system has al- the biases necessarily inherent to such reports, but

28 Computer Music Journal by and large they all point to a similar conclusion: dows or the Macintosh ever install those systems if an organization already includes Linux-savvy per- themselves, so ease of installation has been a pri- sonnel, its startup and maintenance costs will be mary goal for distribution vendors. low. However, training a staff that is totally unfa- Technical support has also been something of a miliar with the system is likely to result in a larger thorny issue for Linux. Without a central location initial outlay of time and energy. Still, such an ex- or single company in charge of Linux, there is ap- Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 penditure may be desirable to enjoy the benefits of parently no one to call when things do not work as an open-source solution and to avoid the increas- they ought. However, most mainstream distribu- ingly onerous costs and licensing terms from tions now include limited support for the typical single-source vendors. Finally, it is indeed true that desktop user, with full support contracts available Linux itself is cost-free. Users can download the to enterprise users. Some companies offer Linux kernel source code for free, a single disc may be technical support as their primary business model, freely redistributed (i.e., with no per-seat licensing), but for many users, the most valuable support and many distributors even place their commer- comes from the helpful resources on the Internet. cially available products online as free downloads. Linux-specific newsgroups, mail lists, and Internet The high quality of the system and the scale of its Relay Chat (IRC) channels are available for every continual development, combined with this aspect level of user and developer, from ‘‘newbie’’ to ‘‘wiz- of the Linux TCO, creates an increasingly difficult ard.’’ The popular Internet search engine and competitive field for commercial vendors of (available online at www.google.com) provides ex- closed-source operating systems. cellent Linux-specific searches throughout the Web and Google’s own massive archive of newsgroup traffic. Problems and Concerns In its earlier years, Linux was justly criticized for its rather difficult learning path, but that criticism In 1995, installing Linux was something of a labor is largely no longer justified. An enormous amount of love. Disk partitioning, file system definition, of material, online and in print, is now available to manual configuration of sound and video , and new users and developers. Monthly magazines ded- other preparatory processes guaranteed that only icated to Linux are available, and new Linux- the intrepid dared to try it. Fortunately, today’s in- specific books appear regularly on major stallation procedures are far simpler. Hardware is booksellers’s shelves. Certification of Linux techni- now automatically detected, and system configura- cal proficiency is available from companies such as tion is often automatic, making the process as near Sair and Red Hat, guaranteeing competence at vari- painless as possible for the beginner, yet the system ous levels of deployment. remains fully customizable by the more experi- Support from hardware manufacturers remains a enced user. Contemporary distributions such as problematic issue. The classic ‘‘chicken-and-egg’’ Mandrake and Red Hat are quite easy to install, syndrome is hard at work here, notably with regard and the GNOME and KDE desktop environments to audio equipment. Manufacturers commonly are now typically the new user’s first experience in write and distribute drivers for Windows and the Linux. The familiar ‘‘point-and-click’’ GUI creates Macintosh but not for Linux. Depending on the a comfortable learning area for users migrating willingness of the manufacturer, one of three typi- from other GUI-based systems such as Mac OS or cal scenarios results: the manufacturer decides to Windows. write and distribute Linux drivers; the manufac- Some vendors even sell machines pre-loaded turer hands the needed specifications to Linux de- with a , obviating the installa- velopers for them to develop the driver; or the tion phase; however, most users are likely to go manufacturer has no interest in either of the other through the process themselves on their own ma- scenarios and provides no support for Linux. Unfor- chines. By comparison, relatively few users of Win- tunately, this last scenario has been most common

Phillips 29 with regard to audio and MIDI hardware, but grow- rection is characteristic of Linux and other UNIX ing media coverage of the system may widen its systems. user base, sufficiently increasing demand to the point of recognition by major audio hardware man- ufacturers. Given the rate and quality of the sys- Audio tem’s development as an audio platform, it is Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 certainly becoming more difficult to ignore. Thanks to the initial labors of Hannu Savolainen in 1992, the Linux audio applications programming interface (API) provided support for the basic Linux as a Platform for Audio and Music SoundBlaster-compatible sound devices. At that time, those devices included a pulse-code modula- Now that we have reviewed Linux as a general tion (PCM) recording and playback device (/dev/ , we will examine its suitabil- dsp), a raw MIDI input/output (I/O) device (/dev/ ity for computer music in particular. This section ), and an audio device mixer (/dev/mixer). This traces the evolution of Linux’s audio capabilities kernel audio API, known as the Open Sound Sys- and describes the spectrum of available software, tem interface (OSS/Free), has been included with from low-level tools through commercial music the kernel sources since 1992. However, in 2002, applications. Linus Torvalds announced the inclusion of the Ad- vanced Linux Sound Architecture (ALSA) API into the 2.5.x development series of the Linux kernel, General Factors Favoring Linux for Music setting the stage for the adoption of the ALSA API and drivers into the stable kernel releases (2.6.x and Availability of an operating system’s source code onwards). (See www.alsa-project.org for informa- is not usually regarded as an important factor to tion on ALSA.) This event is particularly important aspiring computer musicians, but it has proved to Linux audio development: it signifies the arrival critical to developers working on low-latency per- of a freely available, open-source API for sound formance enhancements at the Linux kernel level. and MIDI programming in Linux with fully Developers interested in improving Linux multi- professional-level capabilities. media performance have been very active modify- Note: the Linux kernel is available in an even- ing the kernel sources, a process utterly impossible numbered stable series (e.g., 2.4.x) and an odd- to implement in closed-source commercial operat- numbered development track (e.g., 2.5.x). ing systems (i.e., impossible without paying high Separating the stable and development series in fees) such as Windows or the Macintosh OS. Given this way ensures reliability for the normal user this free and open-source availability of code, it is without the risks associated with incomplete or ex- theoretically possible for an ambitious computer perimental features under development and testing. music student to design a modified version of Li- Hannu Savolainen and other Linux kernel hack- nux optimized to do nothing but process audio and ers had expanded the capabilities of the OSS/Free MIDI. API primarily to accommodate features found on Other aspects of Linux’s UNIX heritage can be popular sound cards. Thanks to the willingness of found in its support for various mechanisms sup- some companies to donate the necessary specifica- inter-process communication. Pipes and tions, OSS/Free could provide support for some other redirectors can be used at the command line relatively advanced features, such as on-board syn- to create complex processing chains; for example, thesizers and full-duplex recording. Unfortunately, supports line-events, a mechanism for feed- most manufacturers of professional ing events to the program directly from the hardware refused to provide free access to relevant command prompt in real time, dispensing with the specs and documentation, resulting in a classic traditional Csound score. Reliable piping and redi- loop: Linux applications developers could not write

30 Computer Music Journal high-performance sound software without support els: the kernel level (e.g., basic system hooks and for more powerful hardware, whereas the hard- driver modules); a middle layer (e.g., ALSA, JACK, ware manufacturers cited the absence of high- LADSPA, libsndfile, esd, and artsd); and performance software as evidence for insufficient (programs such as , , and MusE). demand. One way out of this impasse was taken by Development on each of these levels has been

Hannu Savolainen: he formed a company that deep and extensive. The rewards of ALSA develop- Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 would sign non-disclosure agreements to provide ment at the kernel level have already been men- Linux audio developers and users with a greater se- tioned. ALSA also has a significant presence in lection of sound drivers, albeit in the form of com- the middle layer with its exceptional utilities and mercial software with some binary-only tools such as aconnect (a mechanism for routing closed-source components. This package, called MIDI I/O between ALSA-aware programs) and alsa- OSS/Linux, has itself evolved from the OSS/Free mixer (a text-mode system audio mixer). Other no- API and now supports a number of professional au- table middle-level software includes the JACK dio boards and chipsets. Audio Connection Kit (JACK), sound servers such ALSA began as Jaroslav Kysela’s project to pro- as KDE’s Analog Real-Time vide better support for his Gravis Ultrasound sound (aRts) and GNOME’s Enlightened Sound Daemon card. Eventually, he found himself at the center of (esd), libraries such as libsndfile and libaudiofile, a team of talented developers dedicated to the goal and plug-ins based on the Linux Audio Developer’s of a completely free open-source sound driver and Simple Plug-in API (LADSPA). (See www..org API that would provide professional-grade services for more information on LADSPA.) Note that there to Linux audio programmers and users. Thanks to is no explicitly prescribed middle level, but I find it the efforts of Mr. Kysela’s team and the foresight of convenient to refer to it when describing essential a few enlightened manufacturers, the project is software that is itself neither kernel-space property well on its way to meeting and surpassing its origi- nor a direct concern of the normal user. nal goals. Most popular sound-card chipsets are al- Paul Davis’s JACK, available from jackit ready supported, and I have already mentioned the ..net, deserves special description. This adoption of ALSA into the kernel sources. Other software provides a mechanism for connecting the significant ALSA achievements include the drivers audio I/O of applications without affecting perfor- for the M-Audio Delta series of multichannel audio mance latency. For example, it is possible to route boards, Takashi Iwai’s support for the Creative the audio output from a MIDI sequencer running a Labs SBLive and Audigy sound cards, and Paul to the recording channel input Davis’s drivers for the RME Hammerfall series of of a hard-disk recorder that itself may be recording professional digital audio boards. Documentation an audio stream from yet another concurrently run- to assist in getting started with ALSA is available ning application. JACK ensures low-latency and online at www..de/ϳmana/alsa090_howto sample-synchronous for all streams .html. without loss of , and it has been designed to provide a method of transport control between JACK-aware applications. Audio multiplexing is The Modern Linux Sound System also characteristic of the aRts and esd system sound servers, but although those solutions are Linux audio developers have been evolving a pro- suitable for common desktop audio, they are not fessionally capable sound system based entirely on robust enough to handle the demands of profes- free software. The system’s current status presents sional audio applications (particularly hard-disk a layered approach to solving the problems inher- recording systems). ent to the increased system performance demands Erik de Castro Lopo’s libsndfile is representative made by audio and video applications. Thus we can of essential middle layer audio software. A collec- view the modern Linux sound system at three lev- tion of such software has been growing steadily, to

Phillips 31 Table 1. Some Web resources for Linux audio 4Front Technologies www.opensound.com ‘‘Achieving Low-Latency Response Times Under Linux’’ linux.oreillynet.com/pub/a/linux/2000/11/17 /low_latency.html A GNU/Linux Audio Distribution (AGNULA) www.agnula.org The Advanced Linux Sound Architecture (ALSA) Project www.alsa-project.org Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 ‘‘ALSA 0.9.0 Programming HOWTO’’ www.suse.de/ϳmana/alsa090_howto.html Multimedia Distribution (Demudi) www.demudi.org ‘‘Introduction to MIDI Programming in Linux’’ ccrma-ww.stanford.edu/ϳcraig/articles/linuxmidi JACK Audio Connection Kit jackit.sourceforge.net Linux Audio Developer’s Simple Plug-in API (LADSPA) www.ladspa.org The Linux Audio Developers Mailing List www.linuxdj.com/audio/lad ‘‘The Linux Audio Quality HOWTO’’ www.linuxdj.com/audio/quality ‘‘The Linux Audio Users Guide’’ www.boosthardware.com/LAU/Linux_Audio_Users_Guide The Linux Audio Users Mailing List www.linuxdj.com/audio/lad/user.php3 Planet CCRMA www-ccrma.stanford.edu/planetccrma/software Turn-Key Linux Audio lulu.esm.rochester.edu/kevine/turnkey the point where Linux audio developers now have GTK, FLTK, and now provide attractive inter- excellent open-source libraries for sound file I/O face components that lend a more sophisticated ap- (libsndfile, libaudiofile), sample rate conversion pearance to applications. Multimedia toolkits such (libsamplerate), and time/pitch stretching (the as SDL (Simple DirectMedia Layer), CSL (Common SoundTouch ). This type of software works Sound Layer), and OpenAL have also brought more in both directions, aiding developers by providing capabilities to audio and video performance under commonly available high-quality audio libraries Linux while providing programmers with tools for and giving users a set of libraries shared by various simpler access to those capabilities. applications. The variety of user-level applications has also In 1996, I began listing the available user-space grown steadily since 1995. Nearly all the gaps in audio applications for Linux. At that time, the list the early lists have been filled, and Linux audio and totaled fewer than 50 items, ranging from com- MIDI software users now enjoy full-featured, pletely developed programs such as UNIX audio professional-grade hard-disk recording , sound-file stalwarts MiXViews and Csound to barely usable editors, MIDI sequencers, software sound synthe- prototypes and alpha releases. In mid 2003, the list sizers, effects plug-ins, network broadcasting, and includes more than 1,000 hyperlinks to a wide vari- audio software in many other categories, far too ety of software that still ranges from the newly many to enumerate here. A subsequent section of born to the fully developed. This situation is not this article details some specific applications from very different from the Windows and Macintosh worlds with their various sites and repositories for the categories mentioned, and I urge the interested freeware and shareware applications, but there is reader to consult the latest edition of the Linux one tremendous difference: nearly all Linux audio Sound and Music Applications Web site (linux- and MIDI software includes the source code, mak- sound.org) for a complete overview of the catego- ing it possible for any knowledgeable user to make ries and varieties of Linux audio software. A any necessary or desired changes to the software at sampling of resources on the Web for Linux and any time. audio is provided in Table 1. Readers might also be The maturity of Linux sound applications has it- interested in my publication The Book of Linux self evolved along with the various Linux develop- Music and Sound, published in 2000 by No Starch ment toolkits. In particular, GUI toolkits such as Press in San Francisco.

32 Computer Music Journal Emulation of Other Operating Environments Morton (see linux.oreillynet.com/pub/a/linux/ 2000/11/17/low_latency.html) have proven that the Some excellent operating system are Linux kernel can be tuned to eliminate perfor- available for Linux, but the performance of multi- mance bottlenecks, particularly when scheduled media applications under an emulated operating processes unnecessarily remain active, blocking ac- system remains problematic. Some MS-DOS MIDI cess to other system activity and creating high- Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 and sound applications will run very well under the latency conditions. These low-latency patches are DOSemu , and some non-real-time audio now available for anyone to apply, and they are applications for the Macintosh will run well under normally coupled with the use of the hdparm util- the ARDI Mac emulation environment, ity for fine-tuning disk performance. The hdparm but applications such as Cubase and are program gives users control over data transfer rates still beyond the capabilities of the available Win- and sizes, allowing drives to be tuned for maxi- dows emulators. However, using program code mum performance with maximum security. from the Windows Emulator (), the Code- Other research has also brought other solutions Weavers development team has created software to the latency problem. One such solution is Victor (the Crossover Plug-in) that successfully invokes Yodaiken’s RTLinux, a Linux system optimized for the QuickTime 5 player and the Windows Media real-time work where latencies must be measured Player under Linux. The VMWare program provides in microseconds, not milliseconds. Unfortunately, yet another level of interoperability: this software RTLinux is not an option for Linux audio develop- opens a virtual machine that can run Windows ap- ers, because drivers must be rewritten plications as though they were opened in their na- to take advantage of RTLinux timing, and the gains tive environment. Again, performance of real-time are not generally regarded as worth the effort. The audio and visual applications is compromised to MontaVista Linux distribution (www.mvista.com) the extent of being unusable in anything like a pro- is another example of a version of Linux highly op- timized for real-time performance, though audio la- fessional or semi-professional studio. The STEEM tency is not a direct concern of the developers of and UAE programs emulate the Atari ST and MontaVista. The performance of MontaVista Linux Amiga , and many MIDI and sound ap- certainly impresses the Yamaha Corporation: plications for those machines will run quite well in MontaVista has been chosen to be the embedded the emulated environments. operating system for a wide variety of future Ya- maha products. It may not be too unbelievable that MontaVista could show up in some of Yamaha’s Audio Latency -generation line of digital . has introduced a set of patches for The Linux kernel can be patched to reduce audio giving certain processes preemptive status at the latency to professionally acceptable levels, down to kernel level. A popular approach to optimal latency 3 msec or less. The kernel provides access to a real- reduction is to apply these patches along with An- time for fine-grained timing for sequencers drew Morton’s low-latency set. This combination and other real-time applications, and hard-disk has been shown to maintain very low-latency over tuning utilities can dramatically optimize disk per- very long periods of time. In fact, the 2.5.x develop- formance. Combining these factors with the sys- ment kernel series has introduced Robert Love’s tem’s exceptional stability, Linux becomes a preemptive as a kernel configuration option. natural choice for the design of a low-cost high- In addition, the 2.5.x series officially dispenses performance digital audio workstation (DAW). with the aging OSS/Free API and introduces ALSA An un-patched, un-tuned Linux 2.4 kernel can as the new kernel sound system. The real-time create latencies of up to 300 msec, far beyond any clock (RTC) is still a configuration option, and a acceptable limit for professional audio applications. finer-grained POSIX clock has also been added to Fortunately, patches from Ingo Molnar and Andrew the most recent development releases.

Phillips 33 Audio Drivers and Libraries and monitor (preferably with support for acceler- ated OpenGL), and optionally a MIDI keyboard. Ba- To reiterate, the three primary sources for sound sic software should include a recent Linux kernel card and audio board drivers are the OSS/Free ker- (2.4.x series and up) with real-time clock support nel modules, the ALSA drivers and library, and the and patched for low-latency; XFree86 4.0 or higher;

OSS/Linux commercial driver package. Each source ALSA (0.9.x or higher) drivers, library, and utilities; Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 has its strengths and weaknesses, but ALSA is un- JACK; and the LADSPA plug-ins. questionably becoming the standard set of audio Beyond these specifications, the main difference and MIDI drivers for Linux. Stand-out features of between the advanced desktop system and the pro- ALSA include support for audio interfaces from fessional system will be in the choice of sound card consumer-grade sound cards to professional digital or audio board. Some consumer-grade sound cards audio boards; multi-processor, -safe capabil- can be quite effective even for semi-professional ity; fully modularized drivers; a user-space library work. Signal-to-noise ratios can be bearable, and to simplify audio applications programming and S/PDIF digital audio interfaces show up on a few provide high-level functionality; and compatibility cards (e.g., Creative’s SBLive! and Audigy), making with the older OSS/Free API. Additionally, ALSA possible a digitally-connected Linux home studio. supports serial port and Universal Serial Bus (USB) However, for work at professional standards, other interfaces, and it is completely free and open- digital audio boards are necessary (e.g., the RME source, with its code base licensed under the GPL Hammerfall or the M-Audio Delta cards). A or the GNU Lesser General Public License (LGPL). professional-level studio is also likely to include The OSS/Free API should now be regarded as ob- considerably more expensive and powerful out- solete, and authors of new Linux audio software are board equipment not within the scope of this well advised to learn and utilize the ALSA API. article. OSS/Linux is a fine package, and it may be the only The question often arises as to which Linux dis- solution where specific hardware may be unsup- tribution is best suited for audio work. The truth is ported by either OSS/Free or ALSA, but it is defi- that any of the available distributions can be cus- nitely not an open-source solution. A few other tomized to the extent needed by the user. Happily, independent driver projects exist, but they are usu- the trend is to supply the user with complete turn- ally for specific cards and do not propose a general- key solutions, relieving the user from the burden of ized API. searching for and installing the necessary compo- nents for a totally Linux-based sound system. The Debian Multimedia Distribution (Demudi) project Model Linux Audio Setups led the way (see www.demudi.org), and there are now at least three other turnkey solutions available ALSA support for professional audio hardware de- for users. serves further comment. Multichannel boards such as the RME Hammerfall and the M-Audio Delta se- ries have excellent ALSA drivers, so it is now possi- Noncommercial Audio and Music Applications ble to work with professional-grade hardware under Linux. I shall describe some of the software that Given the large number of Linux audio applica- works with those boards, but first I want to de- tions, it is not possible for this article to give more scribe two typical Linux studio systems, one for ad- than a glimpse of the variety of such software vanced desktop work and another for professional available. I refer the interested reader to the Linux duty. Sound and Music Applications Web site for a better Both systems should include a fast computer, overview of the available software. However, it is large and fast hard-disk(s), at least 256 MB of worthwhile to consider some of the larger catego- random-access memory (RAM), a good ries and take a peek at their contents.

34 Computer Music Journal Figure 1. A screen image showing Common Music and Snd. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

As expected of a worthy heir to the lineage of hanced version of Csound for Windows). Cmix is UNIX software, Linux shines in its support for available in a specialized version (RTCmix), writ- sound synthesis packages derived from the seminal ten by Dave Topper, optimized for exceptional real- Music V. Csound, Cmix, cmusic, Music4C, and time performance. The entire ‘‘Common’’ family of Music are all freely available in ver- music software from Stanford University (Common sions for Linux, all packaged with source code Lisp Music, Common Music, Common Music No- (though not all are licensed under the GPL). The tation, and the Snd sound-file editor) is available extent of Linux-specific support varies: Csound for with full support for Linux, providing a complete Linux has received much attention from its world- and powerful environment for music composition wide development community, resulting in support and sound design. (See Figure 1 for a screenshot.) for full-duplex, real-time audio processing, MIDI I/ Musicians and researchers looking for Max- O, X11 graphics, and many of the extensions from inspired software will be pleased to find Miller Gabriel Maldonado’s CsoundAV program (an en- Puckette’s Pd (see Figure 2) and IRCAM’s jMax (see

Phillips 35 Figure 2. An audio/visual Pd patch. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

36 Computer Music Journal Figure 3). Both systems enjoy very active develop- aspect of the project must be coded from scratch. ment and user communities, and both seem to be Nevertheless, Ardour has been designed to reach turning to design philosophies of ever-increasing professional levels of capability and performance, integrative possibilities. Objects have been de- and by mid 2003, it is well on its way to achieving signed for real-time video capture and processing, its goals. for interfacing with Csound, for animating and con- The nature of Ardour’s development is itself a Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 trolling OpenGL graphics, and for using software model of successful Linux audio software develop- synthesizers and external plug-in architectures ment. Although Ardour is essentially the vision such as Steinberg’s Virtual Studio Technology and creation of an individual, Paul Davis has ac- (VST) and LADSPA. quired a team of talented volunteers to help push Linux sound-file editors deserve special mention. the project forward. Contemporary development Users migrating from the Windows or Macintosh tools (particularly those provided by the online environments may be disappointed by the apparent SourceForge project management environment) are lack of an editor in the same class as Cool Edit Pro fully employed, and while a high standard of skill or Peak, but Bill Schottstaedt’s Snd is arguably one is necessary at the core coding level, the project re- of the most powerful editors available for any plat- mains open to all who wish to be involved. In a form. Its power is largely reserved for users willing manner similar to Linus Torvald’s style, Mr. Davis to learn the Guile/Scheme programming language, acts as ‘‘benign dictator’’ and final arbiter, ensuring but there seems little it cannot do that is done in the integrity of his original vision while welcoming Cool Edit Pro (at least at the editing level). Newer new ideas and suggestions from his team members sound editors include Conrad Parker’s Sweep, the and ordinary users. excellent ReZound, Dominic Mazzoni’s outstand- Notable current MIDI software for Linux in- ing , and the audiovisual editor. cludes the Anthem, MusE, and se- Older but still powerful stalwarts include Doug quencers. MusE is especially noteworthy for its Scott’s venerable MiXViews and Richard Kent’s support of advanced features such as audio se- Digital Audio Processor (DAP). quencing, LADSPA plug-ins, software synthesizers, At this point a divide exists. The software men- and other ALSA clients. Rosegarden claims a simi- tioned so far represents a development tradition lar set of features, with a special interest to Csound based in universities and research centers, but users: it can save its output as a Csound score many popular audio (e.g., MIDI (among many other formats). Both MusE and Rose- sequencers, MIDI patch editor/librarians, and hard- garden perform MIDI and audio sequencing as well disk recording systems) have been defined primar- as basic standard music notation, and both are al- ily by commercial development houses. However, ready JACK-aware. Other worthy Linux MIDI soft- manufacturers of large-scale integrated audio-and- ware includes the ALSA MIDI patch bay and the MIDI sequencers and hard-disk recorders (HDRs) excellent JSynthLib universal synthesizer editor/ such as Cubase or Logic Audio do not provide librarian. source code to the end user, nor do highly evolved Perhaps the easiest way to begin learning about MIDI sequencers such as Cakewalk. Open-source Linux audio projects is to install one of the new programmers who wish to write such applications turnkey systems optimized for sound and music must learn to do so without benefit of an inherited production: Demudi, Planet CCRMA (from Stan- code base, yet that is exactly what has occurred. ford University’s Center for Computer Research Paul Davis’s open-source application Ardour (see in Music and Acoustics, available online at Figure 4) is aimed squarely at users familiar with www.ccrma.stanford.edu/planetccrma/software), the ProTools model software for digital audio Turn-Key Linux Audio (lulu.esm.rochester.edu/ workstations. Such a task might daunt most kevine/turnkey), or AGNULA (A GNU/Linux Au- programmers, particularly when almost every dio distribution available from www.agnula.org).

Phillips 37 Figure 3. A simple jMax patch. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

38 Computer Music Journal Figure 4. The Ardour editor window. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

They provide a low-latency kernel, ALSA drivers, duction to Linux in general and its audio software JACK and LADSPA, and a host of sound and music base. applications. It is important to recognize that these As indicated, the scope of Linux audio software either are full-fledged distributions or require only is too broad to delineate in detail here. Other nota- a simple installation to upgrade an existing system. ble categories include applications for working (For example, Planet CCRMA installs on top of an with CD technologies (rippers, burners, players), te- existing Red Hat installation, and Turn-Key Linux lephony systems (see especially the Bayonne pro- installs on top of a Mandrake installation.) Great ject), digital disk-jockey (DJ) tools, virtual drum efforts have been made to make entry into the machines (e.g., the drum pattern editor; world of Linux audio as painless as possible with- see Figure 5), MP3 and audio compression out crippling the power of the underlying system, software, MOD trackers, software synthesizers and these packages are certainly an excellent intro- (e.g., ZynAddSubFX; see Figure 6), and various net-

Phillips 39 Figure 5. The Hydrogen drum pattern editor. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

work audio solutions (network sound servers and software. However, 4Front provides drivers for a streaming audio delivery systems). Interested read- wide variety of UNIX platforms, not only Linux. ers are again advised to consult one of the Linux For some platforms, 4Front is the only source for Sound and Music Applications sites for a complete audio drivers, so it must be noted that they do not survey. depend solely upon Linux users for the company’s revenue flow. Other notable attempts at commer- cializing Linux audio software include the Ceres Commercial Audio and Music Applications sound file editor (not to be confused with the spec- tral domain processor of the same name from the At this time, only one company (4Front Technolo- Norsk Nettverk for Akustikk, Teknologi, og Mu- gies; see www.opensound.com) has survived as a sik, or NoTAM), the Ultramaster RS101 rhythm commercially viable entity selling Linux audio synthesizer, and the Jazz MIDI sequencer. Of those

40 Computer Music Journal Figure 6. The ZynAddSubFX software synthesizer. Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021

an Conclusion: Prospects for Linux Audio,םםattempts, only Jazz has survived (as Jazz open-source audio-and-MIDI sequencer project available under the GPL). Ultramaster and Ceres In March 2003, I attended the first conference dedi- have seemingly disappeared, but commercial Linux cated solely to Linux audio development, hosted by audio software may yet occupy a viable market po- the Zentrum fur Kunst und Medientechnologie sition. Companies such as Steinberg and Twelve- Tone Systems have started to show interest in the (ZKM) in Karlsruhe, . For three days, Li- Linux audio community, and as more users shift to nux audio developers from Germany, , , Linux from Windows or the Macintosh, they will Belgium, England, and the USA met to discuss a likely demand more of their familiar software for wide variety of issues related to audio software de- the new platform. velopment at all levels. The conference was a great

Phillips 41 success, clarifying and resolving some current is- use VST plug-ins via LADSPA or Pd, Istvan Varga’s sues, and defining many other future plans and di- CsoundFLTK is a state-of-the-art version of Csound rections. Outstanding presentations included for Linux, and the JSynthLib project supports an demonstrations of Ardour, Pd, the Bedeviled Audio ever-increasing number of MIDI synthesizers. Like System (BEAST), gAlan, Common Lisp Music, and Linux itself, this software is under constant devel- jMax, as well as technical discussions regarding the opment by its programmers and continual review Downloaded from http://direct.mit.edu/comj/article-pdf/27/4/27/1854887/014892603322730488.pdf by guest on 28 September 2021 ALSA system, LADSPA plug-in programming, and by its users. The Linux audio community is stead- the evolution of the AGNULA and Planet CCRMA ily expanding, as is the amount and quality of documentation and other tutorial material. Linux environments. The high levels of skill and coopera- itself has become easier to install, with greatly tion served to underscore my belief that although improved hardware recognition and support, and there is indeed still a long path ahead, it is getting its community of users provides a vast reference shorter every day, thanks to the efforts and talents resource for ‘‘newbies’’ and gurus alike. These fac- of Linux audio software developers. tors, in conjunction with the increasing sophistica- Linux audio and MIDI tion of its audio components and the availability of moves steadily forward. The Ardour HDR/DAW turnkey systems, make it clear that Linux is evolv- is already quite sophisticated and is likely to ing into a platform worthy of serious consideration become the ‘‘killer app’’ for Linux audio, Kjetil by sound researchers, musicians, and multimedia Matheussen’s VSTserver has made it possible to artists.

42 Computer Music Journal