jump to navigation

Descripción del proyecto noviembre 12, 2009

Posted by rtmex in Uncategorized.
Tags: , ,
add a comment

Objetivo: Desarrollar un sistema que permita generar automáticamente la programación de una estación de radio.

Antecedentes
Las estaciones de radio tienen clasificadas las canciones que incluyen en su programación en:

  • Géneros. Son generalmente los que se manejan en la industria de la música en general (rock, pop, jazz, etc.).
  • Categorías. Son determinadas normalmente por el programador de la estación (se le llama programador a la persona que diseña la programación de la estación, es decir  que indica que canciones se van a transmitir y en que secuencia)

Esto significa que una misma canción puede pertenecer a una categoría llamada “80’s” en una estación y a una categoría llamada “oldies” en otra estación.

La información mínima que la estación de radio tiene sobre cada canción es el nombre de la canción, el nombre del intérprete, la duración de la canción, su género y su categoría.

Ejemplo:
Canción: In the name of love
Intérprete: U2
Duración: 3:46
Género: Rock
Categoría: Oldies

La programación no se diseña seleccionando canciones especificas una tras de otra, lo que se hace es diseñar una “fórmula” para la programación.
La fórmula consiste en definir el género y categoría al que debe pertenecer la canción que se pondrá en primer lugar, el género y categoría de la canción que se pondrá a continuación, etc.
La fórmula puede tener varios “renglones” y una vez procesado el último renglón, se vuelve a recorrer la fórmula desde el inicio y así sucesivamente hasta haber generado la programación para las horas requeridas.

Ejemplo de fórmula:

Renglón Género Categoría
1 Rock 80’s inglés
2 Rock Exito inglés
3 Pop Novedad
4 Hip Hop Exito
5 Rock 90’s español

Una vez que se ha definido la fórmula, el programador empieza a seleccionar las canciones que incluirá en la programación siguiendo la fórmula. Aunque esto pudiera parecer suficiente, normalmente los programadores
deben cuidar que no queden muy juntas 2 canciones del mismo intérprete, o que una canción no se vuelva a transmitir al poco tiempo de que fue transmitida.

Alcance
Algunas de las funciones con que contará el sistema una vez terminado son:

  1. Capacidad de manejar mas de una estación de radio
  2. Registro de canciones a través de:
    • Captura directa de la información
    • Extracción de la información a partir de archivos ogg o mp3. La información que se puede obtener de estos archivos es el nombre de la canción, intérprete, duración y género; posteriormente el usuario capturará la información faltante que se requiera de cada canción para poder incluir la canción en una programación (por ejemplo la categoría a la que pertenece).
  3. Catálogo general de canciones a partir del cual el usuario indicará qué canciones del catálogo estarán disponibles para cada estación de radio registrada. Una canción puede estar disponible para varias estaciones de radio.
  4. Catálogos generales de anunciantes, clasificaciones de anuncios, etc.
  5. Catálogos de géneros, categorías, etc. para cada estación
  6. Registro de programas predefinidos por cada estación incluyendo su horario de transmisión y su fórmula específica.
  7. Diferentes formas de generar una programación: automática, manual, libre y de programa.

Programación automática
Generará por completo la programación, para lo cual el usuario deberá introducir la siguiente información al sistema:

  1. Fórmula que desea utilizar para la programación (por default el sistema tomará la fórmula predefinida para la estación seleccionada).
  2. Fecha de la programación (cuando se pretende que se transmita la programación que se generará)
  3. Etiqueta de identificación para la programación (si no se indica, el sistema generará una automáticamente)
  4. Hora de inicio y hora de fin de la programación
  5. Número de temas por bloque de canciones (cuantas canciones consecutivas se deberán programar antes de el corte de anuncios)
  6. Duración del corte (cuanto tiempo durará cada corte de anuncios)
  7. Posición de la identificación de la estación (la identificación de la estación es el jingle que le indica al radio escucha que estación está sintonizando)
  8. Frecuencia de transmisión de la identificación de la estación (cada cuantos cortes se debe incluir la identificación de la estación, si no se indica, el sistema lo hará al azar)

Programación manual
A diferencia del método anterior, el usuario indicará la fórmula que desea utilizar para la programación y el sistema lo obligará a respetar dicha fórmula; sin embargo, se deberá seleccionar cada canción y la posición en que ésta será incluida en la programación, así como los anuncios y las posición de la identificación de la estación.
La información necesaria es la siguiente:

  1. Fórmula que desea utilizar para la programación (por default el sistema tomará la fórmula predefinida para la estación seleccionada).
  2. Fecha de la programación (cuando se pretende que se transmita la programación que se generará)
  3. Etiqueta de identificación para la programación (si no se indica, el sistema generará una automáticamente)
  4. Hora de inicio y hora de fin de la programación
  5. Número de temas por bloque de canciones y la duración del corte

Programación libre
Permitirá seleccionar arbitrariamente cada canción y la posición en que ésta será incluida en la programación, así como los anuncios y las posición de la identificación de la estación.
La información que se deberá introducir es la siguiente:

  1. Fecha de la programación (cuando se pretende que se transmita la programación que se generará)
  2. Etiqueta de identificación para la programación (si no se indica, el sistema generará una automáticamente)
  3. Hora de inicio y hora de fin de la programación

Programación de programa

Esta opción es para permitir al usuario hacer la programación de un programa determinado seleccionando las canciones, identificaciones y anuncios e indicando su posición en la programación. El sistema obligará al usuario a respetar la fórmula del programa, así como el número de temas por bloque y la duración del corte.

La información que se deberá introducir es la siguiente:

  1. Seleccionar de la lista de programas el programa para el cual desea generar la programación (sólo aparecerán aquellos para los cuales se haya definido una fórmula).
  2. Etiqueta de identificación para la programación

Herramientas utilizadas
Para el diseño de la base de datos se utiliza Power Architect 0.9.12 y como base de datos se utiliza PostgreSQL 8.3 .
La aplicación se está programando en C++, la interfaz gráfica se desarrolla con Qt 4.5, por lo que se utiliza el programa Qt SDK .
Para leer los tags de archivos Mp3 y Ogg se utiliza la librería TagLib 1.5

Páginas web de las herramientas utilizadas:

Herramienta URL
Power Architect http://www.sqlpower.ca/page/architect
PostgreSQL http://www.postgresql.org/
Qt SDK http://www.qtsoftware.com/
TagLib http://developer.kde.org/~wheeler/taglib.html
por default