Spotify Web APIによる音楽データの取得と分析

Spotify Web APIで取得できる音楽データの分析例や関連するサイトをあげておきます。

KaggleのSpotifyデータの分析:

Spotifyで配信されている音楽 約17万曲分のデータを分析してみた。

Spotify Web APIの使用例:

SpotifyのAPI便利すぎwwwwwwwwwwwww

Spotify Web APIから分析用データセットをつくる

アーティストの関連性から楽曲を楽曲を見つけるサービス:

Musicroamer

ストリーミングサービスやソーシャルメディアのデータによるトレンドの分析サービス:

Chartmetric

お気に入りの音楽を見つける方法 その5

サーベイをしていて見つけた、興味深い本や論文、サイトを紹介しておきます。

ROCKOONOMICS 経済はロックに学べ!

音楽ビジネスの経済学的考察がまとまっていて、非常に面白いです。

特に、以下の章は、音楽情報検索の観点からみても興味深いです。

第5章 ヒットは「運」から生まれる ── 累積的優位とリスク管理

第8章 ストリーミングが世界を覆す ── サブスクリプション経済革命

Content-Based Music Information Retrieval: Current Directions and Future Challenges

The structure of this paper is as follows:

Section II introduces the types of tasks, methods, and approaches to evaluation of content-based MIR systems;

Section III presents methods for high-level audio music analysis;
Section IV discusses audio similarity-based retrieval;
symbolic music analysis and retrieval are presented inSection V;

Section VI presents an overview of advances in music visualization and browsing; Section VII discusses systems for music information retrieval;

and we conclude in Section VIII with a discussion of challenges and future directions for the field.

音楽の内容に基づく音楽情報検索の方向性と課題がまとまっている2008年の論文。特に、Section IV: Audio Similarity-Based Retrievalが興味深い。

Musipedia

メロディやリズムから曲を検索するシステム。

Last.fm

コミュニティベースの人気楽曲情報の共有と可視化をするシステム

お気に入りの音楽を見つける方法 その4

SpotifyのAPIを利用して5,000位ある音楽ジャンルの散布図を作成し、アーティストや楽曲、プレイリストなどを検索する、Every Noise at Onceを紹介しておきます。

Genre Map

トップページは、音楽ジャンルの散布図になっていて、上下(テクノからオーガニック)、左右(重めから軽め)といった感じの配置になっています。

直接、ジャンル名をクリックすると代表的な楽曲が再生されます。ジャンル名の右の>>をクリックすると、そのジャンルのアーティスト群のページが表示されます。

あるいは、右上のアーティスト検索窓にアーティスト名を入力すると、そのアーティストの含まれるジャンルへのリンクが表示されるので、そちらをクリックしても移動できます。

Tribal House

例として、Tribal Houseのジャンルに移動してみます。アーティスト名をクリックすると、代表曲が再生されます。アーティスト名の右側の>>をクリックすると、Spotifyのアプリが起動されて、アーティストページがオープンされます。

Satoshi Tomiie

例として、Satoshi Tomiieのページをオープンしています。

人気曲やプレイリスト、関連アーティストなどでさらに深掘りもできます。

お気に入りの音楽を見つける方法 その3

Crate Diggingに関するリサーチをまとめておきます。

木箱に入ったレコードの中から、お目当ての曲を探し当てる作業をDiggingというようです。

DJの場合、90%の時間は曲探しと曲順の編成に費やされ、実際にパフォームするのは10%程度の時間のようです。

Kado: Find New Tracks Based On Thousands of DJ Sets

他のDJセットの曲順からその曲が前後に現れる回数をもとに選ぶというのが基本のようです。CheatingかSerendipityかという考えもありますが、DJセットの場合、曲のつながりが重要なので、経験則に基づく頻度ベースの検索と考えられます。

Crates: Beatport Track Digging, But Way Better

Beatportの楽曲を効率よく探すツール。

再リリースの楽曲をハイドしたり、短いサンプルからYouTubeの曲全体での位置を表示したり(synchronization)など、Diggingの際の面倒な作業をサポートするツール。

こうしてみると、House Musicのレーベルは、レーベル自体が巨大なCratesで、あらかじめDiggingされた曲に基づくコンピレーションやDJ SetがRadioやストリームとして、YouTubeなどに流れていると考えられます。

代表的なレーベルのYouTube Chanelをあげておきます。

Hedkandi

Z Records

Defected Records

Glitterbox

IRMA records Official

お気に入りの音楽を見つける方法 その2

音楽信号処理に関するリサーチをまとめておきます。

Music Processing using Chroma Features

オーディ信号から12音階(Chroma)の時系列に変換して、相関行列の経路を抽出して、オーケストラによる演奏やピアノによる演奏、楽譜などとリアルタイムで同期を取る処理のデモ。

FMP Python Notebooks

基礎的な音楽信号処理に関するJupyter Notebookによる包括的なフレームワーク

Sound and Music Computing

論文30本, 610 Pages

Multimodal Music Processing

論文13本, 245 Pages

お気に入りの音楽を見つける方法

アンプやスピーカーなど再生系に不満がなくなると、あとは純粋に音楽を聴くのが通常の趣味としてのオーディオの世界だと思います。

しかしながら、自分がまだ知らない、あるいは巡り会えていない楽曲を、有限の人生の中でどこまで見つけ出して、実際に聴けるのかは、本質的な課題だと考えます。

実際、YouTube, Spotify, AmazonMusic, AppleMusicなどのレコメンデーション機能は依然として、発展段階にあるようです。

というわけで、ないものは作るしかないので、リサーチと試作を行いたいと思います。

まず、手始めに、このあたりから攻めてみたいと思います。

Real-time music annotation with deep learning in Essentia

オーディオのストリームをPCのSoundCardから、リアルタイムで読み取って、ディープラーニング(TensolFlow)で音楽の特徴のタグ付けやジャンルの分類を信号処理(Spectrogram)のAPIライブラリ(Essentia)行っているデモ画像です。

音楽の場合、楽曲の特徴を言葉でタグ付けや分類すれば、通常のキーワード検索技術で対応できるようになります。

一方で、新しい音楽やジャンル、微妙なリズムやメロディ、ハーモニーといったもの(音響モデル)は、そもそも言語化が難しく、いわゆる楽譜(Piano Roll)やコード進行、リズムパターンといった、高度な音楽情報の言語モデルによる研究も行われているようです。

Chord-aware automatic music transcription based on hierarchical Bayesian integration of acoustic and language models