incipitluis
Volver

Despotify

pegatina con la inscripción spotify

Sé que muchxs de vosotrxs, amiwis míxs, no usáis nada que luzca techy, pero os prometo que es fácil y que, al mismo tiempo, os sentiréis muy hacker. Kai se lo está pasando bomba.


He publicado en GitHub una herramienta mínima y útil: despotify_helper. Es un script de línea de comandos que toma el CSV de una playlist exportada de Spotify (vía Exportify), busca cada canción en YouTube, baja el audio y lo guarda como MP3 en tu disco, ordenado por Artista/Álbum/Canción.mp3. Nada más.

Ya sabéis que llevo tiempo queriendo dejar Spotify y no encontraba la manera de salir sin que el coste de esfuerzo no me llevase siempre a dejarlo para mañana o pasado mañana.

Sobre Spotify en particular, el crítico Frankie Pizá ha escrito uno de los textos más afilados que he leído últimamente: ¿Boicot a Spotify?... ¿Es justo? ¿Es imposible?, en Franka. Repasa, con calma y sin moralinas, las razones para plantearse dejar la plataforma: el pago ridículo a los artistas, la desmonetización de las pistas con menos de mil reproducciones, la estrategia de catálogo cada vez más homogéneo y de "música de fondo" generada por IA, las inversiones personales de Daniel Ek en tecnología militar a través de Helsing, y la conducta editorial de la empresa durante el genocidio en Gaza. No hace falta suscribir cada argumento para reconocer el de fondo: entregar toda tu vida como oyente a una única empresa privada es una elección, y es una elección que se puede revisar.

Cómo usarlo si no tocas la terminal habitualmente

El script está pensado para macOS (también funciona en Linux). No hace falta saber programar: hay que copiar y pegar tres o cuatro comandos. En el repositorio hay además una variante para Windows (despotify_helper_windows.py); más abajo cuento cómo usarla. Resumido:

1. Instalar las dos herramientas que el script usa por debajo. Son yt-dlp (lo que descarga el audio) y ffmpeg (lo que lo convierte a MP3). Todo esto ocurre en la Terminal, que sé que asusta, pero simplemente ve despacito que es fácil. Si tienes Homebrew instalado, abres la app Terminal (puedes buscarla escribiendo "Terminal") y pegas:

brew install yt-dlp ffmpeg

Si eso no empieza a instalar cositas, es que no tienes brew. Aunque la terminal asuste, te está diciendo en texto todo lo que necesitas saber. "Command not found" es que no reconoce eso de "brew" porque no tienes brew instalado.

Si no tienes Homebrew, primero instálalo siguiendo las instrucciones de su página — es un comando que también copias y pegas. Tarda unos minutillos. Mira la terminal: si te pide tu contraseña, escríbela y pulsa intro.

2. Exportar tu playlist de Spotify a CSV. Spotify no deja exportar nada, así que se usa Exportify, una pequeña web open-source. Entras, le das acceso a tu cuenta, eliges una playlist (o "Liked Songs", o "Followed Albums") y descargas el CSV. Es un archivo de texto con las columnas que el script necesita.

3. Descargar el script. En la página del repositorio despotify_helper, arriba a la derecha, hay un botón verde CodeDownload ZIP. Lo descomprimes donde quieras.

4. Lanzarlo. La Terminal es como tener una carpeta del ordenador abierta para decirle al cacharrito qué hacer en ella. Tienes que ir a la carpeta del script. Puedes ver qué carpetas hay en tu carpeta actual escribiendo ls y pulsando Enter, y entrar en la carpeta escribiendo cd y el nombre de la carpeta. Si escribes cd y arrastras la carpeta sobre la palabra, te ahorra este proceso, pero si es la primera vez que haces esto puede que tengas que hacerlo un poco manual para dar permisos.

Una vez estés en la carpeta del script, copia y pega el siguiente comando:

python3 despotify_helper.py /ruta/al/csv/que/exportaste.csv

Nota que lo último es una ruta ficticia, ahí va la ruta real de tu .csv. Puedes copiar y pegar sólo python3 despotify_helper.py, pulsas espacio, y después arrastras el archivo csv ahí mismo

Y ya. El script imprime el progreso canción a canción y guarda los MP3 en ~/Music/despotify_helper/. Si lo paras a media descarga con Ctrl-C y lo vuelves a lanzar, retoma por donde iba: no rebaja lo que ya tiene.

Si estás en Windows

En el repositorio hay un segundo archivo, despotify_helper_windows.py, pensado para Windows 10 u 11. La idea es la misma; lo único que cambia es la instalación de las dos herramientas que el script usa por debajo y el sitio donde se guardan los MP3.

Si nunca has lidiado con la terminal de Windows o ninguna otra, en la parte de mac, más arriba, hay algunos consejos. Los comandos cambian ligeramente, pero búscalo en internet. Es más fácil de lo que parece, en unos minutillos vas a tener toda tu música a mano.

1. Instalar yt-dlp y ffmpeg. Abres PowerShell (busca "PowerShell" en el menú de inicio) y pegas:

winget install yt-dlp.yt-dlp
winget install Gyan.FFmpeg

winget viene de serie en Windows 11 y en versiones recientes de Windows 10. Si no lo tienes, lo instalas desde la Microsoft Store buscando "App Installer". Tras la instalación de ffmpeg puede que tengas que cerrar y volver a abrir PowerShell para que lo reconozca.

2. Exportar el CSV desde Exportify, igual que en macOS.

3. Descargar el repositorio desde el botón verde CodeDownload ZIP y descomprimirlo.

4. Lanzar la versión de Windows. En PowerShell, te sitúas en la carpeta del script y ejecutas:

python despotify_helper_windows.py "C:\ruta\al\csv\que\exportaste.csv"

Los MP3 se guardan en C:\Users\<tu-usuario>\Music\despotify_helper\ (en el Explorador esa carpeta aparece como Música por la localización, pero la ruta real es Music). El resto del comportamiento es idéntico: imprime el progreso, salta lo ya descargado y se puede parar y relanzar sin perder nada.

Lo que sigue

Esto no resuelve la salida — es solo el primer paso. Tener los archivos en local te devuelve la propiedad pero no te da reproductor, sincronización entre dispositivos, ni recomendaciones. Eso sí, ahí está tu música.

Escríbeme si necesitas ayuda. Y recuerda que mientras el presupuesto lo permita, apoya a tus artistas favoritos, sobre todo a lxs que no son millonarixs, comprando sus discos, yendo a sus conciertos y compartiendo sus publicaciones.