NHKらじる・らじる語学放送 自動録音ソフトの製作(Windows用)

Radio

NHKネットラジオ「らじる・らじる」を自動録音するWindows用ソフトを自作しました。本ソフトは単機能ソフトですので超簡単操作を実現しています。インストールさえしてしまえば、PC操作が不慣れな方でも使いこなすことが出来ると思います。

これまではUSBチューナー(RTL-SDR.COM)を使ったAMラジオ受信の自作ソフトで自動録音していましたが、NHK語学放送はAMのみで放送されており音質には不満がありました。

一方でネットラジオ放送は、AMラジオに比べて音質が良く、さらにUSBチューナーのような特殊な機材も不要ですので、GUIは大きく変えずに中身の録音モジュールを刷新し、新たなソフトとして製作しました。

またiniファイルの編集により、ネット配信のm3u8アドレスと番組表がわかれば、他放送局チャンネルでも自動録音ができますので汎用性はあると思います。本ソフトウェアは、特殊なUSBドライバーなどを必要とせず、動作もとても軽快に仕上がったと思います。

動作要件

本ソフトの動作要件は以下のとおりです。

  • Windows10 PC:ネット接続必須、スリープ動作は非対応(PCは常にオン状態)
  • VLC(Video LAN)がインストールされていること(動作確認はVer.3.0.17.4)
  • ffmpeg Ver.4以降がインストールされていること(動作確認はVer.4.4)

ソフト自体の負荷はそれほど高くありませんので、低スペックPCでも十分動くと思います。

ソフトの入手とインストール

本ソフトは、ストリーミング再生にVLC(VLClib)、ストリーミング録音にFFmpegを使いますので、あらかじめソフトウェアをインストールしてください。

ネット語学Recorderの入手と展開

ネット語学Recorderは、以下リンクから入手して、zipファイルは適当なフォルダに展開してください。

  • net_gogaku_v01_1:プログラム本体(36MB)2022.5.29 New

本ソフトは単体で動作しますので、PCへインストールする必要はありません。

フォルダ内のファイル構成は以下の通りです。

  • net_gogaku_01_1.exe:プログラム本体
  • settings_gogaku.ini:設定ファイル(exeがファイルが参照)
  • README_NET_v01.txt:取扱説明・ライセンス説明等のdocument
  • recordフォルダ:録音ファイルが保存されるフォルダ(空フォルダです)
2022.7.3:部分改良しました。
  • 録音ファイルにメタデータを埋め込みした
  • ffmpegのウィンドウのログをノーマルにした
  • iniファイルの不要文字を削除した

VLCの入手とインストール

本ソフトのネットストリーミング再生は、VLC-libを利用してますので事前にインストールしてください。

ここからVLCを入手し、インストーラをダブルクリックするだけでインストールは完了します。なおインストール先のフォルダは、デフォルトの"C:\Program Files\VideoLAN\VLC"が推奨です。

Ver.2以前のVLCがインストールされている場合は、"C:\Program Files (x86)\VideoLAN"にインストールされており、自動でVer.3に更新はされません。古いバージョンが入っていた場合は、一度アンインストールして、最新バージョンを入れることをおすすめします。

FFmpegの入手とインストール

本ソフトのストリーミング録音にフリーソフトのffmpegを利用していますので、こちらも事前にインストールしてください。

ffmpegはここから入手出来ますが、たくさんのバージョンやパッケージがあり、少々難しいですから、下図のスクリーンショットを参考にダウンロードしてください。

動作に必要とするのはffmpeg.exeという実行ファイルのみですので、win64で一番小さいファイルサイズのものをダウンロードします。本記事の執筆時点ではessentialsの7z圧縮版が23MBと最小でした。

ffmpegは、後継バージョンであるVer.5がリリースされているものの、まだリリースされ始めたばかりでバグが残存すると思いますので、当面はVer.4を使ったほうが良いと思います。

ffmpegはインストーラがないため、C:\ffmpegというフォルダを作って、ffmpeg.exeを含むプログラムを手動でコピーしてください。

またffmpeg.exeは、コマンドラインベースのプログラムですので、ダブルクリックして実行してもWindow画面には何も表示されません。(ダブルクリックで何も表示されない状態で正常です。)

本ソフトはffmpeg.exeをダイレクトに呼び出しているため、Windowsのpathを通す作業は不要です。

(補足)Windows版のVLCは、ストリーミング録音や変換も出来るのですが、CLI(コマンドラインインタフェース)経由で録音する方法が不明であるため、今回はffmpegを使うことにしました。

基本的な使い方

ネット語学Recorderの使用方法は、net_gogaku_01.exeをダブルクリックして起動するだけです。GUIは、取説不要レベルに簡略化しています。

以下の動作テストで機能動作が確認できれば、難なく使えると思います。

現在のネットラジオを聞く

「現在の放送を聞く」をクリックすると、現在のネットストリーミングが再生されます。

受信ストリーミングのチャンネルはNHKラジオ第2のみです。ストリーミングURLはsettings_gogaku.iniで変更することも可能です。(初期値は東京のNHK第2にしています。)

番組を録音予約する

表示されている番組名をクリックすると、テキストボックスに放送スケジュールが表示されますので、録音したい番組を選択して「録音予約する」をクリックしてください。

最初はテスト録音(70秒間隔で60秒間の録音)を実施して、レコーディングテストをしてください。

録音予約状態になると誤操作防止のため、他の操作はロックされてクリック出来なくなります。録音予約を中止したい場合は、「録音予約をキャンセル」をクリックしてください。

説明欄に記載された録音開始時間になるとffmpegが起動し、recordフォルダに録音ファイルが保存されます。録音時間はネット放送が40秒ほど遅れて放送される仕様であるため、1分間長く録音するように設定しています。

録音中は以下のffmpegのコマンドウィンドウが出ます。ffmpegが正しくインストールされていなかったり、コマンドウィンドウが一瞬表示されてすぐ消える場合は、正常に録音動作が行われていません。

録音が出来ない場合は、テスト録音を使って、①iniファイルの設定確認、②recordフォルダの存在確認、③ffmpegのインストール先確認をしてください。

録音は外部プログラムを使っている関係上、録音中にキャンセルをクリックしても録音は中断できません。どうしても中断したい場合は、Windowsのタスクマネージャーでプロセスを強制終了してください。

(ご注意)このソフトは放送時間が決まった番組をスケジュール録音しているため、ソフトが予約状態である限り、無制限に録音動作をします。レコーダを止めたい場合は、録音予約をキャンセルするか、✕をクリックしてプログラムを終了してください。

録音ファイルを再生する

録音したファイル名は、番組名、日付、開始時刻が振られて、設定されたrecordフォルダに保存されます。

ファイル名の形式:(番組略称)_(日付)_(開始時刻).m4a

録音ファイルの保存先フォルダは、settings_gogaku.iniで任意設定できます。フォルダ名とフォルダパスは、日本語の2バイト文字は指定できませんので、必ず半角英数字のみで記載してください。

google driveなど、フォルダ名に2バイト文字(「マイドライブ」という名のフォルダ)が入るところに保存したい場合は、プログラム本体をマイドライブより下層のフォルダへ配置することで対処できます。

設定ファイル編集によるカスタマイズ

設定ファイルは、iniファイル形式で記載していますので、録音番組の変更(番組名、録音スケジュール、初回放送、再放送の変更)が容易に出来ます。

iniファイルの編集は、メモ帳等を用いてパラメータを変更してください。パラメーターの先頭に"#"を記載すると、その行はコメントアウトすることが出来ます。

現在の設定をコメントアウトしながら、編集していくことで、見本をみながら効率よく修正することが出来ると思います。

[CH1]
week_comment = 放送:月~金 午前6:00~6:15 # GUI画面に表示される文字
channel = 中学生の基礎英語レベル1 # GUIに表示される番組名
stime = 06:00 # 録音開始時間 最初の0は抜かない
dulation = 16 # 録音時間 ネット放送は遅れて放送されるため1分間長めに設定
file_name = KISO_1 # 保存するファイル名の接頭文字
week_table = 1 # 録音スケジュールの曜日パターン
back_color = background-color: #f3cac9 GUI画面のバックカラー

「中学生の基礎英語」はテキストが必須

中学生の基礎英語はとても優秀なコンテンツで、このNHK語学放送だけでもそこそこのビジネス英会話なら聞き取れる力量がつくとおもいます。

ただし中学生は単語のスペル自体をあまり知らない状態ですから、聞いているだけでは語彙力が向上しないため、別途販売されているテキスト本は必須だと思います。

テキストは紙本と電子書籍がありますが、Amazonのkindleで電子書籍を購入し、Amazon Fire HDで読む組み合わせが利便性高いと思いますので、おすすめ紹介しておきます。

今後の課題

アナログ無線の予約録音ソフトでは、まだPythonのコーディングにも不慣れで、いろいろな課題が山積していましたが、本ソフトの製作によりかなりの課題をクリア出来たと思います。

現状、製作者本人が認識している制約や課題は以下の通りです。

  • 聞き逃し録音の実装:json解析を勉強し、後日機能実装予定です。
  • 録音中にffmpegのコンソールが出る問題:現状はどうしようもないです。VLCで録音する方法が見つかり次第、対策します。
  • 配信アドレスの変更に追従:NHKのhttp配信アドレス(m3u8)は4月と10月に変更されるらしいので、自動追従するモジュールを追加予定です。
  • Android対応(apkパッケージ化):まだ未知の領域です。いまのところの最終目標です。

今後、自己研鑽を進めてさらなる機能アップしていこうと考えています。

終わりに

本プログラムの製作期間はおよそ2ヶ月位でした。何かのハードルを超える度に検証用サンプルソフトを作って一つずつクリアして試行錯誤をやっていました。

一番苦労した部分はGUIによるスケジュール起動/キャンセルでした。ここは、マルチスレッド処理という、これまでにやったこともない機能で実現することが出来ました。

このプログラムを作成して定期録音をしているのですが、少しの利便性を改善することにより使い勝手が飛躍的に良くなるものだと実感しました。このスケジュール起動の仕組みはAM/FMラジオ予約録音ソフトでも使っているため、後日改良予定です。