n8nで英語シャドーイング教材を自動生成してAnkiにストックする仕組みを作る【PART1】

この記事(3部構成)でわかること:気になる英語記事URLを投げるだけでシャドーイング音声と100−120文字くらいに要約された文章がAnkiカードに自動生成されるn8nワークフローの全体設計・TTS選定に辿り着くまでの調査ポイントの確認方法

結局最終的にはKOKORO TTSはつかえなくなってしまい、他の方法で要約文章と音声を自動で作成する仕組みかには成功しましたのでぜひPART3まで読んでいただければと思います🎵

英語のシャドーイングって、普段どうしてますか? 

スーツマンはYoutubeとかTED、CNNとか色々ありますがおそらく英語学習者の同士と同じような教材や素材をネットで探して基本います。

いまはスマホのいいアプリもたくさんあるのは知ってるんですが課金ばかりするとランニングコストも高くなるし、なんかいい方法ってないかなって思ってました。

スーツマンは英検1級を目指してぼちぼち勉強しているんですが、シャドーイングでもやるかと、スマホをひらけばYoutubeのショート動画で気づけば1時間・・・・o(`ω´ )o

何しとるん自分!時間の無駄になったやーーーーん!!ってことが本当に多いのです。

それが地味にストレスで・・・そして後悔・・・・

なので英検1級のスピーキングって準1級の時より時事ネタの基礎知識もいるって聞くし、いろいろ英検に出そうなトピックを日頃から音声と一緒にストックしてる人も多いと思うけど、自分の好きな分野も英検だけじゃなく話せるようになったらもっと面白くなると思うなって。 なのでいろいろ調べてみました。

  • 難しすぎて長すぎる記事 → 何を言ってるかわかんないしつまらない、眠くなる
  • やさしすぎる記事 → 日頃は自分のレベルよりちょっと上の記事を練習に使ってます。自分のちょっと難しいなっていう基準は記事の中に大体、わからない単語が5−10個くらい使われてるもの。それ以下は普通に読んで、学習してストックせずおわってます。(いい表現があったりしたらスクラップします)
  • ちょうどいい記事 → 1記事に5個くらいまでわからない単語がありそうで、なんとかすらすら読めるし、意味もなんとなくイメージ湧きながら読み進められるこの記事、いいじゃん!いい感じに頭がじんじん熱くなって、でも音声があったらなーって思うこと、よくありません?

「自分のレベルにちょうど合った素材が、読んだ記事からそのまま要約、音声がパッとワンクリックで出てきたらいいのになー」と。しかも自分の目指すC1レベルへいくB2からC1レベルの表現ストックと関連単語とかもAIで自動でつくってくれたら・・・なんて思いながら過ごしていたんですが、ある日ふと気づいちゃったんですよ。

「あ、これn8nで作れるんじゃない?あ、しかもClaude君いてますやん・・・」

というわけで今回は「記事の文章を投げるだけでシャドーイング教材が自動生成される仕組み」を調べて作っちゃおうって話です。まずは導入のPART1の記事になります♪(´ε` )

いろいろつまづきポイントがあって、最終記事、PART3まで読み進めていただくときっといい情報があるとおもうのでぜひ読んでみてください。

スポンサーリンク

こんな仕組みを考えてみた

最初のイメージはこんな感じです。

URL入力(LINEかWebhookで送信)、もしくは記事コピーして貼り付け、送信。

記事をスクレイピング

Gemini API(無料枠)
(B2→C1レベルで100〜120文字に圧縮・重要表現5つ+関連語彙を抽出)

① シャドーイング用テキスト(100〜120文字)
② 重要表現リスト(5つ)
③ 関連語彙(B2〜C1・5〜8語)
④ KOKORO TTS → MP3生成

特に②③が肝で、MP3はAnkiに保存したらスマホからいつでも聴けるし、通勤中などでもリーディングの練習にもなるし。シャドーイングもできるし一気にはかどるんですよね。英語学習者の同士、きっといつも独り言ぶつぶつ言って周りから、なにあの人?って思われてると思います、安心してください。 スーツマンもいつも変人になってます!冷たい目でみられてしまうのよね〜

英語学習者の同士の皆さんならわかると思うんですが、「レベルが合ってて・自分が興味ある内容で・音声もある」という教材はあるんですが、長すぎたり、なんか短かったり。

市販のテキストはコピぺできないしタイピング手間だし。あ写メとってAIにCSVでコピペはできるけど。 自分のこれがいい!っていう記事のシャドーイング用教材を適度に要約してパッと保存する仕組み。し〜かぁ〜もぉ〜 ワンクリックで。希望は・・・

それを全部自作してしまおうという話です。しかも記事URLもしくは本文のコピペさえ投げればあとは全部自動。

まずTTSをどうするか問題

設計のおおまかな流れが決まったので、次は「音声をどうやって作るか」ですよね。

TTS(テキスト読み上げ)のサービスはいくつかあって、最初に浮かんだのがGoogle Cloud TTSでした。

「確か無料枠があったはず!月400万文字まで無料って聞いたことがある!」

と期待しながら調べてみたら・・・

詰まりポイント①:Google Cloud TTSはクレカ登録が必須だった

月400万文字まで無料(Standard音声)というのは本当だったんですが、使うためにはGoogle Cloudのアカウントにクレジットカードを登録しないといけないみたいで。

なんか最近エンジニアブログでGoogle APIの900万課金が発生っていう記事読んで、こわいなっておもいますよ、、、ぴぇんじゃすまないっすよね。

きちんとした設定すれば課金されるわけじゃないんですが、カード登録必須というのはちょっとハードルが高いですよね・・・(;´Д`A

以前も「無料のはず!」と思って無料APIの設定進んでいったら「あ、有料プランじゃないと使えなかった」みたいになった経験があって笑 このパターン結構多いんですかね。

PCのスペックは必要だけどMETAとGoogleが自立型AIを出してるそうでこれなら機密情報も入れられるし自分のPCだけ、ローカルで動くAIも導入できるみたい。いつかしてみたいですよね。

なのでいったんGoogleくんはベンチ入りしてもらって別の選択肢を探すことにしました。

KOKOROというオープンソースのTTSを発見した

そしてClaude君と一緒に調べていると「KOKORO TTS」というのが候補に出てきまして。

「Kokoro-82M」というモデルで、HuggingFaceとGitHubで公開されているオープンソースのTTS。しかも82Mパラメーターという比較的コンパクトなモデルにもかかわらず、ElevenLabsなどの有料TTSと比べても品質が高いという評価が多くて。

さらにn8nの公式ワークフローテンプレートにもKOKORO連携のものがあって、「これは使えそうだぞ」とテンションが上がってきたんですが。

詰まりポイント②:「商用利用はチームに連絡が必要」という情報が出てきた

調べていたら「kokoro-web(Dockerで動くやつ)は商用利用する場合は連絡が必要」という記述が検索結果に出てきて・・・

ブログで紹介するとなると商用利用になるのか?ライセンスが引っかかる?

あれ、これ使っていいやつなんだっけd( ̄  ̄)

同じことを考える同士の皆さんも多いと思うんですが、このライセンス問題ってほんとに判断しにくいですよね・・・

GitHubのREADMEを直接確認

「ちゃんと確認しよう」と思ってGitHubのリポジトリを直接開いてみたんですよね。

そしたら・・・

READMEにはっきり書いてありました。

“Free & Open Source – 100% free for personal and commercial use”

個人利用も商用利用も、完全に無料!

ライセンスを確認するときは、GitHubのREADMEかLICENSEファイルを直接見るのが一番確実です。検索結果にはクラウド版とセルフホスト版の情報が混在して出てくることがあるので、気をつけてください。

ちなみに「商用は要連絡」という情報は、セルフホストのDocker版ではなくクラウドサービス版(kokoro.ws)の話だったようです。紛らわしいですよね笑

ちなみにn8nもクラウドホスト版はたしか有料になることがあったような気がします。でも自前サーバーのセルフホストは無料でつかえちゃいます、同じですね。

ライセンスの内訳はこんな感じです。

ライセンス商用利用
モデル本体(Kokoro-82M)Apache 2.0✅ 完全無料
kokoro-web(Docker版)MIT License✅ 完全無料
kokoro.ws(クラウド版)独自ライセンス⚠️ 要連絡

使う場所はセルフホストの我が家のSynologyのDockerなので、問題なしです。

しかもSynology NAS用のインストールガイドまであった

調べていると「Marius Hosting」というサイトに 「How to Install Kokoro on Your Synology NAS」 というガイドまで出てきまして。

スーツマンはすでにSynologyのDockerでn8nを動かしているので、これはそのまま使える環境がある、ということではないですか。 

んもう、ちょうどよすぎるやんか・・・という感じで笑

ちなみにOpenAI TTSという選択肢もあって、こちらは有料ですが100語の記事なら1回あたり約0.01円(!)という激安で、設定も一番シンプルなのですが、やっぱりむかしから激安セールに全出席の母親に連れ回されたスーツマン、無料が好きです!でせっかくなのでKOKOROでやってみようと思います。

あ、ちなみに「完全無料でいいのかな?品質は?」と思うんですが、82Mパラメーターというのは一般的なTTSモデルの5〜15倍小さいモデルにもかかわらず、品質ベンチマークでは大きなモデルを上回る結果が出ているみたいで。

整理した結果の設計

というわけで決定したことをまとめると。

  • TTS:KOKORO TTS(MIT License・完全無料・商用利用OK)
  • 実行環境:SynologyのDockerにKOKOROコンテナを追加
  • n8nワークフロー:Webhook → スクレイピング → Gemini API (無料枠をつかう)→ KOKORO → MP3 + Ankiカード自動追加

設計図の全体像です。

① LINE or WebhookでURLを送信
② HTTP RequestでURLをスクレイピング
③ Gemini API(無料枠・圧縮・表現・語彙を一括抽出)
④ KOKORO TTS(SynologyのDockerで動かす・MP3生成)
⑤ AnkiConnect(MacのTailscale IPで直接接続)
├─ MP3をAnkiメディアフォルダに保存
└─ 1枚のカードとして追加
・表:音声再生
・裏:テキスト+重要表現+関連語彙
⑥ ObsidianにテキストのみログとしてOK(音声は不要)

次のPart2記事ではSynologyへのKOKOROインストールから、n8nワークフロー構築まで全部書きます。

同士の皆さん、しばしお待ちを♪( ´θ`)ノ

Ankiを使い始める前に設定すべき3つのこと──日付変更線・新規カード上限・復習上限の話
AnkiとDuo 3.0の出会いが英語8年を支えてくれた話

今日学んだの英語表現(B2〜C1)

一応英検1級目指してるスーツマンのこの記事のトピックから使えるフレーズをAIがピックアップ。オープンソース・TTS関連の英語記事を読むときに頻出する表現です。

① permissive license(= 寛容なライセンス・許容的ライセンス)
Kokoro is released under a permissive license, allowing use in both personal and commercial projects.
ソフトウェアのライセンスでよく出てくる表現。「制限が少なく使いやすいライセンス」という意味で、Apache 2.0やMIT LicenseはこのPermissive licenseの代表格です。

② self-hosted(= 自己ホスト型・自分のサーバーで動かす)
The self-hosted version gives you full control over your data and costs.
クラウドサービスに依存せず、自分のサーバー(今回はSynology NAS)で動かすタイプのソフトウェアのこと。プライバシー重視・コスト削減の文脈でよく登場します。

③ drop-in replacement(= そのまま置き換えられる代替品)
This Docker image works as a drop-in replacement for OpenAI’s TTS API.
設定の変更を最小限にして既存のシステムにそのまま差し込める代替品、という意味。KOKOROはOpenAI TTS APIと互換性があるためこの表現が使われており、覚えておくと英語記事でよく見かけます。

参考:hexgrad/Kokoro-82M(HuggingFace) / kokoro-web(GitHub)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です