# 日本語ナレーションの規則

日本語の作品では以下を適用する。英語の作品には適用しない。

## 読み原稿の前処理（元: reading-text.md 全節）

# 読み前処理規約（表示原稿 → 読み原稿）

TTS（どのエンジンでも）に渡すのは表示原稿そのものではなく、読み上げ用に前処理した
**読み原稿**である。表示原稿と読み原稿は非可逆な変換関係にあるため、両方を独立フィールドとして
`edit.json` に保存する（ハードルール 3、契約
[docs/contract-2026-07-20-edit-json-v1-narration.md](https://github.com/AkariLabs/akari-video/blob/main/docs/contract-2026-07-20-edit-json-v1-narration.md) §5）。

- `script`: 人間が読む正本。字幕連携などの元テキストとしてもそのまま使える表示原稿
- `reading`: 前処理後、実際に TTS へ渡した文字列

読み原稿には読み方・話し方の指示（「明るく読んでください：」等）を書かない。抑揚は句読点・語順・かな化で作り、話し方は `--style`（対応エンジンのみ・API の別フィールド）で渡す（[engines.md](../engines.md) の「読み方の指示を本文に混ぜない」）。

## 変換対象

- **英字固有名詞・略語**: カタカナへ変換する。例: 「AKARI Video」→「アカリビデオ」
  （英語読みのまま TTS に渡すと発音が崩れる。実測: エンジンが「AKARI Video」を英語風に読み、
  聞き取りづらい結果になった）
- **難読語・専門用語**: 意図した読みにならない漢字・略号は平仮名または想定する読みのカタカナへ
  開く
- **数字・日付・単位**: TTS エンジン側の数字読み上げが期待どおりでない場合は、読み下した文字列
  （例: 「2026年7月20日」→「にせんにじゅうろくねんしちがつはつか」）に置き換える。ただし
  多くのエンジンは算用数字のままでも正しく読めるため、**実際に生成して耳で確認してから**
  変換の要否を判断する（先回りして全数字を機械的に開かない）

## 手順

1. 表示原稿（`script`）を用意する（人間が書いた原稿、または analyze-footage の captions 由来など）
2. 上記の変換対象に該当する箇所だけをかな化・カタカナ化し、読み原稿（`reading`）を作る
3. `reading` を `--reading-file` に、`script` を `--script-file` に渡して生成する
4. 生成音声を耳で確認する。発音が崩れている固有名詞があれば、その語だけをさらにかな化して
   再生成する（原稿全体を作り直さない）

## 両方を保存する理由

かな化は多くの場合、人手または非決定的なルールベース処理を経ており、`reading` から `script` を
機械的に逆算できない。再生成（同じ音声を別エンジンで作り直す等）や人間レビュー（`script` は
読みやすい正本として、`reading` は生成の実態を追跡する記録として）の両方に必要なため、
どちらか一方だけを保存して済ませない。

## 日本語の声の選び方（元: engines.md「エンジン選択基準・二段運用」）


| 状況 | 選ぶエンジン |
|---|---|
| 尺やテンポを素早く確定したい（仮ナレ・アニマティクス） | voicevox（無償・数秒・承認ゲート不要） |
| ずんだもん文化圏コンテンツ・キャラ解説・下書き試聴 | voicevox |
| 本人ナレーションの本番（CM・ブランドコンテンツ） | fal-qwen3（`--profile owner-ja` 等） |
| 多言語展開（自分の声のまま他言語） | fal-qwen3（クロスリンガルクローン） |
| 既製の声で日本語の本番ナレーション・話し方を別に指定したい | `gemini-3.8-flash-tts`（`GEMINI_API_KEY`・Google AI 直接）、または `gemini-tts` / `gemini-3.1-flash-tts`（`FAL_KEY`・fal 経由） |
| 日本語の公開声・参照音声からの声（本人同意つき） | `fish-s2.1-pro`（`FISH_AUDIO_API_KEY`） |

どのエンジンでも読み方の指示は本文に混ぜない（上の節）。

**二段運用（推奨フロー）**: まず `--engine voicevox` で仮ナレを生成し `--apply` して尺とテンポを
確定する。方針が固まったら、同じ `--reading-file`（必要なら微調整）・同じ `--t` で
`--engine fal-qwen3 --profile <name> --yes --apply` を実行し、同じ `id` は使わずに新しい narration
エントリとして本番音声へ差し替える（古い仮ナレのエントリは編集者が削除する）。仮ナレの段階では
費用が発生しないため、テンポ調整の反復を何度でも無償で行える。

## 声プロファイルの正文

[朗読原稿 v1](../assets/reading-script-v1.md) は日本語の正文。`reference_text` と完全一致させるため、原稿を書き換えない。
