2013年8月14日水曜日

RaspberryPI+mplayer+lameでNHKラジオ第2を録音してDropBoxにアップロード

NHKラジオ第2の英語講座を録音したい。録音してどうするか。通勤中聞くのだ。
ちなみにリスンしたい番組は以下。

1年間ほぼ毎朝聴き続けた結果、読み書き発音の進歩はないが、聞き取りは若干上達したような気がする。
通勤時間長い人にはおすすめだ。

で、本題。


例によって参考サイト「Ubuntu に関する個人的メモ  > mplayer でらじる★らじるを聴く」を参考にRubyで実装。

と、実装の前にRaspberryPIでlameによるmp3エンコードとか大丈夫なのか。ということで試してみた。

mplayer -playlist http://mfile.akamai.com/129932/live/reflector:46056.asx -vo null -ao  pcm:waveheader:fast:file=>(lame -q 4 - /tmp/hoge.mp3)

数分、録音してみたけどきちんと録音できてエンコードできる。
やはりCPUを使うらしく、CPU温度は上昇。録音停止と共に下降。



で、確認できたところで、実装。

方針は以下

  • 録音対象はNHKラジオ第2のみ
  • スクリプト実行時から録音開始して与えられた秒数で録音終了
  • 録音終了後mp3ファイルをDropBoxにアップロード
  • cronで番組開始時にスクリプト起動
  • mplayerによる録音は終了タイマーとかできないっぽいのでforkして一定時間経過したらkillすることで録音終了させる(とっても乱暴だが)
シェルスクリプトベースのが正解っぽいのだがファイル名の生成とか面倒なのとDropBoxへのアップロードにRubyライブラリを使うのでRubyベースで。

mplayerの実行にシェルスクリプト(mplayer.sh)を使用。

詳細はソース読んでね。

あとDropBoxライブラリの使用方法とか、アクセストークンの取得とか割愛。

あとは聞きたい番組に合わせてcronを設定。

いやあUnixというかLinuxのcron最高。
もっともWindowsにもatコマンドてのがあるらしいけど。

0 件のコメント:

amazonアソシエイト