1. yumayamada1029

    No comment

    yumayamada1029
Changes in body
Source | HTML | Preview
@@ -1,206 +1,206 @@
[DIGLE](https://digle.tokyo)を開発している傍らで実際に使用しているAPIや今後使用したいAPIに関して情報をまとめておきたいと思いメモ
サービス内容も簡単に記載していきます。
-2018年09月現在の情報のため更新があれば追記していく予定です
+2019年01月現在の情報のため更新があれば追記していく予定です
#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](https://developer.spotify.com/web-api/code-examples/#wrappers)があり、開発も直ぐにできる印象。Javascript SDKに関してはクライアントサイドのみの提供のため、ユーザーのプライベート情報や非公開プレイリストの取得などに必要な関数が存在しないため注意が必要。また、iOS・Android SDKについてもベータ版のため予告なしの仕様変更もありうるとのこと。
##Apple Music
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](https://developer.apple.com/documentation/musickitjs#topics)(2018年7月現在ベータ版)の紹介が行われ、アプリだけでなくブラウザベースで再生、停止等のプレイヤーの操作を行うことのできるフレームワークが登場しました。
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](https://developers.soundcloud.com/docs/api/guide#crossdomain)を公式でサポートしているため、アプリをSoundCloudに登録してIDを取得すれば複雑な認証などもなく情報取得が可能。
[Python](https://github.com/soundcloud/soundcloud-python)、[Ruby](https://github.com/soundcloud/soundcloud-ruby)、[Javascript](https://developers.soundcloud.com/docs/api/sdks#javascript) SDKあり
##Deezer
https://developers.deezer.com/api
(ログイン後利用規約の同意が必要)
[日本初のロスレス音楽配信サービス](https://www.phileweb.com/review/article/201712/09/2861.html)を提供している。
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
音楽メタデータのサービス。[欧州、北アメリカのアーティストの情報が主となっている](http://www.music-story.com/stats/)。楽曲情報だけでなくアーティストのホームページや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](https://www.billboard.com/charts)のチャートを取得できる。
##MusicBrainz
https://musicbrainz.org/
オープンな音楽データベースを提供するサービス。
こちらの記事が詳しいです。
https://dev.classmethod.jp/tool/music-brainz/
##Cover Art Archive
https://coverartarchive.org/
アーティストの楽曲、アルバムに使われるカバーアート画像を簡単に取得できることを目指したサービス。
MusicBrainzと様々なメディア情報を保存している[Internet Archive](https://archive.org/)の共同で作成されたAPI。
カバーアートはMusicBrainzのユーザーからアップロードされ、有志でユーザー同士でチェックしているため品質が保たれているとのこと。
##TextAlive
http://textalive.jp/
産総研のサービス。
音楽に合わせて歌詞アニメーションをつけることの出来るプログラム。
自動生成することも出来るが、プログラミングの知識があればブラウザ上に用意されたテキストエディタで編集して凝ったものもつくれる。
以下はエディタ内で使用するAPI
http://docs.textalive.jp/programming/templates/
##Songle Sync
http://api.songle.jp/sync
上に同じく産総研のサービス。
[能動的音楽鑑賞サービスSongle(ソングル)](http://songle.jp/)で使われている技術を利用したAPI。
楽曲の解析内容(サビ・イントロなどの構成、BPM、コード、メロディ)を基に様々なイベントを受け取ることができる。
例えば、サビに入ったというイベントを受けた際に映像の演出を切り替えたり、照明の色を一斉に切り替えるなど。
以下チュートリアル
http://tutorial.songle.jp/sync
##チケットぴあ
http://t.pia.jp/info/api.jsp
大別して検索系API,購入系APIの2種類を提供している。
利用に際しては審査・利用料が必要になるとのこと。
##ACRCloud
https://www.acrcloud.jp/
コンテンツの自動認識サービス。
[音声フィンガープリント](https://www.acrcloud.jp/technologies)と呼ばれる技術を用いることで、周囲で流れている音楽や鼻歌から楽曲を特定することが可能となる。
また、ストリーミングサービス(SpotifyやDeezerなど)の楽曲とリンクを繋げることができるため、そのまま各ストリーミングサービスから直接楽曲を購入・再生などができる。
サインアップ時に14日間のフリートライアルが設けられるため、そこでテストが可能。
##Musixmatch
https://www.musixmatch.com/ja
https://developer.musixmatch.com/
歌詞情報を提供するサービス。
2kまでのAPIコールであれば無料で利用できる。
##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
リバーブ効果を付与する
##Genius
https://genius.com/
https://genius.com/api-clients
*サインアップが必要
歌詞情報のサービス。
歌詞に対してなぜそのような歌詞が書かれているのか、といった背景についてユーザー間で投稿ができるようになる。