Skip to main content
テキスト正規化は、書き言葉の表記を話し言葉の形式に変換します。たとえば 7:00 PM は「seven PM」と読まれ、(415) 555-1212 は 12 桁の数字列ではなく電話番号として読まれます。デフォルトでは、モデルが発話する前にすべての TTS リクエストで実行されます。 正規化は normalization フィールドで制御します:
  • auto(デフォルト):リクエストの language または locale の読み上げ規則を使用します
  • off:ノーマライザーをスキップします
  • en や en-IN などの言語コードまたはロケールコード:その言語または地域の読み上げ規則を使用します。サポートされているロケールを参照してください。
ほとんどのトランスクリプトは事前の準備を必要としません。このページでは、ノーマライザーが処理する内容、現在の制限事項とその回避策、および正規化をオフにする方法について説明します。

正規化される内容

正規化されるカテゴリでは、リクエストの language または locale の慣習が使われます。一般的な表記は、プロンプトのヒントに示されている形式であれば正しく読まれます。一般的でない表記の場合は、フォールバックとして事前正規化してください。

既知の制限事項

日付や年の範囲が正しく読まれない

1999-2000 や Dec 5-Dec 12 のようなハイフンでつないだ範囲は、どの言語でも自動的には正規化されません。代わりに「to」を使って範囲を書いてください:

業界固有の用語

業界によっては、その業界内では通じる一般的な略語があります(航空業界での PAX = 乗客など)。こうした略語は一般には使われないため、想定どおりに読まれるよう、これらの用語は事前正規化することをおすすめします。

略語

一般的なパターン(Dr. Smith、123 Main St)は通常正しく読まれます。あまり一般的でない敬称、略語、住所の形式(例:STE)は正しく読まれない場合があります。その場合は、読み上げてほしい形に書き下すか、繰り返し出てくる用語には発音辞書を使用してください。

正規化をオフにする

高度な機能の正規化をオフにするを参照してください。

読み上げの問題のトラブルシューティング

  1. 単語は正しいのに発音が違う場合:発音辞書を使用してください。
  2. 表記が誤った単語に展開される場合:ノーマライザーが処理できる形式で入力を書き直すか、トランスクリプトを事前正規化してください。
  3. それでも正しくない場合:トランスクリプトを事前正規化し、正規化をオフにしてください。これにより、読み上げる形を完全に制御できます。
トランスクリプトの書き方については、プロンプトのヒントを参照してください。

ノーマライザーの実例

事前正規化したテキストとノーマライザーのオフ

読み上げる形にすでに書き下した「テレプロンプター」用のトランスクリプト、記号の独自の読み上げ、単語として読ませたいすべて大文字の単語などに使います:
スキップされるのは自動ノーマライザーだけです。引き続き適用される内容については、正規化をオフにするを参照してください。

英国アクセントと米国の読み上げ規則

この例では、英国アクセントの音声 Gemma を使い、normalization で読み上げ規則を変更します。
英国アクセントと米国の規則で読まれます(03/04/2026 は March fourth と読まれます)。

1 つのトランスクリプト内で異なる読み上げ規則を使う

ある節はヒンディー語の読み上げ、別の節は英語の読み上げが必要な場合は、トランスクリプトを分割し、異なる normalization 値と同じ音声で 2 つのリクエストを送信します。こうすることでアクセントが一貫します。その後、クライアント側で音声を連結します:
Request 1
Request 2
WebSocket API では、連続する生成の raw PCM チャンクをそのまま連結できます。