Haben verschiedene Hits etwas gemeinsam?

Bild

Wenn Sie sich bei Spotify.me anmelden , erhalten Sie eine personalisierte Zusammenfassung darüber, wie Spotify Sie anhand der Musik versteht, die Sie auf dieser Spotify-Site hören. Das ist cool!

Ich höre viel Musik und arbeite gerne mit Daten. Das hat mich dazu inspiriert, meine Musiksammlung zu analysieren.

Ich war sehr neugierig, ob es bestimmte Zutaten gab, aus denen die Hits bestanden. Was macht sie cool? Warum mögen wir Hits und haben sie eine bestimmte „DNA“?

Herausforderung


Dies veranlasste mich, zwei Fragen mit Spotify-Daten zu beantworten:

  1. Wie sieht meine Musikwiedergabeliste aus?
  2. Gibt es bestimmte Audioattribute, die allen Hits gemeinsam sind?

Die Werkzeuge


Glücklicherweise gibt es sehr einfache Tools, mit denen Sie eine Verbindung zu Spotify herstellen, Daten empfangen und anschließend visualisieren können.

Wir werden mit der Programmiersprache Python 3 , der Spotipy Python- Bibliothek , arbeiten, mit der Sie eine Verbindung zur Spotify-Web-API herstellen können , und die Daten mithilfe von plot.ly und Seaborn visualisieren.

Datenarray


Am Ende jedes Codes erstellt Spotify eine Wiedergabeliste der 100 meistgespielten Songs. Der von mir verwendete Datensatz wurde bereits in Kaggle: Top Spotify Tracks von 2018 hochgeladen. Die Liste der 100 beliebtesten Songs mit Spotify scheint eine vernünftige Datenmenge für das Studium von Hits zu sein, nicht wahr?

Fangen wir an!


Um zu beginnen, müssen Sie ein Konto auf developer.spotify.com erstellen. Danach können Sie direkt auf die Spotify Web API Console zugreifen und die verschiedenen API-Endpunkte erkunden.

Hinweis : Der Link zu dem Code, den ich für das Projekt verwendet habe, befindet sich am Ende des Beitrags.

Nach dem Herstellen einer Verbindung zur Spotify-Web-API erstellen wir mithilfe der Spotipy-Python-Bibliothek ein Spotify-Objekt, mit dem wir Anforderungen an den Spotify-Endpunkt senden.

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) 

Analysieren meiner Wiedergabelistendaten


Dies ist einer der wichtigsten Schritte in der Datenwissenschaft. Unser Ziel hier ist es, die Art der Musik in meiner Wiedergabeliste zu verstehen, interessante Beobachtungen zu extrahieren und sie mit den Audioeigenschaften von Hunderten populärer Songs von 2018 zu vergleichen.

Performer-Frequenzdiagramm



Wie oft erscheinen Künstler in meiner Wiedergabeliste?

Wenn ich mir dieses Histogramm ansehe, kann ich verstehen, wie oft sich Künstler in einer meiner Wiedergabelisten treffen.

Audio-Spezifikationen


Schauen wir uns nun die Audiofunktionen der Songs aus der Wiedergabeliste an. Spotify hat eine Liste mit Audiospezifikationen für jeden Track auf Spotify zusammengestellt! Hier ist eine kurze Beschreibung der Funktionen, die wir in diesem Artikel verwenden werden:

Instrumentalität : Sagt voraus, dass der Track keinen Gesang enthält. In diesem Zusammenhang werden die Klänge „oh“ und „aaaa“ als instrumental angesehen. Rap oder Tracks mit Worten sind offensichtlich "vokal". Je näher der Instrumentenwert an 1,0 liegt, desto höher ist die Wahrscheinlichkeit, dass die Spur keine Stimme enthält.

Energie : Dies ist ein Wert im Bereich von 0,0 bis 1,0, der das Kriterium für die Wahrnehmung der „Helligkeit“ und „Aktivität“ eines Songs kennzeichnet. Normalerweise sind energetische Kompositionen schnell, laut und laut. Zum Beispiel hat Death Metal eine hohe Energie und Bachs Auftakt hat niedrige Indikatoren auf dieser Skala.

Akustik : Ein Maß für die Sicherheit, dass eine Komposition im Bereich von 0,0 bis 1,0 akustisch ist. Ein Wert von 1,0 bedeutet eine hohe Sicherheit, dass die Komposition akustisch ist.

Lebendigkeit : Erkennt die Anwesenheit von Zuhörern in einer Aufnahme. Je höher der Lebendigkeitswert ist, desto höher ist die Wahrscheinlichkeit, dass der Song live aufgeführt wurde. Ein Wert über 0,8 gibt ernsthaftes Vertrauen in die Live-Performance.

Sprachlichkeit (Text) : Sprachlichkeit erkennt das Vorhandensein von Text in einem Lied. Wenn die Sprachqualität der Komposition über 0,66 liegt, besteht sie höchstwahrscheinlich aus Text. Ein Wert von 0,33 bis 0,66 bedeutet, dass das Lied sowohl Musik als auch Wörter enthalten kann, und ein Wert unter 0,33 bedeutet, dass das Lied keine Wörter enthält.

Tanzbarkeit : Tanzbarkeit beschreibt die Eignung eines Tanzstücks basierend auf musikalischen Elementen wie Tempo, Rhythmusstabilität, Schlagstärke und allgemeiner Konstanz. Kompositionen mit einem Wert von 0,0 sind am wenigsten tanzbar, mit einem Wert von 1,0 am tanzbarsten.

Wertigkeit: Dieser Wert im Bereich von 0,0 bis 1,0 beschreibt die musikalische Positivität, die das Lied vermittelt. Songs mit hoher Wertigkeit klingen positiver (d. H. Sie vermitteln Glück, Freude oder Euphorie), und Songs mit niedriger Wertigkeit klingen negativer (d. H. Sie sind traurig, depressiv oder wütend).




Verteilung der Musikstile in meiner Wiedergabeliste

Beobachtungsergebnisse:

  • Die meisten Songs in meiner Wiedergabeliste haben eine breite Tanzverteilung und es gibt nicht viele „fröhliche“ Songs, wie aus der hohen Häufigkeit von Songs mit Werten unter 0,5 Wertigkeit hervorgeht . Daher können wir sagen, dass ich Songs mag, zu denen man tanzen kann (und das stimmt!)
  • Es gibt einen steilen Abstieg auf der Karte für Sprachigkeit, Instrumentalität und ein bisschen Lebendigkeit . Dies sagt uns, dass es in Musik von meiner Wiedergabeliste selten Wörter gibt, es gibt nur wenige Instrumentalkompositionen und Songs, die live aufgeführt werden.
  • Die Akustik ist ungefähr gleichmäßig zwischen 0 und 1 verteilt, dh in diesem Attribut habe ich keine Präferenzen. (Normalerweise mag ich akustische Songs, aber ich würde nicht für jeden Song nach akustischen Covers suchen).
  • Schließlich wird die Energie normal verteilt und hat an beiden Enden kleine Schwänze, was eine geringere Wahrscheinlichkeit bedeutet, zu meiner Wiedergabeliste hinzugefügt zu werden. Das heißt, ich mag Kompositionen mit mittlerer Energie.
  • Meine Kompositionen sind nicht so beliebt

2018 Top 100 Songs Datenanalyse


Nachdem ich das Datenarray von Kaggle heruntergeladen und in meine Anwendung importiert hatte, analysierte ich zunächst die beliebtesten Künstler, die anhand der Anzahl der Treffer auf dieser Liste ermittelt wurden.


2018 Top 100 Songs Performer nach Frequenz

Künstler, die am häufigsten in den Top 100 Songs 2018 zu sehen sind


Code-Snippet




Post Malone und XXXTENTACION

Lassen Sie uns nun die Audioeigenschaften der hundert beliebtesten Songs in unserem Datensatz untersuchen und sehen, wie sie aussehen! Wir erstellen das gleiche Histogramm wie für meine Wiedergabeliste, damit Sie sie später vergleichen können.




Verteilung der Musikstile in den Top 100 Songs 2018

Wenn wir uns das Histogramm ansehen, können wir sehen, dass die Top 100-Kompositionen die folgenden Eigenschaften aufweisen:

  • Sehr hoher Tanz und Energie, aber geringe Wahrscheinlichkeit für Live-Auftritte , Vorhandensein von Text und Akustik (wir sehen bereits einige Anzeichen dafür, dass meine Wiedergabeliste nicht so cool ist wie die Top 100).

Zum Beispiel hat das Lied „In My Feelings“ von Drake aus unserem Datensatz einen hohen tanzbaren und relativ hohen Energiewert.


Schließlich habe ich beschlossen, ein Blütenblattdiagramm der 100 besten Songs zu erstellen und die Eigenschaften des Audios in meiner Wiedergabeliste darauf zu legen.

Die Top 100 Songs werden blau und meine Songs orange angezeigt.


Fazit


Es sieht also so aus, als hätte ich vom Anfang des Beitrags an Antworten auf beide Fragen. Ich konnte sehen, wie meine Musik aussieht und fand die DNA von Hits. Die Eigenschaften des Audios aus meiner Wiedergabeliste sind ein bisschen wie bei den Top 100, aber ich habe mehr akustische Songs und weniger Live-Auftritte.

Willst du einen Hit schreiben? Lass sie tanzen, mit großer Energie und ein bisschen Positivität.

Ich bin mit den Ergebnissen zufrieden, möchte aber die Forschung fortsetzen.

Der Code für das gesamte Projekt wird auf GitHub veröffentlicht .

Folgendes empfehle ich als Nächstes :

  • Erfahren Sie, wie Sie Ihre Wiedergabeliste verwenden können, um Ihre persönlichen Vorlieben und empfohlenen Anzeigen zu ermitteln, die Ihnen gefallen könnten.
  • Verwenden Sie den K-Secondary Machine Learning Clustering-Algorithmus, um herauszufinden, welche Songs Ihren ähnlich sind. So können Sie nach neuen Songs suchen, die Ihnen gefallen könnten.
  • Verwenden Sie maschinelles Lernen, um die "Popularität" von Songs anhand ihrer Audioeigenschaften vorherzusagen



Vielen Dank an Alvin Chun , Ashrith und John Koch für hilfreiche Artikel zu diesem Thema. Spotify und Spotipy, danke für die großartige API und Bibliothek!

Source: https://habr.com/ru/post/de460313/


All Articles