Advanced Linux Sound Architecture

Advanced Linux Sound Architecture
Advanced Linux Sound Architecture
Alsa v1.0.14 ubuntu7.1 de.png
AlsaMixer 1.0.14 unter Ubuntu 7.10
Basisdaten
Maintainer Das ALSA-Team[1]
Entwickler Jaroslav Kysela
Aktuelle Version 1.0.24
(31. Januar 2011)
Betriebssystem Linux
Programmier­sprache C[2]
Kategorie Sound-Treiber
Lizenz GPL und LGPL
Deutschsprachig nein
alsa-project.org

Die Advanced Linux Sound Architecture (ALSA) ist eine freie Soundarchitektur für Linux-Systeme, die über (PCM-)Audio- und MIDI-Funktionalität verfügt. ALSA steht unter der GPL (Treiber & Hilfsprogramme) sowie der LGPL (Anwendungsbibliotheken).

ALSA besteht aus Linux-Kernelmodulen, die verschiedene Kerneltreiber für Soundkarten bereitstellen. Unterschiedliche Aufgaben (allg. Sound; Midi, Wave, Synthesizer; Hardware) werden durch einzelne Gerätetreiber im Soundstack abstrahiert. Wiedergabe von Dolby Digital ist möglich.[3] 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 und PulseAudio nutzen ALSA für Audiobearbeitung und -abmischung auf professionellem Niveau mit niedriger Latenz.

Die wenig gepflegten Treiber für die OSS3-Architektur werden in aktuellen Kernel-Versionen zugunsten von ALSA als deprecated (veraltet) markiert.

Inhaltsverzeichnis

Geschichte

Das Projekt entstand August 1998 aus einem Treiber für die Soundkarte UltraSound des Herstellers Gravis unter der Leitung von Jaroslav Kysela. Kysela ärgerte sich über den schlechten Treiber des Open Sound System für seine Karte und schrieb einen Ersatz dafür, den auch andere Besitzer der Karte begeistert nutzten.[4]

Mit Version 1.0.17 wurde das Versionskontrollsystem von Mercurial auf Git umgestellt und viele neue Treiber für System on a Chip hinzugefügt. Außerdem kam eine Unterstützung für High-End Audiokarten und I²C hinzu.[5]

ALSA wurde separat vom Linux-Kernel entwickelt, bis es 2002 in den Entwicklungszweig der Kernelversion 2.5.5 aufgenommen wurde.[6][7] Es ist seit der Kernelversion 2.6 das standardmäßige Soundsystem.

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.

ALSA und besonders die Treiber für Soundhardware sind voll 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.

ALSA enthält eine Emulation, die libaoss-Bibliothek, für OSS-Programme, um diese weiterhin nutzen zu können.[8]

Es unterstützt unbegrenzt viele Kanäle, den unbeschränkten Full-Duplex-Betrieb und enthält ein Loopback-Device.[4]

Funktionsweise

Die Treiber für ALSA befinden sich seit Version 2.6 des Linux-Kernel direkt in ihm. Sie selbst sind in mehrere Ebenen unterteilt. Die oberste ist der ALSA-Soundkernel, der den Zugriff auf die mittlere Ebene ermöglicht. In der mittleren befinden sich die Hardwareschnittstellen wie z.B. Mixer, Sequencer, MIDI und hardwareabhängige Komponenten. Die untere Ebene enthält den karten- und chipspezifischen Code. Sofern vorhanden, befinden sich zwischen mittlerer und unterer Ebene die Module zur OSS-Kompatibilität.[4]

Die Schnittstelle zwischen den Treibern und den Anwendungen bilden dann die Bibliotheken im alsa-lib-Paket. Damit mehrere Programme gleichzeitig die Soundkarte verwenden können, kommt ein sogenannter Soundserver zum Einsatz.

Werkzeuge

Alsamixer mit Einstellungen für Lautstärke und einzelne Kanäle

Das ALSA Projekt liefert viele Werkzeuge zur Konfiguration des Soundsystems mit. Dazu gehören viele Einstellungsprogramme zur Einstellung von ALSA und der verwendeten Soundkarte, wie alsaconf als auch für den Ton wie alsamixer und amixer.

Außerdem sind auch einfache Abspielprogramme für .wav und .mid-Dateien vorhanden.[9]

Weblinks

Quellen

  1. alsa-project.org – Alsa Team
  2. Ohloh Analysis Summary – ALSA
  3. AC3-AVI-Testfile
  4. a b c http://www.heise.de/ix/artikel/Neue-Klaenge-505720.html
  5. http://www.linux-community.de/Internal/Nachrichten/Alsa-stark-ueberarbeitet
  6. Release notes for v2.5.5
  7. http://www.pro-linux.de/NB3/news/1/3990/alsa-ersetzt-oss.html
  8. http://www.linux-user.de/ausgabe/2005/06/038-sound-frmwks/index.html
  9. http://alsa.opensrc.org/index.php/Alsa-utils

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Advanced Linux Sound Architecture — ALSA Captura de pantalla de alsamixer Desarrollador Equipo de ALSA[1 …   Wikipedia Español

  • Advanced Linux Sound Architecture —  Pour l’article homonyme, voir Alsa.  ALSA …   Wikipédia en Français

  • Advanced Linux Sound Architecture — Infobox Software name = ALSA caption = Screenshot of AlsaMixer 1.0.14 collapsible = author = Jaroslav Kysela developer = released = 1998 latest release version = 1.0.17 latest release date = release date and age|2008|07|14 latest preview version …   Wikipedia

  • Advanced Linux Sound Architecture — …   Википедия

  • Sound card — A Sound Blaster Live! Value card, a typical (circa 2000) PCI sound card. Connects to Motherboard via one of: PCI ISA USB IEEE 139 …   Wikipedia

  • Processus de développement de Linux — Linux a apporté un changement radical dans la façon dont les systèmes d exploitation sont développés, en construisant une communauté de développement autour d Internet. Ce développement en communauté sur Internet possède les caractéristiques… …   Wikipédia en Français

  • Open Sound System — Original author(s) Hannu Savolainen Developer(s) 4Front Technologies Initial release 1992 Stable release 4.2 Build 2005 / August 5, 2011; 3 months ago …   Wikipedia

  • Linux on zSeries — Linux on System z is the collective term for the Linux operating system compiled to run on IBM mainframes, especially System z machines. Other terms with the same meaning include Linux/390, Linux on zSeries, Linux for zSeries, Linux on System z9 …   Wikipedia

  • Open Sound System — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Arquitectura de Sonido Avanzada para Linux — El módulo de Arquitectura de Sonido Avanzada para Linux (más conocido por el acrónimo ALSA de sus siglás en inglés Advanced Linux Sound Architecture. Licenciado bajo GPL es, quizás, uno de los sistemas de sonido más usado en los sistemas …   Enciclopedia Universal

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”