This article is about basic sound management. For advanced topics see Pro Audio.
Arch sound system contains of several levels:
- Drivers and interface – hardware support and control
- Usermode API (libraries) – utilized and required by applications
- (optional) Usermode sound servers – best for the complex desktop, needed for multiple simultaneous audio apps, and vital for more advanced capabilities e.g. pro audio
- (optional) Sound frameworks – higher-level application environments not involving server processes
Default Arch installation already includes kernel sound system, namely ALSA, and lots of utilities for it, to be installed from official repositories. Ones who want additional features can switch to another one (namely OSS) or install one of several sound servers.
Drivers and Interface
- The Advanced Linux Sound Architecture (ALSA) — A Linux kernel component providing device drivers and lowest-level support for audio hardware.
- http://www.alsa-project.org/main/index.php/Main_Page || present in stock kernel
- The Open Sound System (OSS) — An alternative sound architecture for Unix-like and POSIX-compatible systems. OSS version 3 was the original sound system for Linux and is in the kernel, but was superceded by ALSA in 2002 when OSS version 4 became proprietary software. OSSv4 became free software again in 2007 when 4Front Technologies released its source code and provided it under the GPL. Does not support as wide a variety of hardware as ALSA, but does better for some.
- PulseAudio — A very popular sound server, usable by most common desktop Linux applications today. Very good at handling multiple simultaneous inputs, and can do network audio as well. Very easy to get working, in fact very often all one has to do is install the package and it will automatically run. Not intended for pro audio low-latency applications.
- The Jack-Audio-Connection-Kit — The older edition of a sound server for pro audio use, especially for low-latency applications including recording, effects, realtime synthesis, and many others. Although this edition is the older, it retains a very active and devoted development team, and which edition to use is not clear, trial and error is often helpful.
- JACK2 — Also called jackdmp, this is the newer edition of JACK, designed explicitly towards multi-processor systems, and also includes transport over network.
- JACK2 with D-Bus — This is JACK2 with a different startup architecture, capable of running well at all times in coexistence with PulseAudio and non-Jack applications, which is a problem for the other two categories of Jack setup.