www.wikidata.de-de.nina.az
Die Advanced Linux Sound Architecture ALSA ist eine freie Soundarchitektur fur Linux Systeme die uber PCM Audio und MIDI Funktionalitat verfugt ALSA steht unter der GPL Treiber amp Hilfsprogramme sowie der LGPL Anwendungsbibliotheken Advanced Linux Sound ArchitectureAlsaMixer 1 0 14 unter Ubuntu 7 10BasisdatenMaintainer Das ALSA Team 1 Entwickler Jaroslav KyselaErscheinungsjahr 4 November 1998Aktuelle Version 1 2 10 2 1 September 2023 Betriebssystem LinuxProgrammiersprache C 3 Kategorie Sound TreiberLizenz GPL und LGPLdeutschsprachig neinalsa project orgALSA besteht aus Linux Kernelmodulen die verschiedene Kerneltreiber fur Soundkarten bereitstellen Unterschiedliche Aufgaben allg Sound Midi Wave Synthesizer Hardware werden durch einzelne Geratetreiber im Soundstack abstrahiert Wiedergabe von Dolby Digital ist moglich 4 Die Ziele des ALSA Projektes waren insbesondere die Unterstutzung einer automatischen Konfiguration der Soundkarten und eine elegante Handhabung mehrerer Soundgerate in einem System Diese Ziele wurden grosstenteils erreicht Verschiedene Frameworks wie JACK und PulseAudio nutzen ALSA fur Audiobearbeitung und abmischung auf professionellem Niveau mit niedriger Latenz Die wenig gepflegten Treiber fur die OSS3 Architektur werden in aktuellen Kernel Versionen zugunsten von ALSA als deprecated veraltet markiert Das System wurde auch fur OS 2 basierte Betriebssysteme eComStation und Arca OS portiert 5 Inhaltsverzeichnis 1 Geschichte 2 Eigenschaften 3 Funktionsweise 3 1 Konzepte 4 Werkzeuge 5 Weblinks 6 EinzelnachweiseGeschichte BearbeitenDas Projekt entstand August 1998 aus einem Treiber fur die Soundkarte UltraSound des Herstellers Gravis unter der Leitung von Jaroslav Kysela Kysela argerte sich uber den schlechten Treiber des Open Sound System fur seine Karte und schrieb einen Ersatz dafur den auch andere Besitzer der Karte begeistert nutzten 6 ALSA wurde separat vom Linux Kernel entwickelt bis es 2002 in den Entwicklungszweig der Kernelversion 2 5 5 aufgenommen wurde 7 8 Es ist seit der Kernelversion 2 6 das standardmassige Soundsystem Mit ALSA Version 1 0 17 wurde das Versionskontrollsystem von Mercurial auf Git umgestellt und viele neue Treiber fur System on a Chip hinzugefugt Ausserdem kam eine Unterstutzung fur High End Audiokarten und I C hinzu 9 Eigenschaften BearbeitenVerwenden Programme die ALSA Userspace Library ist softwareseitiges Abmischen durch ALSAs PCM Plugin Schnittstelle moglich z B durch das Dmix Plugin Das bedeutet dass verschiedene Soundstreams z B von verschiedenen Programmen zur gleichen Zeit wiedergegeben werden konnen ohne dass ein Soundserver wie PulseAudio ESD oder aRts verwendet werden muss ALSA und besonders die Treiber fur Soundhardware sind voll modularisiert ALSA benotigt eigene Treiber fur die anzusprechenden Gerate weshalb OSS Treiber nicht weiter verwendet werden konnen Von Endanwendergeraten bis zu professionellen Mehrkanalkarten wird eine Vielzahl von Geraten unterstutzt Fur Entwickler relevant ist dass ALSA vollstandig Multithreading und SMP fahig ist Als Programmierschnittstellen dienen die ALSA API die eine Schnittstelle zum ALSA Kernelmodul bereitstellt und die ALSA Userspace Library libasound die uber die volle Funktionalitat der ALSA API verfugt aber die Verwendbarkeit wesentlich verbessert Die Verwendung der Userspace Library ist auch aus Grunden des softwareseitigen Abmischens vorteilhafter ALSA enthalt eine Emulation die libaoss Bibliothek fur OSS Programme um diese weiterhin nutzen zu konnen 10 Es unterstutzt unbegrenzt viele Kanale den unbeschrankten Full Duplex Betrieb und enthalt ein Loopback Device 6 Funktionsweise BearbeitenDie Treiber fur ALSA befinden sich ab 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 ermoglicht In der mittleren befinden sich die Hardwareschnittstellen wie z B Mixer Sequencer MIDI und hardwareabhangige Komponenten Die untere Ebene enthalt den karten und chipspezifischen Code Sofern vorhanden befinden sich zwischen mittlerer und unterer Ebene die Module zur OSS Kompatibilitat 6 Die Schnittstelle zwischen den Treibern und den Anwendungen bilden dann die Bibliotheken im alsa lib Paket Damit mehrere Programme gleichzeitig die Soundkarte verwenden konnen kommt ein sogenannter Soundserver zum Einsatz Konzepte Bearbeiten Dieser Absatz liefert eine Ubersicht uber die Grundkonzepte von ALSA 11 12 13 Ublicherweise unterstutzt ALSA bis zu acht cards die mit 0 bis 7 nummeriert werden jedes card ist entweder ein physisches oder ein logisches Kernel Gerat welches Klang aufnehmen ausgeben oder kontrollieren kann Jedes card kann uber seine String ID adressiert werden z B Headset oder ICH9 Ein card besitzt devices deren Nummerierung startet ebenfalls mit 0 Es gibt mehrere device Typen Arten z B playback capture control timer oder sequencer Als Default wird 0 angenommen Ein device kann subdevices besitzen deren Nummerierung startet mit 0 ein subdevice reprasentiert irgendeinen relevanten Klang Endpunkt fur dieses device z B ein Lautsprecher Paar Wenn kein bestimmter subdevice spezifiziert wird oder die Nummer 1 werden alle verfugbaren subddevices angesteuert Das interface einer card ist die Beschreibung eines ALSA Protokols fur den Zugriff darauf Verfugbare interfaces sind hw plughw default und plug dmix Die hw Schnittstelle erlaubt den direkten Zugriff auf das Kernel Gerat ohne software mixing oder stream adaptation Die Schnittstellen plughw und default erlauben die Ausgabe von Klang in Fallen wo die hw Schnittstelle eine Fehlermeldung produziert Eine Applikation spezifiziert die Ausgabe von Klang indem die oben beschrieben Parameter zusammen in ein einem device string ubergeben werden Es hat eine der Folgenden Syntax sie sind case sensitive interface card device subdevice interface CARD 1 DEV 3 SUBDEV 2 Ein ALSA stream ist ein Datenfluss der Klang reprasentiert das haufigste Format ist PCM Der erzeugte stream muss genau zur Hardware passen bezuglich sampling rate z B 44 1 kHz oder 48 kHz sample width z B 8 16 24 or 32 bits sample sample encoding number of channels 1 fur Mono 2 fur Stereo oder 6 fur AC 3 IEC958ALSA benotigt auch einen Puffer Parameter dieser bestimmt wie haufig die CPU angesprochen werden muss um neue Klang Daten zu liefern Werkzeuge Bearbeiten nbsp Alsamixer mit Einstellungen fur Lautstarke und einzelne KanaleDas ALSA Projekt liefert viele Werkzeuge zur Konfiguration des Soundsystems mit Dazu gehoren viele Einstellungsprogramme zur Einstellung von ALSA und der verwendeten Soundkarte wie alsaconf als auch fur den Ton wie alsamixer und amixer Ausserdem sind auch einfache Abspielprogramme fur WAVE und MIDI Dateien vorhanden 14 Weblinks BearbeitenWebsite des Projektes englisch Einzelnachweise Bearbeiten alsa project org Alsa Team Main Page News AlsaProject abgerufen am 4 September 2023 Ohloh Analysis Summary ALSA Memento des Originals vom 20 Dezember 2013 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www ohloh net AC3 AVI Testfile RAR 949 KB Nicht mehr online verfugbar Archiviert vom Original am 4 Oktober 2007 abgerufen am 20 Februar 2021 https www arcanoae com wiki uniaud a b c https www heise de ix artikel Neue Klaenge 505720 html Release notes for v2 5 5 http www pro linux de NB3 news 1 3990 alsa ersetzt oss html http www linux community de Internal Nachrichten Alsa stark ueberarbeitet http www linux user de ausgabe 2005 06 038 sound frmwks index html Jeff Tranter Introduction to Sound Programming with ALSA In Linux Journal Oktober 2004 abgerufen am 8 Januar 2012 Dave Phillips A User s Guide to ALSA Nicht mehr online verfugbar In Linux Journal Juni 2005 archiviert vom Original am 9 Januar 2012 abgerufen am 14 August 2019 Alsa C library Doxygen documentation Oktober 2007 abgerufen am 8 Januar 2012 Alsa utils Memento vom 6 Marz 2013 im Internet Archive Abgerufen von https de wikipedia org w index php title Advanced Linux Sound Architecture amp oldid 234338497