Personnalisation du texte parlé
Vue d'ensemble
Vous pouvez contrôler la façon dont l'API Voice de Vonage diffuse du texte généré par une machine à vos utilisateurs en utilisant un sous-ensemble de balises définies dans le fichier Spécification du langage de balisage de la synthèse vocale (SSML). Ce balisage basé sur XML vous permet de mélanger plusieurs langues, de fournir des indications de prononciation pour des mots et des nombres spécifiques et de contrôler la vitesse, le volume et la hauteur du texte synthétisé.
Dans un BCN talk vous pouvez envoyer Balises SSML en tant que
partie de la chaîne de texte. Mais d'abord, vous devez entourer la chaîne entière de <speak></speak> pour indiquer à Vonage que la chaîne comprend du SSML. Vous pouvez utiliser des guillemets simples ou des guillemets doubles échappés pour les valeurs des attributs des balises.
Voici un exemple de SSML dans le text propriété d'un BCN talk action :
[
{
"action": "talk",
"text": "<speak><p>Hello.</p><p>How are you?</p></speak>"
}
]
Balises SSML
- Pauses: Ajouter des pauses au texte parlé
- Mettre l'accent: Ajouter ou supprimer l'accentuation du texte
- Langue: Spécifier une autre langue pour des mots spécifiques
- Phonèmes: Epeler le texte en utilisant le alphabet phonétique
- Prosodie: Régler la hauteur, la vitesse et le volume du texte parlé
- Dites que: Fournir des conseils de prononciation pour les mots, les nombres et les dates.
- Phrases et paragraphes: Forcer l'API à reconnaître les phrases et les paragraphes lorsque vous prononcez votre texte.
- Substitution: Remplacer un texte spécifique par la prononciation de votre choix
Pauses
Les break permet d'ajouter des pauses au texte. La durée de la
peut être spécifiée à l'aide d'une balise strength ou en tant que
time secondes ou millisecondes.
<speak>My name is <break time='1s' />Slim Shady.</speak>
Valable strength Les valeurs sont les suivantes
noneoux-weak(ce qui supprime la pause qui pourrait autrement exister après un point)weakoumedium(équivalent à une virgule)strongoux-strong(équivalent à un saut de paragraphe)
<speak>
To be <break strength='weak' />
or not to be <break strength='weak' />
that is the question.
</speak>
Mettre l'accent
Pour mettre l'accent sur certains mots, utilisez la touche emphasis tag. L'accentuation des mots modifie le débit et le volume de la parole. Plus l'accent est mis, plus le texte est fort et lent. Moins d'emphase rend le texte plus silencieux et plus rapide.
Note : Le emphasis n'est pas disponible pour les voix Premium TTS.
Pour spécifier le degré d'accentuation, utilisez la fonction level attribut.
Valable level Les valeurs sont les suivantes
strong: Augmente le volume et ralentit la vitesse d'élocution de manière à ce que le discours soit plus fort et plus lent.moderate: Augmente le volume et ralentit la vitesse d'élocution, mais moins que fort.moderateest la valeur par défaut.reduced: Diminue le volume et accélère la vitesse d'élocution. La parole est plus douce et plus rapide.
<speak>
<emphasis level="moderate">This is an important announcement</emphasis>
</speak>
Langue
Les lang vous permet de spécifier une autre langue pour un mot, une expression ou une phrase spécifique.
Elle peut être utile pour améliorer la prononciation de mots étrangers.
La balise de langue doit contenir à la fois la balise de langue et le
le code du pays (par exemple pt-BR pour le portugais brésilien, en-GB pour
pour l'anglais britannique), même pour les langues ne comportant pas de
un code de pays pourrait être redondant (par ex. it-IT pour
italien).
<speak><lang xml:lang='it-IT'>Buongiorno</lang></speak>
A noter, lang modifie la prononciation, mais pas la langue "maternelle" de la voix,
par exemple, si la langue en talk L'action/demande est définie comme en-USet SSML lang dans l'ensemble du texte à fr-FR,
la phrase sera prononcée en français avec un accent américain.
Pour changer la langue de l'ensemble du message, utilisez la fonction language ou le paramètre talk à la place de l'action/requête.
Tous les styles vocaux ne prennent pas en charge lang étiquette.
Phonèmes
Les phoneme vous permet d'envoyer une représentation de l'alphabet phonétique international (IPA) d'un mot.
(IPA) d'un mot. Pour l'utiliser, vous devez
spécifier à la fois un alphabet (soit ipa ou
x-sampa) et le ph
contenant les symboles phonétiques.
<speak>
<phoneme alphabet='ipa' ph='təˈmætoː'>Tomato</phoneme> or
<phoneme alphabet='ipa' ph='təˈmeɪtoʊ'>tomato</phoneme>.
Two nations separated by a common language.
</speak>
Prosodie
Les prosody permet de définir la hauteur, la vitesse et le volume du texte.
texte.
Les
volumepeut prendre les valeurs suivantes :default,silent,x-soft,soft,medium,loudetx-loud. Vous pouvez également spécifier une valeur relative en décibels sous la forme+ndBou-ndBoùnest une valeur entière.Les
ratemodifie la vitesse d'élocution. Les valeurs acceptables incluent :x-slow,slow,medium,fastetx-fast.Les
pitchmodifie la hauteur de la voix. Vous pouvez spécifier à l'aide d'étiquettes de valeurs prédéfinies ou numériquement. Les étiquettes sont les suivantes :default,x-low,low,medium,highetx-high. Le format de spécification d'un changement de hauteur numérique est le suivant :+n%et-n%.
Remarque : Lors de l'utilisation des voix Premium TTS, la fonction pitch n'est pas pris en charge.
L'exemple ci-dessous montre comment modifier le volume, la vitesse et la hauteur.
<speak>
I am <prosody volume='loud'>loud and proud</prosody>,
<prosody rate='fast'>quick as a cricket</prosody>
and can <prosody pitch='x-low'>change my pitch</prosody>.
</speak>
Dites comme
Les say-as vous permet de fournir des instructions sur la façon dont certains mots et nombres sont prononcés. La plupart de ces caractéristiques sont automatiquement détectées dans la parole par le moteur TTS, mais la balise say-as vous permet de les marquer spécifiquement.
Les say-as a un attribut obligatoire : interpret-as. Cet attribut doit contenir l'une des valeurs suivantes :
Valeur de interpret-as | Effet sur le texte parlé |
|---|---|
character | Epelle chaque lettre, par exemple : I-A-T-A. |
cardinal | Prononce la valeur comme un nombre. Par exemple, "974" se prononce "neuf cent soixante-quatorze". |
ordinal | Prononce le nombre comme un ordinal. Par exemple, "1" se prononce "premier" et "33" se prononce "trente-troisième". |
digits | Lit les nombres spécifiés sous forme de chiffres. Par exemple, "747" se prononce "sept quatre sept" et non "sept cent quarante sept". |
fraction | Lire les nombres sous forme de fraction. Par exemple, "1/3" se prononce "un tiers" et "2 4/10" se prononce "deux et quatre dixièmes". |
unit | Lit le nombre spécifié sous forme d'unité. La valeur doit être un nombre suivi d'une unité de mesure, sans espace entre les deux. Par exemple : "1m" : "1m". |
date | Préciser la prononciation des dates. Voir la section ci-dessous sur formatage de la date. |
time | Prononce les durées en minutes et en secondes. Par exemple : 1'30" est lu comme "une minute et trente secondes". |
expletive | Remplace le contenu par un "bip" pour censurer les jurons. Vous pouvez utiliser cette fonction pour remplacer automatiquement les jurons filtrés. |
telephone | Lit un numéro de téléphone avec des pauses appropriées. |
address | Lit l'adresse d'une rue avec les pauses appropriées. |
Note: Tous les styles vocaux ne prennent pas en charge address option.
Remarque : Lors de l'utilisation des voix Premium TTS, la character peut ne pas fonctionner comme prévu et doit être évité.
Un exemple :
<speak>
Your number is <say-as interpret-as='cardinal'>10</say-as>.
You are <say-as interpret-as='ordinal'>10</say-as> in line.
The digits for ten are <say-as interpret-as='digits'>10</say-as>.
</speak>
Formatage de la date
Les dates peuvent être formatées de la manière suivante :
format | Lecture de la date |
|---|---|
mdy | mois-date-année (par exemple "3/10/2019") |
dmy | jour-mois-année (par exemple "10/3/2019") |
ymd | année-mois-jour (par exemple "2019/3/10") |
md | le jour du mois (par exemple "3/10") |
dm | jour-mois (par exemple "10/3") |
ym | année-mois (par exemple "2019/3") |
my | mois-année (par exemple "3/2019") |
d | jour (par exemple "10") |
m | le mois (par exemple "3") |
y | l'année (par exemple "2019") |
yyyymmdd | année-mois-jour, avec l'option ? pour remplacer des composants non spécifiés. Par exemple : 20190310 ou ????0310. |
L'exemple ci-dessous sera converti en "Nous sommes le 10 mars".
<speak>
Today is <say-as interpret-as="date" format="dm">10/3</say-as>
</speak>
Phrases et paragraphes
Phrases
Vous pouvez envelopper des phrases dans le s . Cela équivaut à mettre un
à la fin de la phrase.
<speak>
<s>Thank you Mario</s>
<s>But our princess is in another castle</s>
</speak>
Paragraphes
Les p vous permet de spécifier des paragraphes dans votre discours.
<speak>
<p>Hello.</p>
<p>How are you?</p>
</speak>
Substitution
Les sub vous permet de fournir une prononciation de remplacement. Le contenu de la balise alias sera lu à la place.
<speak>
Welcome to the <sub alias="United States">US</sub>.
</speak>