last.fmというサービスをご存じでしょうか?「音楽をもっと身近にしたい」という目的で作られたSNSで、再生した音楽をWebに登録することで再生ランキングを表示したり、音楽的指向を分析して似たような傾向のユーザーを紹介してくれたりします。PCで再生した音楽をリアルタイムに、iPodで再生した音楽はPCに接続した時にまとめて自動的にWebに登録します。この機能を実現するソフトウェアをScrobblerと呼び、PC用とMac用が用意されています。
音楽が生活の中心にある僕もlast.fmを愛用しているのですが(僕のページはこちら)、Akurate DSやSneaky Music DS用のScrobblerがないのでこれらで再生した音楽をlast.fmに反映することができませんでした。無いのだったら作ってしまえと素人プログラムながらTwonkyMedia Server用のScrobblerを作成しました。
1.設計
DLNAの考え方に則ればレンダラーかコントローラーに実装したいところです。ですがレンダラーであるDS本体はLINNが対応してくれなければ実装は不可能ですし、コントローラーはいろいろなソフトウェアを適宜使い分けているのでサーバーとして利用しているTwonkyMedia Serverを利用することにしました。
調べてみるとTwonkyMedia Serverのバージョン4系列は最後に再生した楽曲のフィードをXMLで出力できるので、この機能を利用することにしました。ただ残念ながらバージョン5ではこの機能が実装されておらず、現段階ではバージョン4系列専用となります。
2.実行環境
- TwonkyMedia Server 4.4.xx(開発と検証は4.4.18で行いました。前述の通りバージョン5系列では動作しません)
- JRE 5.0以上(Javaの実行環境です。開発はMacで行いましたが、JREが動作する環境があれば動作するはずです。またTwonkyMedia Serverと同じマシンである必要はありません)
3.ダウンロード
実行ファイルはこちらからダウンロードできます。また修正BSDライセンスの元にソースコードも公開しています。
4.インストール
ダウンロードしたzipファイルを解凍するのみです。ディレクトリ(フォルダ)はどこでもお好みで選んでください。
5.設定
インストールディレクトリにあるscrobbler.propertiesが設定ファイルですので、メモ帳などのテキストエディタで開いて次の3項目を設定してください。
scrobbler.user:last.fmのユーザー名
scrobbler.password:last.fmのパスワード
scrobbler.url:TwonkyMedia ServerからのフィードのURL(*)
(*)URLの取得方法
ブラウザでhttp://hostname:9000/rssを開きます。
Playlists -> - Last played -とクリックします。
このURLをscrobbler.urlに設定します。
6.実行
ターミナルを実行して、インストールディレクトリへ移動して、次のコマンドを入力します。
$> java -jar TwonkyScrobbler.jar
もちろんバックグラウンドで実行することも可能ですから、起動しっぱなしにするとよいと思います。
7.既知の問題
- TwonkyMedia Serverのフィードにはバグが多く、TwonkyScrobbler4Jが解析できない出力を行うことがあります。その場合はTwonkyMedia Serverをリスタートしてください。
- 前述の通りバージョン5系列のTwonkyMedia Serverではフィード機能が実装されていないためエラーが発生します。




コメントする