> 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 ?introduction?. > I think it's an excellent overview of the underlying system > though, well done for doing it. Thanks. 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 ce ******************************************** ******************************************** 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 device * 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 server. ===== 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 instead. 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 esound. ===== 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 plugin. ===== 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 jack. ===== 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 systems. ===== Here are some resources you should know. First of all, there's the homepage of the ALSA project, including a hardware database. On the jack homepage, you should find the latest version of jack. 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!