通勤時にカーナビで基礎英語を聞きたい
だいぶ前に記事を書き始めて放置してしまっていたのですが、自分の忘備録として最後まで書いてみました。
英語の勉強をしたいが、あまり自由な時間が無く、通勤時間を有効に使いたいと考えました。
通勤手段が車のため、テキストを見るような物は選択できず、基礎英語なら聞いて声を出すことで勉強になるのではと思いました。
しかし、通勤時間帯に基礎英語の放送は無いため、何か定期的に録音できる手段はないかと考えたところ、だいぶ前に購入して放置していたラズパイが使えるのではと思い立ち、いくらか調べたり、試したりすることで、とりあえず目的を達成できる状態になったので、備忘録として記載したいと思います。
ちなみに、NHKが過去1週間分の放送を聴けるサービスを実施しているので、スマホのデータ通信量に十分な余裕がある方は、そちらの方がお手軽です。私は1GBプランのため、今回の手段を検討しました。
ffmpegで録音
最新のRaspbianであれば、「ffmpeg」がインストールされていると思いますので、特に意識せずに利用できます。
ターミナルから都度コマンドを入力してもいいですが、後で定期実行の設定をしたいので、シェルスクリプトにコマンドを記述します。
# !/bin/sh
ffmpeg -i 放送局のアドレス -to 録音時間[秒] -c copy 保存ファイル名
私の場合、放送局は「NHKラジオ第2」、基礎英語2と3を連続で録音するため30分 ⇒ 1800秒に余裕を持たせて「2000秒」、ファイル名は日付を付けたかったため「MMDD.m4a」としています。
具体的にはこんな感じ。
# !/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取得
・[日時をファイル名に付けるには]
(https://www.atmarkit.co.jp/flinux/rensai/linuxtips/240datefilename.html)
録音が終わった後は、NASへコピーしておいて、スマホなどからアクセスしやすく管理しています。
# !/bin/sh
sudo cp `date "+%m%d"`.m4a /mnt/NASをマウントしたフォルダ
NASにファイルをコピーするためには、マウントしておくことが必要です。
cifs-utilesをインストールし、ラズパイ起動時にマウントするようにfstabに下記を追記します。(******には、ご自分の環境のIDとパスワードを記載してください。)
//NASのアドレス/マウント元フォルダ /mnt/マウント先フォルダ cifs vers=1.0,username=******,password=******,iocharset=utf8,defaults 0 0
下記の記事を参考にさせて頂きました。
参考
・[Raspberry Pi 3 に NAS をマウントさせる]
(https://qiita.com/fstyle/items/284508cfc33af54d826d)
後は、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コマンドについてまとめました]
(https://eng-entrance.com/linux-command-crontab)
以上。