AI ナレーション吹き替え · Voice-over with edge-tts
文単位で合成 → 無音除去 → 48 kHz WAV → durations.json。後続の字幕やカットの長さは、実際のナレーションの長さに合わせて調整され、「音ズレ」を解消します。
ecommerce-video-skillsの一部 · スクリプト:
scripts/tts_edge.py(依存関係はedge-tts+ ffmpegのみ)
入力 Inputs
- ナレーション原稿(1行1文、または
storyboard.jsonのlineフィールド) - 言語 / 声色の好み(男性/女性、活発/落ち着いた)、速度
- 環境:
pip install edge-tts、ffmpeg、Microsoft TTSサービスにアクセス可能なネットワーク
手順 Steps
-
「読みやすい」ナレーション原稿に書き換える(ルール参照)、1文あたり8~20文字。
-
声色を選択(
python scripts/tts_edge.py --list zh-CNで全リスト表示):シナリオ 推奨声色 活発な商品紹介(男性) zh-CN-YunxiNeural親しみやすい商品紹介(女性) zh-CN-XiaoxiaoNeural/zh-CN-XiaoyiNeural熱血セールス zh-CN-YunjianNeuralプロフェッショナル解説 zh-CN-YunyangNeural台湾 / 香港 zh-TW-HsiaoChenNeural/zh-HK-HiuMaanNeuralEnglish en-US-AndrewNeural·en-US-AvaNeural·en-US-EmmaNeural -
合成:
pip install edge-tts # 単文試聴 python scripts/tts_edge.py "夏天带冰水出门,不到中午就变温了?" --voice zh-CN-YunxiNeural --rate "+10%" -o out/hook.wav # 全ストーリーボード(各カット1文 → build/tts/l00.wav … + durations.json) python scripts/tts_edge.py --storyboard storyboard.json --outdir build/tts -
2文試聴してから一括処理:速度
+5%~+15%が最もeコマースナレーションらしく、+20%を超えると早口に聞こえます。 -
ffmpeg-auto-assemble(自動で本スクリプトを呼び出します)またはお使いの編集ソフトに渡します。
ナレーション原稿書き換えルール Script rules
- 数字は「読み方」で書く:
2核8G→两核八G;24h→二十四小时;型番のアルファベットは間にスペースを入れるA I。字幕は元の表記を維持できます(subフィールド)。 - 1文には1つのことだけ書く;読点は息継ぎのポイント、文末は句点/疑問符で抑揚をつける。
- 書き言葉を取り除く:「此款产品具有…」→「这只杯子…」。
- 英語のブランド名が正しく読まれない場合、
lineに読み方や諧音を書き、subには正しい綴りを残す。
プロンプトテンプレート Prompt template
以下の販売促進文をTTSで読み上げやすいナレーション原稿に書き換えてください:1文8~20文字、1文1テーマ、口語的に;
数字とアルファベットは読み方で記述;別途「字幕版」の列を出力し、元の表記を残し、**太字**でキーワードを1つマークしてください。
原文にないセールスポイントやデータを追加しないでください。原文:{…}
チェックリスト Checklist
- 2文試聴して声色/速度を確認
- 数字、英字、ブランド名の発音が正しいか
-
durations.jsonが生成され、合計時間が目標に合っているか - 商用利用前に、該当プラットフォーム・地域でのAI音声の表示要件を確認(「AI生成」の表示が必要な場合)
よくある問題と修正 Failure fixes
| 問題 | 修正 |
|---|---|
edge-tts failed / タイムアウト | ネットワークの問題。スクリプトは3回リトライします。ネットワークを変更するか、後で再試行。オフライン時は assemble.py --tts none で映像を先にプレビュー |
| 発音ミス | line に諧音/読み方を書き、sub に原文を残す |
| 文間の間が長すぎる | 自動で先頭・末尾の無音を除去済み。ストーリーボードの pad を調整(デフォルト 0.25s) |
| 声が平坦 | YunjianNeural/XiaoyiNeural に変更。--pitch "+5Hz"。文末に疑問符/感嘆符を使用 |
| リアルな声が必要 | edge-tts は合成音声。高品質が求められる場合は、実際の録音を使用。パイプラインはそのまま使えます(録音ファイルを build/tts/lXX.wav に配置) |
edge-tts はコミュニティでメンテナンスされています(rany2/edge-tts、LGPL-3.0)。Microsoftのオンラインサービスを呼び出しています。このリポジトリは依存関係としてインストールするのみで、そのコードは含みません。