「らじるらじる」でNHKラジオを聴く

日本のインターネットラジオ局として、NHKの「らじるらじる」があります。
これを、ラズパイZeroでも聞くことが可能です。ラズパイ Zeroで音を出せ
るようになりましたので、NHKの「らじるらじる」のソフトをインストール
して、NHKラジオ(NHK第1、NHK第2、NHKFM(東京))を聴いたり録音でき
るようにしてみます。

最初に、使用するソフトをインストールします。

pi@corona:~ $ sudo apt-get install rtmpdump mplayer swftools libxml2-utils libav-tools


関連するファイルは、/home/pi/radioにおきますので、/home/pi/radio
を環境変数のPathに追加します。

pi@corona:~ $ mkdir radio
pi@corona:~ $ nano .bashrc

nanoエディタで、.bashrcファイルの最後に、次のような1行を入れます。

export PATH=$PATH:~/radio

次のようにsourceコマンドで、.bashrcの変更を反映します。

pi@corona:~ $ source .bashrc

次にGitHubからスクリプトを入手します。

再生用スクリプト rajiru.sh
 https://gist.github.com/oyakodon/88dc89df6483d99278de
記録用スクリプト rec_nhk.sh
 https://gist.github.com/matchy2/f03205246e1a12b3b027

スクリプトは、次のように/home/pi/radioにダウンロードします。

pi@corona:~ $ cd radio
pi@corona:~/radio $ wget https://gist.githubusercontent.com/oyakodon/88dc89df6483d99278de/raw/74ad2543687d4be3ffb63b60d8de36a94b97572a/rajiru.sh
pi@corona:~/radio $ wget https://gist.githubusercontent.com/matchy2/f03205246e1a12b3b027/raw/7b0924148e0ea8c501e638fa36effef96e3c7208/rec_nhk.sh

スクリプトの修正として、rec_nhk.shのffmpegをavconvに置き換えます。
これは、Raspbianにffmpegを導入するのが非常に煩雑なためです。

pi@corona:~/radio $ nano rec_nhk.sh

より、最後から3行目の左端のffmpegをavconvに変えて保存します。

次に、スクリプトに実行権を付与します。

pi@corona:~/radio $ chmod +x rajiru.sh
pi@corona:~/radio $ chmod +x rec_nhk.sh


インターネットラジオを聴取する場合は、SSH接続またはVNC接続のDesktop
のLXterminalより、次のコマンドを実行します。

rajiru.sh -p 局名と入力する(NHK1、NHK2、NHKFM)
例:pi@corona:~ $ rajiru.sh -p NHK2
例:pi@corona:~ $ rajiru.sh -p FM

録音する場合は、次のコマンドを実行します。

rec_nhk.sh 局名 録音時間(分単位) 保存先フォルダ
 例:pi@corona:~ $ rec_nhk.sh FM 10 /home/pi/radio

上の例では、NHKFMを10分間録音して/home/pi/radioに保存します。時間を
0分にすると、スクリプトを停止させるまで録音を続けます。最初のテストは、
1分で行ってみます。

なお、再生しても、最初の15秒〜20秒程は、バッファリングのため音は出ません。
また、録音時は音は出ず、録音が終わったらタイムスタンプの入ったファイル名
のmp3のファイルができます。

「Radio Center」でNHKラジオを聴く

先ほどのrajiru.shやrec_nhk.shを、ラズパイZeroのDesktopで使用できる
GUIのPythonプログラム「Radio Center」を作成してみました。
このファイル名はradio.pyで、下記のようにコロナ社のサポートページから
ダウンロードできます。

最初に、wgetを使って/home/piにダウンロードします。

pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/radio.py

VNC接続でDesktopのLXterminalより、次のコマンドを実行します。

pi@corona:~ $ python radio.py

このコマンドより、次のようなGUIが表示されます。


ここでは、「選局」ボタンで放送を選択します。また、「再生/録音」ボタンで 再生か録音かを選びます。時間(分)は0分〜1000分まで指定が可能です。 ただし、0分にすると録音できません。ほぼ1分で1MB程度のファイルになるので 100分記録すると100MBとなります。保存先は録音したファイルを保存する場所 を選びます。初期設定の保存先は、/home/pi/radioとなっています。再生や 録音については、「開始」を押すと再生/録音が開始され、「終了」を押すと 時間指定にかかわらず終了します。保存されるファイル名は、局名.日付.録音 開始時間.mp3で、選局できるのはNHK1/NHK2/NHKFMの3局です。終了させる 場合は、「終了」ボタンを押してから、右上のXを押しGUIを終了させます。