トップページ

ページ名:トップページ

ようこそ

NHKラジオ語学講座ダウンローダ NHK.hta 公開ぺーじです

ver-3.0 以降 UI を一新しました

主にインストールと使い方について説明します

タイマーソフトを入れタイマー起動も可能に

最新版は、NHK.hta ver-3.2.0 2020/10/05 です。2020年度後期のカリキュラム

お知らせ

初めての方はまず NHK.hta ver-3.2.0 を試してみて下さい。なお古い ffmpeg.exe をお使いの方は最新版に変えた方がいいと思います。両方とも NHK.hta のインストールで落とせます

それでエラーが出るようでしたら NHK.hta ver-3.2.0a を試してみて下さい  過去のバージョンに置いてあります

それでなおエラーが出るようでしたら掲示板に状況を書き込んで下さい

目次

NHK.hta のインストール

FAQ

NHK.hta の使い方

NHK.hta のタイマー起動

他の端末機器への転送

過去のバージョン

NHK.hta の動作と改造方法

   NHK.hta の構成

   NHK.ini の説明

   NHK_param5.txt の書き換え方

   バッチによるダウンロード

   新データベースJSONの読み取り方

   NHK_param6.txt のフォーマット(JSON 含む)

   表示サイズを変える

NHK_hta_Timer.hta の改造方法

 

NHK.hta のインストール

1.NHK.hta 本体のダウンロード

NHK.hta ver-3.2.0 2020/10/05 の zip --->NHK_hta_3_2_0 2020年度後期のカリキュラム

ダウンロードしたzipファイルを解凍して下さい。フォルダが一つ出来る筈です。そのフォルダの中に NHK.hta が入っています。

2. ffmpeg の入手方法 (動くffmpegが有るなら必要ありません)

次のdownloadページから入ってwindows-64(環境によっては windows-32)の最新版をダウンロードして下さい

download

得られた zip ファイルを解凍するとフォルダが一つ出来ます。その中に ffmpeg.exe が入っています

3. ffmpeg.exe を NHK.hta のあるフォルダに入れて下さい

これで NHK.hta は、動くはずです。フォルダの中の NHK.hta を起動して下さい

目次に戻る

 

FAQ

○NHK.hta を Program files 以下のフォルダに置くと正常に動作できません。普通のフォルダにおいて下さい

○ダウンロードできなくなった時は多くの場合、ffmpeg.exe を最新のものに入れ替えると解決します

目次に戻る

 

NHK.hta の使い方

NHK.htaを起動すると次の様な画面が表示されます

最も単純な場合は落とす講座を選んで[ダウンロード]ボタンを押すだけです。音声データは、NHK.hta のあるフォルダ内のmp3というフォルダに落ちます

例えば月曜日と火曜日の分だけ欲しいという様な場合は[次へ]ボタンを押すと次の画面が表示されます

この画面は基礎英語1だけの表示になっていますが、他の講座を表示したい時は[<<][>>]ボタンを押してください。[選択]にチェックが入った音声を[ダウンロード]ボタンを押せば落とします。

ただし、表示している講座だけでなく最初の画面で選択した全部の講座を落とします。[<<][>>]ボタンでよく確認してから[ダウンロード」ボタンを押してください。

後、[初期選択]の列のチェックが入っているとそれが[選択]の初期値になりますので[初期選択]を設定しておくと最初の画面で講座を選択してすぐ[ダウンロード]ボタンを押しても希望した曜日のダウンロードになります。

また、他のデータと比較して明らかにmp3のサイズが小さい場合は、多分ダウンロードし損なっていますから、[選択]にチェックを入れなおしてそのデータを落としなおして下さい

最初の画面にも次の画面にも[設定]ボタンが有りますがどちらを押しても次の設定画面になります

個人的には[mp3のフォルダ]とか[mp3ファイルを講座ごとのサブフォルダに入れる]などがお勧めですが、そこはお好みにお任せします。

後、上のボタンを説明しておくと、

○設定がこれで良し終了という時は [OK] を押してください、設定を保存して設定画面が終わります。

○色々と操作したのを全てキャンセルして戻る時には [Cancel] を押して下さい。

○操作したのを止めて設定画面に飛んで来た時の設定に戻すのが [Reset] ボタンです。

この手の設定などは、NHK.hta 実行後にできる NHK.ini というファイルに保存されています。NHK.hta をバージョンアップした際には、新しい NHK.hta のフォルダに NHK.ini をコピーすると設定をそのまま使えます

目次に戻る

 

NHK.hta のタイマー起動

ここでは、同包タイマーソフト NHK_hta_Timer を使用する場合を説明していきますが、その手の自動起動ソフトを使っている方はそれをそのまま使って問題ないと思います。要は NHK.hta を起動するときに次の2通りの様に起動します

NHK.hta -auto

NHK.hta -auto -autoexit

-auto の場合は、NHK.hta の最初の画面で[ダウンロード]ボタンを押された様にダウンロードします。しかし、NHK.hta の2番目の画面は表示されたままになっていて、そこで人が正常にダウンロードされたかチェックします。

-auto -autoexit の場合は、その2番目の画面も終了してしまいます。しかし、チェックしないとたまにしくじりますよ。

何か自動起動ソフトあるいはタイマーソフトをお持ちの方は、上の2つどちらかの呼び出し方をすればいいだけです

一応概要を述べたので以下は、同包タイマーソフト NHK_hta_Timer.hta を用いる場合を説明していきます。

NHK.hta と同じフォルダにある NHK_hta_Timer.hta を起動してください。次の画面が出ます

NHK.hta を起動したい時刻などをセットして [Start] ボタンを押してください。次のようになります。

これで起動時間になれば、NHK.hta が起動します。蛇足ですが、講座のデータが入れ替わるのは月曜10時です。

[Start] ボタンは結構気軽に押せます。起動テストとかは、一旦ボタンを押して今何時かを見ながら起動時刻を決めた方がやり易いです

[Start] ボタンを押した時刻は、全てログに記録します。記録された時刻には、[過去の設定↑] ボタンで切り替わります。

ログファイルは、timer_log.txt というファイルです。これは、[Start] ボタンを押すと出来ます。timer_log.txt をクリックするとメモ帳で編集できます。中身を見れば簡単に編集できると思いますが、次の書式です。


よく使う設定は下の方に集めて、使わない設定の行は削除した方が使いやすいと思います

なお、メモ帳の使い方は次のリンクでもご覧ください  https://michisugara.jp/archives/2013/text.html

メモ帳を NHK.hta の様な長いプログラムに使うことはお勧めしませんが、この程度のテキストを書き換えるには十分です

起動テストをやり過ぎると NHK.hta が起動できないとかいう状況になる時が有りますが、一旦 Windows をサインアウトすれば元の状態に戻ります

画面を気にならない様な隅に置いておくか、一番上の [ー] を押して最小化も出来ます。最小化しても NHK.hta は起動できます。

目次に戻る

 

他の端末機器への転送

 iPhone iPad など

iTunes を経由して同期させるのが一番簡単と思います

転送するとこんな感じです

 Android 携帯

今準備中ですしばらくお待ちを

目次に戻る

 

過去のバージョン

NHK.hta ver-3.2.0a 2020/10/05 ->  NHK_hta_3_2_0a 2020年度後期のカリキュラム 旧データーベース版

NHK.hta ver-3.1.9a 2020/08/25のリンク -->  NHk.hta_3_1_9a.zip  (旧データベース版)

NHK.hta ver-3.1.8 2020/05/09 の zip ---> NHK_hta_3_1_8.zip  (data の無い日でも落ちないように)

NHK.hta ver-3.1.8a 2020/05/21のリンク -->  NHk.hta_3_1_8a.zip  (sleep)

NHK.hta ver-3.1.6 2020/04/24 の ---> NHK_hta_3_1_6.zip (ニュースで英語術、アラビア語講座、ポルトガル語入門をサポート)

NHK_hta_3_1_5.zip

NHK_hta_3_1_4.zip (Timerのログ追加)

NHK.hta ver-3.1.3 2019/06/27 https://www.axfc.net/u/3988902.zip (Timerのバグ修正)

NHK.hta ver-3.1.2 2019/06/23 https://www.axfc.net/u/3988108.zip (Timer入り)

NHK.hta ver-3.1.1 2019/06/12 https://www.axfc.net/u/3987197.zip (m4aのサポート)

 

NHK.hta ver-3.1 2019/06/12 https://www.axfc.net/u/3986031.zip (自動起動可)

NHK.hta ver-3.0.2 2019/05/21 https://www.axfc.net/u/3981439.zip (mp3の圧縮可)

NHK.hta ver-3.0.1 2019/05/03 https://www.axfc.net/u/3976769.zip (オリジナルファイル名が可能)

NHK.hta ver-3.0 2019/05/03 https://www.axfc.net/u/3976670.zip (UIの一新)

NHK.hta ver-2.7.4 2018/10/10 https://www.axfc.net/u/3941740.zip (2018年度版2019年も使える)

目次に戻る

 

NHK.hta の動作と改造方法

 NHK.hta の構成

NHK.hta --- メインプログラム

NHK.ini --- 設定保存ファイル (自動的に作られる)

NHK_param5.txt --- 講座のデータ (ver-5)

lib/ini_file.vbs --- iniファイル用の入出力のライブラリ
lib/NHK_ini.vbs --- ini_file.vbs を使った NHK.ini の定義用コード
lib/etc.vbs --- いくつかの関数の定義
lib/revArray.vbs --- 配列データの置き換え
lib/date.vbs --- 日付の計算

 NHK.ini の説明

何年か前に驚いたことだけど、へえーiniファイルを直接手動で書き換える人がそんなにいるんだ!

説明しておくと、これは NHK.hta の設定保存ファイルで、大部分は NHK.hta の設定ページの保存に使っている

INIファイルについての詳しい説明は、Wikipedia - INIファイル を読んでください。

NHK.hta から基本的に大部分書き換えられるので、普通は手動で書き換えるものではない

テキストファイルで見た目構造も簡単だから書き換えるのも可能だけど

そんなことはめったに無いと思うけど、INIファイルを書き換えて動作がおかしくなったら、NHK.ini の丸ごと削除を勧めます。もっといいのは書き換える前には NHK.ini のバックアップを取っておくこと

手動で書き換えるのは、あまりお勧めしません。何故なら、大抵のことは NHK.hta の設定で出来るし、手動で書き換えるとほんのちょっとの間違いで致命的なエラーになりかねないからです。

 

 NHK_param5.txt の書き換え方

NHK_param5.txt は、下の通りの書式です。各行の三番目の項目を見ればわかる通り各講座のアドレスのデータです

新しい講座が始まったらそのデータをこのファイルに付け加えれば、NHK.hta が読み込めるようになります

それは、基本的には私が行いますが、私が出来なくてもパワーユーザの方が大抵やって下さるので、皆さんが自分一人でそれをやらなければいけないという状況はそうは無いはずです。でも書き換えたいという人もいるだろうと思います。

ファイルの中の1番目の項目は講座の音声データをおいているURLで、2番目の項目は各講座の詳細なデータのxmlで書かれたデータベース 'listdataflv.xml' のURLです。こう書いても丸っきり分からないと思いますので次のバッチによるダウンロードを見て下さい。

 バッチによるダウンロード

すぐ上にある NHK_param5.txt の基礎英語1の行を見てください

その行の2番目の項目は、https://cgi2.nhk.or.jp/gogaku/st/xml/english/basic1/listdataflv.xml となっています。これが、基礎英語1のxmlデータベースのURLです。このURLをブラウザでアクセスしてみると下のようになります

                    図A XML方式の放送データベース

このブラウザは、FFですので他のブラウザでは少し表示が違うと思います。

一番目の行が2月3日放送分となっています。この行にfile="19-ek1-4252-506.mp4"と書いてあります。これが2月3日放送分のファイル名です。

また NHK_param5.txt の基礎英語1の一項目をみると https://nhk-vh.akamaihd.net/i/gogaku-stream/mp4/ になっていて、これが音声ファイルを於いている場所です。後はfile=以下の19-ek1-4252-506.mp4 が続いていて最後に /master.m3u8 と続きます。ここまでがファイル名です。

これを取りあえず mp4 のまま無変換で落とすとして落とすファイル名を基礎英語1_2020-02-3.mp4 とする。

バッチファイルにまとめると以下のようになる

これを実行するとダウンロードが完了する。

一応書きましたが、かなり理解しずらい記述になってしまいました。NHK_param5.txt の章と何回か見比べないと理解できないと思います。すいません。一応言い訳をしておくと各講座の listdataflv.xml を見てみてバッチを作りダウンロードを実際に実行してみるのが理解する一番いい方法だと思いますか

 新データベース JSON の読み取り方

図A XML方式の放送データベースに代わって JSON方式のデータベースが使われるようになってきています

NHK.hta ver-3.1.6 に JSON_decode_test というフォルダあり。中に手動で段落付けした JSON ファイルのデータベースと

jsonparse.hta というサンプルプログラムを入れています。

JSON データを適当に抽出したのが以下のリストです

{
    "main":
    {
        "site_id":"4812",
        "program_name":"世界へ発信!ニュースで英語術",
        "media_name":"NHKラジオ第2",
        "detail_list":[
                        {    "headline_id":"412020",
                             "headline_image":null,
                             "file_list":[
                                          {    "seq":1,
                                              "file_id":"412020",
                                              "file_title":"世界へ発信!ニュースで英語術 #12 ▽安倍首相が“緊急事態宣言”",
                                              "file_title_sub":"1回5分。旬なニュースを素材に、最新の時事英語表現を紹介する。                                                "file_name":"https://nhks-vh.akamaihd.net/i/radioondemand/r/4812/s/stream_4812_53b457ed81ad1be25f82df73eae931c7.mp4/master.m3u8",
                                                   "onair_date":"4月14日(火)午後0:55放送",
                                                   "share_url":"https://nhk.jp/radio/?p=4812_01_412020",
                                         }]
                        },{
                            "headline_id":"404611",
                            "headline_image":null,
                            "file_list":[
                                        {
                                            "seq":1,
                                            "file_id":"404611",
                                            "file_title":"世界へ発信!ニュースで英語術 #11 ▽医療・介護に5G活用を",
                                            "file_title_sub":"1回5分。旬なニュースを素材に、最新の時事英語表現を紹介する。                                                           "file_name":"https://nhks-vh.akamaihd.net/i/radioondemand/r/4812/s/stream_4812_d8ea3f193fba568a61ba3ef4afa43c91.mp4/master.m3u8",
                                            "onair_date":"4月13日(月)午後0:55放送",
                                            "share_url":"https://nhk.jp/radio/?p=4812_01_404611",
                                        }]
                        },{

以下は、jsonparse.hta の中身を抽出したものです

Set objJs = CreateObject("ScriptControl") ' ScriptControlのオブジェクト作成 hta の書き方 vbs では別の書き方を
objJs.Language = "JScript"        ' 言語にJScriptを指定、あくまで上のScriptControl の言語です
objJs.AddCode "function jsonParse(str) { return eval('(' + str + ')'); };" ’eval(str) evalとは文字列strを言語の文法で解釈

set objJson = objJs.CodeObject.jsonParse(strJson)      '上の関数を実行、strJson にJSONのデータが入っています
i=0
for each iJson in objJson.main.detail_list ’上のjsonリストをよく見て下さい。detail_list の中身は配列[ になっています

                   ' それをfor each のループで回しています。メンバーには、iJsonでアクセス

    i=i+1
    'msgbox iJson.file_list        ’iJson.file_list の中身も配列になっています
    for each jJson in iJson.file_list     'それを jJson の for each ループで回しています。
        msgbox jJson.onair_date      ’上と見比べて下さい。日付と開始時刻です
        msgbox jJson.file_name      ’音声データのURLです
    next
next

NHK.hta でのJSONの読み込み

NHK.hta ver-3.1.6 上では、get_flv_file の400行辺りから読み込みをやっていますが、上のサンプルプログラムを理解できていれば問題なく中身を理解できると思います

NHK_param6.txt のフォーマット(JSON 含む)

パラメターファイルver-6 の書式は、基本的に param5.txt と同じ形式が通ります。JSON形式の講座を設定したいときは、下のように1項目に json1 と入れて次の項目に JSON データのURLを指定して下さい

 表示サイズを変える

NHK.hta の動作は正常に出来るが、画面が正常に表示されない。表が崩れたような表示になる

多分、あなたがいいパソコンをお持ちで画面 分解能が高いから起きていると思います

NHK.hta の表示サイズを大きくすれば解決するはずです。NHK.hta の83‐84行は次のようになっています。

const x_win_len=900, y_win_len=500
Window.ReSizeTo x_win_len, y_win_len

これを次のように書き換えます

const x_win_len=1200, y_win_len=600
Window.ReSizeTo x_win_len, y_win_len

これぐらいで十分ではないかと思いますが、場合によってはもっと大きくしなければならないかもしれません

目次に戻る

 

NHK_hta_Timer.hta の改造方法

NHK_hta_Timer.hta の179行と188行に

 wshell.Run "NHK.hta " & timer.arg, 1, True

という行が有ります。これを次の例の様に書き直します

 wshell.Run "target.exe", 1, True

target.exe を起動したいプログラム名にするとそのプログラムを起動できるはずです

まあ、言う必要もないかもしれませんが target.exe のかわりに CaptureStream.exe としてあれば起動は出来ます

目次に戻る
 

 

 

 

wikiモードの記述方法については、こちらをご覧ください。
https://wiki3.jp/guide/page/35

わからないことがあれば、こちらをご覧ください。
https://wiki3.jp/guide

 

ここを編集する

 

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する
作者

暇人さんから色々とリクエスト?が来ていることは承知しているのですが、今 自ら作ってしまったデカい山の作業に追われています。それが終わるまで猶予をお願いします。

返信
2021-01-19 18:31:39

作者

2020年度後期のカリキュラム対応の ver-3.2.0 ver-3.2.0a 出来ましたが変更があったのは英語以外の言語のようです

返信
2020-10-06 00:08:25

作者

すいません。おっしゃる通りだと思います
ご指摘の箇所は訂正します

返信
2020-10-03 09:37:39

間違っているのでは?

私の環境はwin10-32bitです
書かれている通り
ffmpeg 4.2.1 binariesのwindows-64 ffmpegを入れました、すると
ffmpeg.exe を実行可能な場所(フォルダ)に置いてください _
説明.txt にダウンロード先などが書いてあります _
エラー番号 214702024680・・・・・・・・となります。
windows-32 ffmpeg はokでした
環境にあったffmpegをダウンロード・・・と書くべきでは?

返信
2020-10-02 21:55:06

作者

報告が遅れて、すいません
ffmpeg の新しいものは、NHK.htaのインストールの章に入れています
書かれている通りやってもらえば大丈夫です

返信
2020-10-02 21:01:45

ffmpegの入手出来ません

ffmpeg.zeranoe.comは2020年9月18日に閉鎖されたので

これからどうなるのか?

最新のffmpegはどこから?

返信
2020-09-30 18:47:03

作者

今日やると言っていた NHK.hta の2020年後期講座への対応は10月5日に動作チェックしてからということにします

返信
2020-09-28 19:35:17

作者

9月28日からのNHK.htaの変更は夜から発表します。すいませんが28日は予定が詰まっているもので

返信
2020-09-27 21:16:41

ステップアップ中国語

9月28日からのステップアップ中国語

https://cgi2.nhk.or.jp/gogaku/st/xml/chinese/stepup/listdataflv.xml

返信
2020-09-26 20:31:43

んHK

作者様、素早いお返事頂きありがとうございます
どうやらffmpegに問題があったようでgit版を選ばなかったのが原因だったようです
今はmp3でもダウンロード出来るようになり時間情報も15:00できっちりしました。
お世話お掛けいたしました

返信
2020-09-10 01:59:09

作者

基礎英語1をaacでやってみましたが、皆14分30秒くらいになりました。そういう状況になったのはどの講座でしょうか?
後は、ffmpegを最新版に入れ替えて試してみるくらいのことしか思いつきません。私の環境では今のところ再現できません

返信
2020-09-09 09:36:39

んHK

月曜日分だけ再生時間情報に問題がある(15分番組を11分と表示するみたいな)現象は僕だけでしょうか
おま環かもですがMP3で落とせないのでaacで落としています
設定次第で多少解決出来るのなら特別クオリティも求めないのですが如何でしょうか

返信
2020-09-09 04:59:14

作者

saru999さんというと何時もtwitterでお世話になっている方ですね
何時もありがとうございます

返信
2020-08-29 13:25:22

ダウ祖
>> 返信元

ご対応ありがとうございます。
仰る通りNHK.hta ver-3.1.9aにしたところ,無事動作いたしました。
大変便利なソフトなので,これから有効に活用させていただこうと思います。
引き続きどうぞよろしくお願いいたします。

返信
2020-08-27 19:51:13

細かい人
>> 返信元

作者様、細かいこと言ってすみません
調べてみると半年間で講座が変更になるようなので
その都度変更が必要になるかもしれません
自分で変更します。

返信
2020-08-26 23:56:51

作者

スペイン語だけ中級になっているって今知りました
善処しますが次のバージョンアップの際でいいでしょうか?

返信
2020-08-26 23:23:33

作者

ダウ祖さん、上の方の「お知らせ」に書いている NHK.hta ver-3.1.9a を試してみて下さい

返信
2020-08-26 21:52:16

ダウ祖

Windows 8.1 pro の環境です。

スクリプトエラー
このページのスクリプトでエラーが発生しました。
ライン: 405
文字: 5
エラー: 書き込みできません。'objHttpOpen'
コード: 0
URL: file///D:/NHK_hta_3_1_9/NHK.hta
このスクリプトを実行し続けますか?
<はい(Y)>
しばらく待って下さい
___________
指定したフォルダは作成されるが中がすべて空

となります。ご対応いただけましたら幸いです。

返信
2020-08-26 20:35:27

素人

今試したら、https://nhk-vh.akamaihd.net/i/gogaku-stream/mp4/ でも
ダウンロードできます。
NHK は何がしたいんだろう?

返信
2020-08-26 12:49:17

ヨッシー

作者さまには、とても感謝しています。
おかげさまで、楽しく学習できています。

返信
2020-08-25 22:10:11