El micrófono no funciona en Linux: cómo probarlo y solucionarlo

Microphone-Test.org ·

El micrófono no funciona en Linux: cómo probarlo y solucionarlo

En Linux, un micrófono que no funciona está mucho más a menudo silenciado que averiado. El canal de captura de ALSA viene desactivado en muchas distribuciones, por lo que la cápsula funciona, pero el controlador no transmite nada. Una fuente predeterminada incorrecta o una aplicación confinada en un entorno aislado explican la mayoría de los casos restantes. La señal recorre una pila de capas: el controlador del núcleo de ALSA, a continuación PipeWire o PulseAudio, y finalmente la propia aplicación. Cualquier capa puede interrumpirla, y el resultado es siempre el mismo silencio. La solución adecuada depende totalmente de en qué capa se produzca el bloqueo. Esta guía identifica dicha capa y, a continuación, la repara mediante pasos tanto gráficos como en la terminal. Comience con una prueba rápida del micrófono o con el medidor de entrada del escritorio para comprobar el estado del hardware. A continuación, averigüe si su distribución utiliza PipeWire o PulseAudio, ya que los comandos que se indican a continuación varían en función de esa respuesta.

El micrófono no funciona en Linux: lista de comprobación para una solución rápida

Realice una prueba con nuestra herramienta de prueba de micrófono o con el medidor de entrada de sonido del escritorio.
Active el canal Capture en alsamixer y aumente su nivel.
Configure la entrada correcta en pavucontrol (o en wpctl en PipeWire).
Compruebe que su usuario pertenece al grupo audio.
Reinicie el audio: systemctl --user restart pipewire pipewire-pulse o pulseaudio -k.

Pruebe su micrófono en Linux en menos de un minuto

Compruebe que el micrófono capta el sonido antes de modificar cualquier ajuste. La solución para «sin señal» difiere por completo de la solución para «hay señal, pero nadie me oye. Un medidor de entrada en directo ofrece la respuesta más rápida y fiable, ya que reacciona a su voz en tiempo real. Un bucle degrabar y reproducir» puede ocultar errores en la selección del dispositivo, así que empiece por utilizar un medidor. Abra nuestra prueba de micrófono en línea y permita el acceso cuando se lo solicite el navegador. Ahora hable con normalidad. Si el indicador de nivel se mueve mientras habla, el micrófono, el controlador y el servidor de sonido funcionan correctamente. El problema se encuentra entonces en un nivel superior, en el enrutamiento o en una aplicación concreta. Si el medidor permanece plano, la señal está bloqueada o se ha seleccionado una entrada incorrecta.

Pruebe su micrófono →

Su escritorio también expone el micrófono de forma nativa. En GNOME, abra Configuración › Sonido › Entrada y seleccione su dispositivo; la barra de nivel de entrada debería moverse mientras habla. En KDE Plasma, abra Ajustes del sistema › Audio y observe el medidor situado junto al dispositivo de grabación. Supongamos que la barra se mueve aquí, pero una aplicación sigue sin captar nada. En ese caso, habrá comprobado que el fallo es específico de la aplicación y no general del sistema, por lo que debe pasar directamente a las secciones sobre enrutamiento y permisos que figuran a continuación. La tabla muestra las ubicaciones gráficas en las que su entorno de escritorio revela el micrófono, y lo que confirma la lectura en cada una de ellas.

Dónde buscarRutaLo que confirma
Indicador de entrada de GNOMEConfiguración › Sonido › EntradaSi el sistema recibe una señal y de qué dispositivo
Panel de audio de KDEAjustes del sistema › AudioEl dispositivo de grabación activo y su enrutamiento por aplicación
Control de volumenpavucontrol › Dispositivos de entradaEstado de silencio, ganancia y puerto de hardware seleccionado
Pestaña Grabaciónpavucontrol › GrabaciónQué aplicación captura desde qué dispositivo, en tiempo real

Conozca su servidor de sonido antes de solucionar problemas

El audio en Linux se estructura en capas, y la solución adecuada depende de en qué capa se encuentre el fallo. En la base se encuentra ALSA, el controlador a nivel del núcleo que se comunica con la tarjeta de sonido. Por encima de él se ejecuta un servidor de sonido que mezcla las secuencias y las distribuye entre las aplicaciones. Hay dos servidores que predominan. Las distribuciones modernas incluyen PipeWire. Fedora fue la primera en adoptarlo, y Ubuntu lo utiliza de forma predeterminada desde la versión 22.10. PipeWire ejecuta una capa de compatibilidad denominada pipewire-pulse, por lo que las herramientas más antiguas siguen funcionando sin cambios. Las versiones anteriores y algunas configuraciones más conservadoras siguen ejecutando PulseAudio. Ambos servidores se sitúan sobre ALSA, y un canal silenciado en ALSA silenciará a cualquiera de los dos.

Identifique su servidor antes de perder tiempo en la herramienta equivocada. Ejecute wpctl status en un terminal. Si aparece una lista limpia de sinks y sources, significa que PipeWire está activo. Si el comando no aparece, lo más probable es que se encuentre en PulseAudio; confírmelo con pactl info. Esto es importante porque los comandos difieren. PipeWire funciona con wpctl, mientras que PulseAudio utiliza pactl. La herramienta gráfica pavucontrol funciona con ambas, ya que pipewire-pulse responde a las mismas solicitudes. La tabla siguiente resume las herramientas principales y la función de cada una de ellas.

HerramientaTipoFunción
pavucontrolGráficaActiva el sonido de las entradas, ajusta la ganancia, selecciona el puerto y muestra las rutas de grabación por aplicación
alsamixerTerminal (TUI)Controla la tarjeta ALSA sin procesar: silencia la captura, activa la captura y ajusta la ganancia del hardware
arecord / aplayTerminalMuestra una lista de dispositivos de captura y graba o reproduce un archivo directamente a través de ALSA
wpctlTerminalMuestra los dispositivos de PipeWire, establece la fuente predeterminada y la silencia o reactiva

¿Por qué un micrófono que funciona sigue sin emitir sonido en Linux?

Un canal de captura de ALSA silenciado es la causa principal

ALSA controla cada canal de captura de forma independiente, y uno de ellos puede silenciarse por debajo del resto. Cuando esto ocurre, el medidor del escritorio marca cero, independientemente de lo alto que suba el volumen del software. Esta única circunstancia provoca más micrófonos «averiados» en Linux que cualquier fallo de hardware. La trampa reside en que, a menudo, esto pasa desapercibido en el mezclador gráfico. La solución se encuentra en alsamixer, un mezclador de terminal que permite acceder a la tarjeta sin procesar. Ábralo y, a continuación, pulse F6 para seleccionar su tarjeta de sonido. Pulse F4 para cambiar a la vista de captura. Resalte el canal Capture con las teclas de flecha. Si aparece MM debajo de la barra, está silenciado; pulse M para desactivar el silencio. Además, el canal de captura debe estar activado. Pulse la barra espaciadora sobre el elemento seleccionado hasta que aparezca CAPTURE en rojo; a continuación, aumente el nivel con la flecha hacia arriba. Muchos ordenadores portátiles también incluyen aquí un control Internal Mic Boost, ajustado a cero de fábrica. Al aumentarlo, se reactiva un micrófono que parecía no funcionar.

Fuente predeterminada incorrecta y enrutamiento defectuoso

El servidor de sonido elige una fuente predeterminada, y no siempre es la que usted desea. Si conecta unos auriculares USB, una cámara web con micrófono integrado o un dispositivo de captura HDMI, es posible que el servidor lo seleccione de inmediato. Los errores de enrutamiento también se ocultan dentro de las aplicaciones individuales. PipeWire y PulseAudio permiten que cada programa grabe desde un dispositivo diferente, configurado por cada transmisión. Por lo tanto, es posible que una aplicación esté configurada para una fuente que no produce nada, mientras que la configuración predeterminada del sistema funciona correctamente. La pestaña Grabación de pavucontrol muestra esto directamente, enumerando todas las aplicaciones que están capturando en ese momento y el dispositivo que utilizan. Sospeche primero de un problema de enrutamiento siempre que el micrófono funcione en un programa pero no en otro. Los auriculares Bluetooth añaden una complicación adicional. Un auricular con el perfil A2DP de alta calidad no dispone de micrófono alguno. El sistema debe cambiarlo al perfil HSP/HFP antes de que aparezca el micrófono de brazo, y la calidad del audio disminuye al hacerlo.

Permisos, grupos y aplicaciones en entorno aislado

El control de acceso bloquea el micrófono sin mostrar ningún mensaje de error. Históricamente, un usuario tenía que pertenecer al grupo audio para poder acceder a los dispositivos de sonido. La mayoría de los sistemas de escritorio modernos gestionan esto a través de la sesión, pero una instalación mínima o de servidor puede seguir exigiéndolo. El entorno aislado (sandbox) es el problema más reciente y de mayor envergadura. Las aplicaciones empaquetadas como Flatpak o Snap se ejecutan dentro de una capa de confinamiento que puede denegar el acceso al micrófono incluso cuando el resto del sistema funciona correctamente. En ese caso, la aplicación recibe silencio sin que se muestre ningún error. Puede comprobar y conceder estos permisos mediante Flatseal, un editor gráfico para los portales Flatpak, o desde la terminal con flatpak permissions. Los navegadores añaden su propia capa independiente por encima. Un sitio web debe estar autorizado dentro del navegador, independientemente del estado del sistema. Nuestras guías Firefox y Chrome tratan en detalle esa solicitud que aparece en el navegador.

Solución del problema, empezando por la causa más habitual

Siga estos pasos de resolución de problemas en orden. No pase directamente a las soluciones más drásticas. La secuencia es deliberada. Resuelve primero la mayoría de los casos, con la menor interrupción posible. La activación del sonido y el enrutamiento explican, juntos, la mayoría de los fallos del micrófono en Linux. Solo entonces la secuencia pasa a reiniciar el servidor de sonido. Después de cada cambio, vuelva a la prueba de micrófono o a su medidor de entrada del escritorio. Compruebe de nuevo si hay señal antes de continuar, para saber siempre qué paso ha marcado la diferencia.

Quitar el silencio y enrutar con pavucontrol

Instale y abra primero pavucontrol, ya que resuelve gráficamente los fallos más comunes. Vaya a la pestaña Dispositivos de entrada. Busque su micrófono y compruebe que el botón de silencio situado junto a su barra de nivel no esté activado. Aumente el volumen de entrada si es demasiado bajo. Compruebe el menú desplegable Puerto, ya que los ordenadores portátiles suelen mostrar tanto un micrófono interno como una toma para auriculares bajo un mismo dispositivo. A continuación, abra la pestaña Grabación mientras su aplicación está en funcionamiento. Cada aplicación de la lista cuenta con un selector de dispositivos a la derecha. Asigne explícitamente a la aplicación problemática el micrófono correcto. Esta simple reasignación resuelve muchos casos en los que «funciona en todas partes menos aquí». Las aplicaciones de videoconferencia también tienen su propio selector, por lo que debe configurar el dispositivo también en ellas. Nuestras guías para Zoom y Discord explican paso a paso cómo utilizar esos paneles.

Active la captura en alsamixer y, a continuación, realice una prueba desde el terminal

Acceda a alsamixer cuando el mezclador gráfico muestre un medidor plano. Siga los pasos para activar el sonido y habilitar la captura descritos anteriormente: F6 para la tarjeta, F4 para la captura y, a continuación, pulse M y la barra espaciadora en el canal Capture. Con el canal activado, compruebe la ruta de hardware directamente a través de ALSA. Ejecute arecord -l para obtener una lista de todos los dispositivos de captura que detecta el núcleo. Si su micrófono no aparece aquí, el fallo se debe a un problema con el controlador o la conexión, no a la configuración. Si aparece, grabe un fragmento breve y reprodúzcalo con arecord -d 5 test.wav && aplay test.wav. Si oye su voz, esto confirma que la ruta ALSA funciona, lo que reduce el fallo al servidor o a la aplicación. En PipeWire, realice la misma operación con wpctl status para leer el ID de la fuente; a continuación, ejecute wpctl set-default <id> y wpctl set-mute <id> 0.

Reinicie el servidor de sonido cuando el medidor se quede congelado

Supongamos que el canal no está silenciado, que se ha seleccionado la fuente correcta y que el medidor sigue sin moverse. Es probable que el servidor de sonido se haya atascado. Se trata de un estado conocido tras la suspensión del sistema, tras el intercambio en caliente de una interfaz USB o tras una actualización del controlador. Reiniciar el servidor obliga a reconstruir todo el grafo de audio sin necesidad de reiniciar el sistema. En PipeWire, ejecute systemctl --user restart pipewire pipewire-pulse wireplumber. En PulseAudio, ejecute pulseaudio -k, y el demonio se reiniciará automáticamente. El audio se interrumpe brevemente mientras se lleva a cabo este proceso. Considere esto como el botón de reinicio para una pila bloqueada, no como un paso rutinario. La siguiente tabla relaciona los síntomas más comunes con su causa habitual y la solución más rápida.

SíntomaCausa probableSolución
El medidor del escritorio está plano, en todos los dispositivosCanal de captura silenciado en ALSAActive el sonido y active la captura en alsamixer (M y, a continuación, la barra espaciadora)
Funciona en una aplicación, pero no en otraEl enrutamiento por aplicación se dirige a la fuente incorrectaReasigne el dispositivo en pavucontrol › Grabación
El micrófono deja de funcionar tras conectar unos auricularesLa fuente predeterminada se ha trasladado a un nuevo dispositivoConfigure la fuente a través de wpctl set-default o pavucontrol
Falta el micrófono de los auriculares BluetoothEl dispositivo se encuentra en el perfil A2DPCámbielo a HSP/HFP en la lista de perfiles de pavucontrol
Solo una aplicación oye silencioEl entorno aislado de Flatpak o Snap bloquea el micrófonoConceda acceso en Flatseal o mediante flatpak permissions
La señal solo vuelve tras cada reinicioEl servidor de sonido se ha bloqueado tras la suspensiónReinicie PipeWire y WirePlumber, o ejecute pulseaudio -k

Cómo garantizar el buen funcionamiento de su micrófono en Linux

Hay algunos hábitos que garantizan que el micrófono siga funcionando una vez que se restablezca. Mantenga el sistema actualizado, ya que PipeWire y WirePlumber publican con frecuencia correcciones relacionadas con el enrutamiento y el Bluetooth. Fije el micrófono que desee como fuente predeterminada, para que unos auriculares recién conectados no puedan ocupar la ranura sin que usted se dé cuenta. Revise de vez en cuando sus permisos en Flatpak y conceda acceso al micrófono únicamente a las aplicaciones que lo necesiten. Cuando el micrófono deba funcionar en un navegador, una aplicación de escritorio y el terminal, pruébelo en cada uno de estos entornos. Una aplicación que graba perfectamente con arecord puede seguir bloqueándose un nivel más arriba, dentro de un entorno aislado o de una pestaña del navegador. El comportamiento también varía según la distribución y el entorno de escritorio, por lo que una solución para Fedora puede encontrarse en otro menú en Ubuntu. Si cambia de equipo, nuestra guía de Chromebook describe las mismas comprobaciones en ChromeOS.

Preguntas frecuentes

¿Cómo puedo saber si mi sistema utiliza PipeWire o PulseAudio?

Ejecute wpctl status en un terminal. Si aparece una lista de sinks y sources, significa que PipeWire está en funcionamiento. Si el comando no aparece, ejecute pactl info y consulte la línea Server Name. Fedora y Ubuntu 22.10 o versiones posteriores utilizan PipeWire de forma predeterminada; las versiones anteriores utilizan PulseAudio.

Mi micrófono funciona con arecord, pero no en mis aplicaciones. ¿A qué se debe?

El hecho de que la captura de arecord funcione demuestra que la ruta de hardware ALSA es correcta. El problema reside en el servidor de sonido o en la aplicación. Abra la pestaña Grabación en pavucontrol y configure la aplicación para que utilice la fuente correcta. Si la aplicación es un Flatpak, compruebe los permisos del micrófono en Flatseal.

¿Por qué no aparece el micrófono de mis auriculares Bluetooth?

El modo A2DP de alta calidad no admite micrófono. Los auriculares deben cambiar al perfil HSP o HFP para que su micrófono de brazo esté disponible. Abra pavucontrol, busque el dispositivo en la lista de configuración o perfiles y seleccione el perfil de auriculares. Tenga en cuenta que la calidad del audio disminuirá al hacerlo.

¿Cómo puedo activar el micrófono desde el terminal?

En ALSA, abra alsamixer, pulse F4 para acceder a la vista de captura, seleccione Capture y pulse M para activar el micrófono. En PipeWire, busque el ID de la fuente con wpctl status y, a continuación, ejecute wpctl set-mute <id> 0. Un canal de captura ALSA silenciado es la causa más habitual de que la entrada no se escuche.

¿Cómo puedo reiniciar el audio de Linux sin reiniciar el sistema?

En PipeWire, ejecute systemctl --user restart pipewire pipewire-pulse wireplumber. En PulseAudio, ejecute pulseaudio -k y el demonio se reiniciará por sí mismo. El audio se interrumpe durante un segundo mientras el servidor reconstruye su gráfico. Utilice esta opción únicamente después de que hayan fallado las comprobaciones de activación del sonido y de enrutamiento.

Prueba tu micrófono

Prueba tu micrófono →