1. yumayamada1029
Changes in body
Source | HTML | Preview

DIGLEを開発している傍らで実際に使用しているAPIや今後使用したいAPIに関して情報をまとめておきたいと思いメモ
サービス内容も簡単に記載していきます。

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

1.音楽配信サービスAPI

Spotify

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

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

楽曲情報やプレイリストなどの取得を行うApple Music API, アクセストークンの取得を行うStoreKit、 楽曲の再生コントロールなどを行うMediaPlayerフレームワークの3つのツールで構成されている。
Apple Music APIのみWebで使用可能。現在API自体はGETリクエストのみしか用意されていないため、Web側でプレイリストの作成や削除、ユーザー情報の操作などは不可。Apple Music APIのみWebで使用可能。現在API自体はGETリクエストのみしか用意されていないため、Web側でプレイリストの作成や削除、ユーザー情報の操作などは不可。

こちらの記事が詳しいです:WWDC2018にて
MusicKit JS(2018年7月現在ベータ版)の紹介が行われ、アプリだけでなくブラウザベースで再生、停止等のプレイヤーの操作を行うことのできるフレームワークが登場しました。http://qiita.com/hanawat/items/c59c3365156a474821cc

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あり
https://unofficial-google-music-api.readthedocs.io/en/latest/
https://github.com/jamon/playmusic

SoundCloud

(現在アプリの新規登録を停止しているとのこと)
https://developers.soundcloud.com/
Cross Domainを公式でサポートしているため、アプリをSoundCloudに登録してIDを取得すれば複雑な認証などもなく情報取得が可能。

PythonRubyJavascript SDKあり

Deezer

https://developers.deezer.com/api
(ログイン後利用規約の同意が必要)
日本初のロスレス音楽配信サービスを提供している。
SoundCloud同様、認証の必要がなく情報の取得が可能(POST,DELETEは認証が必要)

KKBOX

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

2.その他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/v1
上に同じく産総研のサービス。
能動的音楽鑑賞サービス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日間のフリートライアルが設けられるため、そこでテストが可能。