J’ai réussi à transférer mon compte Last.fm

Souhaitant depuis longtemps faire coïncider mon vieux compte Last.fm (2007) avec le pseudonyme que j’utilise aujourd’hui, Last.fm ne m’a pas laissé d’autre choix que d’en créer un nouveau, tout recommencer à zéro et perdre les 284.108 écoutes réalisées en près de 8 ans. Mais, grâce à mon ami Google, j’ai cependant pu débusquer un article daté de 2012 qui explique comment réussir à transférer les archives de ses écoutes musicales (scrobbles) d’un compte à un nouveau pour peu qu’on soit un peu débrouillard. Ce petit article, que j’espère utile, explicite la démarche sous OSX, mais je pense qu’il ne devrait pas y avoir de grandes différences sous Windows.

Pour ce faire, nous aurons besoin :
* deux comptes Last.fm (l’un à récupérer, l’autre à remplir) ;
* Python installé sur l’ordinateur (par défaut fonctionnel sous OSX, via le terminal) ;
* le logiciel QTscrob ;
* un éditeur de texte (j’utilise le gratuit Komodo Edit).

On va déjà commencer par récupérer l’ensemble des scrobbles de l’ancien compte. Pour ce faire, on télécharge le script python lastexport.py. Adapté par mes soins pour les besoins du transfert, ce script utilise l’API de Last.fm pour télécharger les scrobbles du compte souhaité (normalement le vôtre, mais n’importe quel compte est susceptible d’être récupéré) et les enregistre dans un fichier exportedtracks.txt. Ce fichier texte, dont les données sont séparées par des tabulations (TSV), comporte les colonnes suivantes : nom de l’artiste ou du groupe, titre de l’album, titre de la chanson, position de la chanson dans l’album, durée de la piste, piste scrobblée, date du scrobble et identifiant MusicBrainz de la piste. Pour information, mes 284.000 scrobbles et quelques donne un fichier texte de 17 Mo.

Sur OSX, il faut lancer le terminal (terminal.app, que vous trouverez dans le dossier Applications ou en faisant une recherche spotlight). Le terminal se lance. Il vous suffit de taper le mot python puis soit de taper le chemin du script soit de glisser le script à la suite (ce qui va simplement ajouter le chemin vers le script en question). On tape un espace, puis -u votre ancien pseudo. Puis, entrée. Le script se lance et, progressivement, il va vous afficher les pages qu’il aura récupéré. Le fichier final sera créé une fois toutes les données téléchargées.

Une fois le fichier obtenu, il faut le renvoyer sur les serveurs de Last.fm sous le nouveau compte. Last.fm n’accepte les scrobbles qui date de moins de quinze jours. Si vous avez plus de 9.000 scrobbles, il va falloir découper votre archive pour l’envoyer en plusieurs fois, et ainsi déjouer la limitation du site. Pour ce faire, il convient de télécharger un second script python, FileSplitter.py, qui permet de découper un fichier texte en un nombre prédéfini de lignes (ici 9.000 lignes). Comme auparavant, terminal.app, python le chemin du script le chemin du fichier exportedtracks.txt. Le script découpe le fichier automatiquement toutes les 9.000 lignes et prépare les nouveaux fichiers à l’envoi par l’ajout de l’en-tête du futur fichier .scrobbler.log.

Tutorial : .scrobbler.log

Tutorial : .scrobbler.log.

Enfin, dernière étape : le transfert des scrobbles vers le nouveau compte Last.fm. Les scrobbles sont rangés de façon chronologique, les plus anciens se trouvent dans le dernier fichier. On commence donc logiquement par le dernier, qu’on ouvre avec l’éditeur de texte (pour ma part Komodo Edit) et il suffit d’enregistrer-sous le fichier dans le dossier où vous avez installé QTscrob et en retirant le exportedtracksX pour que le nouveau nom du fichier soit .scrobbler.log (attention au point qui commence le nom !).

Tutorial : QTscrob, .scrobbler.log et terminal

Tutorial : QTscrob, .scrobbler.log et terminal.

Maintenant, au tour du logiciel QTscrob. Vous configurez d’abord votre nouveau compte Last.fm : menu qtscrob, menu préférences. Le logiciel QTscrob détecte le fichier en cliquant sur le bouton Open. La liste de vos scrobbles doivent normalement apparaitre dans le logiciel. Vous changez la date de l’archive pour que vos données ne soient pas rejetées par Last.fm (bouton Recalc. Date/Time en bas à droite). Enfin, il vous suffit de cliquer sur Submit pour que les données soient transférées à Last.fm. Il conviendra de répéter l’opération autant de fois que nécessaire…

Bon, certes, je me retrouve avec un peu plus de scrobbles sur mon nouveau compte que sur l’ancien, dû à quelques expérimentations. Mais les adaptations réalisées sur les deux scripts python sont parfaitement fonctionnelles et la procédure a été testée et approuvée avec succès. Ceci dit, j’espère que ce petit tutoriel sera profitable à au moins une autre personne que moi.

4 réponses

  1. Pete Bondurant dit :

    Hello,

    Je ne sais pas si vous lirez ce message puisque ce (beau !) blog ne semble plus être mis à jour.
    Néanmoins, merci beaucoup pour ce post et cette méthodologie.

    Je l’ai testée ce jour sur Ubuntu 18.04. Les commandes et compagnie marchent très bien, mais le fichier ressorti par lastexport.py n’inclut absolument pas la totalité de mes scrobbles. J’arrive à 4699 lignes alors que j’ai un total de 143000 scrobbles. Une idée de ce qu’il peut se passer ? Un scrobble avec des caractères spéciaux par exemple, qui poserait problème ?

    Pour information, lors du lancement du script, je vois bien dans le terminal qu’il prend en charge une par une l’ensemble des pages de mon compte LastFM (2871 pour être précis).

    Vous remerciant de votre aide si vous passez par là, encore merci.

    • Bonjour !

      De mémoire, j’ai configuré pour que cela n’envoie que 5.000 scrobbles à LasfFM parce que LastFM ne synchronise que 15 jours de scrobbles, et qu’en mettant quelques secondes entre chacun des 5.000 scrobbles, cela atteint presque 15 jours. Si je me souviens bien, je m’étais repris à plusieurs fois entre chaque envoi, 5.000 par 5.000, afin que LastFM n’en oublie pas. 🙂

      • Pete Bondurant dit :

        Hello !

        Merci de votre réponse et surtout désolé de mon temps de réponse.

        J’ai dû mal m’exprimer.

        Mon soucis n’est pas de réuploader mes scrobbles sur le nouveau compte mais de télécharger ceux de mon « ancien » compte ! Le script lastexport.py n’enregistre « que » 4699 lignes alors que j’ai un total de 143000 scrobbles. C’est vraiment cette étape et le résultat de l’export via le fichier exportedtracks.txt qui n’est pas cohérent chez moi.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :