DJの選曲にもレコメンドがあると楽じゃないか?それTraktorでもできませんかね!? Vol.3

はい!KAI-YOUエンジニアのコウベ(@cabbagekobe)です。

というわけで前回の続き!

前回の記事はコチラ!

kai-you-tech.hatenablog.com

今回やっていくのは「Traktorで再生中の曲をどうやって取得していくのか」です。

とはいえTraktorには直接に再生中の曲情報などを取れるAPI、ましてやプラグインなどもありません!

なのでTraktorに用意されているbroadcasting機能を使っていきます。
これを使うと完全ではないですが、楽曲名、アーティスト名をjson形式で取得できます。

そしてそのやりかた

まずicecastをインストールします!

Icecastとは

Icecastは Xiph.Org Foundation が運営するストリーミングプロジェクトであり、その成果はフリーソフトウェアとしてリリースされている。特にプロジェクトの一部であるサーバプログラムを指すことがある。Icecast は1998年12月から1999年1月にかけて Jack Moffitt と Barath Raghavan が誰でも修正・利用・改変可能なオープンソースの音声ストリーミングサーバとして開発したのが最初である。バージョン2の開発は2001年に始まり、各種フォーマットをサポートしスケーラビリティを向上させるため完全に書き直された(それ以前は Ogg Vorbis だけを対象としていた)。

https://ja.wikipedia.org/wiki/Icecast より

本来的な役割としてはストリーミングサーバーを立てることが目的ですが、ここはとりあえずあまりなにも考えずインストールしましょう!(Homebrewで)

Icecast周りの準備

まずはインストール

brew install icecast

でインストールされます。

そしてicecastを起動しましょう!

$ icecast -c /usr/local/etc/icecast.xml

(/usr/local/etc/icecast.xml が設定ファイルになってまして今回は省きますが必要があればちゃんと設定しましょう)

そうしますとこちらにアクセスできるようになるはず!

http://127.0.0.1:8000/status-json.xsl

Traktor周りの準備!

次にTraktorから設定していきましょう。

設定を開きましてBroadcastingタブを開きまして、こんな感じに設定していきましょう!

f:id:KAI-YOU:20191118183840p:plain

パスワードは上記の/usr/local/etc/icecast.xmlのファイルに書いてありますが、初期設定は"hackme"になっているはず…

そうしましたらばこちらのボタンを押してBroadcast機能をオンにしましょう!

f:id:KAI-YOU:20191118184008p:plain

(ちなみに設定がキチンとしていましたらボタンは点灯状態になります。点滅してたらなんか設定がおかしいよ〜ってことなのでなにか見直しましょう)

情報を取得する!

上記のようにicecastの設定、Traktorの設定がキチンとされており、曲を再生してちょっと待ってから改めて下記URLにアクセスしますと、楽曲情報が吐き出されているはずです!

http://127.0.0.1:8000/status-json.xsl

こんな感じに!

f:id:KAI-YOU:20191118184900p:plain

楽曲が変わるごとに上記URLの情報も変わりますので、こちらのURLから定期的にアーティストと曲名を取得しつつ楽曲DBとかに投げて情報を取得していけるはずです!

というわけで次回は最終回(予定)!

spotify APIから取得した情報を入れたDBから今再生中の楽曲と似た曲をリストアップするぞ!です。

乞うご期待!!!!!