Créateur | Jaroslav Kysela (d) |
---|---|
Développé par | Alsa Team[1] |
Première version | 0.0.7 (4 novembre 1998) |
Dernière version | 1.2.12 ()[2] |
État du projet | Actif |
Écrit en | C |
Système d'exploitation | Linux |
Environnement | Linux |
Langues | Multilingue |
Type |
Pilote de carte son Mixeur audio |
Licence |
GNU GPL 2.0 GNU LGPL 2.1 |
Site web | alsa-project.org |
Advanced Linux Sound Architecture (abr. ALSA) est un ensemble de logiciels pour enregistrer et jouer des sons, qui est incorporé dans le noyau Linux. Destiné à remplacer Open Sound System (OSS) pour le support des cartes son, il comporte un mixeur audio et une suite de pilotes[3]. Les objectifs initiaux du projet comportent la configuration automatique des cartes son et le support aisé de plusieurs cartes son dans le même système, et ont été largement atteints. Quelques frameworks audio, JACK par exemple, utilisent ALSA pour une édition et un mixage à basse latence et de qualité professionnelle.
Lancé par Jaroslav Kysela, le projet a démarré à partir d'un pilote Linux pour la carte son Gravis Ultrasound en 1998, et a été développé en marge du noyau Linux, jusqu'à son introduction dans la série 2.5 en 2002 (2.5.4-2.5.5)[4]. Il remplace OSS dans la version 2.6 bien qu'une couche de rétrocompatibilité existe.
ALSA est distribué sous licence GNU GPL 2.0 et/ou GNU LGPL 2.1.
ALSA est conçu pour utiliser quelques fonctionnalités qui n'étaient pas, lors de sa conception, prises en charge par OSS :
Afin d'apporter proprement ces fonctionnalités, ALSA a une interface de programmation (API) plus grande et plus complexe que celle d'OSS, il peut donc être plus difficile de développer une application utilisant ALSA qu'une utilisant OSS. Cependant, ALSA possède une couche d'émulation d'OSS, ainsi l'API OSS, plus portable et plus simple, peut être utilisée. En plus des pilotes de cartes son, ALSA inclut une bibliothèque de plus haut niveau, pour ceux qui ne désirent pas interagir directement avec le noyau.
ALSA apporte également des outils permettant d'effectuer plusieurs tâches[5],[6] :