Fel*_*523 5 sound pulseaudio microphone alsa
我有一个第三代 Scarlett 2i2 USB 音频接口。它有两个输入和两个输出。默认情况下,这两个输入被视为立体声麦克风。设置 -> 声音 -> 输入显示一台设备:“模拟输入 - Scarlett 2i2 USB”。但是,我希望将两个输入分开,以便我可以在应用程序中选择其中一个。
例如,在 Firefox 中,当有人想要使用麦克风时,我可以选择 2i2 并且将使用两个输入。我希望能够将左侧或右侧输入发送到应用程序,但不能同时发送。
我将如何更改 Pulse / Alsa 以便将音频接口分成两个虚拟输入设备,一个带有左侧输入,一个带有右侧输入?
sinks好吧,感谢 mattia 的回答,我发现和之间存在差异sources。接收器是输出,源是输入。首先,我跑着pacmd list-sources找到了那条线channel map: front-left,front-right。这些是我试图分离的输入。然后我形成了这条线来放入/etc/pulse/defaults.pa:
load-module module-remap-source source_name=2i2_Left_Mic source_properties="device.description='2i2 Left In'" master=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8J9ZC3950FFF9-00.analog-stereo master_channel_map=front-left channel_map=front-left
Run Code Online (Sandbox Code Playgroud)
该master值来自pacmd list-sources,最后的通道图是使此工作有效的原因。我从输入中获取物理左侧,并将其映射到我的重放源的虚拟左侧。另一边的线路如下所示:
load-module module-remap-source source_name=2i2_Right_Mic source_properties="device.description='2i2 Right In'" master=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8J9ZC3950FFF9-00.analog-stereo master_channel_map=front-right channel_map=front-right
Run Code Online (Sandbox Code Playgroud)
/etc/pulse/defaults.pa您还可以使用将此源附加到正在运行的声音服务器而不进行更改pactl load-module,在这种情况下,您需要使用文字反斜杠转义描述中的空格'"foo\ bar"'(看起来错误但有效,并避免神秘的“失败:模块初始化失败” “ 错误):
pactl load-module module-remap-source \
master=alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y78PVD021E19F4-00.analog-stereo \
source_name=Scarlett_Left_Mic \
source_properties=device.description='"Scarlett\ Solo\ Left\ Mic"' \
channels=1 \
master_channel_map=front-left \
channel_map=mono \
;
Run Code Online (Sandbox Code Playgroud)