Silenciar Line In al cerrar Tvtime en Ubuntu

Si quieren ver televisión en GNU/Linux les recomiendo el programa Tvtime para sacar el mayor provecho de sus placas sintonizadoras de video. Pero tiene un pequeño defecto que voy a explicar como solucionar en esta entrada.

Resulta que al ejecutar Tvtime este necesita abrir la entrada de sonido o line in ya que es de ahí de donde proviene el audio. El problema es que al cerrar el programa, el line in queda abierto y nos deja algo de ruido de fondo. Si luego queremos ver una película, o escuchar música, vamos a tener un molesto murmullo. Claro que siempre podemos ir al control de sonido y cerrar la entrada, pero hacer eso cada vez luego de ver la tele termina siendo insoportable, además, luego hay que volver a abrirla sino cuando abramos Tvtime nuevamente, no tendremos sonido.

La solución es crear un script de apenas tres líneas que utilizaremos como enlace. Primero abriremos la entrada de sonido, luego ejecutaremos Tvtime y finalmente cerraremos la entrada de sonido.

Para abrir y cerrar el line in, primero tenemos que ver bien como hacerlo. Vamos a usar el programa amixer para ver de qué controles disponemos

Abrimos una consola y ejecutamos

Tendremos un resultado similar al siguiente.

La salida puede ser bastante extensa, en mi caso la corté para mostrarles algo en particular. Lo que viene luego de la palabra Simple es un dispositivo de control. Lo que nosotros buscamos es el line in que aquí figuran como Capture. Según la placa de sonido que tengamos, pueden aparecer más de una.

Vamos a hacer algunas pruebas. Abrimos Tvtime y buscamos algún canal que tenga sonido.

Ejecutamos en el terminal:

¿Qué hace esto? -c se refiere a qué placa de sonido queremos controlar, en este caso la número 0. El parámetro sset dice que lo que queremos hacer es modificar o controlar algo. El número 0 que viene después se refiere al control específico. Por último, el porcentaje indica el nivel de volumen que debe adoptar.

Si luego de correr el comando nos quedamos sin sonido en Tvtime es excelente. Significa que hemos acertado y que estamos teniendo control sobre el line in. En caso contrario, podríamos seguir probando con el comando anterior, tratando de variar los parámetros, por ejemplo Capture,1 o intentando introducir alguno de los controles que vimos en la salida de amixer scontents.

Hasta aquí, estábamos probando. Ahora vamos a crear un script  muy simple para hacerlo automático. Voy a trabajar sobre /opt/scripts, pero pueden elegir otro directorio si lo desean.

Creamos el directorio

Creamos un nuevo archivo sh y lo modificamos. Yo acostumbro utilizar el editor nano, pero pueden usar cualquier otro.

Introducimos los comandos en el archivo.

La primer línea abre el line in y sube el volumen en un 20%. ¿Por qué 20% y no 100%? Porque mi placa de sonido pasado determinado umbral empieza a amplificar y a saturar escuchándose muy mal el sonido. En 20% suena perfecto. Cada uno puede jugar con los valores hasta encontrar el óptimo. La segunda línea ejecuta Tvtime. La tercer línea se ejecuta recién cuando lo cerramos y lo que hace, evidentemente, es silenciar la entrada de sonido.

Guardamos el script y le damos permisos de ejecución ya que lo vamos a usar de enlace.

Hacemos una prueba a ver si realmente funciona

Al cerrar Tvtime ya no deberíamos escuchar el murmullo que dejaba el line in.

Resta crear un enlace y agregarlo al dash, pero eso depende de la interfaz gráfica que estemos usando. También podemos cambiar el ícono para que no quede con el de la consola, que va a ser el que se va a poner automáticamente por tratarse de un script.

Y nada más, espero que la explicación haya sido clara y que les haya servido.

Soy programador web y me desempeño como Líder Técnico en Polar Bear Development. Trabajo con tecnologías como PHP, Javascript, MySQL y HTML5 para el desarrollo de sitios y sistemas web. Me especializo en Zend Framework 2 y otros frameworks MVC, como también en WordPress y otros CMS. Lidero equipos de desarrolladores trabajando con Scrum. Vivo en Buenos Aires, Argentina.
 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*