Kristopher Baker iOSを土台に · プロダクトシステム · AI支援ワークフロー
← Aoede

note · 2026.06.13 · 約1分

「16%」が「sixteen」になっていた

Aoedeのローカル音声は、「16%」を「sixteen」と読んでいました。パーセント記号がまるごと消えていたのです。原因は、二つのインポート経路の境界にありました。プレーンテキストの本は記号を読み下すTTSのノーマライザを通るのですが、EPUBとPDFは、ハイライトのオフセットを整形済みテキストと合わせ続けるために、あえてそれをスキップする別のビルドを使っています。なので、実際のたいていの本では、素の「%」がそのまま音声エンジンに届いて、G2Pがそれを黙って落としていました。

修正では、ごく一部の記号(& % + = #)を、合成に渡すテキストの中だけ、しかも英語に限って展開します(日本語の記号は事情が違うので)。ハイライトのタイムラインは元の手つかずの文から作られたままなので、音声のために差し込んだ単語は画面上のどれとも対応せず、ただスキップされます。耳には「sixteen percent」と聞こえて、ハイライトはどれも正しい単語に乗ったままです。