<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JACK on Natenoms Blog</title><link>https://natenom.de/tags/jack/</link><description>Recent content in JACK on Natenoms Blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright/><lastBuildDate>Fri, 25 Feb 2022 03:51:58 +0100</lastBuildDate><atom:link href="https://natenom.de/tags/jack/index.xml" rel="self" type="application/rss+xml"/><item><title>Helvum verbindet Audiostreams in PipeWire</title><link>https://natenom.de/2022/02/helvum-verbindet-audiostreams-in-pipewire/</link><pubDate>Fri, 25 Feb 2022 03:51:58 +0100</pubDate><guid>https://natenom.de/2022/02/helvum-verbindet-audiostreams-in-pipewire/</guid><description><![CDATA[<p>Mit <a  class='urlextern'  href="https://docs.pipewire.org/">Pipewire</a> kann man, wie mit Jack auch, Eingabe und Ausgabe verschiedener Programme miteinander verbinden. Um die einzelnen Streams miteinander zu verbinden, gibt es für Jack das Programm <a  class='urlextern'  href="https://drobilla.net/software/patchage.html">Patchage</a>.</p>]]></description><content:encoded><![CDATA[<p>Mit <a  class='urlextern'  href="https://docs.pipewire.org/">Pipewire</a> kann man, wie mit Jack auch, Eingabe und Ausgabe verschiedener Programme miteinander verbinden. Um die einzelnen Streams miteinander zu verbinden, gibt es für Jack das Programm <a  class='urlextern'  href="https://drobilla.net/software/patchage.html">Patchage</a>.</p>
<p>Das Pendant für PipeWire ist <a  class='urlextern'  href="https://gitlab.freedesktop.org/pipewire/helvum">Helvum</a>, wie ich kürzlich erfahren habe :)</p>
<p>Ich habe es als <a  class='urlextern'  href="https://gitlab.freedesktop.org/pipewire/helvum#building">Flatpak</a> installiert und es funktioniert.</p>
<p>Hier ein Screenshot, während <a  class='urlextern'  href="https://github.com/wwmm/easyeffects">EasyEffects</a> (auch via Flatpak) zusammen mit einem Pitch-Plugin läuft, das ich für Sprachchats oder Meetings für die Audioausgabe sehr empfehlen kann.</p>
<p></p><figure class="image-caption"><a href="/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum.png"><picture>
                <source type="image/webp" srcset="/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_360x0_resize_q95_h2_catmullrom_3.webp 360w,/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_500x0_resize_q95_h2_catmullrom_3.webp 500w,/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_816x0_resize_q95_h2_catmullrom_3.webp 816w, /2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_1632x0_resize_q95_h2_catmullrom_3.webp 1632w"
                                          sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px,(min-width: 1200px) 1632px" />
                <img alt="Helvum in Aktion" srcset="/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_360x0_resize_q95_h2_catmullrom_3.webp 360w, /2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_500x0_resize_q95_h2_catmullrom_3.webp 500w, /2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_816x0_resize_q95_h2_catmullrom_3.webp 816w,/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_1632x0_resize_q95_h2_catmullrom_3.webp 1632w"
                     sizes="(max-width: 424px) 360px, (max-width: 596px) 500px, (min-width: 565px) 816px,(min-width: 1200px) 1632px"
                     src="/2022/02/helvum-verbindet-audiostreams-in-pipewire/images/2022-02-25-helvum_hu7f78db7f9acd818381489d939a80b7a5_139154_816x0_resize_q95_h2_catmullrom_3.webp" title="Helvum in Aktion" loading="lazy" width="816" height="459" /></picture></a><figcaption>Helvum in Aktion</figcaption></figure><p>
</p>]]></content:encoded><enclosure url="https://natenom.de/2022/02/helvum-verbindet-audiostreams-in-pipewire/cover.png" length="139154" type="image/png"/></item><item><title>barnard – Ein neuer Mumble-Client für die Konsole</title><link>https://natenom.de/2014/12/barnard-ein-neuer-mumble-client-fuer-die-konsole/</link><pubDate>Fri, 05 Dec 2014 19:01:30 +0000</pubDate><guid>https://natenom.de/2014/12/barnard-ein-neuer-mumble-client-fuer-die-konsole/</guid><description><![CDATA[<p>Schon lange gibt es Mumble-Clienten für Windows, Mac OS, Linux, iOS, BSD und seit einiger Zeit auch für Android, <a  href="https://wikiarchiv.natenom.de/mumble/clienten_und_projekte"title="Mumble-Clienten und Projekte um Mumble(-Server) [Natenom´s Wiki (de)]">siehe hier</a>.</p>
<p>Doch seit gestern gibt es zusätzlich einen Open Source Clienten für Mumble für die Konsole; geschrieben in der Programmiersprache Go.</p>]]></description><content:encoded><![CDATA[<p>Schon lange gibt es Mumble-Clienten für Windows, Mac OS, Linux, iOS, BSD und seit einiger Zeit auch für Android, <a  href="https://wikiarchiv.natenom.de/mumble/clienten_und_projekte"title="Mumble-Clienten und Projekte um Mumble(-Server) [Natenom´s Wiki (de)]">siehe hier</a>.</p>
<p>Doch seit gestern gibt es zusätzlich einen Open Source Clienten für Mumble für die Konsole; geschrieben in der Programmiersprache Go.</p>
<p>Er steht unter der Lizenz <a  class='urlextern'  href="https://github.com/layeh/barnard/blob/master/LICENSE"title="barnard/LICENSE at master · layeh/barnard · GitHub">MIT</a> und wurde programmiert von „<a  class='urlextern'  href="https://github.com/bontibon"title="bontibon (Tim Cooper) · GitHub">Tim Cooper</a>„.</p>
<p>Dass es einen solchen Clienten geben wird, hat der Entwickler vor ein paar Tagen bereits im IRC (#mumble) angekündigt. Gestern folgten dann die Links zu den entsprechenden Github-Repos; hier das Repo für <a  class='urlextern'  href="https://github.com/layeh/barnard"title="layeh/barnard · GitHub">barnard</a> selbst und <a  class='urlextern'  href="https://github.com/layeh/gumble"title="layeh/gumble · GitHub">hier</a> der zugrunde liegende Client <a  class='urlextern'  href="https://github.com/layeh/gumble"title="layeh/gumble · GitHub">gumble</a>.</p>

<h2 id="selbst-kompilieren" data-numberify>Selbst kompilieren<a class="anchor ms-1" href="#selbst-kompilieren"></a></h2>
<p><em>Habe noch nie mit Go zu tun gehabt, wenn es also einen besseren Weg gibt, dann bitte melden :)</em></p>
<p>Zunächst installiert man sich Go, Git und mercurial, in ArchLinux z. B. mit:</p>
<blockquote>
<p>pacman -Sy go git mercurial openal</p>
</blockquote>
<p>Dann erstellt man irgendwo ein Verzeichnis (hier im Beispiel in /home/user/) mit dem Namen go-apps, wechselt dort hinein und ruft folgende Befehle auf:</p>
<blockquote>
<p>mkdir -p /home/user/go-apps/src<br>
cd /home/user/go-apps/src<br>
export GOPATH=/home/user/go-apps<br>
git clone <a  class='urlextern'  href="https://github.com/layeh/barnard.git">https://github.com/layeh/barnard.git</a><br>
cd barnard<br>
go get</p>
</blockquote>
<p>Jetzt kann man die Anwendung testweise aufrufen mit der Zeile:</p>
<blockquote>
<p>go run cmd/barnard/main.go</p>
</blockquote>
<p>Dabei versucht barnard per Voreinstellung, einen Mumble-Server auf localhost und dem Standardport 64738 zu erreichen, was vermutlich bei fast niemandem funktionieren wird.</p>
<p>Es wird kein <a  href="https://wikiarchiv.natenom.de/mumble/benutzerhandbuch/mumble/zertifikate#benutzerzertifikat"title="Zertifikate für Mumble und Mumble-Server [Natenom´s Wiki (de)]">Benutzer-Zertifikat</a> für den Clienten erzeugt, deshalb werden wir später unser eigenes Zertifikat exportieren und in barnard nutzen, siehe weiter unten.</p>

<h2 id="soundsysteme" data-numberify>Soundsysteme<a class="anchor ms-1" href="#soundsysteme"></a></h2>
<p>Für die Audiounterstützung verwendet Barnard nur das Soundsystem <a  class='urlextern'  href="https://de.wikipedia.org/wiki/OpenAL"title="OpenAL – Wikipedia">OpenAL</a>.</p>
<p>Damit ich auf meinem System, wie auch für den normalen Mumble-Clienten, das gute <a  href="https://wikiarchiv.natenom.de/mumble/anleitungen/mumble-mit-jack"title="Mumble mit Jack [Natenom´s Wiki (de)]">Jack</a> verwenden kann, wird zusätzlich Pulseaudio auf meinem System installiert und in der Datei /etc/pulseaudio/default.pa werden am Ende die folgenden beiden Zeilen eingetragen:</p>
<blockquote>
<p>load-module module-jack-sink<br>
load-module module-jack-source</p>
</blockquote>
<p>Nach einem Neustart von PulseAudio greift sich dieses nicht mehr eine Soundkarte sondern setzt sich auf einen laufenden Jack-Server drauf.</p>
<p>Und da OpenAL per Voreinstellung ein vorhandenes PulseAudio nutzt, habe ich letztlich – mit Umwegen – einen Mumble-Clienten für die Konsole, der Jack nutzt :)</p>
<p>Wer kein Jack einsetzt, dafür aber nur PulseAudio, bei dem sollte der Sound direkt funktionieren.</p>
<p>Hier ein Screenshot von patchage und pavucontrol (main ist die Go-Anwendung barnard):<br>
<a  href="/wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup.png"><img loading="lazy" class="alignnone wp-image-30797 size-large" src="/wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup-600x291.png" alt="mumble_console_client_barnard_sound-setup" srcset="/wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup-600x291.png 600w, /wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup-150x72.png 150w, /wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup-300x145.png 300w, /wp-content/uploads/2014/12/mumble_console_client_barnard_sound-setup.png 1459w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>

<h2 id="barnard-erkennen" data-numberify>Barnard erkennen<a class="anchor ms-1" href="#barnard-erkennen"></a></h2>
<p>In den Benutzerinformationen erscheint der Client als „Versionsnummer (gumble)“.</p>

<h2 id="zertifikat-verwenden" data-numberify>Zertifikat verwenden<a class="anchor ms-1" href="#zertifikat-verwenden"></a></h2>
<p>Ein bestehendes Zertifikat im Format .p12, welches man aus <a  href="https://wikiarchiv.natenom.de/mumble/benutzerhandbuch/mumble/zertifikatassistent/zertifikat_exportieren"title="Aktuelles Zertifikat exportieren [Natenom´s Wiki (de)]">Mumble exportieren</a> kann, konvertiert man mit folgender Zeile bei installiertem OpenSSL um:</p>
<blockquote>
<p>openssl pkcs12 -in zertifikat.p12 -out zertifikat.pem -nodes</p>
</blockquote>
<p>Bei der Passwortabfrage drückt man einfach Enter, wenn das Zertifikat nicht durch ein solches geschützt ist.</p>
<p>Danach kann man barnard starten mit z. B.:</p>
<blockquote>
<p>go run cmd/barnard/main.go -server=“mumble.natenom.com:64738″ -username=“barnard-tester“ -insecure=true -certificate=/home/user/pfad-zum-zertifikat.pem</p>
</blockquote>
<p>Nun erhält man folgende Ansicht <a  href="https://wikiarchiv.natenom.de/ueber/mumble-server"title="Unser(e) Mumble Server [Natenom´s Wiki (de)]">unseres Mumble-Servers</a>:<br>
<a  href="/wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server.png"><img loading="lazy" class="alignnone size-large wp-image-30804" src="/wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server-600x348.png" alt="Der CLI Client für Mumble auf Linux, verbunden mit unserem Mumble-Server" srcset="/wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server-600x348.png 600w, /wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server-150x87.png 150w, /wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server-300x174.png 300w, /wp-content/uploads/2014/12/mumble_console_client_barnard_connected_to_server.png 916w" sizes="(max-width: 474px) 100vw, 474px" /></a></p>
<p>Speicherverbrauch des Clienten: Ca. 10 MiB.</p>

<h2 id="bedienung" data-numberify>Bedienung<a class="anchor ms-1" href="#bedienung"></a></h2>
<p>Es gibt die folgenden Tastenkombinationen:</p>
<ul>
<li>F1 – Schaltet das Senden ein und aus; rechts oben im kleinen Kasten sieht man den Sendestatus; entweder steht hier „Idle“ oder „Tx“ für Senden.</li>
<li>F10 – Beendet das Programm.</li>
<li>Tab – Schaltet um zwischen dem Chatfenster und dem Kanalbaum, in dem auch Benutzer angezeigt werden. Hier kann man den Kanal wechseln.</li>
<li>Mit Bild-Hoch/-Runter, Home und End scrollt man im Nachrichtenverlauf hin und her.</li>
</ul>

<h2 id="bots-gefällig" data-numberify>Bots gefällig?<a class="anchor ms-1" href="#bots-gefällig"></a></h2>
<p>Aber das ist noch nicht alles …, denn der Client namens gumble, den barnard letztlich verwendet, kann mehr. So gibt es im Verzeichnis „examples“ mehrere Beispiele.</p>
<p>Die kann man genau wie barnard aufrufen, mit denselben Parametern, z. B. den Musikbot mit:</p>
<blockquote>
<p>go run /home/user/go-apps/src/github.com/layeh/gumble/examples/audio-player.go -server=“mumble.natenom.com:64738″ -username=“barnard-musicbot“ -insecure=true /pfad/zu/einer/Musikdatei.ogg</p>
</blockquote>
<p>Wenn man jetzt an den Benutzer „barnard-musicbot“ den Text „Musikdatei.ogg“ ohne die Anführungsstriche schickt, so wird das Musikstück abgespielt.</p>

<h2 id="o" data-numberify>\o/<a class="anchor ms-1" href="#o"></a></h2>
<p>Cool :)</p>
<p>Ich sehs schon kommen, da wird es ähnlich coole Dinge geben wie bei <a  href="/tags/mumble-ruby/"title="Mumble-Ruby hier im Blog">Mumble-Ruby</a>.</p>
<p>Eine Todo-Liste für das Projekt gibt es <a  class='urlextern'  href="https://github.com/layeh/gumble/issues/1"title="Missing protocol features (v1.2.4) · Issue #1 · layeh/gumble · GitHub">hier</a>.</p>]]></content:encoded></item><item><title>Anleitung für 24/7 Mumble-Bot mit Jack und MPD</title><link>https://natenom.de/2013/09/anleitung-fuer-247-mumble-bot-mit-jack-und-mpd/</link><pubDate>Fri, 06 Sep 2013 13:32:36 +0000</pubDate><guid>https://natenom.de/2013/09/anleitung-fuer-247-mumble-bot-mit-jack-und-mpd/</guid><description><![CDATA[<p>Habe in den letzten Tagen einen Bot für unseren Mumble-Server aufgesetzt, der sich an einem Fundus freier Musik auf dem Server bedienen kann. Auf dem Server läuft ein <a  class='urlextern'  href="http://www.musicpd.org/"title="http://www.musicpd.org/">Music Player Daemon</a>, der seine Musik über <a  class='urlextern'  href="http://www.jackaudio.org/"title="JACK | connecting a world of audio">Jack</a> an ein gepatchtes Mumble ausgibt. Dieses Mumble hockt als Bot den ganzen Tag auf unserem Server und lässt sich entweder über ein Web-Interface oder direkt über einen MPD-Clienten steuern.</p>]]></description><content:encoded><![CDATA[<p>Habe in den letzten Tagen einen Bot für unseren Mumble-Server aufgesetzt, der sich an einem Fundus freier Musik auf dem Server bedienen kann. Auf dem Server läuft ein <a  class='urlextern'  href="http://www.musicpd.org/"title="http://www.musicpd.org/">Music Player Daemon</a>, der seine Musik über <a  class='urlextern'  href="http://www.jackaudio.org/"title="JACK | connecting a world of audio">Jack</a> an ein gepatchtes Mumble ausgibt. Dieses Mumble hockt als Bot den ganzen Tag auf unserem Server und lässt sich entweder über ein Web-Interface oder direkt über einen MPD-Clienten steuern.</p>
<p>Falls jemand Interesse an solch einem Aufbau hat, gibt es eine entsprechende Anleitung unter <a  href="https://wikiarchiv.natenom.de/mumble/audiobots/music_bot_mpd_mumble_jack"title="Musik-Bot für Mumble mit MPD und JACK [wiki.natenom.de]">https://wikiarchiv.natenom.de/mumble/audiobots/music_bot_mpd_mumble_jack</a>.</p>
<figure id="attachment_24149" aria-describedby="caption-attachment-24149" style="width: 600px" class="wp-caption alignnone">[<img loading="lazy" class="size-large wp-image-24149" src="/wp-content/uploads/2013/09/music_bot_mpd_mumble_jack_xvfb_running_finish-600x250.png" alt="Mumble-Fenster mit Bot und GMPC zur Steuerung des Bots" srcset="/wp-content/uploads/2013/09/music_bot_mpd_mumble_jack_xvfb_running_finish-600x250.png 600w, /wp-content/uploads/2013/09/music_bot_mpd_mumble_jack_xvfb_running_finish-150x62.png 150w, /wp-content/uploads/2013/09/music_bot_mpd_mumble_jack_xvfb_running_finish-300x125.png 300w, /wp-content/uploads/2013/09/music_bot_mpd_mumble_jack_xvfb_running_finish.png 1786w" sizes="(max-width: 600px) 100vw, 600px" />][5]<figcaption id="caption-attachment-24149" class="wp-caption-text">Mumble-Fenster mit Bot und GMPC zur Steuerung des Bots</figcaption></figure>
<p>Weitere Anleitungen für Audio-Bots gibt es <a  href="https://wikiarchiv.natenom.de/mumble/audiobots"title="AudioBots für Mumble [wiki.natenom.de]">hier</a>.</p>]]></content:encoded></item></channel></rss>