Subsonicとripdikoで作る快適ラジオ環境

miyagawa/ripdiko · GitHubradikoをrippingして、Subsonicが管理するフォルダに入れたらかなり快適になりました。

Subsonicの設定

f:id:samurai20000:20140326074300p:plain
管理者権限でloginし、setting->Media foldersで録音音源の保存先を登録しておきます。Scan media foldersでscanする間隔を指定します。

ripdikoの設定

インストールはripdiko/README.md at master · miyagawa/ripdiko · GitHubを見て実施。依存パッケージがそこそこあるのでそれを入れるのが少し面倒です。
How to useにある、下記の環境変数を.bashrcなりに書いておきます。私の場合は、サーバーが東京にあるので、下記の通りに設定しました。RIPDIKO_OUTDIRは先ほどSubsonicのMedia foldersで登録したものと同じフォルダを指定します。

# RIPDIKO
export RIPDIKO_AREA_ID=JP13
export RIPDIKO_OUTDIR=/home/samurai20000/subsonic/radio

あと、サーバーの時間はntpd等で正確に合わせておきます。

cronの設定

コマンドが時間で指定できれば、cronだろうと、Jenkinsだろうとなんでも良いのですが、私はcronを使いました。前述のREADME.mdにもありますが、録音開始時間の1分前に実行するようにするのがポイントです。

Fork版

subsonicで管理する際に番組ごとにフォルダ分けされていたほうが都合が良いので、forkして番組サブフォルダを作成するように改造しました。
samurai20000/ripdiko · GitHub。また、私の環境のdebianだと、mp3エンコーダのデフォルトがlibmp3lameではなくmp3なのでmp3ブランチではそちらを使うようにしています。

いけてないところ

Subsonicがscan media foldersのAPIを持っていないので、録音されたファイルがすぐに聴けません。ripdikoが録音終了時にscriptをcallする機能を持っているだけに残念なところです。