0Pricing
AI Prompt Engineering · Leçon

Schémas de prompts TTS pour une parole naturelle

Structure des phrases, ponctuation et indications de rythme qui améliorent la sortie TTS.

Schémas de prompts TTS pour une parole naturelle est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.

Pourquoi les invites de synthèse vocale sont différentes

Les systèmes de synthèse vocale convertissent littéralement votre texte en audio. Contrairement à un texte lu, dont les lecteurs peuvent relire les passages confus, l'audio est vécu de manière linéaire par les auditeurs, qui ne peuvent pas s'arrêter pour décoder une phrase ambiguë.

Écrire pour la synthèse vocale signifie réfléchir à la façon dont les mots sonnent : rythme, longueur des phrases, ambiguïtés de prononciation et absence de formatage visuel comme le gras ou les listes à puces.

Longueur des phrases : plus elles sont courtes, mieux c'est

Les phrases longues et complexes comportant plusieurs propositions sont difficiles à suivre à l'oral. Les systèmes TTS interrompent souvent le rythme à des endroits corrects sur le plan grammatical, mais maladroits sur le plan acoustique. Visez des phrases de 10 à 20 mots pour obtenir une parole naturelle.

# Prompt a model to generate TTS-optimized text
TTS_SYSTEM_PROMPT = (
    'You are writing text that will be read aloud by a text-to-speech system.\n\n'
    'Rules:\n'
    '- Use short, clear sentences (10-20 words each).\n'
    '- Avoid complex nested clauses.\n'
    '- End each sentence with a period for clear pause signals.\n'
    '- Avoid parenthetical asides in the middle of sentences.\n'
    '- Use conversational vocabulary — write as you would speak.\n'
    '- Never use bullet points, headers, or markdown formatting.'
)

# Bad (long, nested):
BAD = (
    'The transformer architecture, which was introduced in the landmark 2017 paper '
    '"Attention is All You Need" by Vaswani et al. at Google, fundamentally changed '
    'natural language processing by replacing recurrence with self-attention.'
)

# Good (TTS-friendly):
GOOD = (
    'The transformer architecture changed natural language processing. '
    'It was introduced in 2017 by researchers at Google. '
    'Their key innovation was replacing recurrence with self-attention.'
)

La ponctuation comme repère audio

Les moteurs TTS utilisent la ponctuation pour régler le rythme :

  • Point (.) : fin de phrase, pause plus longue
  • Virgule (,) : pause brève
  • Point d'interrogation (?) : intonation montante
  • Point d'exclamation (!) : accentuation et énergie
  • Point-virgule (;) : comportement variable selon le moteur, souvent ignoré
  • Tiret cadratin (—) : provoque souvent des pauses maladroites, à éviter

Utilisez des points explicites plutôt que des tirets cadratins ou des points-virgules pour contrôler le rythme de manière fiable.

TTS_PUNCTUATION_PROMPT = (
    'Write the following content for text-to-speech narration. '
    'Use only periods, commas, and question marks for punctuation. '
    'Avoid em dashes, semicolons, colons, and parentheses. '
    'Break complex thoughts into multiple short sentences.\n\n'
    'Content to rewrite: {content}'
)

# Example transformation
original = (
    'There are three main factors to consider: cost, quality, and speed — '
    'and often, you can only optimize for two of them (this is sometimes '
    'called the project management triangle).'
)

for_tts = (
    'There are three main factors to consider. The first is cost. '
    'The second is quality. The third is speed. '
    'Usually, you can only optimize for two of these at once. '
    'This is sometimes called the project management triangle.'
)
print(for_tts)

Éviter les abréviations ambiguës

Les abréviations que les lecteurs décodent visuellement deviennent des pièges de mauvaise prononciation pour la synthèse vocale. Les différents moteurs TTS traitent les abréviations de manière incohérente.

  • Dr. → peut prononcer « docteur » ou « drive »
  • St. → « saint » ou « rue » ?
  • vs. → « versus » ou « contre » ?
  • etc. → « et cetera » ou « etcé » ?

Écrivez les abréviations en toutes lettres dans le texte destiné à la synthèse vocale afin de garantir une prononciation correcte.

TTS_ABBREVIATION_RULES = (
    'When writing for text-to-speech:\n'
    '- Write "Doctor" not "Dr."\n'
    '- Write "Street" or "Saint" not "St."\n'
    '- Write "versus" not "vs."\n'
    '- Write "et cetera" not "etc."\n'
    '- Write "for example" not "e.g."\n'
    '- Write "that is" not "i.e."\n'
    '- Write out years: "twenty twenty-five" not "2025" when narrated in prose\n'
    '- Write out numbers under 10: "three" not "3" in conversational text\n'
    '- Spell out acronyms on first use: '
    '"Application Programming Interface, or API"\n'
)
print(TTS_ABBREVIATION_RULES)

Les mots qui provoquent des erreurs de prononciation

Certains mots ou schémas déconcertent régulièrement les moteurs TTS. Apprenez à les reconnaître et utilisez des équivalents :

  • Homographes : « read » au présent ou au passé, « plomb » ou « guider », « vent » — la synthèse vocale choisit une seule prononciation
  • Noms propres rares : termes techniques, noms de marques, mots étrangers
  • Nombres dans des contextes inhabituels : versions d'API, formats de date, mesures
# Prompting LLM to detect and fix TTS pronunciation issues
TTS_REVIEW_PROMPT = (
    'Review the following text for text-to-speech pronunciation issues.\n'
    'Identify words that might be mispronounced by a TTS engine because they:\n'
    '1. Are homographs with multiple pronunciations\n'
    '2. Are technical terms, brand names, or foreign words\n'
    '3. Are abbreviations or acronyms\n'
    '4. Are numbers in unusual formats\n\n'
    'For each issue, provide the original text and a TTS-safe replacement.\n\n'
    'Text to review: {text}'
)

# Example issues and fixes
ISSUES = {
    'She read the docs': 'She read (past tense - ambiguous) -> She finished reading the docs',
    'Lead developer': 'Lead (metal or guide?) -> Lead (rhymes with feed) developer',
    'API v2.3.1': 'v2.3.1 -> version 2 point 3 point 1',
    'The .env file': 'dot E N V file (may say .env) -> the environment config file',
    'Re-init': 'may say Ray-in-it -> reinitialize',
}
for problem, fix in ISSUES.items():
    print(f'Issue: {problem}\nFix: {fix}\n')

Nombres et dates pour la synthèse vocale

Les nombres sont une source majeure de maladresses pour la synthèse vocale. Écrivez-les d'une manière qui ne laisse aucune ambiguïté sur leur prononciation.

NUMBER_TTS_RULES = (
    'When writing numbers for TTS narration:\n'
    '- Dates: write "January fifteenth, 2025" not "01/15/2025"\n'
    '- Time: write "3 in the afternoon" not "15:00" in casual speech\n'
    '- Percentages: write "forty-five percent" not "45%" in narration\n'
    '- Large numbers: write "one point two million" not "1.2M"\n'
    '- Phone numbers: spell with hyphens "555-123-4567" (TTS reads each digit)\n'
    '- Currency: write "twelve dollars and fifty cents" not "$12.50" in speech\n'
    '- Fractions: write "three quarters" not "3/4"\n'
    '- Ordinals: write "first" not "1st" (TTS may say "one S T")\n'
)

# Apply when prompting the LLM to generate TTS scripts
TTS_SCRIPT_PROMPT = (
    'Write a 30-second product announcement for text-to-speech.\n'
    'Product: TaskFlow Pro, $49/month, 10,000 users worldwide, '
    'launched January 2025.\n\n'
    + NUMBER_TTS_RULES
)

Supprimer le formatage visuel

Le formatage Markdown et HTML est silencieux pour l'œil, mais certains moteurs TTS le prononcent à voix haute. Les astérisques, les signes dièse et les chevrons doivent être supprimés ou remplacés par des équivalents prononcés.

TTS_FORMAT_CONVERSION_PROMPT = (
    'Convert the following markdown text into plain prose suitable '
    'for text-to-speech narration.\n\n'
    'Rules:\n'
    '- Remove all markdown formatting (**, *, #, -, etc.)\n'
    '- Convert bullet lists into spoken sequences '
    '("First... Second... Third...")\n'
    '- Convert headers into topic introduction sentences\n'
    '- Remove any hyperlinks or URLs\n'
    '- Convert code snippets into descriptions '
    '("a Python function that...")\n\n'
    'Markdown text:\n'
    '{markdown_text}'
)

EXAMPLE_MARKDOWN = (
    '## Getting Started\n'
    '- Install the package with 'pip install mylib'\n'
    '- Set your **API key** in '.env'\n'
    '- Run 'python main.py' to start\n'
)

EXAMPLE_TTS = (
    'To get started, install the package using pip. '
    'Next, set your API key in your environment configuration file. '
    'Finally, run the main Python script to start.'
)
print(EXAMPLE_TTS)

Régler le rythme avec des phrases de transition

Dans un texte écrit, la structure visuelle, comme les paragraphes et les en-têtes, guide le lecteur. Dans un audio TTS, vous devez utiliser des phrases de transition à l'oral pour aider les auditeurs à suivre la structure.

TRANSITION_PHRASES = {
    'starting_new_topic':    ['Let us now talk about', 'Moving on to', 'Next,'],
    'adding_information':    ['Additionally,', 'Also worth noting,', 'Furthermore,'],
    'contrasting':           ['However,', 'On the other hand,', 'That said,'],
    'concluding':            ['To summarize,', 'In short,', 'To wrap up,'],
    'sequencing':            ['First,', 'Second,', 'Then,', 'Finally,'],
    'emphasizing':           ['Importantly,', 'Keep in mind that', 'Note that'],
}

TTS_STRUCTURE_PROMPT = (
    'Write a two-minute explainer on {topic} for text-to-speech narration.\n'
    'Use verbal transition phrases to guide listeners through each point. '
    'Avoid headers or bullet points. '
    'Structure the content with clear spoken signposts '
    '("First...", "Moving on...", "To summarize...").'
)

print('Available transitions:')
for category, phrases in TRANSITION_PHRASES.items():
    print(f'  {category}: {phrases[0]}')

Évaluer votre texte de synthèse vocale

La seule évaluation fiable de la qualité d'un texte TTS consiste à l'écouter. Mettez en place une boucle de génération et d'écoute : générer le texte → l'envoyer à l'API TTS → l'écouter → recommencer. Ne vous fiez pas à une lecture visuelle du texte.

import openai
import pathlib

client = openai.OpenAI(api_key='sk-...')

def generate_and_test_tts(text, output_file='test_audio.mp3'):
    """Generate TTS audio from text for auditory review."""
    response = client.audio.speech.create(
        model='tts-1-hd',
        voice='alloy',   # alloy, echo, fable, onyx, nova, shimmer
        input=text,
        speed=1.0        # 0.25 to 4.0
    )

    audio_path = pathlib.Path(output_file)
    response.stream_to_file(audio_path)
    print(f'Audio saved to {audio_path}')
    print(f'Text length: {len(text)} chars, {len(text.split())} words')
    return audio_path

# Generate and listen before shipping
tts_text = (
    'Welcome to our weekly update. '
    'This week, the engineering team shipped three major features. '
    'First, we improved search speed by forty percent. '
    'Second, we added support for twelve new languages. '
    'Third, we launched our new mobile application.'
)
path = generate_and_test_tts(tts_text)

Sélectionner une voix et adapter l'invite

Les différentes voix TTS ont chacune leurs points forts. Adaptez la voix au ton de votre contenu :

  • Chaleureuse et narrative : narration, contenu pédagogique
  • Professionnelle et neutre : rapports d'entreprise, documentation technique
  • Énergique et vive : marketing, démonstrations de produits, notifications

Demandez au LLM de rédiger un contenu correspondant au registre naturel de la voix.

VOICE_SPECIFIC_PROMPTS = {
    'professional': (
        'Write in a clear, neutral, professional tone. '
        'Use complete sentences. Avoid contractions. '
        'Suitable for business reports and documentation.'
    ),
    'warm_narrative': (
        'Write in a warm, engaging, conversational tone. '
        'Use contractions naturally. '
        'Speak directly to the listener using "you" and "we". '
        'Suitable for educational content and storytelling.'
    ),
    'energetic': (
        'Write in an upbeat, enthusiastic tone. '
        'Use shorter sentences for impact. '
        'Include emphasis words like "amazing", "incredible", "now". '
        'Suitable for marketing and product announcements.'
    ),
}

# Select based on use case
use_case = 'warm_narrative'
print(VOICE_SPECIFIC_PROMPTS[use_case])

Conception de la chaîne de traitement du LLM vers TTS

Dans une chaîne de traitement de production, un LLM génère du texte qui est ensuite transmis à un moteur TTS. Les deux doivent être coordonnés : le LLM doit savoir qu'il génère du contenu destiné à la synthèse vocale, et non à la lecture, et toute invite système ou tout traitement ultérieur doit imposer des règles adaptées à la synthèse vocale avant que le texte n'atteigne l'API TTS.

Ajoutez une étape légère de traitement ultérieur entre la sortie du LLM et l'entrée TTS : strip tout balisage Markdown qui aurait filtré, développez les abréviations et vérifiez la longueur des phrases. Cela permet de corriger les erreurs de mise en forme du LLM avant qu'elles ne deviennent des artefacts audio.

Vérification des connaissances : structure des phrases pour la synthèse vocale

Lequel des textes suivants est le mieux formaté pour une narration en synthèse vocale ?

Récapitulatif : modèles d'invites TTS pour une parole naturelle

Le texte TTS doit être écrit pour l'oreille, et non pour l'œil. Règles essentielles : limitez les phrases à 10 ou 20 mots, utilisez uniquement des points et des virgules pour régler le rythme, écrivez toutes les abréviations et tous les nombres en toutes lettres, supprimez tout balisage et tout formatage visuel, et utilisez des phrases de transition à l'oral pour remplacer la structure visuelle. Les homographes, les termes techniques et les formats de nombres inhabituels provoquent des erreurs de prononciation : détectez-les et remplacez-les. Évaluez toujours le résultat en écoutant l'audio généré, et non en lisant le texte.

Questions Fréquemment Posées

La leçon « Schémas de prompts TTS pour une parole naturelle » est-elle gratuite ?

Oui — le texte complet de « Schémas de prompts TTS pour une parole naturelle » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Schémas de prompts TTS pour une parole naturelle » ?

Structure des phrases, ponctuation et indications de rythme qui améliorent la sortie TTS. Tu pratiques AI Prompt Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Prompt Engineering ?

Aucune expérience préalable n'est requise. AI Prompt Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Schémas de prompts TTS pour une parole naturelle » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Prompt Engineering ?

Oui. Chaque leçon AI Prompt Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Schémas de prompts TTS pour une parole naturelle
  2. SSML et contrôle de la prosodie
  3. Concevoir la personnalité d’une IA vocale
  4. Agents vocaux et textuels multimodaux
← Retour à AI Prompt Engineering