コンテンツへスキップ

Dynamoiで Spotify アルゴリズム を起動しよう

無料で始める

Dynamoiラーニング

Spotifyの音響分析:CNNと13の音響特徴量

Spotifyは畳み込みニューラルネットワークを使って、生の波形から13の音響特徴量を抽出します。これらはRadio、Autoplay、新リリースのコールドスタートレコメンドを支えます。

ハウツーガイド 読了 2 分
A paper craft diorama showing a sound wave entering a machine and becoming data dials for energy and valence.

重要なポイント

Spotifyは畳み込みニューラルネットワーク(CNN)を使って、生の音声波形のスペクトログラムを分析し、テンポ、エネルギー、バレンス、ダンサビリティ、キーなど、楽曲ごとに測定可能な13の特徴量を抽出します。これらの特徴量は、音響的に相性のよい近傍を見つけることでRadioとAutoplayを動かし、リスニング履歴のない新しいアーティストのコールドスタート問題を解決します。Discover Weeklyでは、候補曲の協調フィルタリングスコアが近い場合のタイブレーカーとして音響分析が機能します。

Spotifyで音響分析が行われる仕組み

楽曲が配信代行サービスを通じてSpotifyにアップロードされると、自動音響分析パイプラインを通ります。システムは生の波形を処理し、測定可能な特徴を数十個抽出します。

中心となる技術は畳み込みニューラルネットワーク(CNN)で、画像認識にも使われる同じ種類の機械学習モデルです。ピクセルではなく、SpotifyのCNNは時間経過に伴う音の周波数を視覚的に表したスペクトログラムを分析します。

CNNはこれらのスペクトログラムからパターンを検出するよう学習します。強いドラムビートやシンセサイザーはエレクトロニックやダンスミュージックを示し、穏やかなアコースティックギターのパターンはフォークやシンガーソングライター系のジャンルを示します。複雑なハーモニー構造はジャズやクラシックを示す可能性があります。

Spotifyが抽出する音響特徴量

SpotifyのAPIはすべての楽曲について13の音響特徴量を公開しています。これらはアルゴリズムが音響的な類似性を測定するために使う基礎要素です。

リズムとテンポの特徴量

特徴量 定義 範囲
tempo 推定ビート数(BPM) 0-250
time_signature 1小節あたりの拍数(3/4、4/4など) 1-7
danceability テンポ、リズムの安定性、ビートの強さに基づく、ダンスへの適性 0.0-1.0

Danceabilityはテンポだけで決まりません。リズムが不規則な120 BPMの楽曲は、安定したグルーヴを持つ100 BPMの楽曲より低いスコアになります。

エネルギーと強度の特徴量

特徴量 定義 範囲
energy 知覚される強度と活動性の尺度 0.0-1.0
loudness デシベル(dB)単位の全体的な音量 -60〜0 dB

Energyは複数のシグナルを組み合わせます:ダイナミックレンジ、知覚音量、音色、オンセット率(新しい音が始まる頻度)、全体的なエントロピーです。デスメタルは高く、バッハのプレリュードは低くなります。

調性の特徴量

特徴量 定義 範囲
key 楽曲の調の中心 0-11(C=0、C#=1など)
mode メジャー(1)またはマイナー(0) 0 or 1

これらの特徴量は、RadioとAutoplayが唐突なキー変更なしに移動できるよう、互換性のあるハーモニー構造を持つ楽曲をアルゴリズムがグループ化するのに役立ちます。

ムードと性質の特徴量

特徴量 定義 範囲
valence 音楽のポジティブさ(明るいか悲しいか) 0.0-1.0
acousticness 楽曲がアコースティックである確信度 0.0-1.0
instrumentalness 楽曲にボーカルがないかどうかの予測 0.0-1.0
speechiness 話し言葉の存在 0.0-1.0
liveness 楽曲がライブ演奏された確率 0.0-1.0

Valenceはムードベースのレコメンドで特に重要です。高バレンス(0.8以上)の楽曲は、明るく、または多幸感のあるサウンドです。低バレンス(0.2以下)の楽曲は、悲しい、憂うつ、または怒りのサウンドです。

音響特徴量がレコメンドに影響する仕組み

音響分析はコールドスタート問題を解決します。新しいアーティストが初めて楽曲をアップロードした時点では、リスニング履歴も協調フィルタリングデータもありません。しかし音響特徴量はすぐに利用できます。

各アルゴリズム上の表示面では、音響分析を次のように使います。

RadioとAutoplay

Radioがシード楽曲に基づいてキューを生成するとき、音響的な類似性が主要シグナルです。アルゴリズムは次の特徴が似た楽曲を探します。

  • テンポ(スムーズなトランジションに適した範囲内)
  • エネルギーレベル(セッションの強度を維持)
  • キーとモード(ハーモニーの互換性)
  • バレンス(感情的なトーンを保つ)

高エネルギーのエレクトロニックトラックをシードにしたRadioステーションが、両曲にジャンルタグの共通点があっても、突然ゆっくりしたアコースティックバラードを挿入することはありません。

Discover Weekly

Discover Weeklyは主に協調フィルタリングを使いますが、音響分析はタイブレーカーとして機能します。複数の候補曲のリスニング重複スコアが近い場合、アルゴリズムは既存のテイストプロフィールに最も近い音響特徴量を持つ楽曲を優先します。

アーティストが音響特徴量から学べること

Spotifyが音源をどのように分析するかをコントロールすることはできません。しかし、これらの特徴量を知れば、アルゴリズムがあなたの音楽をどのように聴き、どの楽曲とグループ化するかがわかります。

楽曲の音響特徴量を確認する

Tip サードパーティーのツールを使えば、SpotifyのAPIから楽曲の音響特徴量を取得できます。Spotifyの楽曲URLを入力して特徴量の値を返してくれるサービスを探しましょう。

確認するポイント:

  • カタログ全体で特徴量が一貫していることは、アルゴリズムがあなたの音楽をクラスター化する助けになります。楽曲ごとにエネルギー、テンポ、バレンスが大きく異なると、アルゴリズムは誰が楽しむか予測しにくくなります。
  • ターゲットオーディエンスに合う特徴量はRadioへの掲載を高めます。サウンドが高エネルギーで踊りやすいなら、ワークアウトやパーティー志向のRadioセッションに表示される可能性が高くなります。

イントロの問題

音響分析は楽曲全体を調べますが、リスナーの行動は最初の30秒に大きく左右されます。イントロが楽曲の残りと異なる特徴を持つ場合(大きなドロップの前に静かなアンビエントイントロがあるなど)、音響特徴量がリスナーが最初に体験するものを反映しないことがあります。

これによりミスマッチが起きる可能性があります:アルゴリズムは全体のエネルギーに基づいて楽曲を推薦しますが、リスナーはイントロが期待と合わないためスキップします。イントロの最適化は、全体的な音響プロフィールの最適化とは別のスキルです。

音響分析の限界

音響分析は強力ですが、見落とすものもあります。

文化的文脈が欠けている。 アルゴリズムは楽曲のエネルギーが高くテンポが128 BPMであることは知っていますが、歌詞が特定の文化的瞬間を指していることや、プロダクションスタイルが特定の時代を想起させることは知りません。

似たサウンドが似たオーディエンスとは限らない。 2曲の音響特徴量がほぼ同じでも、まったく異なるリスナーに訴求することがあります。音響分析が見つけるのは音響的な近傍であり、オーディエンスの近傍ではありません。

ジャンルは推測されるもので、申告するものではない。 Spotifyは配信代行サービスが提供したジャンルタグを使いますが、音響的特徴が一致しなければ音響分析がそれを上書きすることがあります。「ヒップホップ」とタグ付けされた楽曲がアコースティックフォークのように聞こえる場合、フォークのリスナーにレコメンドされる可能性があります。

より広いアルゴリズムにおける音響の役割

Spotifyのアルゴリズムが使う主なデータソースは3つです。

データソース 取得するもの 得意なこと
協調フィルタリング ユーザー間のリスニングパターン オーディエンスの重なりを見つける
自然言語処理 歌詞、プレイリストタイトル、ウェブ上の言及 文化的文脈を理解する
音響分析 波形の音響特性 音響的に似た楽曲を見つける

確立されたアーティストでは協調フィルタリングが優勢です。新しいアーティストでは、分析できるリスニング履歴がないため、音響分析の重みが増します。

目標は、明確で一貫した音響特性を持つ音楽をリリースしながら、エンゲージしたリスナーベースを築くことです。音響分析によって発見され、エンゲージメントシグナルによってレコメンドされ続けるかが決まります。