¿Cómo cambio qué tomas de audio se usan para entrada y salida?

10

Estoy usando una tarjeta de audio Realtek HD integrada en mi placa base. El controlador de Windows viene con un panel de control que me permite seleccionar qué conectores del panel posterior se usan para qué. Entonces, por ejemplo, puedo hacer tanto el conector azul como el conector verde para la salida y solo el rojo para la entrada de micrófono. (Mientras que por defecto, el conector azul es para entrada de línea, que nunca necesito).

¿Cómo puedo hacer lo mismo con Linux? Si es posible, no sugiera algo que involucre PulseAudio o JACK; Me gustaría hacerlo de manera simple, por ejemplo, editando archivos de configuración de ALSA, si es posible. Según tengo entendido, mi problema no debería tener nada que ver con los servidores de software que redirigen las transmisiones, solo le digo al controlador que trate este conector como tal, porque es compatible con el hardware.

¡Muchas gracias!

Yamaho
fuente
esto funciona para la nueva actualización, haga clic en el enlace askubuntu.com/questions/289042/…
Scott Hunt

Respuestas:

17

Logré hacerlo, pero los cambios se revierten después de reiniciar. ( Actualización: esto se puede solucionar; consulte la parte inferior de esta publicación).

Lo hice a través de una GUI en Python llamada HDA Analyzer que se puede obtener y usar desde el sitio web de ALSA de la siguiente manera:

  • wget -O run.py http://www.alsa-project.org/hda-analyzer.py

  • sudo python run.py(Su página no dice sudo, pero si no lo hace sudo, descargará los scripts pero no podrá ejecutarlos y se quejará de los privilegios).

Ahora esto hará que se inicie la GUI, pero su uso no se explica y no es exactamente amigable para los novatos. Entonces, para hacer la vida más fácil, explicaré cómo lo hice. En mi caso, fue cuestión de dos clics; La parte difícil fue localizar exactamente en qué se debe hacer clic.

(Nota: puede explorar todos los nodos uno por uno, pero no modifique nada que no comprenda. Cualquier modificación (por ejemplo, marcar una casilla de verificación) se hace efectiva de inmediato; no hay un botón de aplicar).

  • La lista contiene muchos nodos llamada Node[0x##]seguidos por cualquiera de AUD_OUT, AUD_IN, AUD_MIX, PINy VENDOR. Los únicos en los que tienes que mirar son PINlos.

  • Hay múltiples tipos de nodos PIN; el tipo que queremos llenará toda la ventana con paneles / grupos de control (ayuda a estirar o maximizar la ventana), como en esta captura de pantalla . (El sitio me impidió insertar la imagen en línea, lo siento).

  • Dentro del campo Configuración predeterminada, algunos nodos tendrán en la primera línea Jack Connection: N/A; necesitamos los que dicen Jack Connection: Jackcomo en la captura de pantalla.

  • Para cambiar una entrada de línea a un conector de salida, mire hasta que encuentre el nodo que dice Jack Type: Line In. (Y observe el Jack Location2: Reary Jack Color: Blue.)

  • Luego, en las tres casillas de verificación en el grupo de Control de widgets a continuación, desmarque IN y check out .

  • De la misma manera, puede asignar cualquiera de los conectores delanteros o traseros a la entrada o salida.

Ahora, si cierra la ventana, le preguntará si desea revertir los cambios. Decir que sí los revierte de inmediato; decir que no los guarda, pero solo para esta sesión.

Si desea mantener sus cambios de forma permanente, no cierre HDA Analyzer todavía. En su lugar, haga clic en "Exp" (Exportar) en la parte inferior izquierda y use Guardar como para escribir el script de Python en un archivo. Ahora copie ese archivo en algo parecido /etc/hda-mods.pyy edítelo /etc/rc.localcomo raíz (por ejemplo, usando gksudo gedit /etc/rc.local) y agregue la línea python /etc/hda-mods.pyjusto antes de la exit 0línea, luego guárdela y reinicie. Tus cambios deberían sobrevivir.

Yamaho
fuente
Me gustaría saber qué tan útil es esto para las personas que desean usar HDA Analyzer para configurar una configuración 5.1 ...
Yamaho
Utilicé esta increíble escritura para usar mi puerto de micrófono rosa (trasero) como mi salida sub / central, y mi puerto de entrada de línea azul (trasero) como mi canal trasero. No es "5.1" en el sentido de ser un sonido posicional per se, pero realmente no lo necesito en este momento ... Solo necesito una salida estéreo analógica en todos los canales.
digitalextremist
1
Tiene que haber una manera de marcar cada salida para cualquier propósito, es decir, designarla como un subwoofer, etc.
digitalextremist
3

Otra herramienta gui podría ser hdajackretaskdel alsa-tools-guipaquete. Interfaz gráfica de usuario muy simple, admite anulación de arranque y opciones avanzadas.

ingrese la descripción de la imagen aquí

Espero no haber entendido mal la pregunta por completo. OP solicitó opciones que no sean JACK, pero estoy bastante seguro de que esto podría ayudar a alguien más. En mi caso, tuve que verificar la anulación de avance y mostrar los pines no conectados y establecer una entrada de micrófono no conectada a una salida de auriculares ... muy extraño, pero funciona. Aunque me encantaría ver una solución de línea cmd

phil294
fuente
funcionó para mí solo después de instalar como aplicación de arranque.
Ruslan Gerasimov
@RuslanGerasimov, sí, con frecuencia recibí algún error de "no se pudo xyz". Después de reiniciar el programa por décima vez (a veces con sudo, a veces sin), funcionó. Creo que también es necesario cerrar cualquier otra aplicación. En mi experiencia, no es necesario reiniciar.
phil294