2
4

More than 3 years have passed since last update.

ラズパイでラジオを定期的に録音

Posted at

通勤時にカーナビで基礎英語を聞きたい

だいぶ前に記事を書き始めて放置してしまっていたのですが、自分の忘備録として最後まで書いてみました。

英語の勉強をしたいが、あまり自由な時間が無く、通勤時間を有効に使いたいと考えました。
通勤手段が車のため、テキストを見るような物は選択できず、基礎英語なら聞いて声を出すことで勉強になるのではと思いました。
しかし、通勤時間帯に基礎英語の放送は無いため、何か定期的に録音できる手段はないかと考えたところ、だいぶ前に購入して放置していたラズパイが使えるのではと思い立ち、いくらか調べたり、試したりすることで、とりあえず目的を達成できる状態になったので、備忘録として記載したいと思います。
ちなみに、NHKが過去1週間分の放送を聴けるサービスを実施しているので、スマホのデータ通信量に十分な余裕がある方は、そちらの方がお手軽です。私は1GBプランのため、今回の手段を検討しました。

ffmpegで録音

最新のRaspbianであれば、「ffmpeg」がインストールされていると思いますので、特に意識せずに利用できます。
ターミナルから都度コマンドを入力してもいいですが、後で定期実行の設定をしたいので、シェルスクリプトにコマンドを記述します。

rec.sh
#!/bin/sh
ffmpeg -i 放送局のアドレス -to 録音時間[] -c copy 保存ファイル名

私の場合、放送局は「NHKラジオ第2」、基礎英語2と3を連続で録音するため30分 ⇒ 1800秒に余裕を持たせて「2000秒」、ファイル名は日付を付けたかったため「MMDD.m4a」としています。
具体的にはこんな感じ。

rec.sh
#!/bin/sh

ffmpeg -i https://nhkradioakr2-i.akamaihd.net/hls/live/511929/1-r2/1-r2-01.m3u8 -to 2000 -c copy `date "+%m%d"`.m4a

参考
らじる★らじるサービス一覧XML取得
日時をファイル名に付けるには

録音が終わった後は、NASへコピーしておいて、スマホなどからアクセスしやすく管理しています。

filecp.sh
#!/bin/sh
sudo cp `date "+%m%d"`.m4a /mnt/NASをマウントしたフォルダ

NASにファイルをコピーするためには、マウントしておくことが必要です。
cifs-utilesをインストールし、ラズパイ起動時にマウントするようにfstabに下記を追記します。(******には、ご自分の環境のIDとパスワードを記載してください。)

/etc/fstab
//NASのアドレス/マウント元フォルダ /mnt/マウント先フォルダ cifs vers=1.0,username=******,password=******,iocharset=utf8,defaults 0 0

下記の記事を参考にさせて頂きました。

参考
Raspberry Pi 3 に NAS をマウントさせる

後は、crontabで定期的に実行するように設定します。
私の場合は、基礎英語2、3を録音したいため毎週、月~金曜日の6時15分から録音し、
7時にNASにコピーするように設定しています。

15 6 * * 1-5 sh /home/pi/rec.sh
0 7 * * 1-5 sh /home/pi/filecp.sh

参考
crontabコマンドについてまとめました

以上。

2
4
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
2
4