jueves, 6 de julio de 2017

Salida boba (en el audio)

Esto de la ‘salida boba’ es algo que he leido más de una vez en los foros. Se trata de un problema con el audio, normalmente cuando se instala una distro, donde no te funciona dicho audio y este es el mensaje que ves si pinchas en la configuración del sonido.
A mi nunca me ha ocurrido pero el otro día, que le instalé el Debian 9 a mi hija (ya la he ‘debianizado’… aunque todavía mantiene el espíritu windowsero de no salir del ‘aceptar’… ‘aceptar’), me lanzó un S.O.S porque tenía ese problema.
Así que me puse a investigar…
Y el caso es que, si buscas, en Google, por ‘Debian salida boba’, te encuentras con bastantes soluciones… y, por cierto, bastante distintas. Al parecer se trata de algún conflicto, o disfunción, que se produce, a veces, según qué tarjeta de audio tengas, entre el ALSA (‘Advanced Linux Sound Architecture’, que es un componente del núcleo de Linux) y PULSEAUDIO , que es el ‘servidor’ de sonido.
Por centrar, siquiera teóricamente, el concepto, dice la Wikipedia que, ‘...en una típica situación en un entorno Linux, el usuario configura ALSA (apunto yo que en las instalaciones 'friendly' esto lo hace automáticamente el instalador) para usar un dispositivo virtual proporcionado por PulseAudio. Entonces, las aplicaciones que usan ALSA enviarán el sonido a PulseAudio, el cual usa el propio ALSA para acceder al dispositivo físico (por ejemplo, una tarjeta de sonido)...’
El caso es que a veces se produce algún conflicto... y aparece lo de la 'salida boba'.

Pero la cuestión que importa es dejarnos de teorías y encontrar una solución a ese problema de falta de audio. Y mira, encontré una, muy sencilla, que funcionó perfectamente. Ésta:
Abrir consola y escribir…
sudo su (para pasar a consola root)
alsactl store [y dar al enter]
alsactl restore [y dar al enter]
y, tras reiniciar el PC… problema solucionado.

No me voy a meter en líos técnicos pero, por saber un poquito, eché un vistazo para ver qué hacía el comando ‘alsactl’. Y como resumen, bien a través del propio comando ‘man alsactl’, o bien a través de esta fuente, obtengo estas ideas (en ‘traducción libre’)...
NAME
alsactl - advanced controls for ALSA soundcard driver 
alsactl se utiliza para controlar la configuración avanzada de los controladores de ALSA de la tarjeta de sonido. Es compatible con múltiples tarjetas de sonido. Si su tarjeta tiene características que parece que no puede controlar desde una aplicación de mezclas, ha llegado al lugar correcto.
COMANDOS
store guarda el estado actual del controlador de la tarjeta de sonido seleccionado al archivo de configuración.
restore carga el controlador para la tarjeta de sonido seleccionada desde el archivo de configuración. Si falla la restauración, se llama a la acción (comando) ‘init’.  
nrestore es como el comando restore, pero también notifica al demonio para hacer un nuevo escaneo para ver tarjetas de sonido disponibles.
init intenta inicializar todos los dispositivos a su estado ‘por defecto’. Si el dispositivo no es reconocido (por el sistema), se devuelve el código de error 99.
(etc)
así que ‘mi teoría’ (y no llego a más) es que estos comandos o arreglan la cosa por las buenas o, si falla algo, ‘restore’ invoca al comando ‘init’ y de esta forma se inician todos los dispositivos a su estado ‘por defecto’... y esto lo arregla.

La cuestión es que, como he dicho, el método funcionó.
(Mi conocimiento del tema no llega (ni tengo ganas de profundizar en ello) a discernir si fué por casualidad, o si dará resultado siempre, pero aquí lo dejo como recordatorio… por si acaso).

No hay comentarios:

Publicar un comentario