Gemini TTSと組んだ動画で読み間違い。「1行」が「いちゆき」になり、ルビ指定と聞き取り照合で直した
YouTube用の英会話ドラマ(英検準2級レベル)の第1話で、日本語のナレーションが「1行ずつ」を「いちゆきずつ」と読みました。
画面の文は「止まったら、1行ずつ声に出す。」です。
音声は2026年10月20日に作り、翌21日に僕が聞いて気づきました。
原因は、漢字・数字・英字をそのまま音声合成に渡していたことでした。
声に渡す文を全部ひらがな・カタカナにすると、読みを声に選ばせる余地が消えます。
できた音声は聞き取りにかけ、台本の読みと機械で突き合わせます。
食い違いの印(⚠)が0になってから出す、と決めました。
語学の動画で読みを間違えると、教材としての信用が一発で落ちます。
「信用がなくなる。絶対に読み方の誤字は避けて」。気づいたとき、僕はそう伝えました。
同じ日に、もう1つ見つかりました。
英語の「hand in」を、日本語の声が「ハンロイン」と読んでいたのです。
「いちゆき」と読んだのは Gemini ではなく、ナレーションの声だった
動画づくりは、部下役のAIに任せていた作業です。
TTS(文字を読み上げる音声合成)は2種類を使い分けていました。
英語の会話は Gemini TTS が担当です。Googleの生成AIが読み上げる声です。
日本語のナレーションは、Google Cloud Text-to-Speech の「Chirp 3 HD」という種類の声でした。
つまり「いちゆき」と読んだのは、Gemini ではなくナレーション側の声です。
ただ、Gemini TTS にも前科があります。
別の日本語学習チャンネル「Honto Japanese」では、Gemini の声が日本語を読み違えていました。
第1〜9回を見直すと、制作時の検品をすり抜けた読み違いが26行も出てきました。
「8個」を「はちこ」、「三毛猫」を「みめねこ」と読んだ類です。
その対策を道具に足したのが、10月1日でした。
ルビは画面にしか出ていなかった
ナレーションの文は、画面に出す漢字の文のまま声に渡していました。
Honto Japanese の台本にはルビ(漢字の読みがな)を振っていました。
でもルビは画面にしか出ず、Gemini には漢字の文が届いていたのです。
「1行」の読みが「いちぎょう」か「いちゆき」かは、声の側が決めていたわけです。
英字も同じで、日本語の声は「hand in」を自分なりに読みます。
なぜ「いちゆき」を選んだのか、声の中の仕組みは分かりませんでした。
漢字も数字も英字も、かなにしてから声に渡す
ナレーションの漢字と数字には、すべて {1行|いちぎょう} の形で読みを書きます。
英字も {hand in|ハンド イン} のように、カタカナの読みを付けました。
画面と字幕にはルビを外した文を出し、声にはかなの文だけを渡します。
ルビの外に漢字・数字が1つでも残ったら、組み立てを止めるようにしました。
声に渡すのが全部かななら、漢字の読みを声が選ぶ余地はなくなります。
「1行ずつ」の文そのものは、冒頭を短くするために画面だけのカードに移しました。
締めのナレーションの「どの1行から」には、{1行|いちぎょう} を付けています。
「1行・今日・2人・空所」のような読みの割れやすい語は、部下役のAIに1つずつ点検させました。
ちなみに Chirp 3 HD の公式ページには、IPA(国際的な発音記号)で発音を指定できると書いてあります。
僕はこの機能を試していないので、効くかどうかは分かりません。
聞き取り照合は「ハンロイン」を OK にしていた
できた音声は、stable-ts で聞き取ります。
OpenAIの音声認識 Whisper を改良した、文字起こしの道具です。
聞き取った文と台本の読みを、両方カタカナにそろえて比べます。
一致率が0.9を切った本には、⚠が付く仕組みです。
直したあとは「hand in」が「ハンドイン」と聞き取れました。
照合は「13本中 ⚠ 0本」です。
ただし直す前も⚠0本だったので、数字だけでは安心できません。
カタカナの読みを付ける前のログには、聞き取りに「ハンロイン」と出ています。
それなのに判定は「OK 1.000」で、全体も13本中⚠0本でした。
照合の仕組みが、英字の部分(英語の語)を比べる対象から外していたからです。
だから英字にもカタカナのルビを付ける決まりにしました。
組み立ての検査が止めるのは、ルビの外の漢字と数字だけです。
英字が残っていないかは、その検査では止まらないので別に確かめます。
逆向きの空振りもありました。
照合で「提出」が「停止」、「ゴー」が「5」と出た箇所は、聞き取り側の誤りです。
台本の読みのほうが正しかったので、食い違いが出たらどちらの誤りかを見分けることになります。
かなで渡して、聞き取りで確かめる。この2つを決まりにして、第1話のナレーションを作り直しました。
参考
- 運営メモ「動画ナレーションは読み間違いゼロ」2026-10-21(「1行ずつ」→「いちゆきずつ」、hand in→ハンロイン)
- 制作ログ 2026-10-20〜21(ナレーション音声の生成、読みの照合結果は直す前も後も「13本中 ⚠ 0本」)
- 第1話(10月27日の公開枠)の制作キットの点検メモ(英語の語は照合の対象外)と締めのナレーション
- 動画づくりの道具のコード(照合で英字の箇所を外す処理、組み立てを止める検査は漢字・算用数字だけ)
- 動画づくりの道具の改修メモ 2026-10-01(Gemini TTS の読み違い26行)
- Google Cloud「Chirp 3: HD voices」https://docs.cloud.google.com/text-to-speech/docs/chirp3-hd
- stable-ts(GitHub)https://github.com/jianfch/stable-ts
同じ Gemini TTS では、1日の回数の上限で止まった日もあります。
Gemini TTSが429エラーで止まった。1日100回の上限に、朝のテストも入っていた