
Tengo un piano digital conectado a una interfaz de audio USB Focusrite Scarlett 2i2. Esa interfaz y una cámara web USB de Logitech están conectadas a mi computadora. Quiero fusionar los sonidos de Scarlett y el micrófono de la cámara web en un disipador nulo y usar su monitor como "micrófono" en Skype para lecciones de piano remotas. Luego, el profesor puede oírme hablar y también la música directamente desde Scarlett (y no grabada por aire).
Hasta ahora hago esto:
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
Así que ahora tengo que hacer loopbacks para entrar en el sumidero nulo. Luego abro la GUI de pavucontrol y en la pestaña de grabación asigno Scarlett al primer loopback y el micrófono de la cámara web al segundo loopback. Esto funciona. Sin embargo, esto es tedioso y comencé a escribir un guión para automatizar el proceso.
Sin embargo, me cuesta encontrar el comando para asignar los dispositivos a esos loopbacks. No estoy seguro de si pactl move-sink-input|move-source-output
son los comandos correctos para esto ni he entendido completamente su propósito, incluso leyendo la documentación y otras preguntas/respuestas de Stack. Los comandos proporcionan autocompletado, pero las sugerencias para los parámetros son confusas o los parámetros esperados (por ejemplo, el micrófono) no aparecen.
P: ¿Cómo conectaría Scarlett/micrófono a los dispositivos loopback a través de la línea de comando?
Mi meta:
- conecte la fuente n.° 4 (alsa_input.usb-Focusrite_Scarlett_2i2_[...].analog-stereo) a la entrada 1 del receptor
- conecte la fuente n.° 5 (alsa_input.usb-046d_09a1_C5BDCE20-02.analog-mono [=webcam]) a la entrada 2 del receptor
A continuación se muestran algunos resultados:
$ 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
Nota: También estoy abierto a soluciones que no sean PulseAudio y no importa si se trata de un script o una herramienta basada en GUI en la que pueda cargar dicha configuración, por ejemplo, desde un perfil.
Respuesta1
Puede configurar la fuente para los dispositivos de bucle invertido.
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