ALSA

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
ALSA
Alsamixer 1.1.0.png
AlsaMixer 1.1.0 в Ubuntu 16.04
Тип звуковая архитектура
Автор
Разработчик команда разработчиков ALSA
Написана на Си[1]
Операционная система Linux
Первый выпуск 1998
Последняя версия
Лицензия GNU GPL 3 и GNU LGPL
Сайт alsa-project.org
Commons-logo.svg ALSA на Викискладе

ALSA (англ. Advanced Linux Sound Architecture, Продвинутая звуковая архитектура Linux) — архитектура звуковой подсистемы, а также широкий набор звуковых драйверов для операционных систем на базе ядра Linux, призванный сменить Open Sound System (OSS). ALSA тесно связана с ядром Linux. ALSA — программный микшер, который эмулирует совместимость для других слоев. Также предоставляет API для программистов и работает с низкой и стабильной задержкой, сравнимой с звуковыми подсистемами ASIO из Windows и CoreAudio (англ.) из Mac OS X. В ядре Linux драйвера для аудиоаппаратуры представлены в виде модулей, начинающихся на snd_. ALSA также полностью поддерживает OSS и может одновременно управлять восемью аудиоустройствами. Также ALSA реализует функциональность MIDI.

История[править | править код]

Основанный Jaroslav Kysela, проект начался как драйвер Linux для звуковой карты Gravis Ultrasound в 1998 году, и разрабатывался отдельно от ядра Linux, пока не был внедрён в него во время разработки версии 2.5 в 2002 году (2.5.4–2.5.5)[3].

В версии 2.6 он по умолчанию заменил OSS (хотя обратная совместимость существует до сих пор)[4].

Особенности[править | править код]

ALSA была разработана с некоторыми особенностями, которые в то время не поддерживались OSS:

  • Аппаратный синтез MIDI;
  • Аппаратное микширование нескольких каналов;
  • Полнодуплексная работа;
  • Поддерживающие многопроцессорность, thread-safe драйверы;
  • Эффективная поддержка всех типов звуковых интерфейсов, от любительских до профессиональных многоканальных интерфейсов;
  • Поддержка более старого OSS API, обеспечение бинарной совместимости для большинства OSS программ.

ALSA имеет более комплексное API, чем OSS, поэтому труднее для разработки приложений, её использующих. Хотя ALSA может быть настроена для поддержки эмуляции OSS, многие дистрибутивы Linux не поддерживают такую возможность.

См. также[править | править код]

Примечания[править | править код]

Ссылки[править | править код]