PulseAudio를 사용하여 오디오 장치를 루프백 장치에 연결하는 방법은 무엇입니까?

PulseAudio를 사용하여 오디오 장치를 루프백 장치에 연결하는 방법은 무엇입니까?

Focusrite Scarlett 2i2 USB 오디오 인터페이스에 디지털 피아노가 연결되어 있습니다. 해당 인터페이스와 Logitech USB 웹캠이 모두 내 컴퓨터에 연결되어 있습니다. Scarlett과 웹캠 마이크의 사운드를 널 싱크로 병합하고 원격 피아노 레슨을 위해 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문서 및 기타 스택 질문/답변을 읽어도 그 목적을 완전히 이해하지 못했습니다. 명령은 자동 완성을 제공하지만 매개변수 제안이 혼란스럽거나 예상 매개변수(예: 마이크)가 표시되지 않습니다.

Q: 명령줄을 통해 Scarlett/마이크를 루프백 장치에 어떻게 연결합니까?

내 목표:

  • 소스 #4(alsa_input.usb-Focusrite_Scarlett_2i2_[...].analog-stereo)를 싱크 입력 1에 연결합니다.
  • 소스 #5(alsa_input.usb-046d_09a1_C5BDCE20-02.analog-mono [=webcam])를 싱크 입력 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

관련 정보