Raspberrypiでradikoを自動的に録音する
これまでrec_radiko.shを使わせてもらっていましたが2020年12月からRadikoが、Flashをサポートしなくなり、rtmpe プロトコルにより配信が終わり使えなくなりました。Raspberry pi zeroで動くradiko録音ソフトをいろいろ試させてもらいましたが、Rfriends使わせてもらう事で初心者でも簡単にRaspberry pi zeroをラジオサーバーにすることができました。
すでに設定が済んだイメージを公開してくれているので、microSDに書いてラズベリーパイを起動するだけです。
Raspberry pi にOSを入れるページを作っていますが、ここではRfriendsのイメージを使います。
よって、CUIの対応のみになります。ただし、選択だけで操作ができる、優秀なソフトだと思います。
rfriends3がリリースされたので久しぶりに更新します
目次
1.
2.
4.
5.
6.
Rfriends2 for Raspberry Pi イメージのダウンロード
https://rfriends.hatenablog.com/ に示される
最新版は以下よりダウンロードして使わせて頂きました。
Download からダウンロードしました
>rfriends3_1.0.4a_raspios_bullseye_lighttpd_20240208.zip
>readme.txt
上記のファイルをダウンロードしてください
特にreadme.txtは必ず見ないとログインできません
今回は2024年4月時点で再度ダウンロードしましたが、かなり改善されていました。
詳細な操作方法は作者の「rfriendsでラジオ録音」を参照ください。 http://rfriends.hatenablog.com/
以下はとりあえず私が行った事をメモします。
Raspberry Pi Imagerを使ってRadiko録音スクリプトをインストール
Raspberry Pi Imagerのインストール
Raspberry Pi Imagerは、SDカード作成ツールです。Windows, Mac, Ubuntu用があり、様々な環境で使えます。
Raspberry Pi Imager には、最新版のOSを自動でダウンロードしてくれる機能がありますが、ここではRfriends3 for Raspberry Pi イメージのインストーラーとして使います。
Raspberry Pi
Imagerをダウンロードします。(下記リンクから)
https://www.raspberrypi.com/software/
今回は imager_1.8.5_amd64.debがダウンロードされましたのでこれをインストールします。
windowsの場合はダブルクリックするだけですが、ubuntuの場合はダウンロードディレクトリに移動して下記コマンドを端末にて行います。
ubuntuの場合
$ cd ./ダウンロード
$ sudo apt install rpi-imager
Radiko録音スクリプトをインストール
Raspberry Pi版(イメージ)
Google Drive サイト から今回は
rfriends3_1.0.4a_raspios_bullseye_lighttpd_20240208.zipをダウンロード
ダウンロードしたzipファイルを右クリックし「すべて展開」を選び解凍します。
解凍したrfriends3_1.0.4a_raspios_bullseye_lighttpd_20240208.imgファイルを右クリックしプログラムを開くからRaspberry Pi Imager をクリックします。不明な発行元の警告が出ますが開くで進めます。
Raspberry Pi Imagerが立ち上がります。
ここで今回使用するSDカード がにすでに、他のファイルやOSが書き込まれている場合には、まずSDカードのイレーズをするためにRaspberry Pi ImagerのOS列をクリックしEraseを選んでストレージ列から目的のSDを選び実行して下さい。
何も入っていないSDカードをPCに接続し、解凍したrfriendsの.ingファイル上で右クリックをします。
プログラムから開くの中から、Raspberry Pi Imagerを選んで起動します。
この時すでにoperating systemのボタンにはrfriendsのingファイルが表示されています。
SDカードのボタンから今回セットしたSDを選びます。(この時、絶対間違わないようにしてください)書き込みます。
Raspberry Pi Imagerから下記が表示されますが、「いいえ」で進めます。
ここで設定を変更すると録音番組データの入っているSAMBA サーバーにアクセスできなくなる可能性があります。
以上で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キー)を追加していきます。
この時Raspberry Pi zeroは5gHzを対応していませんので、無線ルーターを確認してSSIDとPassphraseをセットしてください。
作成したファイルですが、私の場合は何故かこの自動作成ではSSIDとPassphraseがwpa_supplicant.conf ファイル
の中に書き込まれますが、Passphraseが暗号化されているとうまくいかなかったので、手動でPassphraseを追加しました。
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をクリック
ユーザ/パスワードは下記に変更になりました
rfriends2の初期ユーザ/パスワードはVersionにより下記となります
1) rfroends2 2.9.0まで
pi/raspberry
2) rfroends2 2.9.3から
rpi/rfriends
パスワードについては必ず変更してください。
rfriendsに接続するにはSSHだけであり、ディスクトップは表示されません。
sshでログイン画面は下の様になる 「rfriends2の画像です」
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になると思いますので、ルーターの説明書を見てください。
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にアクセスすると、下記の様にrfriends3のディレクトリーに居ます。
pi@rfriends3:~ $
$ cd ~/rfriends3/ と入力してrfriends3ディレクトリに入ります
$ sh rfriends3.sh と入力してrfriends3を起動します。
そうすると下記の様なメニュー画面になります
画像はrfriends2です
7. キーワード を選びます。
例えばラジコのキーワード予約をする場合は。
3.ラジコ
を選ぶ事で「
/home/rpi/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分頃に自動で更新するようです。
rpi@rfriends3:/home $ sh /home/rpi/rfriends3/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 (ニッポン放送)
例えば今朝の三枚おろしを検索すると
録音番組はSAMBA サーバーにアクセス
PCのエクスプローラから、Raspberry PiのIPアドレスにアクセスすることで録音したデータにアクセスできます。
私の場合は固定IPアドレスに設定したので\\192.168.0.52 でアクセスすることにより録音データにアクセスできます。
ほかのアプリを使う場合は、はanonymousでアクセスするようです。
上図の様にsmbdirが見えるので、これをクリックします
更にusr2をクリック
各録音ファイルが格納されたフォルダーが現れます
例えば、radikoのフォルダーをクリックすると下記の様に録音したファイルが現れます。
15GBもあればかなり録音できるので、一月に一回ぐらい移動すれば良さそうです。
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