LoginSignup
11
14

More than 1 year has passed since last update.

Raspberry Pi4 でラジオ録音サーバーを構築する

Last updated at Posted at 2021-01-13

ラジオの録音は rec_radiko.sh を使用し、グーグルドライブに保存していました。しかし2020年12月頃より、Flashの関係で録音ができなくなりました。
そこで、新たに登場したスクリプトを使い、ラジオの録音サーバーを構築、sambaでPCに共有してみます。

スクリプトについて

1. radish
オンタイムで録音ができるスクリプトです。
らじるらじる、ラジコ、ListenRadio、JCBAインターネットサイマルラジオ、渋谷のラジオに対応しています。

2. rec_radiko_ts
番組終了後、ラジコのタイムフリーの音声ファイルを落とすことができるスクリプトです。
放送中にずっと、録音させなくて良いので便利です。

※ どちらのスクリプトもラジコのエリアフリーに対応しているようです。

1. radish

導入準備

radish を動かすのに必要なものを入れます。

$ sudo apt-get install curl
$ sudo apt-get install libxml2
$ sudo apt-get install jq
$ sudo apt-get install ffmpeg

スクリプトのダウンロード

Githubより radish をダウンロードします。

$ git clone https://github.com/uru2/radish.git

この時点では、/home/pi/radish にスクリプト(radi.sh)が入っています。
それで、後々やりやすくするために、radi.sh を /home/pi の直下に移動をします。
この操作は、VNCなどを使い、画面で行うのがやりやすいかと思います。

次に、実行の権限を与えます。

$ chmod 755 radi.sh

録音テストと定期実行(cron)設定

録音の試しに・・・

$ /home/pi/radi.sh -t radiko -s TBS -d 1 -o /home/pi/test.m4a

ラジコでTBSのラジオを1分間録音できたはずです。
$ ls で、test.m4a があるかを確認します。

次に定期的に番組のを録音をするために、cronの設定をします。

$ sudo crontab -e

コメントアウトされた文がたくさん出てきます。
一番下の行に、録音したい番組を入力します。

# 入力のしかた
(分)(時間)(日)(月)(曜日) /home/pi/radi.sh -t (録音対象サイト) -s (録音したい局ID) -d (録音時間) -o (保存先パス/ファイル名)_$(date "+\%Y-\%m-\%d").m4a

以下に例を記します。

# 毎週月曜日、朝5:00から、らじるらじるでNHK-FMの番組を50分間録音する
00 05 * * 1 /home/pi/radi.sh -t nhk -s JOAK-FM -d 50 -o /mnt/hdd1/radio/OngaknoIzmi_$(date "+\%Y-\%m-\%d").m4a

次に、cronを使い録音したファイルを、外付けのHDDに保存します。
sambaの設定をご覧ください。

補足

  • (日)(月)など、使わない部分は * とします。
  • 曜日は、月曜日を1として、日曜日を7(0も可)となっています。
  • 録音したい放送局のIDは、$ ./radi.sh -l で一覧を見ることができます。
    なお、渋谷のラジオはIDの指定が不要のようです。

  • 録音対象サイトとコードは以下の通りです。

サイト名 コード
らじるらじる nhk
ラジコ radiko
ListenRadio lisradi
サイマルラジオ jcba
渋谷のラジオ shiburadi

2. rec_radiko_ts

導入準備

rec_radiko_ts を動かすのに必要なものを入れます。
なお、radish を導入した方はインストールの必要ありません。

$ sudo apt-get install curl
$ sudo apt-get install libxml2
$ sudo apt-get install ffmpeg

スクリプトのダウンロード

Githubより rec_radiko_ts をダウンロードします。
radish同様、rec_radiko_ts.sh のファイルを /home/pi の直下に移動します。

$ git clone https://github.com/uru2/rec_radiko_ts.git

そして、実行の権限を与えます。

$ chmod 755 rec_radiko_ts.sh

ダウンロードテストと定期実行(cron)設定

試しに・・・

$ /home/pi/rec_radiko_ts.sh -s QRR -f (昨日の年月日)0700 -t (昨日の年月日)0800 -o /home/pi/Nanakyu.m4a

※ 昨日の年月日は、20210101 といった具合です。
これでラジコから、昨日の朝に放送した番組が、ダウンロードできたはずです。
$ ls で、Nanakyu.m4a があるかを確認します。

定期的に番組をタイムフリーからダウンロードするために、cronの設定をします。

$ sudo crontab -e

radish も導入された方は、その下に rec_radiko_ts の入力をします。

# 入力のしかた
(分)(時間)(日)(月)(曜日) /home/pi/rec_radiko_ts.sh -s (録音対象サイト) -f `date +\%Y\%m\%d`(番組開始時間) -t `date +\%Y\%m\%d`(番組終了時間) -o (保存先パス/ファイル名)_$(date "+\%Y-\%m-\%d").m4a

★ この場合の(分)(時間)は、番組終了時間以降に設定する必要があります。
 例えば、12:30に番組が終了する→12:31以降にcronで実行可能

では、実際の入力例です。

# 毎週日曜日、ラジコで10:00~11:55放送のTBSのラジオを、12:00にダウンロードしたい。
00 12 * * 7 /home/pi/rec_radiko_ts.sh -s TBS -f `date +\%Y\%m\%d`1000 -t `date +\%Y\%m\%d`1155 -o /mnt/hdd1/recorded/radio/Nichiten_$(date "+\%Y-\%m-\%d").m4a

sambaの設定

録音できたファイルを外付けHDDに保存します。
そして、sambaでMacやWindowsからアクセスできるようにします。
詳しくは、以下の記事をご参考ください。
 ohbashunsuke様執筆の、Macとラズパイ間でファイル転送したいのでラズパイをファイルサーバー化する
 HyunwookPark様執筆の、Raspberry Piの共有フォルダにWindowsから接続(samba install)

参考サイト

【2020年12月改訂】Raspberry PiでRadikoの自動録音サーバーを作る
【入門】cron(クロン)設定・書き方の基本

おわりに

以前のように、グーグルドライブへ自動保存はできなくなったが、タイムフリーからのダウンロードが可能になったのは便利です。録画サーバーも並行運用している身としては、処理が重くなりにくくするのに役立つと思います。

これらのスクリプトを製作してくださった、uru2様には深く感謝いたします。

11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14