Un brano al giorno dalla mia playlist
Dal 2014 mi porto avanti una playlist. Ogni giorno il sistema ne estrae un brano, così mi ricordo di una canzone, e ogni due settimane ne ricava una playlist più piccola.
#Il quadro generale
Tutto gira nella mia applicazione Laravel, con i comandi pianificati dallo scheduler. Uso due account Spotify: uno legge la playlist grande, l'altro scrive quella piccola.
- Domenica il comando
spotify:grabberlegge la playlist grande e copia nel database brani, album e artisti, con la data in cui ogni brano è stato aggiunto. - A mezzanotte
spotify:dailyestrae il brano del giorno e lo registra. - Il mercoledì
spotify:track-listporta i brani estratti nella playlist più piccola.
Altri comandi tengono i dati in ordine: aggiornano la popolarità, completano le caratteristiche audio e copiano la playlist piccola in una collezione su MusicBrainz. Non servono per capire il giro principale.
#L'estrazione del brano del giorno
Non è un sorteggio puro. Ogni notte il comando scarta i brani già estratti nell'ultimo anno, poi dà a ciascuno un punteggio e sorteggia con quel peso.
Il punteggio mescola la popolarità del brano (40%), degli artisti (35%) e dell'album (25%), con una scala logaritmica per non far sparire i brani poco noti. Se ho dato un voto a un brano, il punteggio può salire fino al 15%: il voto non penalizza mai.
Il primo lunedì del mese la regola si ribalta: si pescano solo brani con popolarità molto bassa, per riportare a galla ciò che altrimenti non uscirebbe mai. Se non resta nessun brano idoneo, il comando allenta i filtri e ne sceglie uno a caso tra cento.
Il brano estratto viene salvato con i suoi punteggi e scritto in un file di testo, pensato per essere dato in pasto a un agente che prepara un post. Con il comando /huton il bot Telegram mi mostra l'ultima estrazione.
#La playlist che si aggiorna ogni due settimane
Il comando che aggiorna la playlist piccola parte ogni mercoledì, ma aggiunge brani solo se ce ne sono almeno dieci in attesa. Con un brano al giorno, una settimana non basta (sono sette) e due sì (sono quattordici): l'aggiornamento avviene quindi ogni due settimane, senza averlo scritto da nessuna parte.
La playlist tiene al massimo 42 brani, cioè sei settimane di estrazioni. Quando se ne aggiungono altri, i più vecchi vengono tolti.
#Per chiudere
Un brano al giorno, con qualche regola per non ripetersi, e una playlist piccola che si rinnova da sola.