【NHK語学放送専用】AMラジオ予約録音ソフトを作りました

Radio

RTL-SDR.COMを使ったNHK語学放送専用の予約録音プログラムを作りましたのでリリースします。

汎用のAM予約録音ソフトをNHK語学放送専用にすることで、番組選択、予約ボタンの2クリック操作で予約録音が出来るようにしてみました。いろいろな手間が省けて操作する度にスケジュールを確認しなくても良くなりました。

AMラジオ受信機ですから、インターネット環境がない場所やネット通信を減らしたい場合に是非ご活用ください。

注記)前回製作したAM放送の予約録音ソフトを改良して製作しています。本記事は一部重複する部分がありますので、あらかじめご了承願います。

AM放送版予約録音ソフトからの変更点

語学放送スケジュールは、月~金、月~水、土日にまとめて放送といった様々なタイムテーブルがあり、予約操作に煩雑な手間が必要でしたので、語学放送に特化させた形に仕様調整を行いました。

  • 周波数設定はNHK第2放送のみとした
  • 各番組の放送タイムテーブルを初期設定ファイルに記載し、番組欄は放送スケジュールを記載し、ひと目でいつの放送かわかるようにした
  • 録音回数の設定はシンプルに録音回数選択方式とした
  • 現在の放送を聴くチューナーソフト(jamradio_tuner01)はAMラジオ受信ソフトと同一です

必要とするUSBチューナーとPC動作環境

本ソフトウェアの動作環境は次の通りです。

  • Windows10 64bit (PC性能はそれほどいりません)
  • USBチューナのドライバーzadigがインストール済み(インストール要領はこちら
  • 動作確認チューナー:RTL-SDR.COM blog V3, HackRF one(firmware 2018.01)
  • アンテナは中波帯域用のループアンテナ(バリコン付き)がおすすめ

このソフトで受信に使うUSBチューナーはRTL-SDR.COMがオススメです。HackRF oneはファームウェアで機能動作をさせているため、安定受信できるまでに時間がかかり、最悪失敗することがあります。

機器の接続は、USBチューナー、アンテナをPCにつなげるだけです。詳細はこちらの記事を参照してください。

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

ソフトウェアは3つのプログラムで構成していますので、下部のリンクよりダウンロードしてください。exe化により容量が大きくなっていますのでネット環境に注意してください。

  • gogaku_rec_01:プログラム本体、予約受信・録音プログラム(69MB)2022.4.18 New
  • jamradio_tuner01:現在のAM放送を受信するプログラム(83MB)

ダウンロードしたファイルは、録音データ保存に適したフォルダへ移動して、zipファイルを展開します。

本ソフトはPCのプログラムフォルダへインストールする必要はありませんが、3つとも同一フォルダにいれてください。展開先のフォルダを開いてファイルが以下の構成であれば大丈夫です。

録音データは未圧縮のWAVファイル(CD音質:90分で700MB程度)となりますので、長時間の録音をする場合はディスクの空容量に注意してください。

GNURadio(GPLv3)を使っている関係から、sourceフォルダにソースファイル(pyファイル)を添付していますが、削除しても動作に支障はありません。

本ソフトの使用方法

このソフトウェアで「NHK語学放送ラジオ(AM)の受信」「予約録音」ができます。

予約スケジュールはsettings_gogaku.iniに記載されたものとし、曜日指定などの煩雑な操作は不要です。。

AMラジオはモノラルのみの復調とし、チューナーソフトの周波数ステップは9kHzに設定しています。

電波のサンプリングは、USBチューナー、録音ソフトとも約2.5MHzとしていますので、AM放送の帯域全部を受信できるようになっています。

ソフトを起動する

gogaku_rec_01をダブルクリックで起動すると、以下のGUIウィンドウ画面が出ます。

この画面でパラメータを決めて、サブプロセスに引数を渡して、受信や予約録音を実現しています。

非常にシンプルな構成ですので直感的に使うことが出来ます。シンプルな反面、きちんと予約できるか確かめる手段がありませんので、確認用として「予約録音テスト」という番組名を追加しています。

USBチューナーのデフォルトは、AM放送受信用の「rtl=0,direct_samp=2」としています。HackRF oneを使う場合は、USBチューナーを「hackrf=0」に設定してください。

受信周波数はお住まいの地域により任意に変更ができるように設計していますが、その方法は後述します。

現在の放送を試聴する

まず総務省のHPなどで近隣の放送局を確認し、受信する周波数を調べます。※本記事は、大阪のNHK第2放送(828kHz)で設定しています。

AM周波数の欄に受信周波数を入れて、「AM放送を聴く」をクリックすると、チューナプログラムが起動され、すぐにAM放送を聴くことが出来ます。

チューナープログラムの受信周波数は「AM周波数」で設定した値で起動しますが、周波数は受信プログラムのウィンドウ内のスライダー操作で変更も可能です。

予約操作の前に電界強度が大きくなるようアンテナの向き・角度の調整をしておくことで、良い音質で録音することが出来ます。TECSUN AN-200のようにバリコンがついたループアンテナをお持ちの場合は、バリコンのダイヤル調整にで電解強度が最大になるよう調整します。

強電界地域は、電波の電界強度が強すぎて、RF回路のトランジスタが飽和することにより、バリバリというノイズ音になることがありますので、バリコン調節は綺麗に聴こえる位置に合わせます。

またAM放送帯の電波の伝搬は、大気(電離層)の状態によりかなり変動します。特に太陽の影響を受けやすい昼間は、受信状態が良くない場合があります。NHKの語学放送は、朝・昼・夜と3回で同じ放送をしていますので、録音は朝イチか、夜が良いと思います。

チューナーが動作すると、コマンドウィンドウに動作ログが表示されますので、エラーがないかも確認しておくと安心です。

828 rtl=0,direct_samp=2
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.8.2.0-57-gd71cd177
built-in source types: file rtl rtl_tcp uhd hackrf bladerf airspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Enabled direct sampling mode, input 2
gr::pagesize: no info; setting pagesize = 4096

試聴が終わったら、閉じるボタンを押して、予約録音に進んでください。

予約録音をする

無事に受信できることが確認出来ましたら、GUI画面より録音する番組名、録音回数(繰り返し回数)を設定し、「AM放送を予約」をクリックすると、予約録音プログラムが起動し、録音待ちになります。

設定はsettings_gogaku.iniにすべて記載されているので、操作はこれだけです。

AM Radio Recorder Ver.0.4 Copyright 2022 falconblog.org. All rights reserved.
Recording schedule = Next Day(times=1) 11:31
Dulation Time = 1.0min

予約録音をキャンセルする場合は、起動時に表示されたコマンドプロンプト上からCtrl+cを入力し、jプログラム動作を強制停止してください。(✕のクリックでは終了できません)

録音開始時刻になるとコマンドプロンプトウィンドウ上にチューナーの動作状態が表示され、録音を始めます。

GOGAKU Recorder Ver.0.1 Copyright 2022 falconblog.org. All rights reserved.
予約スケジュール:曜日=月~金, 開始時刻=17:35, 録音時間=1.0分
保存先フォルダ:.\record\
予約キャンセル:Ctrl +Cで強制停止
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.8.2.0-57-gd71cd177
built-in source types: file rtl rtl_tcp uhd hackrf bladerf airspy airspyhf soapy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Enabled direct sampling mode, input 2
gr::pagesize: no info; setting pagesize = 4096
Now Recording... Dulation Time = 60
Finish to Recording.

「Finish to Recording.」が表示されると録音が終了です。次の繰り返し予約がなければ、GUI画面とコマンドウィンドウが閉じて、予約録音プログラムが自動終了します。

録音後フォルダを確認すると、recordフォルダにWAVファイル形式の録音データが生成されています。

ファイル名は番組名、日時、開始時刻が自動で割り振られて保存されますので、重複することは無いと思います。

  • wavファイル記録様式:(番組名)_(周波数)_(日時)_(開始時刻).wav

Wavファイルは容量が大きいため、VLC media playerなどのフリーソフトでmp3形式に圧縮変換しておくと容量を減らすことが出来ます。mp3データをSDカードに保存し、スマホやカーナビでも学習できるようになります。

クラウド・ネットワークドライブに保存することも可能です。one driveやgoogle driveへ保存することにより、外出先のPCやスマホでも録音再生が出来るようになり利便性が向上します。

起動時の初期値変更も可能

起動時の周波数、番組テーブルは、settings_gogaku.iniの書き換えにより変更出来るようにしています。

Windowsのメモ帳などで開いて編集し、[SECTION1]の値をお住まいの地域や放送局に合わせて適宜変更すると、数値入力の手間が省けます。

[CH10]はテスト用テーブルですので、ご自身の環境できちんと録音が出来るか試しておくことを推奨します。

[SECTION1] ↓SECTION1の値が反映されます
# 受信周波数
data1 = 828 →受信周波数 XXXXの形式で入力
# 録音保存先(パス)→保存先の絶対パス、または、相対パスを入力 2バイト文字は使えません
data4 = .\record\
#data4 = \\FAMILYROOM-S\share\documents\kisoeigo-radio\

[CH1] CH1に基礎英語レベル1を割り当てた場合の記述です
week_comment = 放送:月~金 午前6:00~6:15 再放送:月~金 午後6:45~7:00/午後9:00~9:15
channel = 中学生の基礎英語レベル1 GUIに表示される番組名称です
stime = 06:00 録音の開始時刻です
dulation = 15 1回あたりの録音時間です
file_name = KISO_1 録音ファイル名の接頭語です
week_table = 1 予約曜日のテーブルです(以下参照)
back_color = background-color: #f3cac9 番組名のバックカラーです

week_tableは以下の数字を選択して記述します
# 1: 月-金 5回録音
# 2: 月-水 3回録音
# 3: 月火 2回録音
# 4: 木金 2回録音
# 5: 土日 2回録音
# 6: 土
# 7: 日

[CH10]
week_comment = 予約録音テスト方法:settings_gogaku.iniの[CH10]stime:開始時刻、week_tableにテストする曜日テーブルを入れて「予約」をクリックする
channel = 予約録音テスト
stime = 16:11
dulation = 1
week_table = 1
file_name = TEST
back_color = background-color: #fff1cc

注記)data4の保存フォルダ名はすべて半角文字とする必要があります。one drive(Windows)やsamba(Linux)のクラウド・ネットワークドライブを使う場合は、保存フォルダ名を含む絶対パスをすべて半角文字にしてください

google driveを使う場合は、ルートフォルダ名が「マイドライブ」となっており保存先の設定ができませんので、data4をデフォルト値のままにしてプログラム本体をgoogle driveに配置して起動してください。

既知の制約と課題

現状、製作者本人が認識している制約や課題は以下の通りです。今後、いろいろ試行錯誤して、制約をできるだけ減らしていこうとは考えています。

  • 予約実行後は予約プログラムの終了待ちとしておりウィンドウ上で予約解除は出来ません。予約解除はコマンドプロンプトよりCtrl+Cを入力してプログラムを強制終了してください。
  • 予約待機中にUSBチューナ-を脱着や、モニター出力(スピーカー出力)を変えると正常に動作しないことがあります。PC周辺のハード繋ぎ変えがあった場合は、必ずWindowsを再起動して再度予約してください。
  • PCがスリープ動作するとプログラムが正常動作できません。予約を行うPCは「常にオン」に設定しておいてください。
  • 現在のプログラムは3本構成ですが、受信プログラムはGNUradioの生成コードを使っていることから、いまのところ1本化で動かせる目処は立っていません。
  • 保存形式がwavで未圧縮です。ファイルサイズは15分で60MBくらいになります。クラウド保存対応により通信量が気になるレベルですのでmp3変換も組み込みたいと思います。

プログラム改定来歴

v.0.1 (2022.4.18)

AM予約録音ソフトのプログラムを改良し、NHK語学予約録音に特化した仕様をリリース

おわりに

この録音プログラムを約1ヶ月間を使い、2022年4月より番組テーブルの反映を持ってリリースさせていただくことにしました。

この録音プログラムを使うことで、以前紹介していたNHKのらじる・らじるから聞き逃しを録音する方法も予約忘れや受信機材が不調のときにしか使わなくなりました。

本ソフトの機能についてバグやご要望などがあれば、本HPのお問い合わせページよりお知らせいただければ幸いです。

ダウンロードページにも掲載

ダウンロードページからもダウンロードすることが出来ますので、適宜ご利用ください。

またNHK語学放送用テキストはkindle版が一番お得ですので紹介します。