Введение

Программный каркас
В Linux звуковые серверы, такие как sndio, PulseAudio, JACK (профессиональное редактирование и микширование аудио с низкой задержкой), PipeWire, а также API более высокого уровня (например, OpenAL, SDL audio и др.) работают поверх ALSA и его драйверов звуковых карт. ALSA пришёл на смену более раннему порту Open Sound System (OSS) для Linux.

История

Проект разработки ALSA возглавил Ярослав Кисела и был основан на драйвере устройства Linux для звуковой карты Gravis Ultrasound. Он стартовал в 1998 году и разрабатывался отдельно от ядра Linux, пока не был включен в серию разработки 2.5 в 2002 году (2.5.4–2.5.5). В версии 2.6 он заменил предыдущую систему, Open Sound System (OSS), по умолчанию (хотя слой обратной совместимости всё ещё существует). ALSA имеет более обширный и сложный API, чем OSS, поэтому разработка приложения, использующего ALSA в качестве звуковой подсистемы, может быть более сложной. Хотя ALSA может быть настроен для обеспечения эмуляции OSS, такая функциональность больше не доступна или не устанавливается по умолчанию во многих дистрибутивах Linux.

Приложения

В дополнение к программной инфраструктуре, встроенной в ядро Linux, проект ALSA также предоставляет командные инструменты и утилиты alsactl, amixer, arecord/aplay и alsamixer (с использованием GTK), Kmix, tapiir (с использованием FLTK), ZynAddSubFX, Yoshimi и многое другое.

Реализация

Слой ALSA System on Chip (ASoC) предназначен для обеспечения более качественной поддержки ALSA на встраиваемых системах, использующих архитектуру "система на кристалле" (SoC). Open Sound System версии 4 способна эмулировать ALSA. QNX использует звуковую систему, основанную на, но не полностью совместимую с, ALSA. Имена файлов заголовков и библиотек по-прежнему "asound", как и в ALSA. API ALSA использует вызовы, недопустимые в ядре QNX.