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