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

이제 null 수신자로 루프백해야 합니다. 그런 다음 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

노트: 나는 또한 그러한 구성(예: 구성 파일에서)을 로드할 수 있는 스크립트이든 GUI 기반 도구이든 관계없이 PulseAudio가 아닌 솔루션에도 열려 있습니다.

답변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

관련 정보