Bueno, esta sección va dedicada a alguien que quiera montar una radio en internet como la hicimos en RadioGNU.
Antes que nada, entendamos cómo funciona un sistema de flujo de datos (streaming) de audio por internet:
En principio sólo con una computadora con GNU/Linux y un micrófono de bajo presupuesto será suficiente para lograr de forma primitiva lo que necesitaremos. Sin embargo en un ambiente ideal la configuración sería así:
Sobre el “GATE” o “Compuerta” sumado al Compresor y al Limitador, es importante señalar que dará al sonido una señal proveniente del micrófono donde no hayan picos producidos por alto volumen y lo que es más importnate: se eliminarán los sonidos que sean de baja señal. Con esto, cuando una persona habla se le escucha siempre al mismo volumen y si alguien que no está frente al micrófono hace un ruido o dice algo no se escuchará, dejando exclusivamente la voz del locutor la que sea procesada.
En las distintas pruebas que hemos realizado, nos hemos encontrado con que lo más recomendable es compilar el IDJC desde las fuentes. Estas instrucciones son para hacerlo en Debian Squeeze.
Instalamos JACK y las herramientas necesarias para compilar el IDJC:
aptitude install build-essential jackd qjackctl vorbis-tools alsa libjack-dev libvorbis-dev libogg-dev libmad0-dev \ libsamplerate-dev libflac-dev libsndfile-dev libavcodec-dev libavformat-dev libspeex-dev python-gtk2-dev \ python-mutagen checkinstall
Hecho esto podremos proseguir con la compilación del IDJC. Nos descargamos el paquete (para el momento de escribir esto la versión actual es la 0.8.1) desde la página oficial del proyecto:
http://sourceforge.net/projects/idjc/
Descomprimimos y compilamos las fuentes:
tar xzf idjc-0.8.1.tar.gz cd idjc-0.8.1 ./configure make sudo checkinstall
usando “checkinstall” en vez de “make install” estaremos generando un paquete .deb que además se entenderá con el sistema de dependencias de APT.
Para que el JACK pueda trabajar en tiempo real adecuadamente requiere, en algunas distribuciones, hacer más de un paso. En el caso de Trisquel GNU/Linux (la recomendada por RadioGNU) se debe editar el archivo /etc/security/limits.conf y allí agregar al final estas tres líneas:
@audio - rtprio 99 @audio - nice -10 @audio - memlock 4000000
En otras distribuciones será necesario tener un kernel RT (realtime) instalado. En el caso de Trisquel GNU/Linux no es necesario tal paso. Después será necesario unir el usuario con el cual se esté autenticado y agregarlo al grupo AUDIO en /etc/groups. Para que se esté totalmente seguro de que estos datos son cargados, se recomienda volver a comenzar una sesión nueva de usuario. Reiniciar será recomendable si se acaba de hacer un cambio a los valores del kernel… debe haber una forma de hacerlo sin reiniciar la máquina. Quien sepa como hacerlo se agradecerá.
Finalmente, en el archivo /etc/group se añade el usuario que se esté usando al grupo AUDIO y se reinicia la sesión, para que los cambios surtan efecto.
Hemos instalado jack en el proceso anterior. La manera más sencilla de invocarlo es usando una aplicación llamada qjackctl. Después de haber hecho el APTITUDE ya está en el menu del sistema, dentro de la categoría correspondiente:
Al invocarlo tendremos una pantalla como esta:
Antes de darle a INICIAR, tenemos que verificar que su configuración sea correcta. Para ello tendremos que asegurarnos de varias configuraciones antes. Lo primero es que para que funcione todo en TIEMPO REAL, es necesario que nuestro kernel soporte tal cosa, de lo contrario dará errores. Se sugiere la primera vez no activar esta opción.
Otras dos configuraciones son importantes y darán finalmente la latencia con la cual trabajaremos. Brevemente, “latencia” significa retardo, y es en este caso el retardo que tendrá el sonido desde que entra al sistema hasta que sale del mimso. Evidentemente, mientras menos retardo será mejor. La combinación de la FRECUENCIA DE MUESTREO y los CUADROS POR SEGUNDO darán como resultado la latencia resultante. A mayor latencia menor uso del procesador: a menor latencia mayor consumo de procesador y viceversa:
Se recomienda mantener en todo momento la frecuencia de muestreo en 44100, ya que valores menores al transmitir música pueden cambiar sensiblemente desfavorable la calidad del audio.
Eventualmente, si esos valores no son soportados por el hardware actual, sucederán unos perjudiciales eventos llamados los XRUNS. Estos, se verán en la pantalla del qjackctl en forma de dos números, que inicialmente están en cero:
Ahí se pueden ver sobre la palabra DETENIDO, es un cero con otro cero al lado. Estos números deben permanecer en cero. Cambiar a un número mayor no es bueno, por lo que habrá que modificar las configuraciones para que esto se mantenga en cero.
Esta página está en proceso