Pulseaudio, Mumble und der Korken

Wenn man auf einem modernen Audiosystem wie unter Linux, verschiedene Sounds gleichzeitig abspielen will, kann es Konflikte geben, was man definitiv hören will und was nicht. Einige Entwickler haben daher Prioritätsklassen für bestimmte Soundapps implementiert.  Da wären „Games“,“Phones“,“Musik“,“Apps“ und alle anderen 🙂

Den Korken benutzen

Wenn man als VOIP Anwendung z.b. ein Klingel abspielt, dann sollte das Priorität vor der Musik haben, so daß man das auch hören kann, genau wie das resultieren Gespräch. Gleiches kann auch für Gruppenchats wie Teamspeak oder Mumble gelten. Damit das klappt, gibt es das „module-role-cork“ von PulseAudio. Ist das in der /ect/default.pa aktiviert, funktionieren diese Sachen, weil jede Anwendung Ihrem Soundstream die Role mitgibt, die ihm zu kommen sollte.

Wenn man das Module deaktiviert, sind alle Sounds wieder gleichrangig.

… oder doch nicht ?

Mumble, eins der Backbones der modernen Spielewelt, zusammen mit Teamspeak vermutlich das meistbenutzte VOIP Gruppenchattool, hat sich gedacht: Hey, wieso darauf verlassen ? Machen wir doch einfach eine Funktion, die alle anderen Anwendung leiser macht, während jemand redet!

Das kann man in den Mumble Einstellungen einstellen und das sollte aus sein, bis… ja bis ein Update die Konfig schrottet und man plötzlich denkt, daß PulseAudio durchdreht, weil module-role-cork aus ist, es aber doch stattfindet 😀

Wie man es abschaltet

In den erweiterten Einstellungen  -> Audioausgabe die beiden Boxen „Während andere Benutzer sprechen“ und „Während Sie sprechen“ abschalten. Fall gelöst :

Mumble Audioprefs

JackD – Der Störenfried

Völlig überraschend kam heute für mich ein Ausfall des Hauptaudiodevices im Pulseaudio, nämlich das Interne Audio Device vom Mainboard. Das Mainboard ging aber noch und ansonsten gab es auch kaum interessantes zu melden, außer, daß die Programme die Audio benutzen wollten alle im Mixer festhingen.

Was konnte also die Ursache sein ?

In solchen Fällen wird es hilfreich sein,  also-info.sh zu starten und mal einen Blick in die Ausgabe zu werfen. Gedacht, getan:

!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - Yes

Was zum Geier ist Jack ?

Der Gedanke kam mir zwar nicht, aber wer es nicht weiß, unter Linux Audiosystemen gibt es die großen drei Alsa, Jack und Pulseaudio. Auf Fedorasystemen ist die Kombination aus Alsa und Pulseaudio im Desktopbereich normal. Jack führt eher so ein Nischendasein, was aber einige Tools nicht davon abhält auf Jackkomponenten zuzugreifen z.B. Calf , weswegen es auf einem Desktop durchaus vorhanden ist.

Ok, es war da, aber was hat das mit dem Ausfall zu tun ?

Wie wir oben sehen können, liefen zwei SoundServer und das kann nicht klappen, wenn man nicht jedem der Server sagt, für welches Device er zuständig sein soll. Könnte ja sein, daß man eine SpezialSoundkarte im Einsatz hat mit der man professionell Musik machen will, da könnte das schon Sinn machen, diese von Jack verwalten zu lassen, besonders da Calf auf Jack aufbaut.

Durch ein ungünstiges Zusammenwirken vom „Dicken-Finger-Syndrom“, „Hast“, „Tippfehler“ und „Cinnamon“ wurde versehenlich Calf gestartet, was ich noch nie gesehen hatte und auch nie wieder sehen will, denn es hat einen lausigen ersten Eindruck gemacht 😉 Der Start von Calf führte zum Start von Jack und da Jack dumm wie Stroh zu sein scheint, griff sich der Soundserver die Interne Soundkarte von Mainboard und mein Sound war weg.

Abhilfe schafft …

einfach mit „killall jackd“ als Root töten und danach Calf und Flowblade deinstallieren. Problem solved 😉

PulseAudio 9.0 erschienen

PulseAudio 9 ist da und lang ersehnte Änderungen wurden umgesetzt.

Sampleraten bis zu 384 kHz möglich

Bislang hat PulseAudio die Sampleraten auf 192kHz begrenzt, was ok ist, wenn man Hifi als Standard nimmt. Mit 384 kHz kann man endlich richtig gute FLAC Aufnahmen wiedergeben, wenn die Audiohardware mitmacht. ALSA, die Advanced Linux Sound Architecture, und Grundlage für Audio auf so fast jeder Linux Distro, braucht die 384 KHz, wenn es Mehrkanaldatenströme abspielen will. Die Macher von PulseAudio weisen darauf hin, daß diese MehrKanaldatenströme noch nicht unterstützt werden, die 384 kHz aber die Voraussetzung sind, es später zu tun. Hoffen wir auf das baldige erscheinen.

Vorgehensweise für Auto-Detection verbessert

PA9 verbessert das logische Verhalten vom Mixxer, wenn Wiedergabegeräte im laufenden Betrieb verschwinden, z.b. weil jemand den Kopfhörer rauszieht, den HDMI Monitor ausschaltet usw.
Kommt so ein Device wieder zurück, ohne das der Benutzer in der Zwischenzeit am Mixxer etwas anderes eingestellt hatte, merkt sich PA9 die alten Einstellungen und stellt Sie wieder her, was meint, daß z,B. besagter Kopfhörer wieder reingesteckt wird und die Wiedergabe sofort dahin umgeleitet wird, weil es vorher auch schon so war.

Beamforming

Was ist Beamforming ? 😀 Ok, wenn man ein ganzes Rudel von Mikros hat, kann man die nun auf einen Punkt ausrichten und das, was alle Mikros laut aufnehmen, wird noch lauter, und alles andere wird leiser. Damit kann man z.b. unerwünschte Nebengeräusche dämpfen und die Sprecher auf einem Podium hervorheben. Das fällt wohl unter Studiotechnik und wird ganz sicher hier im Blog nochmal vorgestellt. Ganz sicher 🙂

Corking

PA9 verbessert den Umgang mit Datenströmen die spezielle Rollen haben. Ein Datenstrom von Skype z.b. ist als „Voice“ getaggt und dementsprechend hat er Vorrang z.b. vor Musik, eine lästige Voreinstellung der man üblicherweise den gar ausmacht, sobald man das mal gefunden hat 😉 Jedenfalls kann man mit PA9 auch Ströme ohne besondere Rolle in seine Konfiguration mit einbeziehen.
Jemand der hier Änderungen vornimmt, hat schon sehr spezielle Vorstellungen von seinem Audiosystem.

LFE remixing wieder abgeschaltet

LFE, das sind besonders tiefe Frequenzen für Subwoofer, und da der LFE Filter nicht richtig funktioniert, ist er defaultmäßig in PA9 abgeschaltet, was Euren Subwooferausgang stumm schaltet. Also nicht vergessen: nach dem Update wieder einschalten.

Es gibt noch mehr Änderungen, aber die sind sehr spezielle und für „Benutzer“ wohl eher uninteressant. Wer es nachlesen will, hier ist der Link.

Wann PulseAudio 9 in Fedora einziehen wird, werden wir sehen.

Pulseaudio – 15 Multiband Equalizer

Wollt Ihr es so richtig krachen lassen !? WOLLT IHR DAS !?!

Dann ist das hier Euer neues Spielzeug, der 15 Band Equalizer für Pulseaudio als Fedora Build 🙂

Pulseaudio-EqualizerDa es sich im ein Plugin für Pulseaudio handelt, profitieren sofort ALLE Anwendungen davon. Natürlich nur wenn man das will, schliesslich kann man alle Ausgaben der Programme auch wieder direkt an das „ungepimpte“ Ausgabedevice senden.

Kleiner Schönheitsfehler: Wenn man Buttons wie „Apply Settings“ benutzt ruckts kurz im Playback. Das ist unschön.

Dafür hat das Plugin eine Mörderverstärkung auf Lager die den QMMP Equalizer ganz bequem in den Schatten stellt. Beim ersten unbedarften Ausprobieren der Regler wären meinem Kopfhörer fast die Membranen gerissen ( Nein, ich übertreibe nicht, ich meins ernst. ) . „Mörderverstärkung“ trifft es sehr gut.

Wo bekommt man das Plugin her ?

Entweder aus dem Systemrepository von Fedora oder aus dem Koji Buildsystem. Ich habe Euch die Koji Links rausgesucht :

Download Section:

Koji Link für Fedora 23 32/64 : pulseaudio-equalizer-2.7-16.fc23( RPM )

Koji Link für Fedora 24 32/64 : pulseaudio-equalizer-2.7-17.fc24( RPM )

Koji Link Fedora : für alle verfügbaren Builds

… und jetzt freu ich mich auf Mombasa vom Inception Soundtrack played by 2Cellos, das wird knallen!

Linux, Android und die PA

Nein, die PA ist keine unbekannte Regulierungsbehörde für Linuxe aller Art 😀 Eine PA meint die Beschallungsanlage auf Veranstaltungen deren Zielgruppe das Publikum ist.

Aber was hat das mit Linux zu tun ?

Wer mein Blog beobachtet hat, wird wissen, daß ich eine ganze Reihe von Beiträgen zum Thema Audiodatenströme im Netz veröffentlicht habe. Wir können von Linux an Linux senden, von Linux an Android und von Android zu Linux , aber eins hatten wir bislang nie: Livestreaming.

Ok, so ganz stimmt es nicht, weil Pulseaudio jede angeschlossene Tonquelle umrouten kann, und damit auch Liveton, aber von Android hatten wir das bislang nicht. Das wird sich jetzt ändern.

Wir brauchen :

Android: AirAudio
Linux: Rygel ( oder Kodi )

Ein Wort zu Kodi.. vieles von dem, was ich hier schon vorgestellt habe, geht auch mit Kodi als Empfänger und das sogar einfacher, weil Kodi ein echt gutes Produkt ist. Allerdings hat Kodi den Nachteil, daß es recht groß ist, weswegen kleinere Lösung preferiert werden. Leider hat es auch eine 6 Sekunden Verzögerung mit dem was wir heute machen wollen und das geht gar nicht 🙂

Erstmal Rygel starten

Zunächst mal starten wir Rygel in der Konfiguration vom letzten mal. Kleines Update dazu: man benötigt GStreamer für Rygel und da das MP3 Decoder Plugin sonst geht es nicht. Ich selbst hatte auch Probleme Rygel auf meinem Laptop zum Laufen zu bringen, wenn es nicht will  -> Kodi nehmen.

AirAudio starten

Groß konfigurieren muß man AirAudio nicht, aber ein paar Anmerkungen sind angebracht. Das Programm kann an fast alle gänigen ( und ein paar mir völlig unbekannte Produkte ) Daten senden. Wenn man AirAudio das erste mal startet, streamt es das ins Handy eingebaute Mikrofon ins Netz, es kann aber auch die Ausgaben von fast jedem installierten Programm als Quelle benutzen, weil es die Lautsprecher anzapft 🙂 Wir brauchen das Mikro.

In den Einstellungen tragen wir für AirPlay eine Verzögerung von 0 Sekunden ein, 0,5 Sekunden wäre wohl auch noch möglich, aber man sollte immer bedenken, das die PA auch noch eine Verzögerung hat und nichts ist schlimmer, als wenn der Sprecher schon irgendwas macht, aber aus der PA noch Texte von vor 10 Sekunden kommen 😉  Ist das Netz stabil, sind 0,0 Sekunden vollkommen ok.

Screenshot_2016-05-14-18-38-00

Android – AirAudio

Wenn man schon beim Konfigurieren ist, kann man gleich noch bei DLNA MP3 einstellen. Das hat zwar heute keine Auswirkungen, aber wenn man z.b. mal seine Familie beim Smartfernsehen beglücken will … 😀 Mit diesen Apps läßt sich soooooviel Spaß haben .. Totenkopf oder bei Internetaffineren Anonymous Logo aufm TV, oder man steht vor der Tür und „klopft digital an“.. Möglichkeiten ohne Ende 😉

Wenn wir mit Konfigurieren fertig sind, aber meisten schon beim Einschalten der App, finden wir eine Liste mit „Listenern“ zu denen wir Senden können. Es ist kein Multicast im Spiel, also sendet man i.d.R. nur an einen Empfänger. Man kann in der Liste aber auch mehr als einen anschalten. Wo ich grade so drüber nachdenken, macht das auf verteilten Veranstaltungen Sinn, wenn verschiedene Räume mit mehreren PA genutzt werden. Bei wichtigen Durchsagen, z.B. wenn es brennt oder etwas andere wichtiges passiert ist, könnte man sich bequem überall draufschalten.

Wenn es dann geht …

sieht und hört man das im Pulseaudio Mixer :

Rygel - Audiostream in PulseaudioJetzt wo es im Pulseaudio ist, könnte man es natürlich gleich wieder auf den Multicast schicken und … aber ab hier übernimmt die eigene Verstellungskraft 😉

Wozu das ganze, es gibt doch Funkmikros ?!

Stimmt, es gibt Bluetooth Mikros, Funkmikros und alles mögliche. Warum also so etwas nehmen? Natürlich a) weils geht und b) weil die meisten ein Handy haben, und damit zusätzliche Ausrüstung unnötig wird. je weniger man mit sich rumschleppen muß, desto besser 🙂 Peinlich wird es nur, wenn während des Vortrags die Mama anruft 😀 Um das zu verhindern, einfach das Handy auf Stumm stellen. Das Mikro geht trotzdem.