最近、とある推し活をしておりまして、推しの出るラジオを自動録音したくなりました。このラジオはWEBラジオ(JCBA)なんですが、radikoでも無く、アーカイブも残らず、リアルタイムに聞かないといけないです。今までは、後で聞き直すために、気合と根性でiPhone2台でメモ機能を使ってアナログ録音していましたが「放送時間には待機しておかないといけない」「音声はアナログなので静かにしておかないといけない」という辛さがありました。推しのためならそんな労力なんて大した事ないかもしれませんが、毎週ですし、予定があると再放送を聞くまでもどかしい時間となります。
とある方に「Linuxでラジオ録音できるよ」と言われサイトを教えてもらいました。そういえば、我が家にはお遊び用のラズパイがあることを思い出しました。実際に私が試した内容を簡単に備忘録残します。結論から言うと録音の自動化に成功しました。ラズパイとSDカードある前提でAIと相談しながらの作業時間:約2時間半でした。あくまで録音データは個人用途です。
<前提>
・(既に保有済)ラズパイ関連キット(2021年に買っていた)
RaspberryPi 4 4GB(2021年当時amazonで6,875円→今だと22,000円!?)
マイクロSDカード32GB(2021年当時amazonで851円)
ラズパイ用ケース+電源ケーブル(2021年当時amazonで2,099円→今だと1,999円)
・(今回追加購入)マイクロSD32GB(yahooショップで 1,257円)
<参考サイト>
ラズパイ以外の環境もできるらしい → rfriends3で簡単!ラジオ録音
基本はChatGPTと都度相談しながら実施。エラーが出たり、つまづいたら都度AIに聞きながらがお勧めです。ちなみに、私は古いiMac(Catalina 10.15.8)のターミナルで操作しました。以下ざっくりステップ。
<STEP1> マイクロSDの初期化とイメージ書き込み
<STEP2> ラズパイの起動とアクセス
<STEP3> rfriends3アプリにアクセスし環境セットアップ
<STEP4> ラジオの録音設定を行う
<STEP5> 無線LANの設定をし有線LANをなくす
以下、少し詳細。
<STEP1> マイクロSDの初期化とイメージ書き込み
・新規購入したSDカードの初期化(既存ラズパイOSは古すぎたので新規SD購入)
・rfriends3のサイトからイメージをダウンロード(Raspberry Pi 4は64bit版にも対応しているが、今回は32bit版を使用)
・イメージをSDカードに書き込む(ddコマンド使いました)
AIに自分のiMac環境を教えてから指示通りに実行しました
「of=/dev/rdisk●」の指定を間違えると別ディスクを上書きする危険があるので、必ず diskutil list で自分のSDカードを確認要 Raspberry Pi Imagerとやらがあるらしいが、iMacが古すぎて利用できず
(参考)私の場合disk3でSDカードが認識diskutil list→/dev/disk0 (internal, physical): 省略/dev/disk2 (synthesized): #: 省略/dev/disk3 (internal, physical):#: TYPE NAME SIZE IDENTIFIER0: *32.0 GB disk3
(参考)gzip解凍とイメージファイル存在確認gunzip ~/Downloads/rfriends3_1.4.3a_raspios_bookworm_202605052124.img.gzしばらく待つ。ls -lh ~/Downloads/rfriends3_1.4.3a_raspios_bookworm_202605052124.img→-rw-r--r-- 1 xxx staff 7.8G 9 27 18:19 /Users/xxx/Downloads/rfriends3_1.4.3a_raspios_bookworm_202605052124.imgができた。
(参考)ディスクアンマウントして書き込みdiskutil unmountDisk /dev/disk3→diskutil unmountDisk /dev/disk3 Unmount of all volumes on disk3 was successfulsudo dd if=~/Downloads/rfriends3_1.4.3a_raspios_bookworm_202605052124.img of=/dev/rdisk3 bs=4m途中iMacのパスワードを入れる→Password:
2005+0 records in
2005+0 records out
8409579520 bytes transferred in 657.073269 secs (12798542 bytes/sec)→ rfriends3 Bookwormイメージが、32GBのmicroSDへ正常に書き込まれた。
(参考)SDカードの正常取り外しdiskutil eject /dev/disk3→Disk /dev/disk3 ejected
<STEP2> ラズパイの起動とアクセス
・ラズパイにイメージを書き込んだSDカードを挿して、有線LANに接続し起動する
まずは有線LANが良いとのアドバイス
・ラズパイにターミナルからpingしてみる
IPアドレスがわからない場合は「arp -a」でMACアドレスリストを出してから接続
・pingが通ったら、sshする
ssh rpi@192.168.xx.xx パスワードは、rfriends・ssh接続できたらOK。ちゃんと起動している。
<STEP3> rfriends3アプリにアクセスし環境セットアップ
・http://192.168.xx.xx:8000/ にアクセスしアプリの起動確認。おお!
・SDカードの領域拡張を行う
デフォルトのままだと約7GB分しか使えない状態なので領域を拡張する。拡張後は約29GBのファイルシステムとなり、空き容量は約24GBになった。
sudo raspi-config
Advanced Options → Expand Filesystem
Finish
再起動
・システムverを更新する。ver1.4.3a なので、ver1.6.3dにする
<STEP4> ラジオの録音設定を行う
・私の場合、聞きたいのがJCBAの関西の放送局だったので、それを選んで「聴取」してみる。ラジオが聞けた。
ウェブラジオ>JCBA>近畿>(放送局を選ぶ)
fmmiki,TODAY,21:00,21:10,エフエムみっきぃ,jcba
ウェブラジオ>録音データ再生>JCBA
・iMacからサーバのフォルダにsambaアクセスもできた。
Finder>移動>サーバへ接続
smb://192.168.xx.xx もしくは smb://rpi-bookworm.local
ユーザの種類は「ゲスト」で接続
smbdir>usr2>webradio>jcba に録音ファイルがあった
・iPhoneでもsambaアクセスできたが直接ファイル再生はできなかった。一度ファイルをコピーしてiPhone本体かiCloudに保存すれば再生できた。
ファイルアプリ
右上の…を押す
「サーバへ接続」を押す
smb://192.168.xx.xx もしくは smb://rpi-bookworm.local
ユーザの種類は「ゲスト」で接続 smbdir>usr2>webradio>jcba に録音ファイルがあった
・さて、本番用に録音設定を仕込む。例:毎週月曜日 19:30-20:00
・「定期実行」の設定を見る
設定>定期実行>登録
毎日05:25と17:25にcronでシェルが自動実行されるようになっている
# job 1
25 05 * * * sh /home/rpi/rfriends3/script/ex_rfriends.sh
#
# job 2
25 17 * * * sh /home/rpi/rfriends3/script/ex_rfriends.sh
・明日まで待ってられないので、手動でシェル実行してみる
sh /home/rpi/rfriends3/script/ex_rfriends.sh
「予約一覧・削除」に本番予約の情報が現れたのでOK
・予約日当日無事に録音成功!m4aファイルができてました。
・そして、翌日05:25のcronにより翌週分の予約が自動生成されていることも確認。
<STEP5> 無線LANの設定をし有線LANをなくす
・最終仕上げで、有線をやめて無線にする
sudo raspi-config
1 System Options → S1 Wireless LAN
SSID → 自宅のWi-Fi名
Passphrase → Wi-Fiのパスワード
Finish
再起動 sudo reboot
・無線LAN設定を確認する
ssh rpi@rpi-bookworm.local
ip addr show wlan0
実行結果に、自宅のIPアドレス(DHCP)が自動取得されていればOK 192.168.yy.yy
・有線を抜く。再起動し、再アクセスし無線LANが使えるようになった。
sudo reboot
ssh rpi@rpi-bookworm.local
これでラズパイは電源を入れておくだけ。毎週自動で予約・録音してくれる。今までiPhone2台を並べて気合と根性で録音していた生活から解放されました(笑)。推し活のためのIT活用、これにて完成!
