我有一台连接到 Focusrite Scarlett 2i2 USB 音频接口的数码钢琴。该接口和 Logitech USB 网络摄像头均连接到我的计算机。我想将 Scarlett 和网络摄像头麦克风的声音合并到一个 null-sink 中,并使用其显示器作为 Skype 中的“麦克风”进行远程钢琴课程。然后老师可以听到我的讲话以及直接来自 Scarlett 的音乐(而不是通过空中录制)。
到目前为止我这样做:
pactl load-module module-null-sink sink_name=piano_lesson
pactl load-module module-loopback sink=piano_lesson
pactl load-module module-loopback sink=piano_lesson
所以现在我必须环回进入空接收器。然后我打开 pavucontrol GUI,并在录音选项卡上将 Scarlett 分配给第一个环回,将网络摄像头麦克风分配给第二个环回。这有效。然而,这很乏味,我已经开始编写一个脚本来自动化该过程。
但是,我很难找到将设备分配给这些环回的命令。我不确定pactl move-sink-input|move-source-output
这是否是正确的命令,即使通过阅读文档和其他堆栈问题/答案,我也没有完全理解它们的目的。命令提供自动完成功能,但参数建议令人困惑或预期参数(例如麦克风)未显示。
问:如何通过命令行将 Scarlett/麦克风连接到环回设备?
我的目标:
- 将源 #4 (alsa_input.usb-Focusrite_Scarlett_2i2_[...].analog-stereo) 连接到接收器输入 1
- 将源 #5 (alsa_input.usb-046d_09a1_C5BDCE20-02.analog-mono [=网络摄像头]) 连接到接收器输入 2
以下是一些输出:
$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y8GCE759613412-00.analog-stereo module-alsa-card.c s32le 2ch 44100Hz SUSPENDED
2 piano_lesson module-null-sink.c s16le 2ch 44100Hz RUNNING
$ pactl list sink-inputs short
0 0 1 protocol-native.c float32le 2ch 44100Hz
1 2 - module-loopback.c s16le 2ch 44073Hz
2 2 - module-loopback.c s16le 2ch 44032Hz
$ pactl list sources short
0 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
3 alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y8GCE759613412-00.analog-stereo.monitor module-alsa-card.c s32le 2ch 44100Hz SUSPENDED
4 alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8GCE759613412-00.analog-stereo module-alsa-card.c s32le 2ch 44100Hz RUNNING
5 alsa_input.usb-046d_09a1_C5BDCE20-02.analog-mono module-alsa-card.c s16le 1ch 16000Hz RUNNING
6 piano_lesson.monitor module-null-sink.c s16le 2ch 44100Hz IDLE
$ pactl list source-outputs short
7 4 - module-loopback.c s16le 2ch 44100Hz
9 5 - module-loopback.c s16le 2ch 44100Hz
笔记: 我也对非 PulseAudio 解决方案持开放态度,无论它是脚本还是基于 GUI 的工具,我都可以在其中加载此类配置(例如从配置文件)。
答案1
您可以设置环回设备的源。
pactl load-module module-loopback source=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8GCE759613412-00.analog-stereo sink=piano_lesson
pactl load-module module-loopback source=alsa_input.usb-046d_09a1_C5BDCE20-02.analog-mono sink=piano_lesson