Linux: It Sounds Good to Me

Greetings to all readers of the Linux Journal Web
site, and welcome to the first installment of a new monthly column about
Linux audio software. For those of you who have been following developments
in the Linux audio world, it should come as no surprise that a column
such as this one has arrived. But for those of you who are thinking
“Linux audio? What in the world
could that be about?”, you'll find the answers here.

Before starting this month's article, I want to take a moment and introduce
myself. I've been using Linux since late 1995, I'm the maintainer of the
Linux Sound and Music Software pages on the Web, and I'm the author
The Book of Linux Music and Sound (published by the No Starch Press). I've
also published a few dozen articles on the Web and in hard-copy (all
on Linux audio-related topics); I occasionally lecture in the US and
Europe; and I'm currently involved with documentation for the AGNULA
project (more about that later). I'm also a professional musician
(guitarist/singer/composer), performing and teaching in and around
my home of Findlay, Ohio, in the US. When I'm not working in any of those
activities, I usually can be found in the company of my beloved Ivy Maria,
doing things like cooking, watching movies, practicing Italian or taking
walks in the northwest Ohio countryside. Oh, and I'm an avid t'ai chi
player and amateur Latinist.

Okay, on to the reasons for this column. I intend to report on various
activities and developments in the rapidly evolving world of Linux
audio. To most normal users perhaps the term audio software simply means
programs to play MP3 and Ogg files or applications that necessarily
have something to do with audio, such as CD and DVD players. Although I'll
certainly write about such software, I'll also present views of work
being done in such fields as MIDI software, telephony, network audio,
digital DJing, professional sound recording and many others. I hope you
enjoy the column, and I invite all readers to write to me with comments
and suggestions.

LAD And LAU: What Are They and Why Should You Care about Them?

Out of all my involvements with Linux audio, perhaps my greatest source of
pride is to have been a founding member of the Linux Audio
Development group. I should make it very clear to my readers that I'm no
coder: I have an amateur's knowledge of C, Lisp and Tcl/Tk, but I've
never written a substantial audio application, nor do I plan to. However,
since my first days in Linux I've been in direct contact with developers
of such applications, often in the combined roles of bug-hunter and
beta-tester. Since 1996 I've made the acquaintance of almost every developer
working on Linux audio software. In 1998, a group of developers and users
decided to declare themselves the official Linux Audio Development
(LAD) group. At that time the group included about a dozen members,
but by December 2003 the group's membership list has grown to more than
600 participants and lurkers.

So what do LAD people discuss ? Well, in its Aims and Ideas section, the original charter states:

The Linux Audio Developers (LAD) list is dedicated to sound architecture
and application development for the Linux operating system. With its
proven stability and scalability, it is a perfect foundation for the
handling and processing of large amounts of audio data. Our goal is
to encourage widespread code re-use and cooperation, and to provide a
common forum for all audio related software projects and an exchange
point for a number of other special-interest mailing lists.

A list such as LAD necessarily maintains a rather high technical bias,
but I must emphasize that it is open to anyone who wishes to
subscribe and contribute. Some LAD members are among the most significant
developers of Linux audio software, including Paul Davis (Ardour, JACK),
Kai Vehmanen (ecasound), Fernando Pablo Lopez-Lezcano (PlanetCCRMA),
Richard Bown and Chris Cannam (Rosegarden), Werner Schweer (MusE) and
many others. You'll meet some of them and learn more about their projects
during the existence of this column. I also must note that although the
levels of discussion often are quite high, the participants are cordial
and friendly--though they can bite back if bitten. It is to be
expected on such a list that strong differences of opinion occasionally
appear, but it is a testament to the participants' dedication to the
goals of LAD that any serious ad hominem attacks or flame-fests are
diffused quickly.

Incidentally, the LAD charter also states that most driver-related
discussions and hardware installation questions are not within the
scope of the mail list. See the LAD home site (listed below) for directions to more
appropriate forums.

To give you some idea of what is talked about on the LAD list, here's
a sampling of topics from November 2003 traffic:

Does Native Instruments run their Traktor
filesystem on Linux through WINE?

An open letter regarding GPL violations in certain
audio software for OS/X

A proposition for polyphonic use of LADSPA
plugins

Linux audio and the PPC

State of GUIs for modular synths

OSS driver/support for JACK

“Retro” speech synthesis

Singing speech synthesis with Festival

Discussion of Slashdot's report on the Lionstracs
Linux-based music keyboard workstation

An exchange of views regarding SkaleTracker,
commercialism and the general state of Linux audio software

Using JACK for control voltage (CV) signals

Juicy stuff, to be sure, and typical of the postings for any given
month. By the way, as you can see there is constant and varied discussion
regarding LADSPA (the Linux Audio Developers Simple Plugin API) and JACK
(the JACK Audio Connection Kit), two of the most important community
development projects for Linux audio. I'll be covering both in later
articles, but you can learn more about them on your own by consulting
the Resources at the end of this column.

So, that's a little bit about LAD. Whether you're a seasoned developer
looking for an entrance point into the world of Linux audio programming
or a complete newbie to programming anything in Linux, the LAD list is
an excellent forum for your involvement.

In the natural course of such things, the original LAD list eventually
became a bit overcrowded with developers discussing the technicalities of
their various projects and users who needed more non-technical advice and
encouragement. After some discussion it was decided to split off a new
group; thus was born the Linux Audio Users (LAU) group. Obviously
this group is targeted at the normal user of Linux audio software,
as a look at some of last month's topics indicates:

Notes on the SBLive with Live Drive

The low-latency kernel on Mandrake

Reducing noisy recording/playback

Using a Shure SM57 microphone with a low-end
soundcard

Advice on burning audio CDs

Notes on using the Zaurus palmtop for music and
sound

Using the M-Audio Quattro USB interface with
JACK

MIDI timing problems

Using Stompboxes2 with Audacity

Working with SpiralSynthModular's JACK
plugin

Problems using JACK with SuSE

News regarding JACK and KDE/aRts

Problems using VST plugins under Linux

Recommendations for hardware for Linux
audio

Advice on stretching sounds

As you can see, the discussions on LAU are focused on presenting and
resolving user-land problems with Linux audio applications. Message types
also include exclamations of joy/pain over available (or unavailable)
software, as well as general questions regarding kernel preparation and
distribution-specific issues. As on the LAD list, discussion usually is
civil and on-topic, although strong statements and opinions are not
absent here either. I recommend joining the LAU list to any users who have a need
for a decent audio system under Linux, whether for composing, editing
or simply playing your music.

Comment viewing options

Sorry it took me so long to view this article, but life's been exceptionally dynamic recently.

Thundrous applause to all who made this column possible, and especially as a free-as-in-beer Internet venue. This shows you guys get it about the significance of this to the ever growing Linux community. As with GNU/Linux in general, the makers of audio tools both hard and soft may not know it yet, but they are nearing the World Domination of Linux audio, certainly within five years. Musicians, you're about to find out you don't need to spend your precious funds on music software any longer (wow, totally awesome hosannas, you guys, but could you please hold it down--I'm trying to compose a post here). I believe Dave is the only guy in the world who can pull this column off and I pray he makes beaucoup francs for all the pro bono work he keeps cranking out.
Again, congratulations for a successful (I hope) launch.

I am excited to see this column!! I would liek to see all kinds of things discussed here from the bits and bytes of the sound cards through the question of how do I compose music with Linux? How do I use Rosegarden? I'm smart enough to use this post, but rosegarden mytifies me.

This column is just starting to scratch the surface with where this can go. I am looking forward to this column growing and growing!!!

What I'd really, really think would be cool for linux audio, is if the sound drivers could provide an API for user-space software synthesizer applications to appear as MIDI devices.

This modular approach would allow for many cool things, such as the softsynth appearing as an ordinary device on an existing, real, MIDI chain.
It would also allow for different softsynths to be used together (each program appearing as its own device), and also be used with all and any existing sequencer package.

As far as I know, this is indeed possible. YOu can certainly take a software synth that is already available on Linux, and not only can you route MIDI data to it from any application, with the use of JACK, you can also route it's audio data to any JACK enabled app.

This is a great effort you have taken on and I want to thank you personally for stepping up to the task.

I use sound for many things with Gnu/Linux computers. One of the things I am really interested in is amateur radio applications that use sound cards [eg. linpsk, qsstv.] ALSA should make it easier for our coders to produce applications that will work on *any* hardware, but this is just a beginning. I know several hams that are both hams and musicians--so this is a very relevent topic.

Great idea for a regular Linux audio column. My interest is
primarily audio integrated with MIDI. I wonder why in your
first article you didn't mention ALSA. I have always assumed
Linux audio would eventually standardize on ALSA.

Greetings: As I mentioned in my response to the message before yours, I do intend to cover ALSA in a future column. And you're right, Linux is indeed standardizing on ALSA: the 2.6.x kernel series will replace the OSS/Free API with ALSA, officially deprecating the older interface. Btw, I'll also be writing about MusE and Rosegarden, two of the best audio/MIDI sequencers available for Linux. Feel free to let me know if there's anything you'd like to see in this column, and thanks for your note. :)

The sound portion of Linux has always been my greatest interest so I'm very glad to see a sound related column in the LJ. Thank you and I look forward to reading it as the months roll by.
One thing I have always wanted to read about is more infromation on is the ALSA drivers themselves. I don't mean code specific information like that what is already available in the alsa-library documentation (which goes over my head anyway), but information on:

The abstract - how ALSA connects or represents a particular sound card or device to the kernel and to me Mr. user. Another way of phrasing this is what did the authors of ALSA have in mind when they created it?
A rough description of how a sound file (pcm and/or midi) gets "played".
An explanation of how .asoundrc plays into this and finally (for now)
An explanation of the ALSA plugins, why are they there? What can I do with them?

Greetings, Dave Phillips here. Funny you should be asking about ALSA stuff, there's some activity going on at the ALSA site that should address some of your queries and concerns, particularly your last two. Patrick Shirkey has completely overhauled the soundcard matrix page, please check it out at http://www.alsa-project.org/alsa-doc/index.php. An example .asoundrc file is given for almost every card, and there are more elaborate examples contributed by users (for certain cards only). Your other questions deserve some more explanation than I can possibly give here, so I'll plan on doing a "Let's meet ALSA" column soon. Release 1.0 is coming up soon anyway, the timing would be good for such an article. Meanwhile, feel free to contact me directly for more info, I'll help as I'm able. :)

I just wanted to mention that it was agreed that announcements should be cross-posted to LAA, LAU, and LAD during the creation of LAA. LAA is for people who *only* want announcements. I'm surprised it doesn't say something like that on the webpage.Maybe that should be revisited.

Thanks for the clarification, Taybin, I'd forgotten about that agreement. My mailbox does get a bit cluttered receiving announcements in triplicate, but truthfully it's no big deal. I'm very glad just to have the forums. :)

I am a member of a smallish group trying to develop continuous speech recognition capability for Linux (ie Dragon NaturallySpeaking style). See the mailing list at http://leb.net/ddlinux/
We need to know what sound cards and input hardware work the best with Linux. Need very high definition over the short range of the human voice
Susan Cragin susancragin@earthlink.net

Hi Susan: Dave Phillips here. I recommend joining the LAU list, your question is exactly the kind of thing that gets discussed and resolved there. Regarding soundcards: If you need only common stereo CD-quality audio you can use the SBLive (which includes an S/PDIF digital connection), but if you're looking for a multichannel solution you should consider the M-Audio or RME cards. Again, I urge you to join LAU, it's a very good forum for your needs. Feel free to write to me directly if you need more information. :)

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.