2023年度対応
基本的に昨年度と変化がありませんでしたので更新してません(ただし英語以外の「まいにち○○語」は入門編から初級編へと名称変更(?)されていました。が ID は同一です。)
【緊急】2022/05時点のNHK語学講座ダウンロード不調に関して
コメント欄に報告を頂きました(tamaさん、DKさんありがとうございます)。
- DK
当方では2021/10更新版で5/13(金)頃から、ダウンロードが途中で終了する現象が発生しています。
:
オプション「-http_seekable 0」を追加変更することで、ffmpegのバージョン5.0.1でもエラーなく最後までダウンロードできました。
これに対応する2022/05更新版を作成してアップしました。変更に関する詳細はradirudegogaku0.rb更新(2022/05) - 別館 子子子子子子(ねこのここねこ)はてブロ部をご覧ください。
2022年度対応
「2022年度分」のところに2022年度の番組 ID を追記しました。
今年度から配信開始が放送直後からになるようです。 このため、いままでより早めに配信終了するおそれがあるやも。ご注意ください。 「放送直後より1週間」に変更になりました。
そしてNHKラジオ語学番組の聴き逃し配信の期間が変更されるとのこと。語学番組以外の聴き逃し配信と合わせることになるんでしょうね(おそらく放送後1週間)。なので先週の番組を聞こう…と思ったら配信終了している可能性も。 pic.twitter.com/7ES0ovjEPk
— りおかんぽす🌻(💉×3) (@riocampos) March 8, 2022
※ 2022/4/4注意追記
※語学番組の聴き逃しは「放送翌週の月曜日から1週間」の配信でしたが、4月4日放送分より「放送直後より1週間」に変更となります。ご注意ください。
2021/10/3更新
スクリプトを更新しました。現状で満足しているので、やはり暫定版(設定ファイルを使わない方式)のままです。設定ファイル方式を希望される方は(私のモチベーションアップのため)ご連絡ください。
2021年度対応(2021/3/29追記)
「2021年度分(2021/3/29追記)」のところに2021年度の番組 ID を追記しました。当然のことですが、2021年度の ID でダウンロード可能になるのは 2021/4/5 午前10時以降です。
スクリプト自体は暫定版のままです。すみません。
ごあいさつ
こんにちは。gogakuondemand.rb 作者の @riocampos です。ご無沙汰しております、というか gogakuondemand.rb をほとんど放置していて申し訳ありませんでした。
NHKゴガクでの語学番組ストリーミング配信がとうとう終了
NHKゴガクにて長らく独自配信を続けてきた語学番組のストリーミング配信がとうとう終わり、らじる★らじるの聴き逃しサービスに統合されました。なので gogakuondemand.rb は使えなくなりました 使えなくなったと思いましたが設定ファイル pref.rb の「school_year」を「2020」に変更したらダウンロード出来てることに4/6気付いた…*1(ただし現時点では「基礎英語0」だけはNHKゴガクに残ってますけど…どうなるんでしょうね 4/6時点では、2020年度もNHKゴガクでやるっぽい)。
らじる★らじる聴き逃しサービスからの取得
ということで対応スクリプトを作りました。しかしまだ不完全版でして、UI というか gogakuondemand.rb のような
"ラジオ英会話" => true,
のような設定ファイルがまだ作れてません。気長に開発してると年度始め第1週(というか昨年度最終週)のストリーミングが取得出来なくなっちゃうので、暫定版として公開しました。特に「レベルアップ 中国語」と「レベルアップ ハングル講座」は2019年度で終了してしまったのに、最終週だけらじる★らじる聴き逃しサービスでの公開なのよね(何を考えてんだ NHK、と思ってしまう)*2。
脱線しました。で、設定ファイル方式のほうが便利だとは思うので、今月中には改善しようと思っています。 結局、設定ファイル方式の開発はやってませんm( )m 「設定ファイル方式ほしい!」ってひとはツイッター @riocampos でご連絡いただくか、この記事のコメント欄に書き込みくだされば開発するかと。
(おまじないとしての)お断り
- このスクリプトの動作は保証されません。Mac にて開発していますので Windows での動作はよく分かりません。が、gogakuondemand.rb が動作していた環境であれば動作するはずです。
- このスクリプトで取得したストリーミング配信ファイルは私用にのみご利用ください。他の方が取得可能となる公開サイトへのアップロードなど著作権法違反行為は禁止します。
- 本スクリプトの著作権は放棄しておりません。有償アプリケーション作成の基礎にすることは絶対にやめてください。
必要環境
- Ruby 言語
(現状だと Ruby 3系ではエラーになります。2系でご利用ください。2021/10更新でRuby 3系対応) - OpenSSL または GnuTLS 対応の FFmpeg(2022/05更新版は FFmpeg バージョン 4.3 以降)
環境設定などについては以前の NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(v1804_1 2018/5/5更新版) - 別館 子子子子子子(ねこのここねこ)はてブロ部 などを参考にしてください。
スクリプトのダウンロードファイル
zip ファイルの中には radirudegogaku0.rb
一つだけ入っています。なにせ暫定版なので…。なので名前も radirudegogaku0.rb ですw
- 2022/05更新版(最新:利用推奨。FFmpeg バージョン 4.3.x 以降対応)
念の為古いバージョンへのリンクを残しておきます
- 2021/10更新版(古い:FFmpeg バージョン 4.2.x 以前の方はこちらを継続利用してください)
- 一番古い大元のバージョン(古い)
使い方
各語学番組にはそれぞれ ID が割り振られています。その ID は各番組サイトの URL で分かります。例えば
であればサイトの URL の末尾 0916_01
が ID です。radirudegogaku.rb では、この ID によりダウンロード番組を指定します。「ラジオ英会話」をダウンロードする場合は
$ ruby radirudegogaku0.rb 0916_01
とします。今日の時点でこのスクリプトを実行すると
$ ruby radirudegogaku0.rb 0916_01 1 1【ラジオ英会話(0916_01)】のダウンロードを開始します。 ラジオ英会話~ハートでつかめ!英語の極意~「Lesson236」_2020_03_23.m4a [##################################################] 903 / 903 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~「Lesson237」_2020_03_24.m4a [##################################################] 903 / 903 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~「Lesson238」_2020_03_25.m4a [##################################################] 903 / 903 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~「Lesson239」_2020_03_26.m4a [##################################################] 903 / 903 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~「Lesson240」_2020_03_27.m4a [##################################################] 903 / 903 秒完了 作業終了
となります。命令の次の行の「1」というのは「1つ目の番組の取得先指定ファイル(録音ファイルではない)を取得出来ました」という意味合いです。
複数の番組を指定する場合には、半角スペースで区切ってください。つまり「ラジオ英会話(ID: 0916_01)」と「遠山顕の英会話楽習(ID: 4794_01)」をダウンロードしたい場合には下のようにします。上で「ラジオ英会話」を取得済みなのでこのようになります。
$ ruby radirudegogaku0.rb 0916_01 4794_01 1 2 1【ラジオ英会話(0916_01)】のダウンロードを開始します。 更新はありません。 2【遠山顕の英会話楽習(4794_01)】のダウンロードを開始します。 遠山顕の英会話楽習「3月Dialog7」_2020_03_23.m4a [##################################################] 900 / 900 秒完了 遠山顕の英会話楽習「3月Dialog8」_2020_03_24.m4a [##################################################] 900 / 900 秒完了 遠山顕の英会話楽習「3月Review7・8」_2020_03_25.m4a [##################################################] 903 / 903 秒完了 作業終了
書き忘れていましたが、ダウンロードしたストリーミングファイルはスクリプトと同じフォルダに、それぞれの番組別に保存されます。
2021/10更新版での変更点
ダウンロードしたファイルの日時が放送日時になるように変更
いままではファイルの日時はスクリプトの実行時になっていました。しかし、うまくダウンロードできない場合などには、ファイルを日時順に並べていると放送の順序と違ってきてしまいます。
そこで、ストリーミングファイルの日時をNHKラジオ第2で放送された時刻に設定するようにしました。
ダウンロードが不完全な場合のエラーメッセージの例
ダウンロード時のエラーは次の二種類です。
- ダウンロードを開始できなかった場合
- ダウンロード途中で欠損が生じた場合
前者の場合にはファイルが作成されません。後者の場合には不完全なファイルが作成されます(途中までは保存されています)ので、削除してください。その後、スクリプトを再実行してください。
なお、前者のようにダウンロードが開始できなかった場合には、スクリプトの再実行は時間を空けてから行った方がよさそうです。直ぐに実行すると、またダウンロードが開始できないことが多いように感じました。
例として私の環境で実際にエラーが生じた場合のメッセージを掲載します。
$ ruby radirudegogaku0.rb 6808_01 0916_01 1 2 1【中高生の基礎英語 in English(6808_01)】のダウンロードを開始します。 中高生の基礎英語 in English TOPIC12(1)_2021_09_20.m4a [##################################################] 900 / 900 秒完了 中高生の基礎英語 in English TOPIC12(2)_2021_09_21.m4a [##################################################] 900 / 900 秒完了 中高生の基礎英語 in English TOPIC12(3)_2021_09_22.m4a [##################################################] 900 / 900 秒完了 中高生の基礎英語 in English TOPIC12(4)_2021_09_23.m4a [########################### ] 488 / 900 秒 !!! ダウンロードファイルの一部を取得出来ませんでした。 ファイルが作成されているばあいには不完全ですので削除してください。 スクリプトを再実行してください。 中高生の基礎英語 in English TOPIC12(5)_2021_09_24.m4a [########################## ] 480 / 900 秒 !!! ダウンロードファイルの一部を取得出来ませんでした。 ファイルが作成されているばあいには不完全ですので削除してください。 スクリプトを再実行してください。 2【ラジオ英会話(0916_01)】のダウンロードを開始します。 ラジオ英会話~ハートでつかめ!英語の極意~(116)_2021_09_20.m4a !!! ダウンロードを開始出来ませんでした。 スクリプトを再実行してください。 ラジオ英会話~ハートでつかめ!英語の極意~(117)_2021_09_21.m4a !!! ダウンロードを開始出来ませんでした。 スクリプトを再実行してください。 ラジオ英会話~ハートでつかめ!英語の極意~(118)_2021_09_22.m4a [##################################################] 900 / 900 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~(119)_2021_09_23.m4a [##################################################] 900 / 900 秒完了 ラジオ英会話~ハートでつかめ!英語の極意~(120)_2021_09_24.m4a [###### ] 114 / 900 秒 !!! ダウンロードファイルの一部を取得出来ませんでした。 ファイルが作成されているばあいには不完全ですので削除してください。 スクリプトを再実行してください。 作業終了
mp3指定
ダウンロードしたファイルを mp3 に変更できるようになりました。
設定方法はもう少し下の「ファイルフォーマット」のところをご覧ください。
各語学番組のID 2022年度分、2023年度分
2022年度からの新番組には[新]を付けておきました。2023年度も同じようです。ただし、英語以外の「まいにち○○語」は入門編から初級編へと名称変更(?)されていますが ID は同一です。
※語学番組の聴き逃しは「放送翌週の月曜日から1週間」の配信でしたが、2022年4月4日放送分より「放送直後より1週間」に変更となります。ご注意ください。
番組名 | ID |
---|---|
中学生の基礎英語 レベル1 | 6806_01 |
中学生の基礎英語 レベル2 | 6807_01 |
中高生の基礎英語 in English | 6808_01 |
ラジオ英会話 | 0916_01 |
ボキャブライダー | 4121_01 |
エンジョイ・シンプル・イングリッシュ | 3064_01 |
英会話タイムトライアル | 2331_01 |
ニュースで学ぶ「現代英語」[新] | 7512_01 |
ラジオビジネス英語 | 6809_01 |
まいにち中国語 | 0915_01 |
ステップアップ中国語 | 6581_01 |
まいにちハングル講座 | 0951_01 |
ステップアップ ハングル講座 | 6810_01 |
まいにちイタリア語 入門編(2022年度) 初級編(2023年度) |
0946_01 |
まいにちイタリア語 応用編 | 4411_01 |
まいにちドイツ語 入門編(2022年度) 初級編(2023年度) |
0943_01 |
まいにちドイツ語 応用編 | 4410_01 |
まいにちフランス語 入門編(2022年度) 初級編(2023年度) |
0953_01 |
まいにちフランス語 応用編 | 4412_01 |
まいにちスペイン語 入門編(2022年度) 初級編(2023年度) |
0948_01 |
まいにちスペイン語 中級編 | 4413_01 |
まいにちロシア語 入門編(2022年度) 初級編(2023年度) |
0956_01 |
まいにちロシア語 応用編 | 4414_01 |
アラビア語講座 | 0937_01 |
ポルトガル語入門 (上半期) | 1893_01 |
ポルトガル語ステップアップ(下半期) | 2769_01 |
各語学番組のID 2021年度分(2021/3/29追記)
2021年度からの新番組には[新]を付けておきました。
2021年度一杯で終了した番組には(終)を付けました。
番組名 | ID |
---|---|
中学生の基礎英語 レベル1 [新] | 6806_01 |
中学生の基礎英語 レベル2 [新] | 6807_01 |
中高生の基礎英語 in English [新] | 6808_01 |
ラジオ英会話 | 0916_01 |
ボキャブライダー | 4121_01 |
エンジョイ・シンプル・イングリッシュ | 3064_01 |
英会話タイムトライアル | 2331_01 |
高校生からはじめる「現代英語」(終) | 4407_01 |
遠山顕の英会話楽習 (終) (10月まで) |
4794_01 |
ラジオで!カムカムエヴリバディ [新] (終) (11月から) |
7137_01 |
ラジオビジネス英語 [新] | 6809_01 |
ニュースで英語術 (終) | 4812_01 |
まいにち中国語 | 0915_01 |
ステップアップ中国語 | 6581_01 |
まいにちハングル講座 | 0951_01 |
ステップアップ ハングル講座 | 6810_01 |
まいにちイタリア語 入門編 | 0946_01 |
まいにちイタリア語 応用編 | 4411_01 |
まいにちドイツ語 入門編(上半期) まいにちドイツ語 初級編(下半期) |
0943_01 |
まいにちドイツ語 応用編 | 4410_01 |
まいにちフランス語 入門編 | 0953_01 |
まいにちフランス語 応用編 | 4412_01 |
まいにちスペイン語 入門編(上半期) まいにちスペイン語 初級編(下半期) |
0948_01 |
まいにちスペイン語 応用編 | 4413_01 |
まいにちロシア語 入門編 | 0956_01 |
まいにちロシア語 応用編 | 4414_01 |
アラビア語講座 | 0937_01 |
ポルトガル語入門 (上半期) | 1893_01 |
ポルトガル語ステップアップ(下半期) | 2769_01 |
各語学番組のID 2020年度分
2020年度一杯で終了した番組には(終)を付けました。
番組名 | ID |
---|---|
基礎英語1 (終) | 0677_01 |
基礎英語2 (終) | 0694_01 |
基礎英語3 (終) | 0959_01 |
ラジオ英会話 | 0916_01 |
ボキャブライダー | 4121_01 |
エンジョイ・シンプル・イングリッシュ | 3064_01 |
英会話タイムトライアル | 2331_01 |
高校生からはじめる「現代英語」 | 4407_01 |
遠山顕の英会話楽習 | 4794_01 |
入門ビジネス英語 (終) | 0914_01 |
実践ビジネス英語 (終) | 0917_01 |
世界へ発信!ニュースで英語術 | 4812_01 |
まいにち中国語 | 0915_01 |
おもてなしの中国語 (2020年度上期で終了) |
4393_01 |
ステップアップ中国語 | 6581_01 |
レベルアップ 中国語 (2019年度で終了) |
2334_01 |
まいにちハングル講座 | 0951_01 |
おもてなしのハングル (終) | 4795_01 |
レベルアップ ハングル講座 (2019年度で終了) |
2335_01 |
まいにちイタリア語 入門編 | 0946_01 |
まいにちイタリア語 応用編 | 4411_01 |
まいにちドイツ語 入門編 | 0943_01 |
まいにちドイツ語 応用編 | 4410_01 |
まいにちフランス語 入門編 | 0953_01 |
まいにちフランス語 応用編 | 4412_01 |
まいにちスペイン語 入門編 | 0948_01 |
まいにちスペイン語 中級編 (2019年度下半期は応用編でした) |
4413_01 |
まいにちロシア語 入門編 | 0956_01 |
まいにちロシア語 応用編 | 4414_01 |
アラビア語講座 | 0937_01 |
ポルトガル語入門 (2020年度上期で終了) |
1893_01 |
ポルトガル語 ステップアップ | 2769_01 |
基礎英語0は…どうなるんでしょうね。とりあえずNHKゴガクでの公開が続くのであれば gogakuondemand.rb でダウンロードできます。残念ながら現在の gogakuondemand.rb そのままではダウンロード出来ませんでした。更新予定です。 現状「小学生の基礎英語」のダウンロードに興味が無いので更新しません。対策希望のかたが居られればご連絡ください。(2021/10/3更新)
ファイルフォーマット
基本的にはm4a(aac)です。
mp3 にしたい方は以下のオプション設定を行ってください。
mp3指定(2021/10更新版)
以下のように --mp3
を ID の前に入れてください。
-mp3
のようにマイナスが一つだとエラーになります。必ず --mp3
とマイナスが二つ続くようにしてください。
以下に例を挙げます。
$ ruby radirudegogaku0.rb --mp3 4812_01 1 1【ニュースで英語術(4812_01)】のダウンロードを開始します。 ニュースで英語術 ▽新幹線“のぞみ”にテレワーク車両_2021_10_01.mp3 [##################################################] 300 / 300 秒完了 ニュースで英語術 ▽米テスラ 人型ロボット開発へ(再)_2021_09_30.mp3 [##################################################] 300 / 300 秒完了 ニュースで英語術 ▽IPCC “地球温暖化は人間の責任”(再)_2021_09_29.mp3 [##################################################] 300 / 300 秒完了 ニュースで英語術 ▽電機メーカーも脱プラスチックの動き(再)_2021_09_28.mp3 [##################################################] 300 / 300 秒完了 ニュースで英語術 ▽障害者が遠隔操作ロボットで接客(再)_2021_09_27.mp3 [##################################################] 300 / 300 秒完了 作業終了
スクリプトソース
このスクリプトに関して、ライセンスとかはよく知らないですが、ひとまず、利用や紹介をする場合には、この4/2分へのリンク
NHK語学講座のらじる★らじる聴き逃しサービスを取得するRubyスクリプトradirudegogaku.rb(2020/4/2暫定版) - 別館 子子子子子子(ねこのここねこ)はてブロ部
を貼ってください。
投げ銭
このスクリプトが役立ったときには、Amazonギフト券をお送り頂ければありがたいです。 メールアドレスは「riocampos22あっとまーくgmail.com」です。 よろしくお願いします。(お送り頂いた方、本当にありがとうございます。)
質問や希望を出される方へ
私も使ってるスクリプトなので、今後NHK側が行った変更には対応していくするつもりです。機能要望はOKですが、実現可能かどうかは私の開発能力に掛かっていますw 基本的にはノーサポートであると理解してください。
そして、自分で環境構築が出来る方にしかサポートできません。「私でも出来るでしょうか?」「Rubyってなに?」「コマンドってなに?」という方は利用を諦めてください。
なお、質問などはここのコメント欄よりも @riocampos に送ってもらうほうが即応できると思います。DM もオープンにしてあります。
Have Fun! And Let's Learning!
私のように録音ファイルを取得するだけで満足せず、ちゃんと語学学習しましょうね☆