PR
Python

Spotify APIを使って世界のヒット曲を特徴別にレビューする

Python
スポンサーリンク

 Spotifyとは、2021年現在、3億5,600万人のユーザーを抱えている世界最大の音楽配信サービスです。そんなSpotifyでは、APIを通して登録されている曲の詳細情報(アコースティック感、ライブ感、音圧、明るさ、ダンサビリティ、テンポなど)を入手する事ができるんです。
 今回は、2021年7月25日時点の世界のTOPチャート200曲のなかで、特徴別に曲をピックアップして曲のレビューをしてみました。普段なかなか聞く機会のない国々の音楽に触れてみましょう。

スポンサーリンク

手順

1.各国のTOPチャート200曲をダウンロードしSpotify APIから曲の詳細情報を入手
   こちらは前回の記事にまとめています。
   https://mahalanobisss.com/spotify-api
2.特徴別に最も点数の高い曲をリコメンド
3.まとめ

スポンサーリンク

1.Spotify charts から独断で28ヶ国、5,600曲のデータを入手

Spotifyでは69ヵ国のTOPチャート200のデータがありますが、今回はわたしの独断により、以下の28ヶ国5,600曲に絞って特徴をみていこうと思います。なぜ全69ヵ国にしなかったか?
単に力尽きたからです。。折を見て全69ヵ国分の分析にも挑戦してみたいと思います。
また、今回の分析データは2021年7月25日のDAILY Chartのデータをベースにしております。

No略号
1ARアルゼンチン
2ATオーストリア
3AUオーストラリア
4BEベルギー
5BRブラジル
6CLチリ
7CRコスタリカ
8DEドイツ
9EGエジプト
10ESスペイン
11FRフランス
12HK香港
13ILイスラエル
14INインド
15ITイタリア
16JP日本
17KR韓国
18MXメキシコ
19NLオランダ
20NOノルウェー
21PTポルトガル
22RUロシア
23SAサウジアラビア
24SEスウェーデン
25TW台湾
26UKイギリス
27USAアメリカ
28ZA南アフリカ

28ヶ国5,600曲分のデータファイルはこちらになります。

スポンサーリンク

2.入手したデータで特徴別に楽曲を抽出&レビュー

Spotifyで得られる特徴とは?

Spotifyでは下表のように、全ての曲に対して特徴量を設けています。
原文はこちらを参照してみてください。

リンク先の AudioFeaturesObject を参照

Spotify for Developers
特徴意味説明
acousticnessアコースティック感0.0~1.0までの指標で値が大きいほどアコースティック感が強いということになります
danceabilityダンスしやすさリズムやテンポからダンスがしやすいかどうかを表しています
0.0~1.0までの指標で、値が大きいほどダンスがしやすい曲になります
duration_ms演奏時間曲の長さ
energyエネルギッシュ感0.0~1.0までの指標で値が大きいほど、エネルギーがあると判断されています。
instrumentalnessインスト感0.0~1.0までの指標で楽器中心の音楽、いわゆるボーカルが含まれていない楽曲は値が大きくなります。
key曲のキー0 = C、1 = C♯/D♭、2 = D …11=Bを0~11で表したもの
livenessライブ感オーディエンスの存在を検出します。数値が高いほどライブで演奏された可能性が高いことを表します。0.8 より大きい値は、ライブである可能性が高くなります
loudness音圧値は曲全体で平均化され、相対的な音圧を比較するのに役立ちます。値の範囲は -60 ~ 0 db です。音圧が大きいほどマイナス側になります
modeメジャーかマイナーか1がメジャー、0がマイナーの曲になります
speechinessスピーチ感例えば、トークショー、オーディオブック、詩などは、1.0に近くなります。 の値は、ラップ などは、0.33 ~ 0.66になります
tempo曲のテンポBPM。高いほど曲のテンポが速くなります
time_signature拍子4/4拍子なら4になる
valence曲の明るさ0.0~1.0までの指標で値が大きいほど幸せ、陽気、陶酔などのポジティブな印象で小さいほど悲しみ、落ち込み、怒りなどのネガティブな印象になります

特徴別に曲をピックアップ

28ヶ国分のデータから特徴別に最も点数の高い曲をPythonで次のコードでピックアップしています
(以下はアコースティック感の例)

import pandas as pd
df = pd.read_csv("world_top200.csv")
df1 = df.drop(["Streams","Unnamed: 0","Unnamed: 0.1"],axis=1)
df1.loc[[df1['acousticness'].idxmax()]]

結果として全5,600曲の中から最もアコースティック感の強い楽曲を抽出する


Artist
CPositionTrack NameURLacousticnessdanceabilityduration_msenergyinstrumentalnesskeylivenessloudnessmodespeechinesstempotime_signaturetypevalence
1314Kevin KaarlCR115Vámonos a Martehttps://open.spotify.com/track/2TzkIzgzIHhewMx…0.9850.6751790940.160.0068800.164-11.66710.058669.7544audio_features0.247

それでは特徴別の抽出した楽曲をみていきましょう

最もアコースティック感(acousticnessの強い曲

国名:コスタリカ 
順位:115位 
スコア:0.985

秋の夕暮れに、しっとりと繰り返し聞いていたい哀愁たっぷりの曲です。

最もダンサブル( danceability)な曲は♪

国名:ドイツ
順位:77位
スコア:0.979

かっこいい!もっと派手さがあるかと思いきや、おしゃれなサウンド、ビートで自然と踊ってしまいそうな曲。いい意味で裏切られました。ドイツといえばクラフトワークといったデジタルビートミュージックのセンスが抜群にいいですね。

最も演奏時間(duration_ms)の長い曲は♪

国名:アルゼンチン
順位:81位

演奏時間なんと、15分25秒!!曲はビートの聞いた軽いポップミュージックとでもいいますでしょうか、明るさの中にも不安げな雰囲気がたまりません。

長いですね~。でも長い曲と言えば何といっても さだまさしさんの「親父の一番長い日」(12分32秒)ですよね。
番外編としてリンクを貼っておきます。泣けます(/ω\)

最もエネルギッシュ( energy)な曲は♪

国名:オーストリア
順位:99位
スコア:0.989

いかにも打ち込みといった音楽ですね。個人的にはあまりエネルギッシュ感を受けませんでした。個人差はありますよね。そうそう。

最もインスト感(instrumentalness)の強い曲は♪

国名:サウジアラビア
順位:36位
スコア:0.967

ジャケットがカッコいい。サウジアラビアのイメージは本当申し訳ないけれど、ほぼアラジンのイメージしかなくて、ある意味今回の調査でこのような音楽に出会えたことに感謝!
曲はめちゃ単調です。。

最もライブ感(liveness)の強い曲は♪ 0.978

国名:イスラエル
順位:114位
スコア:0.978

超盛り上がりの、みんなで大合唱です。オリエンタルな匂いと沖縄も感じる曲です、まったく歌詞はわかりませんが胸にじんときます。こっちの方がエネルギッシュ感を感じるんだがw

最もラウドネス( loudness )な曲は♪

国名:ブラジル
順位:55位

ジャケットからもやんちゃ加減がうかがえますね(笑)。ブラジルのクラブで流れてそうな感じですね。完全にイメージですが。。

最もスピーチネス( speechiness )な曲は♪

国名:ブラジル
順位:132位

すみません。ピコ太郎さんもこんな感じで歌っていたような。思わずクスッとしてしまう曲ですね。

最もテンポ( tempo )の速い曲は♪

国名:サウジアラビア
順位:33位
BPM:212

このテンポ感が、なんともオリエンタルですね。一気に中東の市場に紛れ込んだかのような気分にさせてくれます。

最も明るい( valence )曲は♪

国名:エジプト
順位:72位
スコア:0.977

エジプトの王様が、こういった音楽を聴いて周りではダンサーたちが踊って、宴を楽しんでいたんだろうなと感じる曲ですね。

3.まとめ

最後まで読んでいただきありがとうございます。いかがだったでしょうか、私としては、普段全く聞くことのないような中東や南米の音楽に触れる事ができて、世界観が広がったような(大げさです!)気がしました。これを機に音楽の幅を広げてみようかと思います。

今回は、Pythonで分析するというよりは、曲の特徴を捉えることに集中しましたね。次はこれらの楽曲データに基づいて国別に特徴がみえないかデータ分析をしていこうと思います。

コスタリカの哀愁漂う大人の感じもいいし、オリエンタルチックなイスラエルの音楽もグッと来たかな~

コメント

タイトルとURLをコピーしました