音楽系API(主に音楽配信サービス)まとめ

DIGLEを開発している傍らで実際に使用しているAPIや今後使用したいAPIに関して情報をまとめておきたいと思いメモ

サービス内容も簡単に記載していきます。

2019年05月現在の情報のため更新があれば追記していく予定です


1.音楽配信サービスAPI


Spotify API

https://developer.spotify.com/web-api/

楽曲情報の取得やプレイリストの作成、再生コントロールのAPIなど一通りのREST APIが揃っている。


  • Albums

  • Artists

  • Browse (Spotifyのブラウズタブに表示される情報が取得できる。ニューリリースアルバムやカテゴリ情報、関連プレイリストなど)

  • Follow(ユーザーやアーティストのフォロー関連のAPI)

  • Library(ユーザーの保存したトラック、アルバム情報の操作)

  • Personalization(ユーザーの試聴傾向に関する情報を取得できる)

  • Player(再生コントロールのAPI。TVやAIスピーカーなどのハードとも連携可能)

  • Playlists

  • Profiles

  • Search

  • Tracks

様々な言語のSDKがあり、開発も直ぐにできる印象。Javascript SDKに関してはクライアントサイドのみの提供のため、ユーザーのプライベート情報や非公開プレイリストの取得などに必要な関数が存在しないため注意が必要。また、iOS・Android SDKについてもベータ版のため予告なしの仕様変更もありうるとのこと。


Apple Music API

https://developer.apple.com/musickit/

https://developer.apple.com/documentation/applemusicapi

楽曲情報やプレイリストなどの取得を行うApple Music API, アクセストークンの取得を行うStoreKit、 楽曲の再生コントロールなどを行うMediaPlayerフレームワークの3つのツールで構成されている。

Apple Music APIのみWebで使用可能。現在API自体はGETリクエストのみしか用意されていないため、Web側でプレイリストの作成や削除、ユーザー情報の操作などは不可。

WWDC2018にてMusicKit JSの紹介が行われ、アプリだけでなくブラウザベースで再生、停止等のプレイヤーの操作を行うことのできるフレームワークが登場しました。

MusicKit JSの操作方法等はこちらの記事が詳しいです:

https://dev.classmethod.jp/smartphone/iphone/wwdc-18-play-music-with-music-kit-js/

Apple Music APIの大まかなセットアップ、使用法はこちら:

https://dev.classmethod.jp/smartphone/iphone/ios-11-apple-music-api-intro/

http://qiita.com/hanawat/items/c59c3365156a474821cc


Google Play Music API

非公式ではあるがAPIあり

https://unofficial-google-music-api.readthedocs.io/en/latest/

https://github.com/jamon/playmusic


SoundCloud API

(現在アプリの新規登録を停止しているとのこと)

https://developers.soundcloud.com/

Cross Domainを公式でサポートしているため、アプリをSoundCloudに登録してIDを取得すれば複雑な認証などもなく情報取得が可能。

PythonRubyJavascript SDKあり


Deezer API

https://developers.deezer.com/api

(ログイン後利用規約の同意が必要)

日本初のロスレス音楽配信サービスを提供している。

SoundCloud同様、認証の必要がなく情報の取得が可能(POST,DELETEは認証が必要)


KKBOX API

https://developer.kkbox.com/#/

楽曲やプレイリスト情報の取得を行うAPIが中心に揃っている。

SDKはPython,Javascript,Android,Objective-C,Swift,.NET Framework,Go

以下のURLから簡単に様々な言語でAPIのテストができる

https://docs-en.kkbox.codes/v1.1/reference


Amazon Music API

非公式ではあるがAPIあり

https://github.com/Jaffa/amazon-music


2.歌詞情報API


Musixmatch

https://www.musixmatch.com/ja

https://developer.musixmatch.com/

歌詞情報を提供するサービス。

2kまでのAPIコールであれば無料で利用できる。


Genius

https://genius.com/

https://genius.com/api-clients

*サインアップが必要

歌詞情報のサービス。

歌詞に対してなぜそのような歌詞が書かれているのか、といった背景についてユーザー間で投稿ができるようになっている。


歌詞GET

http://www.kget.jp/api/

歌詞情報を検索、閲覧できるサービス。

APIは以下の機能を提供している

・歌詞検索

・歌詞詳細

・新着歌詞日付一覧

・新着歌詞一覧

・デイリーランキング一覧

・ウィークリーランキング一覧

・マンスリーランキング一覧

仕様の詳細、及び価格については問い合わせが必要

http://www.kget.jp/mailto/


3.その他API


Gracenote

https://developer.gracenote.com/

音楽CDデータベースのAPI。音楽のメタデータ(曲名は勿論、リリース日やジャンル、テンポ等)を所有しており、Apple iTunes Storeなどの音楽配信サービスや、ソニー、パイオニア、アルパインなどの自動車・家電製品、Samsung、Sony Ericssonなどの携帯音楽アプリケーションに技術を提供している。

APIは大きく分けて3つ


1.メタデータ

曲名やリリース日、国、カバーアート画像やジャンル等テキスト情報を取得できる。

試験版であるが"Timeline API"を利用すると、ビートの位置や曲の区切り、テンポなどの情報を曲のタイムライン毎に取得できる。

https://developer.gracenote.com/web-api


2.楽曲認識

SDK(GNSDK)を利用した音声認識検索機能の提供。

試験版であるが"LiveID"と呼ばれる機能を利用することでアーティストのライブ演奏の楽曲と元の音源をマッチさせる機能を提供している。


3.ミュージック・ディスカバリー

"Rhythm API" を利用すると楽曲のフィルタリング、リコメンド機能を使用できる。

利用ユーザーに向けたラジオやプレイリストのリコメンド、ユーザーの好み、気分に合わせた楽曲のフィルタリング等。

https://developer.gracenote.com/rhythm-api


Music Story

音楽メタデータのサービス。欧州、北アメリカのアーティストの情報が主となっている。楽曲情報だけでなくアーティストのホームページやSNSリンク、歌詞やアルバムのレビュー情報なども取得できる。

http://developers.music-story.com/developers


Discogs

https://www.discogs.com/developers/

音楽データベースのAPI。参加ユーザー同士の有志による情報作成のため、楽曲情報編集等のAPIも提供されている。


Last.fm

楽曲の好みをパーソナライズして提供するストリーミングラジオを利用した音楽SNS。

https://www.last.fm/ja/api


FANART.tv

ジャケ写等画像を取得できる。

https://fanart.tv/

https://fanarttv.docs.apiary.io/


Billboard Chart

https://github.com/guoguo12/billboard-charts

(非公式)Billboard.comのチャートを取得できる。


MusicBrainz

https://musicbrainz.org/

オープンな音楽データベースを提供するサービス。

こちらの記事が詳しいです。

https://dev.classmethod.jp/tool/music-brainz/


Cover Art Archive

https://coverartarchive.org/

アーティストの楽曲、アルバムに使われるカバーアート画像を簡単に取得できることを目指したサービス。

MusicBrainzと様々なメディア情報を保存しているInternet Archiveの共同で作成されたAPI。

カバーアートはMusicBrainzのユーザーからアップロードされ、有志でユーザー同士でチェックしているため品質が保たれているとのこと。


TextAlive

http://textalive.jp/

産総研のサービス。

音楽に合わせて歌詞アニメーションをつけることの出来るプログラム。

自動生成することも出来るが、プログラミングの知識があればブラウザ上に用意されたテキストエディタで編集して凝ったものもつくれる。

以下はエディタ内で使用するAPI

http://docs.textalive.jp/programming/templates/


Songle Sync

http://api.songle.jp/sync

上に同じく産総研のサービス。

能動的音楽鑑賞サービスSongle(ソングル)で使われている技術を利用したAPI。

楽曲の解析内容(サビ・イントロなどの構成、BPM、コード、メロディ)を基に様々なイベントを受け取ることができる。

例えば、サビに入ったというイベントを受けた際に映像の演出を切り替えたり、照明の色を一斉に切り替えるなど。

以下チュートリアル

http://tutorial.songle.jp/sync


チケットぴあ

http://t.pia.jp/info/api.jsp

大別して検索系API,購入系APIの2種類を提供している。

利用に際しては審査・利用料が必要になるとのこと。


ACRCloud

https://www.acrcloud.jp/

コンテンツの自動認識サービス。

音声フィンガープリントと呼ばれる技術を用いることで、周囲で流れている音楽や鼻歌から楽曲を特定することが可能となる。

また、ストリーミングサービス(SpotifyやDeezerなど)の楽曲とリンクを繋げることができるため、そのまま各ストリーミングサービスから直接楽曲を購入・再生などができる。

サインアップ時に14日間のフリートライアルが設けられるため、そこでテストが可能。


SonicAPI

http://www.sonicapi.com/

音声ファイルに対して様々な分析をしたり、処理を加えたりすることが出来るAPI。

Ableton, Steinberg, Korg等に技術提供を行っている。

無料アカウントの場合、2.5GBバイトまでの音声ファイルを処理できる(1ファイルあたり上限15分まで)

利用可能なAPIは以下の通り


分析API

・analyze/chords

コードの検出

・analyze/key

キーの分析。メジャー・マイナーの検出。

・analyze/loudness

音圧

・analyze/melody

メロディーの検出。単音のメロディー(例えば、アカペラの音声ファイル等)にのみ使用可能。

・analyze/tempo

テンポの検出。


ファイルAPI

・file/download

ファイルのダウンロードリンクを提供

・file/status

ファイルの状態を確認(ダウンロード可能かどうか)

・file/upload

音声ファイルのアップロード


処理API

・process/elastique

テンポとピッチの変更

・process/elastiqueTune

単音のメロディーのピッチ補正

・process/reverb

リバーブ効果を付与する


Music Skill API

Amazon AlexaやAmazon EchoなどのAlexa対応デバイスに対して音楽ストリーミングの機能を作成できるAPI。

*スキルの配信地域は現在米国内のみ対応

https://developer.amazon.com/ja/docs/music-skills/understand-the-music-skill-api.html


音響認識SDK

マイクで録音した音声信号を入力し、演奏タイミングや音程・和音を識別して結果を返す機能を提供している。

演奏の採点等に使用できる。

https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_name=acoustic_recognition&p_name=api_usage_scenario