Este fue el primer proyecto que solucionó un problema real que tenía con mis amigos. Siempre nos gustó la música electrónica y nos solíamos juntar los fines de semana para pinchar.
Un día, Spotify dejó de ser compatible con los softwares de DJ (como Traktor o Serato), lo que complicaba la descarga de nuevas canciones. Por cada canción nueva, tenías que usar un convertidor externo, copiar el enlace, descargar y renombrar el archivo manualmente. La alternativa era pagar una suscripción de algún otro software.
La idea del proyecto era automatizar este proceso para que al añadir una canción a una playlist de Spotify, esta se descargara automáticamente en la carpeta de tu ordenador.
Spotify 2 Folder
Spotify 2 Folder es una aplicación de escritorio que gestiona la descarga de música. El programa monitorea una playlist de Spotify seleccionada y descarga cualquier canción nueva directamente a una carpeta local en tu ordenador.
¿Cómo funciona?
Funciona conectando la API de Spotify con YouTube:
- Lectura de la Playlist: La aplicación se conecta a la API de Spotify usando
spotipypara leer todas las canciones de tu playlist objetivo. - Comparación Local: Escanea tu carpeta de descargas para ver qué canciones ya tienes. Si una canción está en la playlist pero no en la carpeta, se marca para descargar.
- Búsqueda en YouTube: Para cada canción faltante, el script busca automáticamente el "Video Oficial" o la mejor coincidencia de audio en YouTube.
- Descarga y Conversión: Usando
yt-dlpyffmpeg, descarga el audio del video y lo convierte a un archivo MP3 de, nombrandolo con el nombre del artista y la canción.
Tecnologías Utilizadas
El proyecto está construido íntegramente en Python, usando:
- Spotipy: Para la autenticación OAuth2 y comunicación con la API de Spotify.
- Youtube Search & yt-dlp: Para encontrar y descargar las fuentes de audio.
- CustomTkinter: Para crear una interfaz gráfica y fácil de usar.
- FFmpeg: Para la conversión de audio.
Configuración y Uso
Para que el usuario pudiera usarlo, creé una interfaz de configuración donde simplemente pegas tus credenciales y links.
El archivo setup.txt guarda localmente:
client_idyclient_secretde tu cuenta de desarrollador de Spotify.- Tu nombre de usuario.
- La URL de la playlist a monitorear.
- La ruta de la carpeta donde quieres la música.
Una vez configurado, solo tienes que abrir la app y darle a "Download". La barra de progreso te avisará cuando tu música esté lista.