MONOGRÁFICO: Creación de una emisora de radio a través de Internet Imprimir
Monográficos - Monográficos
Escrito por Javier Martín   
Domingo, 13 de Julio de 2008 15:27

magix

El siguiente monográfico pretende ser una introducción a la creación de una emisora de radio a través de Internet

 

Introducción

 

Con la globalización e inmediatez impuesta como razón de ser en la sociedad de la información resulta cuanto menos curioso que el número de emisoras de radio tradicionales no haya aumentado considerablemente con el tiempo. La razón es, ciertamente, simple. No es debido a que no existan emisoras preparadas para transmitir, sino por una cuestión de economía del espectro radioeléctrico. Una emisora de radio tradicional necesita de un rango de frecuencias determinado para poder emitir, y si otra emisora lo hace a la vez sobre la misma frecuencia el receptor será incapaz de distinguirlas, creando interferencias. Así, como el espectro destinado a la radio es limitado, las emisoras precisan de licencias que les permitan transmitir, y han de hacerlo con una calidad determinada para no saturar el mismo. Esto hace que, generalmente, existan algunas emisoras a nivel nacional y el resto sean regionales o locales. Con Internet este problema se soluciona; cualquiera puede emitir a nivel mundial un programa sin más limitaciones que la calidad de la conexión que tenga el par emisor/receptor.

Los elementos necesarios para crear una emisora de radio por Internet son comparables a los de una emisora de radio tradicional: Los contenidos que propone el emisor se transmiten a un receptor a través de un sistema que sirva la información. En la radio tradicional, el programador escoge los contenidos y los transmite a un receptor de radio a través de las antenas de la emisora. En Internet se establece un vínculo con un programa servidor que permite las conexiones entrantes de los receptores que deseen escuchar la emisión.

El gran inconveniente de este tipo de emisoras, al menos hasta el momento, consiste en la necesidad de disponer de un ordenador para realizar la sintonía. En los últimos tiempos, la industria ha visto las grandes posibilidades de esta tecnología y ha comenzado a crear dispositivos independientes capaces de conectarse a la red para sintonizar este tipo de emisoras. Para ello, se conectan a un servicio como Reciva (www.reciva.com), una página que ofrece las emisoras ordenadas bajo criterios temáticos o geográficos.

Ejemplo de aparato de radio o­nline (Fotografía El Pais)

Una de las opciones más comunes, al margen de la emisión en directo, consiste en la creación de archivos de sonido que se distribuyen cuando el usuario lo desea, generalmente en un reproductor portátil. Son los llamados podcasts.

El programa que se ha utilizado en este tutorial es el conocido Winamp, un reproductor de música gratuito que, mediante la instalación de un plugin, permite la comunicación con un servidor de radio. El mismo programa se utiliza para la recepción de los contenidos.

Para comprender mejor el proceso de emisión de radio o­n-line se propone el siguiente esquema de comunicación de emisoras de radio por Internet

  


Desde un equipo, con los periféricos, el software y la conexión necesarios, creamos los programas de radio que se enviarán al servidor de streaming, compuesto por un ordenador con el software y la conexión apropiados (pueden convivir ambos, -emisora y servidor de streaming- en el mismo equipo).

Los receptores son ordenadores con el software cliente adecuado que se conectan a través de la red al servidor de streaming.

Se podrán conectar simultáneamente el número de ordenadores que soporte el ancho de banda disponible.


Programas necesarios

  • Emisor

El emisor precisa de un programa a través del cual ordenar los contenidos que se desean difundir. Existen diversas opciones gratuitas, pero se ha optado por utilizar el programa Winamp porque, mediante pequeñas actualizaciones, permite realizar todas las funciones necesarias de forma sencilla. Al margen, es un reproductor bastante extendido y que no requiere un coste computacional alto.

Winamp

 


 

El programa puede descargarse gratuitamente desde www.winamp.com. La última versión en castellano corresponde a la 5.52. Los requisitos mínimos para la misma son:

- Procesador Pentium 500MHz (Pentium III 1GHz recomendado)

- 128Mb de memoria RAM (256Mb recomendado)

- 5,8Mb de memoria en disco (6Mb recomendado)

- Sistema Operativo Win98/Me/2000/XP

SHOUTcast WIN32 Console/GUI Server v1.9
 

 


 

El servidor que establece la conexión entre el emisor y el receptor se puede encontrar, de forma gratuita, en la página www.shoutcast.com/download, dentro de la pestaña Be a Server.

Plugin SHOUTcast DSP 63 para Winamp
 

 


 

El plugin que permite comunicarse al Winamp con el servidor SHOUTcast para la emisión de radio se encuentra en la misma página que el servidor ( www.shoutcast.com/download ), a través de la pestaña Be a DJ.

  • Receptor

La recepción de contenidos puede hacerse a través de múltiples programas simplemente poniendo la dirección del servidor tal y como configuraremos más adelante. El programa que se ha utilizado en este tutorial es el mismo que en emisión, el Winamp.


Configurando el Emisor

Instalación de los programas

El primer paso para comenzar la emisión de contenidos a través de Internet consiste en instalar, si aún no se ha realizado, el programa Winamp. Ésta es muy sencilla, no muy diferente a cualquier programa de Windows que hayamos instalado con anterioridad. En primer lugar se nos pide elegir el idioma que se utilizará en la interfaz. Seleccionamos español y damos a OK:

Tras saltar la pantalla de introducción aceptamos la licencia pulsando en siguiente y especificamos el directorio donde se instalará la aplicación.

El siguiente paso consiste en la selección de componentes a instalar. Por defecto, la instalación se realizará de forma completa. Lo dejamos así y pulsamos en siguiente.

Por último, creamos el grupo de inicio y desactivamos, si así lo deseamos, las funciones adicionales que ofrece el programa, pues no serán necesarias en el tutorial.

Simplemente habrá que pulsar sobre Instalar para que el programa efectúe los procesos necesarios para la misma.

Una vez se haya instalado el programa Winamp debemos hacer lo mismo con el servidor SHOUTcast. Si no queremos realizar ningún cambio en la instalación podemos dejar los valores por defecto:



 

Configuración del Servidor

Cuando ya tenemos los programas operativos en el ordenador debemos configurar el servidor para que pueda aceptar conexiones. Si no se ha creado un icono en el menú Inicio, podemos abrir el programa servidor a través de la carpeta que hemos especificado en el disco duro (C:Archivos de ProgramaSHOUTcastsc_serv.exe, por defecto).

En principio, con el valor por defecto (puerto de conexiones 8000) debería funcionar sin problemas. En este caso, la pantalla que debemos ver llegado este punto es la siguiente:

Por el contrario, si otro programa –un firewall, u otro servidor diferente- está bloqueando el servicio por ese puerto, la pantalla dará un error y habrá que configurar el servidor para que acepte conexiones en otro puerto (o bien modificar el firewall o el programa que lo está bloqueando).

Para cambiar la configuración de puertos del servidor, así como el password que se solicitará al usuario para acceder al servicio podemos ir a Edit Config, en la parte superior de la pantalla del servidor. Se abrirá entonces un archivo de texto que permite introducir estos parámetros, así como el número de conexiones entrantes permitidas y opciones más avanzadas.

Cuando hayamos cambiado la configuración –se recomienda modificar el valor por defecto de la contraseña si se quiere limitar el uso a determinados usuarios- aparecerá un mensaje pidiendo que el servidor se reinicie para que los cambios tengan efecto.

En el Anexo I encontrará una descripción detallada de los parámetros del archivo de configuración y sus posibles valores.

Hay que tener en cuenta que, si pulsamos sobre la X de arriba a la derecha el programa simplemente se minimiza. Por ello, para cerrar el servidor o reiniciarlo debemos pulsar sobre Kill Server, en la parte superior izquierda de la pantalla principal del servidor.

Configuración del Winamp

El programa Winamp prácticamente no precisa de configuración para conectarse al servidor y comenzar a emitir. Para comenzar, pulsamos sobre Opciones è Preferencias è Plug-ins è DSP/Efecto

Si hemos instalado correctamente el plugin podremos establecer la configuración del servidor a través de la opción Nullsoft SHOUTcast Source DSP v1.9.0. Si esta opción no aparece en pantalla debemos revisar la instalación del plugin.

La pantalla SHOUTcast Source se abre y desde ella podemos configurar el puerto a través del cual se establecerá la conexión, así como el password solicitado por el servidor (el que introdujimos en el apartado anterior en el archivo de configuración del servidor, por defecto changeme (cámbiame, en inglés). Si nos conectamos a otro servidor de streaming que no hemos configurado nosotros, deberemos conocer la contraseña de conexión para poder establecerlo.

Esta configuración se aplicará a la pestaña Output. A través de ella podemos indicar, además, si el servidor se encuentra en la misma máquina que el Winamp (localhost) o en una máquina remota (deberemos conocer su IP o su nombre de dominio).

En el caso más común, el servidor –SHOUTcast- y el productor –Winamp- se encuentran en el mismo ordenador: escribiremos localhost en el campo Address.

Si el servidor y el productor no comparten el mismo ordenador, escribiremos la dirección IP de la máquina con el servidor (o su nombre de domino, si dispone de él) en la pestaña Address. ¡Podemos configurar hasta 5 servidores simultáneos!

La calidad de la transmisión y el formato a través del cual se realizará se configura en la pestaña Encoder de la misma ventana. En función de la conexión que tengamos como servidor y del ancho de banda que, presuponemos, tiene el cliente final podemos establecer la calidad de la conexión que deseamos enviar.

El formato en el que se realiza la transmisión es, por defecto, MP3, un sistema de compresión que elimina parte de la información de audio que nuestro oído no puede captar. La intensidad de esa compresión puede medirse a través del bitrate, una tasa que mide el número de bits por segundo que codifican la información. A mayor bitrate, mayor calidad de audio, si bien el tamaño del archivo también aumenta.

A su vez, otro parámetro importante es la frecuencia de muestreo del audio. Cuantas más muestras por segundo se tomen, más fiel será el sonido al original. Este parámetro se mide en KHz.

Para tener una referencia de calidades, se estima que un archivo MP3 codificado con un bitrate de 192kbps y una frecuencia de muestreo de 44.1KHz tiene una calidad similar a la de un CD de audio.

En el Anexo II se explican más ampliamente y con ejemplos el proceso de captura y compresión del sonido.

Si queremos que el número de conexiones sea alto conservando una calidad de sonido razonable podemos dejar los valores por defecto, con una transmisión en MP3 mono a 22KHz y 24kbps.

Una opción más recomendable para aumentar la calidad, siempre repercutiendo sobre el ancho de banda, consiste en aumentar el bitrate de la codificación, subir la frecuencia de muestreo y establecer la codificación como estéreo.

Si pretendemos enviar nuestra voz no se precisa de demasiada calidad, por lo que la configuración por defecto será más que suficiente.

Si pretendemos que nuestra emisora de radio por Internet se centre en la difusión de música probablemente sea necesario aumentar un poco la calidad, sobre todo extendiéndola a dos canales.

La fuente sonora de la emisora se establece en la pestaña Input de la misma ventana de configuración del plugin. A través de la misma podemos definir si el flujo de datos a enviar será una serie de pistas del Winamp o la entrada de sonido de un micrófono o una mesa de mezclas. En nuestro ejemplo se utilizará una lista de reproducción de Winamp. En el Anexo III se encuentra una descripción detallada de las opciones de WinAmp.

El último paso de esta sencilla configuración consiste en conectarse al servidor. Volvemos sobre la pestaña Output y pulsamos sobre el botón Connect. Si la configuración es la adecuada el aspecto de esa ventana cambiará y aparecerán el número de bytes enviados hasta ese momento y el tiempo de conexión con el servidor, tal y como aparece en la siguiente imagen:

Ya estamos preparados para agregar los archivos de audio al Winamp e iniciar el envío del flujo de datos a los posibles oyentes de nuestra emisora. Una forma sencilla de preparar los contenidos que queremos enviar consiste en crear una lista de reproducción con los archivos de audio que se pretende utilizar.

Para ello se puede pulsar sobre Reproducir è Carpeta para seleccionar un directorio que contenga los archivos de audio. Este procedimiento puede realizarse también con archivos sueltos pulsando sobre Reproducir è Archivo.

Una vez hecho esto, los archivos que contiene la carpeta aparecerán en el Winamp y, por defecto, comenzarán a sonar. Si queremos guardar las canciones en el orden en que aparecen –éste se puede modificar de forma sencilla arrastrando y soltando los archivos en la posición que se desee- podemos crear una lista de reproducción que almacene dicha posición. Para ello, mantenemos pulsada la pestaña LIST OPTS en la parte inferior derecha de la pantalla, y hacemos clic sobre la opción SAVE LIST.

Se abrirá entonces un cuadro de diálogo donde podemos especificar la ruta y el nombre de archivo que tendrá la lista de reproducción creada:

Una vez creada dicha lista, su carga es sencilla. Acudimos de nuevo a LIST OPTS en la ventana del Winamp y pulsamos sobre LOAD LIST, seleccionando el nombre de archivo deseado, que tendrá formato *.m3u.

En el Anexo IV se ofrece un tutorial complementario para la creación de un archivo sonoro de varias pistas con Audacity, así como la descripción de un sistema para mezclar varias fuentes sonora.


Configurando el Receptor

La configuración necesaria en recepción para escuchar la emisora de radio que acabamos de crear es sencilla. Simplemente hemos de instalar el Winamp, tal y como hacíamos en emisión –aunque sin el plugtin, no es necesario- y pulsar sobre Reproducir è URL

En la pantalla que se abre sólo hemos de introducir la IP de la máquina y el puerto de conexión que se haya especificado en emisión (Dirección_IP:Puerto_Conexión). Por ejemplo, si la máquina emisora tiene una IP 10.200.20.44 y la conexión se realiza a través del puerto 8000, la sintaxis sería:

En este punto deberíamos ya estar recibiendo el flujo de datos que se envía desde la emisora, habiendo creado, por tanto, nuestra primera emisora de radio por Internet. A partir de aquí, nuestro talento es el límite.

Servidor Web / SHOUTcast

Es muy posible que los usuarios potenciales de nuestra emisora no conozcan nuestra dirección IP, por lo que si queremos hacer una emisora pública éstos tienen que disponer de un método para sintonizarla. El método más sencillo consiste en asignar un nombre y un género a la emisora y dejar que el servidor SHOUTcast la administre. Para ello abrimos la página de configuración del plugin desde el servidor (Opciones è Preferencias è Plug-ins è DSP/Efecto è Nullsoft SHOUTcast Source DSP v1.9.0.) y pulsamos sobre la opción YellowPages en la pestaña Output.

 

Si lo hacemos así, el usuario puede acceder a la radio fácilmente desde la página Web de SHOUTcast (http://www.shoutcast.com/) introduciendo el nombre o el género de la emisora y pulsando sobre Tune in!

Otro método de aplicación para que los usuarios accedan a la emisión consiste en crear nuestra propia página Web e introducir un vínculo a la radio a través de la dirección IP y el puerto por el que se realiza la conexión, como indicábamos al configurar el receptor. Existen numerosos programas que asisten al usuario en la creación de páginas Web, así como espacios Web de alojamiento gratuito para colgar nuestros contenidos.


Anexo I. Configuración del servidor SHOUTCAST

A continuación se detallan las posibilidades de configuración del servidor SHOUTCAST, comentando línea por línea el archivo sc_serv.ini, al que se accede desde la pestaña Edit Config, en la parte superior de la pantalla del servidor. En cursiva se muestran los comentarios propios del archivo de configuración, en inglés; en negrita se explican detalladamente cada uno de los parámetros de configuración, que se muestran tabulados para aumentar la claridad. El carácter “;” se utiliza en el archivo para comentar las líneas que no son de código, de forma que es como si el servidor no las leyera.

 

; SHOUTcast Distributed Network Audio Server configuration file

; Copyright (C) 1998-2004 Nullsoft, Inc.

; All Rights Reserved.

; Last modified Mar 17 2004

; If you want to manage multiple configurations, just copy

; this file to another name, and run sc_serv with that name

; such as:

; sc_serv.exe sc_leet.conf

Si queremos administrar múltiples configuraciones del servidor podemos copiar el archivo sc_serv.ini con otro nombre, variar la configuración y cargar el servidor mediante la ventana de comandos como “sc_serv.exe NuevoNombreConfiguración”

; ***************************

; Required stuff

; ***************************

; MaxUser. The maximum number of simultaneous listeners allowed.

; Compute a reasonable value for your available upstream bandwidth (i.e. if

; you have 256kbps upload DSL, and want to broadcast at 24kbps, you would

; choose 256kbps/24kbps=10 maximum listeners.) Setting this value higher

; o­nly wastes RAM and screws up your broadcast when more people connect

; than you can support.

A través del parámetro MaxUser se pueden definir el número máximo de usuarios que se pueden conectar simultáneamente al servidor. Hay que tener en cuenta que, en función de la calidad y del número de usuarios simultáneos, el ancho de banda necesario para realizar la transmisión puede ser muy grande, de forma que necesitamos conocer de antemano el ancho de banda de subida que tenemos y la calidad a la que queremos transmitir para establecer el máximo número de usuarios. Por regla general, podemos calcular el número máximo de usuarios que se pueden conectar mediante la fórmula MaxUser = ancho_de_banda (kbps) / calidad (kbps). Por defecto, MaxUser = 32, pero se puede modificar fácilmente variando el siguiente parámetro:

MaxUser=32

; Password. While SHOUTcast never asks a listener for a password, a

; password is required to broadcast through the server, and to perform

; administration via the web interface to this server. This server should

; consist of o­nly letters and numbers, and is the same server your broadcaster

; will need to enter in the SHOUTcast Source Plug-in for Winamp. THIS VALUE

; CANNOT BE BLANK.

La contraseña que configure el servidor se puede modificarse a través de la opción Password. Por defecto el valor es changeme, pero se recomienda modificarla si queremos limitar el acceso a los contenidos. El usuario tiene que conocer la contraseña para poder conectarse al flujo de datos.

Password=changeme

; PortBase. This is the IP port number your server will run o­n. The

; value, and the value + 1 must be available. If you get a fatal error when

; the DNAS is setting up a socket o­n startup, make sure nothing else o­n the

; machine is running o­n the same port (telnet localhost portnumber -- if you

; get connection refused then you're clear to use that port). Ports < 1024

; may require root privledges o­n *nix machines. The default port is 8000.

El parámetro PortBase es el puerto IP a través del que se ejecutará el servidor. El valor por defecto es PortBase = 8000, válido en la mayoría de los casos. Sin embargo, si tenemos otro servicio activado que utiliza ese puerto (por ejemplo, otro servidor), un firewall, antivirus u otro programa que impida las conexiones a ese puerto, el parámetro debe modificarse para poder aceptar peticiones de conexión, o han de modificarse las reglas del firewall/antivirus. Se recomienda utilizar un puerto superior al 1024 –los valores inferiores pueden requerir permisos de administrador-.

PortBase=8000

; ***************************

; Optional Parameters

; ***************************

; ***************************

; Logging configuration

; ***************************

; LogFile: file to use for logging. Can be '/dev/null' or 'none'

; or empty to turn off logging. The default is ./sc_serv.log

; o­n *nix systems or sc_serv_dirsc_serv.log o­n win32.

; Note: o­n win32 systems if no path is specified the location is

; in the same dir as the executable, o­n *nix systems it is in the

; current directory.

Cuando se ejecuta el servidor, todas las acciones que se realicen se van guardando en un archivo *.log que permite monitorizar cuando se desee la actividad del servidor. El parámetro LogFile permite cambiar el archivo en el que se guardará dicha actividad. Por defecto el valor es sc_serv.log. Si deseamos modificarlo debemos crear un archivo de texto vacío y guardarlo como Nuevo_nombre.log. Si éste se ha creado en el mismo directorio que el archivo de configuración podemos poner únicamente el nombre del archivo. Si se encuentra en otro directorio hemos de especificar la ruta completa del archivo.

LogFile=sc_serv.log

; RealTime displays a status line that is updated every second

; with the latest information o­n the current stream (*nix and win32

; console systems o­nly)

El tiempo de refresco del archivo de actividad anterior puede controlarse desde el parámetro binario RealTime. Si RealTime = 1 el log se actualiza cada segundo, si RealTime = 0 no se graban las acciones del servidor. El valor por defecto es RealTime = 1

RealTime=1

; ScreenLog controls whether logging is printed to the screen or not

; o­n *nix and win32 console systems. It is useful to disable this when

; running servers in background without their own terminals. Default is 1

En ocasiones puede resultar útil poder ver el log de la actividad sin necesidad de abrir el archivo asociado. Para mostrar en la pantalla del servidor la actividad del mismo existe un parámetro binario que permite activar esta opción. El valor por defecto es 1, lo que implica que se mostrará la actividad del servidor en pantalla. Un valor 0 desactiva esta opción.

ScreenLog=1

; ShowLastSongs specifies how many songs to list in the /played.html

; page. The default is 10. Acceptable entries are 1 to 20.

Cuando hemos lanzado la aplicación de radio y estamos emitiendo, los usuarios pueden ver las últimas pistas que se han reproducido en la transmisión. El parámetro ShowLastSongs permite configurar cuántas canciones puede ver el usuario. El valor por defecto es 10, y los valores válidos se mueven entre 1 y 20.

ShowLastSongs=10

; W3CEnable turns o­n W3C Logging. W3C logs contain httpd-like accounts

; of every track played for every listener, including byte counts those listeners

; took. This data can be parsed with tools like Analog and WebTrends, or given

; to third parties like Arbitron and Measurecast for their reporting systems.

; Default is Yes (enabled).

La opción W3CEnable permite almacenar las estadísticas de cada canción –o pista sonora- que se está emitiendo, de forma que se puedan controlar el número de usuarios que están escuchando en cada momento. El valor por defecto es Yes.

W3CEnable=Yes

; W3CLog describes the name of the logfile for W3C logging. Default logfile is

; sc_w3c.log, in the same directory wherever the DNAS gets started from.

Al igual que se hacía con la actividad del servidor, se puede crear un archivo *.log que incluya el monitoreo de las estadísticas del servidor, si la opción anterior está activada. El valor por defecto del parámetro W3CLog es sc_w3c.log, pudiéndose modificar de manera análoga al parámetro LogFile.

W3CLog=sc_w3c.log

; ***************************

; Network configuration

; ***************************

; SrcIP, the interface to listen for source connections o­n (or to make relay

; connections o­n if relaying). Can and usually will be ANY or 127.0.0.1

; (Making it 127.0.0.1 will keep other machines from being able to

; broadcast using your shoutcast server )

SrcIP configure las direcciones IP que se admitiràn en el servidor si realizan una petición. El parámetro por defecto, ANY, admite cualquier dirección IP que intente conectarse. Si queremos limitar el acceso a un rango de direcciones IP, o admitir sólo a algunas, debemos modificar este parámetro.

SrcIP=ANY

; DestIP, IP to listen for clients o­n (and to contact yp.shoutcast.com)

; can and usually will be be ANY. If your machine has multiple IP addresses,

; set this to the o­ne you want it to be accessed by.

Un equipo puede disponer de múltiples direcciones IP. A través de DestIP podemos definir a qué IP accederá el usuario cuando intente conectarse. En el caso típico una máquina sólo dispone de una IP, de forma que podemos dejar el valor por defecto, DestIP = ANY.

DestIP=ANY

; Yport, port to connect to yp.shoutcast.com o­n. For people behind caching

; webproxies, change this to the alternate port (666 is what it might be,

; check www.shoutcast.com if you have problems). Otherwise, leave this at 80.

; We're actively working o­n re-opening port 666, but as of release the o­nly

; working port is port 80.

El usuario puede acceder a la página web yp.shoutchast.com para acceder al servicio de radio o­n-line. Yport configura el puerto a través del cual se entra en la página web. El valor por defecto es 80 y, en general, no debe cambiarse.

Yport=80

; NameLookups. Specify 1 to perform reverse DNS o­n connections.

; This option may increase the time it takes to connect to your

; server if your DNS server is slow. Default is 0 (off).

Cuando un usuario se conecta a una dirección, un servidor DNS traduce los valores de la dirección –alias- para redirigir el contenido a una dirección IP concreta. El parámetro NameLookups permite las conexiones DNS inversas. Los valores del parámetro NameLookups pueden ser 1 (encendido) y 0 (apagado). Por defecto, esta opción está apagada.

NameLookups=0

; ***************************

; Server configuration

; ***************************

; AdminPassword. This password (if specified) changes the

; behavior of Password to be a broadcast-only password, and

; limits HTTP administration tasks to the password specified

; here. The broadcaster, with the password above, can still

; log in and view connected users, but o­nly the AdminPassword

; will grant the right to kick, ban, and specify reserve hosts.

; The default is undefined (Password allows control for both

; source and admin)

Al margen de la contraseña que utiliza el usuario para conectarse, el administrador puede configurar otra contraseña para expulsar o prohibir la entrada de determinaos usuarios. El valor por defecto, desactivado –el carácter “;” permite que esta opción no se tome en consideración-, es adminpass.

; AdminPassword=adminpass

; AutoDumpUsers controls whether listeners are disconnected if the source

; stream disconnects. The default is 0.

A través de AutoDumpUsers se puede configurar si los usuarios son desconectados de la emisora si el flujo de datos se desconecta. Se trata de un valor binario que, por defecto, vale 0.

AutoDumpUsers=0

; AutoDumpSourceTime specifies how long, in seconds, the source stream is

; allowed to be idle before the server disconnects it. 0 will let the source

; stream idle indefinately before disconnecting. The default is 30.

Cuando el servidor deja de recibir datos por parte del emisor puede esperar cierto tiempo antes de desconectarse. Este parámetro se maneja desde la opción AutoDumpSourceTime. Este valor numérico, que vale por defecto 30 segundos, puede establecerse como 0 si queremos que el servidor no se desconecte cuando el flujo de datos lo haga.

AutoDumpSourceTime=30

; ContentDir specifies the directory location o­n disk of where to stream

; o­n-demand content from. Subdirectories are supported as of DNAS 1.8.2.

; Default is ./content, meaning a directory named content in the same directory

; as where sc_serv was invoked from.

El servidor SOUTHCAST permite ofrecer contenidos bajo demanda. El directorio que contiene los flujos de datos se especifica mediante el parámetro ContentDir, desactivado –comentado- por defecto con el valor ./content

; ContentDir=./content

; IntroFile can specify a mp3 file that will be streamed to listeners right

; when they connect before they hear the live stream.

; Note that the intro file MUST be the same samplerate/channels as the

; live stream in order for this to work properly. Although bitrate CAN

; vary, you can use '%d' to specify the bitrate in the filename

; (i.e. C:intro%d.mp3 would be C:intro64.mp3 if you are casting at 64kbps).

; The default is no IntroFile

Podemos programar, también, que la radio reproduzca un archivo *.mp3 introductorio cuando un usuario se conecta a la emisora. Dicho archivo puede configurarse desde la opción IntroFile, desactivada por defecto.

; IntroFile=c:intro%d.mp3

; BackupFile can specify a mp3 file that will be streamed to listeners over

; and over again when the source stream disconnects. AutoDumpUsers must be

; 0 to use this feature. When the source stream reconnects, the listeners

; are rejoined into the live broadcast.

; Note that the backup file MUST be the same samplerate/channels as the

; live stream in order for this to work properly. Although bitrate CAN

; vary, you can use '%d' to specify the bitrate in the filename

; (i.e. C:ackup%d.mp3 would be C:ackup32.mp3 if you are casting at 32kbps).

; The default is no BackupFile

Si la emisora se desconecta podemos transmitir continuamente un archivo *.mp3.Este archivo se configura mediante el parámetro BackupFile, desactivado por defecto. Si queremos usar esta opción, es necesario que AutoDumpUsers = 0. Cuando el flujo de datos de la emisora se reestablezca los usuarios dejarán de escuchar este archivo y volverán a la emisión normal.

; BackupFile=C:intro%d.mp3

; TitleFormat specifies a format string for what title is sent to the listener.

; For example, a string of 'Justin Radio' forces the title 'Justin Radio' even

; when the source changes the title. You can use up to o­ne '%s' in the string

; which lets you contain the title from the source. For example, if your

; TitleFormat is 'Justin Radio: %s', and the source plug-in's title is

; 'Billy plays the blues', then the net title is

; 'Justin Radio: Billy plays the blues'. Note: o­nly works o­n non-relay servers.

; The default is no format string.

Por defecto podemos establecer el título de la emisión desde el Winamp. Sin embargo, a veces precisamos de un mismo título para todas las transmisiones que se realicen, independientemente de la fuente. Si este es el caso, el título puede modificarse desde TitleFormat. Por defecto esta opción está desactivada.

; TitleFormat=Justin Radio: %s

; URLFormat specifies a format string for what url is sent to the listener.

; Behaves like TitleFormat (see above).

; The default is no format string.

Lo mismo puede decirse de la URL que el usuario introduce para conectarse al flujo de datos. I queremos que ésta sea la misma independientemente de la transmisión que se realice, podemos especificar el formato de la misma a través del parámetro, desactivado por defecto, URLFormat.

; URLFormat=http://www.server.com/redirect.cgi?url=%s

; PublicServer can be always, never, or default (the default, heh)

; Any setting other than default will override the public status

; of the source plug-in or of a SHOUTcast server that is being relayed.

La opción PublicServer puede ser configurada como always (siempre), never (nunca) o default (por defecto). Si se activa un valor que no sea por defecto se modificará el servidor, en tanto que la transmisión será o no pública para que otros servidores puedan retransmitir el flujo de datos.

PublicServer=default

; AllowRelay determines whether or not other SHOUTcast servers will be

; permitted to relay this server. The default is Yes.

Si el parámetro AllowRelay está configurado como Yes –valor por defecto-, cualquier otro servidor SHOUTcast puede retransmitir el flujo de datos que estamos emitiendo.

AllowRelay=Yes

; AllowPublicRelay, when set to No, will tell any relaying servers not

; to list the server in the SHOUTcast directory (non-public), provided

; the relaying server's Public flag is set to default. The default is

; Yes.

La opción AllowPublicRelay permite que otros servidores listen nuestra transmisión en el directorio SHOUTcast (directorio no público) para que puedan conectarse. El valor por defecto es afirmativo, Yes.

AllowPublicRelay=Yes

; MetaInterval specifies how often, in bytes, metadata sent.

; You should really leave this at the default of 8192, but the option is

; provided anyway.

El parámetro MetaInterval especifica cada cuanto tiempo, en bytes, se envían los metadatos de la transmisión. El valor por defecto es 8192, y se recomienda encarecidamente no modificarlo.

MetaInterval=8192

; *****************************

; Access Control

; *****************************

; ListenerTimer is a value in minutes of maximum permitted time for

; a connected listener. If someone is connected for longer than this

; amount of time, in minutes, they are disconnected. When undefined,

; there is no limit defined. Default is undefined.

También podemos definir cuánto tiempo máximo permitimos a un usuario escuchar la transmisión. El valor por defecto es indefinido –el valor ListenerTimer está comentado, nótese el carácter “;”-, pero podemos poner un número máximo en minutos.

; ListenerTimer=600

; BanFile is the text file sc_serv reads and writes to/from

; for the list of clients prohibited to connect to this

; server. It's automatically generated via the web

; interface.

El archive sc_serv.ban, generado por una interfaz web, proporciona la lista de clientes que tienen prohibido el acceso al servidor. Por defecto, este archivo se encuentra desactivado –comentado-.

; BanFile=sc_serv.ban

; RipFile is the text file sc_serv reads and writes to/from

; for the list of client IPs which are *ALWAYS* permitted

; to connect to this server (useful for relay servers).

; This file is automatically generated via the web

; interface. Note that if your server is FULL, and someone

; from a Reserved IP connects, the DNAS will force the person

; listening for the longest time off to make room for the new

; connection.

Generado de la misma forma que el archivo anterior, otro fichero, sc_seerv.rip, permite definir aquellas IPs que se permiten siempre. Si el servidor está lleno y una IP reservada incluida en ese fichero se conecta, se fuerza a la persona que lleva más tiempo escuchando a desconectarse. Por defecto, ese fichero no se lee.

; RipFile=sc_serv.rip

; RIPOnly, when set to Yes, will o­nly allow IP addresses listed in the Reserved

; IP list to connect and relay. All other connections for listening will be denied.

; This is really o­nly useful for servers whose sole purpose is to provide the

; primary feed to all public relays. Setting this value to Yes also forces the

; server into Private mode, since listing this server in the directory would

; be pointless. Default is No.

Si se ha creado un archivo con las direcciones IP reservadas –ver parámetro RipFile-, podemos especificar que sean sólo estas las que se puedan conectar o retransmitir el flujo de datos. Para ello podemos variar el valor por defecto de RIPOnly = No.

; RIPOnly=No


Anexo II. Captura y Compresión del Sonido Digital

Con la aparición del audio digital la adquisición y transmisión de audio ha cobrado una nueva dimensión que permite almacenar con calidades muy buenas ingentes cantidades de música en soportes relativamente pequeños. El secreto se encuentra en la compresión del audio, un sistema por el cual se puede minimizar el tamaño del archivo resultante en función de la calidad que se desee obtener.

Antes de introducirnos en el mundo de la compresión del sonido hemos de explicar primero cómo conseguir que el audio, analógico por definición, pueda almacenarse digitalmente. Un proceso de transformación Analógica-Digital permite que el ordenador –o el equipo digital- pueda manejar la información de audio. Para que nuestro oído reciba de nuevo el sonido existe otro proceso de conversión Digital-Analógico. La característica más importante de este proceso es el muestreo. Si disponemos de una señal de audio analógica –continua en el tiempo-, podemos tomar muestras de la misma con un intervalo determinado –frecuencia de muestreo- e ir almacenando el valor de la señal en ese punto. La siguiente figura resume mejor el procedimiento: la señal de audio analógica se muestra en rojo a lo largo del eje temporal, mientras que las muestras capturadas toman los valores de esa señal en distintos instantes de tiempo.

 

El teorema de Nyquist marca las limitaciones del muestreo: sólo será posible recuperar exactamente la forma de o­nda si la frecuencia de muestreo es como mínimo el doble de la frecuencia de la componente de mayor frecuencia. Puesto que la frecuencia más alta que puede percibir el oído humano está cercana a los 20kHz, la frecuencia de muestreo de 44,1KHz utilizada por los reproductores de audio CD resulta más que suficiente.

Otro parámetro importante es el tamaño en bits con el que se codifica cada muestra. Valores típicos de este parámetro son 8 bits –con un rango dinámico de hasta 50dB- y 16 bits –hasta 90dB-. El oído humano es muy sensible a este parámetro, puesto que su respuesta es logarítmica, en dB. Esta unidad, no lineal, representa la relación entre dos magnitudes acústicas. El umbral de audición se ha establecido en 0dB, mientras que el umbral del dolor se encuentra a 140dB. Si bien el oído no escucha de la misma forma a todas las frecuencias, es necesario conocer que, a mayor intensidad sonora, menos tiempo podremos estar escuchando ese sonido.

En todo soporte audiovisual hay dos tipos de componentes de señal: la información que es nueva o impredecible y aquella que puede ser anticipada. Los componentes nuevos, llamados entrópicos, son los que contienen la verdadera información de la señal, mientras que la información redundante no es esencial y puede empaquetarse o eliminarse sin que exista una pérdida significativa mediante procedimientos de compresión.

Las técnicas de compresión aplicadas sobre audio digital permiten reducir la información del mismo para su posterior almacenaje o transmisión. Aunque generalmente se utilizan técnicas de codificación sin pérdidas, que permiten que recuperar la información redundante enviando sólo la información entrópica, para lograr grandes tasas de compresión se hace necesario reducir la información enviada, utilizando técnicas de codificación con pérdidas. Dentro de este último grupo se encuentra la compresión Mp3

Las técnicas de compresión de audio hacen un estudio exhaustivo de cómo funciona el oído humano en combinación con el cerebro, de forma que la información que se elimine sea lo más imperceptible posible para el oído. Entramos, por tanto, en el campo de la psicoacústica.

Según estudiaron Robinson y Dadson en 1956, el oído sólo puede captar sonidos dentro de determinado rango de frecuencias e intensidades. La siguiente figura muestra las curvas características de percepción de sonido por el oído humano, con la intensidad de los sonidos (eje vertical) y su valor en frecuencia (eje horizontal). En dichas curvas, denominadas isófonas, cada valor en la curva representa la intensidad equivalente de un tono de 1Khz a la frecuencia e intensidad tratadas.

La primera conclusión que podemos avanzar es que todo sonido por debajo de la curva inferior será inaudible para el oído humano. Así, si eliminamos la información de intensidad inferior a este umbral el oído no notará la diferencia.

Puesto que el oído humano medio sólo escucha en un rango de frecuencias de 20Hz-20KHz, el segundo sistema que se utiliza es eliminar las frecuencias que se salgan de este rango.

Además, existe un fenómeno curioso, llamado enmascaramiento, que permite comprimir mucho más la información. Si dos estímulos sonoros de diferente intensidad llegan a nuestro oído de manera cercana en el tiempo, el tono más intenso puede llegar a enmascarar al débil, de forma que resulte inaudible. Este hecho, al contrario de lo que podría parecer, no ocurre solo cuando el tono débil suena después del intenso (post-enmascaramiento), sino también cuando el impulso sonoro de menor amplitud suena antes (pre-enmascaramiento).

Enmascaramiento Temporal

El fenómeno de enmascaramiento no se da sólo entre dos tonos separados mínimamente en el tiempo. Cuando el oído está expuesto simultáneamente a dos o más sonidos de distinta frecuencia existe la posibilidad de que uno de ellos enmascare a los demás, resultando, asimismo, inaudibles. Se trata del enmascaramiento frecuencial. Así, en la siguiente imagen podemos comprobar cómo se modifica la curva isófona del oído para un tono de 1KHz, mostrando cómo se enmascararían las frecuencias que sonaran simultáneamente.

Enmascaramiento Frecuencia

Una aplicación directa de este proceso consiste en estimar qué sonidos, en frecuencia y tiempo, serán enmascarados por otros, de forma que puedan codificarse con menos bits o, incluso, eliminarse, puesto que serán inaudibles aunque se transmitan. Los formatos de compresión de audio, como el Mp3, pueden utilizar este tipo de técnicas para conseguir que el archivo tenga un tamaño mucho menor sin perder una calidad de sonido apreciable.


Anexo III. Posibilidades de Winamp

En este tutorial se han explorado las posibilidades de Winamp para construir una emisora de radio por Internet. Este popular programa admite, sin embargo, múltiples configuraciones. En el siguiente anexo proponemos las más útiles para sacar el mayor provecho a Winamp.

Skins

Lo primero que podemos hacer es cambiar el aspecto visual del programa. Existen multitud de pieles (skins) para vestir el programa, de forma que sea más intuitivo o simplemente más atractivo. Para seleccionar la piel o carátula podemos acceder al menú Carátulas del Winamp y obtener nuevas pieles a través de la página web del programa, como explica la siguiente captura de pantalla:

Una vez estemos en la página Web simplemente hemos de ir explorando las distintas pieles hasta encontrar la que se ajuste a nuestros gustos. Podemos, además, leer las críticas que otros usuarios han hecho de las funcionalidades y el aspecto de la nueva piel. Para descargarla únicamente se debe pulsar sobre el botón Download:

Se lanzará entonces un cuadro de diálogo que nos pedirá especificar el programa con el cual abrir la piel. Debemos abrirla con el Winamp.SkinZip, la opción predeterminada:

Un aviso nos indica si confiamos en la descarga de la piel. Si lo hemos hecho a través de la página de Winamp con el procedimiento anteriormente descrito o confiamos en la fuente que nos proporciona la piel simplemente hemos de pulsar en . El proceso habrá terminado.

Si en algún momento queremos volver a poner la piel que teníamos antes no tenemos más que pulsar con el botón derecho del ratón sobre cualquier punto del Winamp y acceder a Carátulas è Clásica de Winamp

Biblioteca Multimedia

Como reproductor de música total, Winamp puede gestionar toda nuestra biblioteca multimedia. Para entrar en ella debemos pulsar sobre Biblioteca Multimedia en el menú principal:

En la ventana de la biblioteca multimedia podemos gestionar la música y el vídeo almacenado en nuestros discos duros locales o acceder en línea a servicios de radio –el objeto de este tutorial- o vídeo, con televisión o­n-line. Existe incluso la posibilidad de acceder a una sección de juegos.

Plug-ins

Los plug-ins son pequeños programas que aumentan la funcionalidad del Winamp. De entre los miles que existen en la actualidad merece la pena destacar algunos que exprimirán al máximo las posibilidades de nuestro reproductor.

SqrSoft Advanced Crossfading Output

(http://www.winamp.com/plugins/details/32368) permite mezclar el final de una canción con el principio de la siguiente, de forma que no notemos pausas entre canciones. Esta puede ser una aplicación interesante si queremos crear nuestra radio o­n-line y realizar una emisión continua.

MP3 Output Plug-in (http://www.winamp.com/plugins/details/177) toma prácticamente cualquier formato de audio como entrada y lo convierte a formato Mp3, de forma que podamos almacenarlo en disco sin que ocupe mucho espacio y con las ventajas de utilizar el compresor más utilizado.

EvilLyrics (http://www.winamp.com/plugins/details/136106) es un interesante plugin que busca en diversas bases de datos de Internet la letra de la canción que estemos escuchando y la muestra en pantalla con el tamaño de letra y la fuente que elijamos. Permite, además, almacenar una copia de la letra para no tener que buscarla si volvemos a reproducir la canción.

Para encontrar más plugins es aconsejable acceder a la sección dedicada en la página web de Winamp (http://www.winamp.com/plugins) y buscar aquel que se ajuste a lo que buscamos. Descargarlos es tan sencillo como instalar una nueva piel: una vez hayamos encontrado el plugin que queremos instalar simplemente hemos de pulsar sobre Download y ejecutar el archivo descargado.


Anexo IV. Audacity – Creación de un archivo sonoro de varias pistas

Audacity es un programa editor de audio gratuito que permite grabar y editar diferentes pistas de audio. A través del mismo podremos añadir efectos a una pista sonora, superponer diferentes pistas o gestionar las grabaciones desde micrófonos o mesas de mezclas, de forma que podamos superponer nuestra voz a una pista de audio.

El proceso de instalación es sencillo, simplemente debemos seguir el asistente que nos marca el directorio donde se guardará el programa. Al lanzar éste por primera vez nos pedirá establecer el idioma del programa, y aparecerá una pantalla recordando las opciones que ofrece el editor. Si no deseamos volver a verla la próxima vez que lo iniciemos podemos pulsar sobre “No volver a mostrar esta ventana al inicio del programa”.

La estructura del programa es sencilla: en la parte superior izquierda de la pantalla se muestran los controles básicos de reproducción y grabación. Las herramientas más comunes de edición están en otra barra de herramientas a la derecha. La parte central controla las pistas que vayamos añadiendo.

Para insertar una pista de música tenemos que acceder al menú Archivo è Importar è Audio. Aparecerá entonces un cuadro de diálogo donde podemos acceder al disco duro y seleccionar la pista que más nos interese.

La pista se muestra temporalmente en la parte central de la pantalla, permitiendo trabajar desde este instante con ella. Puesto que Audacity es un editor multipistas, es interesante saber cómo añadir una nueva pista a la anterior. Si repetimos el proceso de importación de pista, en la pantalla podremos ver las dos pistas superpuestas en el tiempo.

La barra superior del programa permite, cuando la pista está seleccionada, actuar sobre algunas funciones interesantes de edición.

El primer icono de la misma permite la selección de una parte de la pista, simplemente pinchando y arrastrando el ratón. La segunda es la herramienta de envolvente; actúa de la misma forma que la herramienta de selección temporal, pero sobre el eje de amplitudes. Así, permite modificar el volumen de la pista que está sonando. El lápiz es una herramienta muy útil que se utiliza en combinación con la lupa; esta última nos permitirá acercarnos tanto como queramos a la forma de o­nda que estamos trabajando. Si presionamos con el zoom al máximo sobre la herramienta lápiz podremos modificar, muestra por muestra, el nivel de amplitud de la señal. Esto permite modificar, intuitivamente, picos de señal indeseados. El icono designado por dos flechas permite el desplazamiento en el tiempo de la pista de audio, de forma que podamos moverla libremente por el eje temporal. Por último, el asterisco designa a una herramienta global que permite, con unos pocos clics de ratón, realizar todas las funciones anteriores globalmente.

Otras herramientas de edición interesantes se muestran en otra barra sobre las pistas de audio, en la parte derecha de la pantalla.

Gracias a estas opciones podemos cortar, pegar y copiar fragmentos de una pista de audio, eliminar cualquier parte de la pista que no esté seleccionada o silenciar la selección, así como modificar la velocidad de reproducción del audio.

Hasta ahora sólo hemos trabajado con pistas de audio ya creadas, pero podemos utilizar otras fuentes de entrada para crear nuestro archivo sonoro. Una mesa de mezclas con varios micrófonos –o uno solo-, un instrumento enchufado a través de la entrada de línea del ordenador, un teléfono o un reproductor de CD son fuentes de entrada válidas. Para utilizarla simplemente hemos de seleccionar la adecuada en el menú central de la parte superior de la pantalla y pulsar sobre el botón de grabación dentro de la barra de controles básicos. En la parte central de la pantalla veremos la forma de o­nda que estamos creando..

Por último, también merece la pena conocer qué tipo de efectos podemos aplicar a nuestra grabación –o a la selección temporal que tengamos hecha-. Se puede acceder a ellos desde el menú Efectos en la parte superior de la pantalla. Existen multitud de opciones para mejorar nuestra grabación, o para conseguir espectaculares sonidos con pretensión artística.

Si disponemos de varios micrófonos o fuentes de entrada podemos realizar la edición en tiempo real para capturar una entrevista o una mesa redonda, por ejemplo. Existen programas gratuitos y bastante completos orientados a DJs que nos servirán sin problemas para lo que pretendemos hacer. Otra opción consiste en disponer de una mesa mezcladora -actualmente existen opciones muy económicas que se conectan por USB- y pasar la mezcla resultante al ordenador que actúa como emisor. El resto del proceso es idéntico al que hemos explicado anteriormente.

 


En lugar de recurrir a un programa externo que nos ayude a realizar la mezcla, ya que estamos utilizando Winamp, podemos utilizar otro de los plugins que ofrece el programa. fcMixer ( http://www.winamp.com/plugins/details/71153) es un mezclador de audio que permite conseguir una mezcla sencilla con hasta tres entradas de audio (tres instancias del programa Winamp). Por defecto, Winamp sólo permite que se esté ejecutando una ventana del programa, por lo que este plugin resultará inservible por defecto. Sin embargo, si pichamos sobre Opciones è Preferencias è Preferencias Generales podemos activar la opción “Permitir múltiples instancias de Winamp”, de forma que cada vez que abramos el programa aparezca una nueva ventana con otro Winamp.

El plugin mezclador se ejecuta en una ventana aparte y resulta sencillo de manejar. Simplemente utiliza tres controles para el volumen de cada uno de los 3 Winamps y otros tres para controlar en que medida sale el audio por cada canal.

Con estos sencillos pasos podremos mezclar en tiempo real cualquier pista de audio que reproduzcamos en las instancias del programa que tengamos abierta. Para acceder al micrófono, sin embargo, debemos configurar el plugin de SHOUTcast (Opciones è Preferencias è Plug-ins è DSP/Efecto è Nullsoft SHOUTcast Source DSP v1.9.0.)

Sobre la pestaña Input podemos cambiar el dispositivo de entrada que capturará el sonido. En lugar de hacerlo como hasta ahora, a través de la música que suene por el Winamp, si seleccionamos Soundcard Input el programa capturará cualquier sonido que suene en el ordenador. Por ello es muy recomendable apagar cualquier fuente de sonido que pueda interferir: juegos, Msn,… y mantener únicamente las que nos interesan: micrófonos, música,…

El botón Push to Talk permite, a su vez, abrir los micrófonos para hablar aún mientras suena la música por el reproductor.