# ~/.config/pipewire/pipewire.conf.d/50-robot-tunnel.conf (on Omarchy) # # Makes the robot's speaker and microphone appear here as ordinary audio devices, # "Robot speaker" and "Robot microphone". The robot is 10.55.0.2 on the USB link, a fixed address; # the robot's firewall accepts port 4713 only over that link, from 10.55.0.1. # # Apply with: systemctl --user restart pipewire pipewire-pulse wireplumber context.modules = [ { name = libpipewire-module-pulse-tunnel args = { tunnel.mode = sink pulse.server.address = "tcp:10.55.0.2:4713" #pulse.device = "robot_ec_sink" # only with the Pi's optional echo-cancel config pulse.latency = 200 # ms; lower is snappier but may crackle on weak Wi-Fi reconnect.interval.ms = 5000 # keep retrying while the robot is off stream.props = { node.name = "robot_speaker" node.description = "Robot speaker" } } } { name = libpipewire-module-pulse-tunnel args = { tunnel.mode = source pulse.server.address = "tcp:10.55.0.2:4713" #pulse.device = "robot_ec_source" # only with the Pi's optional echo-cancel config pulse.latency = 200 reconnect.interval.ms = 5000 stream.props = { node.name = "robot_mic" node.description = "Robot microphone" } } } ]