37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
# ~/.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". Replace ROBOT_IP with the Pi's address
|
|
# (give it a DHCP reservation on your router so it never changes).
|
|
#
|
|
# Apply with: systemctl --user restart pipewire pipewire-pulse wireplumber
|
|
|
|
context.modules = [
|
|
{ name = libpipewire-module-pulse-tunnel
|
|
args = {
|
|
tunnel.mode = sink
|
|
pulse.server.address = "tcp:ROBOT_IP: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:ROBOT_IP: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"
|
|
}
|
|
}
|
|
}
|
|
]
|