
私はデジタルピアノを 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 を最初のループバックに割り当て、Web カメラのマイクを 2 番目のループバックに割り当てます。これでうまくいきます。ただし、これは面倒なので、プロセスを自動化するスクリプトを書き始めました。
しかし、デバイスをこれらのループバックに割り当てるコマンドを見つけるのに苦労しています。pactl move-sink-input|move-source-output
これが適切なコマンドかどうかはわかりませんし、ドキュメントや他の Stack の質問/回答を読んでも、その目的を完全に理解できていません。コマンドは自動補完を提供しますが、パラメータの提案がわかりにくかったり、予想されるパラメータ (マイクなど) が表示されなかったりします。
Q: コマンドライン経由で 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