Linux is a major operating system that can not only do what every other operating system can do, but can also do a lot more. But because of its size and complexity it can be hard to learn how to do any particular task. This is reinforced by its development model: anyone can develop new components, and indeed Linux relies on a huge army of paid and unpaid volunteers to do just that. But that can lead to confusion: if two methods are developed for one task, which one should be chosen? or more subtly, what are the distinguishing features of one solution that make it more appropriate for your problem?
The Linux sound system is a major example of this: there is a large variety of tools and approaches for almost every aspect of sound. This ranges from audio codecs, to audio players, to audio support both within and outside of the Linux kernel.
I've been using Linux since kernel 0.99. I'm not a kernel hacker, more of a user and a programmer at the application layer. But I've always got lost whenever I want to do something complex involving Linux sound. So I've decided out of sheer bravado to try to describe the range of solutions to Linux sound issues. Of course, I'm way out of my depth, but that makes it a challenge, not a hindrance!
I'm going to rely on the people who really know what they are doing. So rather than re-invent everything from scratch I'm going to borrow the words of experts whenever I can. But the responsibility will still be mine, so please forgive and correct all the errors that I will make...
|Jan Newmarch is Academic Course Manager (ICT) at Box Hill Institute and Adjunct Professor Canberra University . His home page is at jan.newmarch.name . Jan has been writing books and papers for many years on all sorts of aspects of ICT: distributed programming, user interfaces, audio,Java, Go, GPUs, Raspberry Pi, X Window system, Wayland, ...|
If you like this book, please consider
contributing using PayPal:
Or Flattr me:
||Copyright © Jan Newmarch [email protected]|
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.