Si vous vous connectez à
Spotify.me , vous pouvez obtenir un résumé personnalisé de la façon dont Spotify vous comprend grâce à la musique que vous écoutez sur ce site Spotify. C'est génial!
J'écoute beaucoup de musique et j'aime travailler avec des données, donc cela m'a inspiré pour essayer d'analyser ma collection de musique.
J'étais très curieux de savoir s'il y avait des ingrédients spécifiques qui composaient les chansons à succès. Qu'est-ce qui les rend cool? Pourquoi aimons-nous les tubes et ont-ils un certain «ADN»?
Défi
Cela m'a amené à essayer de répondre à deux questions en utilisant les données Spotify:
- À quoi ressemble ma liste de lecture musicale?
- Existe-t-il des attributs audio spécifiques communs à toutes les chansons à succès?
Les outils
Heureusement, il existe des outils très simples pour se connecter à Spotify, recevoir des données, puis les visualiser.
Nous travaillerons avec le
langage de programmation
Python 3 , la
bibliothèque Spotipy Python, qui vous permet de vous connecter à l'
API Web Spotify , et nous visualiserons les données à l'aide de
plot.ly et
Seaborn .
Tableau de données
À la fin de chaque code, Spotify compile une liste de lecture des 100 chansons les plus jouées. L'ensemble de données que j'ai utilisé est déjà téléchargé sur Kaggle:
Top Spotify Tracks of 2018 . La liste des 100 chansons les plus populaires avec Spotify semble être une quantité raisonnable de données pour étudier les hits, n'est-ce pas?
Commençons!
Pour commencer, vous devez créer un compte sur
developer.spotify.com . Après cela, vous pouvez accéder directement à la
console Spotify Web API et commencer à explorer les différents points de terminaison API.
Remarque : le lien vers le code que j'ai utilisé pour le projet se trouve à la fin de l'article.
Après la connexion à l'API Web Spotify, nous créerons un objet Spotify à l'aide de la bibliothèque Spotipy Python, que nous utiliserons ensuite pour envoyer des demandes au point de terminaison Spotify.
import spotipy from spotipy.oauth2 import SpotifyClientCredentials from spotipy import util cid =”Your-client-ID” secret = “Your-Secret” client_credentials_manager = SpotifyClientCredentials(client_id=cid, client_secret=secret) sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
Analyse de mes données de playlist
Il s'agit de l'une des étapes les plus importantes de la science des données. Notre objectif ici est de comprendre le type de musique dans ma playlist, d'extraire toutes les observations intéressantes et de les comparer avec les caractéristiques audio de centaines de chansons populaires de 2018.
Graphique de fréquence de l'interprète
Combien de fois les artistes apparaissent dans ma playlistEn regardant cet histogramme, je peux comprendre à quelle fréquence les artistes se rencontrent dans l'une de mes listes de lecture.
Spécifications audio
Jetons maintenant un coup d'œil aux fonctionnalités audio des chansons de la liste de lecture. Spotify a compilé une liste de
spécifications audio pour chaque piste sur Spotify! Voici une brève description des fonctionnalités que nous utiliserons dans cet article:
Instrumentalité : prédit qu'il n'y a pas de voix dans la piste. Dans ce contexte, les sons «oh» et «aaaa» sont considérés comme instrumentaux. Le rap ou les morceaux avec des mots sont évidemment «vocaux». Plus la valeur instrumentale est proche de 1,0, plus la probabilité que la piste ne contienne pas de voix est élevée.
Énergie : il s'agit d'une valeur comprise entre 0,0 et 1,0 qui caractérise le critère de perception de la «luminosité» et de «l'activité» d'une chanson. Les compositions généralement énergiques sont rapides, bruyantes et bruyantes. Par exemple, le death metal a une énergie élevée, et le prélude de Bach a de faibles indicateurs à cette échelle.
Acoustique : mesure de la certitude qu'une composition est acoustique dans une plage de 0,0 à 1,0. Une valeur de 1,0 signifie une confiance élevée que la composition est acoustique.
Vivacité : reconnaît la présence d'auditeurs dans un enregistrement. Plus la valeur d'animation est élevée, plus la probabilité que la chanson soit jouée en direct est élevée. Une valeur supérieure à 0,8 donne une confiance sérieuse dans les performances live.
Speechiness (texte) : Speechiness détecte la présence de texte dans une chanson. Si le caractère vocal de la composition est supérieur à 0,66, il s'agit très probablement de texte, une valeur de 0,33 à 0,66 signifie que la chanson peut contenir à la fois de la musique et des mots, et une valeur inférieure à 0,33 signifie que la chanson ne contient aucun mot.
Danceability : Danceability décrit la pertinence d'une piste de danse basée sur des éléments musicaux tels que le tempo, la stabilité du rythme, la force du battement et la constance générale. Les compositions avec une valeur de 0,0 sont les moins dansantes, avec une valeur de 1,0 sont les plus dansantes.
Valence : cette valeur comprise entre 0,0 et 1,0 décrit la positivité musicale véhiculée par la chanson. Les chansons avec une valence élevée semblent plus positives (c'est-à-dire qu'elles expriment le bonheur, la joie ou l'euphorie), et les chansons avec une valence faible semblent plus négatives (c'est-à-dire qu'elles sont tristes, déprimées ou en colère).
Distribution des styles musicaux dans ma playlistRésultats d'observation:
- La plupart des chansons de ma liste de lecture ont une large distribution de danse et il n'y a pas beaucoup de chansons «heureuses», comme le montre la fréquence élevée des chansons avec des valeurs inférieures à 0,5 valence . Par conséquent, nous pouvons dire que j'aime les chansons sur lesquelles vous pouvez danser (et c'est vrai!)
- Il y a une descente abrupte sur la carte pour la verbosité, l'instrumentation et un peu de vivacité . Cela nous dit que dans la musique de ma playlist, il y a rarement des mots, il y a peu de compositions instrumentales et de chansons jouées en direct.
- L'acoustique est répartie approximativement également entre 0 et 1, c'est-à-dire que dans cet attribut, je n'ai aucune préférence. (J'aime généralement les chansons acoustiques, mais je ne chercherais pas de reprises acoustiques pour chaque chanson).
- Enfin, l' énergie est distribuée normalement et a de petites queues aux deux extrémités, ce qui signifie moins de chances d'être ajouté à ma liste de lecture. Autrement dit, j'aime les compositions à énergie moyenne.
- Mes compositions ne sont pas si populaires
Analyse des données des 100 meilleures chansons de 2018
Après avoir téléchargé et importé le tableau de données de Kaggle dans mon application, j'ai commencé par analyser les artistes les plus populaires, déterminés par le nombre de hits sur cette liste.
2018 meilleurs interprètes de chansons par fréquenceArtistes les plus souvent vus dans le Top 100 des chansons 2018Extrait de codePost Malone et XXXTENTACIONExaminons maintenant les caractéristiques audio des cent chansons les plus populaires de notre jeu de données et voyons à quoi elles ressemblent! Nous allons créer le même histogramme que pour ma playlist afin que vous puissiez les comparer plus tard.
Répartition des styles de musique dans les 100 meilleures chansons 2018En regardant l'histogramme, nous pouvons voir que les 100 premières compositions ont les caractéristiques suivantes:
- Danse et énergie très élevées, mais faible probabilité de performance live , présence de texte et d' acoustique (on voit déjà des signes que ma playlist n'est pas aussi cool que le top 100).
Par exemple, la chanson «In My Feelings» de Drake de notre ensemble de données a une valeur énergétique élevée et relativement élevée.
Enfin, j'ai décidé de créer un diagramme en pétales des 100 meilleures chansons et d'y mettre les caractéristiques de l'audio dans ma liste de lecture.
Les 100 meilleures chansons sont affichées en bleu et mes chansons sont affichées en orange.
Conclusion
Il semble donc que j'ai des réponses aux deux questions depuis le début de l'article. J'ai réussi à voir à quoi ressemble ma musique et j'ai trouvé l'ADN des chansons à succès. Les caractéristiques de l'audio de ma liste de lecture ressemblent un peu au top 100, mais j'ai plus de chansons acoustiques et moins de performances live.
Vous voulez écrire une chanson à succès? Faites-la danser, avec beaucoup d'énergie et un peu de positivité.
Je suis satisfait des résultats, mais je veux continuer la recherche.
Le code de l'ensemble du projet est publié sur
GitHub .
Voici ce que je recommande
de faire ensuite :
- Découvrez comment vous pouvez utiliser votre liste de lecture pour déterminer vos préférences personnelles et les annonces recommandées qui pourraient vous intéresser.
- Utilisez l'algorithme de clustering d'apprentissage automatique K-Secondary pour découvrir quelles chansons sont similaires aux vôtres. Ainsi, vous pouvez rechercher de nouvelles chansons qui pourraient vous plaire.
- Utilisez l'apprentissage automatique pour prédire la «popularité» des chansons en fonction de leurs caractéristiques audio
Merci à Alvin Chun , Ashrith et John Koch pour les articles utiles sur ce sujet. Spotify et Spotipy, merci pour l'API et la bibliothèque impressionnantes!