AIエージェント研究室 / 事例とノウハウ / 07
CASE 07 / VOICE CLONE 2声の分身(発展型)の開発 ― 読み間違いを、2つのひらがな文で直す
選ぶ画面・評価アプリ・読み間違いの自動の点検・高速化(2026/10/22)
事例06 で、自分の声のナレーションができるようになりました。家族に聞かせたら「言われないと気付かないレベル」。ただ、職場から試しの文章を聞いてみると、いろいろな意味で、未完成な部分をたくさん感じました。
このページは、その続きです。選んでつなぐ仕組み、評価のしやすいアプリ、そして本来の目標だった読み間違いの点検を、1日で形にしていきました。
最後は、人の耳で選ぶ。
B案=クロコさんが、知識を総動員して作った正しいひらがな文。A案=できた音声から作ったひらがな文。B案を正しい側として、A案が B案になるまで、違う言葉だけを書き換えて作り直します。
- 仕組みにする:原稿を渡せば、まとまりごとに3通り作り、選んで、つないで、完成まで。
- 丁寧に評価する:まとまりごとに、〇△✖の評価と、読み間違いの印と、コメントを残したい。
- 読み間違いを、人が聞く前に直す:事例06 で決めた、いちばんの目標です。
| 作ったもの | できること | どこで |
|---|---|---|
| 選ぶ画面 | まとまりごとに A・B・C を聞いて「これにする」→「選んだ版でつなぐ」で完成を作り直す。3つともだめなら「もう3通り」 | 自宅の PC のブラウザ |
| 職場から聞き比べ | まとまりごとに A・B・C を「ピッ」の合図をはさんで続けた音声を作り、会話に上げる。「2はB」と答えるだけ | 職場・携帯から |
| 評価アプリ | まとまりごとに1ページ。原文・ひらがな文・A・B・C の欄に、〇△✖、言葉をクリックして正しい読み、コメント。最後に「〇の版でつなぐ」 | 自宅の PC のブラウザ |
| 読み間違いの点検 | A案と B案をひらがなで比べ、違う言葉だけを書き換えて作り直す。文字起こしは日本語向けの Whisper(kotoba-whisper)を Ubuntu に入れた(1本5秒) | クロコさんが回す |
| 順 | すること | 誰が |
|---|---|---|
| 1 | 私が原稿(漢字入り)を渡す | 私 |
| 2 | Ubuntu で、まとまりごとに3通りの音声を作る | クロコさん |
| 3 | B案:待っているあいだに、原稿を正しいひらがな文にする(知識を総動員。地名などは調べる) | クロコさん |
| 4 | A案:できた音声を文字起こしして、クロコさんが読んでひらがなにする | 道具+クロコさん |
| 5 | A案と B案を比べ、違う言葉に印を付ける | 道具 |
| 6 | 違う言葉だけ、1回目はひらがな、2回目はカタカナにして作り直す(3回まで) | クロコさん |
| 7 | 評価アプリで3通りを聞き比べ、最終案を決める | 私 |
| 8 | 最終案が決まってから、「表記・読み・渡し方」を読みの辞書に登録する | クロコさん |
作り直さない場合もあります。読みの正しい版が2つ以上あれば、作り直さずに聞き比べへ。書き換えるのは、2つ以上の版で間違えた言葉か、読みの難しい言葉だけです。1つの版だけの崩れは、作り直したときの揺らぎに任せます。外来語(カタカナの言葉)は書き換えません(事例06 で「チャレンジ」をひらがなにしたら、かえって崩れたため)。
読み間違えやすい言葉を混ぜて、クロコさんに試しの原稿を作ってもらいました。
こんにちは。今日は、栃木市の蔵の街をご案内します。巴波川の沿いには、黒漆喰の見世蔵が並び、舟の上から眺める景色は、一入の風情です。(ほか2つ:例幣使街道・行灯・黄昏/太平山・紅葉・時雨)
| 言葉 | 正しい読み(B案) | 1回目に聞き取られた言葉 |
|---|---|---|
| 巴波川 | うずまがわ | 遠波川・遠長川・頬内川(3通りとも違う) |
| 一入 | ひとしお | 一流(いちりゅう)が2つ |
| 太平山 | おおひらさん | テイザルが1つ |
| 紅葉 | こうよう | 小麦寺・小宮・後遺獣(3通りとも違う) |
| 例幣使街道 | れいへいしかいどう | 霊平市街道=字は違うが、音は正しい |
| 見世蔵 | みせぐら | 店蔵・見せ蔵=字は違うが、音は正しい |
ここで、2つのことが分かりました。
- 辞書の道具の読みは、当てにならない:機械で原稿をひらがなにすると、「太平山」を「たいへいやま」、「見世蔵」を「みせくら」と読んだ。だから B案は、クロコさんの知識で作る。
- 文字起こしは「字」で返ってくる:「霊平市街道」のように、音は正しいのに字が違う。機械で比べると「間違い」と判定してしまい、要らない書き換えが起きた(途中で止めた)。だから A案も、クロコさんが読んでひらがなにする。
2回目:まとまり2は「巴波川」「一入」を、まとまり4は「太平山」「紅葉」「時雨」を、ひらがなにして渡し、3通り作り直しました(まとまり1と3は、正しい版が2つ以上あったので、作り直していません)。
| 書き換えた言葉 | 2回目に聞き取られた言葉 |
|---|---|
| 巴波川 → うずまがわ | 渦間川(3通りとも、音は正しい) |
| 一入 → ひとしお | 人潮(3通りとも、音は正しい) |
| 太平山 → おおひらさん | 大平さん(3通りとも、音は正しい) |
| 紅葉 → こうよう | 紅葉(3通りとも) |
| ほかに崩れた所 | 1つの版だけ:「黒漆喰」が「国の」、「しぐれ」が「しぶれ」 |
2回目で、4つのまとまりとも、読みの正しい版が2つ以上そろいました。人の手を借りずに、ここまで来ました(作る・聞き取る・作り直すの機械の時間は、合わせて約10分)。あとは私が評価アプリで、自然に聞こえるものを選びます。
※ 「こんにちは」が文字起こしに出てこなかった所や、「紅葉」を こうよう と読んだかなど、字だけでは確かめきれない所は、評価アプリに「耳で確かめて」のメモを付けました。
同じ原稿を、2つの作り方で読ませました。どちらも私の声をもとに AI(Irodori-TTS)で作った音声で、この原稿を私が読んだことは一度もありません。
こんにちは。今日は、栃木市の蔵の街をご案内します。巴波川の沿いには、黒漆喰の見世蔵が並び、舟の上から眺める景色は、一入の風情です。
夕暮れになると、例幣使街道に行灯の灯りがともり、黄昏の町並みが、静かに浮かび上がります。
秋が深まると、太平山の紅葉が見頃を迎え、時雨の後の山肌は、ひときわ鮮やかに色づきます。
事例06 の作り方(読み間違いの点検なし)
まとまりごとに3通り作り、1つ目(A)をそのままつないだもの。
巴波川 → 「遠波川」、太平山の紅葉 → 「テイザルの後遺獣」と聞き取られた。「時雨の後の」の所で、言葉の繰り返しも。
事例07 の作り方(点検して直し、私が選んだもの)
間違えた言葉だけひらがなにして作り直し、評価アプリで私が選んだ最終案(1A・2C2・3A・4B2)。
うずまがわ・ひとしお・おおひらさん・こうようと、読みはすべて正しい。最後のまとまりは「最初の頃が速すぎる」ので △。
※ AI で作った音声です。音声には、目に見えない透かし(電子透かし)が入っています。事例06 のときのサンプル(別の原稿)は 事例06 で聞けます。
🗣 おまけ ― 同じ原稿を、語りかけの声で
ナレーション用ではなく、大切な人に話しかける調子の録音(事例06 の「語りかけの声も」)で、同じ原稿を読ませてみました。きっと変だろうと思っていたのですが……。
A、B、C どれも完成度が高いため、微妙な違いを感じ取るこちらが苦労しました。
選んだのは 1A・2C・3A・4C。そしてもう一つ、うれしいことがありました。読みの辞書に登録した3語(巴波川・一入・太平山)が、音声を作る前に自動でひらがなになり、1回目から正しく読めました。辞書が働いた最初の例です。
🎛 おまけ2 ― 少し低く、少し早口に(ちょっとした、いたずら)
少し遊んでみました。上の「おまけ」の語りかけの声を、少し低くして、少し早口にしてもらいました。声の高さと速さを別々に変えられる道具(ffmpeg の rubberband)を使っています。新しく入れたものはありません。
低さは3段階(半音2つ・4つ・6つ下げ)を聞き比べて、私らしさが残る「半音2つ下げ」に。速さは4段階(8・12・16・20%速く)から12%を選びました。声の高さは 157Hz → 140Hz、長さは 41.7秒 → 37.2秒です。
※ AI で作った音声を、さらに加工したものです。
家に帰ってから、評価アプリで4つのまとまりを聞き比べ、〇△✖とコメントを入れました。
| まとまり | 選んだ版 | 評価 | ほかの版へのコメント |
|---|---|---|---|
| 1 | A(1回目) | 〇 | ― |
| 2 | C2(書き換えた2回目) | 〇 | A2 は「そい」より「ぞい」がよい/B2 は変な雑音が大きく入る |
| 3 | A(1回目) | 〇 | B は最初のころに小さな雑音? |
| 4 | B2(書き換えた2回目) | △ | B2 は最初の頃が速すぎる/C2 は一部声の割れ? |
まず、読みはほとんど完全に合っていると思います。問題は、微妙なスピードの揺れ、微細な声のトーンの変化、気にならないと言えば気にならないですが、気にし始めるときになります(笑)
まずは、実用に使えるシステムの開発、ありがとうございました。大規模な学習なしで、ここまでできること自体、本来は驚くべきことだと思います。
最終案が決まったので、クロコさんが読みの辞書に登録しました。巴波川(うずまがわ)・一入(ひとしお)・太平山(おおひらさん)は「ひらがなで渡す」で確定。次からは、音声を作る前に当たるので、1回目から正しく読みます。紅葉は文脈で「もみじ」もあるので「試し」、見世蔵は声が漢字のままで正しく読めたので「そのまま」です。
読みが直せるようになったので、次は待ち時間です。4つのまとまりを3通りずつ作るのに、4分半ほどかかっていました。
| かかっていたこと | これまで | これから |
|---|---|---|
| モデル(約3GB)の読み込み | 毎回 | 1回の起動で1度だけ |
| 録音の下ごしらえ(約15秒) | 毎回 | 保存しておき、次からはそれを読む |
| モデルの置き場所の問い合わせ(ネット) | 毎回 | しない(もう手元にある) |
| 音を作る計算(長さ・音のもと・音に戻す・透かし) | 毎回 | 毎回(ここは変えない) |
これまでは、まとまりごとに道具を起動し直していたので、大きなモデルの読み込みと、私の録音の下ごしらえを、そのたびにやり直していました。これを、1回の起動でまとめて作る形に変えました。
速くする方法は、ほかにもありました(計算のまとめ方を変える・計算に使う数を増やす・透かしを外す)。でも、どれも音が少し変わるおそれがあるので、やめました。透かしは、AI で作った音声だと分かる印なので、外しません。
同じ原稿(このページの「蔵の街」)を、ナレーションの声で、4まとまり×3通り
1つのまとまりは、約68秒 → 40〜47秒。残りの40秒ほどは、音を作る計算そのものの時間です。
音は1バイトも変わっていません。同じ文・同じ出だし(seed)で、これまでのやり方と新しいやり方の両方で作り、できたファイルを比べました。中身は完全に同じでした。
試しの途中で、前からあった不具合も1つ見つかりました。作り直すとき、読みの辞書で「ひらがなで渡す」と決めた「一入」が、漢字に戻っていました。これも直しました。
🔎 別の監査役が、3回チェック
作ったクロコさんとは別の、監査役のクロコさんが、コードを読んで確かめました(読むだけで、書き換えはしない役目です)。3回とも「合格」。そのたびに「直したほうがよい」所が挙がり、すべて直しました。
- 途中で PC が止まっても、できた分の記録が残るように
- 1つ失敗しても、できた分は仕上げて使えるように
- 透かしのモデルが読めないときは、透かしの無い音を作らずに止まるように
- 作る作業が2つ重なったら、順番待ちにする(メモリが足りなくならないように)
できたあと、事例07 の原稿で、ナレーションの声を3通りずつ作り直して聞いてみました。
今、聞いてみましたが、問題ないように思います。高速化、ありがとうございました。
- ✅ 10/22(木):選ぶ画面・職場からの聞き比べ・評価アプリ・読み間違いの点検(A案と B案)
- ✅ 10/22(木)夜:評価アプリで「蔵の街」を評価 → 最終案 → 読みの辞書に登録(5語)
- ✅ 10/22(木)夕:監査のクロコさんに、コードの正確さとプロジェクト全体の効率を見てもらった。「流れの設計は筋が通っている」。すぐ直すべき7件(長い原稿で後ろが抜ける・失敗の見逃し・途中で止めたときの記録の食い違いなど)を直した
- ✅ 10/22(木)夜:生成を速くした(約3割短く。音は同じ)。監査のクロコさんが3回確かめて、3回とも合格
- 余裕があれば:A案を「差のある所だけ」に
※ 続きは、進んだらこのページに書き足します。