PulseAudio ist ein Open-Source-Netzwerk-Soundserver für Linux und andere UNIX-ähnliche Betriebssysteme. Es wurde von Grund auf entwickelt, um Benutzern eine zuverlässige Alternative zum alten ESOUND (Enlightened Sound Daemon) zu bieten.
Es ist ein modularer Soundserver
Da er ein sehr wichtiger Teil einer Computerumgebung ist, wird ein Soundserver hauptsächlich für die Softwaremischung verschiedener Audioströme, generische Hardware und Sound-API-Abstraktion sowie Netzwerktransparenz verwendet. Es ist ein modularer Sound-Server, der zahlreiche Plug-in-Module zur Unterstützung von Soundprotokollen, Audiogeräten, X Window System, Bluetooth, JACK-Konnektivität, RTP, SAP und SDP-Transport, Lautstärkeregelung, Filtern sowie verschiedenen Protokollen enthält.
Erweiterbare Plugin-Architektur
Selbst wenn seine Plugin-Architektur erweiterbar ist, bietet sie Unterstützung für das statische Verbinden und Autoloading von Modulen, für mehr als eine Quelle oder Senke, clientseitige Latenzinterpolation, akzeptable Low-Latency-Funktionalität und Sample-Typ-Resampling und -Konvertierung. Für die Tonaufnahme und -wiedergabe bietet das Projekt sehr genaue Latenzmessungen. Es kann leicht in andere Programme eingebettet werden, verfügt über eine "Zero-Copy" -Architektur und eine einfache Befehlszeilenschnittstelle, die es erfahrenen Benutzern ermöglicht, den Daemon einzurichten, während er läuft.
Unter der Haube
PulseAudio enthält unter anderem eine vollständig asynchrone C-API (Application Programming Interface), zwei synchrone APIs und verschiedene Netzwerk-Audio-Streaming-Optionen. Der Soundserver kann dazu verwendet werden, mehrere Soundkarten problemlos zu mischen und mehrere Wiedergabeströme gleichzeitig zu synchronisieren. Mehrere Open-Source-Projekte bieten Unterstützung für den PulseAudio-Soundserver, wie ALSA, LiVES, MPD, MPlayer, Xine, VLC Media Player und SXEmacs.
Wird in jeder modernen Distribution unterstützt von Linux
Momentan wird PluseAudio auf jeder modernen Linux-Distribution sowie auf den Betriebssystemen FreeBSD, NetBSD, Solaris, Mac OS X und Microsoft Windows (Win32) unterstützt. Es ist auch der Standard-Sound-Server vieler bekannter Linux-Betriebssysteme und lässt sich einfach über die grafischen Anwendungen PulseAudio Volume Control und PulseAudio Preferences konfigurieren.
Was ist neu in dieser Version :
- Der Tarball für 12.1 enthielt ein defektes configure-Skript (das Erstellen fehlgeschlagen, wenn gsettings aktiviert wurde), also benutze das nicht! Verwenden Sie PulseAudio 12.2, es ist besser! Es gibt keine Änderungen außer dem neu generierten Tarball mit einem funktionierenden Konfigurations-Skript und einer aktualisierten NEWS-Datei.
Was ist neu in Version 11.1:
- Bessere Latenzberichte (und damit bessere A / V-Synchronisation) mit dem A2DP-Bluetooth-Profil
- Deutlich genauere Latenzberichte für AirPlay-Geräte
- Ein Problem mit dem Absturz oder der CPU bei Verwendung von Intel HDMI LPE wurde behoben
- module-switch-on-connect ignoriert jetzt virtuelle Geräte
- Wenn Passthrough für komprimiertes Audio verwendet wird, legen Sie die Option "Nicht-Audio" fest. Bit
- Priorisieren Sie die HDMI-Ausgabe über die S / PDIF-Ausgabe
- HSP-Unterstützung für mehr Bluetooth-Headsets
- Wählen Sie standardmäßig das A2DP-Bluetooth-Profil anstelle von HSP
- Neue & quot; sink_input_properties & quot; Modulargument für Modul-ladspa-sink
- Neu & quot; use_system_clock_for_timing & quot; Modulargument für Modul-Pipe-Sink
- module-pipe-sink kann jetzt eine bestehende pipe verwenden
- Steelseries Arctis 7 USB-Headset-Stereo-Ausgang unterstützt
- Unterstützung der Dell Thunderbolt Dock TB16-Lautsprecherbuchse
- Behoben Digital-Input-Unterstützung für einige USB-Soundkarten
- Behebung der Erkennung von Native Instruments Traktor Audio 6
- Möglichkeit, Eingabe oder Ausgabe auf macOS zu deaktivieren
- Neu & quot; Dereverb & quot; Option für den Speex Echokompensator
- Neues Modul: module-always-source
- Zustandsdateien, die im Systemmodus nicht mehr für alle Benutzer lesbar sind
- module-augment-properties verwendet jetzt XDG_DATA_DIRS, um .desktop-Dateien zu finden
- Updates für die Vala-Bindungen
- Die GConf-Abhängigkeit kann jetzt vermieden werden
- qpaeq-Lizenz wurde von AGPL in LGPL geändert
- qpaeq portiert zu Qt 5
- Kompatibilität mit glibc 2.27
- Das esdcompat-Tool wird nicht mehr installiert, wenn die esound-Unterstützung deaktiviert ist
Was ist neu in Version:
- Automatische Routing-Verbesserungen
- Beamforming und verschiedene andere neue Funktionen im WebRTC Echo Canceller
- Verschiedene Verbesserungen in Modul-Rolle-Kork und Modul-Rolle-Ducking
- LFE Remixing standardmäßig deaktiviert
- memfd-backed shared memory transport
- Unterstützung für Abtastraten bis zu 384 kHz
- webrtc-audio-processing-abhängige minimale Version wurde auf 0.2 gesetzt
- Der C-Standard wurde von C99 auf C11 geändert.
Was ist neu in Version 8.0:
- Automatisches Routing, bei dem das Profil wahrscheinlich geändert wird
- OS X und NetBSD unterstützen Verbesserungen
- Systemprotokollprotokollierung für Clients
- Neue LFE-Programmierschnittstelle für das Gleichgewicht
- Modul-dbus-Protokoll Verbesserungen
- Flexiblere Handhabung von Konfigurationsdateien
- pulsecore-8.0.so wurde in ein privates Verzeichnis verschoben
- Neues Skript zum Messen des Speicherverbrauchs
- Verschiedene Bugfixes und kleine Verbesserungen
Was ist neu in Version 7.1:
- Korrigiert einen Crasher bei der Verwendung von srbchannel
- Behebung eines Build-System-Tippfehlers, der dazu führte, dass symbolische Links in / auftauchen
- Sorgen Sie dafür, dass Xonar-Karten besser funktionieren
- Weitere kleinere Bugfixes und Verbesserungen
Was ist neu in Version 7.0:
- LFE-Kanalsynthese mit Tiefpassfilterung
- Neue libsoxr basierte Resampler
- Socket-Aktivierungsunterstützung für TCP
- Der & rdquo; srbchannel & quot; IPC-Mechanismus standardmäßig aktiviert
- Unterstützung für flexiblere Jack-Erkennung bei Verwendung von UCM
- Das Beenden aufgrund von SIGTERM gilt nicht als Fehler
- Bessere Unterstützung für Creative SoundBlaster Omni Surround 5.1
Was ist neu in Version 6.0:
- BlueZ 5 native HSP (Headset) Unterstützung
- BlueZ 5 HFP (freihändige) Profilunterstützung über oFono
- systemd socket Aktivierung Unterstützung
- Bessere Unterstützung für Mehrkanal- und 2.1-Profile
- Remap-Optimierungen
- Viele kleinere Verbesserungen, Bugfixes und i18n Updates
Was ist neu in Version 4.0:
- Bessere Behandlung von Anfragen mit niedriger Latenz
- Optimierungen beim Mischen (generisch, ARM NEON)
- Der Standard-Resampler ist jetzt speex-float-1 (geringere CPU-Auslastung)
- Umfassende Bluetooth-Refactoring für bessere Zuverlässigkeit und einfachere Wartung
- Fehler bei der fehlerfreien Übergabe an / von JACK
- Neues Modul zum Anwenden von Ducking basierend auf Stream-Rollen
- Echo Cancel Infrastructure korrigiert
- Bash- und zsh-Vervollständigung für Befehlszeilentools
- Korrekturen für Solaris und OS X
- Viele andere Verbesserungen, Fehlerkorrekturen und Dokumentationen und i18n Updates
Was ist neu in Version 3.0:
- ALSA Unterstützung für Use Case Manager (UCM):
- Die Audio-Hardware auf Desktop- und Laptop-Computern ist normalerweise ausreichend für PulseAudio, um mit einem gemeinsamen Satz von Konfigurationsdateien umgehen zu können. Die Situation unterscheidet sich z.B. Telefone und Tablets. Praktisch alle diese Geräte benötigen separate Konfigurationsdateien zur Beschreibung der Hardware, damit PulseAudio alle grundlegenden Funktionen der Hardware richtig nutzen kann. Die Konfiguration könnte als PulseAudio-Konfigurationsdateien geliefert werden, aber die ALSA-Leute haben an einem System gearbeitet, das es Anwendungen (wie PulseAudio) ermöglicht, die Hardware ohne zusätzliche Konfiguration in der Anwendung zu verwenden. Das System heißt UCM, und PulseAudio unterstützt es jetzt.
- Laufzeit editierbare LADSPA-Filterparameter:
- Das LADSPA-Modul bietet jetzt eine grundlegende D-Bus-Schnittstelle für die Änderung der Filterparameter im laufenden Betrieb. Zuvor konnten die Parameter nach dem Laden des Filters nicht geändert werden.
- Sofort einsetzbare Unterstützung für Bluetooth-Quellen:
- PulseAudio kann in einer Bluetooth-Headset-Rolle verwendet werden, beispielsweise um einen Laptop mit einem Mobiltelefon zu verbinden und so zu tun, als wäre der Laptop ein Headset. In diesem Fall ist es oft wünschenswert, den Ton vom Telefon auf die Soundkarte des Laptops zu übertragen. Dies geschieht nun automatisch durch die Modul-Bluetooth-Richtlinie, die standardmäßig geladen wird. Benutzer müssen jedoch die Quellunterstützung in ihrer BlueZ-Konfiguration aktivieren.
- ARM NEON-Optimierungen:
- Optimierungen wurden für die Konvertierung von Sampleformaten zwischen S16LE- und Fließkommaformaten mithilfe der ARM NEON-Anweisungen hinzugefügt. Unterstützung für diese wird zur Kompilierzeit (basierend auf FPU-Flags) sowie zur Laufzeit (basierend auf / proc / cpuinfo) erkannt. Im Rahmen dieser Bemühungen wurde der Grundstein für weitere NEON-Optimierungen in der Zukunft gelegt.
- Konfigurierbarer Geräte-Latenz-Offset:
- Eine genaue Latenzberichterstattung ist wichtig für z.B. "Lippensynchronisation" in der Videowiedergabe. PulseAudio verlässt sich auf die Audio-Hardware, um genaue Informationen über die Audio-Verzögerung zu liefern. Wenn diese Informationen aus irgendeinem Grund nicht korrekt sind, ist es jetzt dank Damir Jelics Google Summer of Code-Arbeit möglich, einen Offset zu konfigurieren, der auf jeden Latency-Bericht angewendet wird. Wenn Sie beispielsweise ein Video ansehen und ein Bluetooth-Headset für die Audioausgabe verwenden, ist die Lippensynchronisierung möglicherweise etwas deaktiviert, da PulseAudio derzeit keine angemessene Unterstützung für die Abfrage der Latenz für Bluetooth-Geräte bietet. Mit der kommenden Version von pavucontrol können Sie das Synchronisationsproblem beheben, indem Sie den Latenz-Offset des Bluetooth-Headsets anpassen.
- Beachten Sie die XDG-Basisverzeichnisspezifikation:
- Die Position der Konfigurationsdateien wurde von ~ / .pulse nach ~ / .config / pulse verschoben (oder wenn $ XDG_CONFIG_HOME gesetzt ist, dann benutze diese). Wenn ~ / .pulse vorhanden ist, wird es dennoch verwendet, damit die Benutzerkonfiguration beim Aktualisieren von PulseAudio nicht verloren geht. Das Authentifizierungs-Cookie wurde ebenfalls von ~ / .pulse-cookie nach ~ / .config / pulse / cookie verschoben.
- Der Speicherort von Laufzeitdateien (d. h. Dateien, die nicht über Neustarts hinweg beibehalten werden müssen, z. B. Sockets) wurde aus einem zufälligen Verzeichnis unter / tmp in $ XDG_RUNTIME_DIR / pulses verschoben. Falls $ XDG_RUNTIME_DIR nicht gesetzt ist, wird das alte Schema immer noch als Fallback verwendet.
- Verschiedene ALSA Änderungen:
- Eine Regression in 2.0, die dazu führen könnte, dass einige Maschinen nicht über "Speaker" verfügen. oder & rdquo; Internes Mikrofon & rdquo; Ports, wurde meist in 3.0 behoben - wenn zusammen mit Linux 3.6 oder höher verwendet. Außerdem wird eine Umgehung für ältere Kernel auf bestimmte gängige Maschinen angewendet.
- Pierre-Louis Bossart führte eine Änderung ein, um die Genauigkeit von Timestamp-Abfragen und damit die zeitgesteuerte Planung zu verbessern, indem eine Anzahl von ALSA-Timing-Parametern atomar abgefragt wird.
- Wir haben den ALSA-Ports eine Icon-Namen-Eigenschaft hinzugefügt, die UI-Herstellern helfen könnte, bessere Port-Symbole anzuzeigen.
- Außerdem gab es ein paar andere Änderungen, wie das Entfernen des lästigen Ife-on-Mono-Ports und das Hinzufügen weiterer Mixer-Kontrollnamen, um besser mit dem Kernel synchron zu bleiben.
- Verbesserungen beim automatischen Testen:
- Deng Zhengrong hat die automatische Testunterstützung von PulseAudio im Rahmen seiner Google Summer of Code-Arbeit verbessert. Die Verbesserungen umfassen die Unterstützung für die Berichterstattung über die Testabdeckung mit gcov, die Änderung der bestehenden Tests zur Verwendung des & quot; Check & quot; Framework und ermöglicht es, einen PulseAudio-Daemon zu Testzwecken zu starten, während gleichzeitig der normale Daemon läuft.
- Entladen von Modulen nach Name:
- pactl und pacmd unterstützen jetzt das Entladen von Modulen nach Namen. Zuvor konnte das Entladen nur durch den Modul-Index durchgeführt werden, was ein wenig unpraktisch war, weil Sie normalerweise den Index nicht kennen, ohne ihn vorher zu suchen.
- Verbesserungen bei der Protokollierung:
- Zusätzlich zu den automatischen Testverbesserungen arbeitete der GSoC-Student Deng auch an PulseAudios Logging-Einrichtungen. Mit dem Befehl set-log-target ist es nun möglich, das Protokollziel eines laufenden Daemons mit pacmd zu ändern. Außerdem wurde ein neuer Protokollzieltyp hinzugefügt: & quot; newfile & quot ;. Die & rdquo; neue Datei & rdquo; Ziel ist wie die alte & quot; Datei & quot; Ziel, mit dem Unterschied, dass wenn der angegebene Dateiname bereits existiert, die Datei nicht überschrieben wird, sondern eine neue Datei mit einem nummerierten Suffix erstellt wird.
- Bluetooth-Code-Refactoring:
- Es wurden viele Refactoring-Arbeiten an den Bluetooth-Modulen durchgeführt, um die bevorstehende BlueZ 5-Unterstützung vorzubereiten und den Code insgesamt angenehmer zu machen. Dies sind keine direkt vom Benutzer sichtbaren Änderungen, aber wir möchten die Gelegenheit nutzen, um Mikel Astiz trotzdem für die großartige Arbeit, die er geleistet hat, zu danken.
- Nächste Schritte:
- Die Entwicklung geht wie immer weiter, und die Version 4.0 soll im April erscheinen (bisher waren wir noch nicht sehr gut darin, einen 4-monatigen Release-Zyklus aufrecht zu erhalten, also nehmen Sie das mit einer Prise Salz). Der Bericht von PulseConf 2012 bietet einige Hinweise darauf, was als nächstes kommen könnte.
Was ist neu in Version 2.0:
- Alternative Abtastraten
- Jack Erkennung
- Echounterdrückung: WebRTC canceller, automatische Verstärkungsregelung, Driftkompensation
- Virtual Surround-Modul
- Xen Paravirtualisiertes Audio-Waschbecken
- Behobene HURD-Unterstützung
- A2DP Decoder-Qualitätsverbesserungen
Was ist neu in Version 0.9.17:
- Lennart Poettering (13):
- libpulse: neuen Fehlercode PA_ERR_BUSY hinzufügen
- alsa: Probenpuffergrößen richtig umrechnen
- alsa: Fehlercodes für die Aussetzung korrekt melden
- i18n: füge ja zu LINGUAS hinzu
- i18n: Ausführen make update-po
- Build-sys: Bibliotheksversion erhöhen
- doxygen: Verweise auf pacat.c und paplay.c als Beispiele, da sie als solche nicht nützlich sind und im Fall von paplay gar nicht mehr existieren
- doxygen: rtclock.h zur Dokumentation hinzufügen
- doxygen: Verwechsle Doxygen nicht mit unechten ..
- proplist: Definiere Eigenschaften zum Speichern der Fensterposition
- position-event-sounds: Ehre die Fensterposition, wenn gesetzt, positioniere sie vertikal und horizontal
- core: Fügen Sie einen zusätzlichen Volumenfaktor hinzu, der nach dem Resampling angewendet wird
- position-event-sounds: Wenden Sie den Lautstärkefaktor nach, nicht vor dem Resampling an
- amitakhya (1):
- Übersetzung für Assamesisch senden
- anipeter (1):
- Übersetzung für Malayalam senden
- hyuuga (1):
- Übersetzung für po / ja.po senden
- ifelix (1):
- Übersetzung für Tamil senden
- jassy (1):
- Übersetzung für Punjabi senden
- kkrothap (1):
- Übersetzung für Telugu senden
- rajesh (1):
- Übersetzung für Hindi senden
- runab (1):
- Übersetzung der Übersetzung für Bengalisch (Indien)
- Sandeeps (1):
- Übersetzung für Marathi senden
- swkothar (1):
- Übersetzung für Gujarati senden
- warrink (1):
- Übersetzung für Niederländisch senden
Kommentare nicht gefunden