Divida la línea de interfaz de audio USB estéreo en dos dispositivos mono

Divida la línea de interfaz de audio USB estéreo en dos dispositivos mono

Tengo una interfaz de audio USB Scarlett 2i2 de tercera generación. Tiene dos entradas y dos salidas. Las dos entradas se tratan como micrófonos estéreo de forma predeterminada. Configuración -> Sonido -> Entrada muestra un dispositivo: "Entrada analógica - Scarlett 2i2 USB". Sin embargo, quiero separar las dos entradas para poder elegir cualquiera de ellas en una aplicación.

Por ejemplo, en Firefox, cuando algo quiere usar el micrófono, puedo elegir el 2i2 y se usarán ambas entradas. Quiero poder enviar la entrada izquierda o derecha a una aplicación, pero no ambas.

¿Cómo cambiaría Pulse/Alsa para que la interfaz de audio se divida en dos dispositivos de entrada virtuales, uno con la entrada izquierda y otro con la derecha?

Respuesta1

Bueno, gracias a la respuesta de mattia, descubrí que existe una diferencia entre sinksy sources. Un sumidero es una salida, una fuente es una entrada. Primero, corrí pacmd list-sourcesy encontré la línea channel map: front-left,front-right. Estas son las entradas que estoy tratando de separar. Luego formé esta línea para poner /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

El mastervalor proviene de pacmd list-sourcesy los mapas de canales al final son los que hacen que esto funcione. Estoy tomando la izquierda física de la entrada y la mapeo a la izquierda virtual para mi fuente de reamplificación. Así es como se ve la línea del otro lado:

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

También puede adjuntar esta fuente a su servidor de sonido en ejecución sin cambiarlo /etc/pulse/defaults.pausando pactl load-module, en cuyo caso deberá escapar de los espacios en la descripción con barras invertidas literales como '"foo\ bar"'(parece incorrecto pero funciona y evita un críptico "Error: Error en la inicialización del módulo"). " error):

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 \
    ;

Respuesta2

Si, puedes hacerlo. Gracias a la ductilidad de pulseaudiousted puede gestionar la entrada y salida, la fuente y el sumidero de su tarjeta de sonido de sus aplicaciones.

No conozco ningún ejemplo/ejercicio ya hecho, así que tienes que lidiar con él (al menos empieza) por tí mismo.

Como @CL indicó anteriormente,estees una gran fuente para empezar.aqui otrolugar útil.

Finalmente, sugiero algunas GUI:pavucontrolypaprefs, que te puede ayudar en este viaje.

información relacionada