2026年9月28日月曜日

<備忘録>rfriends3で推しのラジオ録音の自動化

最近、とある推し活をしておりまして、推しの出るラジオを自動録音したくなりました。このラジオはWEBラジオ(JCBA)なんですが、アーカイブも残らずリアルタイムに聴かないといけないです。今までは、後で聴き直すために、気合と根性で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 IDENTIFIER
 0: *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 successful

sudo 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>近畿>(放送局を選ぶ)
・テスト録音してみる。「予約入力」で将来時間で予約した後「予約一覧・削除」に現れてきたらOK。「予約編集」にも予約内容が書き込まれていた。
  fmmiki,TODAY,21:00,21:10,エフエムみっきぃ,jcba 
 

・時を待ったら、録音されていた。再生もできた。m4a形式で保存されている。
  ウェブラジオ>録音データ再生>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活用、これにて完成! 

0 件のコメント:

コメントを投稿