Estudio con Software Libre

En el siguiente documento vamos a sintetizar todo lo que necesitamos, tanto a nivel de hardware como de software, para tener un estudio económico basado en software libre y que nos permita realizar programas en directo, recibir/enviar llamadas telefónicas por VozIP y sacar nuestra emisión por streaming.

Hardware

Para la grabación necesitamos un pc con al menos 1 Gyga de RAM y 2GHZ de Velocidad. Si no contamos con una mesa de mezclas USB con interfaz de audio, necesitaremos que la tarjeta de sonido pueda trabajar con linux (alsa-project.org/main/index.php/Matrix:....

En este equipo haremos una instalación de Ubuntu Lucid 10.4 LTS.

En radio Almaina tenemos este material:

La conexión al ordenador la hacemos mediante el interfaz USB de la mesa de mezclas. Tambien va por USB la vuelta con la mezcla final del pc a la mesa, que la enviamos a la salida de Control y ahí conectamos el distribuidor de Cascos. Pudiendo escuchar así la mezcla final de sonido.

Otra opción que hemos probado es comprar un micro USB (http://www.thomann.de/es/the_tbone_mb88u_dual.htm) y conectar directamente al pc, así no necesitamos la mesa de mezclas para poder grabar.

JACKD & IDJC (Internet DJ Console)

idjc.sourceforge.net
es.wikipedia.org/wiki/JACK_Audio_Connec...
Siguiente las instrucciones de instalación estos son los pasos:

Instalamos IDJC

sudo aptitude install idjc

Añadimos esta linea en /etc/security/limits.conf

$ sudo su -c 'echo "@audio   -   rtprio   99" >> /etc/security/limits.conf'

Añadimos nuestro usuario al grupo audio

sudo usermod -a -G audio $(whoami)

Cerramos nuestra sesión de usuario y volvemos a entrar para activar los cambios

Si no estuviera instalado QT Jack Control Interface (qjackctl) lo instalamos.

sudo aptitude install qjackctl

Abrimos Qjackctl y vamos a setup. Aqui veremos las principales opciones pulsando en setup. En el pantallazo podéis ver la configuración que tenemos, pero habrá que tocar los valores (Cuadros/periodo, máximos puertos, para tener el mínimo de latencia sin errores o con los errores. También seleccionaremos el dispositivo de entrada (grabación) y de salida (reproducción)

Instalamos un kernel con baja latencia…

sudo aptitude install linux-image-rt

Para iniciar con este nuevo kernel reiniciamos el equipo y en el menú de arranque elegimos el kernel RT.

Para usar IDJC, iniciamos JACKCTL y pulsamos en iniciar. Después ejecutamos IDJC.

Al iniciar IDJC podemos elegir el perfil de trabajo. Esto nos permitirá personalizar la configuración por programa por ejemplo.

  1. Reproductor Izquierdo.
  2. Reproductor derecho.
  3. Volumen General reproductores.
  4. Microfonos. Tecla m abre/cierra micros
  5. Abre llamada VOZIP (Skype, SIP). Tecla v.
  6. Crossfade. Tecla c hace la mezcla. Tecla uno pasa a reproductor izquierdo, tecla 2 pasa a reproductor derecho.

Algunas opciones del menú PREFS (preferencias):

General

Meters – Niveles de sonido

Stream Peak – Nivel de sonido del Stream (emisión)
Mic Peak – Nivel de sonido del micro. _mantener entre -6 y -2 db. Lo controlamos con los volumenes de la mesa de mezclas.
Microphone compressión level – Nivel del compresor de sonido. Cuando el nivel del micro supero -0 db el compresor hace que no se sature.
Stream Status – Estado del stream. En verde los streams activos

Replay Gain

Indicate which tracks have Replay Gain values. – (Por traducir)
Adjust Playback volume. – Ajustar el volumen de las pistas de audio.
Gain value for unmaerked tracks – Ganancia para las pistas de audio desmarcadas.

Miscellaneous Features

End tracks early: those that have quiet endings. – Finalilizar antes pistas con finales silenciosos.
End tracks early: those containing excessive silence – Finalizar antes pistas con silencios excesivos.
Restrict the stream audio levet to -2db: Ajustar el nivel del streaming de audio a -2db.
Enable the main-player speed/pitch control: Habilitar el control de velocidad/pitch en el reproductor.
At startup ask which profile to use: Preguntar al inicio el perfil a utilizar.
Sound alarm when the music is due to end – Alarma de fin de canción.
Apply dither to MP3 and FLAC playback: …
Use utf-8 encoding when streaming mp3 metadata: …
Make Mic and Aux buttons mutually exclusive: Los botones Mic y Aux se excluyen mutuamente
Enable tooltips: Habilitar globos de ayuda.

Connection Management

Player Settings at Startup

Microphone – Microfonos

_Desde aquí configuramos algunas funciones del microfono, a parte de las tipicas de filtro de bajas frecuencias, Agudos, Graves. Tenemos la función de Ducker que nos atenuará la música del reproductor cuando hablamos en el micro. Para ajustarlo correctamente tenemos que tocar los valores de Ducker y el limit de Compressor.

Jack Ports

Aqui le indicamos desde que puertos del servidor Jack cogemos el sonido. En tarjetas mas sencillas es mas facil que el puerto por defecto sea el del micro, en otras con mas entradas tendremos que ver que numero de puerto es el que tiene la entrada de sonido

Server

Desde aquí configuramos el/los streams de audio y las grabación

En el apartado de Connection podemos configurar los streams que tengamos, ya sea conectando a un servidor icecast local o en internet. Podemos tener varios.

En Format configurarmos la calidad y el formato del archivo que genera cuando grabamos.

En servr conect podemos configurar las automatizaciones. Por ejemplo que empiece a grabar cuando iniciamos el stream.

En record tenemos que elegir el stream que hayamos configurado, la carpeta donde queremos guardar el archivo y si lo estamos haciendo manualmente tendremos que pulsar sobre el boton rojo de grabación.

Jingles

Desde aquí configuramos los lanzadores de jingles, que basicamente permiten configurar sonidos en las teclas F1, F2, etc del teclado. Lo primero que tendremos que hacer es dejar los archivos de audio en la carpeta /home/usuario/.idjc/jingles y en la ventana de jingles pulsar en Actulizar. Nos apareceran los Jingles por orden alfabetico. Si queremos tener control sobre que tecla Fx lanzara cada jingle podemos nombrar los archivos así por ejemplo F1.jingle1.mp3, F2.jingle2.mp3.

Cuando pulsemos sobre los F se lanzara el audio atenuando lo que se este reproduciendo en ese momento. Para parar la reproducción de un jingle, pulsamos la tecla ESC.

LLamadas por VozIP

_Las instrucciones que tenemos en la página oficial de IDJC sobre como configurar el VOZIP no terminan de funcionar. Ahora paso a explicaros como he conseguido que funcionen. La idea esencial es poder hacer/recibir llamadas por VOZIP (Skype, SIP) y meter estas llamadas en IDJC.

sudo aptitude install pulseaudio-module-jack

Abrimos Jackctl y vamos a SETUP. En la pestaña de opciones añadimos esta linea en script a ejecutar luego de iniciar.

pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2;

Ahora reiniciamos el servido JACKD.

Nos vamos a preferencias de sonido y veremos que en Entrada y Salida tenemos un nuevo dispositivo (virtual). Lo seleccionamos en las dos pestañas.

Vamos a JACKCTL y en Conexiones conectamos

Pulseaudio JACK Sink:

front-left -—→ voip_recv_lt
front-right -—> voip_recv_rt

Pulseaudio Jack Source:

front-left -—→ voip_send_lt
front-right -—> voip_send_lt

Ahora simplemente es hacer la llamada con SKYPE/SIP y pulsar el botón con el teléfono verde para meter la llamada.

Como lo que estamos haciendo es enviar todo el sonido de pulseaudio a JACKD, cualquier aplicación de pulseadio que suene también se escuchará, por ejemplo un reproductor de sonido, navegador, etc… Podemos tambien redireccionar los canales Pulseadio JACK SINK a aux_lt y aux_rt para poder poder escucharlo pulsando sobre el boton que tenemos junt a los de teléfono de AUX. Así podriamos, por ejemplo, reproducir un cd y que se escuche en IDJC.

Para las llamadas podemos usar SKYPE, que pillando un bono nos permite llamar a fijos/moviles de todo el mundo. Si lo que queremos es recibir llamadas tenemos la opción de contratar numero VOZIP en (http://www.adamvozip.es/index.php?option=com_content&view=article&id=101&Itemid=147&lang=es). Por 8 euros al mes nos dan un fijo que se vincula a la cuenta SIP del servicio. Así recibiríamos llamadas en nuestro cliente SIP (Blink) estemos donde estemos. Un ejemplo sería poder montar un estudio movil en la calle y poder hacer/recibir llamadas de telefono siempre que tengamos una conexión de internet.

3. Cuestiones por resolver o por redactar

  • Guardar las conexiones de VOZIP en JACKCTL de una sesión a otra.
  • Elegir un cliente VOZIP que funcione con SIP y vaya bien con PULSEAUDIO.
    He probado Blink Puntos a favor, funciona con pulse, contestador automático. Mirar porque se escucha con poco volumen….
  • Configuración de servidor ICECAST para el streaming
  • Configuración de Audacity para edicion de audio