Natenom´s Wiki (de)

Weil Teilen Spaß macht :)

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Navigation



Follow me…
Natenom folgen...


Was gerade im Blog geschieht:


Was gerade im Englischen Wiki geschieht:​


    mumble:audiobots:musikbot_pulseaudio

    Mumble-Musikbot mit PulseAudio und eigener virtueller Soundkarte

    Dies ist eine Anleitung zur Erstellung eines Musikbots für Linux unter Verwendung von PulseAudio im Stil von „Virtual Audio Cable (VAC unter Windows).

    Weitere Audiobots siehe AudioBots für Mumble.

    Man kann mit dieser Anleitung prinzipiell auch einen Bot für TeamSpeak oder Skype erstellen.

    Voraussetzungen

    • PulseAudio
      Sollte bereits auf jedem aktuellen Linux-System eingerichtet sein.
    • Mumble-Bot
      Bevorzugt wird die portable Version von Mumble.
    • pavucontrol
      Ein Programm zum Verschieben von Audio-Quellen oder Audio-Ausgaben; Website.

    Installation

    sudo apt-get install pavucontrol mumble

    Alternativ kann man auch Mumble selbst komilieren um den neuen CELT-Codec verwenden zu können: siehe hier.

    Virtuelle Soundkarte für PulseAudio erstellen

    Es wird eine eigene, virtuelle, Soundkarte verwendet, damit nur das auf dieser landet, was später im Stream zu hören sein soll.

    Verwendet wird dazu das Modul „null-sink“ von PulseAudio; es ermöglicht, die Ausgabe eines Programms auf diesen Null-Ausgang zu leiten und diese Null-Ausgang als Eingabe für Programme zu verwenden.

    Dazu muss man die Konfiguration von PulseAudio ändern; man drückt [Alt+F2] und gibt ein:

    gedit /etc/pulse/default.pa


    Dann sucht man die folgenden Zeile:

    #load-module module-null-sink


    Hier entfernt man das “#„-Zeichen, damit die Anweisung wirksam wird:

    load-module module-null-sink


    Man kann dieser Null-Sink auch selbst einen Namen geben; dazu muss die Zeile so aussehen:

    load-module module-null-sink sink_properties='device.description="Dein toller Name"'

    Dies bietet sich vor allem an, wenn man mehrere virtuelle Soundkarten erstellen möchte. Siehe hierzu unter Mehrere unabhängige virtuelle Soundkarten.

    Nun startet man entweder den PC neu oder beendet PulseAudio zwangsweise mit:

    killall -9 pulseaudio


    Nach dem töten von PulseAudio sollte dieses automatisch wieder starten.

    Nach dem Neustart oder dem Beenden von PulseAudio sollte man in pavucontrol prüfen, ob es ein neues Ausgabe-Gerät gibt:

    Dieses virtuelle Gerät nutzen wir nun als Ausgabe für unseren Stream und als Eingabe für unseren Mumble-Bot.

    Die Audioeingabe des Mumblebots auf die virtuelle Soundkarte umstellen

    Der Einfachheit halber nutzen wir als Bot eine portable Version von Mumble für Linux.

    Da man den Null-Ausgang nicht als Eingabe direkt in Mumble einstellen kann, muss hier pavucontrol verwendet werden:


    Leider muss man die Zuordnung nach jedem Start des Mumble-Bots erneut einstellen.

    Es empfiehlt sich noch, im Mumble-Bot die Ausgabelautstärke auf 0 zu setzen (KonfigurationEinstellungenAudioausgabeLautstärke), damit man die anderen Menschen im Kanal nicht zusätzlich durch den Bot hört.

    Soundausgabe eines Programms auf die virtuelle Soundkarte umleiten

    Hier kann man entweder in den Einstellungen des Programms vorgeben, dass auf der „Null-Ausgang“ ausgegeben werden soll, sofern möglich, oder direkt pavucontrol dafür verwenden.

    Hier im Beispiel ein Screenshot von pavuontrol, in dem Banshee auf die Null-Ausgang eingstellt wurde:

    Die Ausgabe von Banshee wurde auf die „Null-Ausgang“ eingestellt…

    Ergebnis

    Und so sieht es dann in pavucontrol aus, wenn ein Mumble-Client und ein Bot auf derselben Maschine laufen:

    Wiedergabeansicht von pavucontrol
    Der erste Eintrag gehört zum Mumble-Bot und deshalb ist hier der Signalpegel gleich Null.
    Aufnahmeansicht von pacucontrol

    Und hier der gesamte Desktop zur Laufzeit:

    Ein Mumble-Bot und ein normaler Mumble-Client laufen auf derselben Maschine.
    Rechts oben der „Natenom-Bot0“, und rechts unten der „Natenom-Ubuntu“.
    Der richtige Natenom läuft auf dem Wirtssystem dieser virtuellen Maschine.

    Fertig :)

    Mögliche Erweiterungen

    Mit anderen Programmen als Mumble senden

    Prinzipiell kann man so jede Anwendung nach Mumble streamen, welche ihre Ausgabe an den Null-Ausgang schicken kann; also auch z. B. Skype, Teamspeak oder sonstwas.

    Mehrere unabhängige virtuelle Soundkarten

    Für jede weitere, unabhängige, virtuelle Soundkarte muss man eine weitere Zeile

    load-module module-null-sink sink_properties='device.description="Dein toller anderer Name"'

    in die Datei /etc/pulse/default.pa eintragen.

    Dann kann man mehrere voneinander getrennte Bots realisieren; genauso wie mit Virtual-Audio-Cable unter Windows.

    Optimierung

    Die Einstellungen des Mumble-Bots sollte man optimieren, so wie hier beschrieben: Mumble-Einstellungen für Bots optimieren.

    mumble/audiobots/musikbot_pulseaudio.txt · Zuletzt geändert: 2014/10/16 04:16 (Externe Bearbeitung)