Spotipy et MLP

L’API Spotify permet de récupérer des données ou de modifier des playlists depuis l’application Spotify.

Dans cette page tu trouveras :

Créer et paramétrer une app Spotify

Pour créer une application Spotify, il faut d’abord se connecter à son compte spotify, puis se rendre dans le Dashboard de Spotify Developer et se connecter avec un compte Spotify.

Dans le portail de développement spotify, tu vas pouvoir créer une nouvelle application.


Clique sur le bouton violet « Create app »

Remplis les champs suivants : 

  • Le nom de ton application 
  • La description de ton application 
  • Et l’encart Redirect URI avec l’adresse http://localhost:9090

Puis en bas de cette page : 

  • Accepte les conditions d’utilisation
  • Et sauvegarde

Maintenant clique sur l’onglet User Management 

Tu dois t’ajouter comme utilisateur : 

  • En mettant ton nom (ou pseudo)
  • Et ton adresse mail (la même que celle avec laquelle tu as créer ton compte spotify

Nous pouvons laisser cet onglet ouvert, nous aurons besoin des ID de l’App dans notre code !

Préparation de l’API spotify sur colab

Ouvre un nouveau projet sur colab et commence par installer la bibliothèque Spotipy

Ensuite, on va paramétrer notre API, en lui donnant les informations nécessaires. Tu trouveras sous ce code exemple, où trouver toutes ces informations.

Voici les paramètres d’authentification :

  • scope : permet de définir les autorisations de l’app sur les comptes
  • client_id : la clé publique de l’app
  • client_secret : la clé privée
  • redirect_URI : l’adresse qu’on a paramétré plus tôt (l’authentification demande d’aller sur une adresse web)

 

Pour récupérer la clé client_id et la clé client_secret :

Va dans le tableau de developpeur, et clique sur l’onglet Basic Information

  • Tu trouveras directement client ID
  • Et clique sur View client secret pour avoir la clé secrète

Récupération de données Spotify 

Créer une playlist sur Spotify 

Pour créer une playlist, connecte toi à Spotify et rends toi sur l’accueil.

Sur la gauche, tu as une catégorie « Bibliothèque » 

Si c’est ta première playlist tu trouveras ce design avec un bouton te proposant de créer une playlist 

Si tu as déjà des playlists, tu trouveras ce second design, et tu devras cliquer sur le +, puis « créer une playlist »

Le moteur de recherche te propose d’entrer un titre ou un épisode. Tu peux tout à fait entrer le nom d’un artiste directement. Il te proposera sa page de profil, et en dessous, toutes ses chansons. Tu n’as plus qu’à ajouter celles que tu souhaites mettre dans ta playlist.

Récupérer l’id d’un artiste

Pour récupérer toute la bibliothèque d’un artiste, et ainsi pouvoir manipuler les données de ses albums, titres de chansons… tu vas passer par spotify directement.

Si par exemple, je recherche l’artiste Angèle dans le moteur de recherche sur spotify, je vais obtenir les meilleurs résultats, sa page de profil, ses meilleurs titres évalués etc..

Clique sur le résultat t’indiquant son nom et en  dessous « Artiste »

Tu vas atterrir sur sa page de profil avec toutes ses informations.

L’ID de l’artiste se trouve dans l’url de sa page :

  • C’est la clé de chiffrement que tu trouves après le /artist/

Récupérer l’id d’une playlist

L’ID de ta playlist se trouve dans l’url de sa page :

  • C’est la clé de chiffrement que tu trouves après le /playlist/

Récupérer l’id de ton compte Spotify

Pour trouver l’ID de ton compte Spotify, clique sur ton avatar, puis sur « compte »

Ensuite clique sur « Modifier le profil »

Et tu trouveras ton ID de ton compte spotify dans l’intitulé « Nom d’utilisateur » 

S’authentifier depuis Colab

L’API Spotify peut demander une authentification.

  • Lorsque tu lances ton code, tu peux avoir cette réponse :
    • Clique sur le lien que tu vois en surbrillance en rouge dans l’image ci-dessous

Si c’est ta première identification :

Tu seras redirigé sur une page te demandant d’autoriser spotify à se connecter.

Clique sur le bouton « D’accord »

 

Si ce n’est pas ta première identification tu n’auras pas cette page. Passe à la suite du tuto !

Cela va t’ouvrir une nouvelle fenêtre dans ton navigateur et il te sera spécifié que « Ce site est inaccessible ». C’est normal, car nous sommes sur l’environnement local que nous avons configuré dans le redirect_url (http://localhost:9090)

Sélectionne l’URL de cette page comme sur cette image ci-dessous, et copie là

Et colle là dans ton colab, dans l’encart « Enter the URL you were redirecter to »
Puis tape sur la touche Entrée

Ton authentification est faite, tu obtiendras maintenant ton résultat en dessous.

Vocabulaire SPotify 

Tracks

Ce sont les pistes audio d’un artiste. 

Une chanson = une piste audio

Audio Features 

Les AudioFeatures sont les caractéristiques audio des tracks (pistes musicales), qui permettent de “classer” les musiques. 

Voici le détail du tableau que l’on a en résultat lorsque l’on convertit les audio features en Dataframe Pandas:

  • Danceability (échelle entre 0 et 1) : Mesure la facilité de danse d’une piste audio (basée sur plusieurs éléments musicaux dont le tempo, le rythme, …)
  • Energy (échelle entre 0 et 1) : mesure lz perception de l’intensité et de l’activité (les tracks énergiques sont rapides, bruyantes et “puissantes”)
  • Key :  Indique la tonalité de la piste audio
  • Loudness (en dB) : représente l’intensité sonore globale de la piste 
  • Mode : Indique si la piste est en mode Majeur(1) ou en mode Mineur(0)
  • Speechiness (échelle entre 0 et 1) :  détecte la présence de paroles
  • Acousticness (échelle entre 0 et 1) : Mesure l’acousticité de la piste audio
  • Instrumentalness (échelle entre 0 et 1) : indique la probabilité que la piste soit principalement instrumentale (sans parole) 
  • Liveness (échelle entre 0 et 1) : détecte la présence d’une audience (un public) lors de l’enregistrement  de la piste audio
  • Valence (échelle entre 0 et 1) : mesure de la “positivité musicale” de la piste
  • Tempo (BPM : beats par minute) : Indique le tempo estimé en battements par minute
  • Time_signature (entre 3 et 7) : le nombre de beats dans chaque mesure
  • Duration_ms : la durée totale de la piste en millisecondes 

 

 

 

Retour en haut