Advanced Linux Sound Architecture
aus Wikipedia, der freien Enzyklopädie
Advanced Linux Sound Architecture | |
---|---|
AlsaMixer 1.0.11rc2 unter KDE 3.5.3 in einem Konsolen-Fenster |
|
Basisdaten | |
Entwickler: | Das ALSA-Team |
Aktuelle Version: | 1.0.13 (29. September 2006) |
Betriebssystem: | Linux |
Kategorie: | Sound-Treiber |
Lizenz: | GPL |
Deutschsprachig: | nein |
Website: | alsa-project.org |
Die Advanced Linux Sound Architecture, ALSA, stellt eine Soundarchitektur für Linux-Systeme bereit, die über Audio- und MIDI-Funktionalität verfügt. ALSA steht unter der GPL.
ALSA ist ein Linux-Kernelmodul, das verschiedene Kerneltreiber für Soundkarten durch einen einzelnen Gerätetreiber abstrahiert und die Unterschiede der Soundkarten intern behandelt. Die Ziele des ALSA-Projektes waren insbesondere die Unterstützung einer automatischen Konfiguration der Soundkarten und eine elegante Handhabung mehrerer Soundgeräte in einem System. Diese Ziele wurden größtenteils erreicht. Verschiedene Frameworks wie JACK nutzen ALSA für Audiobearbeitung und -abmischung auf professionellem Niveau mit niedriger Latenz.
Das Projekt entstand 1998 aus einem Treiber für die Soundkarte UltraSound des Herstellers Gravis unter der Leitung von Jaroslav Kysela und wurde separat vom Linux-Kernel entwickelt, bis es 2002 in den Entwicklungszweig der Kernelversion 2.5 aufgenommen wurde. Mit der Kernelversion 2.6, im Dezember 2003, löste ALSA die OSS-Architektur als Standard ab.
[Bearbeiten] Eigenschaften
Verwenden Programme die ALSA Userspace Library, ist softwareseitiges Abmischen durch ALSAs PCM-Plugin-Schnittstelle möglich, z. B. durch das Dmix Plugin. Das bedeutet, dass verschiedene Soundstreams, z. B. von verschiedenen Programmen, zur gleichen Zeit wiedergegeben werden können, ohne dass ein Soundserver, wie ESD oder aRts, verwendet werden muss.
Die Treiber für Soundhardware sind bei ALSA modularisiert. ALSA benötigt eigene Treiber für die anzusprechenden Geräte, weshalb OSS-Treiber nicht weiter verwendet werden können. Von Endanwendergeräten bis zu professionellen Mehrkanalkarten wird eine Vielzahl von Geräten unterstützt.
Für Entwickler relevant ist, dass ALSA vollständig Multithreading- und SMP-fähig ist. Als Programmierschnittstellen dienen die ALSA-API, die eine Schnittstelle zum ALSA-Kernelmodul bereitstellt und die ALSA Userspace Library, libasound, die über die volle Funktionalität der ALSA-API verfügt, aber die Verwendbarkeit wesentlich verbessert. Die Verwendung der Userspace Library ist auch aus Gründen des softwareseitigen Abmischens vorteilhafter.
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- Seite des ALSA-Projektes (englisch)
- Wiki zu ALSA (englisch)
- Tutorial zur Programmierung mit ALSA (englisch)