https://wiki.ubuntuusers.de/ALSA/
ALSA, die Advanced Linux Sound Architecture, - grundlegende Baustein des Soundsystems unter Linux, ... - um der Soundkarte T"one zu entlocken. - Ohne ALSA geht gar nichts - stellt die Kernelmodule (unter Windows "Treiber" genannt) bereit, - mit denen die Soundkarte "berhaupt erst angesprochen werden kann. - Da die Module zum Kernel geh"oren, muss man sie nicht extra installieren, sie sind bereits vorinstallier - Der wichtigste Teil von ALSA sind die Kernelmodule ("Treiber"), welche die Soundkarte funktionieren lassen. - Unterschiedliche Soundkarten benutzen verschiedene Adressen und Befehlss"atze. - In der Regel wird die Soundkarte beim Booten vom Kernel erkannt. - Der Kernel l"adt daraufhin das zur Soundkarte passende Kernelmodul. - Schnittstellen f"r die Ein- und Ausgangskan"ale (Aufnahme und Wiedergabe), - Schalter und Funktionen (zum Beispiel Vorverst"arker, Frequenzweichen, SPDIF, Equalizer etc. - Ein Equalizer oder EQ (auch: Equaliser, englisch: to equalize, to equalise: angleichen, equal: gleich; auch Entzerrer genannt) ist ein Filter als elektronische Komponente zur Tongestaltung und zur Entzerrung von Tonfrequenzen, "berwiegend Musik, oder von anderen frequenzbasierten Signalen wie modulierten Datensignalen - Ein Equalizer setzt sich aus mehreren Filtern zusammen, mit denen das Spektrum des Eingangssignals bearbeitet werden kann. "Ublicherweise wird ein Equalizer verwendet, um lineare Verzerrungen eines Signals zu korrigieren. - ALSA als Soundserver - Viele Soundkarten bieten nicht die M"oglichkeit, gleichzeitig verschiedene Klangquellen wiederzugeben. Um es dennoch zu tun, braucht man eine Art Mischpult. - Bei Ubuntu und generell bei Linux nennt man dieses Mischpult Soundserver. - ALSA bietet die M"oglichkeit, die Ressourcen der Soundkarte beliebig zu gruppieren und zu benennen. - alsa-base (ALSA driver configuration files) - alsa-utils (Utilities for configuring and using ALSA) - sudo apt-get install alsa-base alsa-utils Spezielle Soundkarten - Echo-, - ICE1712-, - ICE1724- und - RME-Karten alsa-tools-gui (universe, GUI based ALSA utilities for specific hardware) - alsa-base (ALSA driver configuration files) - alsa-utils (Utilities for configuring and using ALSA) - alsa-tools-gui (universe, GUI based ALSA utilities for specific hardware) Dies geschieht in Konfigurationsdateien, die im Ordner - /usr/share/alsa/cards/ - standardisierten Namen (zum Beispiel - "default", - "front" und - "surround51 .asoundrc. cat /proc/asound/cards 0 [M1010LT ]: ICE1712 - M Audio Delta 1010LT M Audio Delta 1010LT at 0xe800, irq 20 1 [CX8801 ]: CX88x - Conexant CX8801 Conexant CX8801 at 0xfc000000 - Eine Auflistung von allen von ALSA gefundenen Soundkarten cat /proc/asound/cards - Initialisierung - Damit eine Soundkarte von ALSA sauber erkannt wird, muss sie in der .asoundrc bekanntgegeben werden; Voreinstellungen Konfiguration In diesem Beispiel werden zwei Soundkarten gefunden, Nummer 0 mit dem Namen M1010LT, und Nummer 1 mit dem Namen CX8801. hier hei"st die erste Schnittstelle hw:0 (wahlweise hw:M1010LT). Analog dazu hei"st die zweite von ALSA gefundene Soundkarte hw:1 (wahlweise hw:CX8801). aplay -L default sysdefault:CARD=M1010LT front:CARD=M1010LT,DEV=0 surround41:CARD=M1010LT,DEV=0 surround50:CARD=M1010LT,DEV=0 Konnektivit"at alsamixer speaker-test speaker-test -c 2 -D front aplay aplay hilft den Status von ALSA zu erkennen. aplay -l aplay -L aplay -D front foo.wav arecord Mit arecord kann man Aufnahmequellen als Datei aufzeichnen. arecord -D hw:1 -f cd foo.wav amixer pcm.snd_card { type hw card 0 device 0 } ctl.snd_card { type hw card 0 device 0 } "snd_card" ist der Name des Ger"ates. Digital SPDIF HDMI Will man statt des Standard-Ausganges (dies ist in der Regel die analoge Ausgangsbuchse "Line Out", oben durch "device 0" festgelegt) Standard-Ausganges "Line Out", "device 0" digitalen Ausgang aka SPDIF aplay -l $ aplay -l Karte 0: ICH5 [Intel ICH5], Ger"at 0: Intel ICH [Intel ICH5] Karte 0: ICH5 [Intel ICH5], Ger"at 4: Intel ICH - IEC958 [Intel ICH5 - IEC958] IEC958 "device 4" statt des oben verwendeten "device 0" HDMI aplay -l device 9 Mixing H"aufigstes Einsatzszenario ist das Software-Mixing. Verf"gt eine Soundkarte "ber keinen Hardware-Mixer (und das ist meistens der Fall), so m"ssen die verschiedenen Audio-Signale mittels Software zusammengemischt werden. Dies geschieht "ber das "dmix"-Plugin. OSS Es gibt noch viele Programme, die zur Sound-Ausgabe nur OSS (Open Sound System) unterst"tzen JACK Um eine Schnittstelle zu jack (Jack Audio Connection Kit) zu bekommen, Surround-Sound Viele Signalquellen sind mittlerweile mehrkanalig. Sie alle werden unter dem Begriff "Surround-Sound" zusammengefasst. Man ist "berein gekommen, zur Beschreibung eine "x.y"-Notation zu verwenden. Dabei stellt "x" die Anzahl der ungefilterten Kan"ale dar, und "y" ggf. den Subwoofer-Kanal. Beispiel: "5.1" hat insgesamt 6 Kan"ale ("Vorne links", "Vorne rechts", "Hinten links", "Hinten rechts", "Zentrum" und einen "Bass") Ein Stereo-Signal hat demzufolge die Notation "2.0". ALSA bietet f"r viele Soundkarten bereits vordefinierte Surround-Ger"ate an. Ob die eigene Karte unterst"tzt wird, kann man einfach testen: speaker-test -D surround51 -c 6 Manuelle Festlegung¶ Da beim Surroundsound mehr Kan"ale als bei Stereo verwendet werden, m"ssen die o.g. Definitionen angepasst werden. Beim "dmixer"-Plugin geschieht dies einfach durch eine Erweiterung der Kanal-Bindung. bindings { 0 0 1 1 2 2 3 3 4 4 5 5 } Dieses Beispiel gilt f"r ein 5.1-System. Downmix Mittels der .asoundrc kann man ein 5.1-Signal auf Stereo heruntermischen (5.1 auf 2.0): Upmix¶ Analog zum Downmix l"asst sich ein Stereosignal auf ein 5.1-System hochmischen: Softwaremixing Stereo Softwaremixing Stereo 44,1KHz Summensignal 5.1 Surround Kanal-Splitting Bei einer 8-Kanal-Soundkarte werden 4 unabh"angige Stereo-Ausg"ange definiert. Eingebaut ist eine Ratekonversion auf 96KHz. Permanenter Upmix Soundchip CMI8738-MC6 Unabh"angige Stereokan"ale Speziell f"r den Soundchip "ice1712" (genauer: eine "M-Audio Delta 1010LT" Unabh"angige Stereokan"ale Terratec Producer Phase26 Wenn mit channels bzw. bindings mehr Kan"ale angegeben sind, Rate falsch¶s Rate von 44100 Hz Rate von 48000 Hz. Die Abtastrate oder Abtastfrequenz, auch Samplingrate, Samplerate oder Samplingfrequenz, Die Abtastrate oder Abtastfrequenz, auch Samplingrate, Samplerate oder Samplingfrequenz, ist in der Signalverarbeitung die H"aufigkeit, mit der ein Analogsignal (auch zeitkontinuierliches Signal genannt) in einer vorgegebenen Zeit abgetastet (das hei"st, gemessen und in ein zeitdiskretes Signal umgewandelt) wird. Da es sich bei einer Abtastung immer um einen periodischen Vorgang handelt, ist ihre grundlegende Einheit das Hertz (abgek"rzt: Hz), also Perioden pro Sekunde. Das sich kontinuierlich ver"andernde Eingangssignal wird immer nur im Augenblick des Abtastvorgangs gemessen, wodurch jedes Mal ein Momentanwert ermittelt wird. Daher werden die einzelnen Messergebnisse auch Samples (englisch f"r Stichproben) genannt, und man spricht auch von Samples pro Sekunde, abgek"rzt SPS, Sa/s oder S/s. Bei Bedarf werden die "blichen Vors"atze f"r Ma"seinheiten verwendet: Ein Abtastvorgang pro Sekunde: 1 Hz = 1 S/s 44.100 Abtastvorg"ange pro Sekunde: 44,1 kHz = 44,1 kS/s (siehe Audiosample) Eine Milliarde Abtastvorg"ange pro Sekunde: 1 GHz = 1 GS/s bzw. GSPS (siehe Hochfrequenzmesstechnik). Ein Audiosample ist ein digitalisiertes analoges Audiosignal. Hierbei werden dem analogen Audiosignal "ber einen A/D-Wandler Ausschnitte (Samples) entnommen und gespeichert. Dies geschah anfangs noch mit einer Aufl"osung von 8 Bit, sp"ater mit 16 und 24 Bit. Die Standardabtastrate war lange Zeit 44,1 kHz, seit etwa 2003 wurden mit dem Aufkommen der SACD 96 kHz verwendet und inzwischen etabliert sich eine Abtastung von 192 kHz (192.000 Messwerte pro Sekunde). Im Studiobereich kommen zudem auch Wandler mit 384 kHz Abtastrate zur Anwendung. pulseaudio PulseAudio ist ein erweiterter Soundserver, der von fast allen offiziellen Ubuntu-Varianten verwendet wird. PulseAudio kann bei Bedarf jedoch "ber das Paket pavucontrol nachinstalliert werden. pipewire sudo apt-get install pulseaudio