TTS(Text to Speech)とは、文章を入力すると自然な音声に変換して読み上げてくれるAIのことです。スマートフォンの読み上げ機能や、動画ナレーションの自動生成などで使われています。文章を渡せば自然な音声が返ってくる——そう期待して導入を始めたものの、実際には数字の読み間違い、名前の抑揚(イントネーション)の崩れ、音声の不自然な途切れが続出する——。
私たちはあるサービスの音声読み上げ機能を開発する中で、まさにこの壁にぶつかりました。そして3つの段階に分けた20回超のテスト・100回超の変換検証を経て、ひとつの結論にたどり着きます。AI音声の品質を最も左右するのは、どの読み上げサービスを選ぶかではなく「文章の渡し方」でした。
本記事では、この検証の過程と得られた知見を共有します。開発の専門知識がなくても読み通せるよう、専門用語はその都度、日常の言葉に言い換えながら進めます。何を整えてから渡すのか、どのAIに任せるのか、どこから手をつけるべきか。順を追って解説します。
AI音声に「そのまま」文章を渡してはいけない理由
読み上げAIに文章をそのまま渡すと、商品として通用する品質の音声にはなりません。数字や名前の読み間違い、不自然な抑揚、音声の途切れが高い頻度で発生します。
最初のテストで確認されたのは、こうした問題の多さでした。英語のサービス名が意図しないカタカナで読み上げられる。「1/3」が「3分の1」ではなく日付として解釈される。句読点の扱いが不安定で、文の途中に長い沈黙が入る。
これらは特定の読み上げサービスに限った話ではありません。音声を作り出すAIサービスの本体を、ここから先は「エンジン」と呼びますが、複数の大手エンジンで同様の傾向が確認されました。エンジンは渡された文章を忠実に音声化しようとしますが、文章の「意味」を人間と同じように理解しているわけではないのです。品質問題の多くは「エンジンが悪い」のではなく、エンジンが解釈しやすい形で文章を渡していないことに起因しています。
読み上げる前に、文章を「整えて」渡すという発想
AI音声の品質を決める最大の要因は、エンジン選びではありません。エンジンに渡す前に文章を整えておく「下ごしらえ」——専門用語で「前処理」と呼ばれる工程——の設計品質が、最終的な音声品質を左右します。
料理の仕上がりが下ごしらえで決まるのと同じ構図です。原文をエンジンに直接渡すのではなく、間に ChatGPT のような文章を扱うAI(LLM=大規模言語モデルと呼ばれます)を挟んで、文章を読み上げ用に整えます。文章中の数字を読み上げ用の表現に直し、固有名詞に読みを付け、句読点を「ここでひと呼吸置く」という指示の印に置き換える。この下ごしらえを経ることで、エンジンが迷わず音声化できる文章になります。原文から音声までの一連の流れ作業を、工場の製造ラインになぞらえて「パイプライン」と呼びます。全体像は次のとおりです。
なぜ ChatGPT のようなAIに文章を整えさせるのか
「この文字列が来たらこう置き換える」という機械的な置換ルール(プログラムによる一括変換)でも、ある程度の変換は可能です。しかし自然な文章には揺らぎがあります。同じ漢字でも文脈によって読みが変わる。英語略語の読み方が確立されていない。文の切れ目の判断が一意に定まらない。こうしたケースを機械的なルールだけで網羅するには限界があります。
文章を扱うAIであれば「弾き出す→はじきだす」「重複→ちょうふく」のような文脈に応じた読み分けを、AIへの指示文(プロンプトと呼ばれます)ひとつで処理できます。変換ルールの追加・変更にプログラムの修正が不要で、指示文の編集だけで対応できる点も大きい。「試して直す」の繰り返しを高速に回せる柔軟性が、品質を短期間で引き上げる原動力になりました。
下ごしらえの結果には、読み下した文章に加えて、音声の間や強調を指定する印(SSMLと呼ばれる、音声用の指示書き)を織り込みます。文の切れ目に「ひと呼吸置く」印を入れて不自然な沈黙を防ぎ、強調したい語や間の長さを制御する。ここでも「入れすぎない」ことが肝心で、印を盛りすぎるとかえって読み上げがぎこちなくなります。どの印が効き、どの印が副作用を生むかはエンジンによって異なるため、後述するように下ごしらえはエンジンごとに調整が必要になります。
どこを整えるか ― 読み間違いが起きやすい5つの箇所
下ごしらえで整えるのは文章全体ではなく、「読み間違いが集中する特定の箇所」です。テストを通じて、問題が起きやすい箇所は次の5つに整理できました。
- 数値・分数:「1/3」が日付に解釈される、桁を読み違える。「さんぶんのいち」のような読み下した表現に変換する。
- 通貨・単位:金額や単位の語順が崩れる。読み上げる順序どおりの表現にする。
- 英字略語・サービス名:意図しないカタカナ読みになる。読み方を明示的に付ける。
- 固有名詞:アクセントが崩れる。読みとアクセントの手がかりを与える。
- 句読点・間:文の途中に不自然な沈黙が入る。「ひと呼吸置く」印に置き換えて間を制御する。
ここで重要なのが、すべてを変換しようとしないことです。読み間違いを根絶しようと全文をひらがなに変換すると、かえって品質が落ちます(後の節で詳しく述べます)。漢字は単語の区切りとアクセントの手がかりとして機能するため残し、読み間違いが確認された箇所だけを個別に変換する。この「いいとこ取り」の方式が、正確さと自然さの両立点でした。
たとえば「第4四半期の売上は前年比120%」という一文でも、放置すれば「だいよんしはんき」の読みが崩れたり、「120%」が平坦な調子で読まれたりします。ここで数字と単位だけを読み下した表現に整え、漢字はそのまま残す。こうした「どこを触り、どこを触らないか」の線引きこそが、下ごしらえの設計の中身です。整える箇所を増やすほど対応は手厚くなりますが、同時に副作用(直しすぎによる別の不自然さ)も増えるため、実際に読み間違いが観測されたものから優先的に手を入れていきます。
良し悪しを「数字」で測る物差しを先に作る
下ごしらえの良し悪しを感覚で判断していては、改善は前に進みません。私たちは「何をもって良いとするか」の物差しを先に決め、品質を数字で測りながら改善を回しました。
軸にしたのは3つの指標です。ひとつは種類別の変換正否。数字・分数・金額・英字略語・固有名詞・句読点といった種類ごとに、狙いどおり変換できたかを一つずつ確認します。ふたつめが全項目OK率——複数の文章サンプルを複数回変換し、すべてのチェック項目を同時に満たせた実行の割合です。ひとつでも崩れれば不合格とすることで、「だいたい合っている」を排除します。みっつめが再現性。同じ文章を繰り返し変換し、毎回まったく同じ結果になるかを見ます。商品に組み込む以上、実行のたびに結果が揺れるのは許容できません。
進め方は3つの段階に分けました。第1段階でエンジンを評価しながら指示文を最適化し、第2段階で変換を任せるAIを比較、第3段階で最終候補を検証する、という流れです。全体で20回を超えるテストと100回超の変換を行い、そのすべてを同じ物差しで記録しました。
この「物差しを先に固定して回す」やり方そのものが、改善の土台でした。数字で比べられるからこそ、「どの指示文が良いか」「このAIは採用できるか」を主観抜きで判断できる。指示どおりの形式で出力される割合を60%から100%へ引き上げられたのも、感覚ではなく数字で一歩ずつ詰めた結果です。逆に言えば、物差しがあいまいなまま手を入れると、良くなったのか悪くなったのかが分からず、改善は空回りします。
先に物差しを決める。 「何をもって良いとするか」を数字で固定してから改善に入る——AI音声に限らず、AIを業務に導入するあらゆる場面に当てはまる、遠回りに見えて最短の手順です。
AIへの「指示の書き方」で、結果は6割から10割に変わる
指示文の改善によって、指示どおりの形式で出力される割合は初版の60%から最終版で100%に到達しました。ただし、そこに至るまでには想定外の発見と方針転換がありました。
「お手本」を1つ添えるだけで安定性が跳ね上がる
指示文の初期バージョンでは「句読点を削除して、ひと呼吸置く印に置き換えてください」のような抽象的な指示を出していました。AIはルールを理解してはいるものの、出力の一貫性が低い。5回実行すると3回しかルール通りにならないという状態です。
転機になったのは、すべてのルールに「変換前→変換後」のお手本を追加したことでした。「この文章が入力されたら、この形で出力する」という実例を1つ加えるだけで、安定性は5回中3回から5回中5回に跳ね上がります。
AIは抽象的なルール文より、具体的なお手本から意図を汲み取る傾向があります。これは私たちの現場に限った話ではなく、作業手順をAIに渡すときは「やること/やってはいけないこと」を具体例とともに示すと守られやすくなる、という知見が広く共有されています。人に仕事を頼むときも、「丁寧に書いて」と言葉で伝えるより見本を1枚見せるほうが早いのと同じです。読み上げに限らず、AIに作業を任せるあらゆる場面で応用が効く原則です。
エンジンごとに最適な整え方は異なる
当初は1つの指示文を複数のエンジンで使い回す想定でした。テストを重ねるうちに、この前提が崩れます。
あるエンジンでは、音声用の印を簡素にして語の区切りを明示するのが効果的でした。別のエンジンでは、漢字を残しつつ問題のある箇所のみを変換する方式が最適解に。対応している印の種類、内蔵している読み方の辞書、抑揚の推定方法——エンジンごとに特性が異なるため、共通の指示文では最高の品質に到達できません。
エンジンの数だけ、専用の整え方が必要になる。手間は増えますが、品質を追求するなら避けられないステップです。
「全部ひらがなにする」は逆効果だった――漢字は読み上げAIの味方
読み間違いを防ぐために、全文をひらがなに変換してから渡すアプローチも試しました。読みを完全に指定すれば、読み間違いは起きないはずです。論理的には正しそうに見えました。
結果は逆でした。すべてひらがなにすると抑揚が著しく悪化し、平坦で不自然な読み上げになったのです。漢字はエンジンにとって、単語の区切りとアクセントの手がかりとして機能しています。「弾き出す」を「はじきだす」にすると、エンジンは「はじ・きだす」なのか「はじき・だす」なのか判断できなくなる。漢字であれば「弾き出す」という塊を正しく認識できます。
最終的に採用したのは、漢字を基本的に残しつつ、読み間違いが確認された箇所のみを個別に変換するやり方でした。「正しそうな」アプローチが裏目に出た経験は、私たちにとって大きな学びになっています。
どのAIに整えさせるか ― 安さで選ぶと失敗する
同じ指示文でも、変換を任せるAIによって精度は大きく異なります。ルールが守られる割合が0%から100%まで開くこともあり、料金の安さだけでAIを選ぶのは危険です。
安いAIの落とし穴――ルールが守られたのは1割以下
コスト削減を目的に、料金の安い軽量なAIへの切り替えを検証したところ、想定以上に厳しい結果が出ました。
指示文に明示的なお手本がある項目は処理できる。しかし「すべての英字略語を変換する」のような包括的なルールの適用、句読点を削除する操作、文脈を読んだ数字表現の変換——これらが軒並み不安定でした。全チェック項目を同時に満たせた割合は、12回のテストで0%。別の文章パターンでも9%にとどまります。
さらに深刻だったのは、同じ文章を渡しても毎回違う結果が返ってくることです。出力のパターンが定まらず、品質の予測ができない。商品に組み込む以上、結果が毎回変わる出力は致命的です。
AIの「弱点の種類」を見極める
性能の異なる3種類のAIを比較して見えてきたのは、弱点には2種類あるという事実でした。
ひとつは「指示文に明確なルールが書いてあるのに守れない」ケース。これはAI側の能力の限界であり、指示文をいくら改善しても解消しません。もうひとつは「指示文にルールが書かれていないために失敗する」ケース。こちらは指示文の追加・修正で対処できます。
最終的に採用したAIは後者のタイプでした。テストで見つかった課題がすべて指示文側の改善で対処可能であり、指示への忠実さが極めて高い。全12回の実行で、1文字の違いもなく同一の出力が得られたことが、採用の決め手になっています。
この見極めが重要なのは、AI選定の判断軸が「賢さ」や「価格」だけではないからです。決まった変換を確実に繰り返す用途では、指示にどれだけ忠実か、そして結果がどれだけブレないかが、価格や総合的な賢さより効いてきます。逆に、要約やアイデア出しのように多少の揺らぎが許される用途なら、軽く安いAIで十分なことも多い。仕事の性質に応じてAIを使い分ける——軽い処理は軽いAIに、毎回同じ結果が必要な変換は忠実さの高いAIに——という考え方は、AI活用全般で費用対効果を左右する勘所です。私たちも、判定や整形のような軽い処理と、深い解釈が要る処理とで、あてるAIを分けるのを基本にしています。
検証から導いた、AI音声改善の優先順位
20回超のテストを通じて得られた最大の結論は、AI音声の品質に影響を与える要因の優先順位です。
| 優先度 | 要因 | 影響度 | 根拠 |
|---|---|---|---|
| 1位 | 文章の整え方(指示文の設計) | 最大 | 同じエンジン・同じAIでも、指示文の改善だけで安定性が60%→100%に変化 |
| 2位 | 変換を任せるAIの選定 | 大 | 同じ指示文でも、AIによってルールが守られる割合が0%〜100%に分散 |
| 3位 | 読み上げエンジンの選定 | 中 | エンジン間の差は適切な下ごしらえで吸収可能。下ごしらえなしでは差が拡大 |
エンジンの比較に時間をかけるよりも、文章の整え方の質を高めるほうが費用対効果は高い。これが一連の検証を通じた私たちの実感です。実際、導入検討の初期は「どのエンジンが一番きれいに読むか」に関心が集まりがちですが、下ごしらえを整えるとエンジン間の差はかなりの部分まで吸収できます。逆に、下ごしらえをおろそかにしたままエンジンだけを乗り換えても、根本的な読み間違いは残り続けます。
順番は「整え方 → AI選び → エンジン選び」。 限られた工数をどこに投じるかという観点でも、道具の比較から入らず、渡す文章の設計から手をつけるのが合理的です。
もうひとつ強調しておきたいのは、AI音声の改善は「一度設定して終わり」ではないということです。入力する文章のパターンが変わるたびに、想定していなかった例外的な文章(めったに現れないのに読み間違いを起こすパターン)が出てきます。テスト→問題の発見→指示文の修正→再テストのサイクルを短く回し続けること。この地道な繰り返しが、実用水準の品質を維持する鍵でした。
まとめ ― AI音声の品質は「文章の渡し方」で決まる
読み上げAIに文章をそのまま渡して品質を期待するのは、翻訳サービスに推敲前の文章を渡すようなものです。入力の質が出力の質を決めます。
本記事の知見を集約すると、次の3点になります。
- AI音声の品質問題の多くはエンジン側ではなく、渡す前の文章の整え方(前処理)で解決できる
- 整え方の指示文はエンジンごとに最適化が必要で、「変換前→変換後」のお手本の提示が安定性を大きく左右する
- 変換を任せるAIの選定では料金だけでなく、ルールを守る安定性と結果のブレなさを重視すべきである
AI音声を商品やサービスに組み込む際、「どのエンジンにするか」だけでなく「エンジンにどう文章を渡すか」まで設計することで、品質は大きく変わります。そしてこの考え方は、音声に限りません。AIに何かを任せるとき、道具を選ぶ前に「入力をどう整えて渡すか」を設計する——この視点を持てるかどうかが、実用に耐える品質と、そうでない品質を分けます。下ごしらえという地味な工程こそ、成果を左右する主戦場でした。
私たちはこうしたAI機能の技術的なチューニングや導入支援を日々行っています。AI音声の品質改善やAI機能の実装に本気で取り組む方は、お問い合わせページよりご相談ください。
参考・引用元
- yamada-ai-dev「Claude Codeで複数モデルを使い分ける──Bloom分類によるモデルルーティング設計」(Zenn) https://zenn.dev/yamada_ai_dev/articles/claude-code-bloom-model-routing
- 「LLMベンチマーク15種の解説ガイド」(Zenn) https://zenn.dev/0h_n0/articles/327a9ebfe6eae6
- Daichi Ito「Claudeと対話しながらIT作業手順書プロンプトの標準フォーマットを設計した話」(Before/After・must/must_not の効果/Zenn) https://zenn.dev/itsdaichi/articles/f2afb9878e04e5
※本文は上記の公開情報および当社の実装知見をもとに再構成したものです。事例は特定の製品・エンジンを指すものではありません。