Proyecto MuSync – Alternativa Spotify

MuSync es un proyecto que nace con el objetivo personal de reemplazar Spotify en mis dispositivos. Actualmente tengo una enorme dependencia del servicio freemium de Spotify y ya no hago acopio en formato mp3 de las canciones que suelo escuchar habitualmente. Por ello se me ha ocurrido comenzar un pequeño proyecto para disponer de mi propio servicio de música que me permita disponer de una copia actualizada de mp3 a nivel local.

MuSync Diagrama

 

La idea es aprovechar las listas de YouTube que podemos crear y modificar con nuestra cuenta de Google, con ello podemos aprovechar un amplio y creciente catálogo de música existente en YouTube. El objetivo es ir añadiendo en listas separadas las distintas canciones al igual que haríamos en nuestra cuenta de Spotify.

Para poder obtener en nuestro equipo una copia actualizada de nuestras listas en formato mp3, he diseñado un pequeño script en python que aprovecha la API de Youtube para listar las distintas listas y aprovechar el programa de youtube-dl para obtener una copia local de aquellos elementos que aún no hayan sido descargados.

He publicado en GitHub una primera versión del proyecto: https://github.com/pablotoledo/MuSync

Instalación de dependencias

Suponiendo que nuestro equipo cuenta con Python, MuSync requiere que determinadas dependencias sean resueltas:

pip install youtube-dl
pip install google-api-python-client

Instalación de MuSync

Cuando hacemos uso de MuSync tenemos que registrar la nuestra instalación en nuestra cuenta de Google para poder consumir la API de YouTube. Los pasos para dar de alta una aplicación se encuentran en: https://developers.google.com/youtube/v3/getting-started#before-you-start

Con ello podremos obtener el parámetro de “client_secret” que requiere el fichero de “client_secrets.json”.

Añadir listas para su seguimiento

Dentro del fichero de “playlist.csv” añadiremos todos los identificadores de aquellas playlist que queremos que MuSync gestione para la descarga de aquellos nuevos elementos.

Ejecutar la aplicación

Para poder ejecutar esta aplicación basta con ejecutar con python el siguiente comando:

python musync.py

Este script ha sido pensado para no requerir la interacción de ningún usuario, por lo que podemos planificar su ejecución con algún planificador como cron. Una vez se ejecuta este script en el home del usuario se generará una carpeta donde se ubicará toda la música que se haya descargado.