sábado, febrero 10, 2007

Sistema de Musica Ideal

Despues de luchar de nuevo con la musica en mi equipo, empezando casi de 0, rippeando mis cds y cosas por el estilo, veo que no hay un programa que pueda cumplir todos mis exigentes requerimientos en este estilo, por lo tanto quiero expresar mi idea de como seria un sistema de musica ideal segun mi punto de vista.

Supocisiones:

  • El sistema sera usado para escuchar musica y no para hacer edicion sobre el sonido
  • No se tiene mucha confianza en el usuario, porque este puede cometer errores de todo tipo y el sistema debe saber lidiar con ellos
Caracteristicas:
  • El sistema debe tener integrado un sistema de almacenamiento distribuido de informacion a nivel global y ademas replicacion de informacion en grupos de equipos.
  • El sistema debe manejar bien la musica y poder estraer informacion de esta, por lo tanto debe ser capaz de identificar canciones similares en el mismo equipo o en su red sin necesidad utilizar metadatos
  • El sistema debe almacenar la informacion musical dentro de la aplicacion y debe ser capaz de poder manejar los diferentes formatos de distribucion de musica, como mp3, acc, ogg, etc.
  • El sistema debe ser capaz de relacionar una cancion con sus metadatos de forma automatica, basado en la informacion de la onda sonora.
  • El sistema debe manejar una base de datos de informacion de la metainformacion de la musica y esta debe mantenerce de forma organizada
  • El sistema debe tener un sistema de ranking de musica, donde se comparta la informacion en la red, pudiendo sugerir nuevas canciones segun los gustos del usuario
  • El sistema debe ser capaz de estraer nueva informacion de los diferentes medios como cds, mp3players y demas para ingresar mas musica al sistema
Estas tecnologias de una u otra forma ya estan implementadas de forma aislada, pro ejemplo los programas p2p desde su inicio se enfocaron en esta caracteristica, como el napster, pero en la actulidad el problema esta dado, en que una misma cancion con diferente nombre de archivo, metadatos o formato de almacenaje es considerada como 2 entidades distintas, disminuyendo enormemente la efectividad del sistema p2p.

Los sistemas de huella acustica digital estan empezando a aparecer en el mundo del software libre y desde hace un tiempo estan en el mundo cientifico y comercial, uno de los mayores representantes en este campo es MusicBrainz, pero este sistema funciona de manera centralizada y por tanto su escalabilidad es limitada o muy costosa. Este sistema es capaz de identificar el nombre de una cancion escuchandola, aunque por su misma naturaleza centralizada sus resultados cada vez son peores, en especial cuando no se tienen ninguna informacion inicial.

Almacenar la musica en archivos, que se manejan dentro del sistema operativo puede ser un gran error, porque se puede perder mucha de la informacion que utiliza el sistema y desordenar todo rapidamente, por lo tanto se debe almacenar en una base de datos embedida o similar de forma que solo sea accesible dentro del programa, adicionalmente el programa puede emular un sistema de archivos o cualquier otro sistema para que el usuario si asi lo desea pueda leer su musica como un archivo, en este caso el programa puede tener la habilidad de seleccionar el tipo de formato que el usuario mas le convenga para visualizar el archivo, como mp3, ogg, flac, etc. y ademas tendria la capacidad de publicar la musica no solo como un archivo, sino como una carpeta web, un podcast, ftp, DAAP (sistema de comparticion de musica de itunes), etc.

Mantener la musica organizada es uno de los grandes dolores de cabeza cuando se intenta escucharla, por lo tanto usar un modo de organizacion centralizado es lo mejor, esto ya es comun ver la informacion organizada, por ejemplo amazon, musicbrainz, etc... son grandes repositorios donde se encuentra la informacion organizada, ademas se le pueden colocar mas datos como las letras de las canciones o informacion del artista etc.

Otra caracteristica del sistema es que puede llevar estadisticas de lo que escucha la persona y puede sugerir nuvas canciones identificando grupos de personas que escuchan un mismo tipo de musica, esto ya es logrado con sistemas como pandora, pero estos sistemas cohartan mucho la libertad del usuario.

Las otras caracteristicas ya tipicas de los reproductores deben estar presentes, como rippear una cancion y cosas por el estilo. pero una funcionalidad muy interesante seria el precache de canciones segun la demanda de estas, por lo tanto el programa puede decidir bajar una cancion y mantenerla en su cache local cuando esta cancion es muy solicitada y asi poder esparcirla lo mas rapido posible dentro de la red, segundo cuando la cancion es de un artista o un tipo de musica que es de agrado del usuario, por lo tanto lo almacena para que despues el usuario lo escuche.

El sistema tambien tendria la posibilidad de ser utilizado en cualquier equipo, por lo tanto si un usuario cambia de equipo, o esta en otro lugar, este debe retomar toda la informacion del usuario que deberia estar replicada den la red, y seguir con el sistema de forma normal, sin perder ningun tipo de informacion, aunque volver a llenar el cache con la musica preferida puede tardar un poco (dependiendo de la cantidad de informacion a bajar) esto debe hacerce de forma transparente al usuario.

Finalmente debe tener la capacidad de manejar grupos, por ejemplo los fans tienen un conjunto de playlist comunes, o amigos pueden tener playlist comunes y entre ellos hay un grado mas alto de replicacion de informacion, por lo tanto si vas a escuchar musica en el computador del amigo, el tiempo de sincronizacion deberia disminuir radicalmente.

Finalmente el programa deberia funcionar de forma decentralizada y hasta de manera no conectada o conectada de forma esporadica, y aun asi prestar todos los servicios, ademas no debe ser controlado por nadie, y el desarrollo de este no debe tener ningun control sobre los usuarios, ojala el sistema sea bien robusto, y el ejecutable no debe ser muy grande. Tambien seria posible que el sistema pueda ser accesado con casi toda su funcionalidad desde un cliente web. ya sea a travez de un servidor comun o por medio de la interface web de la aplicacion.

El problema de este sistema, es que no veria la luz porque tendria miles de demandas encima, y tratar de convencer a las casas disqueras es imposible, pero no por eso... dejare de pensar como me gusta la aplicacion de musica de mis suenos.

No hay comentarios.: