[linux-audio-user] Linux audio video 0.1 alpha 1

Christoph Eckert mchristoph.eckert at t-online.de
Wed Dec 15 16:15:17 EST 2004

> This is a great idea, and a good educational video. I
> noticed a couple of things I thought were maybe slightly
> wrong as I watched it - I don't suppose you have a script
> you could show us, as that would make it easier to comment?

Attached (you asked for it ;-).

> Also, I'm not sure it's best to call this 'Basics'.
> 'Fundamentals' maybe would be a better word.

Great, I did think about it and didn't find a better word. 
I'll use your's instead :) .

> I would worry 
> that it will look rather confusing and maybe offputting if
> this is used to introduce people to Linux audio. Maybe the
> first thing people see should be something a bit less
> theoretical, like a walkthrough in Ardour or something?

I absolutely agree; we'll not repell but cast people.

Therefore, I did avoid to call it something like 

> I think it's an excellent overview of the underlying system
> though, well done for doing it.


I think it's still too theoretically; maybe some screenshots 
and a short jingle at the beginning and the end of the video 
would be great.

 Best regards



Welcome to this video about Linux Audio.

This video provides information about the basic audio 
architecture on Linux based systems.


The base system needs three things:

* The hardware, this means a computer and any kind of audio 
* The operating system kernel, in this case Linux
* A driver system to make your device work

In Linux, there are two driver systems. The older Open Sound 
System - OSS -
and the newer Advanced Linux Sound Architecture.

You have to choose one of them; it is not possible to have 
both assigned to a card.

For professional audio work, you should use ALSA. PLease note 
that ALSA can emulate OSS,
so applications which only have an OSS interface can be also 
used when running ALSA.


As soon as your card is set up and the correct driver is 
runnning, an audio application 
can use it. Unfortunately, only one application at a time can 
now use the device.

That's not what you want to happen, you want to have multiple 
applications like synthesizers
and sequencers playing sound. So you're in need of a sound 


The soundserver will grab the audio card.
Other applications which have a built in interface for the 
soundserver will put the sound
not directly to the audio device but to the soundserver 

The soundserver mixes the sound of the different applications 
and plays it through the audio device.

You might have guessed that there are more than one 
soundserver available on Linux.


The KDE projects uses aRts and the Gnome project uses esound. 
Professional audio users use the Jack soundserver.

Because a soundserver grabs the audio device for exclusive 
usage, you can only have one soundserver running on an audio 
device at the same time.


arts gets automatically started as soon as your KDE session 
starts. When you want to use further non-KDE audio 
applications, you have at first to stop arts.


The same for esound. esound gets automatically started as soon 
as your Gnome session starts. When you want to use further 
non-gnome audio applications, you have at first to stop 


Jack is a soundserver which is the right thing for 
professional use. The main advantage is that Jack does not 
simply merge audio from different applications.

Jack uses realtime capabilities of the linux kernel to ensure 
that audio gets processed with absolutely correct timing.

Furthermore, Jack takes care about the applications which are 
connected to it. If an application hangs, it gets 
disconnected by jack and has to be reconnected again.

This way, one application can fail, but all others will not 
stop playing sound.

To make an application a jack client, it needs built in jack 
support. Meanwhile many applications have built in jack 
support, and even media players like xmms offer a jack output 


There's Portaudio which some people think it is also a sound 
server, but it isn't. Portaudio is an audio abstraction 
layer. Portaudio is used for example by Audacity.

Audacity is a tool for editing audio material like samples. 
Audacity can be compiled for Windows, Mac OS ten and Linux as 
well, so Audacity uses portaudio as a translator for the 
different operating systems.

So, portaudio itself is not a sound server but an audio 
abstraction layer.


Finally, here's a configuration recommendation. Above the 
hardware, use a Linux kernel of the 2.6 series. These have 
built in ALSA support as well as realtime capabilities needed 
by jack.

Furthermore, try to use the latest jack version you can get. 
Jack is under heavy development, and every few days there's a 
new version which includes long desired features.

On top of this, use applications which can output sound to 


If you plan to buy a special audio card, you have to know if 
the desired device will be working on linux. You will not get 
Linux drivers from the manufacturer itself.

To check it out, visit the homepage of your distribution or 
the homepage of the ALSA project. You can also join the 
ALSA-user or the linux audio user mailinglists.

Common on-board chips, like chips conforming to the AC 97 
standard, will work. Most - but not all - PCI cards should 
work as well.

Surprisingly, many USB devices will work, both audio and MIDI. 
Please note that you can do audio on USB 1.1 connections. You 
do not necessarily need USB 2.0.

Firewire audio cards do currently not work on linux based 


Here are some resources you should know. First of all, there's 
the homepage of the ALSA project, including a hardware 

On the jack homepage, you should find the latest version of 

The following page can be used to subscribe to the linux audio 
user's mailing list.

The linux kernel can be found on kernel.org, but configuring 
and installing a kernel of your own isn't the easiest thing 
to do for normal users.

You can contact the author of this video by e-Mail for asking 
questions. The pages you have seen are also available as an 
Open Office.org presentation.


A short Conclusion will close this video. You should use the 
ALSA driver system in conjunction with Jack as a soundserver.

Applications you'd like to use need built jack support and 
have to be startet explicitely as a jack client.

OK, I hope you have enjoyed this video, thanks for your time 
and patience, and have fun with audio on Linux!

More information about the Linux-audio-user mailing list