Archivo de la etiqueta: amadeus

Amadeus: culturízate en música clásica (I)

Idea

Crear una webapp que nos forme en música clásica al mismo tiempo que la escuchamos.

El background para esta idea viene de este hilo de tweets:


La idea de Amadeus es muy sencilla. Es habitual en ciertas personas escuchar música clásica mientras trabajan – ya hablaremos de cómo podemos aplicar esta idea a otros estilos musicales. Qué pena que escuchemos la música y sin embargo no aprendamos de ella. Esto es, quiénes son los grandes maestros compositores de música clásica, de qué época fue cada uno de ellos, cuáles son sus obras más famosas, qué tipo de obras creaban (óperas, sinfonías, requiems), qué historia hay detrás de cada obra.

Toda esa información está disponible en Internet – un vistazo a la Wikipedia y vemos la ingente cantidad de información para cada una de las obras – pero tenemos que salirnos de nuestra lista de reproducción para acceder a ella ¿y si llevamos esa información a nuestros oídos, a nuestra lista de reproducción?

Esa es la idea, escuchar un playlist de música clásica al mismo tiempo que una voz nos da ciertas perlas formativas que nos ayudan a saber más sobre este estilo musical, sus compositores y sus obras.

Cómo: problemas y soluciones

Necesitamos un listado de compositores

Esto es fácil, una simple búsqueda y obtenemos un top 50 compositores de música clásica, además, ordenados por importancia:
http://www.discogs.com/lists/The-50-Greatest-Composers/1571

Necesitamos un listado de obras para cada compositor

Esta es “fácil” también porque Google no solo te muestra las obras de cada compositor, sino que además las ordena por relevancia también:
wolfgang amadeus mozart compositions   Buscar con Google
Para extraer las obras de todos los compositores hemos creado un pequeño script que scrapea los resultados.

Primero guardamos el HTML de la búsqueda:
saveHtml
Y luego parseamos con nuestro querido Simple HTML DOM

extractComposition

OK, ya tenemos la lista de las obras más relevantes para cada uno de los 50 compositores:
compositions


Necesitamos información para cada una de las obras

Ahora es cuando vienen ciertos problemas.

Podemos extraer información sobre cada una de las composiciones de sus páginas de Wikipedia.
Ejemplos para obras de Mozart:
La Flauta Mágica: https://es.wikipedia.org/wiki/La_flauta_m%C3%A1gica
Don Giovanni: https://es.wikipedia.org/wiki/Don_Giovanni

Un rápido estudio nos muestra que muchas de las obras de los compositores tienen su correspondiente página en Wikipedia – y, por tanto, información valiosa sobre su historia, estilo, época, etc.

Los problemas para extraer esa información de manera automática se resumen en los siguientes puntos:
  • Algunas obras tienen página en la versión inglesa de la Wikipedia, otras también en la española. ¿Qué idioma por defecto utilizaremos? Este dilema va más allá de las páginas de Wikipedia de las obras, y nos plantea cuál va a ser el público objetivo de este proyecto.
  • Relacionar título de la obra con su correspondiente página en Wikipedia no está resultando un proceso inmediato, ya que:
    • Las APIs de búsqueda de Wikipedia no son demasiado UXables
    • Los nombres de algunas obras se repiten entre compositores (Sinfonía nº5 – Beethoven/Tchaikovsky). Esto complica asociar título / compositor con página de Wikipedia.

Seguiremos trabajando para tratar de resolver estos problemas, porque si no, la alternativa sería la asociación manual de páginas de Wikipedia con las composiciones, y teniendo en cuenta que tenemos +10 obras por 50 compositores nos plantamos en +500 asociaciones manuales – un trabajo que realmente no sería grato de hacer – rebajaríamos expectativas, in any case.

En un próximo post contaré cómo voy a resolver estos problemas y cómo una vez que vayamos recogiendo información valiosa la vamos a ir mostrando al usuario en la aplicación final.

Por cierto, que si a alguno le interesa, el código está subido en mi cuenta de GitHub:
https://github.com/ojoven/amadeus