escola universitària d`enginyeria tècnica de
Transcripción
escola universitària d`enginyeria tècnica de
ESCOLA UNIVERSITÀRIA D’ENGINYERIA TÈCNICA DE TELECOMUNICACIÓ LA SALLE TREBALL FI DE CARRERA ENGINYERIA TÈCNICA EN SO I IMATGE ALUMNE PROFESSOR PONENT Lidia San Emeterio Arroyo Francesc Alías Pujol Clasificación musical personalizada en función del estado de ánimo ABSTRACTO Hay una clara y estrecha relación entre la música y los estados de ánimo. Pero en la misma medida que esta relación parece, a simple vista, tan clara y estrecha, si se analiza con un mínimo de profundidad se llega rápidamente a la conclusión que los patrones que rigen esta supuesta claridad están llenos de conceptos altamente subjetivos y relativos. La subjetividad es uno de los factores que actúa siempre en contra de la automatización de cualquier tipo de proceso: por fácil que pueda parecer éste al pensar en el algoritmo que conlleva, esta relativa simplicidad se vuelve compleja a la hora de implementarlo. Así, partimos de una base en la que conocemos la existencia de diversas maneras de clasificar la música bajo patrones como el estilo al que pertenecen (tomando en muchos casos etiquetas que algunos usuarios han decidido como correctas pero que otros cambiarían) o incluso enormes redes musicales como last.fm que, con los años, se vuelven cada vez más eficaces a la hora de vincular usuarios a través de sus preferencias musicales y ofrecerles recomendaciones. En el caso de este trabajo, se desarrolla una aplicación capaz de vincular al usuario con su propia música, o que ésta se vincule y se adapte a él, en función de su estado de ánimo. La música transporta a determinados estados mentales, pasando del sosiego absoluto a la rabia contenida, ya que, algo tan inocente como notas encadenadas de millones de maneras posibles, es capaz de influir en el cuerpo humano de muchas formas (tiene efectos sobre latido del corazón, el pulso, la presión sanguínea, los niveles de dopamina, adrenalina, etc.). Todos estos efectos tienen una explicación científica que utilizan la musicología, la neurociencia y otros estudios relativos a los sonidos y la música. A través de este trabajo se intenta implementar un sistema que consiga vincular a un usuario con su música basándose en este binomio música-emoción. Se busca una forma de parametrizar la música y vincularla a los efectos que causa y, así, encontrar el camino inverso para ofrecer una lista de canciones al usuario que se adapten a sus preferencias, o estado de ánimo, en un momento determinado. Clasificación musical personalizada en función del estado de ánimo ABSTRACT Obviously, there’s a clear and close relationship between music and moods. But, as clear and close this relationship may seem at first, taking a deeper approach anyone could easily come to the conclusion that the patterns that rule this so-called clearness and closeness are really ruled by highly subjective and relative concepts. Subjectivity is one of the factors always acting against the automatization of any kind of process: no matter how easy it may seem to think about the algorithm to make it possible, this relative simplicity turns into complex when trying to implement it. So, we start from the idea that we know the existence of several different ways to classify music according to its style (using in many cases tags that some users have chosen to be accurate and correct but which some others would change) or even huge musical networks such as last.fm that are becoming increasingly efficient when it comes to link users according to their musical preferences or suggest them recommendations. This research develops an application able to link users with their own music or even that music links and adapts to the user depending on his or her mood. Music takes the listener to several mental moods that travel from absolute tranquillity to furious anger because, something as innocent as a succession of notes connected in millions of different melodies, can affect humans in many ways (changes heartbeat, pulse, blood pressure, affects the levels of dopamine or adrenaline, etc.). All of these effects have a scientific explanation used by musicology, neuroscience and some other studies related to music and sounds. This research tries to implement a system able to link a user with his or her music based on this musicemotion binomial. It seeks a way of parameterizing music and link it to the effects it causes and then be able to find the reverse way and offer the user a list of songs that will better suit his or her preferences, or mood, at a given moment. Clasificación musical personalizada en función del estado de ánimo ABSTRACT Hi ha una clara i estreta relació entre la música i els estats d'ànim. Però en la mateixa mesura que aquesta relació sembla, a primera vista, tan clara i estreta si s'analitza amb un mínim de profunditat s'arriba ràpidament a la conclusió que els patrons que regeixen aquesta suposada claredat estan plens de conceptes altament subjectius i relatius. La subjectivitat és un dels factors que actua sempre en contra de l'automatització de qualsevol tipus de procés: per fàcil que pugui semblar aquest al pensar en l'algorisme que comporta, aquesta relativa simplicitat es torna complexa a l'hora d'implementar-lo. Així, vam partir d'una base en la qual coneixem l'existència de diverses maneres de classificar la música sota patrons com l'estil al que pertanyen (prenent en molts casos etiquetes que alguns usuaris han decidit com correctes però que uns altres canviarien) o fins i tot enormes xarxes musicals com last.fm que, amb els anys, es tornen cada vegada més eficaces a l'hora de vincular usuaris a través de les seves preferències musicals i oferir-los recomanacions. En el cas d'aquest treball, es desenvolupa una aplicació capaç de vincular a l'usuari amb la seva pròpia música, o que aquesta es vinculi i s'adapti a ell, en funció del seu estat d'ànim. La música transporta a determinats estats mentals, passant de l'assossec absolut a la ràbia continguda, ja que, alguna cosa tan innocent com notes encadenades de milions de maneres possibles, és capaç d'influir en el cos humà de moltes formes (té efectes sobre batec del cor, el pols, la pressió sanguínia, els nivells de dopamina, adrenalina, etc.). Tots aquests efectes tenen una explicació científica que utilitzen la musicologia, la neurociencia i altres estudis relatius als sons i la música. A través d’aquest treball s’intenta implementar un sistema que sigui capaç de vincular un usuari amb la seva musica basant-se en aquest binomi música-emoció. Es busca una forma de parametritzar la música i vincular-la als efectes que causa i, així, trobar el camí invers i poder oferir una llista de cançons a l'usuari que s'adaptin a les seves preferències, o estat d'ànim, en un moment determinat. Clasificación musical personalizada en función del estado de ánimo RESUMEN Este trabajo sigue la estela de muchos otros trabajos e investigaciones realizadas en el espacio determinado por las variables música y emoción. A través de él se justifica la necesidad de clasificar la información en función de diversos parámetros, siendo en este caso la música la información que se pretende clasificar. Esta necesidad ha existido a lo largo de los años pero se ha visto acrecentada con los avances tecnológicos e informáticos gracias a los que una colección de doscientos CD’s de música reunidos en una estantería se convierten en veinte gigabytes de un reproductor MP3 que no ocupa más que unos centímetros (y en el que aún queda espacio para doscientos CD’s más). Dada la gran cantidad de música de la que dispone un usuario melómano, éste en muchas ocasiones siente la necesidad de organizar toda esta información bajo criterios que vayan más allá de los típicos (artista, género, etc.). Así, en este trabajo se da un paso más allá intentando vincular el estado de ánimo del oyente y la música. Generalmente, los reproductores de música, ofrecen al usuario posibilidad de organizar su música utilizando metadatos (etiquetas que hacen referencia al artista, título, etc.), con sistemas de fingerprinting o watermarking (señales asociadas de manera única a las melodías y su señal acústica) o utilizando parámetros semánticos (descripciones de alto nivel entre las que se incluye el estado de ánimo). Éstos últimos parámetros son los más subjetivos de todos pero también los que un usuario utiliza para definir, por ejemplo, lo que una determinada canción le transmite. Sin embargo, son los parámetros acústicos (o también llamados perceptuales) los que definen con precisión una canción analizando su ritmo, melodía o frecuencia. Aunque un oyente no sea capaz de definir estos parámetros (y sean máquinas las que los calculen), inconscientemente, un usuario, en su preferencia musical por una u otra canción o conjunto de canciones similares (o que le aporten la misma emoción) estará agrupando canciones que comparten esos parámetros acústicos a los que él no puede asignar un valor concreto. En la parte práctica de este trabajo se desarrolla una aplicación web (disponible online en www.bucleinfinito.es) en la que se tiene en cuenta lo explicado anteriormente para ofrecer diferentes opciones al usuario. Toda la aplicación se desarrolla utilizando una base datos de quinientas canciones (CAL500) de las que se dispone tanto de sus parámetros acústicos (MFCC, Chroma y AFTE) como de una serie de parámetros semánticos asociados a las mismas; estos últimos hacen referencia a factores como el género, el estado de ánimo que transmiten o los instrumentos utilizados. Así, el sistema utiliza tanto los parámetros acústicos como los semánticos en su funcionamiento. Se le ofrece al usuario la posibilidad de definir su estado de ánimo; ya sea a través de adjetivos que hagan referencia a éste o seleccionando una canción que defina con precisión su estado de ánimo. A partir de aquí se analiza la base de datos y se muestra una selección de canciones acorde con la búsqueda realizada; esta lista puede guardarse y personalizarse. Resulta especialmente interesante como el funcionamiento de la web ofrece resultados satisfactorios en ambos casos de búsqueda a pesar de realizarse a través de métodos de búsqueda distintos (por parámetros semánticos o por parámetros acústicos). Sin embargo, es en una búsqueda por parámetros semánticos cuyos resultados se reordenan en función de los parámetros acústicos de las canciones el caso que los resultados son mucho más completos que en la utilización independiente de unos u otros parámetros. Tratándose de un proyecto web realizado utilizando lenguaje PHP junto con una base de datos MySQL permite la implementación de nuevas opciones que convertirían la web en una aplicación más dinámica y personalizada; estas opciones quedan planteadas como líneas de futuro de este trabajo. 1/81 Clasificación musical personalizada en función del estado de ánimo “Fácil es buscar, fácil no encontrar” - “Flor De Loto”, Héroes Del Silencio. 2/81 Clasificación musical personalizada en función del estado de ánimo Índice RESUMEN ............................................................................................................ 1 ÍNDICE ............................................................................................................... 3 1. INTRODUCCIÓN .............................................................................................. 4 1.1. MARCO ......................................................................................................... 4 1.2. ESTADO DEL ARTE ............................................................................................ 6 1.3. DESCRIPCIÓN DEL PROBLEMA ............................................................................... 7 1.3.1. Organización de la información ................................................................. 7 1.3.2. Búsqueda de la información ..................................................................... 7 1.4. SOLUCIÓN PROPUESTA ....................................................................................... 8 1.5. PERSPECTIVA GENERAL DEL PROYECTO ..................................................................... 8 2. FUNDAMENTOS TEÓRICOS ............................................................................ 10 2.1. SISTEMAS DE BÚSQUEDA DE MÚSICA ..................................................................... 10 2.1.1. Introducción......................................................................................... 10 2.1.2. Metadatos ............................................................................................ 13 2.1.3. Descripciones de bajo nivel .................................................................... 16 2.1.4. Descripciones de alto nivel (semánticas) .................................................. 22 2.1.5. Comparativa ........................................................................................ 23 2.1.6. Problemas asociados ............................................................................. 24 2.2. ASPECTOS PERCEPTUALES Y SUBJETIVOS ................................................................ 25 2.2.1. Sistema auditivo humano....................................................................... 25 2.2.2. Aspectos perceptuales de una melodía..................................................... 29 2.3. ASPECTOS SEMÁNTICOS.................................................................................... 31 2.3.1. Género musical..................................................................................... 31 2.3.2. Estado de ánimo ................................................................................... 32 2.3.3. Ontología y taxonomía........................................................................... 33 2.4. EMOCIONES Y MÚSICA...................................................................................... 39 2.4.1. Introducción......................................................................................... 39 2.4.2. Modelos para estructurar las emociones................................................... 40 2.5. BASE DE DATOS: CAL500 ........................................................................... 45 2.5.1. 2.5.2. 2.5.3. 2.5.4. Descripción de la base de datos .............................................................. 45 Canciones ............................................................................................ 45 Anotaciones semánticas......................................................................... 46 Parámetros acústicos............................................................................. 49 3. PARTE PRÁCTICA .......................................................................................... 52 3.1. APLICACIÓN WEB ........................................................................................... 52 3.1.1. Estructuración base de la datos MySQL.................................................... 54 3.1.2. Funcionamiento y opciones .................................................................... 60 4. RESULTADOS ................................................................................................ 67 4.1. 4.2. 4.3. 4.4. 4.5. BUSCADOR ................................................................................................... 67 ENCUESTA (SISTEMA HOWDOYOUFEELTODAY) ........................................................ 67 SIMILAR (POR PARÁMETROS SEMÁNTICOS) .............................................................. 68 SIMILAR (POR PARÁMETROS ACÚSTICOS)................................................................ 69 SIMILAR (POR PARÁMETROS ACÚSTICOS Y SEMÁNTICOS).............................................. 70 5. CONCLUSIONES Y LÍNEAS DE FUTURO .......................................................... 71 6. BIBLIOGRAFÍA.............................................................................................. 74 3/81 Clasificación musical personalizada en función del estado de ánimo 1. Introducción 1.1. Marco Figura 1. Evolución de los formatos musicales y su almacenamiento Haciendo un ejercicio de imaginación viajamos en una máquina del tiempo y nos situamos a mediados del siglo pasado caminando por una calle de cualquier ciudad del mundo. Nos dirigimos a una tienda de discos a comprar un disco que nos recomendó hace unos días un buen amigo por carta, llevamos el título apuntado en un papel en la cartera y esperamos que lo tengan en la tienda. Buscamos entre todos los vinilos pero, desafortunadamente, no lo encontramos. Preguntamos al dependiente y nos asegura que lo pedirá a una tienda de Londres y que en unos quince días nos lo enviarán a casa. La espera se hace larga: tenemos muchas ganas de escucharlo y de ser el primero de todos nuestros amigos en escuchar esa gran rareza. Diez días después el disco está, por fin, en casa. Nuestro tocadiscos pasa un mes girándolo y girándolo sin parar. Algunos de nuestros amigos van a la tienda a pedirlo porque también quieren tenerlo y otros disfrutan escuchándolo en nuestra casa. ¡Qué pena que el tocadiscos sea tan grande y no podamos llevarlo en el bolsillo! Años después nos encontramos echando un vistazo a nuestra colección de vinilos: todos pulcramente ordenados por riguroso orden alfabético y asignando una balda diferente de la estantería a cada género cuidadosamente etiquetado con pegatinas. Entre esos cientos de discos nos topamos con aquel vinilo que nos enviaron de Londres que tantísimas veces escuchamos años atrás: es una pena que haya acabado tan rayado y sea casi imposible escucharlo sin que salte. Los buenos recuerdos y los tiempos compartidos con esa música, que ahora no es más que un cartón con mucho valor sentimental, nos sacan rápidamente de casa y vamos en coche a la tienda de discos. Vamos escuchando una casete en la que algunos días atrás grabamos un recopilatorio de rock de producción propia: uniendo canciones de diversas casetes, vinilos y de la radio apurando los noventa minutos al máximo. Llegamos a la tienda y allí ahora el espacio está repartido: por un lado los vinilos y por otro las casetes. Sorprendidos encontramos en este nuevo formato esa rareza y, por supuesto, nos la llevamos. Volvemos a casa escuchándola en el coche pensando que lo primero que haremos al llegar será coger casetes vírgenes y grabárselo a nuestros amigos para que ellos también recuerden los viejos tiempos (y de paso, mientras se graba, volver a escuchar el disco unas cuantas veces más). Siguiendo la ley no escrita entre nuestros amigos y nosotros de “y si sobra sitio grábame más cosas” 4/81 Clasificación musical personalizada en función del estado de ánimo rellenamos toda esa cinta magnética vacía con diversas canciones de la radio. A la mañana siguiente nos vamos a correr por la playa: ¡que gran invento el walkman! Estamos a principios de los noventa y nos hemos propuesto conseguir en formato CD todos esos vinilos y casetes que están muy dañados por el paso del tiempo o, simplemente, aquellos a los que les hemos tenido siempre algún cariño especial. No nos resulta demasiado complicado hacernos con la mayoría de ellos. En la tienda de discos la sección de vinilos es muy pequeña y está casi exclusivamente dedicada a coleccionistas. La sección de los CD’s ha acaparado casi todo el terreno que antes tenían las casetes (aunque las casetes vírgenes siguen ofreciendo la gran posibilidad de grabar los CD’s y escucharlos, por ejemplo, en el coche y, como no, la de unir pistas de diversos de nuestros CD’s para crear recopilatorios totalmente personalizados). Recientemente nos hemos comprado un discman y disfrutamos de nuestra música en el autobús. En el estuche que nos regalaron con él podemos guardar cómodamente, sin el incordio de las cajas, diez CD’s diferentes: ¡casi diez horas de música! Pasan los años y empieza el siglo XXI, el temido efecto Y2K no acaba con nuestro ordenador; disfrutamos del lujo de poder grabar la música en CD a nuestros amigos en lugar de en casete, desaparece Napster gracias a una polémica legal sin precedentes y gracias a ella aparecen muchos otros sistemas similares: WinMX, Audiogalaxy, eMule, etc. Ahora vivimos en una casa alquilada, a kilómetros de la casa en la que aún conservamos nuestro armario repleto de vinilos, casetes y CD’s cuidadosamente ordenados. Gracias a los doscientos gigabytes de disco duro de nuestro ordenador hemos conseguido almacenar en él los MP3 correspondientes a toda esa música que tanto nos gustaría tener con nosotros. Tenemos decenas de CD’s y DVD’s llenos de archivos de música: unos con discografías enteras, otros solo con canciones de un único estilo, otros con etiquetas como “música para estudiar”, “música para el coche” o “canciones de los 80” y un larguísimo etcétera. Enviamos un e-mail a uno de nuestros amigos porque hemos estado recordando todos los buenos momentos que vivimos en los setenta. Esa misma noche nos llega un mensaje multimedia al móvil de nuestro amigo con la canción que más nos gustaba de aquel vinilo que nos enviaron de Londres. Rápidamente la transferimos a nuestro reproductor MP3 en el que sólo quedan unos pocos megabytes libres de los ochenta gigabytes disponibles. Y este hecho nos hace reflexionar un momento; mentalmente sumamos rápidamente la cantidad de archivos de música que nos rodean: unos cuatrocientos gigabytes, ¡mas de cien días de música!. Sobrepasados por el pensamiento, meditando sobre si realmente sabemos qué tenemos y qué no perdido entre tantos unos y ceros; nos echamos las manos a la cabeza abrumados: ¿Es posible establecer un orden entre tal cantidad de información? Figura 2. Evolución de los formatos: “...And Justice For All” de Metallica. En este disco está incluida “One” que es la canción servirá de ejemplo conductor en diversos apartados de este trabajo. 5/81 Clasificación musical personalizada en función del estado de ánimo 1.2. Estado del arte Como se ha visto en el viaje en el tiempo del apartado anterior (y como queda reflejado gráficamente en la Figura 1 y Figura 2), en relativamente pocos años, tanto el formato musical como la manera de almacenarlo han cambiado muy significativamente. Aunque, probablemente, el cambio más sustancial y con mayor repercusión en todos los sentidos ha sido la aparición del formato de audio digital más extendido: el MP3. En estos últimos años han surgido muchos programas y aplicaciones diferentes en los que poder organizar colecciones de música cada vez más extensas. Algunas de estas primeras aplicaciones como Windows Media, Yahoo Player o Winamp estructuran la música por criterios como: artista, género, canción o álbum al que pertenecen. Todas ellas también permiten la creación de listas (playlist) en las que el usuario puede añadir canciones en un orden determinado y después guardarlas y recuperarlas en cualquier momento: el equivalente moderno a esas casetes o CD’s de compilaciones personales. Pero, conforme los tiempos y las tecnologías avanzan, paralelamente, los usuarios se tornan más exigentes y las aplicaciones evolucionan buscando satisfacer estas demandas. Así, aplicaciones como Winamp o iTunes actualmente permiten otras opciones aparte de las ya mencionadas como, por ejemplo, la creación de “listas inteligentes” en las que se añaden canciones automáticamente en función de unos determinados criterios que el usuario puede seleccionar. Pero el usuario siempre quiere ir más allá. Por eso, con los años, gracias a la inquietud de muchos creadores y la gran colaboración de Internet, se han consolidado enormes redes y portales que organizan la música como allmusic [4] o last.fm [78]. Allmusic constituye una inmensa base de datos en la que es posible buscar música por artista, canción, álbum, año, estado de ánimo, similitud, etc. Asimismo permite obtener críticas de los álbumes, biografía de los artistas y una gran cantidad de información adicional. Last.fm reúne todas las características del anterior y añade una serie de novedades que son las que la convierten en una de las mayores redes musicales del momento con más de veintiún millones de usuarios registrados. Last.fm permite vincular usuarios agrupándolos por su afinidad musical, generar estadísticas de escuchas, recibir recomendaciones en concordancia con las preferencias musicales del usuario, escuchar radio online con las recomendaciones sugeridas o en la que escuchar canciones de un estilo concreto y un largo etcétera al que se añaden todas esas nuevas opciones que estén siendo desarrolladas en la actualidad y aún no estén activas. Así, es fácil darse cuenta que, hoy en día, una persona que esté creando un recopilatorio llamado “Música Para Estudiar” ya no pasa una tarde entera seleccionando canciones de casetes e intentando que todas las que quiere quepan en los noventa o máximo ciento veinte minutos de una casete virgen, tampoco quiere pasar unas horas seleccionando pistas de su colección de CD’s y grabándolas en un CD en blanco y es probable que tampoco le apetezca demasiado recorrerse su colección de cientos de gigabytes de archivos musicales que ni recuerda que tiene buscando canciones que se ajusten a la temática de su recopilatorio para crear una playlist con ellas. Lo que querría es una aplicación en la que escribir: “Música Para Estudiar” y que ésta le entendiera, buscara en su extensa colección de música y organizara el recopilatorio en unos minutos sin que él tuviera que intervenir para nada. Para conseguir este objetivo tan ambicioso hay que considerar que existen limitaciones basadas en la subjetividad, la semántica y la ausencia de criterios deterministas en la música y las emociones humanas que hacen esta tarea muy difícil de conseguir. A lo largo de este trabajo se desarrolla una aplicación que intenta ser un primer paso hacia a esa “perfección” o “mundo ideal” que querría encontrar el usuario actualmente en una aplicación o reproductor de música. 6/81 Clasificación musical personalizada en función del estado de ánimo 1.3. Descripción del problema En el desarrollo de una aplicación como la que se lleva a cabo en este trabajo, o en el de cualquier aplicación capaz de gestionar archivos musicales, se debe dar respuesta principalmente a dos preguntas: ¿Cómo se organizará la información? ¿Cómo va a buscarse ésta después?. Ambas respuestas y conceptos están estrechamente relacionados y, asimismo, en su resolución aparecen una serie de limitaciones. 1.3.1. Organización de la información De una canción convertida en archivo musical de formato MP3 puede extraerse información a diferentes niveles. Por un lado, simplemente mediante la escucha, se pueden extraer aspectos perceptuales de la melodía (ritmo, tempo, armonía, etc.) muchos de los cuáles pueden obtenerse, o aproximarse, computacionalmente con herramientas como Matlab a partir del análisis frecuencial de la señal acústica. Por otro lado hay información que forma parte del mismo archivo MP3 (metadatos) como por ejemplo las etiquetas ID3 [64] de las que se puede extraer información objetiva de la canción (artista, título, álbum, año, género, etc.). Así los archivos se organizarán utilizando todos estos parámetros, tanto los objetivos como los perceptuales. Además de los parámetros ya descritos, para conseguir la clasificación y organización en función del estado de ánimo o emoción que transmiten, es necesario asociar a los archivos de música datos semánticos que hagan referencia a estos dos aspectos. Es aquí donde se encuentra una de las limitaciones del sistema: una canción puede transmitir una emoción diferente a dos usuarios distintos y la emoción que esta canción evoca en ellos será descrita por los dos usuarios utilizando un lenguaje que muchas veces resulta impreciso. Por otra parte, independientemente de la subjetividad de las emociones y la imprecisión del lenguaje, las emociones que evoca una canción están relacionadas con aspectos perceptuales y frecuenciales de las mismas y la manera en que el cerebro humano los procesa. Por otro lado, se necesita un conocimiento previo de los archivos musicales. Es necesaria una base de datos en la que las canciones estén debidamente etiquetadas, analizadas perceptual y frecuencialmente y anotadas semánticamente haciendo referencia a las emociones. Esta necesidad surge de la dificultad de anotar automáticamente y el alto coste computacional que supone procesar los archivos de sonido a tiempo real. 1.3.2. Búsqueda de la información Una vez organizada la información ya es posible buscar a través de ella y que la aplicación sea capaz de generar una lista de canciones acorde a los criterios de búsqueda del usuario o, en este caso, a su estado de ánimo. Sería deseable que el sistema fuera capaz de interpretar el estado de ánimo del usuario a través de, por ejemplo, un texto, pero esto entraña una gran dificultad ya que sería necesario una gran red semántica capaz de interpretar la emoción que encierra un texto. Existen redes semánticas pero una máquina está limitada a la hora de igualar su manera de procesar la información a la del cerebro humano, especialmente los factores subjetivos del mismo. Así, una vez expuesto lo anterior, se concluye que es necesario limitar las opciones de búsqueda y llegar a un compromiso entre el uso de los aspectos perceptuales y semánticos asociados a los archivos musicales, tanto a la hora de clasificar como a la de buscar y mostrar la información al usuario. 7/81 Clasificación musical personalizada en función del estado de ánimo 1.4. Solución propuesta La solución que se propone en este trabajo se limita a las quinientas canciones que componen la base de datos CAL500 [38]. En esta base de datos se incluyen los archivos MP3 de las quinientas canciones así como diferentes parámetros acústicos que modelan los aspectos perceptuales de las mismas (MFCC dinámicos, MFCC delta, parámetros Chroma y parámetros AFTE) y anotaciones que las describen semánticamente haciendo referencia a emoción, estilo, voz, instrumentos y uso (estudiar, en el coche, etc.). Utilizando una base de datos con un número limitado de archivos de sonido sobre los que se tiene un conocimiento previo se consigue solventar la problemática que supone procesar colecciones de música más extensas y, especialmente, colecciones sobre las que no se tiene ningún conocimiento previo. En el caso de éstas últimas resultaría necesario procesarlas para obtener los parámetros que ya están extraídos en CAL500. De la misma manera, utilizando CAL500 no es necesario un sistema de anotación automática, algo que sería imprescindible en caso de una colección de audio desconocida. En este trabajo se desarrolla una aplicación web, utilizando PHP y MySQL, capaz de ofrecer al usuario diferentes opciones para generar una lista de canciones acorde con su estado de ánimo en un momento dado. La generación de esta lista supone clasificar y buscar canciones de la base de datos y mostrarlas en función de unos criterios elegidos por el usuario. En este proceso intervienen tanto los parámetros acústicos como los semánticos asociados a cada una de las quinientas canciones (véase Figura 3). Figura 3. Diagrama de bloques general del sistema. 1.5. Perspectiva general del proyecto La estructura general del trabajo queda plasmada, a grandes rasgos, en el diagrama de la Figura 4. En el apartado 2 se describen los fundamentos teóricos sobre los que se basa la aplicación comenzando por los sistemas de búsqueda (apartado 2.1) justificando primeramente la necesidad de la existencia de los mismos así como explicando las características del formato MP3 (apartado 2.1.1) y seguidamente definiendo descriptores basados en metadatos (apartado 2.1.2) y descriptores de bajo y alto nivel (apartados 2.1.3 y 2.1.4). Este apartado se cierra con una comparativa entre las distintas descripciones anteriormente definidas (apartado 2.1.5) seguida de un listado de limitaciones y problemas asociados a las mismas. En los apartados 2.2 y 2.3 se describen los diferentes aspectos perceptuales (apartado 2.2.2) y semánticos que se pueden analizar de la música. Describiendo en el primer caso, a grandes rasgos, cómo funciona el sistema auditivo humano (apartado 2.2.1) y en el 8/81 Clasificación musical personalizada en función del estado de ánimo segundo cómo se estructura el conocimiento en redes ontológicas como por ejemplo Wordnet (apartado 2.3.3). A continuación, se establece una relación entre las emociones y la música (apartado 2.4) describiendo por un lado diferentes ciencias que toman esta relación como base (apartado 2.4.1) y por otros diversos modelos estudiados por diferentes autores para estructurar las emociones (aparado 2.4.2). El apartado 2 finaliza con la descripción de la base de datos CAL500 utilizada en este trabajo (apartado 2.5.1). Detallando tanto las canciones (apartado 2.5.2) como los diferentes parámetros de cada una de ellas que la componen (apartado 2.5.4) y las anotaciones semánticas (apartado 2.5.3). El apartado 3 define el sistema práctico implementado (apartado 3.1). En él se explica la estructuración de la base de datos (apartado 3.1.1) y la funcionalidad de las diferentes opciones que ofrece la interfaz web (apartado 3.1.2) y su funcionamiento. Seguidamente, en el apartado 4, se detallan los resultados obtenidos estableciendo una comparativa entre diferentes pruebas realizadas con el sistema y sus distintas opciones para, finalmente, sacar conclusiones y definir posibles mejoras en el sistema que quedarán propuestas como líneas futuras de investigación en el apartado 5. Figura 4. Estructura general del trabajo 9/81 Clasificación musical personalizada en función del estado de ánimo 2. Fundamentos teóricos 2.1. Sistemas de búsqueda de música 2.1.1. Introducción Formato MP3 Ha pasado mucho tiempo, y muchas evoluciones tecnológicas, desde que en Julio de 1994 la sociedad alemana de investigación Fraunhofer [52] desarrollara l3enc [75] (el primer software que codificaba archivos WAV en formato MP3) y desde que, un año más tarde, apareciese Winplay3 [122] (el primer software reproductor de este formato). Es muy probable que entonces nadie hubiera creído la gran revolución que, para bien y/o para mal, este nuevo formato iba a suponer en un futuro que no estaba tan lejos. A finales de los noventa, y principios del nuevo siglo, surgen aplicaciones como Winamp o Yahoo Player, orientadas a organizar las colecciones de MP3 cada vez más extensas. Éstas estaban limitadas entonces al tamaño de los discos duros (que no llegaban, en el mejor de los casos, a la decena de gigabytes). En este aspecto, el MP3 introduce una gran ventaja respecto al WAV: un minuto de música en calidad CD en formato WAV ocupa unos diez megabytes frente al megabyte que ocupa en MP3 (en general un archivo MP3 codificado a 128 kbits/s ocupa la décima parte de lo que ocuparía en WAV). Así, gracias a esto, las redes peer-to-peer (P2P) en las que los usuarios pueden transferir y compartir sus ficheros se hacen cada vez más populares. Entre estas redes merece especial mención la primera de ellas: Napster. Poder convertir pistas de CD en formato MP3 con una calidad, esencialmente, idéntica a la del CD promueve la copia de discos de forma ilegal y, asimismo, las redes P2P permiten la distribución de éstos con la misma ilegalidad. Napster acabó cerrando por este motivo aunque, sin pasar mucho tiempo, surgieron muchas otras redes con la misma funcionalidad. Actualmente, dejando de lado términos legales, es virtualmente imposible detener esta nueva manera de entender, distribuir y obtener música. La popular extensión .mp3 (en su origen la extensión se llamó .bit) es, realmente, el nombre común con el que se hace referencia a la capa 3 del estándar MPEG-1 Audio (MPEG-1 Audio Layer 3). Un archivo MP3 está formado por una cabecera de 32 bits (header) seguida de los datos (data), ocupando estos últimos un número variable de bits. Los 32 bits (8 bytes) de la cabecera ofrecen información sobre las características del archivo (véase la Figura 5). Figura 5. Diagrama de la estructura de un archivo MP3. 10/81 Clasificación musical personalizada en función del estado de ánimo Como ya se ha introducido anteriormente en este mismo apartado, la aparición y extensión del formato MP3, hasta convertirse en estándar de facto para transferir y reproducir música en reproductores de música digital, entraña una serie de aspectos tanto positivos como negativos. En este sentido, son sus mismas características las que hacen que, dependiendo la perspectiva desde la que se miren, se conviertan en ventajas o en inconvenientes. El formato MP3 supone una gran ventaja para nuevos músicos de dar a conocer su trabajo a través de Internet, redes como MySpace [98] o last.fm ofrecen esta posibilidad gratuitamente. Asimismo, un usuario puede conocer música que, probablemente, jamás hubiera llegado a conocer si aún siguieran vigentes los vinilos. Por ejemplo, un grupo de amigos que tienen una banda, y han grabado algunas de sus canciones con sus propios medios, pueden subirlas a su MySpace ofreciendo la posibilidad de que los usuarios puedan descargárselas (aunque sea en baja calidad) y así, tal vez, conseguir que alguien se interese por ellos y los invite a tocar en su local. Un grupo como Artic Monkeys, entre otros, se hizo popular a través de esta vía. Otra ventaja del MP3 es la facilidad que ofrece para transportarlo: una persona que quiere llevarse veinte CD’s (o más) consigo sólo necesita convertirlos a formato MP3 y podrá almacenarlos en su ordenador, reproductor de música o teléfono móvil fácilmente. El problema surge cuando estos archivos no han sido obtenidos de la colección de CD’s legalmente adquiridos del usuario sino de redes P2P y esto, técnicamente, supone un delito de piratería. Pero, actualmente, el mundo acepta esto como el común y habitual procedimiento de escuchar música: descargar un CD que acaba de salir al mercado el día anterior (o que ni siquiera está aún disponible), almacenarlo, seguir distribuyéndolo y, si realmente merece la pena, comprarlo legalmente. Existe mucha controversia respecto a todo lo que rodea estas nuevas vías de conocer, descubrir y escuchar música; muchas discográficas desarrollan nuevos canales de distribución y estrategias de marketing para luchar con ello. Existen estudios que demuestran que la venta de discos no se ha reducido tanto como las discográficas hacen creer pero que la cantidad de conciertos y afluencia a los mismos ha incrementado notablemente: bandas que antes nunca hubieran podido darse a conocer sin el apoyo de Internet (y los MP3) ahora pueden salir de gira y colgar el cartel de sold-out cuando, hace veinte años, tal vez sólo hubieran acudido diez personas a un único concierto que hicieran en su barrio. Necesidad de organizar la información Desde los primeros años de popularidad del formato MP3, surgió la necesidad de, por un lado, implementar programas capaces de reproducirlos y, por otro, idear sistemas para que estos archivos pudieran organizarse. Surgen así en 1996 las etiquetas y su estándar de facto ID3 (que se explica en profundidad en el siguiente apartado de este trabajo). Las etiquetas añaden bits al archivo de audio (metadatos) que dan información sobre el artista, la canción, etc. De esta forma las listas de reproducción se pueden organizar en función de cualquiera de esas informaciones que proporcionan las etiquetas. Aún así, si los MP3 no incluyen estas etiquetas, es el usuario quien tiene que tomarse su tiempo en etiquetarlas, sino, serán archivos virtualmente imposibles de ordenar; más aún si ni siquiera los nombres de los archivos están organizados con algún tipo de criterio. Las figuras 6, 7 y 8 muestran un ejemplo de esto. Actualmente, un usuario común dispone de un mínimo de cien gigabytes almacenados indistintamente en su ordenador, reproductor MP3 o teléfono móvil. Cien gigabytes, considerando que un disco en formato MP3 ocupe unos cien megabytes y dure una hora, suponen más de cincuenta días de música y, suponiendo que un disco tenga, de media, doce canciones, esto se traduce en unos doce mil archivos MP3. Obviamente, imaginar estos doce mil archivos sin etiquetar añadidos a la biblioteca de un reproductor de archivos multimedia, como iTunes, es la materialización del caos. Por lo tanto, si un usuario no es ordenado a la hora de etiquetar el material que pueda, eventualmente, 11/81 Clasificación musical personalizada en función del estado de ánimo estar sin etiquetar, las posibilidades que ofrezca su reproductor de organizar los archivos por artista, género o álbum (entre muchos otros) serán completamente inútiles. Figura 6. Archivo en el explorador de Windows. Figura 7. Archivo en iTunes sin etiquetar. Figura 8. Archivo en iTunes etiquetado. Sistemas de búsqueda Uno de los problemas que tenemos en el caso de la música es que disponemos de una base de datos de canciones en la que tenemos una gran cantidad de información que organizar y, obviamente, esta información debe estructurarse de manera que pueda buscarse eficientemente. Así, resulta necesario utilizar un sistema para “etiquetar” adecuadamente la información y estructurarla para que después pueda ser buscada en función de una serie de criterios definidos por el usuario. En el caso de la música, estos podrían ser los clásicos: grupo, canción, álbum, género, etc., u otros criterios más concretos como: instrumentos, emoción que transmiten, en qué situaciones el usuario preferiría escucharlas, etc. Estos últimos criterios más específicos son los que establecerán la diferencia del sistema desarrollado en este trabajo con los sistemas habituales y, al mismo tiempo, introducen un concepto diferente de búsqueda para el usuario, pudiendo éste organizar sus archivos musicales de forma más personal o acorde a un momento o estado de ánimo determinado. Un usuario es probable que encuentre mucho más interesante un sistema de búsqueda que tenga en cuenta estos factores subjetivos. A la hora de estructurar la información, tan importante es el hecho de tener la base de datos musical etiquetada o anotada, como disponer de un mecanismo capaz de estructurar todas las posibles maneras en las que un usuario puede buscar algo. Así, al establecer un sistema de búsqueda basado en el audio (audio content based search) existen diferentes opciones. En el apartado siguiente se enumeran las características fundamentales de tres de ellas: • Búsqueda basada en la utilización de metadatos. Éstos son “datos que hablan sobre los datos”, que aportan información sobre los mismos datos en los que, generalmente, están integrados. En el caso de la música un ejemplo de metadatos son las etiquetas (tags). • Búsqueda basada en definiciones de bajo nivel. Entre las técnicas de definición de bajo nivel se destaca, por un lado, la marca de agua digital (watermarking) que consiste en integrar en el audio un mensaje que, por lo general, aporta información sobre la propiedad intelectual o algún tipo de aspecto legal; y por otro, la huella digital (fingerprinting) que refuerza la información que se puede extraer de las marcas de agua añadiendo otros datos relevantes a la hora de identificar una canción (aparte de los referentes únicamente al copyright). • Búsqueda basada en definiciones de alto nivel, también llamadas definiciones semánticas. El objetivo es conseguir un sistema de búsqueda que se base en estas definiciones porque es así como los usuarios prefieren buscar la información. Para el 12/81 Clasificación musical personalizada en función del estado de ánimo caso de una base de datos musical este método de búsqueda es el más adecuado y agradable para el usuario (user-friendly) ya que supone un criterio fácil de personalizar y adaptarse a las necesidades o preferencias del usuario. Las definiciones semánticas van más allá de la simple búsqueda o clasificación a través de los criterios habituales (artista, álbum, canción, etc.). Aparte de los métodos ya especificados existen más sistemas de búsqueda musical incluso muchos sistemas estrafalarios de dudosa funcionalidad. Por ejemplo, entre estos últimos, destaca SongTapper [54] y MelodyHound [111] que establece un sistema de búsqueda de música mediante el “tarareo” de una canción a través de los clicks de la barra espaciadora o diversos sistemas de “Query By Humming” (búsqueda por tarareo) [108][69][88]. 2.1.2. Metadatos El prefijo meta (del griego µετα, “junto a", "después de", "entre" o "con") combinado con datos (del latin datum, “lo que se da”) forma la palabra metadatos que, literalmente, significa “datos sobre datos”. Volviendo al viaje en el tiempo de la introducción de este trabajo, las pegatinas utilizadas para indicar en que género se ubicaba en cada una de las baldas los discos de vinilo serían el equivalente a los metadatos. Así, de la misma manera que las pegatinas, los metadatos facilitan la organización y la gestión de los datos. El contenido o información que aportan varía, obviamente, en función de los datos a los que están asociados. En el caso de archivos musicales, los metadatos proporcionan información sobre artista, título de la canción, álbum o género al que pertenecen (entre otros) y su estándar de facto para incluirlos en los archivos MP3 son las etiquetas (tags) ID3. Los reproductores de música interpretan esta información de los MP3 y la utilizan para organizar visualmente los archivos y, así, ofrecerle al usuario la posibilidad de organizarlos y facilitar en gran medida su búsqueda ya que es posible que el nombre del archivo no aporte ninguna información que permita localizarlo (véanse las figuras 5, 6 y 7). Por ejemplo, la canción que sirve de ejemplo conductor en ese trabajo, extraída del CD y convertida a MP3 (proceso comúnmente conocido como “ripear”) con un software que no identifica los archivos al extraerlos ni les añade etiquetas, aparecería en el reproductor como “Pista04.mp3” nombre mediante el que es imposible saber que se trata de la canción “One”. Los reproductores de música, además, permiten añadir, o modificar, las etiquetas de los archivos. Esta facilidad supone una de las ventajas de los metadatos y, al mismo tiempo, un inconveniente: un usuario es libre de asignar incorrectamente metadatos a un archivo y que, además, estos sean diferentes a los que asignaría otro usuario. Etiquetas ID3 ID3 es la abreviatura de “IDentify an MP3”. La primera versión de las etiquetas ID3 (ID3v1) aparece en 1996 gracias a Eric Kemp. Esta primera versión ocupaba ciento veintiocho bytes que se situaban al final del archivo para evitar incompatibilidades con programas que no pudieran leer éstas etiquetas si estuvieran situadas al principio del archivo. ID3v1 incluía treinta bytes para los campos de: título, artista, álbum y comentarios; cuatro bytes para el año y un byte para identificar el género (que se elegía de una lista predefinida de ochenta extendida más tarde a ciento veintiséis como se ve en la Figura 9 y la Figura 10). Sumando los bytes mencionados resulta ciento veinticinco ya que los otros tres bytes corresponden a la palabra TAG. Un año más tarde, en 1997, Michael Mutschler introduce ID3v1.1. utilizando dos bytes del campo de comentarios para incluir el número de pista del álbum original al que ese archivo pertenece. Michael Mutschler también es el creador de MP3ext [89] (una extensión que permite consultar y modificar las etiquetas desde el explorador de Windows). Se puede apreciar una comparativa de las diferentes versiones de ID3 en la Figura 11. 13/81 Clasificación musical personalizada en función del estado de ánimo 0 'Blues' 20 'Alternative' 40 'AlternRock' 1 'Classic Rock' 21 'Ska' 41 'Bass' 60 'Top 40' 61 'Christian Rap' 2 'Country' 22 'Death Metal' 42 'Soul' 62 'Pop/Funk' 3 'Dance' 23 'Pranks' 43 'Punk' 63 'Jungle' 4 'Disco' 24 'Soundtrack' 44 'Space' 64 'Native American' 5 'Funk' 25 'Euro-Techno' 45 'Meditative' 65 'Cabaret' 6 'Grunge' 26 'Ambient' 46 'Instrumental Pop' 66 'New Wave' 7 'Hip-Hop' 27 'Trip-Hop' 47 'Instrumental Rock' 67 'Psychadelic' 8 'Jazz' 28 'Vocal' 48 'Ethnic' 68 'Rave' 9 'Metal' 29 'Jazz+Funk' 49 'Gothic' 69 'Showtunes' 10 'New Age' 30 'Fusion' 50 'Darkwave' 70 'Trailer' 11 'Oldies' 31 'Trance' 51 'Techno-Industrial' 71 'Lo-Fi' 12 'Other' 32 'Classical' 52 'Electronic' 72 'Tribal' 13 'Pop' 33 'Instrumental' 53 'Pop-Folk' 73 'Acid Punk' 14 'R&B' 34 'Acid' 54 'Eurodance' 74 'Acid Jazz' 15 'Rap' 35 'House' 55 'Dream' 75 'Polka' 16 'Reggae' 36 'Game' 56 'Southern Rock' 76 'Retro' 17 'Rock' 37 'Sound Clip' 57 'Comedy' 77 'Musical' 18 'Techno' 38 'Gospel' 58 'Cult' 78 'Rock & Roll' 19 'Industrial' 39 'Noise' 59 'Gangsta' 79 'Hard Rock' Figura 9. Géneros de ID3v1. 80 'Folk' 92 'Progressive Rock' 104 'Chamber Music' 116 'Ballad' 81 'Folk-Rock' 93 'Psychedelic Rock' 105 'Sonata' 117 'Power Ballad' 118 'Rhythmic Soul' 82 'National Folk' 94 'Symphonic Rock' 106 'Symphony' 83 'Swing' 95 'Slow Rock' 107 'Booty Brass' 119 'Freestyle' 84 'Fast Fusion' 96 'Big Band' 108 'Primus' 120 'Duet' 85 'Bebob' 97 'Chorus' 109 'Porn Groove' 121 'Punk Rock' 86 'Latin' 98 'Easy Listening' 110 'Satire' 122 'Drum Solo' 87 'Revival' 99 'Acoustic' 88 'Celtic' 100 'Humour' 89 'Bluegrass' 90 'Avantgarde' 91 'Gothic Rock' 111 'Slow Jam' 123 'A Capela' 112 'Club' 124 'Euro-House' 101 'Speech' 113 'Tango' 125 'Dance Hall' 102 'Chanson' 114 'Samba' 103 'Opera' 115 'Folklore' Figura 10. Géneros que añade WinAmp. Teniendo en cuenta que un byte equivale a un carácter, la información que permitía cada uno de los campos de ID3v1 era bastante reducida quedando ésta en muchos casos truncada por superar los treinta caracteres. Así, en 1998, Martín Nilsson y su equipo de id3.org desarrollan la segunda versión de ID3 (ID3v2). Esta nueva versión es más flexible que la anterior permitiendo etiquetas de longitud variable y añadiendo en una etiqueta diferentes campos (frames) en los que, virtualmente, hay capacidad para cualquier tipo de información ya que los frames están limitados a un máximo de 16 megabytes y las etiquetas a 256 megabytes. Además, se pueden definir nuevas frames si fuera necesario para una determinada aplicación. La diferente información que pueden contener estas etiquetas en sus distintos frames incluye título, álbum, intérprete, letras, ajustes de ecualización y volumen, portada del disco (u otras imágenes), links, beats por minuto (BPM) y un largo etcétera. Incluso pueden vincularse a bases de datos de información de CD’s de Internet como CDDB [14] o freeDB [53] o a tiendas como Amazon [5] o Discogs [33] para obtener la información que añadir a las etiquetas como, por ejemplo, la portada del disco. Existen programas como Mp3tag [90] que facilitan esta tarea. 14/81 Clasificación musical personalizada en función del estado de ánimo Las tres versiones hasta el momento de ID3v2 (ID3v2.2, ID3v2.3 y ID3v2.4) difieren entre ellas especial, e imperceptiblemente en la mayoría de los casos para un usuario común, en lo que se refiere a caracteres o formato que pueden tener los distintos frames. La versión más extendida es ID3v2.2. Se puede obtener un listado completo de todas las frames posibles en [50]. Figura 11. Comparativa ID3. En la Figura 12 se aprecia la ventana de Mp3tag en la que se añade la etiqueta correspondiente a la canción; habiendo sido obtenida gracias a que el programa se conecta a Discogs y obtiene de esta página la información (que el usuario puede validar o modificar). Así, al abrir después este archivo en un reproductor de música digital, como iTunes, y analizar sus propiedades, aparecen las cuatro pestañas que se detallan en la Figura 13. Entre éstas cabe destacar un contador de reproducción o la puntuación que un usuario puede dar a la canción. Estas dos opciones, entre otras, son las que iTunes puede utilizar más tarde para crear listas inteligentes buscando bajo los criterios, por ejemplo, de “más escuchadas” o “mejor puntuadas”. De la misma forma se podrían añadir comentarios que hicieran referencia al estado de ánimo y buscar en función de éstos. Aunque, en lo que incumbe a este trabajo, esta última opción no se contempla ya que las canciones están anotadas y etiquetadas en función de otros descriptores que se detallan más adelante. Por este motivo, añadir estas mismas anotaciones como metadatos sería una tediosa e innecesaria labor. Figura 12. Etiquetas añadidas desde Discogs con Mp3tag. 15/81 Clasificación musical personalizada en función del estado de ánimo Figura 13. Información sobre la canción en iTunes. 2.1.3. Descripciones de bajo nivel Las descripciones de bajo nivel describen los componentes individuales que forman un determinado sistema o información. Por ejemplo, en programación, el lenguaje ensamblador es un lenguaje de bajo nivel ya que la abstracción entre éste y el hardware es mínima. Así, un lenguaje de bajo nivel es más fácil de entender por una máquina pero, al mismo tiempo, más complicado para un programador de utilizar. En otras palabras, un lenguaje de bajo nivel, aunque igual de efectivo, dista bastante del lenguaje natural. Buscando un ejemplo más simple: un chirrido podría ser definido como “un sonido desquiciante” o como “un sonido con frecuencias muy elevadas”; siendo esta última definición una definición de bajo nivel. En el caso del audio y la música, una descripción de bajo nivel hace referencia a los aspectos acústicos y perceptuales de la melodía que están directamente relacionados con las características internas de la señal de audio especialmente aspectos extraídos de su análisis frecuencial: picos de frecuencia o energía de cada banda, forma del espectro, análisis del timbre, presencia de harmónicos, etc. Estas características se extraen, por lo general, tras procesar las señales y someterlas a análisis (temporal y/o frecuencial). Son características que los humanos no pueden inferir o extraer directamente de una canción pero que para un procesador o software determinado (por ejemplo Matlab) suponen, simplemente, una serie de órdenes computacionales que ejecutar. MPEG-7 es un estándar para describir contenido multimedia, también se conoce como Interficie de Descripción de Contenido Multimedia (Multimedia Content Description Interface). Los descriptores de MPEG-7 están asociados con el contenido que representan 16/81 Clasificación musical personalizada en función del estado de ánimo y lo describen directamente, permitiendo así una búsqueda e identificación de los contenidos eficiente. Como ya se ha explicado anteriormente este método de describir la información se corresponde directamente con los descriptores de bajo nivel. La parte cuarta del estándar MPEG-7 está dedicada al audio y en ella se definen una serie de descriptores de bajo nivel que informan sobre las características de la señal de audio. Concretamente se definen diecisiete como aparecen detallados en la Figura 14. Existen diversos sistemas, aplicaciones y estudios basados en los descriptores de MPEG-7 [93][55][91][92]. AudioWaveformType AudioPowerType Descriptores básicos. Ofrecen un valor mínimo y máximo de la amplitud de la señal de audio. El primero permite la visualización de la forma de onda y el segundo define la potencia de las muestras de la señal de audio. AudioSpectrumEnvelopeType AudioSpectrumCentroidType AudioSpectrumSpreadType AudioSpectrumFlatnessType Descriptores básicos del espectro. Describen el contenido espectral de la señal con cuatro parámetros que representan: la envolvente (envelope), la presencia de más altas o bajas frecuencias (centroid), la forma de la energía del espectro (spread) y lo plano que es en cada una de las bandas (flatness). AudioSpectrumBasisType AudioSpectrumProjectionType Descriptores del espectro base. Describen proyectar el sonido en un espacio tridimensional. AudioFundamentalFrequencyType AudioHarmonicityType Descriptores de parámetros básicos de la señal. Informan sobre la frecuencia fundamental y sus harmónicos. LogAttackTimeType TemporalCentroidType Descriptores de timbre temporal. SpectralCentroidType HarmonicSpectralCentroidType HarmonicSpectralDeviationType HarmonicSpectralSpreadType HarmonicSpectralVariationType Descriptores de timbre espectral. Se complementan con los descriptores básicos y añaden más información a los descriptores de parámetros básicos de la señal parámetros para Figura 14. Descriptores de audio de bajo nivel de MPEG-7. Hash El término "función hash" hace referencia a un proceso, o función matemática, que convierte una determinada secuencia binaria de longitud M en otra secuencia binaria de longitud N dónde esta última es la que se conoce como hash. El objetivo del hash, entre otros, es compactar la información ya que la longitud de N es menor que la de M. Un hash es capaz de identificar un archivo, un documento o, en general, cualquier tipo de información. Estas funciones se utilizan especialmente en el campo de la criptografía (ciencia que estudia el cifrado y descifrado de la información así como la forma de que ésta se interpreta tanto en el emisor como en el receptor). Su utilización en el campo de las aplicaciones multimedia está limitada por una de sus principales características: un cambio de un único bit en la secuencia de origen da como resultado un hash totalmente diferente. Así, por ejemplo, de una misma canción con diferente velocidad de bits (o diferente volumen) se extraerían hash distintos. En el mundo del audio, y especialmente en las redes de distribución P2P, una de las funciones hash más utilizadas es MD5. Se comprueba la suma MD5 (md5sum) del archivo descargado con la del archivo original para evitar posibles virus o incluso descargas defectuosas o incompletas. Visto así, MD5 podría utilizarse también para comprobar si un MP3 coincide con otro de una base de datos dada. Sin embargo, como se ha explicado anteriormente, cualquier cambio en el volumen, o incluso la compresión, no permitiría reconocer la coincidencia en el caso de darse. Los archivos deberían ser idénticos en todos los aspectos. Para aplicar funciones hash al audio diversos autores [67] han desarrollado algoritmos hash más robustos capaces de identificar como iguales versiones de una misma canción extraídas de un CD y en formato MP3, aunque no hasta llegar al punto de identificar esa misma canción en una versión interpretada en directo o por otro autor (cover). Sería necesario que los hash utilizados en audio incorporaran información perceptual de la canción para solventar este problema, pero, teniendo en cuenta que las funciones hash utilizan únicamente los bits que forman el archivo MP3 y 17/81 Clasificación musical personalizada en función del estado de ánimo que no es viable extraer aspectos perceptuales de éstos, es preciso recurrir a otros métodos. Marca de agua digital (watermarking) El término marca de agua (watermark) originalmente hace referencia a una imagen en papel, formada por diferentes espesores en el mismo, que se hace visible, por ejemplo, al mirarse éste al trasluz (como la imagen que aparece en los billetes). Es útil para demostrar la autenticidad de un papel o, en el caso de los billetes, diferenciar uno falso de uno real. Por extensión, este término actualmente también se utiliza en el campo de la tecnología para incluir en imágenes, vídeos o audio información sobre el copyright; en este campo esto se conoce como marca de agua digital (digital watermark). Las marcas de agua digitales son datos que están directamente incrustados en el contenido; son imperceptibles para los humanos pero las máquinas los pueden interpretar. Así como en el apartado anterior se vinculaba el hashing con la criptografía, el watermarking está relacionado con la esteganografía. La esteganografía es la ciencia de escribir mensajes ocultos de forma que solo pueden ser interpretados por quién lo envía (en el caso de un archivo de audio el copyright de la discográfica, por ejemplo) y el receptor a quien va dirigido (por ejemplo la misma discográfica en busca de copias ilegales de sus archivos en redes P2P). Un usuario no puede diferenciar si un MP3 ha sido comprado legalmente en una tienda de música digital o si éste ha sido ilegalmente distribuido, sin embargo, una discográfica o empresa dedicada a insertar (y leer) marcas de agua digitales [32], disponiendo del software adecuado, puede diferenciarlo y establecer responsabilidades legales sobre estas copias. En el caso del audio, con la marca de agua (watermarking), lo que se hace es incorporar información de forma imperceptible en el propio audio, constituyendo así un mensaje oculto que no se escucha ni necesita espacio extra para almacenarse. Como ya se ha explicado, esta marca, puede leerse con un software (o hardware) preparado para este fin. Generalmente se utiliza esta técnica para incluir informaciones de copyright (y distinguir las copias del original) dado que las marcas de agua no pueden ser modificadas o eliminadas por el usuario (como ocurre con los tags); solo pueden ser modificadas o eliminadas por personas autorizadas. Así, las aplicaciones destinadas a analizar posibles delitos de copyright buscan la presencia de esta marca antes de continuar utilizando un determinado archivo (véase Figura 15). Figura 15. Proceso general de detección de marcas de agua. En audio, la marca de agua tiene las siguientes características: • Es (generalmente) inaudible; basándose en las características del sistema auditivo para conseguir que no sea percibida. • Debe ser robusta ante procesos de codificación, transmisión, conversiones analógicodigital (AD) o digital-analógico (DA) y compresión (todos ellos eventos que aparecen como “posibles distorsiones del canal” en la Figura 16). Además, sólo debe poder detectarse y modificarse por personas autorizadas. • Es preciso que las marcas sean resistentes a ataques intencionados tales como intentos de eliminarlas o modificarlas. 18/81 Clasificación musical personalizada en función del estado de ánimo • Un sistema de watermarking puede ser simétrico o asimétrico. En el primer caso las claves (keys) utilizadas para la inserción y la detección son iguales. En el segundo caso, el utilizado para aplicaciones públicas, estas claves son distintas. Figura 16. Esquema general del watermarking. Huella digital (fingerprinting) El término más extendido de huella o huella digital (fingerprint) hace referencia a la marca que deja la yema del dedo en un objeto al tocarlo, o la que se obtiene impregnándola previamente en una materia colorante. Ésta es una característica única de cada individuo y permite identificarlo inequívocamente ya que no existen dos huellas dactilares exactamente iguales. De la misma manera, la huella genética o perfil de ADN, es una técnica que permite diferenciar individuos a través de su ADN. Por extensión, la huella acústica (acoustic fingerprint), hace referencia a un código único que identifica una pieza de audio, éste se extrae directamente de la misma señal de audio y, por tanto, de sus características acústicas. Así, el fingerprint está directamente relacionado con el audio ya que se deriva de los aspectos perceptualmente relevantes del mismo. El fingerprint surge como respuesta a la necesidad de representar una señal de audio de forma que ésta ocupe menos que el archivo original pero que conserve la información suficiente para distinguirla de otra señal diferente o identificarla con una que es idéntica. Así, tal y como se aprecia en la Figura 17, dada una colección de música se extrae de todos los archivos los diferentes fingerprint (con la posibilidad de asociar éstos a metadatos relacionados con el archivo: artista, título, etc.) y se almacenan en un base de datos. Este primer proceso consolida la base de datos necesaria para llevar a cabo el siguiente: dada una canción sin identificar, se extrae su fingerprint, se compara con todos los fingerprint almacenados en la base de datos y, si esta coincidencia existe, se asocian a ella los metadatos correspondientes. Así, teniendo una gran base de datos, aplicaciones como MagicMP3Tagger [81], ofrecen la posibilidad de añadir los metadatos adecuados automáticamente a extensas colecciones de música sin etiquetar. Figura 17. Esquema general de fingerprinting para identificación de audio (I). La técnica del fingerprinting tienen diversas aplicaciones en el mundo del audio. Por un lado permite la monitorización de contenido, esto es útil para aplicaciones que estén relacionadas con la difusión en directo (broadcast). Por ejemplo, en un programa de radio, donde las canciones que suenan en una determinada franja horaria pertenezcan todas a una gran base de datos conocida. Si se extrae el fingerprint de la que está sonando y se compara con el de las demás en la base de datos, se podría generar una lista de reproducción donde se anotaría automáticamente la secuencia de canciones. Asimismo, comparando un fingerprint de una canción con el de la misma canción en la 19/81 Clasificación musical personalizada en función del estado de ánimo base de datos se puede analizar la integridad de la misma (véase ); esto es útil en redes P2P e incluso en luchas contra la piratería (especialmente si se utiliza combinado con técnicas de watermarking). Pero la aplicación del fingerprinting que resulta más interesante para este trabajo es la de identificación y búsqueda basada en el contenido (CBID: Content Based Identification) [106]: gracias al fingerprinting es posible vincular un archivo de audio con los metadatos correspondientes sin importar el formato o degradaciones que pueda tener el mismo. Figura 18. Esquema de fingerprinting para verificar la integridad de un archivo. Cualquier sistema de fingerprinting [6][1][68][94][95][97][104][106][121] atiende a diferentes parámetros: • Robustez: Debe ser un sistema robusto, esto es, ser capaz de identificar una pieza de audio a pesar de las posibles distorsiones que pueda sufrir la misma. Así, las características perceptuales que se extraen deben ser invariantes ante estas eventualidades (compresiones al cambiar de formato, cambios en la calidad, conversiones AD/DA, transmisiones radiofónicas o incluso versiones en directo de las canciones). • Fiabilidad: Es necesario que las canciones se identifiquen de forma correcta. • Tamaño de los fingerprint: Los fingerprint se almacenarán en una base de datos cuyo tamaño está limitado a la memoria de un ordenador. El tamaño de los fingerprint debe ajustarse a este hecho. • Granularidad: Define la capacidad para identificar una canción a partir de pequeños fragmentos de ésta. • Velocidad de búsqueda y escalabilidad: La escalabilidad es uno de los parámetros más valorados en un sistema informático, indica la capacidad del mismo de realizar la función para lo que está diseñado a medida que aumenta el tamaño o dificultad del proceso. En este caso, una búsqueda en una base de datos debería tardar un tiempo del orden de milisegundos. En un entorno de identificación de audio por contenido, el fingerprinting se compone de dos procesos principales (véase Figura 19): la extracción del fingerprint y la búsqueda en la base de datos. Ambos procesos requieren el uso de algoritmos matemáticos adecuados a las circunstancias del problema planteado. La extracción del fingerprint incluye, primeramente, un front-end (responsable de recolectar los datos de entrada) de donde se extraen los fingerprint que más tarde se compactan en el modelo de fingerprinting para formar el fingerprint final. Por otra parte, el algoritmo de búsqueda se encarga de encontrar el fingerprint cuya coincidencia con el fingerprint dado sea mayor (best matching fingerprint). 20/81 Clasificación musical personalizada en función del estado de ánimo Figura 19. Esquema general de fingerprinting para identificación de audio (II). En la Figura 20 se describe el esquema general del front-end que, a grandes rasgos, se repite en cualquier sistema de fingerprinting y consta de varios procesos que se detallan a continuación. Figura 20. Esquema general de un sistema de fingerprinting. • Preprocesado: se preprocesa la señal convirtiéndola a un formato concreto (número de bits y frecuencia de muestreo determinados) para mejorar la precisión de los siguientes bloques o procesos. • Frames + Ventaneo: se divide la señal en frames temporales utilizando ventanas Hanning para suavizar la señal y evitar posibles oscilaciones a la hora de transformar la señal más tarde. • Transformar: se transforma la señal al dominio de la frecuencia, a pesar de existir diversas transformadas, por lo general, se utiliza la FFT (Fast Fourier Transform). • Extracción de características: se extraen diversas características teniendo en cuenta la forma en el que el sistema auditivo humano percibe el sonido, así por ejemplo es común en sistemas de fingerprinting analizar la cantidad de energía existente por cada banda crítica de frecuencia (bark) u obtener los MFCC que también están estrechamente relacionados con la forma en la que funciona el sistema auditivo. Se pueden extraer muchas otras características aparte de las mencionadas como se detalla en la Figura 21. Figura 21. Extracción de parámetros. • Post procesado: Las medidas obtenidas en la fase anterior, por ejemplo los MFCC, en este post procesado se derivan para conseguir así filtrar las posibles distorsiones o valores espurios. 21/81 Clasificación musical personalizada en función del estado de ánimo En este punto del proceso se dispone de una secuencia de características para cada uno de los frames (un vector de valores para cada frame), la cantidad de información (considerando que los frames comprenden intervalos de milisegundos) es considerable. Así, el modelo de fingerprinting se encarga de compactar esta información en un único vector, que tenga en cuenta todos los frames, utilizando técnicas como, por ejemplo, los modelos ocultos de Markov (HMM: Hidden Markov Model) [62][79]. Una vez se dispone de éste vector único, a través de él ya será posible encontrar la similitud entre vectores. El método de búsqueda que se utilice debe ser rápido, correcto, eficiente desde el punto de vista del uso de la memoria y fácil de actualizar (en caso de que fuera necesario). El análisis de similitud entre vectores se puede realizar con diversos métodos como, por ejemplo, la correlación o la entropía. 2.1.4. Descripciones de alto nivel (semánticas) Volviendo a la definición del apartado anterior (ver apartado 2.1.3.), y estableciendo un paralelismo con ella, las descripciones de alto nivel describen características generales que definen un sistema en lugar de sus componentes individuales (como ocurre con las descripciones de bajo nivel). Así, si antes se mencionaba el lenguaje ensamblador como un ejemplo de lenguaje de bajo nivel, ahora se puede hacer referencia a lenguajes como Perl o PHP; todos ellos lenguajes de alto nivel de abstracción entre éstos y la máquina. Al mismo tiempo, son lenguajes más fáciles de entender y utilizar por los humanos: son más intuitivos y más próximos al lenguaje natural. De igual forma, siguiendo con el paralelismo con el apartado anterior, la definición del chirrido como “sonido desquiciante” sería una definición de alto nivel. En el caso del audio y la música, son descripciones de alto nivel por ejemplo el género, los beats por minuto (BPM) o el estado de ánimo que la canción transmite. Estas características de una melodía tienen una interpretación directa y son las que, generalmente, un usuario utiliza para clasificar música o generar una playlist. Igualmente, son las que utilizaría, aunque no fuera plenamente consciente de ello, para crear una compilación que se llamara “Música para estudiar”. Así, en un caso habitual, esta compilación contendría canciones con pocos BPM, géneros próximos al Trip-Hop, Chill-Out o la música clásica (según preferencias) y transmitirían estados de ánimo que oscilarían entre la tranquilidad, el relax y la suavidad. Por otro lado, “One”, la canción que sirve como ejemplo a lo largo de los apartados de este trabajo, en función de estos descriptores de alto nivel, es una canción que pertenece al género del Metal que comienza como una balada para acabar, conforme transcurren sus nueve minutos, transformándose con riffs de guitarra llenos de energía. Obviamente, estos son conceptos fáciles de entender por las personas pero muy complicados de modelar para una máquina (el “salto” o compromiso que debe existir entre estas dos vertientes de pensamiento se conoce como intervalo semántico (semantic gap) y se define en el apartado 2.1.6. de este trabajo). Este problema surge porque estas descripciones semánticas hacen referencia a conceptos subjetivos y, en muchos casos, ambiguos: una canción puede transmitir diferentes emociones o ser clasificada en diferentes géneros dependiendo de la persona. Además, la asignación de estas descripciones, no se rige por patrones deterministas: no hay un correcto o incorrecto en el campo de la asignación de género, ni tampoco en el de la emoción asociada. Así, los algoritmos matemáticos que pueden utilizarse a la hora de extraer descripciones de bajo nivel de una melodía, no son útiles a la hora de tratar con las descripciones de alto nivel. En general, los usuarios prefieren las descripciones semánticas a la hora de buscar información. Por esta razón se necesitan métodos para describir un sonido y un mecanismo de clasificación y anotación automática [80][11]. Al mismo tiempo, para poder llevar esto a cabo, es necesario analizar cómo definen los usuarios un sonido o una canción y encontrar una forma de codificar esta información para que pueda ser procesada por máquinas de manera similar. Intentar establecer un compromiso entre 22/81 Clasificación musical personalizada en función del estado de ánimo estas dos vertientes supone solucionar el semantic gap antes mencionado, que es uno de los principales objetivos (y también uno de los principales problemas) de estas descripciones. Con el sonido, y más aún con la música, hay un hecho a tener muy en cuenta: una pieza musical es muy difícil de definir de manera precisa sin tener en cuenta factores subjetivos. Por lo tanto, son necesarios modelos computacionales que automaticen los métodos de anotar la información musical relevante a una canción. 2.1.5. Comparativa Ventajas Metadatos Fácil de insertar. Fácil de máquina. Descripciones de bajo nivel Hashing Inconvenientes Fácil de quitar. calcular No se puede comprobar, a priori, que las etiquetas estén asignadas de forma correcta. por una Útil para encontrar versiones exactamente iguales de una misma canción y para comprobar si un archivo ha sido alterado o modificado. Una canción en diferentes formatos (CD/MP3) genera diferentes archivos binarios y un cambio en un único bit genera un hash distinto. Sería necesaria una base de datos donde almacenar los hash asociados a todas las posibles versiones y formatos de una canción. Modifica la señal en la que se inserta (y en algunos casos puede hacerse audible). No requiere una base de datos. Necesita estandarizarse. Es independiente de la señal. Watermarking Si se distorsiona la señal también se distorsiona la marca Permite incluir información de de agua. copyright. A efectos de copyright, las señales originales tienen que tener ya la marca de agua para poder identificar las posibles copias en nuevas señales. 23/81 Clasificación musical personalizada en función del estado de ánimo No influye en absoluto señal, es imperceptible. a la No necesita estandarización. Necesita una base de datos y Tiene que ver directamente con ésta puede llegar a ser muy la señal, representa aspectos extensa y, por tanto, requerir un Fingerprinting perceptuales de la misma. alto coste computacional para recorrerla y buscar información Es robusto frente a distorsiones. en ella. Se puede combinar con las marcas de agua para también incluir información sobre el copyright. Descripciones de alto nivel Es la manera natural de los Son subjetivas y complicadas de usuarios de describir y buscar la modelar por algoritmos información. computacionales. 2.1.6. Problemas asociados Cualquier sistema de búsqueda de información por contenido tiene que enfrentarse, esencialmente a los tres problemas que se describen a continuación: • El sistema será utilizado por usuarios diversos, todos ellos tendrán diferentes criterios de búsqueda y éstos, a su vez, pueden ser diferentes a los criterios que se han utilizado al etiquetar o anotar la base de datos musical. Las diferencias podrán ser más o menos insalvables pero, en cualquier caso, siempre existirán. Especialmente en el caso de la música y las emociones dos usuarios pueden definir la misma emoción que les evoca una melodía con diferentes palabras aunque el significado final sea el mismo. • Otro problema a tener en cuenta es la gran cantidad de información existente. En nuestro caso nos limitamos a las quinientas canciones de una base de datos dada (CAL500) pero cabe tener en cuenta que el diseño debería ser extrapolable a una base de datos mayor, o incluso a grandes cantidades de información desconocidas a priori, por ejemplo, canciones de la radio • El tercer problema es lo que se conoce como intervalo semántico (semantic gap). Esto es, en nuestro caso, la “distancia” que existe entre la riqueza de vocabulario en la búsqueda (o la precisión de la misma) y la capacidad de poder describir o utilizar estos criterios computacionalmente. Así, debe existir un compromiso entre lenguaje natural y lenguaje computacional. De otro modo, es preciso establecer un vínculo entre las características perceptuales de una melodía (descripciones de bajo nivel) y sus descripciones semánticas más subjetivas y variables en función del usuario (descripciones de alto nivel). Esto se conoce como “bridge the semantic gap” que, traducido literalmente, significa “crear un puente en el intervalo semántico”. 24/81 Clasificación musical personalizada en función del estado de ánimo 2.2. Aspectos perceptuales y subjetivos El sonido se define como la sensación producida en el órgano del oído por el movimiento vibratorio de los cuerpos, transmitido por un medio elástico, como, por ejemplo, el aire. Las principales características físicas de un sonido son su amplitud (medida en decibelios [dB]), su frecuencia (medida de Hertz [Hz]) y su fase (en milisegundos). Por otro lado, la percepción es el proceso de interpretar o procesar la información recibida a través de los sentidos. Así, en este caso, el término aspectos perceptuales del sonido hace referencia a toda la información que se recibe a través del sentido del oído [107]. Es importante conocer el funcionamiento del sistema auditivo humano, así como los mecanismos del cerebro para procesar las señales acústicas que percibe, para definir los aspectos perceptuales más significativos de una melodía. Entre los principales aspectos perceptuales del sonido destacan: la altura, tonalidad o frecuencia percibida (pitch) y sus transiciones; la intensidad sonora percibida (loudness), el timbre, la duración (necesaria para establecer estructuras rítmicas), el contorno, las repeticiones o la dirección (posición de la fuente). La psicoacústica es la ciencia que estudia las principales características perceptuales del sonido (intensidad, tono y timbre), que, a su vez, están determinadas por los propios parámetros físicos del sonido (principalmente, frecuencia y amplitud). En otras palabras: estudia la relación entre los sonidos físicos y la interpretación del cerebro de los mismos. 2.2.1. Sistema auditivo humano Ya que los aspectos subjetivos del sonido se perciben a través del sistema auditivo el funcionamiento de éste influye en su percepción [49][61][110][18]. El oído está formado por tres partes: oído externo (capta el sonido del exterior), oído medio (lo amplifica) y oído interno (recibe las vibraciones que estimulan el nervio auditivo). Las características de esta última parte del oído son las que intervienen en la relación entre los parámetros físicos (intensidad y frecuencia) con los subjetivos (sonoridad y tonalidad). Según Zwicker [43], en la parte central del espectro audible el oído se comporta como un analizador harmónico de 24 bandas (bandas críticas) asociadas a las 24 parcelas de la membrana basilar (véase la Figura 22 y la Figura 23) o barks. Esta membrana tiene un máximo de vibración para cada frecuencia. Así, se define una banda crítica como la banda de frecuencias máxima capaz de excitar un bark de la membrana basilar. A frecuencias medias (entre 1000 Hz y 5000 Hz) estas bandas se corresponden aproximadamente a un tercio de octava. En estas bandas, cualquiera que sea la anchura de una banda de ruido contenida dentro de ellas, su sonoridad se mantiene constante (siempre y cuando la intensidad del ruido se mantenga también constante). La sonoridad aumenta cuando la banda del ruido es superior a la banda crítica. El ser humano es capaz de percibir frecuencias entre los 20 Hz y los 20 KHz, aunque no tiene una respuesta frecuencial lineal sino logarítmica. Esto implica que el pitch que se percibe dado un determinado sonido está relacionado con la frecuencia en función de una exponencial. Así, las escalas de Mel o Bark se basan en este hecho y se utilizan para estudios perceptuales del sonido (ambas tienen carácter logarítmico y modelan la percepción del sonido por el oído). De igual forma, en el campo de las escalas musicales, la escala más utilizada, la escala temperada, se basa en que la distancia entre cada uno de los doce semitonos es de 21/12, por lo tanto, multiplicar la frecuencia de un tono por 2 (212/12) implica subir 12 semitonos (una octava). En esta escala la nota de referencia es La4=440Hz; a partir de esta nota se construye la escala en la que el intervalo entre notas consecutivas es 21/12. Así, por ejemplo, el siguiente semitono de La4 es Si bemol, cuya frecuencia se calcula así: 440*21/12=466Hz. 25/81 Clasificación musical personalizada en función del estado de ánimo Figura 22. Oído humano esquema general y detalle de la membrana basilar. Figura 23. Distribución de las frecuencias en la membrana basilar. En cuanto a la intensidad sonora percibida (loudness) el margen dinámico abarca desde los 0dB hasta el umbral del dolor que por lo general se establece alrededor de los 120dB, auque no se puede definir con precisión ya que varía en función de la exposición a este alto nivel (una persona expuesta momentáneamente a niveles de 120dB puede no sufrir ningún daño en su oído mientras que expuesta a un nivel continuo de 90dB podría causarle perdida de audición, así como otros efectos nocivos en la salud [99]). La sonoridad (loudness) se relaciona con la presión sonora (dB) y la frecuencia a través de las curvas isofónicas de Robinson y Dadson [23] que representan puntos con la misma sonoridad (véase la Figura 24). Figura 24. Curvas isofónicas. Por otro lado, la tonalidad (o altura tonal o pitch) es la sensación de frecuencia que permite calificar un sonido como grave o agudo. La tonalidad depende principalmente de la frecuencia pero también es función de la intensidad. La unidad que valora esto es el 26/81 Clasificación musical personalizada en función del estado de ánimo Mel (gracias al que se establece la escala de Mel que se define más adelante). La dependencia entre tonalidad y frecuencia tampoco es lineal (la sensación de una octava no coincide en general con el doble de la frecuencia). Esta relación se puede apreciar en la Figura 25. Así, un aumento en la intensidad sonora provoca un aumento de la tonalidad de los agudos pero baja los graves. Figura 25. Relación Hertz-Mel. Analizando con un sofware de edición digital como Audacity [10] dos canciones radicalmente diferentes como son “One” (Metallica) y “Don’t Know Why” (Norah Jones) a simple vista, observando su forma de onda (véase la Figura 26 y la Figura 27), se puede apreciar como “One” es una canción con mucho más nivel (dB) que “Don’t Know Why”, pero de la observación de ésta forma de onda no puede obtenerse mucha más información. Audacity permite también dibujar el espectro de un minuto de la melodía (véase la Figura 28). Comparando estas dos canciones, se observa que en “One” hay más presencia de altas frecuencias y que, en general, el nivel es superior a “Don’t Know Why”. En la Figura 28 aparecen los espectros frecuenciales tomando en primer lugar la frecuencia lineal (izquierda) y después la logarítmica (derecha). El análisis frecuencial logarítmico es útil en análisis musicales o de voz ya que el oído, como se ha explicado anteriormente, no tiene una respuesta frecuencial lineal sino logarítmica. Así, un primer paso para modelar como percibe el sistema auditivo humano el sonido, es describir modelos matemáticos que representen su respuesta logarítmica. Se definen así, al final de este apartado, las escalas de Mel y Bark. Figura 26. Forma de onda de “One” Figura 27. Forma de onda de “Don’t Know Why” 27/81 Clasificación musical personalizada en función del estado de ánimo Figura 28. Comparación de analísis frecuenciales de “One” (morado) y “Don’t Know Why” (azul) Realmente, y aunque no sea habitual, la representación de un sonido o melodía para reflejar todos sus aspectos debería tener forma tridimensional en la que sus tres ejes serían: amplitud, frecuencia y tiempo. A pesar de ello, lo más habitual es establecer representaciones en función de los tres diferentes planos que estas dimensiones definen: • • • Plano dinámico: formado por amplitud y tiempo (Figura 26 y Figura 27). Plano harmónico: formado por amplitud y frecuencia (Figura 28). Plano melódico: formado por la frecuencia y el tiempo. Respectivamente, las proyecciones del sonido sobre estos planos definen los siguientes conceptos: oscilograma, espectrograma y sonograma. De todos ellos, el sonograma en el plano melódico constituye la representación más completa de un sonido ya que analiza la evolución continua del espectro en el tiempo teniendo así en cuenta la entonación y el ritmo. Pero, de la misma forma, la característica que se deriva de relacionar frecuencia y tiempo (el timbre) es la más compleja de analizar de un sonido ya que implica procesar frecuencialmente la señal y sus variaciones a lo largo del tiempo y esto conlleva mayor coste computacional. Escala de Mel Como ya se ha introducido anteriormente, el comportamiento del sistema auditivo humano puede modelarse con una serie de bandas críticas, en este caso estas bandas se conocen como bandas de Mel. Se basan en la escala de frecuencias de Mel, esta escala es lineal para las frecuencias bajas (inferiores a 1000 Hz) y logarítmica para las altas (por encima de 1000 Hz). Esta escala se utiliza especialmente en sistemas de reconocimiento automático de la voz y, por extensión, en sistemas de reconocimiento y análisis musical. En ambos ámbitos se utiliza esta escala para calcular los coeficientes cepstrales en las frecuencias de Mel (más conocidos como MFCC derivado de su nombre en inglés: Mel Frequency Cepstral Coefficients). Así, para convertir de Hertz (f) a Mel (M) se utilizan las siguientes expresiones: Para frecuencias inferiores a 1000 Hz: Para frecuencias superiores a 1000 Hz: M= f f M = fc·1 + log10 , donde fc son 1000 Hz. fc Escala de Bark Es una escala psicoacústica que modela el comportamiento del oído humano dividiéndolo en 24 bandas críticas (bark) que representan la respuesta del oído a cada una de las frecuencias. Estas bandas son más estrechas a frecuencias bajas que a altas ya que el oído humano distingue mejor las frecuencias bajas. De hecho, en esta baja percepción (o capacidad de discernir) entre las frecuencias altas es en lo que se basa la compresión 28/81 Clasificación musical personalizada en función del estado de ánimo que se utiliza, por ejemplo, en el formato MP3. Las frecuencias en Hertz que limitan estas bandas son las siguientes: 0, 100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500. La conversión de Hertz (f) a Bark (B) sigue la siguiente expresión: f f −1 B = 13·tan −1 + 3.5·tan 1315.8 7518 2.2.2. Aspectos perceptuales de una melodía La música está compuesta por aspectos puramente perceptuales (altura, sonoridad y timbre) [107], aspectos acústicos o físicos (frecuencia, amplitud y fase) y aspectos musicales (tono, nota y timbre) [15]. En este apartado se definen los tres principales aspectos perceptuales de una melodía que se introdujeron en el apartado anterior (altura (pitch), sonoridad (loudness) y timbre) así como otros aspectos o parámetros asociados a ellos individual o conjuntamente [27][56][46]. Éstos últimos hacen referencia más directa a la organización de la música y los primeros a los componentes de la misma. • Altura (pitch): La altura es la frecuencia fundamental percibida, mediante la que se pueden ordenar una serie de sonidos de más grave (menor frecuencia) a más agudo (más frecuencia). Esta es una labor sencilla si el análisis se trata únicamente de tonos puros o instrumentos independientes, pero en el caso de la música, en la que intervienen muchos instrumentos que varían su pitch a lo largo de la canción en menor o mayor medida, no es algo tan trivial. Por ejemplo, en “One” la voz es más grave en los primeros versos que al final. En general, cuánto más bajo sea el pitch el ambiente que crean las canciones es más “oscuro”: transmite tensión y menos energía. Si el pitch es disonante también transmite tensión o inquietud. • Sonoridad (loudness): Es la percepción subjetiva de la intensidad sonora. En el caso de la música, una parte de esta sonoridad es el resultado de los ajustes que se hayan realizado en la producción y postproducción de una canción, y otra, la que puede ajustar el usuario al escucharla (tanto en cuestión de volumen como de ecualizaciones). Una intensidad sonora percibida alta, en general, transmite energía aunque, de la misma forma, si el sonido resulta desagradable para el oyente, transmitirá crispación. • Timbre: El timbre permite diferenciar entre dos instrumentos diferentes que tocan la misma nota al mismo volumen. También se define como calidad sonora. Depende de la cantidad de harmónicos de un sonido y la intensidad de los mismos. El termino color tonal, muy extendido en las valoraciones y análisis musicales, depende del timbre. Por ejemplo, si hay presencia de muchos tonos puros se transmite calma pero cuanto más harmónicos haya se transmite más tensión. • Tempo: El tempo es la velocidad de una pieza musical. En las partituras de música clásica se indica con términos en italiano que hacen referencia a lo que en la música moderna son los beats-per-minute (BPM). Así, una pieza marcada como Allegro equivaldría a tener unos 120 a 170 BPM. Cuánto mayor tempo, más rápida es una canción. Si el tempo es irregular a lo largo de una melodía aumenta la tensión o crispación que evoca. • Ritmo: El ritmo es la proporción guardada entre el tiempo de un movimiento y el de otro diferente. Se aprecia este concepto fácilmente en los ritmos que se pueden establecer con una batería donde los BPM del bombo tienen una cadencia diferente a los de la caja o los platos pero que en conjunto establecen un patrón rítmico. Por ejemplo: Bombo-Caja-Caja-Bombo. 29/81 Clasificación musical personalizada en función del estado de ánimo • Armonía: El término armonía hace referencia al uso de diferentes pitch y notas simultáneamente. Asimismo, la progresión armónica analiza el cambio de un pitch a otro. • Melodía: Una melodía es un conjunto de sonidos que comprendiendo diferentes pitch, timbres y tempos se perciben con sentido propio, de la misma manera que en el lenguaje elementos independientes (adjetivos, artículos, verbos, etc.) forman una oración. La melodía en la música sería el equivalente a una oración correctamente construida en el lenguaje. 30/81 Clasificación musical personalizada en función del estado de ánimo 2.3. Aspectos semánticos La utilización de metadatos a la hora de buscar música (artista, título, etc.) en muchos casos es insuficiente para que los usuarios encuentren música que pueda interesarles. Redes como last.fm aportan una nueva visión y mayores opciones para solucionar este problema. Estas redes se basan, por ejemplo, en recomendar al usuario música que ha sido etiquetada de forma similar a la que este usuario escucha con más frecuencia, o vincularle a otros usuarios con gustos similares a los suyos. Aún así, los criterios que utiliza last.fm (u otras redes similares), están generalmente basados en metadatos. Sin embargo, poder extraer descriptores semánticos de una melodía de forma automática ofrecería nuevas posibilidades tanto para organizar colecciones de música como para generar compilaciones o listas de reproducción. Esto sería posible ya que los usuarios organizan, mental y, en muchos casos, inconscientemente, sus colecciones musicales en función de estas descripciones de alto nivel. 2.3.1. Género musical Como se ha explicado anteriormente, el género musical es un ejemplo de descriptor semántico. De hecho, la estrategia más extendida para ordenar la música físicamente en las tiendas (aparte del orden alfabético) se basa en el género al que pertenecen los diferentes discos. La clasificación musical más global es la que divide la música en Clásica y Popular. Seguidamente, y especialmente dentro de la música Popular, se establece una lista general de géneros y subgéneros (o estilos), y es a partir de aquí donde las subdivisiones en subgéneros se hacen más extensas creciendo prácticamente cada día gracias a nuevos grupos que revindican un nuevo estilo que ellos mismos acaban de inventar y bautizar. Por ejemplo, dentro del Metal existen muchísimas subcategorías (Black, Death, Doom, Gothic, Thrash, etc.) y a su vez dentro de estas existen otras subdivisiones y la lista sigue convirtiéndose en algo similar a las muñecas rusas. En la Figura 29 puede apreciarse un esquema general de géneros y subgéneros de la música Popular. Este esquema está basado, en gran medida, en la clasificación que establece AllMusic, en la que se especifican los géneros más importantes (en rojo y letra más grande), los subgéneros dentro de éstos (en verde) y una selección de subgéneros representativos relacionados con los anteriores (en rojo y letra pequeña). La música, en general, se agrupa en géneros por sus características musicales (utilización de instrumentos y ritmos) o armónicas que las diferentes piezas comparten o, incluso, regiones geográficas de las que provienen. Aunque, muchas veces, se da el caso de grupos que se asignan por defecto a un género debido a que sus primeros discos pertenecían a éste pero con el tiempo han evolucionado a otro género completamente diferente. Hechos como este no se tienen en cuenta: no es habitual encontrar discos de un artista repartidos por diferentes secciones de una misma tienda. Así, el criterio del género tiene una vertiente altamente subjetiva. Existen trabajos, como el realizado en Islands Of Music [44] que basan la clasificación por género en aspectos puramente musicales, que permiten minimizar este problema. Otros ejemplos de trabajos similares a Islands Of Music se desarrollan en [25] y [70]. 31/81 Clasificación musical personalizada en función del estado de ánimo Figura 29. Esquema general de géneros y subgéneros principales. Buscando “One”, la canción que sirve de ejemplo a lo largo de este trabajo, en las redes de AllMusic y last.fm se obtienen clasificaciones similares en cuanto a género (véase la Figura 30 y la Figura 31). En el caso de AllMusic no se permite analizar el género de una canción independientemente; en la Figura 30 aparece el género asociado al álbum al que pertenece “One” (“...And Justice For All”). En el caso de last.fm se permite analizar independientemente las canciones. Así, lo que aparece en la Figura 31, son todas las etiquetas asociadas a esta canción donde las que aparecen en mayor tamaño son las más utilizadas por los usuarios. Figura 30. Géneros asociados a “One” en AllMusic. Figura 31. Etiquetas referentes a género asociadas a “One” en Last.fm 2.3.2. Estado de ánimo Por otro lado, otro ejemplo de descriptor semántico es el estado de ánimo que una canción transmite. Para encontrar un método de ordenar o estructurar la extensa variedad de estados de ánimo que puede llegar a experimentar una persona, y las diversas formas de expresarlos, es necesario tener una referencia en la que estén todas las palabras organizadas. Así, es extremadamente útil una red semántica como Wordnet [123] que organiza el conocimiento del mundo y constituye una enorme base de datos léxica. Un factor a tener en cuenta es que el lenguaje humano es muy extenso y que las formas de explicar la misma idea pueden diferir notablemente entre una persona y otra. Por ejemplo: podría ocurrir que un usuario (o administrador de una base de datos), etiquete o anote una canción con palabras referentes a la emoción. Seguidamente, puede que otro usuario utilice otras palabras distintas para buscarla y no aparezca esta canción en su búsqueda. Probablemente el significado de su búsqueda y la descripción con que la 32/81 Clasificación musical personalizada en función del estado de ánimo canción está etiquetada sean equivalentes pero estén expresados con diferentes palabras. Se debe encontrar un compromiso entre cómo etiquetar o anotar la información y las opciones de búsqueda que se pueden ofrecer [37]. Este acuerdo no puede ser determinista; ya que no hay un bien o mal rotundo en ninguno de los dos casos. Es importante estructurar el lenguaje para poder tener en cuenta las diferentes formas de explicar las mismas ideas porque el lenguaje no es preciso, existen muchas opciones para transmitir un mismo mensaje empleando palabras diferentes. En esta labor intervienen los conceptos de ontología y taxonomía que se definen en el apartado siguiente. 2.3.3. Ontología y taxonomía El término taxonomía hace referencia a la ciencia que trata de los principios, métodos y fines de la clasificación. Asimismo, taxonomía es un sinónimo de clasificación. En su origen se aplicaba exclusivamente en el campo de la biología para referirse a la ordenación jerarquizada y sistemática, con sus nombres, de los grupos de animales y de vegetales. Actualmente se aplica a muchas y diversas áreas. En una taxonomía los conceptos se agrupan desde los grupos (o tipos) más generales a subgrupos (o subtipos). Así, por ejemplo, una guitarra eléctrica es un tipo de guitarra que al mismo tiempo es un tipo de instrumento de cuerda que está dentro de los instrumentos musicales (véase la Figura 32). Todas las guitarras eléctricas son instrumentos musicales pero no todos los instrumentos musicales son guitarras eléctricas. Si se continuara la lista anterior se llegaría a la entidad base de la guitarra que es la de ser un objeto (véase la Figura 37). Figura 32. Taxonomía general de “guitarra eléctrica”. La ontología es la parte de la metafísica que trata del ser en general y de sus propiedades trascendentales, es un estudio de las diferentes concepciones de la realidad y la naturaleza de la misma. Aunque, esta definición de diccionario anterior, no deja suficientemente claro a qué hace referencia el término ontología. La ontología estudia las categorías de cosas que existen, o pueden existir, en un dominio (o campo de la realidad) determinado. El resultado de este estudio o análisis es lo que se considera una ontología: un catálogo de tipos de cosas que se asume que existen en un determinado dominio de interés X desde la perspectiva de una persona que utiliza un lenguaje Y para hablar sobre Z. En el contexto de este trabajo, X sería la música, Y sería, por ejemplo, el Castellano y Z la emoción transmitida. Los diferentes tipos en la ontología representan los significados de las palabras, conceptos o relaciones entre ellos. Una ontología formal organiza los conceptos, y las relaciones entre los mismos, estableciendo una estructura taxonómica de tipos y subtipos y definiendo una jerarquía entre ellos. Los principales usos que se dan a la ontología en el ámbito de la tecnología y la informática están relacionados con aplicaciones de inteligencia artificial (AI: Artificial Intelligence) o webs semánticas (Semantic Web [113]). 33/81 Clasificación musical personalizada en función del estado de ánimo Taxonomía y ontología son dos términos relacionados pero que hacen referencia a conceptos distintos. Las diferencias entre ambos radican principalmente en dos aspectos: • Una ontología posee una estructura interna más compleja que una taxonomía ya que no sólo se ocupa de la clasificación de los elementos sino también de las relaciones entre ellos. • Una ontología representa un consenso del conocimiento o los conceptos referentes a un determinado área. Por ejemplo, en este caso, gracias a una taxonomía se podrían clasificar las palabras referentes a los estados de ánimo (principalmente adjetivos), instrumentos y usos de las diferentes canciones. Y después, gracias a una ontología, se podrían vincular éstas diferentes ramas (estados de ánimo, instrumentos, usos) con, por ejemplo, los géneros musicales. Así, esta ontología sería válida para un determinado área: el de relacionar música y estados de ánimo. Bases de datos léxicas y semánticas informatizadas como por ejemplo Wordnet, Cyc [22] o ConceptNet [63] se basan en los conceptos de ontología y taxonomía para organizar la información. Wordnet Wordnet relaciona los dos conceptos descritos en el apartado anterior: taxonomía y ontología. Wordnet es una base de datos léxica o diccionario léxico desarrollado por George A. Miller y el Laboratorio de Ciencia Cognitiva de la Universidad de Princeton. Agrupa nombres, verbos, adjetivos y adverbios de la lengua Inglesa en grupos de sinónimos (llamados synsets) donde cada uno de ellos expresa un concepto diferente. Wordnet provee de una base de datos léxica a un gran número de analizadores de texto basados en inteligencia artificial y aplicaciones similares y, asimismo, sirve de diccionario ya que puede accederse a él online y también descargarse gratuitamente. Los synsets se agrupan en nombres, verbos, adjetivos y adverbios ya que todos ellos siguen reglas gramaticales diferentes. Todos estos synsets se vinculan a otros synsets diferentes a través de relaciones semánticas que varían en función del tipo de palabra. Así, tomando el ejemplo del apartado anterior (el nombre "guitarra eléctrica") y analizándolo en Wordnet se obtienen distintas informaciones sobre las que se muestra seguidamente una pequeña definición para cada una de ellas: • Hiperónimo (hypernym): Palabra cuyo significado incluye al de otra u otras. A es hiperónimo de B si todos los B son (un tipo de) A. Por ejemplo, flor (A) es hiperónimo tanto de margarita (B) como rosa (B). • Hipónimo (hyponym): Palabra cuyo significado está incluido en el de otra. A es hipónimo de B si todos los A son (un tipo de) B. Margarita (A) es hipónimo de flor (B). • Holónimo (holonym): A es holónimo de B si B es una parte de A. Así margarita (A) es holónimo de tallo (B) • Meronimo (meronym): A es merónimo de B si A es una parte de B. Así, tallo (A) es merónimo de margarita (B). • Coordinate terms (términos coordinados): A es un coordinate term de B si B y A comparten un hiperónimo. Rosa (A) y margarita (B) son coordinate terms porque comparten el hiperónimo flor. En primer lugar al buscar "electric guitar" en Wordnet se obtiene simplemente su significado (véase Figura 33). 34/81 Clasificación musical personalizada en función del estado de ánimo Figura 33. Significado de guitarra eléctrica. A partir de aquí se permite visualizar diferentes opciones (véase Figura 34): Figura 34. Menu para la palabra buscada. Synonyms (véase Figura 35): Muestra los sinónimos de la palabra (en este caso no hay) y analiza los synsets que forman la palabra (si es una palabra compuesta como es el caso de "electric guitar") quedándose el synset de mayor ocurrencia (en este caso guitarra, guitar). Figura 35. Sinónimos de guitarra eléctrica. Coordinate terms (véase Figura 36): Muestra el hiperónimo inmediato (guitarra) así como los hipónimos de éste último (guitarra acústica, bajo, etc.). Figura 36. Coordinate terms de guitarra eléctrica. Hypernyms (electric guitar is a kind of...): Muestra el árbol de hiperónimos. Como se puede apreciar los primeros niveles coinciden con los detallados en la Figura 32 que mostraba una taxonomía básica (véase la Figura 37). Figura 37. Hiperónimos de guitarra eléctrica. Meronyms (parts of electric guitar): Muestra los merónimos tanto de la palabra buscada como de sus hiperónimos (véase la Figura 38). 35/81 Clasificación musical personalizada en función del estado de ánimo Figura 38. Merónimos de guitarra eléctrica. Disponiendo de una base de datos semántica tan extensa como esta, podría parecer sencillo, a simple vista, establecer un sistema mediante el que un usuario pudiera introducir un texto en el que reflejara su estado de ánimo, con mayor o menor grado de precisión, y que una interfaz, basada en Wordnet, analizara cada una de las palabras a fin de encontrar una coincidencia en los resultados y ofrecer así una lista determinada de canciones. Aún consiguiéndolo, lo posible sería extraer una emoción de ese texto pero, ésta no estaría vinculada a ninguna canción en particular. Para que pudiera vincularse a la música, las diferentes canciones deberían estar etiquetadas con emociones y, teniendo en cuenta lo amplio y poco preciso muchas veces del lenguaje, es posible que las coincidencias entre las emociones etiquetadas y las extraídas del texto introducido por el usuario fueran inexistentes aunque éstas representaran la misma emoción (o emociones diferentes que compartieran hiperónimos). Aún así, aplicaciones desarrolladas como mysoundtrack [101] han conseguido un objetivo similar. Buscando en Wordnet los conceptos música y emoción, y analizando su complejidad, es comprensible la dificultad que entraña establecer algún vínculo exclusivamente semántico entre ellos. En las figuras 39, 40 y 41 se puede constatar este hecho. En la primera aparecen los hiperónimos relacionados con música y en las segundas la extensa lista de términos coordinados a emoción (coordinate terms) y su lista reducida de hipónimos (cuya extensa lista completa aparece en la Figura 42). Resulta en muchos casos más sencillo trazar estos hilos conceptuales entre ambos términos de forma subjetiva o incluso científica como se explica en el apartado siguiente. Figura 39. Hiperónimos de música. Figura 40. Coordinate terms de emoción 36/81 Clasificación musical personalizada en función del estado de ánimo Figura 41. Lista reducida de hipónimos de emoción. 37/81 Clasificación musical personalizada en función del estado de ánimo Figura 42. Lista completa de hipónimos de emoción. 38/81 Clasificación musical personalizada en función del estado de ánimo 2.4. Emociones y música 2.4.1. Introducción Si se representara una canción en función de las emociones que produce, ésta podría considerarse un punto en el espacio multidimensional de las emociones. Además, la música es un lenguaje universal capaz de expresar emoción y es, probablemente, esa universalidad lo que convierte en compleja la labor de detectar la emoción en la música de forma automática. Es complicado clasificar música por los estados de ánimo que evoca porque los estados de ánimo, o la relación que puede vincularlos con una lista determinada de canciones, es algo subjetivo y no es posible estandarizarlo de ninguna forma. No hay una manera determinista de vincular estados de ánimo y canciones. Aún así, aunque haya un alto componente subjetivo a la hora de asociar música y estado de ánimo, se puede establecer una relación entre los sonidos y la influencia que éstos causan en el que escucha basándose en los efectos que tienen las diferentes frecuencias del sonido en el cerebro. Las características que afectan a la percepción de la emoción están asociadas con la frecuencia central, la disonancia espectral y la tonalidad pura [74][31][9]. La percepción de la emoción en la música es subjetiva: depende del estado de ánimo del oyente, la personalidad y muchos otros parámetros subjetivos difícilmente mesurables. Aún así, Allmusic, por ejemplo, asigna adjetivos que hacen referencia a los estados de ánimo a la música (la lista completa de éstos puede verse en la Figura 43). Aunque, las asignaciones categóricas de una única emoción a una canción son imposibles. No es algo determinista ni el análisis de las emociones ni el análisis musical. No todo el mundo comparte el mismo sentimiento por una canción, ni una canción tiene porque evocarle el mismo sentimiento a cualquiera que la escuche. Y, por otro lado, la emoción que transmite una canción puede variar dentro de la misma. Cuando se dispone de gran cantidad de cualquier tipo de información, siempre es complicado buscar a través de ella y encontrar exactamente lo que se está buscando; como ya se ha explicado a lo largo de los anteriores apartados de este trabajo. Lo habitual es utilizar metadatos [124], tanto para buscar como para organizar la información. Aunque la existencia de los metadatos, o la verificación de los mismos, requiere un conocimiento previo de la base de datos. Para organizar las canciones por estado de ánimo se prescinde de los metadatos, ya que un estado de ánimo no atiende, ni se limita, a un único género o artista. Por otro lado una organización por estado de ánimo constituye una herramienta útil a la hora organizar la música. ¿Cuántas veces un usuario sabe perfectamente que serie de canciones querría escuchar porque está triste o contento? La gran mayoría de los sistemas existentes que organizan colecciones musicales se concentran en la clasificación de manera determinista, no la consideran algo dinámico y adaptativo. Acerbic Aggressive Ambitious Amiable/Good-Natured Angry Angst-Ridden Atmospheric Austere Autumnal Bitter Bittersweet Bleak Boisterous Brash Brassy Bravado Bright Brittle Brooding Calm/Peaceful Campy Carefree Cathartic Cerebral Cheerful Confrontational Crunchy Cynical/Sarcastic Delicate Detached Difficult Distraught Dramatic Dreamy Druggy Earnest Earthy Eccentric Eerie Effervescent Elaborate Elegant Energetic Enigmatic Epic Ethereal Exciting Exuberant Fierce Fiery Giddy Gleeful Gloomy Greasy Gritty Gutsy Happy Harsh Hedonistic Hostile Humorous Hungry Hypnotic Indulgent Innocent Insular Intense Intimate Ironic Irreverent Joyous Knotty Laid-Back/Mellow Lazy Light Meandering Melancholy Menacing Messy Naive Nihilistic Nocturnal Nostalgic Ominous Organic Outraged Outrageous Paranoid Party/Celebratory Passionate Pastoral Plaintive Playful Poignant Precious Provocative Quirky Rambunctious Ramshackle Raucous Reserved Restrained Reverent Rollicking Romantic Rousing Rowdy Rustic Sad Sardonic Searching Self-Conscious Sensual Sentimental Sexual Sexy Silly Sleazy Slick Smooth Snide Soft Somber Soothing Sophisticated Spooky Sprawling Springlike Stately Street-Smart Stylish Suffocating Sugary Summery Swaggering Sweet Tense/Anxious Theatrical Thoughtful Thuggish Trashy Trippy Uncompromising Unsettling Urgent Visceral Volatile Warm Weary Whimsical 39/81 Clasificación musical personalizada en función del estado de ánimo Circular Clinical Cold Complex Confident Fractured Freakish Freewheeling Fun Gentle Literate Lively Lush Malevolent Manic Rebellious Reckless Refined/Mannered Reflective Relaxed Spacey Sparkling Sparse Spicy Spiritual Wintry Wistful Witty Wry Yearning Figura 43. Estados de ánimo (moods) de AllMusic. Hay estudios que afirman que es posible definir la personalidad de cada individuo en función del estilo que prefiere así, por ejemplo, basándose en esta teoría la Universidad de Texas ha desarrollado el test STOMP (Short Test Of Music Preferences) [102]. También pueden citarse como ejemplo los estudios y análisis realizados por Daniel Levitin (director del Laboratory Of Music Perception) en su libro This Is Your Brain On Music. En cualquier caso, todos los estudios concluyen que es el tono de la música el que lo vincula a una emoción determinada (ya que tanto el tono como las emociones se procesan en el mismo hemisferio cerebral); es este el mismo motivo que justifica que el 80% de la compresión de la emoción que se transmite en un mensaje hablado (aún si entender el idioma de quien habla) se percibe a través del tono del mismo. Está demostrado que la música puede inducir importantes cambios físicos y psicológicos. Afecta a variables como el latido del corazón, el pulso, la presión sanguínea, la resistencia eléctrica de la piel (respuesta galvánica), sudor, respiración y ondas cerebrales. La música modifica los niveles de dopamina, adrenalina, noradrenalina y serotonina; todas ellas hormonas que afectan directamente en el estado de ánimo. Todas estas hormonas que el cerebro segrega de forma natural sometido a diversos estímulos en muchos casos son denominadas sustancias (o drogas) endógenas. De la misma forma, hay aplicaciones como i-doser [65] que generan ondas sonoras capaces de inducir sensaciones físicas y psíquicas que, según prometen, provocan en quien las escucha el efecto de determinadas drogas o medicinas. Después de muchos años de investigación, en muchos campos y áreas de la ciencia y la medicina, el cerebro aún sigue siendo un gran desconocido. Aún así, ciencias como la neurociencia y la musicología estudian el efecto de la música sobre él, y por extensión, sobre las personas. A éstas se podría sumar la musicoterapia que utiliza estos efectos con fines terapéuticos. 2.4.2. Modelos para estructurar las emociones Durante décadas, diversos psicólogos han estudiado y diseñado modelos para estructurar las emociones humanas. Seguidamente se detallan tanto los nombres y trabajos más significativos de algunos de ellos como los esquemas de algunos de sus modelos para clasificar las emociones humanas en función a una serie de criterios o parámetros. De la misma forma, se enumeran trabajos basados en estos modelos. Paul Ekman Paul Ekman es uno de los primeros psicólogos que se ha dedicado a establecer un paralelismo entre las emociones humanas y las expresiones faciales. Considerando que las expresiones faciales no están determinadas social ni culturalmente sino biológicamente, este criterio para clasificar las emociones puede ser aplicado universalmente. Las seis emociones que se establecen en esta clasificación son: tristeza (sadness), ira (anger), asco (disgust), alegría (joy), sorpresa (suprise) y miedo (fear). Paul Ekman también desarrolla el FACS [103] (Facial Action Coding System) junto a Wallace Friesen en 1976 para clasificar todas las expresiones faciales concebibles. Este sistema se utiliza ampliamente en el campo de la psicología, e incluso la animación, ya que analiza las expresiones de las diferentes emociones en todo su amplio abanico de posibilidades. Así, por ejemplo, suponiendo la animación de un personaje que interpretara “One”, para poder transmitir la letra de la canción fielmente, su expresión 40/81 Clasificación musical personalizada en función del estado de ánimo facial debería expresar fundamentalmente ira, aunque esta ira estaría fusionada tanto con la tristeza como con el miedo. Robert E. Thayer En el modelo de Thayer para clasificar las emociones éstas se ubican en un sistema de ejes en el que las abscisas determinan la tensión (stress) y las ordenadas la energía (energy). La tensión varía entre ansiedad y calma y la energía entre cansancio y energia. El eje de la tensión también se considera eje de valencia, variando esta de negativa a positiva. Se definen así cuatro regiones: satisfacción (contentment), depresión (depression), exuberancia (exuberance) y ansiedad o frenetismo (anxious/frantic); véase la Figura 44. Así, cada punto del plano es un estado de ánimo o emoción diferente. Si analizáramos cualquier canción bajo este sistema, ésta estaría en un punto diferente estando más próximas las que transmitieran o se relacionaran con el mismo estado de ánimo o emoción. Este modelo es el que utilizan aplicaciones como musicovery [96] (véase Figura 45). Según Thayer las personas se sienten mejor cuando se combina calma y energía y peor al tener un estado de tensión y estar cansados (poca energía). "One" podría ubicarse, por ejemplo, donde aparece una cruz roja en la Figura 44, entre el frenetismo y la depresión. Es así como también la sitúa musicovery como puede apreciarse en la Figura 45. Además de musicovery, numerosos trabajos utilizan este modelo, como por ejemplo los desarrollados en [17][120][125][126][127] o [84]. Figura 44. Modelo de Thayer de las emociones. 41/81 Clasificación musical personalizada en función del estado de ánimo Figura 45. “One” en musicovery. Albert Mehrabian Albert Mehrabian desarrolla el modelo temperamental PAD, en él se describen los grados de las emociones en función de tres dimensiones consideradas independientes. Estas tres dimensiones son, al mismo tiempo, las que dan lugar a las siglas PAD: pleasuredispleasure (P), arousal-nonarousal (A) y dominance-submissiveness (D). P distingue estados emociones positivos de negativos; A hace referencia a la combinación de actividad física y alerta mental y, por último, D se define en términos de controlar o no una situación dada. Así, por ejemplo, el enfado es un estado mental bajo en P, alto en A y, según el caso, alto o bajo en D. En el caso de la música este modelo tendría utilidad especialmente en los conceptos de P y A más que en D. Kate Hevner Kate Hevner [73] define un círculo de adjetivos para caracterizar las emociones. Este modelo junto con el de Thayer son los más extendidos y utilizados en aplicaciones que tienen que ver con emociones y música. Los parámetros musicales están mapeados en un círculo de conceptos emocionales. Se dividen los adjetivos en ocho grupos, tal y como aparece en la Figura 46. Los ocho grupos se han colocado en el plano definido por Thayer para relacionar ambos modelos con facilidad. En una pieza musical hay factores que tienen que ver en que una canción transmita o evoque estos adjetivos, entre todos estos factores se pueden destacar, como ya se ha explicado anteriormente: modo, tempo, pitch, ritmo, armonía y melodía. Este modelo se utiliza junto con el de Thayer descrito anteriormente en trabajos como [16][24][35]. 42/81 Clasificación musical personalizada en función del estado de ánimo Figura 46. Círculo de adjetivos de Kate Hevner en los ejes de Thayer. Paul R. Farnsworth Farnsworth, en 1969, establece diez grupos de adjetivos basándose en los que había definido Kate Hevner años antes en su círculo de adjetivos aunque eliminando algunos de ellos. En [117] se desarrolla un sistema utilizando los adjetivos de Farnsworth junto con los definidos por Hevner. Tellegen y Watson Tellegen y Watson definen un modelo psicológico en el que situar las emociones. En este caso, de forma similar a la utilizada en los modelos anteriores, se separan los posibles adjetivos para calificar emociones en grupos y estos se reparten en un plano. Tellegen y Watson utilizan dos ejes para definir este plano. Las abscisas determinan la cantidad de afecto negativo y las ordenadas de afecto positivo. Se puede apreciar el esquema en la Figura 47. Figura 47. Modelo de Tellegen y Watson. 43/81 Clasificación musical personalizada en función del estado de ánimo Otros modelos Más allá de los enumerados existen otros modelos diferentes; ejemplos de ellos se pueden encontrar en diversos trabajos y aplicaciones [109][51][119]. También se pueden encontrar trabajos en los que se combinan varios de los modelos mencionados [100][42]. 44/81 Clasificación musical personalizada en función del estado de ánimo 2.5. Base de Datos: CAL500 2.5.1. Descripción de la base de datos En la realización de este trabajo se utiliza la base de datos Computer Audition Lab 500Song (CAL500) realizada por el Computer Audition Laboratory [21] de la Universidad de California en San Diego por Douglas Turnbull, Luke Barrington, David Torres y Gert Lanckriet en 2007. CAL500 está formada por quinientas canciones de música popular (no clásica), todas ellas han sido anotadas por un mínimo de tres oyentes. Estas anotaciones se consiguieron a través de una encuesta que estos oyentes rellenaban mientras escuchaban todas las canciones en la que quedaba reflejada su experiencia al escucharlas en base a diversos criterios así como su opinión y otros detalles que se explican en el apartado 2.5.4. de este trabajo. Todas estas canciones no tienen problemas de copyright para labores de investigación sobre MIR (Music Information Retrieval) como lo es este trabajo. Cada una de las canciones, además de las anotaciones, dispone de varios parámetros acústicos asociados extraídos directamente de la señal acústica, como se detalla en el apartado 2.5.3.. Los mismos autores que han realizado CAL500 la han utilizado para la realización de diversos proyectos e investigaciones [26][29][36][38][39][40][41]. 2.5.2. Canciones Las quinientas canciones están en formato MP3, donde el bitrate habitual de 128 Kbps se ha reducido a 32 Kbps y la frecuencia de muestreo habitual para audio de 44100 Hz se ha reducido a la mitad (22050 Hz). Ambos procesos se han realizado para conseguir que las canciones ocuparan menos espacio y teniendo en cuenta que estos cambios no afectan la percepción de la canción ni, por tanto, el análisis de sus parámetros acústicos. La lista completa de canciones aparece en la Figura 48. 10cc-for_you_and_i 2pac-trapped 5th_dimension-one_less_bell_to_answer a_tribe_called_quest-bonita_applebum aaron_neville-tell_it_like_it_is abba-s.o.s. abc-poison_arrow ac_dc-dirty_deeds_done_dirt_cheap adam_and_the_ants-prince_charming adam_ant-wonderful adverts-gary_gilmores_eyes aerobic_jonquil-sweat_machine aerosmith-dude_looks_like_a_lady aimee_mann-wise_up air-sexy_boy al_green-sha-la-la_make_me_happy alanis_morissette-thank_u alice_cooper-elected alice_in_chains-no_excuses alicia_keys-fallin allman_brothers_band-melissa altered_images-dont_talk_to_me_about_love american_music_club-jesus_hands andrews_sisters-boogie_woogie_bugle_boy ani_difranco-crime_for_crime animals-im_crying anita_baker-caught_up_in_the_rapture antiguru-peering antonio_carlos_jobim-wave anup-life_glides aphex_twin-come_to_daddy apples_in_stereo-glowworm aretha_franklin-dont_play_that_song arlo_guthrie-alices_restaurant_massacree art_tatum-willow_weep_for_me artemis-don_t_look_back arthur_alexander-you_dont_care arthur_yoria-at_least_you_ve_been_told ashford_and_simpson-solid association-windy atomic_opera-watergrave b.b._king-sweet_little_angel backstreet_boys-as_long_as_you_love_me badly_drawn_boy-all_possibilities band-king_harvest_has_surely_come barbara_leoni-don_t_rain_on_my_parade barenaked_ladies-its_all_been_done barry_manilow-mandy barry_white-cant_get_enough_of_your_love_babe bauhaus-ziggy_stardust bay_city_rollers-saturday_night beach_boys-i_get_around beatles-strawberry_fields_forever beatundercontrol-this_is_beatundercontrol beautiful_south-one_last_love_song beck-where_its_at bee_gees-stayin_alive belief_systems-skunk_werks belle_and_sebastian-like_dylan_in_the_movies ben_folds_five-brick beth_quist-survival big_star-in_the_street billie_holiday-god_bless_the_child billy_bragg-jeane billy_joel-we_didnt_start_the_fire birthday_party-mr._clarinet bjrk-army_of_me black_crowes-thorn_in_my_pride black_flag-six_pack black_sabbath-black_sabbath blind_faith-had_to_cry_today blind_melon-no_rain dead_kennedys-chemical_warfare def_leppard-pour_some_sugar_on_me dennis_brown-tribulation depeche_mode-world_in_my_eyes devo-girl_u_want diana_ross_and_the_supremes-where_did_our_love_go dido-here_with_me dionne_warwick-walk_on_by dire_straits-money_for_nothing dj_jazzy_jeff_and_the_fresh_prince-summertime dj_markitos-sunset_138_bpm_remix django_reinhardt-brazil domased-too_slow donovan-catch_the_wind doobie_brothers-china_grove doors-touch_me dr._dre-nuthin_but_a_g_thang dr_kuch-persuaders_dub drevo-our_watcher_show_us_the_way drop_trio-slapjack duke_ellington_and_his_orchestra-caravan duncan_sheik-barely_breathing duran_duran-come_undone eagles-tequila_sunrise earth_wind_and_fire-september eels-cancer_for_the_cure electric_frankenstein-teenage_shutdown elliott_smith-baby_britain elton_john-tiny_dancer elvis_costello-less_than_zero elvis_presley-heartbreak_hotel eminem-my_fault emma_s_mini-lost erasure-chains_of_love eric_clapton-wonderful_tonight etherine-never_leave eurythmics-sweet_dreams evanescence-my_immortal everly_brothers-take_a_message_to_mary faith_hill-lets_make_love faith_no_more-epic falik-bliss fiona_apple-love_ridden fleetwood_mac-say_you_love_me flying_burrito_brothers-break_my_mind foo_fighters-big_me four_stones-brilliant_day_eine_kleine_mix frank_sinatra-fly_me_to_the_moon frank_zappa-whats_the_ugliest_part_of_your_body franz_ferdinand-come_on_home garbage-hammering_in_my_head gene_clark-the_true_one genesis-cuckoo_cocoon george_harrison-all_things_must_pass germs-lexicon_devil gin_blossoms-hey_jealousy glen_bledsoe-p_pop glenn_miller-in_the_mood gloria_gaynor-i_will_survive go-gos-vacation gram_parsons-1000_wedding grateful_dead-high_time grayson_wray-heaven_s_the_place green_day-longview guided_by_voices-kicker_of_elves guns_n_roses-november_rain hall_and_oates-private_eyes howlin_wolf-moanin_at_midnight human_response-angels hybris-hate ike_and_tina_turner-river_deep_mountain_high indidginus-dusty_lands norine_braun-spanish_banks nova_express-i_m_alive oasis-supersonic ojays-livin_for_the_weekend olivia_tremor_control-i_have_been_floated otis_redding-mr._pitiful outkast-ms._jackson panacea-dragaicuta pantera-becoming paul_mccartney-ebony_and_ivory pearl_jam-yellow_ledbetter pet_shop_boys-being_boring pink_floyd-echoes pixies-wave_of_mutilation pizzle-what_s_wrong_with_my_footm pj_harvey-dry police-every_little_thing_she_does_is_magic portishead-all_mine pretenders-day_after_day primus-jerry_was_a_race_car_driver processor-nibtal_7 propellerheads-take_california psychedelic_furs-love_my_way psychetropic-dead_slow_day queen-we_will_rock_you r.e.m.-camera radiohead-karma_police rage_against_the_machine-maggies_farm ramones-i_just_want_to_have_something_to_do randy_newman-sail_away ray_charles-hit_the_road_jack red_hot_chili_peppers-give_it_away replacements-answering_machine rick_james-super_freak robert_johnson-sweet_home_chicago rocket_city_riot-mine_tonite rolling_stones-little_by_little ronettes-walking_in_the_rain roots_of_rebellion-legend roxy_music-love_is_the_drug roy_orbison-running_scared rubn_gonzlez-cumbanchero rufus_wainwright-cigarettes_and_chocolate_milk sade-smooth_operator santana-love_of_my_life sarah_mclachlan-possession saros-prelude scott_hill-silk_road screaming_trees-nearly_lost_you sebadoh-soul_and_fire seismic_anamoly-wreckinball sex_pistols-pretty_vacant shakira-the_one shane_jackman-set_fire_to_the_city sheryl_crow-i_shall_believe shins-new_slang shira_kammen-music_of_waters shiva_in_exile-hollow_earth shuggie_otis-sweet_thang simon_and_garfunkel-the_only_living_boy_in_new_york sinad_oconnor-no_mans_woman sir_mix-a-lot-baby_got_back skitzo-last_depression sly_and_the_family_stone-just_like_a_baby small_faces-lazy_sunday smashing_pumpkins-rocket smithereens-behind_the_wall_of_sleep smiths-how_soon_is_now smokey_robinson-cruisin smokey_robinson_and_the_miracles-ooo_baby_baby snoop_doggy_dogg-gin_and_juice solace-laz_7_8 45/81 Clasificación musical personalizada en función del estado de ánimo blondie-rapture blood_sweat_and_tears-sometimes_in_winter blue_yster_cult-burnin_for_you blur-country_house bo_diddley-you_cant_judge_a_book_by_its_cover bob_dylan-ill_be_your_baby_tonight bob_marley_and_the_wailers-three_little_birds bob_seger-turn_the_page bobby_brown-my_prerogative bobby_fuller_four-i_fought_the_law bobby_womack-womans_gotta_have_it bomb_the_bass-bug_powder_dust bon_jovi-livin_on_a_prayer bonnie_tyler-total_eclipse_of_the_heart boo_radleys-wake_up_boo boogie_down_productions-the_bridge_is_over booker_t._and_the_mgs-time_is_tight boston-more_than_a_feeling bots-take_the_power_back brad_sucks-overreacting bread-if breeders-cannonball brenton_wood-lovey_dovey_kind_of_love brian_eno-here_come_the_warm_jets britney_spears-im_a_slave_for_you bruce_springsteen-badlands bryan_adams-cuts_like_a_knife buddy_holly-peggy_sue buena_vista_social_club-el_cuarto_de_tula buffalo_springfield-for_what_its_worth buffalo_springfield-mr._soul buggles-video_killed_the_radio_star built_to_spill-i_would_hurt_a_fly burnshee_thornside-goodbye_on_a_beautiful_day bush-comedown busta_rhymes-woo_hah_got_you_all_in_check buzzcocks-everybodys_happy_nowadays byrds-wasnt_born_to_follow c_layne-devil_and_the_woman cab_calloway-minnie_the_moocher cake-perhaps,_perhaps,_perhaps camper_van_beethoven-take_the_skinheads_bowling canned_heat-on_the_road_again captain_beefheart_and_the_magic_band-safe_as_milk cardigans-lovefool cargo_cult-garden carl_perkins-matchbox carly_simon-youre_so_vain carole_king-youve_got_a_friend carpenters-rainy_days_and_mondays cars-good_times_roll cat_power-he_war catherine_wheel-black_metallic cc_music_factorygonna_make_you_sweat_everybody_dance_now chad_and_jeremy-before_and_after chantal_kreviazuk-surrounded charles_mingus-mood_indigo charlie_parker-ornithology charlie_rich-behind_closed_doors cheap_trick-dream_police chemical_brothers-setting_sun cheryl_ann_fulton-marsh_of_rhuddlan chet_baker-these_foolish_things chi-lites-stoned_out_of_my_mind chic-le_freak chicago-if_you_leave_me_now chills-i_love_my_leather_jacket chris_juergensen-prospects christina_aguilera-genie_in_a_bottle chuck_berry-roll_over_beethoven chumbawamba-tubthumping church-under_the_milky_way cilla_black-alfie clarence_ashley-the_house_carpenter clash-lost_in_the_supermarket coasters-poison_ivy coldplay-clocks contours-do_you_love_me count_basie-lester_leaps_in counting_crows-speedway cowboy_junkies-postcard_blues cranberries-linger cream-tales_of_brave_ulysses creedence_clearwater_revival-travelin_band crosby_stills_and_nash-guinnevere crosby_stills_nash_and_young-teach_your_children curandero-aras cure-just_like_heaven curtis_mayfield-move_on_up cyndi_lauper-money_changes_everything cypress_hill-lowrider daft_punk-da_funk darkness-i_believe_in_a_thing_called_love dave_matthews_band-ants_marching david_bowie-song_for_bob_dylan de_la_soul-eye_know interpol-stella_was_a_diver_and_she_was_always_down introspekt-tbd ivilion-d_b_l jackalopes-rotgut jackson_5-abc jacques_brel-les_vieux jade_leary-going_in jag-jag_s_rag james_brown-give_it_up_or_turnit_a_loose james_taylor-fire_and_rain jamie_janover-event_horizon jamiroquai-little_l jan_and_dean-surf_city janes_addiction-been_caught_stealing janet_jackson-miss_you_much jay_kishor-raga_malgunji_jor jeff_buckley-last_goodbye jefferson_airplane-somebody_to_love jerry_lee_lewis-great_balls_of_fire jesse_manno-alf_leyla_wa_leyla jewel-enter_from_the_east jimi_hendrix-highway_chile john_cale-pablo_picasso john_coltrane-giant_steps john_lee_hooker-boom_boom john_lennon-imagine johnny_cash-the_man_comes_around joram-solipsism joy_division-love_will_tear_us_apart junior_murvin-police_and_thieves kansas-carry_on_wayward_son kanye_west-gold_digger kenji_williams-i_m_alive king_crimson-thela_hun_ginjeet kiss-deuce kokoon-order kool_and_the_gang-funky_stuff kourosh_zolani-peaceful_planet kraftwerk-spacelab kris_kristofferson-the_best_of_all_possible_worlds lambert_hendricks_and_ross-gimme_that_wine led_zeppelin-immigrant_song leonard_cohen-suzanne lisa_debenedictis-fruitless live-lightning_crashes liz_phair-supernova ll_cool_j-mama_said_knock_you_out los_lobos-corrido_1 lou_reed-walk_on_the_wild_side louis_armstrong-hotter_than_that love-you_set_the_scene love_and_rockets-mirror_people lynyrd_skynyrd-sweet_home_alabama macy_gray-i_try madness-baggy_trousers madonna-ray_of_light mamas_and_the_papas-words_of_love manassas-bound_to_fall marvelettes-please_mr._postman marvin_gaye-whats_going_on mary_wells-my_guy massive_attack-risingson mazzy_star-fade_into_you mc_hammer-u_cant_touch_this memories_of_tomorrow-transcend_fate_of_a_dj men_at_work-who_can_it_be_now metallica-one michael_jackson-billie_jean michael_masley-advice_from_the_angel_of_thresholds miles_davis-blue_in_green moby-porcelain modest_mouse-what_people_are_made_of monkees-a_little_bit_me_a_little_bit_you monoide-golden_key morrissey-everyday_is_like_sunday mose_allison-monsters_of_the_id mott_the_hoople-roll_away_the_stone mr_epic-ruff_and_tumble mr_gelatine-knysnamushrooms mrdc-leaving muddy_waters-im_ready muddy_waters-mannish_boy my_bloody_valentine-when_you_sleep myles_cochran-getting_stronger napoleon_blown_aparts-higher_education natalie_imbruglia-torn neil_young-razor_love neil_young_and_crazy_horse-western_hero nelly-country_grammar neutral_milk_hotel-where_youll_find_me_now new_order-blue_monday nine_inch_nails-head_like_a_hole nirvana-aneurysm no_doubt-artificial_sweetener no_doubt-simple_kind_of_life norah_jones-dont_know_why somadrone-coda sonic_youth-teen_age_riot sonny_rollins-strode_rode soul_ii_soul-keep_on_movin soulprint-crawlspace soundgarden-black_hole_sun specials-gangsters spencer_davis_group-gimme_some_lovin spice_girls-stop spinecar-stay spiritualized-stop_your_crying squarepusher-a_journey_to_reedham_(7am_mix) squeeze-pulling_mussels_from_the_shell stan_getz-corcovado_quiet_nights_of_quiet_stars standells-dirty_water starship-nothings_gonna_stop_us_now steely_dan-rikki_dont_lose_that_number steppenwolf-born_to_be_wild stereolab-cybeles_reverie stevie_ray_vaughan-pride_and_joy stevie_wonder-for_once_in_my_life sting-big_lie_small_world stone_roses-i_wanna_be_adored stooges-dirt stranglers-golden_brown strawbs-new_world strojovna_07-130 style_council-headstart_for_happiness sundays-heres_where_the_story_ends superchunk-slack_motherfucker sweet-fox_on_the_run syd_barrett-effervescing_elephant sylvester-you_make_me_feel_mighty_real syreeta-what_love_has_joined_together t._rex-children_of_the_revolution talking_heads-and_she_was tears_for_fears-everybody_wants_to_rule_the_world teenage_fanclub-the_concept television-venus temptations-since_i_lost_my_baby thelonious_monk-epistrophy they_might_be_giants-i_should_be_allowed_to_think thin_lizzy-dont_believe_a_word third_eye_blind-semi-charmed_life throwing_muses-hate_my_way thursday_group-like_white_on_rice tilopa-kyo_rei tim_buckley-morning_glory tim_hardin-dont_make_promises tim_rayborn-yedi_tekrar todd_rundgren-bang_the_drum_all_day tom_paul-little_part_of_me tom_petty-i_wont_back_down tom_petty_and_the_heartbreakersdont_come_around_here_no_more tom_waits-time tommy_james_and_the_shondells-i_think_were_alone_now tori_amos-professional_widow touchinggrace-wild_spring_apples traffic-pearly_queen tricky-christiansands troggs-wild_thing turtles-elenore u2-hold_me_thrill_me_kiss_me_kill_me ultravox-dancing_with_tears_in_my_eyes uncle_tupelo-the_long_cut urge_overkill-sister_havana utopia_banished-by_mourning van_halen-aint_talkin_bout_love van_morrison-and_it_stoned_me vapors-turning_japanese velvet_underground-new_age version-universal_humans very_large_array-psychedelic_baby violent_femmes-blister_in_the_sun war-all_day_music weezer-buddy_holly wes_montgomery-bumpin west_exit-nocturne white_stripes-hotel_yorba whitney_houston-how_will_i_know who-bargain wicked_allstars-happy wicked_boy-pressure wilco-kingpin williamson-whats_on_the_ceiling_beats_whats_on_tv xtc-love_at_first_sight yakshi-chandra yeah_yeah_yeahs-maps yes-leave_it yo_la_tengo-tom_courtenay young_mc-bust_a_move young_rascals-baby_lets_wait zapp-dance_floor zombies-beechwood_park Figura 48. Lista de canciones (songNames.txt) 2.5.3. Anotaciones semánticas songNames.txt Aparece en cada línea el título de una de las quinientas canciones. Los espacios aparecen con un guión bajo y la separación entre artista y canción con un guión. No aparecen apostrofes ni otros caracteres. Se puede ver el fichero en la Figura 48 anterior. vocab.txt En este archivo figuran los 174 conceptos sobre los que se extrae información en la encuesta que se hizo a los oyentes. Como se explica posteriormente estos 174 conceptos están relacionados con las anotaciones binarias que se extrajeron de las encuestas. Los 174 conceptos aparecen en la Figura 49. Como se ve hacen referencia a emoción, género, instrumentos y presencia o no de solos de los mismos, adjetivos relacionados con la melodía y la voz y situaciones en las que los oyentes consideran más acorde escuchar esas canciones. 46/81 Clasificación musical personalizada en función del estado de ánimo Emotion-Angry_/_Agressive NOT-Emotion-Angry_/_Agressive Emotion-Arousing_/_Awakening NOT-Emotion-Arousing_/_Awakening Emotion-Bizarre_/_Weird NOT-Emotion-Bizarre_/_Weird Emotion-Calming_/_Soothing NOT-Emotion-Calming_/_Soothing Emotion-Carefree_/_Lighthearted NOT-Emotion-Carefree_/_Lighthearted Emotion-Cheerful_/_Festive NOT-Emotion-Cheerful_/_Festive Emotion-Emotional_/_Passionate NOT-Emotion-Emotional_/_Passionate Emotion-Exciting_/_Thrilling NOT-Emotion-Exciting_/_Thrilling Emotion-Happy NOT-Emotion-Happy Emotion-Laid-back_/_Mellow NOT-Emotion-Laid-back_/_Mellow Emotion-Light_/_Playful NOT-Emotion-Light_/_Playful Emotion-Loving_/_Romantic NOT-Emotion-Loving_/_Romantic Emotion-Pleasant_/_Comfortable NOT-Emotion-Pleasant_/_Comfortable Emotion-Positive_/_Optimistic NOT-Emotion-Positive_/_Optimistic Emotion-Powerful_/_Strong NOT-Emotion-Powerful_/_Strong Emotion-Sad NOT-Emotion-Sad Emotion-Tender_/_Soft NOT-Emotion-Tender_/_Soft Emotion-Touching_/_Loving NOT-Emotion-Touching_/_Loving Genre--_Alternative Genre--_Alternative_Folk Genre--_Bebop Genre--_Brit_Pop Genre--_Classic_Rock Genre--_Contemporary_Blues Genre--_Contemporary_R&B Genre--_Cool_Jazz Genre--_Country_Blues Genre--_Dance_Pop Genre--_Electric_Blues Genre--_Funk Genre--_Gospel Genre--_Metal/Hard_Rock Genre--_Punk Genre--_Roots_Rock Genre--_Singer_/_Songwriter Genre--_Soft_Rock Genre--_Soul Genre--_Swing Genre-Bluegrass Genre-Blues Genre-Country Genre-Electronica Genre-Folk Genre-Hip_Hop/Rap Genre-Jazz Genre-Pop Genre-R&B Genre-Rock Genre-World Instrument_-_Acoustic_Guitar Instrument_-_Ambient_Sounds Instrument_-_Backing_vocals Instrument_-_Bass Instrument_-_Drum_Machine Instrument_-_Drum_Set Instrument_-_Electric_Guitar_(clean) Instrument_-_Electric_Guitar_(distorted) Instrument_-_Female_Lead_Vocals Instrument_-_Hand_Drums Instrument_-_Harmonica Instrument_-_Horn_Section Instrument_-_Male_Lead_Vocals Instrument_-_Organ Instrument_-_Piano Instrument_-_Samples Instrument_-_Saxophone Instrument_-_Sequencer Instrument_-_String_Ensemble Instrument_-_Synthesizer Instrument_-_Tambourine Instrument_-_Trombone Instrument_-_Trumpet Instrument_-_Violin/Fiddle Song-Catchy/Memorable NOT-Song-Catchy/Memorable Song-Changing_Energy_Level NOT-Song-Changing_Energy_Level Song-Fast_Tempo NOT-Song-Fast_Tempo Song-Heavy_Beat NOT-Song-Heavy_Beat Song-High_Energy NOT-Song-High_Energy Song-Like NOT-Song-Like Song-Positive_Feelings NOT-Song-Positive_Feelings Song-Quality NOT-Song-Quality Song-Recommend NOT-Song-Recommend Song-Recorded NOT-Song-Recorded Song-Texture_Acoustic Song-Texture_Electric Song-Texture_Synthesized Song-Tonality NOT-Song-Tonality Song-Very_Danceable NOT-Song-Very_Danceable Usage-At_a_party Usage-At_work Usage-Cleaning_the_house Usage-Driving Usage-Exercising Usage-Getting_ready_to_go_out Usage-Going_to_sleep Usage-Hanging_with_friends Usage-Intensely_Listening Usage-Reading Usage-Romancing Usage-Sleeping Usage-Studying Usage-Waking_up Usage-With_the_family Vocals-Aggressive Vocals-Altered_with_Effects Vocals-Breathy Vocals-Call_&_Response Vocals-Duet Vocals-Emotional Vocals-Falsetto Vocals-Gravelly Vocals-High-pitched Vocals-Low-pitched Vocals-Monotone Vocals-Rapping Vocals-Screaming Vocals-Spoken Vocals-Strong Vocals-Vocal_Harmonies Genre-Best--_Alternative Genre-Best--_Classic_Rock Genre-Best--_Metal/Hard_Rock Genre-Best--_Punk Genre-Best--_Soft_Rock Genre-Best--_Soul Genre-Best-Blues Genre-Best-Country Genre-Best-Electronica Genre-Best-Folk Genre-Best-Hip_Hop/Rap Genre-Best-Jazz Genre-Best-Pop Genre-Best-R&B Genre-Best-Rock Genre-Best-World Instrument_-_Acoustic_Guitar-Solo Instrument_-_Electric_Guitar_(clean)-Solo Instrument_-_Electric_Guitar_(distorted)-Solo Instrument_-_Female_Lead_Vocals-Solo Instrument_-_Harmonica-Solo Instrument_-_Male_Lead_Vocals-Solo Instrument_-_Piano-Solo Instrument_-_Saxophone-Solo Instrument_-_Trumpet-Solo Figura 49. Vocabolario asociado a las canciones (vocab.txt) /annotations En esta carpeta incluida en la base de datos aparecen un mínimo de tres archivos de texto por cada canción (en el caso de “One” aparecen tres). Cada uno de estos archivos incluye las anotaciones realizadas por los usuarios al realizar la encuesta. En la Figura 50 se pueden ver estos tres archivos. songName = "metallica-one.mp3" PageStatus = "Annotation" Instrument_-_String_Ensemble = "None" Instrument_-_Male_Lead_Vocals = "Prominent" Instrument_-_Orchestra = "None" Instrument_-_Female_Lead_Vocals = "None" Instrument_-_Backing_vocals = "None" Instrument_-_Harmonica = "None" Instrument_-_Choir = "None" Instrument_-_Trumpet = "None" Instrument_-_Trombone = "None" Instrument_-_Acoustic_Guitar = "Prominent" Instrument_-_Acoustic_Guitar-Solo = "yes" Instrument_-_Saxophone = "None" songName = "metallica-one.mp3" PageStatus = "Annotation" Instrument_-_String_Ensemble = "None" Instrument_-_Male_Lead_Vocals = "Prominent" Instrument_-_Male_Lead_Vocals-Solo = "yes" Instrument_-_Orchestra = "None" Instrument_-_Female_Lead_Vocals = "None" Instrument_-_Backing_vocals = "Present" Instrument_-_Harmonica = "None" Instrument_-_Choir = "None" Instrument_-_Trumpet = "None" Instrument_-_Trombone = "None" Instrument_-_Acoustic_Guitar = "None" Instrument_-_Saxophone = "None" songName = "metallica-one.mp3" PageStatus = "Annotation" Instrument_-_String_Ensemble = "None" Instrument_-_Male_Lead_Vocals = "Prominent" Instrument_-_Male_Lead_Vocals-Solo = "yes" Instrument_-_Orchestra = "None" Instrument_-_Female_Lead_Vocals = "None" Instrument_-_Backing_vocals = "Present" Instrument_-_Harmonica = "None" Instrument_-_Choir = "None" Instrument_-_Trumpet = "None" Instrument_-_Trombone = "None" Instrument_-_Acoustic_Guitar = "Prominent" Instrument_-_Saxophone = "None" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Electric_Guitar_(clean)-Solo = "yes" Instrument_-_Horn_Section = "None" Instrument_-_Electric_Guitar_(distorted) = "Prominent" Instrument_-_Electric_Guitar_(distorted)-Solo = "yes" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Electric_Guitar_(clean)-Solo = "yes" Instrument_-_Horn_Section = "None" Instrument_-_Electric_Guitar_(distorted) = "None" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Electric_Guitar_(clean)-Solo = "yes" Instrument_-_Horn_Section = "None" Instrument_-_Electric_Guitar_(distorted) = "Prominent" Instrument_-_Electric_Guitar_(distorted)-Solo = "yes" Instrument_-_Slide_Guitar = "None" Instrument_-_Samples = "Uncertain" Instrument_-_Bass = "None" Instrument_-_Ambient_Sounds = "Uncertain" Instrument_-_Banjo = "None" Instrument_-_Scratches = "Uncertain" Instrument_-_Sequencer = "Prominent" Instrument_-_Piano = "None" Instrument_-_Organ = "None" Instrument_-_Drum_Set = "Present" Instrument_-_Synthesizer = "None" Instrument_-_Drum_Machine = "None" Instrument_-_Hand_Drums = "None" Instrument_-_Violin/Fiddle = "None" Instrument_-_Tambourine = "None" Vocals-Aggressive = "Yes" Vocals-Monotone = "Yes" Vocals-Altered_with_Effects = "No" Vocals-Nasal = "No" Vocals-Breathy = "No" Vocals-Off-key = "No" Vocals-Call_&_Response = "No" Vocals-Rapping = "No" Instrument_-_Slide_Guitar = "None" Instrument_-_Samples = "Prominent" Instrument_-_Samples-Solo = "yes" Instrument_-_Bass = "None" Instrument_-_Ambient_Sounds = "Present" Instrument_-_Banjo = "None" Instrument_-_Scratches = "None" Instrument_-_Sequencer = "Uncertain" Instrument_-_Piano = "None" Instrument_-_Organ = "None" Instrument_-_Drum_Set = "Present" Instrument_-_Synthesizer = "None" Instrument_-_Drum_Machine = "None" Instrument_-_Hand_Drums = "None" Instrument_-_Violin/Fiddle = "None" Instrument_-_Tambourine = "None" Vocals-Aggressive = "No" Vocals-Monotone = "No" Vocals-Altered_with_Effects = "Uncertain" Vocals-Nasal = "No" Vocals-Breathy = "No" Vocals-Off-key = "No" Vocals-Call_&_Response = "No" Instrument_-_Slide_Guitar = "Uncertain" Instrument_-_Samples = "Prominent" Instrument_-_Bass = "Prominent" Instrument_-_Ambient_Sounds = "Prominent" Instrument_-_Banjo = "None" Instrument_-_Scratches = "None" Instrument_-_Sequencer = "Present" Instrument_-_Piano = "None" Instrument_-_Organ = "None" Instrument_-_Drum_Set = "Present" Instrument_-_Synthesizer = "None" Instrument_-_Drum_Machine = "Present" Instrument_-_Hand_Drums = "None" Instrument_-_Violin/Fiddle = "None" Instrument_-_Tambourine = "None" Vocals-Aggressive = "Yes" Vocals-Monotone = "No" Vocals-Altered_with_Effects = "Yes" Vocals-Nasal = "No" Vocals-Breathy = "No" Vocals-Off-key = "No" Vocals-Call_&_Response = "No" Vocals-Rapping = "No" 47/81 Clasificación musical personalizada en función del estado de ánimo Vocals-Duet = "No" Vocals-Scatting = "No" Vocals-Emotional = "No" Vocals-Screaming = "Uncertain" Vocals-Falsetto = "No" Vocals-Spoken = "No" Vocals-Gravelly = "Yes" Vocals-Strong = "No" Vocals-Vocal_Harmonies = "Yes" Vocals-Unintelligible = "Yes" Vocals-High-pitched = "No" Vocals-Virtuoso = "No" Vocals-Low-pitched = "Yes" Vocals-Weak = "No" Genre-Best = "-_Metal/Hard_Rock" Emotion-Happy = "1" Emotion-Sad = "1" Emotion-Calming_/_Soothing = "1" Emotion-Arousing_/_Awakening = "3" Emotion-Pleasant_/_Comfortable = "1" Emotion-Cheerful_/_Festive = "1" Emotion-Tender_/_Soft = "1" Emotion-Powerful_/_Strong = "3" Emotion-Loving_/_Romantic = "1" Emotion-Carefree_/_Lighthearted = "1" Emotion-Exciting_/_Thrilling = "2" Emotion-Emotional_/_Passionate = "1" Emotion-Positive_/_Optimistic = "1" Emotion-Touching_/_Loving = "1" Emotion-Light_/_Playful = "1" Emotion-Angry_/_Agressive = "4" Emotion-Laid-back_/_Mellow = "1" Emotion-Bizarre_/_Weird = "2" Song-Heard_Before = "No" Song-Identify_Artist = "No" Song-Like = "No_Opinion" Song-Recommend = "No_Opinion" Song-Recorded = "Concert" Song-Quality = "Medium" Song-Texture_Acoustic = "Yes" Song-Texture_Electric = "Yes" Song-Tonality = "Uncertain" Song-High_Energy = "5" Song-Changing_Energy_Level = "4" Song-Heavy_Beat = "5" Song-Fast_Tempo = "5" Song-Very_Danceable = "1" Song-Positive_Feelings = "1" Song-Catchy/Memorable = "3" Usage-Never = "Yes" Vocals-Rapping = "No" Vocals-Duet = "No" Vocals-Scatting = "No" Vocals-Emotional = "No" Vocals-Screaming = "No" Vocals-Falsetto = "No" Vocals-Spoken = "No" Vocals-Gravelly = "No" Vocals-Strong = "No" Vocals-Vocal_Harmonies = "Yes" Vocals-Unintelligible = "Uncertain" Vocals-High-pitched = "No" Vocals-Virtuoso = "No" Vocals-Low-pitched = "No" Vocals-Weak = "Yes" Genre-Best = "Rock" Genre-Rock = "yes" Genre--_Alternative = "yes" Genre--_Punk = "yes" Emotion-Happy = "2" Emotion-Sad = "2" Emotion-Calming_/_Soothing = "2" Emotion-Arousing_/_Awakening = "2" Emotion-Pleasant_/_Comfortable = "3" Emotion-Cheerful_/_Festive = "2" Emotion-Tender_/_Soft = "3" Emotion-Powerful_/_Strong = "2" Emotion-Loving_/_Romantic = "2" Emotion-Carefree_/_Lighthearted = "2" Emotion-Exciting_/_Thrilling = "2" Emotion-Emotional_/_Passionate = "1" Emotion-Positive_/_Optimistic = "2" Emotion-Touching_/_Loving = "1" Emotion-Light_/_Playful = "1" Emotion-Angry_/_Agressive = "1" Emotion-Laid-back_/_Mellow = "3" Emotion-Bizarre_/_Weird = "1" Song-Heard_Before = "No" Song-Identify_Artist = "No" Song-Like = "Yes" Song-Recommend = "No_Opinion" Song-Recorded = "Concert" Song-Quality = "Medium" Song-Texture_Electric = "Yes" Song-Tonality = "Major" Song-High_Energy = "2" Song-Changing_Energy_Level = "1" Song-Heavy_Beat = "2" Song-Fast_Tempo = "2" Song-Very_Danceable = "1" Song-Positive_Feelings = "3" Song-Catchy/Memorable = "3" Usage-Driving = "Yes" Usage-Getting_ready_to_go_out = "Yes" Vocals-Duet = "No" Vocals-Scatting = "No" Vocals-Emotional = "Yes" Vocals-Screaming = "No" Vocals-Falsetto = "No" Vocals-Spoken = "No" Vocals-Gravelly = "No" Vocals-Strong = "No" Vocals-Vocal_Harmonies = "No" Vocals-Unintelligible = "No" Vocals-High-pitched = "No" Vocals-Virtuoso = "No" Vocals-Low-pitched = "No" Vocals-Weak = "No" Genre-Rock = "yes" Genre-Best = "Pop" Genre-Pop = "yes" Emotion-Happy = "2" Emotion-Sad = "4" Emotion-Calming_/_Soothing = "1" Emotion-Arousing_/_Awakening = "4" Emotion-Pleasant_/_Comfortable = "2" Emotion-Cheerful_/_Festive = "2" Emotion-Tender_/_Soft = "1" Emotion-Powerful_/_Strong = "5" Emotion-Loving_/_Romantic = "1" Emotion-Carefree_/_Lighthearted = "1" Emotion-Exciting_/_Thrilling = "4" Emotion-Emotional_/_Passionate = "1" Emotion-Positive_/_Optimistic = "3" Emotion-Touching_/_Loving = "1" Emotion-Light_/_Playful = "1" Emotion-Angry_/_Agressive = "5" Emotion-Laid-back_/_Mellow = "1" Emotion-Bizarre_/_Weird = "4" Song-Heard_Before = "No" Song-Identify_Artist = "No" Song-Like = "Yes" Song-Recommend = "Yes" Song-Recorded = "Concert" Song-Quality = "High" Song-Texture_Synthesized = "Yes" Song-Tonality = "Uncertain" Song-High_Energy = "5" Song-Changing_Energy_Level = "4" Song-Heavy_Beat = "5" Song-Fast_Tempo = "4" Song-Very_Danceable = "4" Song-Positive_Feelings = "3" Song-Catchy/Memorable = "2" Usage-Cleaning_the_house = "Yes" Usage-Exercising = "Yes" Figura 50. Ejemplo de los tres ficheros de anotaciones de “One” softAnnotations.txt En este archivo aparece el resultado de analizar los resultados en función de los 174 conceptos contenidos en vocab.txt. En este fichero cada una de las 502 líneas contiene 174 valores separados con una coma. El que aparece a continuación es el que pertenece a “One”. 0.33333,0,0,0,0,0.33333,0,1,0,1,0,1,0,1,0,0.33333,0,1,0,0.66667,0,1,0,1,0,0 .66667,0,0.66667,0,0,0,0.33333,0,0.66667,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66667,0,0.33333,0.66667,0.33333,0,0,1,1,0.333 33,0,0,0,0,1,0,0,0.66667,0,0.66667,0,0,0,0,0,0,0,0,0.33333,0,0.33333,0,0.33 333,0,0.33333,0,0.66667,0,0,0,0,0,0,0,0,1,0,0.66667,0,0,0,0,0.33333,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0.33333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33333,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.66667,0,0,0.66667,0,0,0 El orden en el que aparecen los 174 valores corresponde con el orden del fichero vocab.txt. Algunos de los conceptos como por ejemplo Instrument_-_Drum_Set en la encuesta solo permitían una respuesta de “Yes” o “No”, en estos casos la respuesta positiva toma el valor de 1 y la negativa 0. Otros conceptos extraídos de la encuesta como Emotion-Happy = "2" admitían una respuesta en cinco grados (1 siendo el mínimo y 5 el máximo), en el vocabulario esto se traduce en dos valores diferentes: EmotionHappy y NOT-Emotion-Happy. Así los grados 1 y 2 cuentan como –1, el grado 3 como 0 y los grados 4 y 5 como +1. Teniendo en cuenta esto se calculan los valores para aquellos conceptos en los que no hay acuerdo entre los distintos oyentes siguiendo la formula: valor = máx(0,[(votos positivos-votos negativos)/anotaciones]). A continuación se realiza un ejemplo para explicar más detalladamente lo descrito en el párrafo anterior. 48/81 Clasificación musical personalizada en función del estado de ánimo 0.33333,0,0,0,0,0.33333,0,1,0,1,0,1,0,1,0,0.33333,0,1,0,0.66667,0,1,0,1,0,0 .66667,0,0.66667,0,0,0,0.33333,0,0.66667,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66667,0,0.33333,0.66667,0.33333,0,0,1,1,0.333 33,0,0,0,0,1,0,0,0.66667,0,0.66667,0,0,0,0,0,0,0,0,0.33333,0,0.33333,0,0.33 333,0,0.33333,0,0.66667,0,0,0,0,0,0,0,0,1,0,0.66667,0,0,0,0,0.33333,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0.33333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33333,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.66667,0,0,0.66667,0,0,0 Los valores señalados corresponden respectivamente con los siguientes conceptos: Emotion-Angry_/_Agressive (0.33333), NOT-Emotion-Angry_/_Agressive (0), Instrument_-_Electric_Guitar_(clean)-Solo (1) y Instrument_-_Male_Lead_Vocals-Solo (0.66667). Se compara seguidamente estos valores con las respuestas de los oyentes que realizaron la encuesta. Emotion-Angry_/_Agressive = "4" Emotion-Angry_/_Agressive = "1" Emotion-Angry_/_Agressive = "5" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Electric_Guitar_(clean) = "Prominent" Instrument_-_Male_Lead_Vocals-Solo = "yes" Instrument_-_Male_Lead_Vocals-Solo = "yes" Así, calculando los diferentes valores siguiendo la formula anterior: Emotion-Angry_/_Agressive: máx(0,[(1+1-1)/3]) = 0’33333 NOT-Emotion-Angry_/_Aggresive: máx(0,[(0-1)/3]) = 0 Instrument_-_Electric_Guitar_(clean)-Solo: máx(0,[(3-0)/3]) = 1 Instrument_-_Male_Lead_Vocals-Solo: máx(0,[(1+1-0)/3]) = 0’66667 hardAnnotations.txt En este archivo se “binarizan” los resultados anteriores. Así, si más de dos personas han opinado sobre uno de los conceptos y hay un acuerdo del 80% entre los oyentes aparecerá un 1, en el resto de los casos 0. Siguiendo el ejemplo anterior, los dos primeros conceptos pasan a valer 0 y los dos últimos 1. 0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0, 0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0 2.5.4. Parámetros acústicos Parámetros AFTE Las siglas AFTE corresponden a Auditory Filterbank Temporal Envelopes. Estos parámetros representan la envolvente temporal procesada por el sistema auditivo humano. La señal de audio primero se filtra mediante banco de filtros gammatone (filtros de respuesta impulsional utilizados generalmente para modelar el sistema auditivo) y seguidamente se realiza un análisis temporal para extraer la envolvente de cada uno de los resultados obtenidos una vez filtrada la señal. La envolvente se normaliza con la componente continua de la señal y se parametriza sumando la energía de diferentes bandas frecuenciales obteniendo en total 73 parámetros AFTE. Para calcular estos parámetros se ha tenido en cuenta la canción completa, por lo tanto, al leer estos vectores en Matlab todos ellos contienen 73 columnas (cada una correspondiente a los 73 parámetros AFTE) pero varían en el número de filas (ya que algunas canciones son más largas que otras). Más información sobre estos parámetros puede encontrarse en [86] y [87]. Los ficheros que contienen los vectores con estos parámetros tienen la extensión .afte (por ejemplo: metallica-one.afte). 49/81 Clasificación musical personalizada en función del estado de ánimo Parámetros Chroma La representación basada en los parámetros chroma consiste en proyectar todo el espectro de una melodía en doce "compartimentos" (bins) que representan cada uno de los doce semitonos que componen una octava. Se asume que notas separadas una octava se perciben de forma similar (un La4=440Hz y un La5=880Hz tienen frecuencias diferentes pero representan la misma nota o componente tonal). Como en el caso anterior, estos parámetros están calculados procesando la canción completa, así, todos los vectores tienen doce filas (correspondiendo a los doce semitonos) pero varían en el número de columnas dependiendo de su longitud temporal. Puede encontrarse más información sobre estos parámetros en los trabajos realizados por Dan Ellis [19] y Elias Pampalk [45][44]. Los ficheros que contienen los vectores con estos parámetros tienen la extensión .chroma (por ejemplo: metallica-one.chroma). Parámetros MFCC Los coeficientes MFCC (Mel Frequency Cepstral Coeficients) se extraen a partir de la representación de la señal en el dominio espectral [114][13][34][3]. Estos parámetros se usan ampliamente en aplicaciones que tienen que ver con la voz y también la música ya que representan más fielmente las características del audio que los obtenidos sólo considerando el dominio temporal. Esto también se debe a que, como se ha detallado con anterioridad, el sistema auditivo procesa los sonidos frecuencialmente. Así, unos parámetros como los MFCC, que están basados en un análisis frecuencial de la señal, se asemejan más a cómo procesa el cerebro humano los sonidos ya que toman en consideración la respuesta del oído a la hora de parametrizar la señal acústica. El esquema general de cálculo de estos coeficientes se detalla en la Figura 51; el banco de filtros Mel se puede observar en la Figura 52. Figura 51. Esquema general del calculo de MFCC. Figura 52. Banco de filtros Mel. En CAL500 para calcular los vectores delta se han calculado los trece primeros MFCC utilizando ventanas de 12 milisegundos con un overlapping de 6 milisegundos. Así, cada una de las filas de los vectores contiene 39 valores: los trece primeros valores son los MFCC ya mencionados y los restantes corresponden con las primeras y segundas derivadas de estos trece MFCC. El resultado final son matrices de 10000 filas y 39 columnas por un minuto de audio (10000x6ms=60s). En principio se calcularon los MFCC de las canciones completas pero, para evitar el problema surgido y explicado anteriormente con los parámetros chroma o AFTE de la diferencia de longitud de los vectores, se eligieron aleatoriamente 10000 valores de cada una de las canciones que representan un minuto de audio de las mismas. Estos serán los parámetros que se utilizarán en este trabajo a la hora de implementar funciones que tengan en cuenta parámetros acústicos de las canciones ya que todos los 50/81 Clasificación musical personalizada en función del estado de ánimo vectores que representan a cada una de las canciones están formados por 39 columnas y 10000 filas. De esta manera, siendo todos los vectores del mismo tamaño, se puede establecer un algoritmo de comparación entre ellos tal y como se detallará en el apartado siguiente. De la misma forma, en el apartado siguiente se explicarán las ventajas e inconvenientes que supone que estos MFCC estén únicamente calculados sólo para un minuto de audio de las canciones. Los ficheros que contienen los vectores con estos parámetros tienen la extensión .delta (por ejemplo: metallica-one.delta). Parámetros MFCC dinámicos En la base de datos también se incluyen los parámetros MFCC dinámicos; éstos representan los valores de la primera y segunda derivada de los MFCC explicados anteriormente. Utilizando estos parámetros se puede analizar la variación de estas derivadas. En este trabajo no se utilizan ya que, como en el caso de los AFTE o chroma, todos ellos forman matrices que tienen 52 columnas (correspondientes a cada uno de los MFCC dinámicos) pero varían en el número de filas. 51/81 Clasificación musical personalizada en función del estado de ánimo 3. Parte práctica 3.1. Aplicación web Como parte práctica de este trabajo se ha desarrollado una aplicación web utilizando PHP y MySQL. En esta aplicación se ha intentado introducir gran parte de los conceptos desarrollados en la parte teórica. Además, en el desarrollo de la misma, se ha apreciado la gran ventaja que supone la utilización de PHP junto con MySQL frente a la creación de una página web únicamente utilizando lenguaje HTML. Gracias al lenguaje PHP, y con el respaldo de una base de datos MySQL, se pueden crear páginas web dinámicas. Esto es imprescindible en este trabajo ya que son usuarios diferentes los que potencialmente utilizarán la aplicación y cada uno tendrá criterios diferentes a los que la aplicación deberá adaptarse en cada caso. A continuación se detalla el proceso que se ha seguido en la creación de la web a través de tres versiones; se explica, a grandes rasgos, el funcionamiento e implementación de las dos primeras y se profundiza con mayor detalle en la tercera y última versión. En la primera versión de la web se trabajó con ficheros, siguiendo el esquema de la Figura 53. En esta primera versión, que sirvió de toma de contacto con el lenguaje PHP y sus funciones, únicamente se implementaron las funciones básicas: listado de canciones, buscador, buscador de canciones por parámetros semánticos a través de una "encuesta" en la que el usuario puede elegir sus preferencias y un buscador de canciones similares también por parámetros semánticos. El diseño de esta primera versión era totalmente plano y sencillo. Los resultados se mostraban en texto y para escuchar las canciones era necesario abrir un reproductor de archivos MP3 como iTunes (en la Figura 54 se pueden ver los resultados al elegir en la encuesta "Angry" y "Metal/Hard Rock"). En esta versión se intentó implementar un buscador de canciones similares donde esta similitud se calculaba en función del parecido acústico de las canciones (utilizando los MFCC) pero esta comparación requería más tiempo de ejecución que el que permite el servidor. El problema que supone esta comparación y su resolución se detallan ampliamente en el apartado 3.1.1.; esta ha sido uno de las opciones que más tiempo ha llevado implementar. Figura 53. Esquema general de las versiones 1.0 y 2.0. 52/81 Clasificación musical personalizada en función del estado de ánimo Figura 54. Resultados de la búsqueda “Angry” y “Metal-HardRock” en la versión 1.0. En la segunda versión de la web se siguió trabajando con ficheros como en la versión anterior, siguiendo el mismo esquema de la Figura 53. La diferencia de esta segunda versión respecto de la primera radica en la utilización de una interficie más gráfica y visual, como se aprecia en la Figura 55. Esto se consigue gracias a la utilización de CSS (Cascading Style Sheet). Se mantienen las mismas opciones que en la versión primera aunque ahora los resultados aparecen en un reproductor flash en el que las canciones pueden escucharse directamente sin necesidad de salir de la aplicación y abrir un reproductor de audio (en la Figura 55 se pueden apreciar los mismos resultados que se mostraban en la Figura 54 pero en esta versión). En esta segunda versión se mejora el diseño de la encuesta gracias al javascript y las solapas (tabs) que permiten navegar a través de las opciones con más facilidad (véase Figura 57). Figura 55. Esquema versión 2.0. 53/81 Clasificación musical personalizada en función del estado de ánimo Figura 56. Resultados de la búsqueda “Angry” y “Metal-HardRock” en la versión 2.0. Figura 57. Solapas de navegación javascript. En este punto, a la hora de implementar la tercera y última versión de la web, se considera la utilización de MySQL. Así, se introduce toda la información necesaria en una base de datos y se modifica el código de la versión anterior para que la información se obtenga de la base de datos en lugar de los ficheros. Se mantienen la mismas funciones: listado de canciones, buscador, encuesta, buscador de canciones similares por parámetros semánticos, acústicos y una combinación de los dos. Se introducen mejoras en la visualización de las distintas opciones, así como otras posibilidades que hacen la aplicación más amigable al usuario (user-friendly) y visual. Todos los detalles de esta última versión así como la implementación de cada uno de ellos se explica detalladamente a lo largo de los apartados siguientes. 3.1.1. Estructuración base de la datos MySQL Esta tercera y última versión de la web, aparte de por una serie de mejoras que se detallarán más adelante, se caracteriza por la utilización de una base de datos para extraer la información (en lugar de extraerla de ficheros como en las versiones anteriores). Así, el primer paso a la hora de implementar esta tercera versión, ha sido construir la base de datos organizando los ficheros que se utilizaban directamente en las anteriores versiones. Para llenar la base de datos ha resultado muy útil y conveniente la creación de una aplicación PHP que se ha ido modificando para leer de los distintos ficheros y completar los diferentes campos de la forma deseada; sin necesidad de escribir y rellenar cada campo. Se construye así la base de datos "cal500" (véase Figura 58) formada por dos tablas: "canciones" y "encuesta". En la Figura 59, Figura 60, Figura 61 y Figura 62 se detalla la estructura de ambas tablas y en la Figura 63 un esquema reflejando el proceso que se ha seguido para rellenar los diferentes campos. 54/81 Clasificación musical personalizada en función del estado de ánimo Figura 58. Estructura de “cal500”. Figura 59. Estructura de la tabla “canciones”. Figura 60. Estructura de la tabla “encuesta”. Figura 61. Estructura detallada de la tabla “canciones”. Figura 62. Estructura detallada de la tabla “encuesta”. 55/81 Clasificación musical personalizada en función del estado de ánimo Figura 63. Esquema de la construcción de la base de datos. A pesar de lo obvio de la información que aportan la mayoría de los campos, a continuación se explica el contenido de cada uno de los correspondientes a la tabla "canciones" de la base de datos "cal500": • artista y canción: Extraídos del fichero songNames.txt. • mp3: Contiene la ruta a los archivos MP3. • hard y soft: Contienen los vectores de 174 valores extraídos de los ficheros hardAnnotations.txt y softAnnotations.txt respectivamente correspondientes a cada una de las canciones. • delta: Contiene la ruta a los archivos que contienen los vectores de parámetros MFCC. • songname: Refleja los nombres de los diferentes archivos. • comp: Contiene, para cada canción, un vector de comparación, en el que cada uno de los 502 valores representa el grado de similitud entre los vectores de MFCC de esa canció y los de el resto de las 502 canciones. Tal y como aparece en la Figura 63, para conseguir estos vectores de comparación ha sido necesaria la utilización de una aplicación Matlab denominada Matrix502x502; la implementación de esta aplicación se explica con detalle seguidamente. En la tabla "encuesta", como aparece en la Figura 63, únicamente se ha volcado el fichero vocab.txt en el campo "vocab" añadiendo otro campo ("tipo") para especificar a que hace referencia cada uno de los conceptos de "vocab". También, en esta versión, se ha considerado traducir todo el texto al Castellano. Vectores de comparación: Matrix502x502 A continuación se detalla el proceso seguido para conseguir los vectores de comparación "comp" que forman parte de la base de datos. Estos vectores representan el parecido de los parámetros acústicos (MFCC) de cada una de las canciones con las 502 canciones que forman parte de la base de datos. Este vector es necesario para poder implementar las opciones que implican búsqueda de canciones (o reordenación de playlist) en función del parecido acústico. Como se ha detallado previamente, en un primer momento se intentó 56/81 Clasificación musical personalizada en función del estado de ánimo realizar esta comparación a través de la aplicación PHP: leyendo los ficheros .delta de cada canción y comparándolos con los demás; pero esta operación requería mayor tiempo de ejecución que el permitido por PHP y el servidor así que surgió la necesidad de otros métodos para realizar esta comparación. Si la opción de realizarlo con PHP hubiera sido viable esto permitiría la comparación de los parámetros MFCC a tiempo real. Debido al tiempo y los recursos computacionales que este proceso requiere se considera oportuno encontrar una alternativa para implementar esta comparación "offline" y almacenar estos datos (la comparación de cada canción con todas las demás) en la base de datos y así poder acceder fácilmente a ellos. Así, descartada la comparación a través de la aplicación web y utilizando PHP, se recurre a otros métodos; siendo la herramienta Matlab de gran ayuda para solventar el problema. Gracias a la función dlmread de Matlab se pueden leer ficheros y convertirlos en matrices. De esta manera todos los ficheros .delta una vez leídos en Matlab constituyen matrices de 10000 filas y 39 columnas (realmente tienen 40 columnas pero la última siempre es cero). Planteado así, el problema se limita a comparar matrices (véase la Figura 64). En un primer momento la comparación se realiza siguiendo las ecuaciones ( 1) y ( 2). Se prueba este método comparando diez canciones con las 502 que forman la base de datos. Este proceso de comparación tarda por cada una de las canciones cincuenta minutos. Analizando está comparación, se observan los mismos resultados para las diez canciones y esto hace pensar que el método seguido no es apropiado. Los resultados son similares al comparar con todas las canciones porque se trabaja con valores muy pequeños, cuya diferencia entre ellos también es pequeña. De igual forma, al restar valores y elevar esta resta al cuadrado no se tiene en cuenta el signo (dirección) de los diferentes valores. Figura 64. Esquema de las matrices de parámetros MFCC. dj = 1 i = 39 (c1i − c 2i ) 2 ∑ 39 i =1 DT = 1 10000 ( 1) j =10000 ∑d j ( 2) j =1 Por lo tanto, siguiendo el método de comparación de MFCC utilizado en [71], se modifican las ecuaciones que se utilizarán para compara las matrices por las ecuaciones ( 3) y ( 4). La medida de similitud utilizada en este caso se basa en la autocorrelación de vectores. Dados dos vectores (canción1 y canción2 corresponden a vi y vj) se calcula la similitud entre ellos calculando el producto escalar; éste será elevado si los dos vectores 57/81 Clasificación musical personalizada en función del estado de ánimo tienen un valor alto y están orientados en la misma dirección (ángulo). Con la ecuación ( 3) se calcula la similitud de cada una de las filas, para tener en cuenta la matriz completa se utiliza la segunda ecuación. En este caso se utiliza, como en el caso anterior, una función de Matlab en la que pasándole el vector 10000x40 de una canción lo compara con todas las demás; realizando esta función 502 dlmread y invirtiendo en esta operación cincuenta minutos. En este caso analizando los resultados de las diez canciones los resultados son diferentes y acordes con los esperados: realmente las canciones y el orden de las mismas refleja la mayor o menor similitud acústica. Así, llegado a este punto, habiendo encontrado un método de comparación el problema que se presenta es el tiempo que se invertirá en este proceso. Obviamente, comparar las 502 canciones entre ellas implica realizar el proceso anterior 502 veces y esto conllevaría un total de 25100 minutos, es decir, casi 18 días. Se considera esto excesivo y se intenta buscar una solución para reducir el tiempo que requiere la comparación de todas las canciones. s (i, j ) ≡ vi • v j S w (i, j ) = 1 w −1 ∑ (vi + k • v j + k ) w k =0 ( 3) ( 4) En todo momento se tiene presente que lo que se quiere construir es una matriz de 502 filas y 502 columnas (de ahí el nombre Matrix502x502) en la que cada uno de los valores represente el resultado de la comparación entre los vectores correspondientes a las canciones que se comparan. En la Figura 65 se puede ver a grandes rasgos la matriz que se pretende construir; se observa que las comparaciones de la diagonal (en la que se comparan las canciones con ellas mismas) podrían ahorrarse. De la misma forma, eliminando esta diagonal, las comparaciones están repetidas y sería suficiente con la parte superior o inferior de la diagonal para tener todas las comparaciones (comparar 2pac-trapped con 10cc-for_you_and_i es lo mismo que comparar 10cc-for_you_and_i con 2pac-trapped). Se decide así leer las 502 canciones con dlmread y guardarlas en el workspace de Matlab como variables así poderlas directamente utilizar en una función para realizar las comparaciones pertinentes. En este proceso aparece un nuevo inconveniente: Matlab almacena estas variables ocupando la memoria RAM del ordenador y esta está limitada a dos gigabytes, cada matriz 10000x39 de cada canción ocupa 3200000 bytes de memoria por lo que leer y almacenar en el workspace 502 matrices 100000x39 no es posible. Se intenta limitar el trabajo y dividir la matriz en cuatro matrices 251x251, pero se vuelve a presentar el mismo inconveniente. En este punto se decide dividir la matriz en veinticinco matrices de 100x100, después de comprobar que limitando el problema a un grupo de 100 canciones calcular las comparaciones entre las 100 canciones tarda únicamente siete minutos (empleando siempre la mayor parte de este tiempo en realizar los dlmread). Antes de utilizar esta división para calcular la matrix502x502 se calcula una matriz 200x200 utilizando las divisiones en matrices de 100x100; analizando que en el calculo de esta matriz 200x200 se emplean treinta minutos se decide calcular la matrix502x502 de la misma forma. 58/81 Clasificación musical personalizada en función del estado de ánimo Figura 65. Trazos generales de la matriz de comparación. Finalmente se crea la función c_matrix502, a la que se le pasa una matriz 502x502 de ceros y se obtiene la matriz completa de comparación de todas las canciones, de la que se obtienen los vectores "comp" que se incluyen en la base de datos. En la Figura 66 se puede ver la división en bloques que se realiza. Los bloques marcados en azul son los que incluyen las comparaciones que efectivamente se calculan. Los bloques marcados con una letra y un asterisco gris corresponden a las matrices transpuestas de los bloques anteriormente calculados. En el proceso de calculo se analizó el tiempo invertido en el mismo; los resultados aparecen reflejados en el log de la Figura 68. Se observa que el tiempo total es de dos horas y cuarenta minutos; mejorando notablemente el primer tiempo estimado que fue de 18 días. Como se puede apreciar en el log se tarda menos en calcular los bloques de la diagonal ya que en estos se utilizan únicamente 100 variables (y la RAM está menos saturada). La función c_matrix502 calcula los bloques marcados en azul, después realiza las operaciones detalladas en la Figura 67 para completar los valores de los bloques que faltan y obtener la matrix502x502 final. Figura 66. División en bloques de 100x100. 59/81 Clasificación musical personalizada en función del estado de ánimo Figura 67. Esquema de cálculo de la matriz de comparación. Figura 68. Log del cálculo de la matriz de comparación. 3.1.2. Funcionamiento y opciones Tal y como se puede observar en la Figura 69 la web mantiene el mismo diseño que en la versión anterior. En esta misma figura se pueden ver la gran mayoría de las opciones que ofrece la web. La totalidad de las opciones se describen a continuación una por una, tanto en lo que tiene que ver con su implementación como su utilización, aunque en lo que se refiere a utilización se describen diferentes procesos y ejemplos de forma más detallada en el apartado 4. 60/81 Clasificación musical personalizada en función del estado de ánimo Figura 69. Página principal de la versión 3.0. Lista de canciones Esta opción permite visualizar la lista completa de canciones. Las canciones aparecen ordenadas por artista y por orden alfabético. Gracias a las solapas (tabs) la visualización y navegación a través de las diferentes canciones es mucho más fácil que si se hiciera un listado directamente de las 502 que forman la base de datos. Al lado de cada una de las canciones aparece una checkbox (véase la Figura 70). A través de esta visualización se pueden marcar tantas canciones como el usuario desee. Una vez finalice su selección al clickear "Escuchar selección" se abre el reproductor flash para poder escuchar las canciones seleccionadas, tal y como aparece en la Figura 71. Bajo el reproductor se encuentra la opción "Editar y guardar playlist" que aparece siempre que se visualiza una playlist; la utilidad y funcionamiento de esta opción se explica más adelante. Figura 70. Menú de la lista de canciones. Figura 71. Resultado de una selección de canciones. 61/81 Clasificación musical personalizada en función del estado de ánimo Buscador En la Figura 72 aparecen los diferentes menús de búsqueda. Todos ellos sólo permiten búsquedas básicas: únicamente basándose en el título o el artista de la canción. En la parte superior se ofrece la posibilidad de una búsqueda más general. La segunda opción de búsqueda, situada en la parte inferior, permite buscar por artista o por canción; siempre en orden alfabético. Tanto esta opción como la anterior (Lista de canciones), figuraban en las dos versiones anteriores de la web y sirvieron como toma de contacto con el funcionamiento del lenguaje PHP y las bases de datos MySQL. En cualquiera de las dos opciones de búsqueda, tanto clickeando en “Buscar” como en “Escuchar”, los resultados aparecen en el reproductor flash. Figura 72. Menú del buscador. Encuesta (Sistema HowDoYouFeelToday) La denominada "encuesta" en las dos versiones anteriores de la web aquí toma el nombre de sistema HowDoYouFeelToday (ComoTeSientesHoy). Navegando por las diferentes pestañas, como se aprecia en la Figura 73, se permite al usuario elegir diferentes criterios a la hora de buscar: emoción, género, instrumentos, canción, etc. Aunque los criterios se podrían limitar únicamente a los dos primeros (Emoción y Género); los demás criterios también permiten obtener resultados satisfactorios. Sin embargo, para un usuario que no tenga demasiadas exigencias a la hora de buscar, utilizando los dos primeros es suficiente. Dados los experimentos realizados, se concluye que es suficiente con la emoción; el resto de criterios sirven para refinar la búsqueda. Todas las opciones aparecen marcadas en [x] por defecto; a partir de aquí el usuario puede elegir [si] o [no] en cada uno de los criterios. A partir de las opciones que el usuario ha elegido se generara un vector de 174 valores, donde las opciones que el usuario haya marcado tendrán un '1' (o un '0' en caso de haber elegido "no") y el resto de las opciones no elegidas su valor en el vector será "x". Este vector se compara con todos los vectores "hard" y "soft", acumulando en una variable el número de coincidencias; una vez analizada esta variable, se muestran las canciones con mayor número de coincidencias. 62/81 Clasificación musical personalizada en función del estado de ánimo Figura 73. Menú del sistema HowDoYouFeelToday seleccionando “Feliz” y “Classic Rock” La búsqueda, por defecto, muestra todas las canciones que contienen todos los criterios de búsqueda elegidos; así en la Figura 74, que es el resultado de la búsqueda de la Figura 73, aparecen todas las canciones que tienen asociada la emoción "Feliz" y el género "Classic Rock". Tal y como se ve en la Figura 74, se ofrece la opción "Ordenar alfabéticamente y personalizar". Al elegir esta opción se ofrece al usuario el menú de la izquierda de la Figura 75, donde se le permite elegir la canción que más se haya aproximado a lo que esperaba de la búsqueda y reordenar la playlist en función del parecido acústico de las demás canciones a ella (en la imagen derecha de la Figura 75 se muestra la playlist reordenada tomando como base “Money For Nothing” de Dire Straits). Así, la opción “Ordenar alfabéticamente y personalizar” (junto con la encuesta), ofrece la posibilidad de realizar una búsqueda utilizando únicamente parámetros semánticos y reordenar posteriormente los resultados en función de su similitud acústica. Figura 74. Resultados de la búsqueda. 63/81 Clasificación musical personalizada en función del estado de ánimo Figura 75. Menú de “ordenar alfabéticamente y personalizar” y resultados. Similar (por parámetros semánticos) En ocasiones, para un usuario, puede que sea mucho más fácil expresar su estado de ánimo, o cómo se siente en un determinado momento, especificando una canción determinada. Así, a través de esta opción y las dos siguientes se aprovecha este hecho para poder ofrecer una playlist acorde con las preferencias del usuario. Estas tres opciones conjuntamente podrían considerarse tres versiones diferentes de una opción general "Búsqueda de canciones similares". Esta es la primera versión de esta opción, que ya estaba presente en las dos primeras versiones de la web. El funcionamiento se basa en ofrecer al usuario la lista completa de canciones de la que éste puede seleccionar únicamente una de ellas. Por defecto la similitud requerida que se establece entre la canción elegida y las demás es de un 87% (esto supone que coincidan 151 parámetros semánticos de los 174 totales que definen una canción) pero el usuario puede variarlo. Para ofrecer esta lista se comparan los vectores "hard" y "soft" de la canción seleccionada con los vectores "hard" y "soft" del resto de las canciones; acumulando en una variable el número de coincidencias. Después se muestran las canciones con mayor número de coincidencias; limitando esta lista el porcentaje de similitud escogido por el usuario. Similar (por parámetros acústicos) Llegado a este punto, únicamente habiendo trabajado con los parámetros semánticos de las diferentes canciones, se considera oportuno utilizar los parámetros acústicos de las canciones (en este caso los vectores de MFCC) y así poder encontrar canciones similares acústicamente. Esta segunda versión de la búsqueda de canciones similares permite al usuario, como en la versión anterior, elegir una canción que represente su estado de ánimo en un momento determinado. Una vez elegida, el sistema generará una lista de canciones en la que aparecerán ordenadas en función del mayor o menor parecido teniendo en cuenta los parámetros acústicos. El número de canciones que tiene esta lista es configurable por el usuario. Para generar esta lista de canciones se analiza el vector de comparación ("comp") de la canción elegida y se ordenan todos los valores de mayor a menor; después simplemente se muestran tantas canciones de esta lista como haya solicitado el usuario. Esta opción muestra resultados en muchos casos que tienen poca relación con la canción seleccionada; los motivos de esto se explican con detalle en el apartado 4. 64/81 Clasificación musical personalizada en función del estado de ánimo Similar (por parámetros acústicos y semánticos) Esta última versión de la búsqueda de canciones similares une los criterios de búsqueda de las dos versiones anteriores. Así, igual que en los casos anteriores, se permite al usuario seleccionar una canción. A partir de aquí el sistema busca las canciones que más se parezcan a la seleccionada en función de sus vectores "hard" y "soft" (parámetros semánticos), una vez obtenida está lista (limitada por el porcentaje de parecido que fija el usuario), se reordenan las canciones en función de la similitud de sus vectores "comp" (parámetros acústicos). Resumiendo, esta opción genera los mismos resultados que la búsqueda de canciones similares por parámetros semánticos pero ordenando éstos en función de su similitud por parámetros acústicos. Limitando primeramente la similitud semántica entre canciones y después reordenando por parecido acústicos se obtienen mejores resultados que con las dos versiones anteriores; tal y como se detallará en los ejemplos del apartado 4. Editar y guardar playlist Siempre que se visualiza una playlist en el reproductor flash se ofrece debajo de éste la opción al usuario de "Editar y guardar playlist". Seleccionando esta opción, tal y como se ve en la Figura 76, se puede desmarcar cualquiera de las canciones (o añadir más a través de las pestañas) y una vez conforme el usuario puede guardar la playlist en un archivo de texto. En este caso el usuario ha decidido nombrar a la playlist "para_el_coche". El formato de este archivo de texto aparece en la Figura 77. Figura 76. Menú de editar y guardar playlist. 65/81 Clasificación musical personalizada en función del estado de ánimo Figura 77. Ejemplo de playlist guardada. Abrir playlist Esta opción se visualiza permanente en el menú como todas las descritas con anterioridad (a excepción de la de "Editar y guardar la playlist"). Se pueden abrir playlist que hayan sido guardadas previamente siguiendo los pasos de la opción anterior para guardar una playlist. El usuario busca donde esté almacenado el archivo de texto en su ordenador y al abrirlo se cargará la playlist en el reproductor flash. El archivo de texto debe tener la extensión .txt y su formato debe ser el mismo que el de la Figura 77. 66/81 Clasificación musical personalizada en función del estado de ánimo 4. Resultados En este apartado se analizan los resultados de la implementación de la página web a través de diferentes ejemplos de ejecución y búsqueda. Éstos se detallan en subapartados; cada uno de ellos haciendo referencia a las distintas opciones que ofrece la web. Se obvian los resultados obtenidos en el listado de canciones y otros procesos sencillos que únicamente implican mostrar o guardar información (como, por ejemplo, "Editar y guardar playlist" u "Ordenar alfabéticamente y personalizar"). Asimismo, se analizan una serie de ventajas y desventajas de estos sistemas de búsqueda y del sistema de organización de la información; éstas se analizan especialmente en los apartados que tienen que ver con la búsqueda de canciones similares. 4.1. Buscador En las primeras versiones de la web el buscador únicamente realizaba búsquedas exactas. Esto se modificó para que las búsquedas fuesen más generales. Así, al escribir "Bob" en el campo artista aparecerá tanto Bob Dylan como Bob Marley; o al escribir "love" en canción aparecerán todas las canciones que contengan la palabra "love" en el título. Estos mismos resultados (y algunos más) se obtendrían escribiendo "bo" o "lo" en los campos de artista y canción respectivamente. 4.2. Encuesta (Sistema HowDoYouFeelToday) Para comprobar el funcionamiento del sistema se realizan diversas pruebas. Se concluye que al introducir un número elevado de criterios de búsqueda los resultados son menores o en algunos casos ni siquiera se producen (es decir el resultado de la búsqueda es nulo); en este último caso se muestra el mensaje que aparece en la Figura 78 al usuario y se le ofrece la posibilidad de eliminar criterios. Si en ese caso se bajara el grado de coincidencia aparecerían todas las canciones que tuviesen asignada la emoción "Tranquilo" y todas las canciones cuyo género fuera "Metal". Igualmente, se concluye, y se explica al usuario en la pestaña "¿Cómo funciona?" que los mejores resultados se obtienen con "coincidencia total". Se prueba el funcionamiento con casos muy concretos como "Solo de guitarra eléctrica (limpia)", obteniendo los resultados de la Figura 79; todas las canciones contienen un solo de guitarra eléctrica limpio. Refinando la búsqueda anterior marcando un [no] en "cantante masculino" en la pestaña "Instrumentos" se aprecia en la Figura 80 como las únicas canciones que permanecen de las anteriores son las que tienen una cantante femenina o son instrumentales. Como esta búsqueda se realizan muchas otras verificando el funcionamiento sin observar especiales problemas o discrepancias entre las búsquedas y los resultados. Figura 78. Mensaje que aparece al no encontrar resultados. 67/81 Clasificación musical personalizada en función del estado de ánimo Figura 79. Resultados de una búsqueda de “solo de guitarra eléctrica limpio” Figura 80. Resultados al refinar la búsqueda. 4.3. Similar (por parámetros semánticos) En este apartado, y en los siguientes, se utiliza la canción que ha servido de ejemplo a lo largo de toda la memoria ("One" de Metallica) y también "Don't Know Why" de Norah Jones. En el caso de "One", en la búsqueda por parámetros semánticos, aparecen pocas canciones y algunas de ellas ni siquiera corresponden al género de "One" (Metal), esto puede ser debido a que esta canción no es quizá la más representativa ni de este género ni de este grupo; aún así, las canciones que aparecen en la búsqueda son similares. En la Figura 81 se pueden observar los resultados de las dos búsquedas. Figura 81. Resultados al buscar por parámetros semánticos: “One” y “Don’t Know Why” 68/81 Clasificación musical personalizada en función del estado de ánimo 4.4. Similar (por parámetros acústicos) Para analizar los resultados de este apartado se utilizan de nuevo las canciones del apartado anterior. Los resultados se pueden ver en la Figura 82. Escuchando las canciones, especialmente en el caso de Norah Jones, la gran mayoría de ellas comparten el mismo "beat" que "Don't Know Why". En el caso de "One" los resultados distan mucho de ser parecidos, esto es debido a que los primeros minutos de "One" están formados por sonidos pirotécnicos en lugar de música; así las canciones que aparecen en la búsqueda por similitud de parámetros acústicos comparten parecido con esa pirotecnia. Analizado desde este plano (el de buscar similitud entre la pirotecnia de "One" y otras canciones) los resultados son acordes. Aún así, para demostrar el correcto funcionamiento de esta aplicación se analizan dos hechos. Primeramente que en cualquier búsqueda que se realice la primera canción que aparece como resultado, es decir, el valor mayor del vector de comparación ("comp"), siempre es la misma canción. Este primer hecho ya demuestra el funcionamiento pero se verifica con otro ejemplo que se detalla a continuación. En la base de datos figuran dos canciones que comparten la misma base melódica: "U Can't Touch This" de Mc Hammer y "Super Freak" de Rick James. Si el sistema funciona correctamente al buscar canciones similares por parámetros acústicos en cualquiera de los dos casos debería aparecer la otra; se demuestra que así ocurre en la Figura 83. No aparece como primera opción ya que si se escucha atentamente la melodía empieza en segundos diferentes; aún así aparece de los veinte primeros resultados de una lista de 502 canciones. Figura 82. Resultados al buscar por parámetros acústicos: “One” y “Don’t Know Why” Figura 83. Resultados al buscar por parámetros acústicos: “U Can’t Touch This” y “Super Freak” 69/81 Clasificación musical personalizada en función del estado de ánimo 4.5. Similar (por parámetros acústicos y semánticos) Para comprobar el funcionamiento de esta búsqueda se vuelven a utilizar los ejemplos anteriores. Primeramente, en la Figura 84, aparece el resultado de buscar "U Can't Touch This"; donde se observa que "Super Freak" (que como se ha comentado con anterioridad tiene la misma base melódica) aparece como segunda opción en los resultados. Si se busca “Super Freak”, “U Can’t Touch This” aparece como primera opción como se puede observar en la misma figura. De la misma manera, buscando las otras dos canciones ya mencionadas en ejemplos anteriores y escuchándolas, se observa que se ordenan correctamente; mejorando los resultados que se obtenían en las dos opciones anteriores en las que únicamente se tenían en cuenta parámetros acústicos y semánticos de forma independiente (véase la Figura 85). Figura 84. Resultados al buscar por parámetros acústicos y semánticos: “U Can’t Touch This” y “Super Freak” Figura 85. Resultados al buscar por parámetros acústicos y semánticos: “One” y “Don’t Know Why” 70/81 Clasificación musical personalizada en función del estado de ánimo 5. Conclusiones y líneas de futuro La diferencia de este trabajo con otros similares, como los que se hace referencia a lo largo del mismo, radica, por una parte, en que no se limita únicamente a búsquedas semánticas y, por otra parte, éstas, a su vez, no se limitan exclusivamente al estado de ánimo. Un usuario no siempre es capaz de determinar o definir su estado ánimo con adjetivos concretos. Utilizando ese estrecho vínculo existente entre música y emoción, en este trabajo se le ofrece al usuario la posibilidad de definir su estado de ánimo eligiendo una canción. De este modo, el usuario está definiendo su estado de ánimo con precisión (el estado de ánimo asociado por parámetros semánticos a esa canción). Así, la búsqueda de canciones similares, uniendo las ventajas de la búsqueda por similitud de parámetros semánticos y acústicos, ofrece una lista de canciones que se adapta al usuario. Futuras versiones de esta web podrían incluir una opción en la que, una vez elegida una canción y generada la lista de canciones similares acústica y semántica, se le indicara al usuario el estado de ánimo que reflejan el conjunto de canciones mostrado (utilizando los parámetros semánticos de todas ellas) y se le sugirieran más canciones cuyos parámetros semánticos asociados a la emoción coincidieran con ese estado de ánimo. Otros trabajos relacionados con esta misma materia se limitan a análisis o investigaciones en muchos casos muy concretos (utilizando bases de datos pequeñas, un único estilo musical, etc.) y en otros demasiado generales o teóricos sin ofrecer ningún resultado práctico que demuestre que la teoría llegue a funcionar. Asimismo, muchos de estos trabajos no están disponibles online ni puede analizarse su funcionamiento. Por este motivo se decide implementar una web en lugar de una aplicación software; por un lado para que ésta sea accesible y por otro para aprovechar las ventajas que ofrece Internet: una web de estas características, a largo plazo y disponiendo de un gran número de usuarios, puede convertirse en una red social más en la que usuarios y música estén vinculados por su estado de ánimo. Visto de otra manera, una aplicación software carece en gran medida del dinamismo de una página web. Además de lo ya mencionado, esta aplicación permite agrupar canciones en función de parámetros tan concretos como un “solo de guitarra” o una “textura acústica”; aunque esto es posible ya que la lista de canciones estaba previamente etiquetada gracias a la encuesta realizada por el Computer Audition Laboratory de la Universidad de California. Una lista desconocida de canciones no dispone de todas estas características semánticas asociadas y es posible que únicamente tenga asociados tags que incluyan aspectos básicos de esta canción (artista, título, etc.). Así, se concluye que para que este sistema funcionara para cualquier base de datos desconocida necesitaría incluir todos estos parámetros. Automatizar este proceso es algo sobre lo que no se han realizado excesivas labores de investigación y queda en la mayoría de los trabajos que versan sobre aspectos similares a los tratados en este como una línea de futuro. Siguiendo con el hilo anterior, se observa que algunas canciones populares, al ser más conocidas, ofrecen mejores resultados en las búsquedas; por ejemplo aparecen al realizar búsquedas más restrictivas esperando encontrarlas. Esto es uno de los problemas que provoca que los parámetros semánticos estén asignados manualmente por usuarios a través de una encuesta realizada mientras escuchaban las canciones. En este proceso intervienen la subjetividad y la predisposición de un usuario a escuchar o valorar con más exactitud e interés una canción que haya escuchado previamente que una canción desconocida. Esto se puede observar especialmente al buscar similitud de canciones no muy populares por parámetros acústicos y observar generalmente pocos resultados. Sin embargo una canción popular con la misma restricción de búsqueda ofrece muchos más resultados. 71/81 Clasificación musical personalizada en función del estado de ánimo Uno de los problemas que se han tenido que solucionar en el desarrollo de este trabajo ha sido el hecho de que los parámetros acústicos utilizados para buscar similitud acústica (MFCC) están calculados únicamente para un minuto de todas las canciones. Así, estos parámetros, no consiguen definir totalmente las canciones. De igual forma, debido a esto, canciones cuyo carácter melódico es variable a lo largo de los minutos que duran, al únicamente considerar un minuto de las mismas este carácter melódico no siempre queda representado por los MFCC extraídos (más aún cuando estos MFCC han sido elegidos aleatoriamente). Por este motivo la búsqueda de canciones similares por parámetros acústicos no ofrecía los resultados esperados y se necesitó refinarla con los parámetros semánticos para así solventar el problema. En el proceso de refinar la búsqueda se hace una observación: al considerar una búsqueda semántica y acústica más restrictiva aparecen unas canciones como resultado que al bajar el grado de restricción en la búsqueda cambian de lugar en la lista cuando, aparentemente, deberían seguir manteniéndose las primeras de la lista. Esto ocurre porque la búsqueda inicialmente se realiza por parámetros semánticos y estos resultados después se reordenan por parecido acústico, así en la primera búsqueda (la restrictiva) aparecerán todas las canciones con mayor coincidencia semántica pero al bajar esta restricción en la segunda búsqueda se suman nuevas canciones que se reordenan según la similitud acústica (nótese que la similitud semántica y acústica no tienen porqué coincidir). Así se ofrece la posibilidad al usuario de descubrir nuevas canciones que incluso pueden parecerse más acústicamente a la que ha seleccionado (aunque a priori por sus parámetros semánticos, por ejemplo el género, sean diferentes). A pesar de lo mencionado anteriormente, el funcionamiento de la comparación por parámetros acústicos presenta un funcionamiento correcto si se analiza obviando una serie de hechos. Si se escuchan detenidamente las canciones que se muestran en los resultados de una búsqueda por similitud acústica, prestando únicamente atención al beat de las canciones, se puede observar como comparten el mismo beat, aunque puedan parecer en un primer momento canciones radicalmente opuestas (en cuanto a género o incluso voz). En ocasiones en los resultados también aparecen de forma recurrente canciones electrónicas o instrumentales; se concluye que esto ocurre ya que canciones de este tipo son más "sencillas" (al no tener voz o muchos instrumentos complejos como las guitarras eléctricas) y así es más probable que se parezcan a cualquier otra canción. En la mayoría de los casos al buscar una canción entre los resultados aparecen canciones muy parecidas a la buscadas (especialmente en casos que la voz es especialmente característica, por ejemplo) pero siempre aparece alguna canción instrumental o electrónica que no tiene excesiva similitud con la seleccionada; estas canciones aparecen también en los resultados porque contienen un beat común que se repite en la estructura melódica de muchas canciones porque es sencillo. Los MFCC se utilizan generalmente en aplicaciones que solo incumben la voz, como los sistemas de reconocimiento, en este caso se analizan fonemas concretos y estudiados previamente que hacen referencia a los diferentes fonemas vocales y modulaciones de la voz. Los patrones de estos fonemas se repiten aunque se puedan pronunciar de diferentes formas que implican leves variaciones de la envolvente frecuencial. La existencia de palabras y fonemas es extensa pero limitada y puede cuantificarse y modelarse; sin embargo en el caso de la música cuantificar las combinaciones de voz, instrumentos y ritmos resulta mucho más complicado. Aún así, como ya se explicó en el apartado correspondiente a los MFCC que forman parte de la base de datos CAL500, éstos fueron calculados para toda la canción pero se seleccionaron aleatoriamente sólo un número reducido de ellos (para conseguir que todos los vectores fueran iguales y así pudieran compararse con facilidad). Esta aleatoriedad impide saber a qué partes de la canción corresponden y esto, de igual manera, 72/81 Clasificación musical personalizada en función del estado de ánimo imposibilita una evaluación minuciosa de los resultados obtenidos (especialmente cuando se trata de canciones que varían de ritmo o beat). Los MFCC se ocupan de analizar el comportamiento frecuencial de la señal sobre la que se calculan, pero no analizan las componentes melódicas. Sería más adecuado para realizar una comparación de este tipo utilizar unos parámetros que tuvieran en cuenta al mismo tiempo la evolución temporal y frecuencial de la melodía (y que estuvieran más allá del análisis que ofrecen las derivadas primera y segunda de los MFCC). Así, serían más adecuados parámetros como los AFTE o chroma; pero al tener canciones que duran tiempos diferentes la comparación de estos parámetros no sería viable, al menos no de forma trivial, ya que esto implicaría tener que seleccionar partes de la canción (por ejemplo el estribillo) o alinear los vectores de parámetros. El estudio y propuesta de soluciones para este problema se considera como línea de futuro de este trabajo. Para esta línea de futuro sugerida se considera la siguiente valoración que podría servir como punto de partida: Generalmente lo más representativo de una canción está contenido en el estribillo; teniendo en cuenta que éste dura un tiempo inferior al de la melodía completa, se podría considerar extraer el estribillo de cada una de las canciones (limitando el tiempo al de la canción con el estribillo más largo) y calcular todos los parámetros acústicos (AFTE, chroma y MFCC) de este fragmento de tiempo para todas las canciones. Se obtendrían así vectores acústicos para cada una de las canciones que tendrían el mismo número de valores y así podrían ser comparados tal y como se ha hecho en este trabajo al comparar los MFCC. Así, la información de similitud que aporta la comparación de MFCC se vería complementada con las comparaciones de parámetros chroma y AFTE. Un proyecto web como el desarrollado en este trabajo siempre se presta a numerosas mejoras (como ha ido sucediendo, por ejemplo, con last.fm). Se disponen en todo momento recursos y conocimientos de PHP suficientes para desarrollarlos pero todos ellos suponen mejoras o investigación en temas que tienen que ver directamente con el desarrollo de algoritmos en PHP y no con el desarrollo explícito de aplicaciones acústicas. Al considerarse estas mejoras únicamente relacionadas con la vertiente informática de este trabajo y no con la acústica se ha decidido no implementarlas por el momento. Entre éstas figuran: crear cuentas de usuario, permitiendo así guardar preferencias y playlist de cada usuario en el servidor para que el usuario tenga fácil acceso a las mismas; ofrecer al usuario la posibilidad de sugerir (o añadir) canciones cuando una búsqueda no ofrece resultados; etc. Todas estas mejoras implican un sistema más personalizado y dinámico, cuestión que se deja abierta para futuras versiones de la web. En este trabajo se utiliza CAL500, una base de datos previamente construida en la que se incluían tanto las anotaciones semánticas como los parámetros acústicos de todas las canciones. Tal y como está diseñada la aplicación web es viable la inclusión de nuevas canciones: se podría permitir al usuario añadir una canción, offline se calcularían los parámetros acústicos, se compararían con las demás y se asignarían parámetros semánticos (que podría añadir el usuario o el administrador). Una línea de futuro conllevaría que este proceso se realizará online y automáticamente. Otra línea de futuro consistiría en que esta aplicación pudiera utilizarse con un conjunto de canciones desconocido; en este caso sería imprescindible añadir funciones que calcularan los parámetros acústicos así como un sistema para obtener los parámetros semánticos. Siguiendo las observaciones del párrafo anterior resultaría interesante que esta aplicación web pudiera importarse e integrarse como una opción o función en reproductores MP3 o teléfonos móviles (como ya se ha realizado en trabajos como los realizados por Sony con su sistema SenseMe [116] o Lifetrack [112]). 73/81 Clasificación musical personalizada en función del estado de ánimo 6. Bibliografía Nota: Todas las páginas web que aparecen en las referencias bibliográficas siguientes fueron consultadas entre Abril y Mayo de 2008. [1] "AudioID Automatic Identification & Fingerprinting of Audio", Fraunhofer Society. [2] A. Härmä y K. Palomäki. "HUTear – a free Matlab toolbox for modeling of auditory system". Proceedings of 1999 Matlab DSP Conference, Espoo, Finland, Nov. 1999, pp. 96–99. http://www.acoustics.hut.fi/software/HUTear/ [3] Absolute MFCC Computations, Institute for Signal and Information Processing (Mississippi State University) http://www.ece.msstate.edu/research/isip/projects/speech/software/tutorials/pro duction/fundamentals/current/section_03/s03_03_p03.html [4] Allmusic http://www.allmusicguide.com [5] Amazon http://www.amazon.com [6] Andre Mosley, Po T. Wang, John Broadway, y Yu-Heng Lee; "Audio Fingerprint Generation" (2006) http://cnx.org/content/m14232/latest/ [7] Andreas Rauber, y Markus Frühwirth; “Automatically Analyzing and Organizing Music Archives”. 5th European Conference on Research and Advanced Technology for Digital Libraries (ECDL 2001), Springer Lecture Notes in Computer Science. [8] Arshia Cont y Shlomo Dubnov. "Realtime Multiple-Pitch And Multiple-Instrument Recognition of Music Signals Using Sparse Non-Negative Constraints". Proceedings of Digital Audio Effects Conference (DAFx), 2007. [9] Arshia Cont. "Audio Spectral Processing and Recognition Implementation of a “Listening Machine”". International Conference in Acoustics, Speech and Signal Processing (ICASSP), 2003. [10] Audacity http://audacity.sourceforge.net [11] AudioClas: Automatic Classification of Sound Effects. Music Tecnology Group, Universidad Pompeu Fabra de Barcelona) http://audioclas.iua.upf.edu/documents.shtml [12] Beinan Li. "Audio-based Music Similarity Analysis" (2005). [13] Beth Logan. "Mel Frequency Cepstral Coefficients for Music Modeling". Proceedings of ISMIR 2000. [14] CDDB http://www.cddb.com/ [15] Changsheng Xu, Namunu C Maddage, Mohan S Kankanhalli. "Automatic Structure Detection for Popular Music". Multimedia, IEEE, Vol. 13, No. 1. (2006), pp. 65-77. [16] Chia-Chu Liu, Yi-Hsuan Yang, Ping-Hao Wu y Homer H. Chen. "Detecting and Classifying Emotion in Popular Music". Joint Conference on Information Sciences 2006 (JCIS 2006). 74/81 Clasificación musical personalizada en función del estado de ánimo [17] Chris Cooke. "Automatic Mood Quantification of Contemporary Music" (2006). [18] Chris Plack. “The Musical Ear (NewMusicBox)” http://www.newmusicbox.org/article.nmbx?id=4077 [19] Chroma Feature Analysis and Synthesis. Dan Ellis. Lab for Recognition and Organization of Speech and Audio (LabROSA). http://www.ee.columbia.edu/~dpwe/resources/matlab/chroma-ansyn/ [20] Codificador MP3 en Matlab http://members.fortunecity.com/alex1944/psicoacustica/psycoasp.html [21] Computer Audition Laboratory, http://cosmal.ucsd.edu/cal/ [22] Cyc http://www.cyc.com [23] D. W. Robinson, R. S. Dadson. (1956). ‘‘A re-determination of the equal-loudness relations for pure tones’’ Br. J. Appl. Phys. 7, 166–181. [24] Dan Liu, Lie Lu y Hong-Jiang Zhang. "Automatic Mood Detection from Acoustic Music Data". Proceedings of the International Conference on Music Information Retrieval (ISMIR 2003). [25] Dan-Ning Jiang, Lie Lu, Hong-Jiang Zhang, Jian-Hua Tao y Lian-Hong Cai. "Music Type Classification By Spectral Contrast Feature". In Proceedings of IEEE International Conference on Multimedia and Expo (ICME), 2002. [26] David A. Torres, Douglas Turnbull, Bharath K. Sriperumbudur, Luke Barrington y Gert R. G. Lanckriet. "Finding Musically MeaningfulWords by Sparse CCA". Neural Information Processing Systems (NIPS) Workshop on Music, the Brain and Cognition, 2007. [27] David Huron. "Music Cognition Handbook: A Glossary of Concepts" (2004). http://csml.som.ohio-state.edu/Resources/Handbook/index.html [28] David Huron. "Perceptual and Cognitive Applications in Music Information Retrieval" (ISMIR 2000). [29] David Torres, Douglas Turnbull, Luke Barrington y Gert Lanckriet. "Identifying words that are musically meaningful". ISMIR 2007, International Conference on Music Information Retrieval. [30] Densil Cabrera, Sam Ferguson, Emery Schubert. “PsySound3: software for acoustical and psychoacoustical analysis of sound recordings”. Proceedings of the 13th International Conference on Auditory Display, Montreal Canada, June 26-29 2007, pp. 356-363. http://psysound.wikidot.com/ [31] Densil Cabrera. "‘Psysound’: A Computer Program For Psychoacustical Analysis". MikroPolyphonie 5, http://www.mikropol.net [32] DigiMarc: http://www.digimarc.com/ [33] Discogs www.discogs.com [34] Dominik Niewiadomy, Adam Pelikant. "Digital Speech Signal Parameterization by Mel Frequency Cepstral Coefficients and Word Boundaries". Universidad de California, San Diego. 75/81 Clasificación musical personalizada en función del estado de ánimo [35] Doris Baum. "EmoMusic – Classifying Music According to Emotion". Proceedings of the 7th Workshop on Data Analysis (WDA2006), Kosice, Slovakia, July 1-3, 2006. [36] Douglas Turnbull, David Torres y Gert Lanckriet. "Semantic Annotation and Retrieval of Music and Sound Effects". IEEE Transactions on Audio, Speech, and Language Processing, February 2008. [37] Douglas Turnbull, Luke Barrington y Gert Lanckriet. "Modeling music and words using a multi-class naïve Bayes approach". International Symposium on Music Information Retrieval (ISMIR 2006). [38] Douglas Turnbull, Luke Barrington y Gert Lanckriet. "Towards Musical Query-bySemantic-Description using the CAL500 Data Set". Proceedings of the 30th annual international ACM SIGIR, 2007. [39] Douglas Turnbull, Luke Barrington, David Torres y Gert Lanckriet. "Exploring the Semantic Annotation and Retrieval of Sound". CAL Technical Report CAL-2007-01, San Diego, 2007. [40] Douglas Turnbull, Ruoran Liu, Luke Barrington, Gert Lanckriet. "Using games to collect semantic annotations of music". ISMIR, Viena (Austria),2007. [41] Douglas Turnbull. "Automatic Music Annotation" (2005). [42] E. Bigand, F. Madurell, J. Marozeau y A. Dacquet. "Multidimensional scaling of emotional responses to music: The effect of musical expertise and of the duration of the excerpts". Cognition and Emotion, vol. 19, n° 8, Diciembre 2005, p. 11131139. [43] E. Zwicker y E. Terhardt. (1980). Analytical expressions for critical bandwidths as a function of frequency. The Journal of the Acoustical Society of America, 68, 1523--1525. [44] Elias Pampalk. "Islands of Music: Analysis, Organization, and Visualization of Music Archives". Tesis, Vienna University of Technology, Austria (2001). [45] Elias Pampalk. http://pampalk.at/ [46] Emilia Gómez Gutiérrez. "Melodic Description Of Audio Signals For Music Content Processing”. Trabajo de investigación, PhD Programa Informática y Comunicación Digital, Universidad Pompeu Fabra (2002). [47] Emilia Gómez. "Marcas de Agua en Audio Digital: Conceptos y aplicaciones". Universidad Pompeu Fabra (2004). [48] Emotiongram. Meghen Miles, Merric Mosst (2006). http://wwwscf.usc.edu/~ise575/b/projects/mosst_miles/concept.htm [49] Fisiología del Sistema Auditivo. Universidad Simón Bolivar, Venezuela. http://labc.usb.ve/EC4514/AUDIO/Sistema%20Auditivo/Sistema%20Auditivo.htm l [50] Frames ID3 http://www.id3.org/Frames 76/81 Clasificación musical personalizada en función del estado de ánimo [51] Francesc Alías y David García, "Identificación de emociones a partir de texto usando desambiguación semántica". Procesamiento del Lenguaje Natural, Revista nº 40, marzo de 2008, pp. 75-82. [52] Fraunhofer Society http://www.fraunhofer.de/ [53] FreeDB www.freedb.org [54] Geoff Peters, Caroline Anthony, and Michael Schwartz (Simon Fraser University, Canadá). “SongTapper” http://www.songtapper.com/s/tappingmain.bin [55] Geoffroy Peeters, Stephen McAdams y Perfecto Herrera. "Instrument Sound Description in the Context of MPEG-7". ICMC2000, Berlin (Alemania), 2000. [56] Geoffroy Peeters. "A Large Set of Audio Features for Sound Description (similarity and classification)". CUIDADO project. CUIDADO I.S.T. Project Report 2004. [57] George Tzanetakis y Perry Cook. "MARSYAS3D: A Prototype Audio Browser-Editor Using A Large Scale Immersive Visual And Audio Display". Proceedings of the International Conference on Auditory Display (ICAD), Helsinki (Finland), 2001. [58] George Tzanetakis. "Manipulation, Analysis and Retrieval Systems For Audio Signals". Princeton Computer Science Technical Report TR-651-02 , 2002. [59] George Tzanetakis. Marsyas http://marsyas.sness.net/documentation [60] Gert Lanckriet. "Designing a Content-Based Music Search Engine" (2007). [61] Handbook For Acoustics Ecology. Barry Truax. World Soundscape Project, Simon Fraser University, ARC Publications, 1978. http://www.sfu.ca/sonicstudio/handbook/index.html [62] Hidden Markov Model (HMM) Toolbox for Matlab http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html [63] Hugo Liu, Push Singh y Ian Eslick. ConceptNet http://web.media.mit.edu/~hugo/conceptnet/ [64] ID3 http://www.id3.org [65] I-Doser http://www.i-doser.com/ [66] ISMIR: The International Conferences on Music Information Retrieval and Related Activities http://www.ismir.net/ [67] Jaap Haitsma, Ton Kalker y Job Oostveen. "Robust Audio Hashing for Content Identification". Proceedings of Content Based Multimedia Indexing 2001, Brescia, Italia, Sept. 2001. [68] Jaap Haitsma, Ton Kalker. "A Highly Robust Audio Fingerprinting System". Proc. ISMIR 2002, pp.107–115, Oct. 2002. [69] Jan-Mark Batke, Gunnar Eisenberg, Philipp Weishaupt y Thomas Sikora. "A Query by Humming system using MPEG-7 Descriptors". 116th Audio Engineering Society Convention, Berlin, May 2004. 77/81 Clasificación musical personalizada en función del estado de ánimo [70] Jayme Garcia Arnal Barbedo y Amauri Lopes. "Automatic Genre Classification of Musical Signals". EURASIP Journal on Applied Signal Processing, Volume 2007, Issue 1, pp. 157 - 157. [71] Jonathan Foote. "Visualizing Music and Audio using Self-Similarity". Proceedings of the seventh ACM international conference on Multimedia (Part 1), pp. 77 - 80; Orlando, Florida (1999). [72] Juha Vesanto, Johan Himberg, Esa Alhoniemi, Juha Parhankangas. SOM Toolbox for Matlab 5. Report A57, Helsinki University of Technology, Neural Networks Research Centre, Espoo, Finland, 2000. [73] Kate Hevner. Experimental studies of the elements of expression in music. American Journal of Psychology, Vol. 48, pp. 246-268. 1936. [74] Kristine Thimm y Brooke Fischer. "Emotional Responses To Music: Influence Of Psycho-Acoustical Features". Proceedings of The National Conference on Undergraduate Research (NCUR) 2003, University of Utah, Salt Lake City, Utah. March 13 – 15, 2003. [75] L3enc http://www.rjamorim.com/rrw/l3enc.html [76] LabROSA (Laboratory for the Recognition and Organization of Speech and Audio) de la Universidad de Columbia, Nueva York http://labrosa.ee.columbia.edu/ [77] Last.fm Audioscrobbler http://www.audioscrobbler.net/ [78] Last.fm http://last.fm [79] Lawrence R. Rabiner. "A tutorial on Hidden Markov Models and selected applications in speech recognition". Proc. IEEE, Vol 77, No. 2, pp. 257-286, 1989. [80] Luke Barrington, Antoni Chan, Douglas Turnbull & Gert Lanckriet. "Audio Information Retrieval Using Semantic Similarity". International Conference on Acoustic, Speech and Signal Processing (ICASSP), Hawaii, 2007. [81] MagicMP3Tagger http://www.magic-tagger.com/eng/index.php [82] Malcolm Slaney http://www.slaney.org/malcolm/pubs.html [83] Marc Torrens, Patrick Hertzog y Josep-Lluís Arcos. "Visualizing And Exploring Personal Music Libraries". In ISMIR 2004, User Interfaces, pp. 421--424, Barcelona, Spain, 2004. [84] Mark D. Korhonen, David A. Clausi y M. Ed Jernigan. "Modeling Emotional Content of Music Using System Identification". IEEE Trans. on Systems, Man, and Cybernetics: Part B Cybernetics, Vol. 36, No. 3, pp. 588-599. [85] Markus Frühwirth, Andreas Rauber. "Self-Organizing Maps for Content-Based Music Clustering". Proceedings of the 12th Italian Workshop on Neural Nets (2001). [86] Martin F. McKinney y Jeroen Breebaart. "Features for Audio and Music Classification". Proceedings of the 4th Int. Conf. Music Information Retrieval (ISMIR), H.H. Hoos and D. Bainbridge, eds., Johns Hopkins Univ., 2003, pp. 151– 158. 78/81 Clasificación musical personalizada en función del estado de ánimo [87] Martin F. McKinney y Jeroen Breebaart. "Features For Audio Clasiffication". Proceedings of the 4th Int. Conf. Music Information Retrieval (ISMIR 2003). [88] Midomi http://www.midomi.com/index.php [89] MP3ext www.mutschler.de/mp3ext [90] Mp3tag www.mp3tag.de/en [91] MPEG-7 Audio Analyzer Low Level Descriptors Extractor (Technical University of Berlin, Communication Systems Department) http://mpeg7lld.nue.tu-berlin.de/ [92] MPEG-7 Multimedia Software Resources (Goldsmiths College, University of London). http://mpeg7.doc.gold.ac.uk/ [93] MPEG-7 Overview (ISO/IEC JTC1/SC29/WG11). http://www.chiariglione.org/mpeg/standards/mpeg-7/mpeg-7.htm [94] Musicbrainz Audio Fingerprinting http://wiki.musicbrainz.org/AudioFingerprint [95] MusicIP https://secure.musicip.com/index.jsp [96] Musicovery http://www.musicovery.com/ [97] Musictrace Audio Fingerprinting http://www.musictrace.de/technologies/fingerprinting.en.htm [98] Myspace http://www.myspace.com [99] Noise Effects Handbook http://www.nonoise.org/library/handbook/handbook.htm [100] Owen Meyers. "A Mood-Based Music Classification and Exploration System". Thesis paper, Massachusetts Institute Of Technology (2007). [101] Owen Meyers. "mySoundTrack: A Commonsense Playlist Generator". MAS.969 Final Project, 2005. [102] P. J. Rentfrow, S. D. Gosling. (2003). Short Test Of Music Preferences http://homepage.psy.utexas.edu/HomePage/Faculty/Gosling/music_and_music_p references.htm [103] Paul Ekman, Wallace V. Friesen y emotion.com/dataface/facs/description.jsp [104] Pedro Cano, Eloi Batlle, Ton Kalker y Jaap Haitsma. "A Review of Algorithms for Audio Fingerprinting". In Workshop on Multimedia Signal Processing (2002). [105] Pedro Cano, Martin Kaltenbrunner, Fabien Gouyon y Eloi Batlle. "On the Use of FastMap for Audio Retrieval and Browsing". Proceedings of the International Symposium on Music Information Retrieval 2002, Paris. [106] Pedro Cano. "Content-Based Audio Search: From Fingerprinting To Semantic Audio Retrieval". Tesis (2006). [107] Perceptual Aspects of Hearing. Universidad de Standford, California. http://ccrma.stanford.edu/CCRMA/Courses/150/perceptual.html Joseph C. FACS http://face-and- 79/81 Clasificación musical personalizada en función del estado de ánimo [108] Query By Humming. ACM Multimedia 95 - Electronic Proceedings, November 5-9, 1995, San Francisco, California. http://www.cs.cornell.edu/Info/Faculty/bsmith/query-by-humming.html [109] R. Cowie, E. Douglas-Cowie, S. Savvidou, E. McMahon, M. Sawey, & M. Schröder. “'FEELTRACE': An instrument for recording perceived emotion in real time”. ISCA Workshop on Speech and Emotion, Northern Ireland, p. 19-24, 2000. http://www.dfki.de/~schroed/feeltrace/ [110] R. de Córdoba y J.M. Pardo. Ingeniería Neurosensorial, Capítulo 3.1 (Parte 2): Funcionamiento del Odio, El Sistema Auditivo (2002). [111] Rainer Typke. MelodyHound: Query By Tapping http://www.melodyhound.com/query_by_tapping.0.html [112] Sasank Reddy y Jeff Mascia. "Lifetrak: Music In Tune With Your Life". Proceedings of the international workshop on Human-centered multimedia (2007); Augsburg, Bavaria, Germany; pp. 13-22. [113] Sematic Web http://www.w3.org/2001/sw/ [114] Sigurdur Sigurdsson, Kaare Brandt Petersen y Tue Lehn-Schiøler. "Mel Frequency Cepstral Coefficients: An Evaluation of Robustness of MP3 Encoded Music”. ISMIR 2006, Victoria, Canada (2006). [115] SOM Toolbox (Laboratory of Information and Computer Science; Helsinki University of Technology) http://www.cis.hut.fi/projects/somtoolbox/ [116] Sony Ericsson SenseMe http://www.sonyericsson.com/cws/support/phones/detailed/whatissenseme/w980 [117] Tao Li y Mitsunori Ogihara. "Detecting Emotion in Music". 4th International Conference on Music Information Retrieval ISMIR, Washington, D.C., and Baltimore, MD (2003). [118] Thomas Lidy, Andreas Rauber, Antonio Pertusa y José Manuel Iñesta. "Improving Genre Classification By Combination Of Audio And Symbolic Descriptors Using A Transcription System". Proceedings of the 8th International Conference on Music Information Retrieval, Österreichische Computer Gesellschaft, p. 61 – 66, 2007. [119] Tien-Lin Wu y Shyh-Kang Jeng. "Automatic emotion classification of musical segments". Proceedings of 9th International Conference on Music Perception and Cognition (2006). [120] Wang Muyuan, Zhang Naiyao y Zhu Hancheng. "User-Adaptive Music Emotion Recognition" (2004). Proceedings of 2004 7th International Conference on Signal Processing (ICSP'04), Beijing, China, 2004. [121] Wes Hatch. "A Quick Review of Audio Fingerprinting" (2003). [122] Winplay http://www.sonicspot.com/winplay/winplay.html [123] Wordnet http://wordnet.princeton.edu/ [124] Xiao Hu y J. Stephen Downie. "Exploring Mood Metadata: Relationships With Genre, Artist and Usage Metadata". Accepted in the Eighth International Conference on Music Information Retrieval (ISMIR 2007), Vienna, 2007. 80/81 Clasificación musical personalizada en función del estado de ánimo [125] Yi-Hsuan Yang, Chia-Chu Liu y Homer H. Chen. "Music Emotion Classification: A Fuzzy Approach". Proceedings of ACM Multimedia 2006 (ACM MM'06), Santa Barbara, CA, USA, pp. 81-84. [126] Yi-Hsuan Yang, Ya-Fan Su, Yu-Ching Lin y Homer H. Chen. "Music Emotion Recognition: The Role of Individuality". Proceedings of ACM SIGMM International Workshop on Human-centered Multimedia 2007, in conjunction with ACM Multimedia (ACM MM/HCM'07), Augsburg, Germany, pp. 13-21. [127] Yi-Hsuan Yang, Yu-Ching Lin, Ya-Fan Su y Homer H. Chen. "Music Emotion Classification: A Regression Approach". Proceedings of IEEE Int. Conf. Multimedia Expo 2007 (ICME'07), Beijing, China, pp. 208-211. 81/81