Actualmente están muy de moda servicios para reproducir música online (como Spotify o Grooveshark, por ejemplo), lo que se conoce como streaming de audio. Esto permite escuchar música en todos tus dispositivos sin tener que llevar físicamente la música copiada en ellos.
Si eres usuario de estos servicios y estás cómodo con ellos, este artículo no es para tí. De hecho, este artículo está dirigido a aquéllos quienes, como yo, aún prefieren llevar sus canciones (mp3, ogg…) en su dispositivo y reproducir la música que les gusta sin anuncios, a cualquier hora y sin la necesidad de una conexión permanente a Internet (con la suficiente calidad, además, para que no haya cortes).
El problema de este sistema que planteo, es que tienes que copiar toda tu música a todos los dispositivos que uses (portátiles, PCs, netbooks…). Realmente, no es necesario copiar absolutamente toda la música, pero si tienes espacio en los discos, ¿por qué no?
Una vez que has efectuado la copia ya está superado este primer obstáculo pero, si consigues unas canciones nuevas que quieres añadir a tu biblioteca, ¿cómo actualizas la música en todos los equipos de forma fácil y sin que queden inconsistencias? Cuando digo inconsistencias me refiero a que un dispositivo tenga menos canciones que otro porque no las hemos copiado todas, y es que si son 4 canciones no hay problema, pero si son 321 canciones distribuidas en distintos discos y que deben ir a distintas carpetas… la cosa se complica.
Para evitar estos problemas, yo uso el siguiente sistema. Tengo un disco externo donde está toda la música. Podríamos decir que es la copia maestra, la principal. Desde ese disco externo hago una primera copia a cada dispositivo donde quiero llevarla, es decir, lo voy conectando a cada equipo y traspasándole toda la música.
Cuando hay nuevas canciones/discos los añado, en su lugar correspondiente, dentro del disco duro externo (que hemos dicho que es la copia principal, que siempre contiene la versión más actualizada de la biblioteca). Una vez hecho esto, conecto dicho disco externo a cada dispositivo y, mediante rsync, se actualizan todos los nuevos ficheros.
También, si repasando nuestra biblioteca de música detectamos que hay algún disco que no nos gusta, canciones que queremos borrar, mover de sitio, etc., lo hacemos en el disco externo. De esta forma, cuando hagamos de nuevo un rsync con cualquier PC/portátil/…, este último tendrá sincronizada toda la música (incluyendo todos estos últimos cambios que hemos hecho).
Para facilitar las cosas, uso siempre la misma ruta en todos los dispositivos, de forma que el comando rsync a ejecutar es el mismo en todos ellos:
rsync -arvtl --no-whole-file --delete RUTA_EN_DISCO_EXTERNO RUTA_EN_NUESTRO_PC
Las opciones que uso son éstas:
-r: recursivo
-l: copia los enlaces simbólicos como enlaces simbólicos (no los archivos a los que apuntan)
-t: conserva los tiempos de modificación de los archivos
-v: verbose
-z: comprime los datos de los ficheros durante la transferencia de un equipo al otro
–no-whole-file: no copia los archivos enteros, sólo las modificaciones
–delete: borra los archivos en el destino si se han borrado en el origen
Como la ruta donde está la música es exactamente la misma en todos mis dispositivos, puedo crear un script (*) que me vale para todos. Para ello -oye-, básicamente, metéis el comando anterior en un script, le dáis permisos de ejecución y lo copiáis en /usr/local/bin (por ejemplo).
Cada vez que vayáis a actualizar la colección con algún CD nuevo, etc., lo hacéis en el disco duro externo. Luego, simplemente ejecutáis el script tras conectarlo en cada PC, portátil, etc..
De esta forma, siempre tendréis vuestra música sincronizada en todos los dispositivos, es decir, tendréis los mismos archivos y directorios en todos vuestros equipos.
Por útlimo, si guardáis también dentro de vuestra colección de música un directorio con las listas de reproducción (.m3u normalmente), también las tendréis actualizadas. Si además usáis las mismas combinaciones de teclas en todos los equipos, podréis escuchar los discos de la misma forma en cada equipo. En mi caso particular, cuando pulso por ejemplo la combinación de teclas Windows+Alt+F4 suena un recopilatorio que comienza con Jump, de Van Halen. Tras la sincronización inicial, podré escuchar dicha lista de reproducción en cada equipo.
(*) Esto del script tiene aún más sentido cuando usáis Dropbox (o servicio similar). Yo tengo todos mis scripts en Dropbox y, nada más instalar un equipo, sincronizo Dropbox y enlazo simbólicamente todos los scripts en /usr/local/bin. De esta forma, cada vez que modifico un script, se modifica para todos los equipos.