ふじかわ家のページ


by mmbrothers

ネットラジオの録音

英会話の向上の手段として、NHKラジオを自動録音してMPDで聞けるように設定してみました。
Windows7では、Radikaβを使用して録音できるのですが、定期的に自動録音するのには向いていないと思われるため、Raspberry Piに設定してみました。
まあ、毎日継続出来るかどうかが重要だと思いますが。。

まずrtmpdumpのインストール
sudo apt-get install rtmpdump


下記は、必要だったかどうかは不明です。
sudo apt-get install libfreetype6-dev libgif-dev libjpeg62-dev libt1-5 zlib1g-dev libavifile-0.7-dev libart-2.0-dev


シェルnhk2.shを簡易radiko録音ツールを参考に適当に修正して作成しました。。

#!/bin/bash
date=`date '+%Y%m%d-%H%M'`
echo ${date}
outdir="/media/usb0/music/Radiko"
DURATION=`expr $1 \* 60`

rtmpdump \
--rtmp "rtmpe://netradio-r2-flash.nhk.jp" \
--playpath 'NetRadio_R2_flash@63342' \
--app "live" \
-W http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf \
--live \
--stop ${DURATION} \
--flv "${outdir}/${date}.m4a"

mpc clear
mpc update
mpc load NHK
mpc ls music/Radiko
sleep 5
mpc insert music/Radiko/${date}.m4a
mpc rm NHK
mpc save NHK


テストしてみます。
下記は /home/pi/nhk2.sh を実行し、1分後に停止させます。
sudoにしたのは、USBメモリ上にファイルを出力させるためです。
sudo /home/pi/nhk2.sh 1


クーロンで定期的に実行出来るよう設定します。
crontab -e

下記行を追加します。内容は毎週月から金まで朝8:30に/home/pi/nhk2.shを実行
30 08 * * 1-5 sudo /home/pi/nhk2.sh 10


事前にmpd のrootフォルダ/var/lib/mpd/music に/media/usb0/musicをln -sでリンクさせておきます。その下にRadikoフォルダを作成しておきます。
pi@raspberrypi ~ $ ls -la /var/lib/mpd/music
total 8
drwxr-xr-x 2 root root 4096 Dec 30 13:49 .
drwxr-xr-x 5 mpd audio 4096 Jan 6 11:41 ..
lrwxrwxrwx 1 root root 17 Dec 27 00:35 music -> /media/usb0/music


本日朝自動録音されたものを再生してみましたが、音声の高音がつぶれているような感じですが
勉強するには十分かな?と思います。

聞く方法は、iPhoneのMPodアプリを起動し、Playlists一覧からNHKを選ぶだけです。

シェルの下記行により、MPDのプレイリストNHKにrtmpdumpで出力したファイルを追加します。
mpc clear  --> カレントプレイリストをクリア
mpc update -->MPD のデータベースを更新
mpc load NHK -->プレイリストNHKをカレントプレイリストに読み込み
mpc ls music/Radiko -->MPDのデータベースから、フォルダmusic/Radiko下のファイルを確認
sleep 5 --> 5秒間スリープ 少し時間をおいてからでないと、下行コマンドがエラーになります。
mpc insert music/Radiko/${date}.m4a -->カレントプレイリストにrtmpdumpで出力したファイルを追加
mpc rm NHK --> プレイリストNHKを一旦削除
mpc save NHK --> カレントプレイリストをNHKに保存

下記のように記録されたものが一覧で表示され、選べるようになります。
a0038328_23444190.jpg

[PR]
by mmbrothers | 2013-01-08 00:19 | Raspberry Pi/ラズベリーパイ