Vaporsound: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
K (→‎Pulseaudio: Zeroconf um letzte Dau-Anweisung ergänzt)
(nix erklärung ergänzt)
 
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 14: Zeile 14:
|Werkstatt || http://vaporsound-werkstatt.club.entropia.de
|Werkstatt || http://vaporsound-werkstatt.club.entropia.de
|-
|-
|Küche || http://vaporsound-kueche.club.entropia.de
|Küche || Kein Vaporsound mehr, siehe dazu [[Musiksetup]]
|}
|}


Zeile 43: Zeile 43:
z.B. bei GNOME: in <code>paprefs</code> "''Make discoverable PulseAudio network sound device available locally''" anhaken¹ (einmalig), dann unter Settings -> Sound (bzw. <code>gnome-control-center sound</code>) die entsprechende Sink auswählen. (¹ Wenn ausgegraut, das Paket <code>pulseaudio-zeroconf</code> instalieren)
z.B. bei GNOME: in <code>paprefs</code> "''Make discoverable PulseAudio network sound device available locally''" anhaken¹ (einmalig), dann unter Settings -> Sound (bzw. <code>gnome-control-center sound</code>) die entsprechende Sink auswählen. (¹ Wenn ausgegraut, das Paket <code>pulseaudio-zeroconf</code> instalieren)


* Zeroconf:
* Zeroconf:
Benötigt wird Paket: <code>zeroconf</code>, <code>libpulse</code> und <code>paprefs</code>
Benötigt wird Paket: <code>pulseaudio-zeroconf</code>, <code>libpulse</code> und <code>paprefs</code>.
Bei <code>paprefs</code> im ersten Reiter da erste auswählen, anschließend den Service <code>avahi-daemon.service</code> enablen und
Bei <code>paprefs</code> im ersten Reiter das erste auswählen, anschließend den Service <code>avahi-daemon.service</code> enabeln und
<code>load-module module-zeroconf-discover</code> nach <code>/etc/pulse/default.pa</code> schreiben.
<code>load-module module-zeroconf-discover</code> nach <code>/etc/pulse/default.pa</code> schreiben.
Kurz den Service neustarten und <code>pavucontrol</code> sollte nun die Droehnung erkennen.
Kurz den Service neustarten und <code>pavucontrol</code> sollte nun die Droehnung erkennen.
Die Audioquelle muss dann nur noch händisch in <code>pavucontrol</code> unter den Ausgabegeräten ausgewählt werden.
Die Audioquelle muss dann nur noch händisch in <code>pavucontrol</code> unter den Ausgabegeräten ausgewählt werden.
(Siehe: [https://wiki.archlinux.org/title/PulseAudio/Examples#Selecting_the_server_with_Zeroconf Arch-Wiki])
(Siehe: [https://wiki.archlinux.org/title/PulseAudio/Examples#Selecting_the_server_with_Zeroconf Arch-Wiki])
Für Ubuntu (getestet mit 22.04):
<pre>
apt-get install pulseaudio-module-zeroconf
# braucht root (/etc)
echo "load-module module-zeroconf-discover" >> /etc/pulse/default.pa
systemctl --user restart pulseaudio || pkill pulseaudio
</pre>
== Pipewire Zeroconf ==
In <code>~/.config/pipewire/pipewire.conf.d/zero.conf</code> folgenden Inhalt einfügen
<nowiki>context.modules = [
{  name = libpipewire-module-zeroconf-discover
    args = { }
}
]</nowiki>
Dann pipewire neu starten mit <code>systemctl --user restart pipewire</code>
Siehe auch [https://wiki.archlinux.org/title/PipeWire Pipewire im ArchWiki] und [https://docs.pipewire.org/page_module_zeroconf_discover.html offizielle Dokumentation].


== Bugs in rev0.1 ==
== Bugs in rev0.1 ==
Zeile 58: Zeile 79:
Um Domain, Hostname oder IP-Adressen dauerhaft zu ändern, müssen die Dateien in <code>/boot/config</code> angepasst werden
Um Domain, Hostname oder IP-Adressen dauerhaft zu ändern, müssen die Dateien in <code>/boot/config</code> angepasst werden


=== Nixos ===
Unter nix mit PipeWire funktioniert folgende config:<syntaxhighlight lang="nixos">
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    audio.enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    extraConfig.pipewire = {
      "raop-discover" = {
        "context.modules" = [
          {
            name = "libpipewire-module-raop-discover";
          }
        ];
      };
    };
  };
</syntaxhighlight>Es empfiehlt sich [https://search.nixos.org/packages?show=helvum helvum] als GTK based GUI audio patchbay.
[[Kategorie:Projekte]]
[[Kategorie:Projekte]]
[[Kategorie:Projekte:Laufend]]

Aktuelle Version vom 21. Juni 2024, 23:49 Uhr

Ein Soundsystem im Entropia. Mit Netzwerk. Hardwaredesign: Vaporsound auf Github

Instanzen

Es gibt aktuell folgende Vaporsounds:

Ort Hostname
Hauptraum Kein Vaporsound mehr, siehe dazu Musiksetup.
Zwischen-/Options-/Nebenraum http://vaporsound-nebenraum.club.entropia.de
Werkstatt http://vaporsound-werkstatt.club.entropia.de
Küche Kein Vaporsound mehr, siehe dazu Musiksetup

Benutzung

Wenn du Musik spielen möchtest, verwendest du am besten die Music Player Daemon (MPD) Instanzen, siehe Musiksetup. So können alle gemeinsam die Musik steuern.

Jedes Vaporsound ist eine Pulseaudio- und Shairport-Senke und announced sich auch via Zeroconf als solche.

Jedes Vaporsound hat ein Webinterface (z.B. http://vaporsound-nebenraum.club.entropia.de). Aktuell geht damit nur Lautstärkeregelung; more to come.

Da das Linux auf den Vaporsounds stateless ist und nach jedem Reboot wieder im Orginalzustand hochkommt kann man sich problemlos als root (Passwort: root) einloggen.

Es gibt mehrere Möglichkeiten, um das Vaporsound zum abspielen zu verwenden:

  • Player mit gesetzter Umgebungsvariable starten: z.B. PULSE_SERVER=vaporsound-werkstatt mplayer ...
  • Player selbst konfigurieren: z.B. mpv -ao=pulse:vaporsound-nebenraum ...
  • über Shairport (todo)

Pulseaudio

Um Vaporsound über Pulseaudio zu bespielen sind folgende Dinge möglich:

  • Pulseaudio-Sink systemweit auswählen:

z.B. bei GNOME: in paprefs "Make discoverable PulseAudio network sound device available locally" anhaken¹ (einmalig), dann unter Settings -> Sound (bzw. gnome-control-center sound) die entsprechende Sink auswählen. (¹ Wenn ausgegraut, das Paket pulseaudio-zeroconf instalieren)

  • Zeroconf:

Benötigt wird Paket: pulseaudio-zeroconf, libpulse und paprefs. Bei paprefs im ersten Reiter das erste auswählen, anschließend den Service avahi-daemon.service enabeln und load-module module-zeroconf-discover nach /etc/pulse/default.pa schreiben. Kurz den Service neustarten und pavucontrol sollte nun die Droehnung erkennen. Die Audioquelle muss dann nur noch händisch in pavucontrol unter den Ausgabegeräten ausgewählt werden. (Siehe: Arch-Wiki)

Für Ubuntu (getestet mit 22.04):

apt-get install pulseaudio-module-zeroconf
# braucht root (/etc)
echo "load-module module-zeroconf-discover" >> /etc/pulse/default.pa
systemctl --user restart pulseaudio || pkill pulseaudio

Pipewire Zeroconf

In ~/.config/pipewire/pipewire.conf.d/zero.conf folgenden Inhalt einfügen

context.modules = [
{   name = libpipewire-module-zeroconf-discover
    args = { }
}
]

Dann pipewire neu starten mit systemctl --user restart pipewire

Siehe auch Pipewire im ArchWiki und offizielle Dokumentation.

Bugs in rev0.1

Das Ende von R11, was an SDA hängen sollte, ist nicht an SDA angeschlossen, obwohl das entsprechende Via schon direkt neben dem Pad liegt. Lässt sich aber mit einem dünnen Stück Draht reparieren.

Konfiguration

Um Domain, Hostname oder IP-Adressen dauerhaft zu ändern, müssen die Dateien in /boot/config angepasst werden

Nixos

Unter nix mit PipeWire funktioniert folgende config:

  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    audio.enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    extraConfig.pipewire = {
      "raop-discover" = {
        "context.modules" = [
          {
            name = "libpipewire-module-raop-discover";
          }
        ];
      };
    };
  };

Es empfiehlt sich helvum als GTK based GUI audio patchbay.