如何将Linux Debian系统下本地USB数字钢琴的音频输入转发至远程PulseAudio服务器的音频输出
我来帮你搞定这个问题!核心是要把pc-piano上的本地USB钢琴输入源,主动定向转发到远程pc-desktop的PulseAudio服务器输出端——你之前的尝试没成功,一是模块名写错了,二是没指定具体的输入输出设备,默认loopback只会用系统默认的输入输出,没匹配到你的钢琴。
下面是具体的操作步骤:
第一步:确认设备标识
在pc-piano的终端里,先运行pactl list sources short,找到你的数字钢琴对应的输入源(名称通常会包含usb或设备型号),记下它的编号或者完整名称,比如alsa_input.usb-Yamaha_YDP-144_USB_Audio-00.analog-stereo。
接着再运行pactl list sinks short,这里应该能看到来自pc-desktop的远程输出sink(因为你已经配置了默认远程服务器),同样记下它的编号或名称。第二步:加载定向转发的loopback模块
在pc-piano的终端中,用刚才拿到的source和sink信息,执行以下命令:pacmd load-module module-loopback source=<钢琴source编号/名称> sink=<远程sink编号/名称> latency_msec=20
(这里把延迟调到20ms,你之前用的5ms可能太激进容易导致卡顿,可根据实际播放流畅度调整数值)
执行后应该就能立刻听到钢琴的声音从pc-desktop的无线耳机里传出来了。第三步:让配置持久化(可选)
如果希望每次开机都自动生效,不用手动重复操作,可以编辑pc-piano上的/etc/pulse/default.pa文件,在文件末尾添加一行:load-module module-loopback source=<钢琴source编号/名称> sink=<远程sink编号/名称> latency_msec=20
保存后,重启PulseAudio服务(systemctl --user restart pulseaudio)或者重启电脑,配置就会自动加载。
备注:内容来源于stack exchange,提问作者berty

