GNU/Linux >> Tutoriales Linux >  >> Linux

Audio de Linux:solo altavoces o micrófono disponibles, no ambos

Aquí hay un problema bastante interesante que he encontrado recientemente. Me compré una computadora portátil nueva, Lenovo IdeaPad 3, principal para probar diferentes distribuciones de Linux. Como parte de mi configuración inicial, encontré un problema extraño con el sistema de audio en Kubuntu. Es decir, podía reproducir sonido, pero no había micrófono, o podía grabar sonido con el micrófono pero no había salida, ni a través de altavoces ni de auriculares.

Esto me enfureció un poco, porque no había tal problema en Windows 10 en la configuración de arranque triple temporal de la computadora portátil. Entonces comencé una persecución larga y aparentemente salvaje, tratando de resolver esto. La búsqueda me llevó a docenas de foros, discutiendo problemas similares y relacionados. La mayoría de ellos parecen centrarse en los modelos de portátiles Lenovo más nuevos. Quería aprovechar esta oportunidad para escribir un pequeño tutorial, que con suerte lo ayudará, si encuentra este problema, obtenga reproducción simultánea y micrófono en su (s) sesión (es) de escritorio de Linux. Después de mí, Tuxers.

Problema con más detalle

De todas formas. Tenía Kubuntu funcionando, hasta ahora todo bien. Pude reproducir música y videos, tampoco hubo problema. Luego, hice clic en el ícono de volumen en el área del sistema y noté que solo aparecía un dispositivo:Altavoces. No había control deslizante de micrófono, como suelo ver en este o aquel escritorio de Linux, independientemente de la elección específica del entorno de trabajo.

De hecho, esto no fue casualidad. No había micrófono (aparentemente). Instalé y lancé Audacity, y luego traté de grabarme. No había nada. A primera vista, la computadora portátil no tenía micrófono, el hardware estaba dañado o la distribución de Linux estaba usando un controlador incorrecto, que no admitía todas las funciones necesarias de la tarjeta de sonido.

Resultó que ninguno de estos era correcto.

Configuración de PulseAudio

Eliminé los problemas de hardware de inmediato:el audio funcionaba bien en Windows 10. Así que pensé que tal vez el controlador estaba mal. Para verificar esto, inicié la utilidad PulseAudio y verifiqué la configuración. Y entonces me di cuenta de algo bastante interesante. Para el hardware enumerado, solo había dos perfiles disponibles:salida estéreo y entrada estéreo analógica. Si los cambiara, tendría reproducción o micrófono, pero no ambos al mismo tiempo.

Lo que no funcionó

En este punto, pasé todo el tiempo buscando y buscando un poco más. Por su bien, aquí hay una lista de varias cosas que probé, para que pueda considerarlas y, si es necesario, descartarlas:

  • Intenté cambiar los parámetros de arranque del controlador de audio (a través de los archivos de configuración modprobe.d).
  • Intenté cambiar los niveles de volumen en diferentes archivos de configuración de PulseAudio/ALSA.

Solución

La experiencia anterior me enseñó una cosa principal:cuán salvaje y complejo es el subsistema de audio en Linux, y sin una buena razón. Hay toneladas de archivos de configuración y opciones, y todos son completamente nerds por naturaleza. Eventualmente, encontré un gran recurso en Archlinux Wiki, que finalmente me ayudó a desbloquear mi problema. Entonces, en cierto modo, felicitaciones masivas a los usuarios del foro por su trabajo.

La idea es crear un nuevo perfil de PulseAudio, que permita la entrada y salida simultáneas.

Paso 1:revisa la lista de tus dispositivos de audio

Hay varias maneras de hacer esto. Puede enumerar su hardware con lspci y también usar la utilidad de línea de comandos PulseAudio pacmd:

sudo lspci-knn | grep Audio -A3
03:00.1 Dispositivo de audio [0403]:Advanced Micro Devices, Inc. [AMD/ATI] Controlador de audio Raven/Raven2/Fenghuang HDMI/DP [1002:15de]
Subsistema:Lenovo Controlador de audio Raven/Raven2/Fenghuang HDMI/DP [17aa:3805]
Controlador kernel en uso:snd_hda_intel
Módulos kernel:snd_hda_intel
03:00.2 Controlador de cifrado [1080]:Advanced Micro Devices, Inc. [AMD] Familia 17h (Modelos 10h-1fh) Procesador de seguridad de plataforma [1022:15df]
--
03:00.5 Controlador multimedia [0480]:Advanced Micro Devices, Inc. [AMD] Raven /Raven2/FireFlight/Renoir Audio Processor [1022:15e2]
Subsistema:Lenovo Raven/Raven2/FireFlight/Renoir Audio Processor [17aa:3807]
Módulos del kernel:snd_pci_acp3x, snd_rn_pci_acp3x
03:00.6 Dispositivo de audio [0403]:Advanced Micro Devices, Inc. [AMD] Family 17h (Modelos 10h-1fh) HD Audio Controller [1022:15e3]
Subsistema:Lenovo Family 17h (Modelos 10h-1fh) HD Audio Controller [1 7aa:3809]
Controlador kernel en uso:snd_hda_intel
Módulos kernel:snd_hda_intel

sumideros de lista pacmd | grep -e 'nombre:' -e 'alsa.dispositivo ' -e 'alsa.subdispositivo '
nombre:
alsa.subdispositivo ="0 "
alsa.dispositivo ="0"

Los dos comandos pueden ayudarlo a identificar el número de bus PCI exacto y el número de dispositivo atacado al bus. Necesitaremos esta información para el nuevo perfil de PulseAudio. En mi computadora portátil, el dispositivo de audio que queremos:el controlador de audio HD (no el controlador de audio HDMI/DP) está ubicado en el dominio 0000, bus 03, ranura 00, función 6.

Paso 2:Cambiar la configuración de audio

Abra /etc/pulse/default.pa en un editor de texto, como root o sudo. Cree una copia de seguridad de este archivo primero. Al comienzo del archivo, debajo de los comentarios genéricos de la descripción del archivo, pegue el siguiente fragmento de código, de modo que quede encima de las demás directivas de configuración:

### Cargar dispositivo analógico
load-module module-alsa-sink device=hw:X,Y
load-module module-combine-sink sink_name=combined
set-default-sink combinado

Donde X es la tarjeta e Y es el dispositivo. En mi caso, esto corresponde a X =0, Y =3.

### Cargar dispositivo analógico
load-module module-alsa-sink device=hw:0,3
load-module module-combine-sink sink_name=combined
set-default-sink combinado

En este punto, lo más fácil es simplemente reiniciar el sistema.

Paso 3:Verifique la configuración y seleccione un nuevo perfil

Una vez que la máquina se reinicie, en su distribución de Linux, inicie la herramienta de configuración PulseAudio y seleccione la última pestaña (Configuración). Expanda la lista desplegable de perfiles. Ahora notará que hay muchos más perfiles disponibles, además de los dos predeterminados. Seleccione Salida estéreo + Entrada estéreo analógica.

Inicie una aplicación que pueda reproducir sonido y grabar audio:Audacity es un buen ejemplo. Y ahora, notará que tiene ambas funcionalidades disponibles al mismo tiempo, y su problema está resuelto.

Conclusión

Aquí vamos. Estoy feliz de haber solucionado el problema, pero estoy terriblemente decepcionado de que este tipo de problema pueda o deba ocurrir en 2021. Es posible que se incline a culpar al hardware, e incluso puede buscar problemas de audio específicos con AMD Raven/Raven2 Audio Procesador, que podría ser un buen punto de partida indicativo. Pero al final, no es el hardware lo que debemos culpar. No sé por qué la configuración de PulseAudio debería ser diferente para esta tarjeta en particular en esta distribución, pero en cualquier caso, tienes este tutorial, así que espero que las cosas estén bien a partir de ahora.

Si tiene problemas de audio en su computadora portátil con Linux, intente depurar su problema metódicamente. ¿El audio funciona correctamente en otros sistemas operativos? ¿El audio funciona de forma selectiva en tu distribución? Si es así, ¿tiene el tipo correcto de configuración en su lugar? Use los comandos lspci y pacmd para tratar de descubrir qué está mal y, luego, es mucho más probable que se concentre en los cambios de configuración correctos para el subsistema de audio. En mi caso, fue la "simple" cuestión de crear un nuevo perfil de PulseAudio. Una vez más, muchas gracias a la gente de ArchLinux Wiki. Que empiece la fiesta, amigos.


Linux
  1. Conceptos básicos de comandos de Linux:printf

  2. Cómo copiar imágenes de forma masiva solo de cierto tamaño en Linux

  3. El micrófono de Skype no funciona en Linux Mint 17 [Consejo rápido]

  4. Cómo configurar Chroot SFTP en Linux (Permitir solo SFTP, no SSH)

  5. medias:comando no encontrado

El año de la insatisfacción de Linux

Linux Mint 20 Ulyana Cinnamon - Razonable pero no alegre

Linux Mint 20 Ulyana Xfce - No del todo

Optimización de Notepad++ en Linux

Las 10 mejores distribuciones de Linux

Linux canaliza el archivo de audio a la entrada del micrófono