serveur-de-son-pipewire

Pipewire sound server

Damien Monteillard | Creative Commons BY-NC

Créer un serveur de son en utilisant Pipewire sur GNU/Linux

L'idée est de transférer du son via un réseau ethernet afin d'éviter de placer des cables Jack ou RCA trop long qui engendre des pertes.

Installer le paquet ROC associé à pipewire

Sur Manjaro
pacman -S pipewire-roc

Configuration de ROC pour Pipewire sur le serveur

Créer et éditer le fichier
.config/pipewire/pipewire.conf.d/roc-server-source.conf

 # ~/.config/pipewire/pipewire.conf.d/my-roc-source.conf

 context.modules = [
  {   name = libpipewire-module-roc-source
      args = {
          local.ip = MY.IP.PIPEWIRE.SERVER
          #roc.resampler.backend = default
          roc.resampler.profile = medium
          #roc.latency-tuner.backend = default
          #roc.latency-tuner.profile = default
          fec.code = disable
          sess.latency.msec = 5000
          local.source.port = 10001
          local.repair.port = 10002
          local.control.port = 10003
          source.name = "ROC Source"
          source.props = {
             node.name = "roc-source"
          }
      }
  }


Configuration de ROC pour Pipewire sur le client

Créer et éditer le fichier
.config/pipewire/pipewire.conf.d/roc-client-sink.conf


 # ~/.config/pipewire/pipewire.conf.d/roc-client-sink.conf
 
 context.modules = [
  {   name = libpipewire-module-roc-sink
      args = {
          fec.code = disable
          remote.ip = MY.IP.PIPEWIRE.CLIENT
          remote.source.port = 10001
          remote.repair.port = 10002
          remote.control.port = 10003
          sink.name = "ROC Sink"
          sink.props = {
             node.name = "roc-sink"
          }
      }
  }
]


Redémarrer pipewire grâce à systemd

systemctl --user restart pipewire.service

Configurer Pipewire pour transférer le son de Rhythmbox ou Elisa sur le client

Je suis en train de le développer. A suivre...