Arabic Voice Ready
アラビア語のTTSは予測可能な場所で失敗します。オーディオを生成する前にテキストで修正してください。再生成するたびにクレジットが消費されます。
ワークフロー
- 対象の方言でスクリプトを書きます。 エジプトの広告は عامية(「اطلب دلوقتي」「بس」「في المية」)で自然に読み上げられます。文は短く、一文につき一つのアイデア、4〜9単語にします。
- ドラフトに正規化ツールを実行します。 数字を方言に合わせて発音し、
%、範囲、桁区切り、アラビア・インド数字、ドメイン、一般的な外来語を処理します:node scripts/normalize.mjs "خصم 20% من 5 لـ 15 نوفمبر بـ 359 جنيه" --dialect=egy --pauses # 出力: خصم عشرين في المية من خمسة لِـخمستاشر نوفمبر بـ تلتمية وتسعة وخمسين جنيه--dialect=msaはフスハー(現代標準アラビア語)の数字(خمسة عشر、عشرون بالمئة)を出力します。--pausesは文の間に[short pause]を追加します(ElevenLabs v3/v4 のオーディオタグ)。 - スクリプトだけでは判断できないものについて、references/pronunciation.md の手動ルールを適用します。 曖昧な単語のダイアクリティカルマーク、ブランド名、エジプト方言における ج / ق / ث / ذ の文字、外来語の強勢。
- 配信タグを追加します。 references/elevenlabs-tags.md から控えめに(感情タグは2〜3文に1つ)。
- 2テイク生成し、聞いてから、問題があった単語だけを修正します。 修正箇所をスクリプトに記録し、次のテイクでそれが維持されるようにします。
最も重要なルール
- エンジンに数字を推測させないでください。 エジプトの広告で「15」が「خمسة عشر」になったり、「20%」が「عشرون بالمئة」と読まれることがあります。常に事前にスペルアウトしてください。
- 外来語は、アラビア文字が曖昧な場合はラテン文字で書きます。 エジプト方言では「ج」は硬い/g/なので、「جل」は gal と読まれます。
gelと書いてください。memory foamがうまくいかない場合も同様です。.com→ 「دوت كوم」。 - ダイアクリティカルマークは必要な場所だけに使います。 完全に母音記号をつけたテキストはロボット的に聞こえます。誤読された単語にのみ母音を追加してください: «البِيضاء»、«خَصْم»、«كُمْفُورْت»。
- ブランド名: ブランドが発音する通りに、子音クラスターにはスクーンを付けてスペルします: «ماكْس كُمْفُورْت»、«نُون»、«جُومْيا»。
- 価格: 通貨は一度だけ言います: «بـ تلتمية وتسعة وخمسين جنيه بدل أربعمية وتسعة وأربعين»。
- 日付: «من خمسة لِخَمَسْتاشَر نوفمبر» — ل は数字に連結します。「خمستاشر」にダイアクリティカルマークを付けることで、「خمسة عشر」と読まれるのを防ぎます。
- 証明できないことは約束しないでください。 広告スクリプトは価格、割引、医学的主張を捏造してはいけません。実際のソースから数字を読んでください。
ファイル
scripts/normalize.mjs— 依存関係のない正規化ツール(CLI +import { normalize, numberToWords })。scripts/normalize.test.mjs—node --test scripts/normalize.test.mjs。references/pronunciation.md— エジプト方言の発音の落とし穴と修正。references/elevenlabs-tags.md— アラビア語でうまく機能するオーディオタグ。examples/— 修正前後のスクリプト例。