Spotifyにおけるオーディオ解析の仕組み
トラックがディストリビューターを通じてSpotifyにアップロードされると、自動化されたオーディオ解析パイプラインを通過します。システムは生の波形を処理し、数十もの測定可能な特性を抽出します。
中核となる技術は、画像認識に使用されるものと同じ機械学習モデルである畳み込みニューラルネットワーク(CNN)です。SpotifyのCNNはピクセルを解析するのではなく、時間の経過に伴う音の周波数を視覚的に表現したスペクトログラムを解析します。
CNNはスペクトログラム内のパターンを検出するように学習します。力強いドラムビートやシンセサイザーはエレクトロニックやダンスミュージックを示唆し、穏やかなアコースティックギターのパターンはフォークやシンガーソングライターのジャンルを示し、複雑なハーモニー構造はジャズやクラシックを示唆する可能性があります。
Spotifyが抽出するオーディオ特徴量
SpotifyのAPIは、すべてのトラックに対して13のオーディオ特徴量を公開しています。これらは、アルゴリズムが音響的な類似性を測定するために使用する構成要素です。
リズムとテンポの特徴量
| 特徴量 | 定義 | 範囲 |
|---|---|---|
tempo |
推定テンポ(BPM) | 0-250 |
time_signature |
拍子(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は、ダイナミックレンジ、知覚的なラウドネス、音色、オンセットレート(新しい音が始まる頻度)、全体的なエントロピーなど、複数の信号を組み合わせたものです。デスメタルは高いスコアになり、Bachのプレリュードは低いスコアになります。
調性の特徴量
| 特徴量 | 定義 | 範囲 |
|---|---|---|
key |
トラックの調性センター | 0-11 (C=0, C#=1など) |
mode |
メジャー(1)またはマイナー(0) | 0または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は、ムードに基づいたレコメンデーションにおいて特に重要です。valenceが高い(0.8以上)トラックは陽気または高揚感があるように聞こえます。valenceが低い(0.2以下)トラックは悲しい、憂鬱、または怒っているように聞こえます。
オーディオ特徴量がレコメンデーションに与える影響
オーディオ解析はコールドスタート問題を解決します。新しいアーティストが最初のトラックをアップロードした際、リスニング履歴や協調フィルタリングのデータは存在しませんが、オーディオ特徴量は即座に利用可能です。
各アルゴリズムの表面でオーディオ解析がどのように使用されているかは以下の通りです。
RadioとAutoplay
Radioがシードトラックに基づいてキューを生成する際、音響的な類似性が主要な信号となります。アルゴリズムは以下の要素が類似したトラックを見つけます:
- テンポ(スムーズな移行のために妥当な範囲内)
- エネルギーレベル(セッションの強度を維持するため)
- キーとモード(ハーモニーの適合性のため)
- バレンス(感情的なトーンを保持するため)
これが、高エネルギーなエレクトロニックトラックをシードにしたRadioステーションが、たとえ両方の曲が同じジャンルタグを共有していても、突然スローなアコースティックバラードを挿入しない理由です。
Discover Weekly
Discover Weeklyは主に協調フィルタリングを利用していますが、オーディオ分析がその決定打となります。複数の候補曲のリスニング重複スコアが近い場合、アルゴリズムはユーザーの既存の好みとオーディオ特性が最も近い楽曲を優先します。
アーティストがオーディオ特徴量から学べること
Spotifyがどのようにオーディオを解析しているかを直接制御することはできませんが、これらの特徴量を理解することで、アルゴリズムがあなたの音楽をどのように認識しているかを解釈するのに役立ちます。
トラックのオーディオ特徴量を確認する
Tip サードパーティツールを使用すると、SpotifyのAPIからトラックのオーディオ特徴量を取得できます。SpotifyのトラックURLを入力すると特徴量の値を返すサービスを探してみてください。
注目すべき点:
- カタログ全体で一貫した特徴量を持つことは、アルゴリズムがあなたの音楽を分類するのに役立ちます。エネルギー、テンポ、バレンスが大きく異なる場合、アルゴリズムは誰がその曲を楽しむかを予測するのが難しくなります。
- ターゲットオーディエンスと一致する特徴量は、Radioへの掲載を改善します。あなたのサウンドが高エネルギーでダンスに適している場合、ワークアウトやパーティー向けのRadioセッションにトラックが表示される可能性が高まります。
イントロの問題
オーディオ解析はトラック全体を調べますが、リスナーの行動は最初の30秒間に大きく影響されます。イントロが曲の他の部分と異なる特性を持つ場合(激しいドロップの前に静かな環境音のイントロがあるなど)、オーディオ特徴量はリスナーが最初に体験するものと一致しない可能性があります。
これがミスマッチを生む原因となります。アルゴリズムは全体的なエネルギーに基づいてトラックを推奨しますが、イントロが期待と一致しないためリスナーがスキップしてしまうのです。イントロの最適化は、全体的なオーディオプロファイルの最適化とは別のスキルです。
オーディオ解析の限界
オーディオ解析は強力ですが、死角もあります:
文化的背景が欠けている。 アルゴリズムはあなたのトラックが高エネルギーで128 BPMのテンポであることを知っていますが、歌詞が特定の文化的瞬間を指していることや、制作スタイルが特定の時代を想起させることは知りません。
似たサウンドが、必ずしも似たオーディエンスとは限らない。 2つのトラックがほぼ同じオーディオ特徴量を持っていても、全く異なるリスナーにアピールする可能性があります。オーディオ解析は音響的な隣人を見つけるものであり、オーディエンスの隣人を見つけるものではありません。
ジャンルは推測されるものであり、宣言されるものではない。 Spotifyはディストリビューターが提供したジャンルタグを使用しますが、音響特性が一致しない場合、オーディオ解析がそれを上書きすることがあります。「hip-hop」とタグ付けされたトラックがアコースティックフォークのように聞こえる場合、代わりにフォークリスナーに推奨される可能性があります。
より広範なアルゴリズムにおけるオーディオの役割
オーディオ解析は、Spotifyのアルゴリズムが使用する3つの主要なデータソースの1つです:
| データソース | 捕捉するもの | 最適な用途 |
|---|---|---|
| 協調フィルタリング | ユーザー全体のリスニングパターン | オーディエンスの重複を見つける |
| 自然言語処理 | 歌詞、プレイリストタイトル、Web上の言及 | 文化的背景を理解する |
| オーディオ解析 | 波形の音響特性 | 音響的に類似したトラックを見つける |
確立されたアーティストの場合、協調フィルタリングが支配的です。新しいアーティストの場合、分析すべきリスニング履歴がないため、オーディオ解析の比重が高くなります。
目標は、明確で一貫したオーディオ特性を持つ音楽をリリースしながら、熱心なリスナーベースを構築することです。オーディオ解析によって発見され、エンゲージメントシグナルが推奨され続けるかどうかを決定します。