Raspberry Pi 4-1
TOP > Raspberry Pi 4 > Raspberrypiでradikoを自動的に録音する

Raspberrypiでradikoを自動的に録音する

これまでrec_radiko.shを使わせてもらっていましたが2020年12月からRadikoが、Flashをサポートしなくなり、rtmpe プロトコルにより配信が終わり使えなくなりました。
Raspberry pi zeroで動くradiko録音ソフトをいろいろ試させてもらいましたが、Rfriends2使わせてもらう事で初心者でも簡単にRaspberry pi zeroをラジオサーバーにすることができました。

すでに設定が済んだイメージを公開してくれているので、microSDに書いてラズベリーパイを起動するだけです。

Raspberry pi にOSを入れるページを作っていますが、ここではRfriends2のイメージを使います。
よって、CUIの対応のみになります。ただし、選択だけで操作ができる、優秀なソフトだと思います。

目次

1.Rfriends2 for Raspberry Pi イメージのダウンロード

2.Raspberry Pi Imagerを使ってRadiko録音スクリプトをインストール

3.無線LAN設定準備

4.Raspberry Pi に固定IPアドレスを割り当てる方法

5.領域拡張

6.番組予約

7.Raspberry Piのパスワードを変更する

8.録音番組はSAMBA サーバーにアクセス

9.radiko 関東地方の放送局一覧

Rfriends2 for Raspberry Pi イメージのダウンロード

https://rfriends.hatenablog.com/entry/raspberry-05 に示される

最新版は以下よりダウンロードして使わせて頂きました。

 Download  から安定版をダウンロードしました

上記の3ファイルをダウンロードしてください

特にreadme.txtは必ず見ないとログインできませんよ

 私は2022年6月時点で再度ダウンロードしましたが、かなり改善されていました。

詳細な操作方法は作者の「rfriendsでラジオ録音」を参照ください。 http://rfriends.hatenablog.com/

以下はとりあえず私が行った事をメモします。

Raspberry Pi Imagerを使ってRadiko録音スクリプトをインストール

Raspberry Pi Imagerは、SDカード作成ツールです。Windows, Mac, Ubuntu用があり、様々な環境で使えます。

Raspberry Pi Imager には、最新版のOSを自動でダウンロードしてくれる機能がありますが、ここではRfriends2 for Raspberry Pi イメージのインストーラーとして使います。

Raspberry Pi Imagerをインストールします。(下記リンクから)
https://www.raspberrypi.org/software/

今回使用するSDカード にすでに、他のファイルやOSが書き込まれている場合には、まずSDカードのイレーズをRaspberry Pi Imagerで行います。

PCにSDカードを接続し、上記でインストールが終わったRaspberry Pi Imagerを起動します。

operating systemのプルダウンからEraseを選びます。
真ん中のSDカードのボタンから今回セットしたSDを選びます。(この時 まちがわない様に)
右端のwriteボタンがアクティブになるので、それをクリックしてイレーズします。終了したらRaspberry Pi Imagerを終了します。

先程ダウンロードしたrfriends2のzipファイル上で右クリックをします。

プログラムから開くの中から、Raspberry Pi Imagerを選んで起動します。

この時すでにoperating systemのボタンにはrfriends2のzipファイルが表示されています。

真ん中のSDカードのボタンから今回セットしたSDを選びます。(この時、絶対間違わないようにしてください)

右端のwriteボタンがアクティブになるので、書き込みます。

以上でDEカードが出来上がりです。

無線LAN設定準備

有線LAN接続の場合は、この設定は不要です。Raspberry Pi zero等は無線LAN接続しないとインターネット接続できません。

そこで、最初のRaspberry Pi起動時からリモート接続できるように、無線LAN接続を最初からできるように、SDカードに2個のファイルを追加します。

wpa_supplicant.conf ファイルと: none;">ssh(拡張子なし)を作ります

wpa_supplicant.conf ファイルは下記の内容です

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="ssid"

psk="パスフレーズ "

}

ファイルを簡単に作るのに、有志の方が作った下記のアドレスで作成が可能です。間違えないために私は使ってみまました。
https://mascii.github.io/wpa-supplicant-conf-tool/にアクセスし、利用予定のSSIDとPassphrase(WPAキー)を追加していきます。

wpa_supplicant.conf.pngの作成

この時Raspberry Pi zeroは5gHzを対応していませんので、無線ルーターを確認してSSIDとPassphraseをセットしてください。

作成したファイルですが、私の場合は何故かこの自動作成ではSSIDとPassphraseがwpa_supplicant.conf ファイル の中に書き込まれなかったので、手動で追加しました。
私の使い方が間違いで、追加ボタンを押せば良いみたいです。

sshは同じ自動作成画面の右下に「ssh.txt作成」ボタンで空のssh.txtも作成できます。
できたファイルを右クリックをして、プロパティーを表示し、拡張子を消すだけで良いです。(これはやらなくて良いのかも?)

2個のファイルができたら、一度PCから外したイメージを書き込んだmicroSDを再度PCに接続してます。PCにはフォーマットが必要ですと出ますが、無視してキャンセルします。

エクスプローラで確認すると、bootという領域が認識されます。

そのルートに、用意した2個のファイルをコピペします。

Raspberrypiの起動とIPアドレスの確認

RaspberrypiにmicroSDを挿し、Raspberrypiを起動します。起動が完了するまでしばらくお待ちます。
(良くわからないけどグリーンのLEDが点滅から点灯に変わり、しばらく待ちます。)

RaspberrypiはDHCPで動作していますので、IPアドレスを確認します。

IPアドレスの確認方法は、IP scanner を使うと便利です。

Advanced IP Scanner
https://www.advanced-ip-scanner.com/jp/

スキャン結果より、MACアドレスが、B8:27:EB:**:**:** のものを探します。(RaspberrypiはB8から始まる様です)
自宅であれば 192.168.*.** Raspberry Pi Foundation B8:27:EB:**:**:**
の様な物が見つかると思います。

Raspberry Pi に固定IPアドレスを割り当てる方法

windowsの場合Tera Termをインストールして、ホストに上記のipアドレスを記入し、   SSHでつなぎ、次のセキュリティー画面でOKし、ユーザー名=pi とし、パスフレーズ=raspberry でRaspberryPiにログインできます。

Tera Term起動しホスト欄に上記のipアドレスを記入

セキュリティー画面でOKをクリック

TeraTerm 画像2

ユーザ/パスワードは下記に変更になりました
rfriends2の初期ユーザ/パスワードはVersionにより下記となります

1) rfroends2 2.9.0まで
pi/raspberry

2) rfroends2 2.9.3から
rpi/rfriends

readmeを読まずに久しぶりにインストールしたのですが、ログインできずにびっくりしました。
パスワードについては必ず変更してください。

TeraTerm 3

 rfriends2に接続するにはSSHだけであり、ディスクトップは表示されません。

sshでログイン画面は下の様になる

ログイン画面

samba Serverも設定されているので、自動取得ではIPを探すのが面倒なので、固定IPアドレスを設定することにしました。

まずTerminalで
$ nano /etc/dhcpcd.conf  を記入して、dhcpcd.confの編集画面になります。

下の内容をdhcpcd.confの 最後に追記します。
すでにコメントアウトされているのでWi-Fiの場合はwlan0に置き換えて”#”を削除して設定して下さい。

IPaddressのxxの部分はDHCPでは設定されないIPにします。
Networkに接続されるPC、テレビ、録画機器、スマートフォン、ゲーム機、等の台数よりも十分大きな数字にすることが必要です。
static routers とstatic domain_name_serversはルーターのaddressになると思いますので、ルーターの説明書を見てください。

dhcpcdファイル

interface wlan0
static ip_address=192.168.x.xx/24
static routers=192.168.x.xx
static domain_name_servers=192.168.x.xx

上記を記載してdhcpcd.confに書き込みます
画面の下に示される様に、キーボードに入力します。
Ctrl + o
その後returnで書き込みます

nanoの終了は
Ctrl + x

通常のTerminalに戻ります。

再起動コマンドをTerminalに記入して再起動します
sudo reboot

起動後、設定したIPになります
$ ifconfig で確認ができるはずです。

領域拡張

SDカードに書き込まれたメージは領域が縮小されているため、SDカード全体を使用するように領域を拡張する必要があります。

Tera Term等でRaspberrypiにアクセスしてください。
 起動したteraterm上で以下のコマンドを入力してください。再起動が必要です。

 $ sudo raspi-config --expand-rootfs
 $ sudo reboot

この操作をしないと大容量のmicroSDを使用していても4GB弱しか認識されません。

再起動後、領域が拡張されたことを確認してください。

下記の場合は15GBのSDカードを使っています。

pi@rfriends2:~ $ df
ファイルシス   1K-ブロック    使用   使用可 使用% マウント位置
/dev/root         14629928 1840352 12170192   14% /
devtmpfs            188088       0   188088    0% /dev
tmpfs               221112       0   221112    0% /dev/shm
tmpfs               221112   26464   194648   12% /run
tmpfs                 5120       0     5120    0% /run/lock
tmpfs               221112       0   221112    0% /sys/fs/cgroup
tmpfs                16384       0    16384    0% /var/tmp
tmpfs               327680      12   327668    1% /home/pi/tmp
tmpfs                32768     336    32432    2% /var/log
tmpfs                65536       0    65536    0% /tmp
/dev/mmcblk0p1      258095   55054   203041   22% /boot
tmpfs                44220       0    44220    0% /run/user/1000

これで基本的なインストールは終了です

 Raspberry Piのパスワードを変更する

raspi-configコマンドを使用する方法です。

 実行にはroot権限が必要なので、sudoを付けて実行します。

   $ sudo raspi-config

raspi-config の画面が表示されたら「1 System Options」を選択します。

System Options の画面が表示されたら、「S3 Password」を選択します。

 新しいパスワードを2回入力します。

 New password:
 Retype new password:

Successful が表示されてpasswordが変更になります


番組予約

Tera Term等でRaspberrypiにアクセスすると、下記の様にrfriends2のディレクトリーに居ます。

pi@rfriends2:~ $

$ cd ~/rfriends2/  と入力してrfriends2ディレクトリに入ります

 $ sh rfriends2.sh  と入力してrfriends2を起動します。

そうすると下記の様なメニュー画面になります

 

 7. キーワード を選びます。

 録音1

例えばラジコのキーワード予約をする場合は。
  3.ラジコ
を選ぶ事で「 /home/pi/smbdir/usr2/kw/radiko.dat」ファイルがnanoエディターで表示されます。
ここに記入することで、自動的に録音番組を検索してくれるようになっています。

指定する方法として、「時間指定による予約」「 キーワードによる予約」の2通りが可能となっています。

①時間指定による予約

放送局や時間を指定して予約します
予約のフォーマットは下記の順になるようです

放送局コード、曜日、開始時間、終了時間、番組名、その他

実際に番組の中の5分間の1コーナーを録音する場合は下記の様に記述します。
個の番組の場合、月~金で放送しているので下記のようにしました。

TBS,Mon,05:20,05:26,健康一直線,生島ヒロシ
TBS,Tue,05:20,05:26,健康一直線,生島ヒロシ
TBS,Wed,05:20,05:26,健康一直線,生島ヒロシ
TBS,Thu,05:20,05:26,健康一直線,生島ヒロシ
TBS,Fri,05:20,05:26,健康一直線,生島ヒロシ

上記で予約した結果、下記のファイルが作られました。

TBS_健康一直線_20210301_0520_0526.m4a

②キーワードによる予約

アーチスト名や番組名等のキーワードを入力することで、自動的に検索して予約します
特に予約のフォーマットは無く、ヒットするキーワードを記入します。

私の例は下記の様に番組名の一部や、アーティスト名を記入しました

松任谷由実
サンデー・ソングブック
Yuming-Chord
村上信五くんと経済クン
司馬遼太郎短篇傑作
Round Up World Now
NewsCLUB
日曜天国

上記の結果下記の番組が録音できました

FMT_山下達郎の楽天カード-サンデー・ソングブック_20210228_1400_1455.m4a
TBS_安住紳一郎の日曜天国_20210228_1000_1155.m4a
TBS_川口技研プレゼンツ-司馬遼太郎短篇傑作選_20210227_1800_1830.m4a
QRR_ロンドンブーツ1号2号-田村淳のNewsCLUB_20210227_1300_1455.m4a
QRR_村上信五くんと経済クン_20210227_0900_1000.m4a
RN1_伊藤洋一のRound-Up-World-Now!_20210226_2230_2300.m4a

 

③キーワード登録したら忘れてはいけない事

キーワードによる予約記入して書き込みが終わったら下記のコマンドを行ってください。
その後は毎朝朝5時10分頃に自動で更新するようです。

pi@rfriends2:~/rfriends2 $ sh /home/pi/rfriends2/script/ex_rfriends.sh &

ポッドキャストのダウンロード

新機能でポッドキャストのダウンロード機能が追加されました。

下記の様にメニュー7にて下記のサブメニューが表示されます。
4番のGoogle Podcasts 検索を選び目的のキーワードを入れます。

[7] ポッドキャスト
1. ユーザ プリセット
2. ユーザ プリセット(編集)
3. Google Podcasts プリセット
4. Google Podcasts 検索
5. Audee 一覧 (TOKYO FM)
6. Audee 検索 (TOKYO FM)
7. PodcastStation (ニッポン放送)

例えば今朝の三枚おろしを検索すると

ポッドキャスト1

録音番組はSAMBA サーバーにアクセス

PCのエクスプローラから、Raspberry PiのIPアドレスにアクセスすることで録音したデータにアクセスできます。

私の場合は固定IPアドレスに設定したので\\192.168.0.52 でアクセスすることにより録音データにアクセスできます。
ほかのアプリを使う場合は、はanonymousでアクセスするようです。

Samba_1.png

上図の様にsmbdirが見えるので、これをクリックします

samba_2

更にusr2をクリック

samba_3

各録音ファイルが格納されたフォルダーが現れます

例えば、radikoのフォルダーをクリックすると下記の様に録音したファイルが現れます。

15GBもあればかなり録音できるので、一月に一回ぐらい移動すれば良さそうです。

Samba_4.png

 

 

radiko 関東地方の放送局一覧

放送局名(一般名称)           ID(識別子)
------------------------------------------------------
NHKラジオ第一                 JOAK
ラジオNIKKEI第1放送        RN1
ラジオNIKKEI第2              RN2
放送大学                           HOUSOU-DAIGAKU
TBSラジオ                        TBS
文化放送                           QRR
ニッポン放送                     LFR
ラジオ日本                        JORF
Inter FM                           INT
TOKYO FM                        FMT
J-WAVE                            FMJ
茨城放送                            IBS
エフエム栃木                      RADIOBERRY
ベイエフエム                      BAYFM78
エフエムナックファイブ      NACK5
FMヨコハマ                        YFM
エフエム群馬                      FMGUNMA