こんにちは!
KDDIアイレットの取り組みとして6月22日〜7月3日の期間で開催中の「Google Cloud Next '26 / Google I/O やってみた系ブログリレー」、本日は10日目の投稿です。
今回は「Gemini 3.1 Flash TTS」を対象に、実際に検証してみた様子をお届けします!
前回の記事はこちらです。
はじめに
皆さんは 「この先生きのこるには」 というフレーズをご存知でしょうか。
「この先、生きのこるには」という意味で書かれた文ですが、「この先生、きのこるには」と読めてしまい、シュールな光景が頭に浮かんでしまう——
ネット上で古くから親しまれている名文(迷文)です。
このフレーズが示すように、日本語は文字を見ただけでは読みが一意に決まりません。
市場 は「いちば」か「しじょう」か、辛い は「からい」か「つらい」か。
どちらが正しいかは、区切りや前後の文脈を理解しなければ判断できません。
Gemini 3.1 Flash TTS は、Google が提供する 音声生成(Text-to-Speech)モデルです。複数のプリセット音声や多言語に対応しています。
前モデルから音声品質が全体的に向上しているため、読み上げ精度の向上にも期待できます。
果たして「この先生きのこるには」を正しく読めるのか、実際に音声を生成して検証していきます。
本記事で扱う gemini-3.1-flash-tts-preview は preview 版 のモデルです。
今後のアップデートで読みの精度や挙動が変わる可能性があります。
検証の方針
本題のフレーズで世代間の差を確認します。
gemini-3.1-flash-tts-previewとgemini-2.5-flash-tts の2モデルに「この先生きのこるには」を送信し、生成された音声を聞き比べます。
| 項目 | 内容 |
|---|---|
| 言語コード | ja-JP |
| 出力 | MP3(22050 Hz) |
| 声 | Achernar(Female) |
検証結果:「この先生きのこるには」
| モデル | 「この先」 | 「生きのこるには」 |
|---|---|---|
| Gemini 2.5 Flash TTS | このせん | せいきのこるには |
| Gemini 3.1 Flash TTS | このさき | いきのこるには |
Gemini 2.5 Flash TTS は見事に「この先生(せんせい)/きのこるには」と読んでしまい、まさに伝説どおりの誤読を再現してくれました。
一方、Gemini 3.1 Flash TTS は「このさき/いきのこるには」と正しく読み上げることに成功。
文脈から「先」「生」の区切りと読みを正しく推定できており、確かに性能が向上していることが分かります。
せっかくなので、Gemini 3.1 Flash TTS にさまざまな難読漢字や専門用語を投げ、その実力を見極める追加検証を行いました。
各テストの評価基準は以下のとおりです。
- 期待される読み:日本語話者として自然な読み
- 実際の読み:生成音声を聞いて書き起こす
-
判定:
○(正しい) /△(不自然だが許容) /×(誤読)
カテゴリ1:同形異音語
同じ表記でも文脈で読みが変わるカテゴリです。
| テスト文 | 期待される読み | 実際の読み | 判定 |
|---|---|---|---|
| この激辛カレーは想像以上に辛いし、残すと叱られるのが辛い。 | 激辛=げきから/辛い=からい→つらい | 激辛=げきから/辛い=からい→つらい | ○ |
| 昼間は人気の絶景スポットだが、夜は人気がなくて少し怖い。 | にんき → ひとけ | にんき → ひとけ | ○ |
| 向こうに立っているあの方が、こちらの方をじっと見ている。 | かた → ほう | かた → ほう | ○ |
| 朝は近所の市場で野菜を買い、午後は株式市場の値動きを追った。 | いちば → しじょう | いちば → しじょう | ○ |
| 生物の授業で習ったとおり、この生物は常温だとすぐ傷む。 | せいぶつ → なまもの | せいぶつ → せいぶつ | △ |
| 四月一日は、朝から一日中ずっと雨が降っていた。 | ついたち → いちにち | ついたち → いちにち | ○ |
| 全社で説明会を行ったあと、私たちは近くの店へ飲みに行った。 | おこなった → いった | おこなった → いった | ○ |
| 彼は世辞が上手だが、交渉では一枚上手の相手に押し切られた。 | じょうず → うわて | じょうず → うわて | ○ |
| 鹿の角が描かれた看板を目印に、次の角を左へ曲がった。 | つの → かど | つの → かど | ○ |
| これは大事な契約書なので、紛失して大事にならないよう注意してください。 | だいじ → おおごと | だいじ → だいじ | △ |
| 会議の最中に、お茶請けの最中をうっかり食べてしまった。 | さいちゅう → もなか | さいちゅう → もなか | ○ |
| 金が足りず、もらった金メダルを質に入れようかと本気で悩んだ。 | かね → きん | かね → きん | ○ |
| サイン用の色紙に、子どもが折り紙の色紙を貼って飾った。 | しきし → いろがみ | しきし → しきし | × |
| 大人気ない大人が、大人気のラーメン店で順番を抜かした。 | おとなげ/おとな/だいにんき | だいにんき/おとな/だいにんき | × |
| 橋の下で川下を眺めながら、いつか彼の下で働きたいと話した。 | した/しも/もと | した/しも/した | △ |
所感
多くのケースで正しく読み分けられており、「市場」「人気」「最中」「上手」のような典型的な二択は安定して文脈判定できていました。「この先生きのこるには」が成功したのも納得の精度です。
一方で、同じ語が一文中に複数回登場し、それぞれ別の読みを要求するケースは苦手でした。
「大人気ない/大人気の」のように直前の文脈が拮抗していると、片方の読みに引きずられて両方を同じ読みにしてしまう傾向が見られます。
とはいえ、全体としては実用に十分耐える水準だと感じました。
カテゴリ2:難読地名・人名
文脈だけでは推測しきれない、知識依存度の高いカテゴリです。
| テスト文 | 期待される読み | 実際の読み | 判定 |
|---|---|---|---|
| 大阪の放出に住んでいる。 | はなてん | ほうしゅつ | × |
| 山口県の特牛駅を訪れた。 | こっとい | とくぎゅう | × |
| 広島の廿日市に行く。 | はつかいち | はつかいち | ○ |
| 大阪の十三で乗り換える。 | じゅうそう | じゅうさん | × |
| 御徒町で買い物をした。 | おかちまち | おかちまち | ○ |
| 小鳥遊さんが担当です。 | たかなし | ことなよ | × |
| 月見里さんに連絡する。 | やまなし | つきみと | × |
| 四月一日さんは新人だ。 | わたぬき | しがつついたち | × |
所感
このカテゴリは苦戦し、8問中6問が誤読という結果になりました。
「放出(はなてん)」「特牛(こっとい)」「十三(じゅうそう)」といった超難読地名は、いずれも漢字の音訓どおりの「ほうしゅつ」「とくぎゅう」「じゅうさん」と素直に読まれてしまいます。
一方で「廿日市(はつかいち)」「御徒町(おかちまち)」のような有名どころの難読地名は正答しており、学習データに十分に登場する固有名詞であれば対応できることが分かります。
地名・人名は文脈推論ではなく知識の有無がポイントで、ここは TTS の弱点と言えそうです。
カテゴリ3:誤読しやすい漢字
業務などで遭遇しやすい、専門用語・硬い語彙を中心に集めました。
| テスト文 | 期待される読み | 実際の読み | 判定 |
|---|---|---|---|
| この処理は冪等性を持つ。 | べきとうせい | べきとうせい | ○ |
| アクセス集中でネットワークが輻輳している。 | ふくそう | ふくそう | ○ |
| 彼は他人事だと思っている。 | ひとごと | たにんごと | △ |
| この新しいシステムは汎用性が高い。 | はんよう | はんよう | ○ |
| 申請書に世帯主との続柄を記入する。 | つづきがら | つづがら | △ |
| 強豪校を相手に延長戦の末に一点差で惜敗した。 | せきはい | せきはい | ○ |
所感
「冪等性(べきとうせい)」「輻輳(ふくそう)」といったエンジニアが遭遇しやすい用語を正確に読むことができました。
誤読というほどではないものの、「他人事」は本来の慣用読み「ひとごと」ではなく「たにんごと」に、「続柄」は正式な「つづきがら」が「つづがら」に略されており、どちらも △ 判定としました。
カテゴリ4:コード・記号の読み上げ
| テスト文 | 観点 | 実際の読み |
|---|---|---|
user_id = get_user_id() |
スネークケース・記号 | ユーザー・アイディー・イコールズ・ゲット・ユーザー・アイディー |
if x != 0: |
比較演算子の読み | イフ・エックス・イズ・ノット・イコール・トゥ・ゼロ |
パスは /usr/local/bin です。 |
スラッシュ・英単語 | スラッシュユーザー・スラッシュローカル・スラッシュビン |
Markdown の # 見出し を書く。 |
記号 vs 見出し | シャープみだし |
所感
user_id をアンダースコアを無音化して「ユーザー・アイディー」と読み、!= を「イズ・ノット・イコール・トゥ」と英語的に読み上げるあたりは、自然で好印象です。
また、記号と日本語が混在しても破綻しないことが確認できました。
誤読を防ぐためのテクニック
実用上は誤読をどこまでリカバリできるかが重要です。
以下の3つの手段を試して、生成結果を確認します。
-
本文への仮名添え:
相殺(そうさい)のように括弧で読みを添える - プロンプトでの読み指定:スタイル指示のプロンプトに「『市場』は『しじょう』と読む」と明示
- カタカナ化:漢字をカタカナに変える
| 誤読した語 | 試した矯正 | 直ったか |
|---|---|---|
| サイン用の色紙に、子どもが折り紙の色紙を貼って飾った。 | サイン用の色紙(しきし)に、子どもが折り紙の色紙(いろがみ)を貼って飾った。 | × |
| 折り紙の「色紙」は「いろがみ」と読んでください | × | |
| サイン用のシキシに、子どもが折り紙のイロガミを貼って飾った。 | ○ | |
| 大人気ない大人が、大人気のラーメン店で順番を抜かした。 | 大人気(おとなげ)ない大人(おとな)が、大人気(だいにんき)のラーメン店で順番を抜かした。 | × |
| 「大人気ない大人が、大人気のラーメン店で順番を抜かした。」は、「おとなげないおとなが、だいにんきのラーメン店で順番を抜かした」と読んでください。 | ○ | |
| オトナゲないオトナが、ダイニンキのラーメン店で順番を抜かした。 | ○ | |
| 小鳥遊さんが担当です。 | 小鳥遊(たかなし)さんが担当です。 | ○ |
| 「小鳥遊」は「たかなし」と読んでください | ○ | |
| タカナシさんが担当です。 | ○ |
所感
誤読を防ぐためのテクニックには、はっきりとした 効果の序列 が見られました。
-
カタカナ化
今回試したすべてのケースで ○ 。
表記から漢字を消してしまえば誤読の余地がなくなるため、確実性は圧倒的です。 -
プロンプトでの読み指定
人名・地名のように「語に対して読みが一意」のケース(小鳥遊→たかなし)では効果てきめんでした。
一方で「同形異音語が一文に複数回出る」ケースは、語ごとの指定(「色紙はいろがみ」)では効き目が薄い印象です。
また、スタイルプロンプトで指示する方式のため、運用面に課題がありそうです。 -
本文への仮名添え
色紙(しきし) のように括弧で読みを書いても直らないことが多い印象でした。
視覚的には親切なのですが、音声生成のヒントとしてはあまり当てにできません。
まとめると、確実性では カタカナ化 > プロンプトでの読み指定 > 本文への仮名添え という順序です。
本文の見た目を崩したくない場合はプロンプト指定を、見た目を気にしないならカタカナ化を選ぶのが良さそうです。
まとめ
「この先生きのこるには」を、Gemini 3.1 Flash TTS は見事に正しく読み上げました。
Gemini 2.5 Flash TTS が誤読していたのとは対照的で、日本語の読み上げ精度が着実に向上していることを実感できました。
実用面での収穫は、誤読は矯正できるという点です。
とくに固有名詞は カタカナ化 すればほぼ確実に意図どおり読んでくれるため、非常に有効な手段だと言えそうです。
今回の検証を通して、難読語が混ざる文章でも、工夫次第で日本語の読み上げ品質を安定させられると感じました。
