Arabic Voice Ready
Arabische TTS scheitert an vorhersagbaren Stellen. Korrigiere sie im Text, bevor Audio generiert wird – jede Neugenerierung kostet Credits.
Arbeitsablauf
- Schreibe das Skript im Ziel dialekt. Ägyptische Anzeigen lesen sich natürlich in عامية («اطلب دلوقتي», «بس», «في المية»). Halte Sätze kurz: eine Idee pro Satz, 4–9 Wörter.
- Führe den Normalisierer auf dem Entwurf aus – er schreibt Zahlen so, wie der Dialekt sie ausspricht, und behandelt
%, Bereiche, Tausendertrennzeichen, arabisch-indische Ziffern, Domains und gängige Lehnwörter:node scripts/normalize.mjs "خصم 20% من 5 لـ 15 نوفمبر بـ 359 جنيه" --dialect=egy --pauses # خصم عشرين في المية من خمسة لِـخمستاشر نوفمبر بـ تلتمية وتسعة وخمسين جنيه--dialect=msaergibt فصحى-Zahlen (خمسة عشر، عشرون بالمئة).--pausesfügt[short pause]zwischen Sätzen ein (ElevenLabs v3/v4 Audio-Tags). - Wende die manuellen Regeln in references/pronunciation.md an für das, was ein Skript nicht entscheiden kann: diakritische Zeichen auf mehrdeutige Wörter, Markennamen, die Buchstaben ج / ق / ث / ذ im Ägyptischen, Betonung auf Lehnwörtern.
- Füge Ausgabe-Tags aus references/elevenlabs-tags.md hinzu – sparsam (ein Emotions-Tag pro 2–3 Sätze).
- Generiere 2 Takes, höre zu, korrigiere dann nur die Wörter, die fehlerhaft waren. Notiere jede Korrektur im Skript, damit der nächste Take sie beibehält.
Wichtigste Regeln
- Lasse niemals Ziffern im Rohtext, damit die Engine sie erraten muss. «15» könnte in einer ägyptischen Anzeige zu «خمسة عشر» werden, «20%» könnte als «عشرون بالمئة» gelesen werden. Schreibe immer vor.
- Lehnwörter → lateinische Schrift, wenn der arabische Buchstabe mehrdeutig ist. Im Ägyptischen ist «ج» ein hartes /g/, also wird «جل» als gal gelesen. Schreibe
gel. Gleiches fürmemory foam, wenn es bricht,.com→ «دوت كوم». - Diakritische Zeichen nur wo nötig. Voll vokalisierter Text klingt roboterhaft. Füge einen Vokal nur zu einem Wort hinzu, das falsch gelesen wurde: «البِيضاء», «خَصْم», «كُمْفُورْت».
- Marken: Schreibe sie so, wie die Marke sie ausspricht, mit Sukun auf Konsonantenclustern: «ماكْس كُمْفُورْت», «نُون», «جُومْيا».
- Preise: Nenne die Währung einmal: «بـ تلتمية وتسعة وخمسين جنيه بدل أربعمية وتسعة وأربعين».
- Daten: «من خمسة لِخَمَسْتاشَر نوفمبر» – das ل verbindet sich mit der Zahl; diakritische Zeichen auf «خمستاشر» verhindern, dass es zu «خمسة عشر» wird.
- Versprich nicht, was du nicht beweisen kannst. Werbeskripte dürfen keine Preise, Rabatte oder medizinische Behauptungen erfinden; lies Zahlen aus der echten Quelle.
Dateien
scripts/normalize.mjs– abhängigkeitsfreier Normalisierer (CLI +import { normalize, numberToWords }).scripts/normalize.test.mjs–node --test scripts/normalize.test.mjs.references/pronunciation.md– Ägyptische Aussprachefallen und Korrekturen.references/elevenlabs-tags.md– Audio-Tags, die gut mit Arabisch funktionieren.examples/– Skripte vorher/nachher.