Partage via


Personnaliser la voix et le son avec SSML

Vous pouvez utiliser le langage SSML (Speech Synthesis Markup Language) pour spécifier la voix, la langue, le nom, le style et le rôle de la synthèse vocale pour votre restitution vocale. Vous pouvez également utiliser plusieurs voix dans un seul document SSML, puis ajuster l’accentuation, le débit de parole, la hauteur et le volume. En outre, SSML offre la possibilité d’insérer un audio préenregistré, tel qu’un effet sonore ou une note de musique.

L’article vous indique comment utiliser des éléments SSML pour spécifier la voix et le son. Pour plus d’informations sur la syntaxe SSML, consultez Événements et structure de document SSML.

Utiliser des éléments vocaux

Au moins un élément voice doit être spécifié dans chaque élément speak SSML. Cet élément détermine la voix utilisée pour la synthèse vocale.

Vous pouvez inclure plusieurs éléments voice dans un seul document SSML. Chaque élément voice peut spécifier une voix différente. Vous pouvez également utiliser la même voix plusieurs fois avec des paramètres différents, par exemple quand vous modifiez la durée du silence entre des phrases.

Le tableau suivant décrit l’utilisation des attributs de l’élément voice :

Attribut Description Obligatoire ou facultatif
name Voix utilisée pour la sortie de synthèse vocale. Pour obtenir la liste complète des voix prédéfinies prises en charge, consultez Prise en charge des langues. Obligatoire
effect Processeur d’effets audio utilisé pour optimiser la qualité de la sortie vocale synthétisée pour des scénarios spécifiques sur les appareils.

Pour certains scénarios dans des environnements de production, l’expérience auditive risque d’être dégradée en raison de la distorsion de lecture sur certains appareils. Par exemple, la parole synthétisée d’un haut-parleur de voiture risque de sembler terne et étouffée en raison de facteurs environnementaux tels que la réponse de l’orateur, la réverbération de la pièce et le bruit de fond. Le passager devra peut-être monter le volume pour entendre plus clairement. Pour éviter les opérations manuelles dans un tel scénario, le processeur d’effets audio peut rendre le son plus clair en compensant la distorsion de lecture.

Les valeurs suivantes sont admises :
  • eq_car : Optimiser l’expérience auditive lors de la fourniture d’une voix haute fidélité dans les voitures, les autobus et d’autres voitures fermées.
  • eq_telecomhp8k : Optimisez l’expérience auditive pour la voix à bande étroite dans les scénarios de télécommunications ou de téléphone. Vous devez utiliser un débit d’échantillonnage de 8 kHz. Si le débit d’échantillonnage n’est pas de 8 kHz, la qualité auditive de la voix de sortie n’est pas optimisée.

Si la valeur est manquante ou non valide, cet attribut est ignoré et aucun effet n’est appliqué.
Facultatif

Exemples de voix

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément voice, veuillez consulter la rubrique Utiliser des éléments vocaux.

Exemple de voix unique

Cet exemple utilise la voix en-US-AvaMultilingualNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        This is the text that is spoken.
    </voice>
</speak>

Exemple de voix multiples

Dans l’élément speak, vous pouvez spécifier plusieurs voix pour la sortie de synthèse vocale. Ces voix peuvent être dans différentes langues. Pour chaque voix, le texte doit être encapsulé dans un élément voice.

Cet exemple alterne entre les voix en-US-AvaMultilingualNeural et en-US-AndrewMultilingualNeural. Les voix multilingues neuronales peuvent s’exprimer dans différentes langues en fonction du texte d’entrée.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        Good morning!
    </voice>
    <voice name="en-US-AndrewMultilingualNeural">
        Good morning to you too Ava!
    </voice>
</speak>

Exemple de voix neuronale personnalisée

Pour utiliser votre voix neuronale personnalisée, spécifiez le nom du modèle en tant que nom de voix en SSML.

Cet exemple utilise une voix personnalisée nommée my-custom-voice.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="my-custom-voice">
        This is the text that is spoken.
    </voice>
</speak>

Exemple d’effet audio

Vous utilisez l’attribut effect pour optimiser l’expérience auditive pour des scénarios tels que les voitures et les télécommunications. L’exemple SSML suivant utilise l’attribut effect avec la configuration dans les scénarios de voiture.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural" effect="eq_car">
        This is the text that is spoken.
    </voice>
</speak>

Utiliser des styles d’élocution et des rôles

Par défaut, les voix neuronales ont un style d’élocution neutre. Vous pouvez régler le style de d’élocution, le degré de style et le rôle au niveau de la phrase.

Remarque

Le service Speech prend en charge les styles, le degré de style et les rôles pour un sous-ensemble de voix neuronales, comme décrit dans la documentation sur les styles de voix et les rôles. Pour déterminer les styles et rôles pris en charge pour chaque voix, vous pouvez également utiliser l’API de liste des voix et l’application web de création de contenu audio.

Le tableau suivant décrit l’utilisation des attributs de l’élément mstts:express-as :

Attribut Description Obligatoire ou facultatif
style Style d’élocution propre à la voix. Vous pouvez exprimer des émotions telles que la gaieté, l’empathie et le calme. Vous pouvez également optimiser la voix pour différents scénarios, par exemple le service clientèle, la diffusion d’actualités et l’Assistant vocal. Si la valeur du style est manquante ou non valide, l’ensemble de l’élément mstts:express-as est ignoré et le service utilise la voix neutre par défaut. Pour connaître les styles de voix neuronales personnalisées, consultez l’exemple de style de voix neuronale personnalisée. Obligatoire
styledegree Intensité du style d’élocution. Vous pouvez spécifier un style plus fort ou plus doux pour rendre la voix plus expressive ou feutrée. La plage de valeurs acceptées est : 0.01 à 2 inclus. La valeur par défaut est 1, ce qui correspond à l’intensité de style prédéfinie. L’unité minimale est 0.01, ce qui aboutit à une légère tendance pour le style cible. La valeur 2 produit un doublement de l’intensité de style par défaut. Si le degré de style est manquant ou non pris en charge pour votre voix, cet attribut est ignoré. Facultatif
role Jeu de rôle. La voix peut imiter un âge et un sexe différents, mais son nom ne change pas. Par exemple, une voix masculine peut devenir plus aiguë, puis changer d’intonation pour imiter une voix féminine, mais le nom de la voix ne change pas. Si le rôle est manquant ou non pris en charge pour votre voix, cet attribut est ignoré. Facultatif

Le tableau suivant décrit chaque attribut style pris en charge :

Style Description
style="advertisement_upbeat" Exprime un ton enthousiaste et énergique pour la promotion d’un produit ou d’un service.
style="affectionate" Exprime un ton chaleureux et affectueux, avec une hauteur de voix et une énergie vocale plus grandes. L’orateur attire l’attention de celui qui écoute. La personnalité de l’orateur est souvent d’une nature attachante.
style="angry" Exprime la colère et la contrariété.
style="assistant" Donne un ton chaleureux et détendu aux assistants numériques.
style="calm" Exprime une attitude sympathique, calme et posée dans une conversation. Le ton, la hauteur de voix et la prosodie sont bien plus uniformes par rapport aux autres types de voix.
style="chat" Exprime un ton informel et détendu
style="cheerful" Exprime un ton positif et joyeux.
style="customerservice" Donne un ton convivial et pragmatique au support technique.
style="depressed" Exprime un ton mélancolique et découragé avec une hauteur de voix plus basse et moins d’énergie.
style="disgruntled" Exprime un ton dédaigneux et plaintif. L’expression de cette émotion témoigne du mécontentement et du mépris.
style="documentary-narration" Narre les documentaires dans un style détendu, intéressé et informatif adapté aux documentaires, aux commentaires d’experts et à du contenu similaire.
style="embarrassed" Exprime un ton incertain et hésitant quand l’orateur se sent mal à l’aise.
style="empathetic" Exprime un sentiment de bienveillance et de compréhension.
style="envious" Exprime un ton d’admiration quand vous désirez quelque chose que quelqu’un d’autre possède.
style="excited" Exprime un ton enjoué et optimiste. On dirait qu’un événement formidable est en train de se passer et que cela comble de joie l’orateur.
style="fearful" Exprime un ton effrayé et nerveux, avec une plus grande hauteur de voix, une plus grande énergie vocale et un débit plus rapide. L’orateur est dans un état de tension et de malaise.
style="friendly" Exprime un ton agréable, engageant et chaleureux. Donne une impression de sincérité et de bienveillance.
style="gentle" Exprime un ton doux, poli et agréable, avec une hauteur de voix et une énergie vocale moins élevées.
style="hopeful" Exprime un ton chaleureux et ardent. Donne l’impression que quelque chose d’agréable va arriver à l’orateur.
style="lyrical" Exprime les émotions d’une manière mélodique et sentimentale.
style="narration-professional" Donne un ton professionnel et objectif à la lecture de contenu.
style="narration-relaxed" Donne un ton réconfortant et mélodieux à la lecture de contenu.
style="newscast" Exprime un ton formel et professionnel pour la présentation des actualités.
style="newscast-casual" Exprime la souplesse et la décontraction pour la diffusion d’informations générales.
style="newscast-formal" Exprime un ton formel, confiant et autoritaire pour la diffusion des actualités.
style="poetry-reading" Exprime l’émotion et la rythmique de la voix pendant la lecture d’un poème.
style="sad" Exprime la tristesse.
style="serious" Exprime un ton strict et autoritaire. L’orateur a souvent l’air sévère et peu détendu et sa cadence reste ferme.
style="shouting" Donne un ton qui fait penser que la voix est distante ou à un autre endroit et que la personne fait un effort pour être clairement entendue.
style="sports_commentary" Donne un ton décontracté et intéressé pour la diffusion d’un événement sportif.
style="sports_commentary_excited" Exprime un ton intense et énergique pour la diffusion de moments forts à l’occasion d’un événement sportif.
style="whispering" Donne un ton doux qui essaie de faire un son calme et doux.
style="terrified" Donne un ton effrayé, avec un rythme de parole plus rapide et une voix plus tremblante. L’orateur semble être hors de lui et dans une situation délicate.
style="unfriendly" Exprime un ton froid et indifférent.

Le tableau suivant contient les descriptions de chaque attribut role pris en charge :

Rôle Description
role="Girl" La voix imite celle d’une petite fille.
role="Boy" La voix imite celle d’un garçon.
role="YoungAdultFemale" La voix imite celle d’une jeune femme adulte.
role="YoungAdultMale" La voix imite celle d’un jeune homme adulte.
role="OlderAdultFemale" La voix imite celle d’une femme adulte plus âgée.
role="OlderAdultMale" La voix imite celle d’un homme adulte plus âgé.
role="SeniorFemale" La voix imite celle d’une femme d’âge mûr.
role="SeniorMale" La voix imite celle d’un homme d’âge mûr.

Exemples mstts express-as

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément mstts:express-as, veuillez consulter la rubrique Utiliser des styles d’élocution et des rôles.

Exemple de style et de degré

Vous utilisez l’élément mstts:express-as pour exprimer des émotions telles que la gaieté, l’empathie et le calme. Vous pouvez également optimiser la voix pour différents scénarios, par exemple le service clientèle, la diffusion d’actualités et l’Assistant vocal.

L’exemple SSML suivant utilise l’élément <mstts:express-as> avec un degré de style sad égal à 2.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        <mstts:express-as style="sad" styledegree="2">
            快走吧,路上一定要注意安全,早去早回。
        </mstts:express-as>
    </voice>
</speak>

Exemple de rôle

En plus d’ajuster les styles d’élocution et le degré de style, vous pouvez également ajuster le paramètre role pour que la voix imite un âge et un sexe différents. Par exemple, une voix masculine peut devenir plus aiguë, puis changer d’intonation pour imiter une voix féminine, mais le nom de la voix ne change pas.

Cet extrait de code SSML illustre la manière dont l’attribut role est utilisé pour changer le jeu de rôle pour zh-CN-XiaomoNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaomoNeural">
        女儿看见父亲走了进来,问道:
        <mstts:express-as role="YoungAdultFemale" style="calm">
            “您来的挺快的,怎么过来的?”
        </mstts:express-as>
        父亲放下手提包,说:
        <mstts:express-as role="OlderAdultMale" style="calm">
            “刚打车过来的,路上还挺顺畅。”
        </mstts:express-as>
    </voice>
</speak>

Exemple de style de voix neuronale personnalisée

Vous pouvez former votre voix neurale personnalisée à parler avec des styles prédéfinis tels que cheerful, sad et whispering. Vous pouvez également entraîner une voix neuronale personnalisée à parler dans un style personnalisé, tel que déterminé par vos données d’entraînement. Pour utiliser votre style de voix neuronale personnalisée en SSML, spécifiez le nom de style que vous avez précédemment entré dans Speech Studio.

Cet exemple utilise une voix personnalisée nommée my-custom-voice. La voix personnalisée parle avec le style prédéfini cheerful et le degré de style de 2, puis avec un style personnalisé nommé my-custom-style avec un degré de style de 0.01.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="my-custom-voice">
        <mstts:express-as style="cheerful" styledegree="2">
            That'd be just amazing!
        </mstts:express-as>
        <mstts:express-as style="my-custom-style" styledegree="0.01">
            What's next?
        </mstts:express-as>
    </voice>
</speak>

ID de profil d’orateur

Utilisez l’élément mstts:ttsembedding pour spécifier la propriété speakerProfileId pour une voix personnelle. La voix personnelle est une voix neuronale personnalisée qui est entraînée sur votre propre voix ou la voix de votre client. Pour plus d’informations, consultez Créer une voix personnelle.

L’exemple SSML suivant utilise l’élément <mstts:ttsembedding> avec un nom de voix et un ID de profil d’orateur.

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
    <voice xml:lang='en-US' xml:gender='Male' name='PhoenixV2Neural'> 
    <mstts:ttsembedding speakerProfileId='your speaker profile ID here'> 
    I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 我很高兴听到你觉得我很了不起,我让你的旅行计划更轻松、更有趣。Je suis heureux d'apprendre que vous me trouvez incroyable et que j'ai rendu la planification de votre voyage plus facile et plus amusante.  
    </mstts:ttsembedding> 
    </voice> 
</speak> 

Ajuster les langues parlées

Par défaut, les voix multilingues peuvent détecter automatiquement la langue du texte d’entrée et parler dans la langue correspondant aux paramètres régionaux par défaut du texte d’entrée sans utiliser SSML. Si vous le souhaitez, vous pouvez utiliser l’élément <lang xml:lang> pour ajuster la langue parlée pour ces voix afin de définir l’accent préféré comme en-GB pour l’anglais britannique. Vous pouvez ajuster la langue parlée au niveau des phrases et des mots. Si vous souhaitez en savoir plus sur les langues prises en charge pour la voix multilingue, veuillez consulter la rubrique Voix multilingues avec l’élément lang pour obtenir un tableau montrant la syntaxe et les définitions d’attribut <lang>.

Le tableau suivant décrit l’utilisation des attributs de l’élément <lang xml:lang> :

Attribut Description Obligatoire ou facultatif
xml:lang Langue dans laquelle la voix neuronale doit s’exprimer. Obligatoire pour ajuster la langue utilisée par la voix neuronale. Si vous utilisez lang xml:lang, les paramètres régionaux doivent être fournis.

Notes

L’élément <lang xml:lang> est incompatible avec les éléments prosody et break. Vous ne pouvez pas ajuster la pause et la prosodie, par exemple la hauteur de voix, le contour de ton, le débit ou le volume, dans cet élément.

Les voix non multilingues ne prennent pas en charge l’élément <lang xml:lang> par conception.

Voix multilingues avec l’élément lang

Utilisez la section Voix multilingues afin de déterminer les langues parlées prises en charge par le service Speech pour chaque voix neuronale, comme le montre l’exemple de tableau suivant. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

Voix Numéro de langue détectée automatiquement Langue détectée automatiquement (paramètres régionaux) Tous les numéros de paramètres régionaux Toutes les langues (paramètres régionaux) prises en charge à partir de SSML
en-US-AndrewMultilingualNeural1 (Homme)
en-US-AvaMultilingualNeural1 (Femme)
en-US-BrianMultilingualNeural1 (Homme)
en-US-EmmaMultilingualNeural1 (Femme)
77 Afrikaans (af-ZA), albanais (sq-AL), allemand (de-DE), amharique (am-ET), anglais (en-US), arabe (ar-EG), arménien (hy-AM), azerbaïdjanais (az-AZ), bangla (bn-BD), basque (eu-ES), bengali (bn-IN), birman (my-MM), bosnien (bs-BA), bulgare (bg-BG), catalan (ca-ES), chinois (cantonais) (zh-HK), chinois (mandarin) (zh-CN), chinois (taïwanais) (zh-TW), cinghalais (si-LK), coréen (ko-KR), croate (hr-HR), danois (da-DK), espagnol (es-ES), estonien (et-EE), finnois (fi-FI), français (fr-FR), galicien (gl-ES), gallois (cy-GB), grec (el-GR), géorgien (ka-GE), hébreu (he-IL), hindi (hi-IN), hongrois (hu-HU), indonésien (id-ID), irlandais (ga-IE), islandais (is-IS), italien (it-IT), japonais (ja-JP), javanais (jv-ID), kannada (kn-IN), kazakh (kk-KZ), khmer (km-KH), laotien (lo-LA), letton (lv-LV), lituanien (lt-LT), macédonien (mk-MK), malais (ms-MY), malayalam (ml-IN), maltais (mt-MT), mongol (mn-MN), néerlandais (nl-NL), népalais (ne-NP), norvégien (bokmål) (nb-NO), ourdou (ur-PK), ouzbek (uz-UZ), pachto (ps-AF), persan (fa-IR), philippin (fil-PH), polonais (pl-PL), portugais (pt-BR), roumain (ro-RO), russe (ru-RU), serbe (sr-RS), slovaque (sk-SK), slovène (sl-SI), somali (so-SO), soundanais (su-ID), suédois (sv-SE), swahili (sw-KE), tamoul (ta-IN), tchèque (cs-CZ), télougou (te-IN), thaï (th-TH), turc (tr-TR), ukrainien (uk-UA), vietnamien (vi-VN), zoulou (zu-ZA) 91 Afrikaans (Afrique du Sud) (af-ZA), albanais (Albanie) (sq-AL), allemand (Allemagne) (de-DE), allemand (Autriche) (de-AT), allemand (Suisse) (de-CH), amharique (Éthiopie) (am-ET), anglais (Australie) (en-AU), anglais (Canada) (en-CA), anglais (États-Unis) (en-US), anglais (Hong Kong R.A.S) (en-HK), anglais (Inde) (en-IN), anglais (Irlande) (en-IE), anglais (Royaume-Uni) (en-GB), arabe (Arabie saoudite) (ar-SA),arabe (Égypte) (ar-EG), arménien (Arménie) (hy-AM), azerbaïdjanais (Azerbaïdjan) (az-AZ), basque (Pays Basque) (eu-ES), bengali (Inde) (bn-IN), birman (Myanmar) (my-MM), bosnien (Bosnie-Herzégovine) (bs-BA), bulgare (Bulgarie) (bg-BG), catalan (Espagne) (ca-ES), chinois (cantonais, traditionnel) (zh-HK), chinois (mandarin, simplifié) (zh-CN), chinois (mandarin taïwanais) (zh-TW), cinghalais (Sri Lanka) (si-LK), coréen (Corée) (ko-KR), croate (Croatie) (hr-HR), danois (Danemark) (da-DK), espagnol (Espagne) (es-ES), espagnol (Mexique) (es-MX), estonien (Estonie) (et-EE), finnois (Finlande) (fi-FI), français (Belgique) (fr-BE), français (Canada) (fr-CA), français (France) (fr-FR), français (Suisse) (fr-CH), galicien (Galice) (gl-ES), gallois (Royaume-Uni) (cy-GB), grec (Grèce) (el-GR), géorgien (Géorgie) (ka-GE), hébreu (Israël) (he-IL), hindi (Inde) (hi-IN), hongrois (Hongrie) (hu-HU), indonésien (Indonésie) (id-ID), irlandais (Irlande) (ga-IE), islandais (Islande) (is-IS), italien (Italie) (it-IT), japonais (Japon) (ja-JP), javanais (Indonésie) (jv-ID), kannada (Inde) (kn-IN), kazakh (Kazakhstan) (kk-KZ), khmer (Cambodge) (km-KH), laotien (Laos) (lo-LA), letton (Lettonie) (lv-LV), lituanien (Lituanie) (lt-LT), macédonien (Macédoine du Nord) (mk-MK), malais (Malaisie) (ms-MY), malayalam (Inde) (ml-IN), maltais (Malte) (mt-MT), mongol (Mongolie) (mn-MN), néerlandais (Belgique) (nl-BE), néerlandais (Pays-Bas) (nl-NL), népalais (Népal) (ne-NP), norvégien (bokmål) (Norvège) (nb-NO), ourdou (Pakistan) (ur-PK), ouzbek (Ouzbékistan) (uz-UZ), pachto (Afghanistan) (ps-AF), persan (Iran) (fa-IR), philippin (Philippines) (fil-PH), polonais (Pologne) (pl-PL), portugais (Brésil) (pt-BR), portugais (Portugal) (pt-PT), roumain (Roumanie) (ro-RO), russe (Russie) (ru-RU), serbe (cyrillique, Serbie) (sr-RS), slovaque (Slovaquie) (sk-SK), slovène (Slovénie) (sl-SI), somalien (Somalie) (so-SO), soundanais (Indonésie) (su-ID), suédois (Suède) (sv-SE), swahili (Kenya) (sw-KE), tamoul (Inde) (ta-IN), tchèque (République tchèque) (cs-CZ), télougou (Inde) (te-IN), thaï (Thaïlande) (th-TH), turque (Turquie) (tr-TR), ukrainien (Ukraine) (uk-UA), vietnamien (Vietnam) (vi-VN), zoulou (Afrique du Sud) (zu-ZA)

1 Il s’agit des voix multilingues neuronales dans Azure AI Speech. Toutes les voix multilingues peuvent parler dans la langue des paramètres régionaux par défaut du texte d’entrée sans utiliser SSML. Toutefois, vous pouvez toujours utiliser l’élément <lang xml:lang> pour ajuster l’accent parlé de chaque langue pour définir l’accent préféré comme l’accent britannique (en-GB) pour l’anglais. Le préfixe du nom de la voix indique les paramètres régionaux principaux. Par exemple, pour la voix en-US-AndrewMultilingualNeural, en-US correspond aux paramètres régionaux principaux.

Remarque

Les voix multilingues ne prennent pas entièrement en charge certains éléments SSML, tels que break, emphasis, silence et sub.

Exemples de langue

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément lang, veuillez consulter la rubrique Ajuster la langue parlée.

Vous devez définir en-US comme langue par défaut dans l’élément speak, que la langue soit ou non ajustée ailleurs. Dans cet exemple, la langue principale pour en-US-AvaMultilingualNeural est en-US.

Cet extrait de code SSML montre comment utiliser <lang xml:lang> pour parler en de-DE avec la voix neuronale en-US-AvaMultilingualNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <lang xml:lang="de-DE">
            Wir freuen uns auf die Zusammenarbeit mit Ihnen!
        </lang>
    </voice>
</speak>

Dans l’élément speak, vous pouvez spécifier plusieurs langues (dont en-US) pour la sortie de synthèse vocale. Pour chaque langue ajustée, le texte doit correspondre à la langue et être encapsulé dans un élément voice. Cet extrait de code SSML montre comment utiliser <lang xml:lang> pour changer les langages parlées en es-MX, en-US et fr-FR.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <lang xml:lang="es-MX">
            ¡Esperamos trabajar con usted!
        </lang>
        <lang xml:lang="en-US">
           We look forward to working with you!
        </lang>
        <lang xml:lang="fr-FR">
            Nous avons hâte de travailler avec vous!
        </lang>
    </voice>
</speak>

Ajuster la prosodie

Vous pouvez utiliser l’élément prosody pour spécifier les changements apportés à la hauteur de voix, au contour de ton, à la tessiture, au débit et au volume de la sortie de synthèse vocale. L’élément prosody peut contenir du texte et les éléments suivants : audio, break, p, phoneme, prosody, say-as, sub et s.

Étant donné que les valeurs d’attribut prosodique peuvent varier sur une vaste plage, le module de reconnaissance vocale interprète les valeurs affectées comme une suggestion de ce que les valeurs prosodiques réelles de la voix sélectionnée devraient être. La synthèse vocale limite ou remplace les valeurs non prises en charge. Des valeurs non prises en charge sont, par exemple, une tonalité de 1 MHz ou un volume de 120.

Le tableau suivant décrit l’utilisation des attributs de l’élément prosody :

Attribut Description Obligatoire ou facultatif
contour Le contour représente les changements de tonalité. Ces changements sont représentés sous la forme d’un tableau de cibles aux positions temporelles spécifiées dans la sortie vocale. Des ensembles de paires de paramètres définissent chaque cible. Par exemple :

<prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">

La première valeur dans chaque paire de paramètres spécifie l’emplacement du changement de tonalité sous la forme d’un pourcentage de la durée du texte. La deuxième valeur correspond à l’augmentation ou la réduction de la hauteur de voix, spécifiée à l’aide d’une valeur relative ou d’une valeur d’énumération pour la hauteur de voix (voir pitch). Le contour intonatif ne fonctionne pas sur les mots isolés et les phrases courtes. Il est recommandé d’ajuster le contour intonatif sur des phrases entières ou des phrases longues.
Facultatif
pitch Indique la tonalité de base pour le texte. Les modifications de tonalité peuvent être appliquées au niveau de la phrase. Les changements de tonalité doivent être compris entre 0,5 et 1,5 fois le son d’origine. Vous pouvez exprimer la tonalité comme suit :
  • Valeur absolue : exprimée sous la forme d’un nombre suivi de « Hz » (Hertz). Par exemple : <prosody pitch="600Hz">some text</prosody>.
  • Valeur relative :
    • Comme valeur relative : exprimée sous la forme d’un nombre précédé du signe « + » ou « - » et suivi de « Hz » ou « st », qui spécifie l’importance d’un changement de tonalité. Par exemple, <prosody pitch="+80Hz">some text</prosody> ou <prosody pitch="-2st">some text</prosody>. « st » indique que l’unité de changement est le demi-ton, c’est-à-dire la moitié d’un ton sur l’échelle diatonique standard.
    • Comme un pourcentage : exprimé sous la forme d’un nombre précédé de « + » (éventuellement) ou « - » et suivi de « % », indiquant la modification relative. Par exemple, <prosody pitch="50%">some text</prosody> ou <prosody pitch="-50%">some text</prosody>.
  • Valeur constante :
    • x-low (équivalent à 0,55, -45 %)
    • low (équivalent à 0,8, -20 %)
    • medium (équivalent à 1, valeur par défaut)
    • high (équivalent à 1,2, +20 %)
    • x-high (équivalent à 1,45, +45 %)
Facultatif
range Valeur représentant la plage de tonalités pour le texte. Vous pouvez exprimer range à l’aide des mêmes valeurs absolues, relatives ou d’énumération que celles utilisées pour décrire pitch. Facultatif
rate Indique la cadence d’énonciation du texte. Le débit de parole peut être appliqué au niveau du mot ou de la phrase. Les changements de débit doivent être compris entre 0.5 et 2 fois le son d’origine. Vous pouvez exprimer rate comme suit :
  • Valeur relative :
    • Comme valeur relative : exprimée sous forme de nombre agissant comme multiplicateur de la valeur par défaut. Par exemple, la valeur 1 n’entraîne aucun changement du débit d’origine. La valeur 0.5 entraîne une réduction de moitié du débit d’origine. La valeur 2 entraîne deux fois le débit d’origine.
    • Comme un pourcentage : exprimé sous la forme d’un nombre précédé de « + » (éventuellement) ou « - » et suivi de « % », indiquant la modification relative. Par exemple, <prosody rate="50%">some text</prosody> ou <prosody rate="-50%">some text</prosody>.
  • Valeur constante :
    • x-slow (équivalent à 0,5, -50 %)
    • slow (équivalent à 0,64, -46 %)
    • medium (équivalent à 1, valeur par défaut)
    • fast (équivalent à 1,55, +55 %)
    • x-fast (équivalent à 2, +100 %)
Facultatif
volume Indique le niveau de volume de la voix. Les modifications de volume peuvent être appliquées au niveau de la phrase. Vous pouvez exprimer le volume comme suit :
  • Valeur absolue, exprimée sous la forme d’un nombre dans la plage de 0.0 à 100.0, du plus bas au plus haut, comme 75. La valeur par défaut est 100.0.
  • Valeur relative :
    • Valeur relative : exprimée sous la forme d’un nombre précédé du signe « + » ou « - » spécifie une quantité de changement de volume. +10 ou -5.5 en sont des exemples.
    • Comme un pourcentage : exprimé sous la forme d’un nombre précédé de « + » (éventuellement) ou « - » et suivi de « % », indiquant la modification relative. Par exemple, <prosody volume="50%">some text</prosody> ou <prosody volume="+3%">some text</prosody>.
  • Valeur constante :
    • silent (équivalent à 0)
    • x-soft (équivalent à 0,2)
    • soft (équivalent à 0,4)
    • medium (équivalent à 0,6)
    • loud (équivalent à 0,8)
    • x-loud (équivalent à 1, valeur par défaut)
Facultatif

Exemples de prosodie

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément prosody, veuillez consulter la rubrique Ajuster la prosodie.

Exemple de changement de débit

Cet extrait de code SSML illustre la façon dont l’attribut rate est utilisé pour augmenter le débit de parole de 30 % par rapport au débit par défaut.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <prosody rate="+30.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Exemple de changement de volume

Cet extrait de code SSML illustre la façon dont l’attribut volume est utilisé pour augmenter le volume de 20 % par rapport au volume par défaut.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <prosody volume="+20.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Exemple de changement de tonalité

Cet extrait de code SSML illustre la façon dont l’attribut pitch est utilisé pour que la voix parle avec une tonalité plus haute.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        Welcome to <prosody pitch="high">Enjoy using text to speech.</prosody>
    </voice>
</speak>

Exemple de changement de contour intonatif

Cet extrait de code SSML illustre la manière dont l’attribut contour est utilisé pour changer le contour.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <prosody contour="(60%,-60%) (100%,+80%)" >
            Were you the only person in the room?
        </prosody>
    </voice>
</speak>

Ajuster l’accentuation

Vous pouvez utiliser l’élément facultatif emphasis pour ajouter ou supprimer l’accentuation sur le mot pour le texte. Cet élément ne peut contenir que du texte et les éléments suivants : audio, break, emphasis, lang, phoneme, prosody, say-as, sub et voice.

Notes

Le réglage de l’accentuation sur le mot est uniquement disponible pour ces voix neuronales : en-US-GuyNeural, en-US-DavisNeural et en-US-JaneNeural.

Pour les mots qui ont un ton faible et une courte durée, le ton peut ne pas être assez élevé pour être remarqué.

Le tableau suivant décrit les attributs de l’élément emphasis :

Attribut Description Obligatoire ou facultatif
level Indique la force de l’accentuation à appliquer :
  • reduced
  • none
  • moderate
  • strong

Lorsque l’attribut level n’est pas spécifié, le niveau par défaut est moderate. Si vous souhaitez en savoir plus sur chaque attribut, veuillez consulter la rubrique Élément emphasis.
Facultatif

Exemples d’accentuation

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément emphasis, veuillez consulter la rubrique Ajuster l’accentuation.

Cet extrait de code SSML montre comment utiliser l’élément emphasis pour ajouter un niveau modéré d’accentuation pour le mot « réunions ».

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AndrewMultilingualNeural">
    I can help you join your <emphasis level="moderate">meetings</emphasis> fast.
    </voice>
</speak>

Ajouter un audio enregistré

L’élément audio est facultatif. Vous pouvez l’utiliser pour insérer du contenu audio préenregistré dans un document SSML. Le corps de l’élément audio peut contenir du texte brut ou une balise SSML parlée, si le fichier audio n’est pas disponible ou s’il est illisible. L’élément audio peut également contenir du texte et les éléments suivants : audio, break, p, s, phoneme, prosody, say-as et sub.

Tout audio inclus dans le document SSML doit respecter les exigences suivantes :

  • Le fichier audio doit être un fichier *.mp3, *.wav, *.opus, *.ogg, *.flac ou *.wma.
  • La durée totale cumulée de tous les fichiers texte et audio dans une seule réponse ne peut pas dépasser 600 secondes.
  • L’audio ne doit pas contenir d’informations propres à un client ou d’autres informations sensibles.

Notes

L’élément audio n’est pas pris en charge par l’API Audio Long. Pour la conversion de texte long par synthèse vocale, utilisez plutôt l’API de synthèse par lots.

Le tableau suivant décrit l’utilisation des attributs de l’élément audio :

Attribut Description Obligatoire ou facultatif
src Emplacement URI du fichier audio. L’audio doit être hébergé sur un point de terminaison HTTPS accessible via Internet. HTTPS est obligatoire. Le domaine qui héberge le fichier doit présenter un certificat TLS/SSL approuvé valide. Vous devez placer le fichier audio dans le service Stockage Blob, au sein de la même région Azure que le point de terminaison de synthèse vocale pour réduire la latence. Requis

Exemples audio

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément audio, veuillez consulter la rubrique Ajuster l’enregistrement audio.

Cet extrait de code SSML illustre comment utiliser l’attribut src est utilisé pour insérer de l’audio depuis deux fichiers .wav.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <p>
            <audio src="https://contoso.com/opinionprompt.wav"/>
            Thanks for offering your opinion. Please begin speaking after the beep.
            <audio src="https://contoso.com/beep.wav">
                Could not play the beep, please voice your opinion now.
            </audio>
        </p>
    </voice>
</speak>

Ajuster la durée de l’audio

Utilisez l’élément mstts:audioduration pour définir la durée de l’audio de sortie. Utilisez cet élément pour synchroniser le minutage de l’achèvement de la sortie audio. La durée audio peut être réduite ou augmentée de 0.5 à 2 fois la vitesse de l’audio d’origine. L’audio d’origine est l’audio sans aucun autre paramètre de débit. Le taux d’élocution est ralenti ou accéléré en fonction de la valeur définie.

Le paramètre de durée audio s’applique à tout le texte d’entrée dans son élément voice englobant. Pour réinitialiser ou remodifier le paramètre de durée audio, vous devez utiliser un nouvel élément voice avec la même voix ou une autre voix.

Le tableau suivant décrit l’utilisation des attributs de l’élément mstts:audioduration :

Attribut Description Obligatoire ou facultatif
value Durée demandée de l’audio de sortie en secondes (par exemple 2s) ou en millisecondes (par exemple 2000ms).

La valeur maximale pour la durée audio sortante est de 300 secondes. Cette valeur doit être comprise entre 0.5 et 2 fois l’audio d’origine sans autres paramètres de débit. Par exemple, si la durée demandée de votre contenu audio est 30s, la durée du contenu audio d’origine doit être comprise entre 15 et 60 secondes. Si vous définissez une valeur en dehors de ces limites, la durée est définie en fonction du multiple minimal ou maximal respectif. Pour les audios sortants supérieurs à 300 secondes, générez d’abord l’audio d’origine sans les autres paramètres de débit, puis calculez le débit pour ajuster en utilisant le débit prosodie afin d’obtenir la durée souhaitée.
Requis

Exemples de durée audio mstts

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément mstts:audioduration, veuillez consulter la rubrique Ajuster la durée de l’audio.

Dans cet exemple, l’audio d’origine est d’environ 15 secondes. L’élément mstts:audioduration permet de définir la durée audio sur 20 secondes ou 20s.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AvaMultilingualNeural">
<mstts:audioduration value="20s"/>
If we're home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>

Ajouter un arrière-plan audio

Vous pouvez utiliser l’élément mstts:backgroundaudio pour ajouter un contenu audio d’arrière-plan à vos documents SSML ou mélanger un fichier audio avec la synthèse vocale. Avec mstts:backgroundaudio, vous pouvez exécuter en boucle un fichier audio en arrière-plan, l’estomper au début de la synthèse vocale et l’estomper à la fin de la synthèse vocale.

Si le contenu audio d’arrière-plan fourni est plus court que la synthèse vocale ou le fondu de fermeture, il est répété en boucle. S’il est plus long que la synthèse vocale, il s’arrête à la fin du fondu de fermeture.

Un seul fichier audio en arrière-plan est autorisé par document SSML. Vous pouvez intercaler des balises audio dans l’élément voice pour ajouter du contenu audio supplémentaire à votre document SSML.

Notes

L’élément mstts:backgroundaudio doit être placé devant tous les éléments voice. S’il est spécifié, il doit correspondre au premier enfant de l’élément speak.

L’élément mstts:backgroundaudio n’est pas pris en charge par l’API Audio Long. Pour la conversion de texte long par synthèse vocale, utilisez plutôt l’API de synthèse par lots (préversion).

Le tableau suivant décrit l’utilisation des attributs de l’élément mstts:backgroundaudio :

Attribut Description Obligatoire ou facultatif
src Emplacement URI du fichier audio de fond sonore. Obligatoire
volume Volume du fichier audio de fond sonore. Valeurs acceptées : 0 à 100 inclus. La valeur par défaut est 1. Facultatif
fadein Durée de l’apparition en fondu du fond sonore, en millisecondes. La valeur par défaut est 0, ce qui équivaut à aucune apparition en fondu audio. Valeurs acceptées : 0 à 10000 inclus. Facultatif
fadeout Spécifie la durée de la disparition en fondu du fond sonore, en millisecondes. La valeur par défaut est 0, ce qui équivaut à aucune disparition en fondu. Valeurs acceptées : 0 à 10000, inclus. Facultatif

Exemples mstss backgroundaudio

Si vous souhaitez en savoir plus sur les valeurs prises en charge pour les attributs de l’élément mstts:backgroundaudi, veuillez consulter la rubrique Ajuster l’audio en arrière-plan.

<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
    <mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
    <voice name="en-US-AvaMultilingualNeural">
        The text provided in this document will be spoken over the background audio.
    </voice>
</speak>

Étapes suivantes