推奨事項
-
自然で句読点が正しく付いたテキストを渡してください。 通常の大文字小文字と句読点を使った完全な文が、最良のペースとイントネーションを生み出します。各原稿は終止符 (
.、?、!) で終えてください。 -
数値、日付、時刻、一般的な略語は、特別な理由がない限り従来の書き言葉の形で渡してください。 以下のリストは、原稿に入れる例 (または LLM に出力させる例) であり、「フォーマットを無視する」ことを示すものではありません。通常のテキスト正規化が有効になっている場合、Sonic はほとんどの入力でこれらのパターンを自然な音声にマッピングします。
1,234,567のような大きな数値- 米国の電話番号:
(415) 555-1212 - メールアドレス:
user@example.com MM/DD/YYYY(ロケールに応じてDD/MM/YYYY) 形式の日付:04/20/2025- AM/PM の前にスペースを入れた時刻:
7:00 PM、7 PM、7:00 P.M. - 一般的な略語 (
NASA) や頭字語 (USA)
@はatと読まれ (メールアドレス)、()は読み上げられません (電話番号)。 LLM がこのテキストを生成する場合は、以下の ボイスエージェント (LLM 生成テキスト) を参照して、正規化、任意のバイパス設定、システムプロンプトがどう連携するかを確認してください。 - ボイスを言語に合わせてください。 各ボイスには最適な主要言語があります。特定の言語のボイスを試すには プレイグラウンド を使用してください。
- プロンプトは自然な書き言葉の形のまま維持してください。 強力な前処理 (句読点の除去、すべて大文字化など) は一般的に出力品質を下げます。
ペースとスペリングの制御
確認コード、注文 ID、シリアル番号、スペルアウトされた名前など、1 文字ずつ読み上げる必要があるときや、細かいペース制御が必要なときは、次のいずれかを使用してください。- Spell タグ (推奨)。 文字列を
<spell>...</spell>で囲みます。最も信頼性の高い選択肢で、すべてのサポート言語で文字、数字、英数字混在のいずれにも対応します。 - スペース区切り文字。 タグを使いたくない場合は、各文字を半角スペースで区切ります。
- グループ間のポーズにはカンマ。 人間が自然にポーズする位置にカンマを使用します。
Sonic 3 から移行する場合: Sonic 3.5 では推奨される区切り形式が変更されました。文字間にカンマ、グループ間にピリオドを使う代わりに、文字間にスペース、グループ間にカンマを使ってください。古い形式は引き続き
sonic-3 のスナップショットでは動作しますが、今後は推奨されません。| シナリオ | 旧 (Sonic 3) | 新 (Sonic 3.5) |
|---|---|---|
文字 HELLO をスペル | H, E, L, L, O | H E L L O |
数字 123456 をスペル | 1, 2, 3, 4, 5, 6 | 1 2 3 4 5 6 |
確認コード ABC123 | A, B, C. 1, 2, 3. | A B C, 1 2 3 |
ボイスエージェント (LLM 生成テキスト)
言語モデルが原稿を書く場合 (たとえばボイスエージェント) は、ペースとスペリングの制御 と同じ spell タグおよびスペースルールを適用してください。以下に追加のガイドラインを示します。- 何を出力するか。 推奨事項 では、Sonic 向け (または LLM に出力させる) 文字どおりのテキスト形を挙げています。
12%、一般的な電話やメールのレイアウト、典型的な日付などです。これらの形を意図的にシステムプロンプト内で繰り返すことは普通であり、動作の予測可能性が保たれます。本ドキュメントはあいまいなままにすることを推奨しているわけではありません。 - 正規化と明示性。 テキスト正規化が有効な場合 (一般的なデフォルト)、これらの従来形式は すべてを散文でスペル化することなく 自然に読み上げられることが多いです (たとえば
12%を「twelve percent」と書き換えるなど)。一部の統合やベンダーでは、遅延や制御のために正規化をスキップまたはバイパスするオプションを公開しています。そのオプションを使う場合は、代わりにより明示的な発話表現を計画してください。読み間違いが繰り返される場合は、カスタム発音を追加するか、長い包括的なプロンプトの前に 限定的な LLM ルールを追加してください。 - プロンプトのサイズ: テストに合格する最小のシステムプロンプトを優先してください。パイプライン設定を変更したり、新しいエッジケースが発生したときに拡張します。
- コードや ID: クライアントがタグを Sonic に渡せる場合は
<spell>...</spell>を推奨します。そうでない場合は、文字間にスペース、グループ間にカンマを使用します (ペースとスペリングの制御)。NATO フォネティック (Alpha、Bravo) は、聞き手が文字を明確に区別する必要があるときに有効な選択肢です (モデルもうまく扱えることが多いです)。Sonic のペースとタグ動作で最も決定論的なのは<spell>とスペース形式です。 - 24 時間表記の時刻: 一部のロケールでは、24 時間表記の時刻 (例:
14:30) が音声化される際により口語的な 12 時間形式に正規化されることがあります。英語とヒンディー語は他の言語と同じようには動作しません。今後はより厳密な「書かれたとおりに読む」動作などのオプションに向けて進化していく予定です。時刻の数字どおりに音声化したい場合は、ターゲット言語とボイスで検証し、システムプロンプトやカスタム発音を調整してください。 - マークダウンおよび機械的なテキスト: 返信がそのまま読み上げられる場合、マークダウン (リスト、
#ヘッダー、**太字**)、生の JSON、絵文字、TTS が奇妙に読み上げる可能性のある記号や特殊文字は避けてください。ただし、クライアントが Sonic に渡す前にそれらを除去・正規化する場合は除きます。多くのチームは、箇条書き、*、発話されない句読点をカバーする 1 つのルールを使用しています。 - ストリーミング: トークンを TTS にストリーミングする場合は、下記の ストリーミングにあるように継続を使用してください。
<spell> などのタグを Sonic に渡さない場合は、spell タグの行を省略し、スペース形式のフォールバックのみを使用してください。