amazon polly - manuel du développeur · homographes). • faible latence ... 3.exemples...
Post on 13-Sep-2018
217 Views
Preview:
TRANSCRIPT
Amazon PollyManuel du développeur
Amazon Polly Manuel du développeur
Amazon Polly: Manuel du développeurCopyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.
Amazon Polly Manuel du développeur
Table of ContentsDéfinition d'Amazon Polly .................................................................................................................... 1
Vous utilisez Amazon Polly pour la première fois ? .......................................................................... 1Fonctionnement .................................................................................................................................. 3
Quelle est la prochaine étape ? .................................................................................................... 3Voix dans Amazon Polly .............................................................................................................. 3
Voix disponibles ................................................................................................................. 4Écoute des voix ................................................................................................................. 6Vitesse vocale .................................................................................................................... 7
Questions fréquentes .................................................................................................................. 8Questions d'ordre général .................................................................................................... 8Restitution de contenu ......................................................................................................... 8Confidentialité et sécurité des données .................................................................................. 9
Mise en route ................................................................................................................................... 11Étape 1 : Configurer un compte et un utilisateur ............................................................................ 11
Étape 1.1 : S'inscrire à AWS .............................................................................................. 11Étape 1.2 : Création d'un utilisateur IAM ............................................................................... 12Étape suivante ................................................................................................................. 13
Étape 2 : Démarrer à l'aide de la console ..................................................................................... 13Exercice 1 : Procédure de démarrage rapide Synthèse vocale (Console) ................................... 13Exercice 2 : Synthèse vocale (entrée de texte brut) ................................................................ 13Étape suivante ................................................................................................................. 14
Étape 3 : Démarrer à l'aide de l'AWS CLI ..................................................................................... 14Étape 3.1 : Configuration de l'AWS CLI ................................................................................ 14Étape 3.2 : Exercice de mise en route .................................................................................. 16
Quelle est la prochaine étape ? .................................................................................................. 17Configuration de Python et test d'un exemple ........................................................................ 17
Voix dans Amazon Polly .................................................................................................................... 19Voix disponibles ......................................................................................................................... 4Écoute des voix ......................................................................................................................... 6Vitesse vocale ............................................................................................................................ 7
Modification de votre vitesse vocale ..................................................................................... 21Langues prise en charge par Amazon Polly .................................................................................. 22
Marques vocales ............................................................................................................................... 24Types de marques vocales ........................................................................................................ 24
Les visèmes dans Amazon Polly ......................................................................................... 24Utilisation de marques vocales .................................................................................................... 25
Demande de marques vocales ............................................................................................ 25Sortie d'une marque vocale ................................................................................................ 26Exemples de marques vocales ........................................................................................... 27
Demande de marques vocales à l'aide de la console Amazon Polly .................................................. 28Utilisation de SSML ........................................................................................................................... 30
Utilisation de SSML dans la console ............................................................................................ 30Utilisation de SSML via l'interface de ligne de commande AWS ........................................................ 31
Utilisation de SSML avec la commande de synthèse vocale .................................................... 32Synthétisation d'un document amélioré par SSML .................................................................. 32Utilisation de SSML pour des tâches Amazon Polly courantes .................................................. 33
Balises SSML prises en charge par Amazon Polly ......................................................................... 36Balises SSML prises en charge .......................................................................................... 36
Gestion des lexiques ....................................................................................................................... 122Application de plusieurs lexiques ............................................................................................... 122Gestion des lexiques à l'aide de la console ................................................................................. 123
Chargement des lexiques à l'aide de la console ................................................................... 123Application de lexiques à l'aide de la console (Synthèse vocale) ............................................. 124Filtrage de la liste des lexiques à l'aide de la console ........................................................... 125
iii
Amazon Polly Manuel du développeur
Téléchargement des lexiques à l'aide de la console .............................................................. 125Suppression d'un lexique à l'aide de la console ................................................................... 126
Gestion des lexiques à l'aide d'AWS CLI .................................................................................... 126PutLexicon ..................................................................................................................... 126GetLexicon ..................................................................................................................... 131ListLexicons .................................................................................................................... 131DeleteLexicon ................................................................................................................. 132
Création de fichiers audio longs ........................................................................................................ 133Configuration de la stratégie IAM pour la synthèse asynchrone ..................................................... 133Création de fichiers audio longs (console) ................................................................................... 134Création de fichiers audio longs (CLI) ........................................................................................ 135
Exemples d'applications et de code ................................................................................................... 138Exemple de code .................................................................................................................... 138
Exemples Java ............................................................................................................... 138Exemples Python ............................................................................................................ 144
Exemples d'applications ........................................................................................................... 149Exemple Python .............................................................................................................. 149Exemple Java ................................................................................................................. 159Exemple iOS .................................................................................................................. 163Exemple Android ............................................................................................................. 165
Plug-in WordPress .......................................................................................................................... 167Configuration du plug-in ........................................................................................................... 167
Créer une stratégie d'autorisations ..................................................................................... 167Créer un utilisateur IAM pour le plug-in .............................................................................. 168Installer et configurer le plug-in ......................................................................................... 169Personnalisation de WordPress ......................................................................................... 170Stockage des fichiers audio .............................................................................................. 172
Restrictions .................................................................................................................................... 175Régions prises en charge ......................................................................................................... 175Limitation ............................................................................................................................... 175Lexiques de prononciation ........................................................................................................ 175Opération API SynthesizeSpeech .............................................................................................. 176Opérations d'API SpeechSynthesisTask ...................................................................................... 176Synthèse vocale SSML (Markup Language) ................................................................................ 176
Intégration de CloudTrail .................................................................................................................. 177Informations relatives à Amazon Polly dans CloudTrail .................................................................. 177Présentation des entrées des fichiers journaux Amazon Polly ......................................................... 178
Intégration de CloudWatch ............................................................................................................... 180Métriques CloudWatch (Console) ............................................................................................... 180Métriques CloudWatch (Interface de ligne de commande) .............................................................. 180Métriques Amazon Polly ........................................................................................................... 181Dimensions pour les métriques Amazon Polly .............................................................................. 182
API Reference ................................................................................................................................ 183Actions .................................................................................................................................. 183
DeleteLexicon ................................................................................................................. 184DescribeVoices ............................................................................................................... 186GetLexicon ..................................................................................................................... 189GetSpeechSynthesisTask ................................................................................................. 191ListLexicons .................................................................................................................... 193ListSpeechSynthesisTasks ................................................................................................ 195PutLexicon ..................................................................................................................... 197StartSpeechSynthesisTask ................................................................................................ 199SynthesizeSpeech ........................................................................................................... 204
Data Types ............................................................................................................................ 208Lexicon .......................................................................................................................... 209LexiconAttributes ............................................................................................................. 210LexiconDescription .......................................................................................................... 212
iv
Amazon Polly Manuel du développeur
SynthesisTask ................................................................................................................ 213Voice ............................................................................................................................. 216
Authentification et contrôle d'accès .................................................................................................... 218Authentification ....................................................................................................................... 218Contrôle d'accès ..................................................................................................................... 219Présentation de la gestion de l'accès ......................................................................................... 219
Ressources et opérations Amazon Polly ............................................................................. 220Présentation de la propriété des ressources ........................................................................ 220Gestion de l'accès aux ressources ..................................................................................... 220Spécification des éléments d'une stratégie : actions, effets et mandataires ................................ 222Spécification des conditions dans une stratégie ................................................................... 223
Utilisation des stratégies basées sur une identité (stratégies IAM) ................................................... 223Autorisations requises pour utiliser la console Amazon Polly .................................................. 224Stratégies gérées par AWS (stratégies prédéfinies) pour Amazon Polly .................................... 224Exemples de stratégies gérées par le client ........................................................................ 225
Référence des autorisations de l'API Amazon Polly ...................................................................... 227Historique du document ................................................................................................................... 229Glossaire AWS ............................................................................................................................... 230
v
Amazon Polly Manuel du développeurVous utilisez Amazon Polly pour la première fois ?
Définition d'Amazon PollyAmazon Polly est un service de cloud qui convertit un texte en un discours réaliste. Vous pouvez utiliserAmazon Polly pour développer des applications qui optimisent l'implication et améliorent l'accessibilité.Amazon Polly prend en charge plusieurs langues et propose différentes voix réelles, ce qui vous permetd'élaborer des synthèses vocales adaptées à plusieurs endroits et d'utiliser la voix idéale pour vos clients.Avec Amazon Polly, vous ne payez que pour le texte que vous avez synthétisé. Vous pouvez égalementmettre en cache et réécouter le discours généré d'Amazon Polly sans frais supplémentaire.
Les cas d'utilisation courants d'Amazon Polly incluent, sans s'y limiter, des applications mobiles tellesque des lecteurs, des jeux, des plateformes d'apprentissage en ligne, des applications pour personnesmalvoyantes, ainsi que le secteur en forte expansion de l'Internet des objets (IdO).
Amazon Polly n'est pas certifié pour être utilisé avec des charges de travail réglementées pour HIPAA(Health Insurance Portability and Accountability Act de 1996) et GovCloud.
Amazon Polly n'est pas certifié pour être utilisé avec la norme PCI DSS (Payment Card Industry DataSecurity Standard) ou FedRAMP.
Parmi les avantages liés à l'utilisation d'Amazon Polly, on note :
• Haute qualité – Amazon Polly utilise une technologie de synthèse vocale (TTS) de première qualité poursynthétiser le discours naturel avec une précision élevée de prononciation (comprenant notamment lesabréviations, les expansions d'acronymes, les interprétations de date/heure et la désambiguïsation deshomographes).
• Faible latence – Amazon Polly garantit des temps de réponse rapides, qui en font une option viable pour
des cas d'utilisation à faible latence tels que les systèmes de dialogue.
• Prise en charge d'un large éventail de langues et de voix – Amazon Polly prend en charge des douzaines
de voix et plusieurs langues, avec des options de voix d'hommes et de femmes pour la plupart deslangues.
• Rentabilité – Le modèle de paiement uniquement à l'utilisation d'Amazon Polly implique qu'il n'y a aucun
coût d'installation. Vous pouvez commencer sur une petite échelle et augmenter au fur et à mesure dudéveloppement de votre application.
• Solution basée sur le Cloud – Solutions de synthèse vocale sur l'appareil qui nécessitent des ressources
informatiques conséquentes, notamment la puissance de l'UC, la mémoire RAM et l'espace disque.Elles peuvent entraîner des coûts de développement plus élevés et une consommation d'énergie plusimportante sur des appareils tels que des tablettes, des smartphones, etc. En revanche, la conversiond'un texte en voix effectuée dans le cloud permet de réduire considérablement les besoins en ressourceslocales. Cela permet de prendre en charge toutes les langues et les voix disponibles avec la meilleurequalité possible. En outre, des améliorations au niveau des discours sont instantanément disponiblespour tous les utilisateurs finaux et ne requièrent pas d'autres mises à jour au niveau des appareils.
Vous utilisez Amazon Polly pour la première fois ?Si vous utilisez le service Amazon Polly pour la première fois, nous vous recommandons de lire lessections suivantes dans l'ordre indiqué :
1
Amazon Polly Manuel du développeurVous utilisez Amazon Polly pour la première fois ?
1. Amazon Polly : fonctionnement (p. 3) – Cette section présente différentes données à saisir etdifférentes options d'Amazon Polly que vous pouvez utiliser tout au long du processus.
2. Mise en route avec Amazon Polly (p. 11)– Dans cette section, vous configurez votre compte et testezla synthèse vocale d'Amazon Polly.
3. Exemples d'applications (p. 149) – Cette section fournit des exemples supplémentaires que vouspouvez utiliser pour explorer Amazon Polly.
2
Amazon Polly Manuel du développeurQuelle est la prochaine étape ?
Amazon Polly : fonctionnementAmazon Polly convertit le texte saisi en discours avec une voix humaine. Appelez l'une des méthodes desynthèse vocale, saisissez le texte à synthétiser, sélectionnez l'une des voix de synthèse vocale (TTS)disponibles et spécifiez un format de sortie audio. Amazon Polly synthétise ensuite le texte fourni dans unflux audio de transmission vocale de grande qualité.
• Texte saisi – fournit le texte que vous voulez synthétiser, et Amazon Polly retourne un flux de donnéesaudio. Vous pouvez fournir les données d'entrée sous forme de texte brut ou au format de synthèsevocale SSML (Markup Language). Avec SSML, vous pouvez contrôler différents aspects du discourstels que la prononciation, le volume, le contenu audio et le débit de parole. Pour plus d'informations,consultez Génération de discours à partir de documents SSML (p. 30).
• Voix disponibles - Amazon Polly propose un large éventail de langues et de voix, y compris une voix
bilingue (utilisée pour l'anglais et l'hindi). Pour la plupart des langues, différentes voix d'hommes et defemmes vous sont proposées. Spécifiez le nom de l'ID de voix lors du lancement de la tâche de synthèsevocale. Le service utilise alors cette voix pour convertir le texte en discours. Amazon Polly n'est pas unservice de traduction — la synthèse vocale est dans la langue du texte. Toutefois, les nombres utilisantdes chiffres (par exemple, 53, et non cinquante-trois) sont synthétisés dans la langue de la voix. Pourplus d'informations, consultez Voix dans Amazon Polly.
• Format de sortie – Amazon Polly peut fournir une synthèse vocale dans plusieurs formats. Vous pouvez
sélectionner le format audio adapté à vos besoins. Par exemple, vous pouvez demander le discours auformat MP3 ou Ogg Vorbis pour l'utiliser dans les applications web et mobiles. Vous pouvez égalementdemander le format de sortie PCM pour les appareils AWS IoT et les solutions de téléphonie.
Quelle est la prochaine étape ?Si vous utilisez Amazon Polly pour la première fois, nous vous conseillons de lire les rubriques suivantesdans l'ordre indiqué :
• Mise en route avec Amazon Polly (p. 11)• Exemples d'applications (p. 149)• Limites d'Amazon Polly (p. 175)
Voix dans Amazon PollyAmazon Polly fournit une grande diversité de voix différentes en plusieurs langues à utiliser lors de lasynthèse vocale à partir d'un texte.
3
Amazon Polly Manuel du développeurVoix disponibles
Voix disponibles
LangueNomsmasculins/ID
Nomsféminins/ID
Danois(da-DK)
MadsNaja
Néerlandais(nl-NL)
RubenLotte
Anglais,australien(en-AU)
RussellNicole
Anglais(britannique)(en-GB)
BrianAmy
Emma
Anglais,indien(en-IN)
Aditi(bilingue,hindi)
Raveena
Anglais(États-Unis)(en-US)
Joey
Justin
Matthew
Ivy
Joanna
Kendra
Kimberly
Salli
Anglais(Gallois)(en-GB-WLS)
Geraint
Français(fr-FR)
MathieuCéline/Celine
Françaiscanadien(fr-CA)
Chantal
Allemand(de-DE)
HansMarlene
Vicki
4
Amazon Polly Manuel du développeurVoix disponibles
LangueNomsmasculins/ID
Nomsféminins/ID
Hindi(hi-IN)
Aditi(bilingue,anglaisavecintonationindienne)
Islandais(is-IS)
KarlDóra/Dora
Italien(it-IT)
GiorgioCarla
Japonais(ja-JP)
TakumiMizuki
Coréen(ko-KR)
Seoyeon
Norvégien(nb-NO)
Liv
Polonais(pl-PL)
Jacek
Jan
Ewa
Maja
Portugaisbrésilien(pt-BR)
RicardoVitória/Vitoria
Portugaiseuropéen(pt-PT)
CristianoInês/Ines
Roumain(ro-RO)
Carmen
Russe(ru-RU)
MaximTatyana
Espagnol(Europe)(es-ES)
EnriqueConchita
5
Amazon Polly Manuel du développeurÉcoute des voix
LangueNomsmasculins/ID
Nomsféminins/ID
Espagnol(Amériquelatine)(es-US)
MiguelPenélope/Penelope
Suédois(sv-SE)
Astrid
Turc(tr-TR)
Filiz
Gallois(cy-GB)
Gwyneth
Pour garantir une prise en charge continue à nos clients, nous ne prévoyons pas de retirer de voix. Ceprincipe s'applique à la fois aux voix actuellement disponibles et aux voix futures.
Écoute des voixVous pouvez utiliser la console Amazon Polly pour écouter un échantillon à partir de l'une des voixdisponibles dans Amazon Polly
Pour écouter une voix dans Amazon Polly
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly.2. Choisissez l'onglet Text-to-Speech.3. Sélectionnez une langue et une région, puis sélectionnez une voix4. Saisissez le texte de la voix pour parler ou utiliser la phrase par défaut, puis choisissez Listen to
speech.
Vous pouvez choisir l'une des langues proposées par Amazon Polly ; la console affichera les voixdisponibles pour cette langue. Dans la plupart des cas, il y aura au moins une voix masculine et une voixféminine, et souvent plus d'une de chaque. Une voix est bilingue (hindi et anglais avec intonation indienne)et quelques-unes n'ont qu'une seule voix.
Note
L'inventaire des voix et le nombre de langues incluses est régulièrement mise à jour afin d'incluredes choix supplémentaires. Pour proposer une nouvelle langue ou voix, n'hésitez pas à fournir descommentaires sur cette page. Malheureusement, nous ne sommes pas en mesure de commenterles plans de publication de nouvelles langues.
Chaque voix est créée à l'aide de locuteurs natifs et, par conséquent, il y a des variations d'une voix à uneautre, même au sein de la même langue. Lorsque vous sélectionnez une voix pour votre projet, vous deveztester chaque voix possible avec un passage de texte pour déterminer celle qui correspond le mieux à vosbesoins.
6
Amazon Polly Manuel du développeurVitesse vocale
Vitesse vocaleEn raison de la variation naturelle entre les voix, chaque voix disponible prononcera le texte à desvitesses légèrement différentes. Par exemple, avec une voix en anglais (États-Unis), Ivy et Joanna parlentlégèrement plus vite que Matthew lorsqu'ils disent « Mary had a little lamb », et nettement plus vite queJoey.
Comme il y a une telle variation entre les voix et que le degré de variation peut dépendre du texteprononcé, aucune vitesse standard (mots par minute) n'est disponible pour les voix Amazon Polly.Cependant, vous pouvez rechercher le temps nécessaire que met votre voix pour le texte sélectionné enutilisant SpeechMarks. Pour plus d'informations sur l'utilisation des marques vocales dans Amazon Polly,consultez Utilisation de marques vocales (p. 25)
Pour déterminer approximativement la durée nécessaire pour lire à voix haute un passage du texte
1. Ouvrez l'interface de ligne de commande AWS.2. Exécutez le code suivant, en complétant comme nécessaire
aws polly synthesize-speech \ --language-code optional language code if needed --output-format json \ --voice-id [name of desired voice] \ --text '[desired text]' \ --speech-mark-types='["viseme"]' \ LengthOfText.txt
3. Ouvrez LengthOfText.txt
Si le texte était « Mary had a little lamb », les dernières lignes renvoyées par Amazon Polly seront lessuivants :
{"time":882,"type":"viseme","value":"t"} {"time":964,"type":"viseme","value":"a"} {"time":1082,"type":"viseme","value":"p"}
Le dernier visème, essentiellement le son des dernières lettres de « lamb » démarre 1 082 millisecondesaprès le début de la phrase. Bien que ce ne soit pas exactement la longueur de l'audio, elle est assezproche et peut être utilisée comme base pour la comparaison entre les voix.
Pour certaines applications, vous pouvez trouver que vous préféreriez que la voix ralentisse ou accélère.Si la vitesse de la voix est une préoccupation, Amazon Polly offre la possibilité de la modifier à l'aide debalises SSML.
Par exemple, si les membres du public visé parlent anglais, mais pas couramment, vous pouvez envisagerde ralentir le débit de parole afin de leur laisser plus de temps pour comprendre le texte énoncé.
Amazon Polly vous aide à ralentir la vitesse de lecture à l'aide de la balise SSML <prosody>, comme dans :
<prosody rate="slow">Mary had a little lamb.</prosody>
Cinq options de vitesse différentes sont disponibles : x-slow, slow, medium, fast et x-fast. La vitessede chaque option est approximative et dépend de la voix que vous choisissez. Nous vous recommandonsde tester la voix afin de vérifier qu'elle répond bien à vos besoins. L'option medium est la vitesse normalede la voix.
7
Amazon Polly Manuel du développeurQuestions fréquentes
Questions fréquentesCette rubrique fournit des réponses aux questions fréquemment posées sur Amazon Polly.
Rubriques• Questions d'ordre général (p. 8)• Restitution de contenu (p. 8)• Confidentialité et sécurité des données (p. 9)
Questions d'ordre généralQ : Puis-je enregistrer le résultat de la synthèse vocale ?
Lorsque vous utilisez l'opération SynthesizeSpeech, vous pouvez enregistrer la sortie de la synthèsepour une utilisation sur votre propre système. Vous pouvez également appeler Amazon Polly, puischiffrer le fichier avec n'importe quelle clé de chiffrement et le stocker dans Amazon Simple StorageService (Amazon S3) ou tout autre espace de stockage sécurisé. L'appel de la commande Amazon PollySynthesizeSpeech est sans état et n'est pas associé à une identité client. Vous ne pouvez pas lerécupérer depuis Amazon Polly par la suite.
Lorsque vous utilisez l'opération StartSpeechSynthesisTask (synthèse asynchrone), la sortie dela synthèse est automatiquement stockée dans un compartiment Amazon S3. Vous pouvez ensuitela récupérer, au besoin. Pour plus d'informations à ce sujet, consultez Création de fichiers audiolongs (p. 133).
Restitution de contenuQ : Je souhaite utiliser la même voix dans deux langues différentes. Existe-t-il des voix bilingues ?
Il n'existe actuellement qu'une seule voix bilingue : Aditi (hindi et anglais avec intonation indienne). Nouscherchons sans cesse à améliorer les options de langue d'Amazon Polly, notamment en augmentant lenombre de voix bilingues.
Si vous utilisez une voix bilingue comme Aditi, vous devez ajouter le paramètre languagecode facultatiflorsque vous appelez une tâche de synthèse afin d'indiquer à Amazon Polly quelle langue utiliser avec lavoix.
Q : Certains passages de mon texte sont prononcés avec l'accent tonique sur la mauvaise syllabe lorsqu'ilssont prononcés par Amazon Polly. J'ai même essayé d'utiliser un accent aigu (U+0301) pour marquerl'accent tonique, mais il est toujours sur la mauvaise syllabe. Comment corriger ce problème ?
Pour l'heure, Amazon Polly ne reconnaît pas les accents aigus (U+0301) comme indiquant l'accentsyllabique d'un mot. Cependant, il existe deux façons de modifier l'accentuation d'un mot. Vous pouvezutiliser une balise phonétique IPA et des balises ssml pour modifier la prononciation du mot. Pour plusd'informations, consultez Balises SSML prises en charge par Amazon Polly (p. 36). Dans certaineslangues, vous pouvez également utiliser une apostrophe immédiatement après la syllabe pour indiquerun changement d'accentuation. Par exemple, en russe, les mots страны et страны n'ont pas la mêmeaccentuation (marquée ici par un accent aigu). Toutefois, étant donné qu'ils ont la même orthographe,Amazon Polly les prononcera tous deux avec l'accent sur la dernière syllabe, conformément à l'usagestandard de la langue. Vous pouvez utiliser une apostrophe pour marquer la syllabe soumise à uneaccentuation différente, comme dans стран'ы. Amazon Polly accentuera ainsi la bonne syllabe.
Q : Lorsque j'utilise des puces dans mon texte, Amazon Polly ne les restitue pas correctement. Le servicedit « moins » à chaque fois qu'il rencontre une puce. Que puis-je faire ?
8
Amazon Polly Manuel du développeurConfidentialité et sécurité des données
Dans certaines langues, si vous utilisez un tiret « - » pour remplacer un point d'une liste à puces, AmazonPolly le restitue comme s'il s'agissait du signe moins. Si vous souhaitez utiliser des tirets pour remplacerune puce, vous pouvez le faire avec une entrée de lexique. Pour plus d'informations, consultez Gestion deslexiques (p. 122).
Q : J'utilise souvent le symbole « / » (barre oblique) dans mon texte, en particulier pour dire « et/ou » et« oui/non ». Comment est-ce restitué par Amazon Polly ?
En anglais, Amazon Polly restitue « and/or » par « and or ». Cette règle n'est pas disponible dans lesautres langues pour le moment. Dans d'autres langues que l'anglais, Amazon Polly restitue « oui/non »sous la forme « oui barre oblique non ». Si vous souhaitez modifier ce comportement, vous pouvez utiliserune entrée de lexique. Pour plus d'informations, consultez Gestion des lexiques (p. 122).
Q : Lorsque j'utilise un texte à partir d'une source existante pour effectuer la synthèse vocale à l'aide del'AWS CLI sur un ordinateur Linux, certains caractères UTF-8 ne semblent pas fonctionner avec AmazonPolly, même si les mêmes caractères semblent fonctionner correctement avec la console. À quoi est-cedû ?
Ce comportement dépend de la façon dont les shell Unix gèrent le contenu Unicode et ne provient pasd'un problème spécifique d'Amazon Polly. Deux options sont disponibles : vous parvenez à identifier lescaractères qui posent problème et à les remplacer dans le texte d'entrée, ou vous pouvez utiliser un autremoyen d'accéder à Amazon Polly qui ne rencontre pas ce problème, notamment l'interface PHP. Il s'agitd'un problème connu que nous nous efforçons de résoudre. Seuls quelques rares caractères Unicode sontconcernés.
Q : Lorsque j'essaie de synthétiser du texte à partir d'une source contenant des symboles de l'alphabetphonétique international (IPA), Amazon Polly ne les reconnaît pas et essaie même de prononcer certainsde ces symboles. Comment puis-je résoudre le problème ?
Amazon Polly ne reconnaît pas les symboles IPA sauf si le language SSML (Speech Synthesis MarkupLanguage) est utilisé pour les délimiter. Toutefois, puisque les petites sections de symboles IPA indiquentgénéralement la prononciation pour un lecteur, dans de nombreux cas, cette section peut être retiréesans risque du texte d'entrée par une simple suppression. Vous pouvez également utiliser un lexique pourchanger la façon dont ces symboles sont restitués par Amazon Polly. Pour plus d'informations, consultezGénération de discours à partir de documents SSML (p. 30) et Gestion des lexiques (p. 122).
Confidentialité et sécurité des donnéesQ : Puis-je refuser la journalisation des demandes avec les API de demande ?
Oui, vous pouvez faire cette demande en contactant AWS Support.
Q : Puis-je choisir de masquer certains champs de données afin qu'ils ne soient pas stockés ? (Parexemple, si je convertis du texte contenant des données sensibles, mais que je ne souhaite pas le stockerdans les systèmes AWS, puis-je le masquer ?)
Non. Amazon Polly ne prend pas en charge cette fonctionnalité pour le moment.
Q : Le texte que je souhaite utiliser avec Amazon Polly est confidentiel. Comment mes données sont-ellesprotégées ?
Tous les textes soumis sont protégés par le protocole SSL (Secure Sockets Layer) lorsqu'ils sont entransit, puis sont stockés avec RSA chiffrement. Nous conservons les journaux de service et les textesséparément, de façon à ce que le contenu ne puisse pas être lié à l'ID client. Par conséquent, AmazonPolly n'associe pas les soumissions de texte à l'identité du client.
Q : Combien de temps les données sont-elles conservées ?
Amazon Polly conserve les données pendant 14 jours. Après cela, elles sont automatiquement suppriméesde notre système.
9
Amazon Polly Manuel du développeurConfidentialité et sécurité des données
Q : Puis-je demander à ce que les données soient nettoyées plus tôt ?
Oui, vous pouvez faire cette demande en contactant AWS Support.
10
Amazon Polly Manuel du développeurÉtape 1 : Configurer un compte et un utilisateur
Mise en route avec Amazon PollyAmazon Polly fournit des opérations API simples que vous pouvez intégrer facilement à vos applicationsexistantes. Pour une liste des opérations prises en charge, consultez Actions (p. 183). Vous pouvezutiliser l'une des options suivantes :
• AWS SDK – lorsque vous utilisez les kits de développement logiciel, vos demandes adressées à AmazonPolly sont automatiquement signées et authentifiées à l'aide des informations d'identification fournies. Cechoix est recommandé dans le cadre du développement de vos applications.
• AWS CLI – vous pouvez utiliser l'interface AWS CLI pour accéder à n'importe quelle fonctionnalitéAmazon Polly sans écrire de code.
Les sections suivantes décrivent comment préparer et fournir un exercice d'introduction.
Rubriques• Étape 1 : Configurer un compte AWS et créer un utilisateur (p. 11)• Étape 2 : Démarrer à l'aide de la console (p. 13)• Étape 3 : Démarrer à l'aide de l'AWS CLI (p. 14)• Quelle est la prochaine étape ? (p. 17)
Étape 1 : Configurer un compte AWS et créer unutilisateur
Avant d'utiliser Amazon Polly pour la première fois, effectuez les tâches suivantes :
1. Étape 1.1 : S'inscrire à AWS (p. 11)2. Étape 1.2 : Création d'un utilisateur IAM (p. 12)
Étape 1.1 : S'inscrire à AWSLors de votre inscription à Amazon Web Services (AWS), votre compte AWS est automatiquement inscrit àtous les services AWS, y compris Amazon Polly. Seuls les services que vous utilisez vous sont facturés.
Avec Amazon Polly, vous ne payez que les ressources que vous utilisez. Si vous êtes un nouveau clientAWS, vous pouvez commencer à utiliser Amazon Polly gratuitement. Pour plus d'informations, consultez lapage Niveau d'offre gratuite d'AWS.
Si vous possédez déjà un compte AWS, vous pouvez ignorer la prochaine étape. Si ce vous ne disposezpas d'un compte AWS, effectuez les étapes de la procédure suivante pour en créer un.
Pour créer un compte AWS
1. Ouvrez https://aws.amazon.com/, puis choisissez Create an AWS Account.
11
Amazon Polly Manuel du développeurÉtape 1.2 : Création d'un utilisateur IAM
Note
Il est probable que cette opération soit indisponible dans votre navigateur si vous vousêtes déjà connecté à AWS Management Console auparavant. Dans ce cas, choisissez Seconnecter à un autre compte, puis Créer un nouveau compte AWS.
2. Suivez les instructions en ligne.
Dans le cadre de la procédure d'inscription, vous recevrez un appel téléphonique et vous saisirez uncode PIN en utilisant le clavier numérique du téléphone.
Notez votre ID de compte AWS, car vous en aurez besoin lors de la prochaine étape.
Étape 1.2 : Création d'un utilisateur IAMPour accéder à un service d'AWS, comme Amazon Polly, vous devez fournir vos informationsd'identification afin que le service puisse déterminer si vous êtes autorisé à accéder à ses ressources.La console exige votre mot de passe. Vous pouvez créer des clés d'accès pour votre compte AWS afind'accéder à l'AWS CLI ou à l'API. Cependant, nous vous déconseillons d'accéder à AWS à l'aide desinformations d'identification de votre compte AWS. Au lieu de cela, nous vous recommandons d'utiliserAWS Identity and Access Management (IAM). Créez un utilisateur IAM, ajoutez-le à un groupe IAMdisposant d'autorisations d'administration, puis attribuez ces autorisations à cet IAM utilisateur. Vouspouvez ensuite accéder à AWS à l'aide d'une URL spéciale et des informations d'identification de cetutilisateur IAM.
Si vous êtes inscrit à AWS, mais que vous n'avez pas créé d'utilisateur IAM pour vous-même, vous pouvezle faire avec la console IAM.
Les exercices de mise en route de ce guide présument que l'utilisateur (adminuser) dispose de privilègesd'administrateur. Suivez la procédure pour créer adminuser dans votre compte.
Pour créer un administrateur et vous connecter à la console
1. Créez un administrateur appelé adminuser dans votre compte AWS. Pour obtenir des instructions,consultez la section Création de votre premier groupe d'utilisateurs et d'administrateurs IAM dans leIAM Guide de l'utilisateur.
2. Un utilisateur peut se connecter à la AWS Management Console à l'aide d'une URL spéciale. Pourplus d'informations, consultez Comment les utilisateurs se connectent à votre compte dans le IAMGuide de l'utilisateur.
Important
Les exercices de mise en route utilisent les informations d'identification adminuser. Pour plusde sécurité, lors du développement et des tests de vérification de l'application de production,nous vous recommandons de créer un administrateur spécifique aux services qui disposed'autorisations uniquement pour les actions d'Amazon Polly. Pour obtenir un exemple de stratégiequi accorde des autorisations spécifiques Amazon Polly, consultez la page Exemple 1 : Autorisertoutes les actions Amazon Polly (p. 225).
Pour plus d'informations sur IAM, consultez les ressources suivantes :
• AWS Identity and Access Management (IAM)• Mise en route• IAM Guide de l'utilisateur
12
Amazon Polly Manuel du développeurÉtape suivante
Étape suivanteÉtape 2 : Démarrer à l'aide de la console (p. 13)
Étape 2 : Démarrer à l'aide de la consoleLa console Amazon Polly est le moyen le plus simple pour commencer à tester et à utiliser la synthèsevocale d'Amazon Polly. La console Amazon Polly prend en charge la synthèse vocale à partir d'un textebrut ou d'une entrée SSML.
Rubriques• Exercice 1 : Procédure de démarrage rapide Synthèse vocale (Console) (p. 13)• Exercice 2 : Synthèse vocale (entrée de texte brut) (p. 13)• Étape suivante (p. 14)
Exercice 1 : Procédure de démarrage rapide Synthèsevocale (Console)Cette procédure est le moyen le plus rapide pour tester la qualité audio de la synthèse vocale d'AmazonPolly. Lorsque vous sélectionnez l'onglet Text-to-Speech, le champ de saisie de votre texte est préchargéavec l'exemple de texte afin que vous puissiez tester rapidement Amazon Polly.
Pour tester rapidement Amazon Polly
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Text-to-Speech.3. Vous pouvez également choisir SSML.4. Sélectionnez une langue et une région, puis sélectionnez une voix.5. Choisissez Listen to speech.
Pour des tests plus approfondis, veuillez consulter les rubriques suivantes :
• Exercice 2 : Synthèse vocale (entrée de texte brut) (p. 13)• Utilisation de SSML (console) (p. 30)• Application de lexiques à l'aide de la console (Synthèse vocale) (p. 124)
Exercice 2 : Synthèse vocale (entrée de texte brut)La procédure suivante résume le discours à partir d'un texte brut. Notez la façon dont « W3C » et la date« 10/3 » (3 octobre) sont synthétisés.
Pour synthétiser le discours à partir d'un texte brut
1. Une fois que vous vous êtes connecté à la console Amazon Polly, choisissez Get started, puis l'ongletText-to-Speech.
2. Choisissez l'onglet Plain text.3. Entrez ou collez ce texte dans la zone d'entrée.
13
Amazon Polly Manuel du développeurÉtape suivante
He was caught up in the game. In the middle of the 10/3/2014 W3C meetinghe shouted, "Score!" quite loudly.
4. Dans Choose a language and region, choisissez English US, puis choisissez la voix que vous voulezutiliser pour ce texte.
5. Pour écouter le discours immédiatement, choisissez Listen to speech.6. Pour enregistrer le discours dans un fichier, exécutez l'une des actions suivantes :
a. Choisissez Save speech to MP3.b. Pour opter pour un format de fichier différent, choisissez Change file format, sélectionnez le format
de fichier que vous souhaitez, puis choisissez Change.
Pour obtenir des exemples plus détaillés, choisissez les rubriques suivantes :
• Application de lexiques à l'aide de la console (Synthèse vocale) (p. 124)• Utilisation de SSML (console) (p. 30)
Étape suivanteÉtape 3 : Démarrer à l'aide de l'AWS CLI (p. 14)
Étape 3 : Démarrer à l'aide de l'AWS CLIA l'aide de l'AWS CLI, vous pouvez exécuter presque toutes les opérations Amazon Polly que vous pouvezexécuter à l'aide de la console Amazon Polly. Vous ne pouvez pas écouter la synthèse vocale à l'aidede l'AWS CLI. Au lieu de cela, vous devez l'enregistrer dans un fichier, puis ouvrir le fichier dans uneapplication qui peut lire ce fichier.
Rubriques• Étape 3.1 : Configuration de l'AWS Command Line Interface (AWS CLI) (p. 14)• Étape 3.2 : Effectuer un exercice de mise en route à l'aide d'AWS CLI (p. 16)
Étape 3.1 : Configuration de l'AWS Command LineInterface (AWS CLI)Suivez les étapes pour télécharger et configurer l'AWS Command Line Interface (AWS CLI).
Important
Vous n'avez pas besoin de l'AWS CLI pour effectuer les étapes de cet exercice de mise enroute. Cependant, quelques-uns des exercices de ce guide l'utilisent l'AWS CLI. Vous pouvezignorer cette étape et passer à Étape 3.2 : Effectuer un exercice de mise en route à l'aide d'AWSCLI (p. 16), puis configurer l'AWS CLI plus tard lorsque vous en aurez besoin.
Pour configurer l'AWS CLI.
1. Téléchargez et configurez l'AWS CLI. Pour obtenir des instructions, consultez les rubriques suivantesAWS Command Line Interface Guide de l'utilisateur:
14
Amazon Polly Manuel du développeurÉtape 3.1 : Configuration de l'AWS CLI
• Préparation de l'installation de l'AWS Command Line Interface• Configuration de l'AWS Command Line Interface
2. Ajoutez un profil désigné pour l'utilisateur administrateur dans le fichier de configuration de l'AWS CLI.Vous utiliserez ce profil lorsque vous exécuterez les commandes AWS CLI. Pour plus d'informationssur les profils nommés (désignés), consultez Profils nommés dans le AWS Command Line InterfaceGuide de l'utilisateur.
[profile adminuser] aws_access_key_id = adminuser access key ID aws_secret_access_key = adminuser secret access key region = aws-region
Pour obtenir la liste des régions AWS disponibles et celles qui sont prises en charge par Amazon Polly,consultez la section Régions et points de terminaison dans le Référence générale d'Amazon WebServices.
Note
Si vous utilisez la région prise en charge par Amazon Polly spécifiée lors de la configurationde l'AWS CLI, vous pouvez ignorer la ligne suivante à partir des exemples de code AWS CLI :
--region aws-region
3. Vérifiez la configuration en saisissant la commande d'aide suivante à l'invite de commande :
aws help
Une liste de commandes AWS valides doit apparaître dans la fenêtre AWS CLI.
Pour activer Amazon Polly dans l'AWS CLI (facultatif)
Si vous avez déjà téléchargé et configuré l'AWS CLI, Amazon Polly peut ne pas être disponible si vous nereconfigurez pas l'AWS CLI. Cette procédure vérifie si cette étape est nécessaire et fournit des instructionssi Amazon Polly n'est pas disponible automatiquement.
1. Vérifiez la disponibilité d'Amazon Polly en saisissant la commande d'aide suivante à l'invite decommande :
aws polly help
Si une description d'Amazon Polly et une liste de commandes valides s'affichent dans la fenêtre AWSCLI, Amazon Polly est disponible dans l'AWS CLI et peut être utilisé immédiatement. Dans ce cas,vous pouvez ignorer le reste de cette procédure. Si ces informations ne sont pas affichées, passez àl'étape 2.
2. Utilisez l'une des deux options suivantes pour activer Amazon Polly :
a. Désinstallez, puis réinstallez l'AWS CLI.
Pour obtenir des instructions, consultez la rubrique suivante dans le AWS Command LineInterface Guide de l'utilisateur : Installation de l'AWS Command Line Interface.
oub. Téléchargez le fichier service-2.json.
A l'invite de commande, exécutez la commande suivante :
15
Amazon Polly Manuel du développeurÉtape 3.2 : Exercice de mise en route
aws configure add-model --service-model file://service-2.json --service-name polly
3. Revérifiez la disponibilité d'Amazon Polly :
aws polly help
La description d'Amazon Polly doit être visible.
Étape suivanteÉtape 3.2 : Effectuer un exercice de mise en route à l'aide d'AWS CLI (p. 16)
Étape 3.2 : Effectuer un exercice de mise en route àl'aide d'AWS CLIVous pouvez désormais tester la synthèse vocale fournie par Amazon Polly. Dans cet exercice, vousappelez l'opération SynthesizeSpeech en fournissant l'exemple de texte. Vous pouvez enregistrer le sonqui en résulte dans un fichier et vérifier son contenu.
1. Exécutez la commande AWS CLI synthesize-speech pour synthétiser l'exemple de texte dans unfichier audio (hello.mp3).
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez lecaractère de continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^)et utilisez les guillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour lesbalises internes.
aws polly synthesize-speech \ --output-format mp3 \ --voice-id Joanna \ --text 'Hello, my name is Joanna. I learned about the W3C on 10/3 of last year.' \ hello.mp3
Dans l'appel de synthesize-speech, vous fournissez le texte modèle pour la synthèse, la voix àutiliser (en fournissant un ID vocal, comme expliqué dans l'étape 3 suivante), ainsi que le format desortie. La commande enregistre l'audio qui en résulte dans le fichier hello.mp3.
En plus du fichier MP3, l'opération, ci-dessus, génère la sortie suivante dans la console.
{ "ContentType": "audio/mpeg", "RequestCharacters": "71"}
2. Lisez le fichier hello.mp3 obtenu pour vérifier la synthèse vocale.3. Vous pouvez obtenir la liste des voix disponibles en utilisant l'opération DescribeVoices. Exécutez
la commande AWS CLI describe-voices suivante.
aws polly describe-voices
En réponse, Amazon Polly renvoie la liste de toutes les voix disponibles. Pour chaque voix, la réponsefournit les métadonnées suivantes : ID vocal, code et nom de la langue, et genre de la voix. Voici unexemple de réponse :
16
Amazon Polly Manuel du développeurQuelle est la prochaine étape ?
{ "Voices": [ { "Gender": "Female", "Name": "Salli", "LanguageName": "US English", "Id": "Salli", "LanguageCode": "en-US" }, { "Gender": "Female", "Name": "Joanna", "LanguageName": "US English", "Id": "Kendra", "LanguageCode": "en-US" } ]}
Le cas échéant, vous pouvez spécifier le code de langue pour trouver les voix disponibles pour unelangue spécifique. Amazon Polly prend en charge des douzaines de voix. L'exemple suivant répertorietoutes les voix pour le portugais brésilien.
aws polly describe-voices \ --language-code pt-BR
Pour obtenir la liste des codes de langue, consultez la page Langues prise en charge par AmazonPolly (p. 22). Ces codes de langue sont des balises d'identification de langue W3C (codeISO 639 pour le nom de la langue-code du pays ISO 3166). Par exemple, en-US(anglais États-Unis), en-GB (anglais Royaume-Uni) et es-ES (Espagnol), etc.
Vous pouvez également utiliser l'option help dans l'AWS CLI pour obtenir la liste des codes delangue :
aws polly describe-voices help
Quelle est la prochaine étape ?Ce guide fournit des exemples supplémentaires, dont certains sont des exemples de code Python quiutilisent AWS SDK for Python (Boto) pour effectuer des appels d'API vers Amazon Polly. Nous vousrecommandons de configurer Python et de tester l'exemple de code fourni dans la section suivante. Pouraccéder à des exemples supplémentaires, consultez Exemples d'applications (p. 149).
Configuration de Python et test d'un exemplePour tester le code d'exemple Python, vous devez utiliser AWS SDK for Python (Boto). Pour obtenir desinstructions, consultez la page AWS SDK pour Python (Boto3).
Pour tester le code d'exemple Python
L'exemple de code Python suivant exécute les tâches suivantes :
• Utilise le AWS SDK for Python (Boto) pour envoyer une demande SynthesizeSpeech à Amazon Polly(en fournissant un texte simple comme entrée).
17
Amazon Polly Manuel du développeurConfiguration de Python et test d'un exemple
• Accède au flux audio résultant dans la réponse et enregistre l'audio dans un fichier sur votre disque local(speech.mp3).
• Lit le fichier audio avec le lecteur audio par défaut de votre système local.
Enregistre le code dans un fichier (example.py) et l'exécute.
"""Getting Started Example for Python 2.7+/3.3+"""from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientErrorfrom contextlib import closingimport osimport sysimport subprocessfrom tempfile import gettempdir
# Create a client using the credentials and region defined in the [adminuser]# section of the AWS credentials file (~/.aws/credentials).session = Session(profile_name="adminuser")polly = session.client("polly")
try: # Request speech synthesis response = polly.synthesize_speech(Text="Hello world!", OutputFormat="mp3", VoiceId="Joanna")except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully print(error) sys.exit(-1)
# Access the audio stream from the responseif "AudioStream" in response: # Note: Closing the stream is important as the service throttles on the # number of parallel connections. Here we are using contextlib.closing to # ensure the close method of the stream object will be called automatically # at the end of the with statement's scope. with closing(response["AudioStream"]) as stream: output = os.path.join(gettempdir(), "speech.mp3")
try: # Open a file for writing the output as a binary stream with open(output, "wb") as file: file.write(stream.read()) except IOError as error: # Could not write to file, exit gracefully print(error) sys.exit(-1)
else: # The response didn't contain audio data, exit gracefully print("Could not stream audio") sys.exit(-1)
# Play the audio using the platform's default playerif sys.platform == "win32": os.startfile(output)else: # the following works on Mac and Linux. (Darwin = mac, xdg-open = linux). opener = "open" if sys.platform == "darwin" else "xdg-open" subprocess.call([opener, output])
Pour obtenir des exemples supplémentaires, notamment un exemple d'application, consultez la pageExemples d'applications (p. 149).
18
Amazon Polly Manuel du développeurVoix disponibles
Voix dans Amazon PollyAmazon Polly fournit une grande diversité de voix différentes en plusieurs langues à utiliser lors de lasynthèse vocale à partir d'un texte.
Voix disponiblesLangue Noms masculins/ID Noms féminins/ID
Danois (da-DK) Mads Naja
Néerlandais (nl-NL) Ruben Lotte
Anglais, australien (en-AU) Russell Nicole
Anglais (britannique) (en-GB) Brian Amy
Emma
Anglais, indien (en-IN) Aditi (bilingue, hindi)
Raveena
Anglais (États-Unis) (en-US) Joey
Justin
Matthew
Ivy
Joanna
Kendra
Kimberly
Salli
Anglais (Gallois) (en-GB-WLS) Geraint
Français (fr-FR) Mathieu Céline/Celine
Léa
Français canadien (fr-CA) Chantal
Allemand (de-DE) Hans Marlene
Vicki
Hindi (hi-IN) Aditi (bilingue, anglais avecintonation indienne)
Islandais (is-IS) Karl Dóra/Dora
Italien (it-IT) Giorgio Carla
Japonais (ja-JP) Takumi Mizuki
Coréen (ko-KR) Seoyeon
19
Amazon Polly Manuel du développeurÉcoute des voix
Langue Noms masculins/ID Noms féminins/ID
Norvégien (nb-NO) Liv
Polonais (pl-PL) Jacek
Jan
Ewa
Maja
Portugais brésilien (pt-BR) Ricardo Vitória/Vitoria
Portugais européen (pt-PT) Cristiano Inês/Ines
Roumain (ro-RO) Carmen
Russe (ru-RU) Maxim Tatyana
Espagnol (Europe) (es-ES) Enrique Conchita
Espagnol (Amérique latine) (es-US)
Miguel Penélope/Penelope
Suédois (sv-SE) Astrid
Turc (tr-TR) Filiz
Gallois (cy-GB) Gwyneth
Pour garantir une prise en charge continue à nos clients, nous ne prévoyons pas de retirer de voix. Ceprincipe s'applique à la fois aux voix actuellement disponibles et aux voix futures.
Écoute des voixVous pouvez utiliser la console Amazon Polly pour écouter un échantillon à partir de l'une des voixdisponibles dans Amazon Polly
Pour écouter une voix dans Amazon Polly
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Text-to-Speech.3. Sélectionnez une langue et une région, puis sélectionnez une voix4. Saisissez le texte de la voix pour parler ou utiliser la phrase par défaut, puis choisissez Listen to
speech.
Vous pouvez choisir l'une des langues proposées par Amazon Polly ; la console affichera les voixdisponibles pour cette langue. Dans la plupart des cas, il y aura au moins une voix masculine et une voixféminine, et souvent plus d'une de chaque. Quelques-unes n'ont qu'une seule voix. Pour obtenir la listecomplète, consultez Voix dans Amazon Polly (p. 19)
Note
L'inventaire des voix et le nombre de langues incluses est régulièrement mise à jour afin d'incluredes choix supplémentaires. Pour proposer une nouvelle langue ou voix, n'hésitez pas à fournir descommentaires sur cette page. Malheureusement, nous ne sommes pas en mesure de commenterles plans de publication de nouvelles langues.
20
Amazon Polly Manuel du développeurVitesse vocale
Chaque voix est créée à l'aide de locuteurs natifs et, par conséquent, il y a des variations d'une voix à uneautre, même au sein de la même langue. Lorsque vous sélectionnez une voix pour votre projet, vous deveztester chaque voix possible avec un passage de texte pour déterminer celle qui correspond le mieux à vosbesoins.
Vitesse vocaleEn raison de la variation naturelle entre les voix, chaque voix disponible prononcera le texte à desvitesses légèrement différentes. Par exemple, avec une voix en anglais (États-Unis), Ivy et Joannaparlent légèrement plus vite que Matthew lorsqu'ils disent « Mary had a little lamb ». Les deux sontconsidérablement plus rapides que Joey disant le même texte.
Comme il y a une telle variation entre les voix et que le degré de variation peut dépendre du texteprononcé, aucune vitesse standard (mots par minute) n'est disponible pour les voix Amazon Polly.Cependant, vous pouvez rechercher le temps nécessaire que met votre voix pour le texte sélectionné enutilisant SpeechMarks. Pour plus d'informations sur l'utilisation des marques vocales dans Amazon Polly,consultez Utilisation de marques vocales (p. 25).
Pour déterminer approximativement la durée nécessaire pour lire à voix haute un passage du texte
1. Ouvrez l'interface de ligne de commande AWS.2. Exécutez le code suivant, en complétant comme nécessaire
aws polly synthesize-speech \ --output-format json \ --voice-id [name of desired voice] \ --text '[desired text]' \ --speech-mark-types='["viseme"]' \ LengthOfText.txt
3. Ouvrez LengthOfText.txt
Si le texte était « Mary had a little lamb », les dernières lignes renvoyées par Amazon Polly seront lessuivants :
{"time":882,"type":"viseme","value":"t"}{"time":964,"type":"viseme","value":"a"}{"time":1082,"type":"viseme","value":"p"}
Le dernier visème, essentiellement le son des dernières lettres de « lamb » démarre 1 082 millisecondesaprès le début de la phrase. Bien que ce ne soit pas exactement la longueur de l'audio, elle est assezproche. Vous pouvez utiliser 1 082 millisecondes comme base pour les comparaisons de débit de paroleentre les voix.
Modification de votre vitesse vocalePour certaines applications, vous pouvez trouver que vous préféreriez que la voix ralentisse ou accélère.Si la vitesse de la voix est une préoccupation, Amazon Polly offre la possibilité de la modifier à l'aide debalises SSML.
Exemples :
Votre organisation crée une application qui lit les livres à un public d'immigrés. Le public parle l'anglais,mais leur maîtrise est limitée. Dans ce cas, vous pouvez envisager de ralentir le débit pour offrir à votrepublic un peu plus de temps pour comprendre tandis que l'application lit le texte.
21
Amazon Polly Manuel du développeurLangues prise en charge par Amazon Polly
Amazon Polly vous aide à ralentir la vitesse de lecture à l'aide de la balise SSML <prosody>, comme dans :
<speak> In some cases, it might help your audience to <prosody rate="85%">slow the speaking rate slightly to aid in comprehension.</prosody><speak
ou
<speak> In some cases, it might help your audience to <prosody rate="85%">slow the speaking rate slightly to aid in comprehension.</prosody><speak
Deux options de vitesse sont disponibles lors de l'utilisation de SSML avec Amazon Polly :
• Vitesses prédéfinies : x-slow, slow, medium, fast et x-fast. Dans ces cas, la vitesse de chaqueoption est approximative, en fonction de votre voix préférée. L'option medium est la vitesse normale de lavoix.
• n% du débit de parole : n'importe quel pourcentage du débit de parole, entre 20 % et 200 %, peut êtreutilisé. Dans ces cas-là, vous pouvez choisir exactement la vitesse de votre choix. Cependant, la vitesseréelle de la voix est approximative, en fonction de la voix que vous avez choisie. 100 % est considérécomme la vitesse normale de la voix.
Comme la vitesse de chaque option est approximative et dépend de la voix que vous choisissez, il estrecommandé de tester la voix à différentes vitesses pour déterminer celle qui répond exactement à vosbesoins.
Pour plus d'informations sur l'utilisation optimale de la balise prosody, consultez Contrôle du volume, dudébit de parole et de la tonalité (p. 40)
Langues prise en charge par Amazon PollyLes langues suivantes sont prises en charge par Amazon Polly et peuvent être utilisées pour synthétiserle discours. À chaque langue est associé le code langue. Ces codes de langue sont des balisesd'identification de langue W3C (code ISO 639 pour le nom de la langue-code du paysISO 3166).
Pour les tables en profondeur montrant les visèmes et phonèmes associés à chaque langue, choisissez lelien de chaque langue dans le tableau ci-dessous.
Langue Code de langue
Danois (da-DK) (p. 55) da-DK
Néerlandais (nl-NL) (p. 57) nl-NL
Anglais, australien (en-AU) (p. 60) en-AU
Anglais, britannique (en-GB) (p. 65) en-GB
Anglais, indien (en-IN) (p. 62) en-IN
Anglais, indien (en-IN) (p. 68) en-US
22
Amazon Polly Manuel du développeurLangues prise en charge par Amazon Polly
Langue Code de langue
Anglais, gallois (en-GB-WSL) (p. 71) en-GB-WLS
Français (fr-FR) (p. 74) fr-FR
Français, canadien (fr-CA) (p. 76) fr-CA
Hindi hi-IN
Allemand (de-DE) (p. 79) de-DE
Islandais (is-IS) (p. 82) is-IS
Italien (it-IT) (p. 85) it-IT
Japonais (ja-JP) (p. 87) ja-JP
Coréen (ko-KR) (p. 90) ko-KR
Norvégien (nb-NO) (p. 92) nb-NO
Polonais (pl-PL) (p. 95) pl-PL
Portugais, brésilien (pt-BR) (p. 99) pt-BR
Portugais (pt-PT) (p. 97) pt-PT
Roumain (ro-RO) (p. 102) ro-RO
Russe (ru-RU) (p. 104) ru-RU
Espagnol (es-ES) (p. 107) es-ES
Espagnol, américain (es-US) (p. 109) es-US
Suédois (sv-SE) (p. 112) sv-SE
Turc (tr-TR) (p. 115) tr-TR
Gallois (cy-GB) (p. 118) cy-GB
Pour plus d'informations, consultez Tableau des visèmes et des phonèmes des langues prises encharge (p. 54).
23
Amazon Polly Manuel du développeurTypes de marques vocales
Marques vocalesLes marques vocales sont des métadonnées qui décrivent le discours que vous synthétisez, par exemplel'emplacement de début et de fin d'une phrase ou d'un mot dans un flux audio. Lorsque vous demandezdes marques vocales pour votre texte, Amazon Polly renvoie ces métadonnées à la place de la synthèsevocale. En utilisant des marques vocales avec votre flux audio de synthèse vocale, vous pouvez améliorerl'expérience visuelle dans vos applications.
Par exemple, si vous combinez les métadonnées avec le flux audio de votre texte, vous pouvezsynchroniser le discours avec l'animation faciale (pour une synchronisation précise) ou mettre en évidencedes mots écrits lorsqu'ils sont prononcés.
Rubriques• Types de marques vocales (p. 24)• Utilisation de marques vocales (p. 25)• Demande de marques vocales à l'aide de la console Amazon Polly (p. 28)
Types de marques vocalesVous pouvez demander des marques vocales à l'aide de l'option SpeechMarkTypes pour la commandeSynthesizeSpeech ou StartSpeechSynthesisTask. Spécifiez les éléments de métadonnées que votre texted'entrée doit renvoyer. Vous pouvez demander jusqu'à quatre types de métadonnées, mais en spécifier aumoins un par demande. Aucune sortie audio n'est générée avec la demande.
Dans l'interface de ligne de commande AWS, par exemple :
--speech-mark-types='["sentence", "word", "viseme", "ssml"]'
Amazon Polly génère les marques vocales à l'aide des éléments suivants :
• sentence : indique un élément phrase dans le texte d'entrée.• word indique un élément mot dans le texte.• viseme : décrit les mouvements du visage et de la bouche qui correspondent à chaque phonème
prononcé. Pour plus d'informations, consultez Les visèmes dans Amazon Polly (p. 24).• ssml : décrit un élément <mark> issu du texte d'entrée SSML. Pour plus d'informations, consultez
Génération de discours à partir de documents SSML (p. 30).
Les visèmes dans Amazon PollyUn visème représente la position du visage et de la bouche dans la prononciation d'un mot. C'estl'équivalent visuel d'un phonème, qui est l'unité acoustique de base à partir de laquelle un mot est formé.Les visèmes sont les blocs de construction visuels de base du discours.
Chaque langue comprend un ensemble de visèmes qui correspond à ses phonèmes spécifiques. Dansune langue, chaque phonème a un visème correspondant qui représente la forme que prend la bouchepour former le son. Cependant, tous les visèmes ne peuvent pas être mis en correspondance avec unphonème spécifique, car bon nombre de phonèmes paraissent identiques lorsqu'ils sont prononcés bien
24
Amazon Polly Manuel du développeurUtilisation de marques vocales
qu'ils semblent différents. Par exemple, en anglais, les mots « pet » et « bet » sont différents du point devue acoustique. Cependant, leur apparence visuelle (sans le son) est exactement la même.
Le graphique suivant présente une vue partielle des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pour les voix en anglais américain.
Pour afficher la totalité du tableau ainsi que les tableaux pour toutes les langues disponibles, consultezTableau des visèmes et des phonèmes des langues prises en charge (p. 54).
IPA X-SAMPA Description Exemple Visème
Consonnes
b b Plosive bilabialesonore
bed p
d d Plosive alvéolairesonore
dig t
dʒ dZ Fricative post-alvéolaire sonore
jump S
ð D Fricative dentalesonore
then T
f f Fricative labio-dentale sourde
five f
g g Plosive vélairesonore
game k
h h Fricative glottalesourde
house k
... ... ... ... ...
Utilisation de marques vocalesDemande de marques vocalesPour demander des marques vocales pour le texte d'entrée, utilisez la commande synthesize-speech.Outre le texte d'entrée, les éléments suivants sont requis pour renvoyer ces métadonnées :
• output-format
Amazon Polly ne prend en charge que le format JSON pour renvoyer les marques vocales.
--output-format json
Si vous utilisez un format de sortie non pris en charge, Amazon Polly lève une exception.• voice-id
Pour que les métadonnées correspondent bien au flux audio associé, spécifiez la même voix que cellequi est utilisée pour générer le flux audio de la synthèse vocale. Les voix disponibles n'ont pas les
25
Amazon Polly Manuel du développeurSortie d'une marque vocale
mêmes débits de parole. Si vous utilisez une voix différente de celle qui est utilisée pour générer lediscours, les métadonnées ne correspondront pas au flux audio.
--voice-id Joanna
• speech-mark-types
Spécifiez le ou les types de marques vocales voulues. Vous pouvez demander une partie ou la totalitédes types de marques vocales, mais vous devez spécifier au moins un type.
--speech-mark-types='["sentence", "word", "viseme", "ssml"]'
• text-type
Le texte brut est le texte d'entrée par défaut pour Amazon Polly. Vous devez donc utiliser text-typessml pour renvoyer des marques vocales SSML.
• outfile
Spécifiez le fichier de sortie dans lequel les métadonnées sont enregistrées.
MaryLamb.txt
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly synthesize-speech \ --output-format json \ --voice-id Voice ID \ --text 'Input text' \ --speech-mark-types='["sentence", "word", "viseme"]' \ outfile
Sortie d'une marque vocaleAmazon Polly renvoie des objets de marque vocale dans un flux JSON séparé par des lignes. Chaqueobjet de marque vocale contient les champs suivants :
• time : horodatage en millisecondes depuis le début du flux audio correspondant• type : type de marque vocale (phrase, mot, visème ou ssml).• start : décalage en octets du début de l'objet dans le texte d'entrée (marques de visèmes exclues)• end : décalage en octets de la fin de l'objet dans le texte d'entrée (marques de visèmes exclues)• value : varie en fonction du type de marque vocale
• SSML : balise SSML <mark>• viseme : le nom du visème• word ou sentence : sous-chaîne du texte d'entrée, telle que délimitée par les champs de début et de fin
Par exemple, Amazon Polly génère l'objet de marque vocale word suivant à partir du texte « Mary had alittle lamb » :
{"time":373,"type":"word","start":5,"end":8,"value":"had"}
26
Amazon Polly Manuel du développeurExemples de marques vocales
Le mot décrit (« had ») commence 373 millisecondes après le début du flux audio à l'octet 5 et se termine àl'octet 8 du texte d'entrée.
Note
Cette métadonnée correspond au voice-id Joanna. Si vous utilisez une autre voix avec le mêmetexte d'entrée, la métadonnée peut être différente.
Exemples de marques vocalesLes exemples suivants de demandes de marques vocales montrent comment effectuer des demandescourantes et illustrent la sortie que ces demandes génèrent.
Exemple 1 : Marques vocales sans SSMLL'exemple suivant montre à quoi ressemblent les métadonnées demandées sur votre écran pour la phrase« Mary had a little lamb. » Pour simplifier, cet exemple n'inclut pas de marques vocales SSML.
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly synthesize-speech \ --output-format json \ --voice-id Joanna \ --text 'Mary had a little lamb.' \ --speech-mark-types='["viseme", "word", "sentence"]' \ MaryLamb.txt
Lorsque vous effectuez cette demande, Amazon Polly renvoie ce qui suit dans le fichier .txt :
{"time":0,"type":"sentence","start":0,"end":23,"value":"Mary had a little lamb."}{"time":6,"type":"word","start":0,"end":4,"value":"Mary"}{"time":6,"type":"viseme","value":"p"}{"time":73,"type":"viseme","value":"E"}{"time":180,"type":"viseme","value":"r"}{"time":292,"type":"viseme","value":"i"}{"time":373,"type":"word","start":5,"end":8,"value":"had"}{"time":373,"type":"viseme","value":"k"}{"time":460,"type":"viseme","value":"a"}{"time":521,"type":"viseme","value":"t"}{"time":604,"type":"word","start":9,"end":10,"value":"a"}{"time":604,"type":"viseme","value":"@"}{"time":643,"type":"word","start":11,"end":17,"value":"little"}{"time":643,"type":"viseme","value":"t"}{"time":739,"type":"viseme","value":"i"}{"time":769,"type":"viseme","value":"t"}{"time":799,"type":"viseme","value":"t"}{"time":882,"type":"word","start":18,"end":22,"value":"lamb"}{"time":882,"type":"viseme","value":"t"}{"time":964,"type":"viseme","value":"a"}{"time":1082,"type":"viseme","value":"p"}
Dans cette sortie, chaque partie du texte est divisée selon les marques vocales :
• La phrase « Mary had a little lamb. »• Chaque mot du texte : « Mary », « had », « a », « little » et « lamb. »
27
Amazon Polly Manuel du développeurDemande de marques vocales àl'aide de la console Amazon Polly
• Le visème de chaque son dans le flux audio correspondant : « p », « E », « r », « i », et ainsi desuite. Pour plus d'informations sur les visèmes, consultez la section Les visèmes dans AmazonPolly (p. 24).
Exemple 2 : Marques vocales avec SSMLLe processus de génération du texte amélioré par SSML est similaire à celui qui ne fait pas appel au SSML.Utilisez la commande synthesize-speech et spécifiez le texte amélioré par SSML et le type de marquesvocales voulu, comme le montre l'exemple suivant : Pour faciliter la lecture de cet exemple, nous n'avonspas inclus les marques vocales de visèmes, mais elles peuvent apparaître aussi.
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly synthesize-speech \ --output-format json \ --voice-id Joanna \ --text-type ssml \ --text '<speak><prosody volume="+20dB">Mary had <break time="300ms"/>a little <mark name="animal"/>lamb</prosody></speak>' \ --speech-mark-types='["sentence", "word", "ssml"]' \ output.txt
Lorsque vous effectuez cette demande, Amazon Polly renvoie ce qui suit dans le fichier .txt :
{"time":0,"type":"sentence","start":31,"end":95,"value":"Mary had <break time=\"300ms\"\/>a little <mark name=\"animal\"\/>lamb"}{"time":6,"type":"word","start":31,"end":35,"value":"Mary"}{"time":325,"type":"word","start":36,"end":39,"value":"had"}{"time":897,"type":"word","start":40,"end":61,"value":"<break time=\"300ms\"\/>"}{"time":1291,"type":"word","start":61,"end":62,"value":"a"}{"time":1373,"type":"word","start":63,"end":69,"value":"little"}{"time":1635,"type":"ssml","start":70,"end":91,"value":"animal"}{"time":1635,"type":"word","start":91,"end":95,"value":"lamb"}
Demande de marques vocales à l'aide de la consoleAmazon Polly
Vous pouvez utiliser la console pour demander des marques vocales à Amazon Polly. Vous pouvez ensuiteafficher les métadonnées ou les enregistrer dans un fichier.
Pour générer des marques vocales à partir de la console
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Text-to-Speech.3. Continuez en utilisant l'onglet Texte brut ou choisissez l'onglet SSML.4. Saisissez ou collez votre texte dans la zone d'entrée.5. Pour Langue et région, choisissez la langue de votre texte.6. Pour Voix, choisissez la voix que vous souhaitez utiliser pour le texte.7. Pour modifier la prononciation d'un texte, choisissez Personnaliser la prononciation et indiquez le
lexique souhaité en regard de l'option Appliquer un lexique.
28
Amazon Polly Manuel du développeurDemande de marques vocales àl'aide de la console Amazon Polly
8. Pour vérifier que le discours se présente sous sa forme finale, choisissez Listen to speech.9. Choisissez Change File Format.
Note
Le téléchargement des formats MP3, OGG ou PCM ne permet pas de générer des marquesvocales.
10. Pour File Format, choisissez Speech Marks.11. Pour Types de marques vocales, choisissez les types de marques vocales à générer. L'option pour
choisir les métadonnées SSML n'est disponible que dans l'onglet SSML. Pour plus d'informations surl'utilisation de SSML avec Amazon Polly, consultez Génération de discours à partir de documentsSSML (p. 30).
12. Choisissez Change.13. Choisissez Download Speech Marks.
29
Amazon Polly Manuel du développeurUtilisation de SSML dans la console
Génération de discours à partir dedocuments SSML
Vous pouvez utiliser Amazon Polly pour générer un discours à partir d'un texte brut ou à partir dedocuments marqués à l'aide de la synthèse vocale SSML (Speech Synthesis Markup Language). Lesbalises SSML vous permettent de personnaliser et de contrôler des aspects du discours tels que laprononciation, le volume et le débit de parole.
Amazon Polly prend en charge SSML version 1.1, tel que défini par la recommandation W3C suivante :
• Synthèse vocale SSML (Markup Language) Version 1.1, recommandation W3C 7 septembre 2010
Vous pouvez utiliser SSML dans la console Amazon Polly ou à l'aide de l'AWS CLI. Les rubriquessuivantes vous montrent comment utiliser SSML pour générer un contenu vocal et contrôler la sortie afinqu'elle s'adapte parfaitement à vos besoins.
Rubriques• Utilisation de SSML (console) (p. 30)• Utilisation de SSML (AWS CLI) (p. 31)• Balises SSML prises en charge par Amazon Polly (p. 36)
Utilisation de SSML (console)Les balises SSML vous permettent de personnaliser et de contrôler des aspects du discours tels que laprononciation, le volume et le débit de parole. Dans la console AWS, le texte amélioré par SSML que voussouhaitez convertir en audio est entré dans l'onglet SSML de la page de la synthèse vocale. Bien que letexte entré en texte brut s'appuie sur les paramètres par défaut de la langue et de la voix que vous avezchoisies, le texte amélioré avec SSML indique à Amazon Polly non seulement ce que vous souhaitez dire,mais également la façon dont vous souhaitez le dire. À l'exception des balises SSML ajoutées, AmazonPolly synthétise le texte amélioré avec SSML de la même manière qu'il le fait pour un texte brut. Pour plusd'informations, consultez Exercice 2 : Synthèse vocale (entrée de texte brut) (p. 13).
Lorsque vous utilisez SSML, vous placez l'ensemble du texte dans une balise <speak> pour permettre àAmazon Polly de savoir que vous utilisez SSML. Exemples :
<speak>Hi! My name is Joanna. I will read any text you type here.</speak>
Puis, vous pouvez utiliser des balises SSML spécifiques sur le texte à l'intérieur des balises <speak>pour personnaliser la façon dont vous voulez que le texte soit entendu. Vous pouvez ajouter une pause,modifier le rythme du discours, réduire ou augmenter le volume de la voix, ou ajouter de nombreusesautres personnalisations afin que le texte résonne de façon appropriée pour vous. Pour obtenir la listecomplète des balises SSML que vous pouvez utiliser, consultez Balises SSML prises en charge (p. 36).
Dans cet exemple suivant, vous utilisez une balise SSML pour demander à Amazon Polly de remplacer« World Wide Web Consortium » par « W3C » dans le cadre d'un paragraphe court. Vous pouvez
30
Amazon Polly Manuel du développeurUtilisation de SSML via l'interface
de ligne de commande AWS
également utiliser des balises pour introduire une pause et murmurer un mot. Comparez les résultats de cetexercice à ceux de Application de lexiques à l'aide de la console (Synthèse vocale) (p. 124).
Pour plus d'informations sur SSML, avec des exemples, consultez Balises SSML prises encharge (p. 36).
Pour synthétiser le discours à partir d'un texte amélioré par SSML (console)
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. S'il n'est pas déjà affiché, choisissez l'onglet Text-to-Speech (Synthèse vocale).3. Choisissez l'onglet SSML.4. Tapez ou collez le texte suivant dans la zone de texte :
<speak> He was caught up in the game.<break time="1s"/> In the middle of the 10/3/2014 <sub alias="World Wide Web Consortium">W3C</sub> meeting, he shouted, "Score!" quite loudly. When his boss stared at him, he repeated <amazon:effect name="whispered">"Score"</amazon:effect> in a whisper.</speak>
Les balises SSML indiquent à Amazon Polly comment restituer le texte :
• <break time="1s"/> indique à Amazon Polly de marquer une pause d'une seconde entre lesdeux premières phrases.
• <sub alias="World Wide Web Consortium">W3C</sub> indique à Amazon Polly deremplacer « World Wide Web Consortium » par l'acronyme « W3C ».
• <amazon:effect name="whispered">Score</amazon:effect> indique à Amazon Polly dechuchoter la deuxième instance de « Score ».
Note
Lorsque vous utilisez l'AWS CLI, vous devez placer le texte saisi entre guillemets pour ledifférencier du code qui l'entoure. La console Amazon Polly n'affichant pas le code, vousn'avez pas à placer le texte saisi entre guillemets lorsque vous l'utilisez.
5. Pour Choose a language and region (Choisir une langue et une région), choisissez English US(Anglais (États-Unis)), puis choisissez une voix.
6. Pour écouter le discours, choisissez Listen to speech (Écouter la voix).7. Pour enregistrer le fichier vocal, choisissez Download [format] (Télécharger [format]). Si vous
souhaitez l'enregistrer dans un autre format, choisissez Change file format (Modifier le format dufichier), puis sélectionnez le format souhaité. Choisissez ensuite Change (Modifier), puis Download[format] (Télécharger [format]).
Utilisation de SSML (AWS CLI)Vous pouvez utiliser l'AWS CLI pour synthétiser le texte d'entrée SSML. Les exemples suivants montrentcomment exécuter une tâche courante à l'aide de l'AWS CLI.
Rubriques• Utilisation de SSML avec la commande de synthèse vocale (p. 32)• Synthétisation d'un document amélioré par SSML (p. 32)• Utilisation de SSML pour des tâches Amazon Polly courantes (p. 33)
31
Amazon Polly Manuel du développeurUtilisation de SSML avec la commande de synthèse vocale
Utilisation de SSML avec la commande de synthèsevocaleCet exemple montre comment utiliser la commande synthesize-speech avec une chaîne SSML.Lorsque vous utilisez la commande synthesize-speech, vous devez généralement fournir les élémentssuivants :
• Texte d'entrée (obligatoire)• Balises d'ouverture et de fermeture (obligatoires)• Format de sortie• Voix
Dans cet exemple, vous spécifiez une chaîne de texte simple entre guillemets, ainsi que les balises<speak></speak> d'ouverture et de fermeture obligatoires.
Important
Même si vous ne placez pas le texte saisi entre guillemets dans la console Amazon Polly, vousdevez le faire dans l'AWS CLI. Il est également important de différencier les guillemets placésautour du texte saisi et les guillemets requis pour les balises individuelles.Par exemple, vous pouvez placer le texte saisi entre guillemets standard (") et utiliser desguillemets simples (') pour les balises internes, ou inversement. Les deux options sont admisespour Unix, Linux et macOS. Toutefois, sous Windows, vous devez placer le texte saisi entreguillemets standard et utiliser des guillemets simples pour les balises.Pour tous les systèmes d'exploitation, vous pouvez placer le texte saisi entre guillemets standard(") et utiliser des guillemets simples (') pour les balises internes. Exemples :
--text "<speak>Hello <break time='300ms'/> World</speak>"
Sous Unix, Linux et macOS, vous pouvez également faire l'inverse, à savoir placer le texte saisientre guillemets simples (') et utiliser les guillemets standard (") pour les balises internes :
--text '<speak>Hello <break time="300ms"/> World</speak>'
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly synthesize-speech \--text-type ssml \--text '<speak>Hello world</speak>' \--output-format mp3 \--voice-id Joanna \speech.mp3
Pour écouter le résultat de la synthèse vocale, lisez le fichier speech.mp3 obtenu à l'aide de n'importequel lecteur audio.
Synthétisation d'un document amélioré par SSMLPour un texte d'entrée plus long, il sera peut-être plus facile pour vous d'enregistrer votre contenu SSMLdans un fichier et de simplement spécifier le nom du fichier dans la commande synthesize-speech. Parexemple, vous pouvez enregistrer ce qui suit dans un fichier appelé example.xml :
32
Amazon Polly Manuel du développeurUtilisation de SSML pour des
tâches Amazon Polly courantes
<?xml version="1.0"?><speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis11/synthesis.xsd" xml:lang="en-US">Hello World</speak>
L'attribut xml:lang indique en-US (Anglais (États-Unis)) comme langue du texte saisi. Pour plusd'informations sur la façon dont la langue du texte d'entrée et celle de la voix choisie ont un impactsur l'opération SynthesizeSpeech, consultez la page Amélioration de la prononciation des motsétrangers (p. 35).
Pour exécuter un fichier amélioré par SSML
1. Enregistrez le SSML dans un fichier (par exemple, example.xml).2. Exécutez la commande synthesize-speech suivante depuis le chemin d'accès où le fichier XML
est stocké et spécifiez le fichier SSML comme entrée en remplaçant le texte d'entrée par file:\\example.xml. Étant donné que cette commande pointe vers un fichier au lieu de contenir le texteréellement saisi, vous n'avez pas besoin d'utiliser des guillemets.
Note
L'exemple d'interface de ligne de commande AWS suivant est mis en forme pour Unix, Linuxet macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barreoblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).
aws polly synthesize-speech \--text-type ssml \--text file://example.xml \--output-format mp3 \--voice-id Joanna \speech.mp3
3. Pour écouter le résultat de la synthèse vocale, lisez le fichier speech.mp3 obtenu à l'aide de n'importequel lecteur audio.
Utilisation de SSML pour des tâches Amazon PollycourantesLes exemples suivants montrent comment utiliser les balises SSML pour effectuer des tâches AmazonPolly courantes. Pour afficher davantage de balises SSML, consultez Balises SSML prises en charge parAmazon Polly (p. 36).
Pour tester les exemples suivants, utilisez la commande synthesize-speech ci-dessous avec le texteamélioré par SSML approprié :
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly synthesize-speech \--text-type ssml \--text '<speak>Hello <break time="300ms"/> World</speak>' \--output-format mp3 \--voice-id Joanna \speech.mp3
33
Amazon Polly Manuel du développeurUtilisation de SSML pour des
tâches Amazon Polly courantes
Ajout d'une pausePour ajouter une pause entre les mots, utilisez l'élément <break>. La commande SSML synthesize-speech suivante utilise l'élément <break> pour ajouter un délai de 300 millisecondes entre les mots« Hello » et « World ».
<speak> Hello <break time="300ms"/> World.</speak>
Contrôle du volume, de la tonalité et du débitPour contrôler la tonalité, le débit de parole et le volume vocal, utilisez l'élément <prosody>.
• La commande synthesize-speech suivante utilise l'élément <prosody> pour contrôler le volume :
<speak> <prosody volume="+20dB">Hello world</prosody></speak>
• La commande synthesize-speech suivante utilise l'élément <prosody> pour contrôler la tonalité :
<speak> <prosody pitch="x-high">Hello world.</prosody></speak>
• La commande synthesize-speech suivante utilise l'élément <prosody> pour spécifier le débit deparole (vitesse) :
<speak> <prosody rate="x-fast">Hello world.</prosody></speak>
• Vous pouvez spécifier plusieurs attributs dans un élément <prosody>, comme illustré dans lesexemples suivants :
<speak> <prosody volume="x-loud" pitch="x-high" rate="x-fast">Hello world.</prosody></speak>
ChuchotementPour chuchoter des mots, utilisez l'élément <amazon:effect name="whispered">. Dans l'exemplesuivant, l'élément <amazon:effect name="whispered"> demande à Amazon Polly de chuchoter« little lamb » :
<speak> Mary has a <amazon:effect name="whispered">little lamb.</amazon:effect></speak>
Pour renforcer cet effet, utilisez l'élément <prosody>afin de ralentir légèrement le discours à voix basse.
Accentuation de motsPour accentuer un mot ou une expression, utilisez l'élément <emphasis>.
34
Amazon Polly Manuel du développeurUtilisation de SSML pour des
tâches Amazon Polly courantes
<speak> <emphasis level="strong">Hello</emphasis> world how are you?</speak>
Indication de la prononciation de certains motsPour fournir des informations sur la façon de prononcer le texte, utilisez l'élément <say-as>.
Par exemple, dans l'élément SSML suivant, <say-as> indique que le texte 4/6 doit être interprété commeune date. L'attribut interpret-as="date" format="dm" indique qu'il doit être prononcé comme unedate au format mois/jour.
Vous pouvez également utiliser l'élément <say-as> pour demander à Amazon Polly de prononcer lesnombres comme des fractions, des numéros de téléphone, des unités de mesure, etc.
<speak> Today is <say-as interpret-as="date" format="md" >4/6</say-as></speak>
Le discours qui en résulte est « Today is June 4th ». La balise <say-as> décrit comment le texte doit êtreinterprété en fournissant un contexte supplémentaire avec l'attribut interpret-as.
Pour vérifier l'exactitude de la synthèse vocale, lisez le fichier speech.mp3 obtenu.
Pour plus d'informations sur cet élément, consultez Contrôle de la prononciation de types de motsspécifiques (p. 45).
Amélioration de la prononciation des mots étrangersAmazon Polly suppose que la langue du texte saisi est la même que celle de la voix choisie. Pour améliorerla prononciation des mots étrangers dans le texte d'entrée, dans l'appel synthesize-speech, spécifiezla langue cible à l'aide de l'attribut xml:lang. Cela indique à Amazon Polly d'appliquer des règles deprononciation différentes pour les mots étrangers que vous balisez.
Les exemples suivants montrent comment utiliser les différentes combinaisons de langues dans le texted'entrée, et comment indiquer des voix et la prononciation des mots étrangers. Pour visualiser la listecomplète des langues disponibles, consultez Langues prise en charge par Amazon Polly (p. 22).
Dans l'exemple suivant, la voix (Joanna) est une voix américaine. Par défaut, Amazon Polly suppose que lalangue du texte saisi est la même que celle de la voix (dans ce cas, l'anglais des États-Unis). Lorsque vousutilisez la balise xml:lang, Amazon Polly interprète le texte comme de l'espagnol et le texte est prononcéde la même façon que la voix sélectionnée prononcerait des mots espagnols, conformément aux règlesde prononciation de la langue étrangère. Sans cette balise, le texte est prononcé en suivant les règles deprononciation de la voix sélectionnée.
<speak> That restaurant is terrific. <lang xml:lang="es-ES">Mucho gusto.</lang></speak>
Étant donné que la langue du texte saisi est l'anglais, Amazon Polly établit une correspondance entreles phonèmes espagnols et les phonèmes anglais les plus proches. En conséquence, Joanna prononcele texte comme une personne de langue maternelle américaine qui prononce les mots correctement enespagnol, mais avec un accent américain.
Note
Certaines langues étant plus proches que d'autres, certaines combinaisons linguistiquesfonctionnent mieux que d'autres.
35
Amazon Polly Manuel du développeurBalises SSML prises en charge par Amazon Polly
Balises SSML prises en charge par Amazon PollyEn utilisant du texte d'entrée amélioré par SSML, vous pouvez mieux contrôler la façon dont Amazon Pollygénère un discours à partir du texte que vous fournissez.
Par exemple, vous pouvez insérer une longue pause dans votre texte ou changer la tonalité et le débit deparole de la synthèse vocale. Amazon Polly assure, entre autres, ce type de contrôle à l'aide d'un sous-ensemble de balises de marquage qui sont définies dans la page Speech Synthesis Markup Language(SSML) Version 1.1, W3C Recommendation
Balises SSML prises en chargeAmazon Polly prend en charge les balises SSML suivantes :
Action Balise SSML
Ajout d'une pause (p. 37) <break>
Accentuation de mots (p. 38) <emphasis>
Spécification d'une autre langue pour des motsspécifiques (p. 38)
<lang>
Placement d'une balise personnalisée dans votretexte (p. 39)
<mark>
Ajout d'une pause entre des paragraphes (p. 39)
<p>
Utilisation de la prononciation phonétique (p. 40)
<phoneme>
Contrôle du volume, du débit de parole et de latonalité (p. 40)
<prosody>
Définition d'une durée maximale pour la synthèsevocale (p. 42)
<prosody amazon:max-duration>
Ajout d'une pause entre des phrases (p. 44) <s>
Contrôle de la prononciation de types de motsspécifiques (p. 45)
<say-as>
Identification du texte amélioré par SSML (p. 37)
<speak>
Prononciation des acronymes et des abréviations (p. 47)
<sub>
Amélioration de la prononciation en spécifiant desparties du discours (p. 47)
<s, sem>
Ajout du bruit de respiration (p. 48) <amazon:auto-breaths>
Ajout d'une compression de gamme dynamique (p. 51)
<amazon:effect name="drc">
Utilisation d'une voix douce (p. 52) <amazon:effect phonation="soft">
36
Amazon Polly Manuel du développeurBalises SSML prises en charge
Action Balise SSML
Contrôle du timbre (p. 53) <amazon:effect vocal-tract-length>
Chuchotement (p. 54) <amazon:effect name="whispered">
Les balises SSML non prises en charge dans le texte d'entrée génèrent des erreurs.
Identification du texte amélioré par SSML<speak>
La balise <speak> est l'élément racine de l'ensemble du texte SSML dans Amazon Polly. L'ensemble dutexte amélioré par SSML doit être délimité par une paire de balises <speak>.
<speak>Mary had a little lamb.</speak>
Ajout d'une pause<break>
Pour ajouter une pause à votre texte, utilisez la balise <break>. Vous pouvez définir une pause baséesur l'impact (l'équivalent de la pause après une virgule, une phrase ou un paragraphe) ou vous pouvezla définir avec une durée spécifique en secondes ou millisecondes. Si vous ne spécifiez pas d'attributpour déterminer la longueur de la pause, Amazon Polly utilise la valeur par défaut, qui est <breakstrength="medium">, ce qui ajoute la longueur d'une pause après une virgule.
Valeurs de l'attribut strength :
• none : aucune pause. Utilisez none pour supprimer une pause habituelle (par exemple, après un point).• x-weak : équivaut à none, aucune pause.• weak : définit une pause de la même durée que la pause après une virgule.• medium : équivaut à weak.• strong : définit une pause de la même durée que la pause après une phrase.• x-strong : définit une pause de la même durée que la pause après un paragraphe.
Valeurs de l'attribut time :
• [number]s : durée de la pause, en secondes. La durée maximale est 10s.• [number]ms : durée de la pause, en millisecondes. La durée maximale est 10000ms.
Exemples :
<speak> Mary had a little lamb <break time="3s"/>Whose fleece was white as snow.</speak>
Si vous n'utilisez aucun attribut avec la balise break, le résultat varie en fonction du texte :
• Si aucun autre signe de ponctuation n'est placé à côté de la balise break, une <breakstrength="medium"> (pause de la longueur d'une virgule) est créée.
• Si la balise est placée à côté d'une virgule, la balise est mise à niveau vers <breakstrength="strong"> (pause de la longueur d'une phrase).
37
Amazon Polly Manuel du développeurBalises SSML prises en charge
• Si la balise est placée à côté d'un point, la balise est mise à niveau vers <break strength="x-strong"> (pause de la longueur d'un paragraphe).
Accentuation de mots<emphasis>
Pour insister sur des mots, utilisez la balise <emphasis>. Souligner des mots modifie le débit et le volumede parole. Plus vous soulignez, plus le texte sera lu fort et lentement par Amazon Polly. Moins voussoulignez, et plus ce sera bas et rapide. Pour spécifier le degré d'importance, utilisez l'attribut level.
Valeurs de l'attribut level :
• Strong : augmente le volume et ralentit le débit de parole pour que l'enregistrement soit plus fort et pluslent.
• Moderate : augmente le volume et ralentit le débit de parole, mais moins que strong. Moderate est lavaleur par défaut.
• Reduced : diminue le volume et accélère le débit de parole. La voix est plus douce et plus rapide.
Note
Le débit de parole et le volume de base pour une voix sont compris entre les niveaux moderateet reduced.
Exemples :
<speak> I already told you I <emphasis level="strong">really like</emphasis> that person.</speak>
Spécification d'une autre langue pour des mots spécifiques<lang>
Spécifiez une autre langue pour un mot, une expression ou une phrase spécifique, à l'aide de la balise<lang>. En général, les expressions et les mots étrangers sont mieux restitués lorsqu'ils sont délimités parune paire de balises <lang>. Pour spécifier la langue, utilisez l'attribut xml:lang. Pour visualiser la listecomplète des langues disponibles, consultez Langues prise en charge par Amazon Polly (p. 22).
À moins que vous n'appliquiez la balise <lang>, tous les mots figurant dans le texte d'entrée sont restituésdans la langue de la voix spécifiée dans voice-id. Si vous appliquez la balise <lang>, les mots sontprononcés dans cette langue.
Par exemple, si l'ID vocal voice-id est Joanna (qui parle l'anglais des États-Unis), Amazon Pollyprononce la phrase suivante, avec la voix de Joanna, sans accent français :
<speak> Je ne parle pas français.</speak>
Si vous utilisez la voix de Joanna avec la balise <lang>, Amazon Polly prononce la phrase avec la voix deJoanna parlant français avec l'accent américain :
<speak>
38
Amazon Polly Manuel du développeurBalises SSML prises en charge
<lang xml:lang="fr-FR">Je ne parle pas français.</lang>.</speak>
Comme Joanna n'est pas une voix de personne de langue maternelle française, la prononciation est baséesur sa langue maternelle, à savoir l'anglais des États-Unis. Par exemple, alors que le r du mot français estprononcé en parfait français avec un roulement uvulaire /R/, ce phonème est prononcé comme un /r/ par lavoix de Joanna qui parle l'anglais des États-Unis.
Si vous utilisez le voice-id de Giorgio, qui parle italien, avec le texte suivant, Amazon Polly prononce laphrase dans la voix de Giorgio avec une prononciation italienne :
<speak> Mi piace Bruce Springsteen.</speak>
Si vous utilisez la même voix avec la balise <lang> suivante, Amazon Polly prononce Bruce Springsteenen anglais, avec l'accent italien :
<speak> Mi piace <lang xml:lang="en-US">Bruce Springsteen.</lang></speak>
Cette balise peut également être utilisée pour remplacer l'option DefaultLangCode facultative lors de lasynthèse vocale. Toutefois, cette opération nécessite que vous formatiez votre texte à l'aide du langageSSML.
Placement d'une balise personnalisée dans votre texte<mark>
Pour placer une balise personnalisée dans le texte, utilisez la balise <mark>. Amazon Polly n'effectueaucune action sur la balise, mais renvoie l'emplacement de la balise dans les métadonnées SSML. Cettebalise peut être n'importe quel élément que vous souhaitez appeler, tant qu'il respecte le format suivant :
<mark name="tag_name"/>
Par exemple, supposons que le nom de la balise soit « animal » et que le texte d'entrée soit :
<speak> Mary had a little <mark name="animal"/>lamb.</speak>
Amazon Polly peut renvoyer les métadonnées SSML suivantes :
{"time":767,"type":"ssml","start":25,"end":46,"value":"animal"}
Ajout d'une pause entre des paragraphes<p>
Pour ajouter une pause entre les paragraphes de votre texte, utilisez la balise <p>. L'utilisation de cettebalise permet de marquer une pause plus longue que celle habituellement utilisée par les locuteurs natifsaprès une virgule ou à la fin d'une phrase. Utilisez la balise <p> pour délimiter le paragraphe :
39
Amazon Polly Manuel du développeurBalises SSML prises en charge
<speak> <p>This is the first paragraph. There should be a pause after this text is spoken.</p> <p>This is the second paragraph.</p> </speak>
Cela revient à spécifier une pause à l'aide de <break strength="x-strong"/>.
Utilisation de la prononciation phonétique<phoneme>
Pour qu'Amazon Polly utilise la prononciation phonétique pour un texte spécifique, utilisez la balise<phoneme>.
Deux attributs sont requis avec la balise <phoneme>. Elles indiquent l'alphabet phonétique utilisé parAmazon Polly et les symboles phonétiques de la prononciation corrigée :
• alphabet
• ipa : indique que l'alphabet phonétique international (API) sera utilisé.• x-sampa : indique que l'alphabet X-SAMPA (Extended Speech Assessment Methods Phonetic
Alphabet) sera utilisé.• ph
• Indique les symboles phonétiques pour la prononciation. Pour plus d'informations, consultez Tableaudes visèmes et des phonèmes des langues prises en charge (p. 54)
Avec la balise <phoneme>, Amazon Polly utilise la prononciation spécifiée par l'attribut ph au lieu de laprononciation standard associée par défaut à la langue utilisée par la voix sélectionnée.
Par exemple, le mot « pecan » peut être prononcé de deux façons. Dans l'exemple suivant, « pecan »est prononcé différemment sur chaque ligne. Amazon Polly prononce « pecan » comme spécifié dans lesattributs ph, au lieu d'utiliser la prononciation par défaut :
<speak> You say, <phoneme alphabet="ipa" ph="p##k##n">pecan</phoneme>. I say, <phoneme alphabet="ipa" ph="#pi.kæn">pecan</phoneme>.</speak>
Contrôle du volume, du débit de parole et de la tonalité<prosody>
Pour contrôler le volume, le débit ou la tonalité de la voix que vous avez sélectionnée, utilisez la baliseprosody.
Le volume, le débit de parole et la tonalité dépendent de la voix sélectionnée. Outre les différences entreles voix pour les différentes langues, il existe des différences entre chaque voix parlant la même langue.C'est la raison pour laquelle, tandis que les attributs sont similaires dans toutes les langues, il existe denettes variations d'une langue à l'autre et aucune valeur absolue n'est disponible.
La balise prosody possède trois attributs, chacun d'entre eux pouvant être défini à l'aide de plusieursvaleurs. Chaque attribut utilise la même syntaxe :
<prosody attribute="value"></prosody>
40
Amazon Polly Manuel du développeurBalises SSML prises en charge
• volume
• default : restaure le volume au niveau par défaut de la voix actuelle.• silent, x-soft, soft, medium, loud, x-loud : Définit le volume sur une valeur prédéfinie pour la
voix actuelle.• +ndB, -ndB : change le volume par rapport au niveau actuel. La valeur +0dB correspond à l'absence
de modification, la valeur +6dB à environ deux fois le volume actuel et la valeur -6dB à environ lamoitié du volume actuel.
Par exemple, vous pouvez définir le volume d'un passage comme suit :
<speak> Sometimes it can sometimes be useful to <prosody volume="loud">increase the volume for a specific speech.</prosody> </speak>
Vous pouvez également le définir de la façon suivante :
<speak> And sometimes a lower volume <prosody volume="-6dB">is a more effective way of interacting with your audience.</prosody> </speak>
• rate
• x-slow, slow, medium, fast,x-fast : définit la tonalité sur une valeur prédéfinie pour la voixsélectionnée.
• n% : changement de pourcentage non négatif du débit de parole. Par exemple, une valeur de 100 %signifie que le débit de parole n'a pas été modifié, une valeur de 200 % correspond à un débit deparole égal au double du débit par défaut, et une valeur de 50 % correspond à un débit de parole égalà la moitié du débit par défaut. Cette valeur peut être comprise entre 20 et 200 %.
Par exemple, vous pouvez définir le débit de parole d'un passage comme suit :
<speak> For dramatic purposes, you might wish to <prosody rate="slow">speed up the speaking rate of your text.</prosody> </speak>
Vous pouvez également le définir de la façon suivante :
<speak> Although in some cases, it might help your audience to <prosody rate="85%">slow the speaking rate slightly to aid in comprehension.</prosody> </speak>
• pitch
• default : restaure la tonalité au niveau par défaut de la voix actuelle.• x-low, low, medium, high, x-high : définit la tonalité sur une valeur prédéfinie pour la voix actuelle.• +n% ou -n% : ajuste la tonalité sous forme d'un pourcentage relatif. Par exemple, la valeur +0%
correspond à l'absence de modification de la tonalité de base, la valeur +5% attribue une tonalité debase un peu plus élevée et la valeur -5% se traduit par une tonalité de base un peu plus basse.
Par exemple, vous pouvez définir la tonalité d'un passage comme suit :
<speak> Do you like sythesized speech <prosody pitch="high">with a pitch that is higher than normal?</prosody>
41
Amazon Polly Manuel du développeurBalises SSML prises en charge
</speak>
Vous pouvez également le définir de la façon suivante :
<speak> Or do you prefer your speech <prosody pitch="-10%">with a somewhat lower pitch?</prosody> </speak>
La balise <prosody> doit contenir au moins un attribut, mais peut en inclure davantage.
<speak> Each morning when I wake up, <prosody volume="loud" rate="x-slow">I speak quite slowly and deliberately until I have my coffee.</prosody></speak>
Elle peut également être combinée avec des balises imbriquées, comme suit :
<speak> <prosody rate="85%">Sometimes combining attributes <prosody pitch="-10%">can change the impression your audience has of a voice</prosody> as well.</prosody> </speak>
Définition d'une durée maximale pour la synthèse vocale<prosody amazon:max-duration>
Pour contrôler la durée d'un discours lors de sa synthèse, utilisez la balise <prosody> avec l'attributamazon:max-duration.
La durée de la synthèse vocale varie légèrement selon la voix sélectionnée. Par conséquent, il peut êtredifficile de faire correspondre la synthèse vocale à une présentation visuelle ou toute autre animationnécessitant un chronométrage précis. Ce problème est accentué pour les applications de traduction, carle temps nécessaire à la prononciation de certaines phrases peut varier de manière significative entredifférentes langues.
La balise <prosody amazon:max-duration> adapte la synthèse vocale à l'intervalle de temps quevous souhaitez définir (la durée).
Cette balise utilise la syntaxe suivante :
<prosody amazon:max-duration="time duration">
La balise <prosody amazon:max-duration> vous permet de spécifier la durée en secondes ou enmillisecondes :
• ns : durée maximale en secondes• nms : durée maximale en millisecondes
Par exemple, le texte parlé suivant a une durée maximale de 2 secondes :
<speak> <prosody amazon:max-duration="2s">
42
Amazon Polly Manuel du développeurBalises SSML prises en charge
Human speech is a powerful way to communicate. </prosody></speak>
Le texte placé dans la balise ne dépasse pas la durée spécifiée. Si la synthèse vocale est censée prendreplus de temps que cette durée avec la voix ou la langue sélectionnée, Amazon Polly accélère le discourspour l'adapter à la durée spécifiée.
Si la durée spécifiée est plus longue que la durée nécessaire pour lire le texte à un débit normal, AmazonPolly lit le discours normalement. Il ne ralentit pas le discours et n'ajoute pas de pauses. Ainsi, la synthèsevocale est plus courte que prévue.
Note
Amazon Polly n'augmente pas plus de 5 fois la vitesse d'élocution par rapport à la vitessenormale. Si le texte est énoncé à une vitesse encore plus rapide, il est probable que celui-cine sera pas intelligible. Si un discours ne peut pas être énoncé dans la durée que vous avezspécifiée, même lorsqu'il est accéléré au maximum, l'audio sera accéléré, mais durera pluslongtemps que la durée spécifiée.
Vous pouvez inclure une ou plusieurs phrases dans une balise <prosody amazon:max-duration> etutiliser plusieurs balises <prosody amazon:max-duration> dans votre texte.
Exemples :
<speak> <prosody amazon:max-duration="2400ms"> Human speech is a powerful way to communicate. </prosody> <break strength="strong"/> <prosody amazon:max-duration="5100ms"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> <break strength="strong"/> <prosody amazon:max-duration="8900ms"> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody></speak>
L'utilisation de la balise <prosody amazon:max-duration> peut augmenter la latence lorsque AmazonPolly renvoie la synthèse vocale. Le temps de latence dépend du passage et de sa longueur. Nous vousrecommandons de privilégier des textes composés de passages relativement courts.
Limites
Des limitations s'appliquent à votre utilisation de la balise <prosody amazon:max-duration> à sonutilisation avec d'autres balises SSML :
• Le texte placé à l'intérieur d'une balise <prosody amazon:max-duration> ne peut pas comporterplus de 1 500 caractères.
• Vous ne pouvez pas imbriquer de balises <prosody amazon:max-duration>. Si vous placez unebalise <prosody amazon:max-duration> à l'intérieur d'une autre balise du même type, AmazonPolly ignore la balise interne.
Par exemple, dans le code suivant, la balise <prosody amazon:max-duration="5s"> est ignorée :
43
Amazon Polly Manuel du développeurBalises SSML prises en charge
<speak> <prosody amazon:max-duration="16s"> Human speech is a powerful way to communicate. <prosody amazon:max-duration="5s"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody>
We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody></speak>
• Vous ne pouvez pas utiliser les balises <prosody> avec l'attribut rate dans une balise <prosodyamazon:max-duration>. En effet, les deux balises affectent la vitesse à laquelle le texte est énoncé.
Dans l'exemple suivant, Amazon Polly ignore la balise <prosody rate="2"> :
<speak> <prosody amazon:max-duration="7500ms"> Human speech is a powerful way to communicate. <prosody rate="2"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </prosody></speak>
Pauses et max-duration
L'utilisation d'une balise max-duration ne vous empêche pas d'insérer des pauses dans votre texte.Toutefois, Amazon Polly inclut la longueur de la pause lors du calcul de la durée maximale du discours. Deplus, Amazon Polly conserve les courtes pauses générées par la présence d'une virgule ou d'un point dansun passage et les inclut dans la durée maximale.
Par exemple, dans le bloc suivant, la pause de 600 millisecondes et les pauses générées par la présencede virgules et de points s'opèrent dans le discours de 8 secondes :
<speak> <prosody amazon:max-duration="8s"> Human speech is a powerful way to communicate. <break time="600ms"/> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody></speak>
Ajout d'une pause entre des phrases<s>
Pour ajouter une pause entre des lignes ou des phrases de votre texte, utilisez la balise <s>. L'utilisationde cette balise revient à :
• Terminer une phrase par un point (.)
44
Amazon Polly Manuel du développeurBalises SSML prises en charge
• Spécifier une pause avec <break strength="strong"/>
Contrairement à la balise <break>, la balise <s> englobe la phrase. Cela est utile pour synthétiser undiscours organisé en lignes, plutôt qu'en phrases, tel qu'un poème.
Dans l'exemple suivant, la balise <s> crée une courte pause après la première et la deuxième phrases. Laphrase finale n'a pas de balise <s>, mais est également suivie d'une courte pause, car elle se termine parun point.
<speak> <s>Mary had a little lamb</s> <s>Whose fleece was white as snow</s> And everywhere that Mary went, the lamb was sure to go.</speak>
Contrôle de la prononciation de types de mots spécifiques<say-as>
Utilisez la balise <say-as> avec l'attribut interpret-as pour indiquer à Amazon Polly commentprononcer certains caractères, mots et chiffres. Elle vous permet de fournir un contexte supplémentaire afind'éliminer toute ambiguïté sur la façon dont Amazon Polly doit rendre le texte.
La balise say-as utilise un attribut, <interpret-as>, qui se sert d'un certain nombre de valeurs disponiblesadmises. Chacune d'elles utilise la même syntaxe :
<say-as interpret-as="value">[text to be interpreted]</say-as>
Les valeurs suivantes sont disponibles avec interpret-as :
• character ou spell-out : épelle chaque lettre du texte, par exemple a-b-c.• cardinal ou number : interprète le texte numérique comme nombre cardinal, par exemple 1 234.• ordinal : interprète le texte numérique comme nombre ordinal, par exemple 1 234ème.• digits : énonce chaque chiffre séparément, par exemple 1-2-3-4.• fraction : interprète le texte numérique comme une fraction. Cela fonctionne aussi bien pour les
fractions courantes comme 3/20 que pour les fractions mixtes comme 2 ½. Voir ci-dessous pour plusd'informations.
• unit : interprète un texte numérique comme une mesure. Cette valeur doit être suivie d'un nombre oud'une fraction, puis d'une unité, sans espace intermédiaire comme dans 1/2inch, ou simplement d'uneunité, comme dans 1meter.
• date : interprète le texte comme une date. Le format de la date doit être spécifié avec l'attribut de format.Voir ci-dessous pour plus d'informations.
• time : interprète le texte numérique comme une durée, en minutes et secondes, comme dans 1'21".• address : interprète le texte comme une partie d'une adresse postale.• expletive : signale que le contenu inclus dans la balise doit être exclu.• telephone : interprète le texte numérique comme un numéro de téléphone à 7 ou 10 chiffres, comme
dans 2025551212. Vous pouvez également utiliser cette valeur pour traiter les numéros de postetéléphonique, comme dans 2025551212x345. Voir ci-dessous pour plus d'informations.
Note
Actuellement, l'option telephone est uniquement disponible pour les voix en anglais.
Fractions
45
Amazon Polly Manuel du développeurBalises SSML prises en charge
Amazon Polly interprète les valeurs au sein de la balise say-as dotées de l'attribut interpret-as="fraction" comme des fractions courantes. La syntaxe suivante est utilisée pour les fractions :
• Fraction
Syntaxe : nombre cardinal/nombre cardinal, par exemple 2/9.
Ainsi, <say-as interpret-as="fraction">2/9</say-as> est prononcé « deux neuvièmes ».• Nombre mixte non négatif
Syntaxe : nombre cardinal+nombre cardinal/nombre cardinal, par exemple 3+1/2.
Ainsi, <say-as interpret-as="fraction">3+1/2</say-as> est prononcé « trois et demi ».
Note
Il doit y avoir un + entre « 3 » et « 1/2 ». Amazon Polly ne prend pas en charge de nombre mixtesans le signe +, par exemple « 3 1/2 ».
Dates
Lorsque interpret-as a la valeur date, vous devez aussi indiquer le format de la date.
Cette balise utilise la syntaxe suivante :
<say-as interpret-as="date" format="format">[date]</say-as>
Exemples :
<speak> I was born on <say-as interpret-as="date" format="dmy">12-31-1900</say-as>.</speak>
Les formats suivants peuvent être utilisés avec l'attribut date.
• mdy : mois-jour-année.• dmy : jour-mois-année.• ymd : année-mois-jour.• md : mois-jour.• dm : jour-mois.• ym : année-mois.• my : mois-année.• d: jour.• m: mois.• y: Année.• yyyymmdd : année-mois-jour. Si vous utilisez ce format, vous pouvez faire en sorte qu'Amazon Polly
ignore des parties de la date en utilisant des points d'interrogation.
Par exemple, Amazon Polly restitue le code ci-dessous de la manière suivante « 22 septembre » :
<say-as interpret-as="date">????0922</say-as>
Format n'est pas nécessaire.
46
Amazon Polly Manuel du développeurBalises SSML prises en charge
Téléphone
Amazon Polly tente d'interpréter le texte que vous fournissez en fonction de son format même sans labalise <say-as>. Par exemple, si votre texte comprend « 202-555-1212 », Amazon Polly interprète cettechaîne comme étant un numéro de téléphone à 10 chiffres et dit chaque chiffre séparément en marquantune pause sur chaque tiret. Dans ce cas, il n'est pas nécessaire d'utiliser <say-as interpret-as="telephone">. Cependant, si vous fournissez le texte « 2025551212 » et que vous voulez queAmazon Polly le dise comme étant un numéro de téléphone, vous devez spécifier <say-as interpret-as="telephone">.
La logique d'interprétation de chaque élément est propre à la langue. Par exemple, les numéros detéléphone ne se prononcent pas de la même façon en anglais américain et en anglais britannique (enanglais britannique, les chiffres identiques qui se suivent sont regroupés, comme dans « double five »ou « triple four »). Pour voir la différence, testez l'exemple suivant avec une voix américaine et une voixbritannique :
<speak> Richard's number is <say-as interpret-as="telephone">2122241555</say-as></speak>
Prononciation des acronymes et des abréviations<sub>
Utilisez la balise <sub> avec l'attribut alias pour remplacer un mot (ou une prononciation) par le textesélectionné, comme un acronyme ou une abréviation.
La syntaxe suivante est utilisée :
<sub alias="new word">abbreviation</sub>
Dans l'exemple suivant, le nom « Mercury » est remplacé par le symbole chimique de l'élément afin que lecontenu audio soit plus clair.
<speak> My favorite chemical element is <sub alias="Mercury">Hg</sub>, because it looks so shiny. </speak>
Amélioration de la prononciation en spécifiant des parties dudiscours<s, sem>
Vous pouvez utiliser la balise <w> pour personnaliser la prononciation des mots en spécifiant la partievocale ou une autre signification du mot. Pour cela, utilisez l'attribut role.
Cette balise utilise la syntaxe suivante :
<w role="attribute">text</w>
Les valeurs admises pour l'attribut role sont les suivantes :
Pour spécifier la partie vocale :
• amazon:VB : interprète le mot comme étant un verbe (au présent simple).• amazon:VBD : interprète le mot comme étant un passé ou un participe passé.
47
Amazon Polly Manuel du développeurBalises SSML prises en charge
Par exemple, en fonction de sa partie vocale, la prononciation du mot « read » en anglais américain varieen fonction de la balise :
<speak> The word <say-as interpret-as="characters">read</say-as> may be interpreted as either the present simple form <w role="amazon:VB">read</w>, or the past participle form <w role="amazon:VBD">read</w>.</speak>
Pour spécifier une autre signification :
• amazon:SENSE_1 : utilise le sens autre que par défaut du mot lorsque celui est présent. Par exemple,le nom « bass » est prononcé différemment en fonction de sa signification. La signification pardéfaut est la partie la plus basse de la gamme musicale. L'autre signification est une autre espècede poisson, également appelée « bass » en anglais (« perche » en français), mais prononcéedifféremment. L'utilisation de <w role="amazon:SENSE_1">bass</w> reproduit, dans le texte audio,la prononciation du mot « bass » lorsqu'il désigne le poisson d'eau douce appelé « perche » en français.
Cette différence peut être entendue si vous synthétisez les éléments suivants :
<speak> Depending on your meaning, the word <say-as interpret-as="characters">bass</say-as> may be interpreted as either a musical element: read, or as its alternative meaning, a fresh waterfish <w role="amazon:SENSE_1">bass</w>.</speak>
Note
Certaines langues peuvent avoir une autre sélection des parties vocales prises en charge.
Ajout du bruit de respiration<amazon:breath> et <amazon:auto-breaths>
Un discours naturel inclut à la fois des mots prononcés correctement et des bruits de respiration. Enajoutant des bruits de respiration à la synthèse vocale, vous pouvez rendre un discours plus naturel. Lesbalises <amazon:breath> et <amazon:auto-breaths> fournissent des respirations. Vous avez lesoptions suivantes :
• Mode manuel : vous définissez l'emplacement, la longueur et le volume d'un bruit de respiration dans letexte
• Mode automatique : Amazon Polly insère automatiquement les bruits de respiration dans la sortie vocale• Mode mixtes : vous ajoutez des bruits de respiration manuellement et Amazon Polly en ajoute
automatiquement
Mode manuel
En mode manuel, vous placez la balise <amazon:breath/> dans le texte d'entrée, à l'emplacementqui vous convient. Vous pouvez personnaliser la longueur et le volume des bruits de respiration avec lesattributs duration et volume, respectivement :
• duration : Contrôle la longueur de la respiration. Les valeurs valides sont: default, x-short, short,medium, long, x-long. La valeur par défaut est medium.
• volume : Contrôle le volume sonore des bruits de respiration. Les valeurs valides sont: default, x-soft, soft, medium, loud, x-loud. La valeur par défaut est medium.
48
Amazon Polly Manuel du développeurBalises SSML prises en charge
Note
La longueur et le volume exacts de chaque valeur d'attribut dépend de la voix Amazon Pollyspécifique utilisée.
Pour définir un bruit de respiration en utilisant les valeurs par défaut, utilisez <amazon:breath/> sansattribut.
Par exemple, pour utiliser des attributs pour définir une durée et un volume de respiration moyens, vousdéfinissez les attributs comme suit :
<speak> Sometimes you want to insert only <amazon:breath duration="medium" volume="x-loud"/>a single breath.</speak>
Pour utiliser les valeurs par défaut, il vous suffit d'utiliser la balise :
<speak> Sometimes you need <amazon:breath/>to insert one or more average breathes <amazon:breath/> so that the text sounds correct.</speak>
Vous pouvez ajouter des bruits de respiration individuels dans un texte, de la manière suivante :
<speak> <amazon:breath duration="long" volume="x-loud"/> <prosody rate="120%"> <prosody volume="loud"> Wow! <amazon:breath duration="long" volume="loud"/> </prosody> That was quite fast <amazon:breath duration="medium" volume="x-loud"/>. I almost beat my personal best time on this track. </prosody></speak>
Mode automatique
En mode automatique, vous utilisez la balise <amazon:auto-breaths> pour indiquer à Amazon Pollyde créer automatiquement des bruits de respiration aux intervalles appropriés. Vous pouvez définir lafréquence des intervalles, le volume et la durée. Placez la balise </amazon:auto-breaths> au début dutexte auquel vous souhaitez appliquer à la respiration automatique et la balise de fermeture à la fin.
Note
Contrairement à la balise en mode manuel, <amazon:breath/>, la balise <amazon:auto-breaths> nécessite une balise de fermeture (</amazon:auto-breaths>).
Vous pouvez utiliser les attributs facultatifs suivants avec la balise <amazon:auto-breaths> :
• volume : Contrôle le volume sonore des bruits de respiration. Les valeurs valides sont: default, x-soft, soft, medium, loud, x-loud. La valeur par défaut est medium.
• frequency : Contrôle la fréquence des bruits de respiration dans le texte. Les valeurs valides sont:default, x-low, low, medium, high, x-high. La valeur par défaut est medium.
• duration : Contrôle la longueur de la respiration. Les valeurs valides sont: default, x-short, short,medium, long, x-long. La valeur par défaut est medium.
Par défaut, la fréquence des bruits de respiration dépend du texte d'entrée. Toutefois, ils sont souventprésents après les virgules et les points.
49
Amazon Polly Manuel du développeurBalises SSML prises en charge
Les exemples suivants montrent comment utiliser la balise <amazon:auto-breaths>. Pour déterminerquelles options utiliser pour votre contenu, copiez les exemples applicables dans la console Amazon Pollyet écoutez les différences.
• Utilisation du mode automatique sans paramètre facultatif.
<speak> <amazon:auto-breaths>Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech- enabled products. Amazon Polly is a text-to-speech service that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths></speak>
• Utilisation du mode automatique avec contrôle du volume. Les paramètres non spécifiés (duration etfrequency) sont définis sur les valeurs par défaut (medium).
<speak> <amazon:auto-breaths volume="x-soft">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths></speak>
• Utilisation du mode automatique avec contrôle de la fréquence. Les paramètres non spécifiés(duration et volume) sont définis sur les valeurs par défaut (medium).
<speak> <amazon:auto-breaths frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths></speak>
• Utilisation du mode automatique avec plusieurs paramètres. Pour le paramètre Duration non spécifié,Amazon Polly utilise la valeur par défaut (medium).
<speak> <amazon:auto-breaths volume="x-loud" frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new
50
Amazon Polly Manuel du développeurBalises SSML prises en charge
categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech-enabled applications that work in many different countries.</amazon:auto-breaths></speak>
Ajout d'une compression de gamme dynamique<amazon:effect name="drc">
Selon le texte, la langue et la voix utilisés dans un fichier audio, les sons vont d'un volume faible à fort. Lessons environnementaux, tels que celui d'un véhicule en mouvement, peuvent souvent masquer les sonsles plus faibles, ce qui rend la piste audio difficilement audible ou peu claire. Pour augmenter le volume decertains sons dans votre fichier audio, utilisez la balise de compression de plage dynamique (drc).
La balise drc définit un seuil d'intensité sonore intermédiaire pour votre texte audio et augmente le volume(le gain) des sons autour de ce seuil. Elle applique la plus grande augmentation du gain aux valeurs lesplus proches du seuil ; le gain d'augmentation est réduit pour les valeurs les plus éloignées du seuil.
Ainsi, les sons intermédiaires sont plus audibles dans un environnement bruyant, et l'ensemble du fichieraudio est plus clair.
La balise drc correspond à un paramètre booléen (soit présente, soit absente). Elle utilise la syntaxe<amazon:effect name="drc"> et se termine par </amazon:effect>.
Vous pouvez utiliser la balise drc avec n'importe quelle voix ou langue prise en charge par AmazonPolly. Vous pouvez l'appliquer à une section entière de l'enregistrement ou à quelques mots seulement.Exemples :
<speak> Some audio is difficult to hear in a moving vehicle, but <amazon:effect name="drc"> this audio is less difficult to hear in a moving vehicle.</amazon:effect></speak>
Note
Lorsque vous utilisez « drc » dans la syntaxe , il convient de respecter la casse.amazon:effect
Utilisation de drc avec la balise prosody volume
Comme le montre le graphique suivant, la balise prosody volume augmente de façon uniforme le volumede tout le fichier audio en partant du niveau d'origine (ligne en pointillés) jusqu'à un niveau ajusté (lignecontinue). Pour augmenter encore davantage le volume de certaines parties du fichier, utilisez la balisedrc avec la balise prosody volume. La combinaison des balises n'affecte pas les paramètres de labalise prosody volume.
51
Amazon Polly Manuel du développeurBalises SSML prises en charge
Lorsque vous utilisez les balises drc et prosody volume ensemble, Amazon Polly applique d'abord labalise drc, afin d'augmenter les sons intermédiaires (ceux proches du seuil). Le service applique ensuitela balise prosody volume pour augmenter encore le volume de l'ensemble de la piste audio, de manièreuniforme.
Pour utiliser les balises ensemble, vous devez les imbriquer l'une dans l'autre. Exemples :
<speak> <prosody volume="loud">This text needs to be understandable and loud. <amazon:effect name="drc"> This text also needs to be more understandable in a moving car.</amazon:effect></prosody> </speak>
Dans ce texte, la balise prosody volume augmente le volume de l'ensemble du passage jusqu'au niveau« fort ». La balise drc augmente le volume des valeurs intermédiaires de la deuxième phrase.
Note
Lorsque vous utilisez les balises drc et prosody volume ensemble, utilisez les procédures XMLstandard pour l'imbrication des balises.
Utilisation d'une voix douce<amazon:effect phonation="soft">
Pour spécifier que le texte d'entrée doit être prononcé avec une voix plus douce que la normale, utilisez labalise <amazon:effect phonation="soft">.
La syntaxe suivante est utilisée :
<amazon:effect phonation="soft">text</amazon:effect>
Par exemple, vous pouvez utiliser cette balise avec la voix de Matthew, comme suit :
<speak> This is Matthew speaking in my normal voice. <amazon:effect phonation="soft">This is Matthew speaking in my softer voice.</amazon:effect></speak>
52
Amazon Polly Manuel du développeurBalises SSML prises en charge
Contrôle du timbre<amazon:effect vocal-tract-length>
Le timbre est la qualité sonore de la voix qui vous aide à faire la différence entre plusieurs voix, mêmelorsqu'elles ont la même tonalité et la même intensité sonore. L'une des caractéristiques physiologiquesles plus importantes qui contribuent au timbre de voix est la longueur du conduit vocal. Le conduit vocal estune cavité remplie d'air qui s'étend du haut des cordes vocales jusqu'à l'extrémité des lèvres.
Pour contrôler le timbre de sortie vocale dans Amazon Polly, utilisez la balise vocal-tract-length.Cette balise a pour effet de modifier la longueur du conduit vocal du locuteur, et donne l'impression d'unemodification de la taille du locuteur. Lorsque vous augmentez la balise vocal-tract-length, le locuteursemble physiquement plus grand. Lorsque vous la réduisez, le locuteur semble plus petit. Vous pouvezutiliser cette balise avec n'importe quelle voix du portefeuille Synthèse vocale d'Amazon Polly.
Pour modifier le timbre, utilisez les valeurs suivantes :
• +n% ou -n% : ajuste la longueur du conduit vocal à l'aide d'un pourcentage relatif de la voix actuelle. Parexemple, +4 % or -2 %. Les valeurs valides s'étendent de +100 % à -50 %. Les valeurs hors de cetteplage sont coupées. Par exemple, +111 % s'entendra +100 % et -60 % s'entendra -50 %.
• n% : modifie la longueur du conduit vocal en appliquant un pourcentage absolu de la longueur du conduitvocal pour la voix actuelle. Par exemple, 110 % or 75 %. Une valeur absolue de 110 % est équivalente àune valeur relative de +10 %. Une valeur absolue de 100 % est identique à la valeur par défaut de la voixactuelle.
L'exemple suivant montre comment modifier la longueur du conduit vocal pour modifier le timbre :
<speak> This is my original voice, without any modifications. <amazon:effect vocal-tract-length="+15%"> Now, imagine that I am much bigger. </amazon:effect> <amazon:effect vocal-tract-length="-15%"> Or, perhaps you prefer my voice when I'm very small. </amazon:effect> You can also control the timbre of my voice by making minor adjustments. <amazon:effect vocal-tract-length="+10%"> For example, by making me sound just a little bigger. </amazon:effect><amazon:effect vocal-tract-length="-10%"> Or, making me sound only somewhat smaller. </amazon:effect> </speak>
Combinaison de plusieurs balises
Vous pouvez combiner la balise vocal-tract-length avec n'importe quelle autre balise SSML priseen charge par Amazon Polly. Dans la mesure où le timbre (longueur du conduit vocal) et la tonalitésont étroitement liés, vous pouvez obtenir de meilleurs résultats en utilisant à la fois la balise vocal-tract-length et la balise <prosody pitch>. Pour produire la voix la plus réaliste possible, nous vousrecommandons d'utiliser différents pourcentages de modification pour les deux balises. Testez différentescombinaisons pour obtenir les résultats souhaités.
L'exemple suivant vous montre comment combiner des balises.
<speak> The pitch and timbre of a person's voice are connected in human speech. <amazon:effect vocal-tract-length="-15%"> If you are going to reduce the vocal tract length, </amazon:effect><amazon:effect vocal-tract-length="-15%"> <prosody pitch="+20%"> you might consider increasing the pitch, too. </prosody></amazon:effect> <amazon:effect vocal-tract-length="+15%"> If you choose to lengthen the vocal tract,
53
Amazon Polly Manuel du développeurBalises SSML prises en charge
</amazon:effect> <amazon:effect vocal-tract-length="+15%"> <prosody pitch="-10%"> you might also want to lower the pitch. </prosody></amazon:effect></speak>
Chuchotement
<amazon:effect name="whispered">
Cette balise indique que le texte d'entrée ne doit pas être prononcé de façon normale mais à voix basse.N'importe quelle voix du portefeuille Synthèse vocale d'Amazon Polly peut être utilisée à cet effet.
Cette balise utilise la syntaxe suivante :
<amazon:effect name=”whispered”>text</amazon:effect>
Exemples :
<speak> <amazon:effect name="whispered">If you make any noise, </amazon:effect> she said, <amazon:effect name="whispered">they will hear us.</amazon:effect></speak>
Dans ce cas, le discours synthétisé est prononcé à voix basse, mais l'expression « she said » estprononcée en synthèse vocale normale par la voix Amazon Polly sélectionnée.
Vous pouvez renforcer l'effet « voix basse » en ralentissant le débit de parole jusqu'à 10 % selon l'effetvoulu.
Exemples :
<speak> When any voice is made to whisper, <amazon:effect name="whispered"> <prosody rate="-10%">the sound is slower and quieter than normal speech </prosody></amazon:effect></speak>
Lors de la génération des marques vocales d'une voix basse, le flux audio doit également comprendre lavoix basse pour que les marques vocales correspondent bien à celui-ci.
Tableau des visèmes et des phonèmes des langues prises enchargeLes tableaux suivants répertorient l'ensemble des phonèmes de l'alphabet phonétique international (API)et des symboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que lesvisèmes correspondants pour les langues prises en charge par Amazon Polly.
Rubriques• Danois (da-DK) (p. 55)• Néerlandais (nl-NL) (p. 57)• Anglais, australien (en-AU) (p. 60)• Anglais, indien (en-IN) (p. 62)• Anglais, britannique (en-GB) (p. 65)• Anglais, américain (en-US) (p. 68)• Anglais, gallois (en-GB-WSL) (p. 71)
54
Amazon Polly Manuel du développeurBalises SSML prises en charge
• Français (fr-FR) (p. 74)• Français, canadien (fr-CA) (p. 76)• Allemand (de-DE) (p. 79)• Islandais (is-IS) (p. 82)• Italien (it-IT) (p. 85)• Japonais (ja-JP) (p. 87)• Coréen (ko-KR) (p. 90)• Norvégien (nb-NO) (p. 92)• Polonais (pl-PL) (p. 95)• Portugais (pt-PT) (p. 97)• Portugais, brésilien (pt-BR) (p. 99)• Roumain (ro-RO) (p. 102)• Russe (ru-RU) (p. 104)• Espagnol (es-ES) (p. 107)• Espagnol, américain (es-US) (p. 109)• Suédois (sv-SE) (p. 112)• Turc (tr-TR) (p. 115)• Gallois (cy-GB) (p. 118)
Danois (da-DK)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en danois.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bat p
d d consonne occlusivealvéolaire voisée
da t
ð D consonne fricativedentale voisée
mad, thriller T
f f consonne fricativelabio-dentale sourde
fat f
g g consonne occlusivevélaire voisée
gat k
h h consonne fricativeglottale sourde
hat k
j j consonne spirantepalatale voisée
jo i
k k consonne occlusivevélaire sourde
kat k
55
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
l l consonne spirantelatérale alvéolairevoisée
ladt t
m m consonne occlusivenasale bilabialevoisée
mat p
n n consonne occlusivenasale alvéolairevoisée
nay t
ŋ N consonne occlusivenasale vélaire voisée
lang k
p p consonne occlusivebilabiale sourde
pande p
r r consonne rouléealvéolaire voisée
thriller, story r
ʁ R consonne fricativeuvulaire voisée
rat k
s s consonne fricativealvéolaire sourde
sat s
t t consonne occlusivealvéolaire sourde
tal t
v v consonne fricativelabio-dentale voisée
vat f
s, sem s, sem consonne spirantelabio-vélaire voisée
hav, weekend X
Voyelles
ø 2 voyelle moyennesupérieure antérieurearrondie
øst o
ø: 2: voyelle longuemoyenne supérieureantérieure arrondie
øse o
ɐ 6 voyelle bassesupérieure centrale
mor a
œ 9 voyelle moyenneinférieure antérieurearrondie
skøn, grønt O
œ: 9: voyelle longuemoyenne inférieureantérieure arrondie
høne, gøre O
56
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ə @ voyelle moyennecentrale
ane @
æː {: voyelle longue bassesupérieure antérieurenon arrondie
male a
a a voyelle bassesupérieure antérieurenon arrondie
man a
æ { voyelle bassesupérieure antérieurenon arrondie
adresse a
ɑ A voyelle bassepostérieure nonarrondie
lak, tak a
ɑ: A: voyelle longue bassepostérieure nonarrondie
rase a
Néerlandais (nl-NL)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en néerlandais.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bak p
d d consonne occlusivealvéolaire voisée
dak t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
manager S
f f consonne fricativelabio-dentale sourde
fel f
g g consonne occlusivevélaire voisée
goal k
ɣ G consonne fricativevélaire voisée
hoed k
ɦ h\ consonne fricativeglottale voisée
hand k
57
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
j j consonne spirantepalatale voisée
ja i
k k consonne occlusivevélaire sourde
kap k
l l consonne spirantelatérale alvéolairevoisée
land t
m m consonne occlusivenasale bilabialevoisée
met p
n n consonne occlusivenasale alvéolairevoisée
net t
ŋ N consonne occlusivenasale vélaire voisée
bang k
p p consonne occlusivebilabiale sourde
pak p
r r consonne rouléealvéolaire voisée
rand r
s s consonne fricativealvéolaire sourde
sein s
ʃ S consonne fricativepost-alvéolairesourde
show S
t t consonne occlusivealvéolaire sourde
tak t
v v consonne fricativelabio-dentale voisée
vel f
ʋ v\ consonne spirantelabio-dentale voisée
wit f
h/24, j/7 h/24, j/7 consonne fricativevélaire sourde
toch k
z z consonne fricativealvéolaire voisée
ziin s
ʒ Z consonne fricativepost-alvéolairevoisée
bagage S
Voyelles
øː 2: voyelle longuemoyenne supérieureantérieure arrondie
neus o
58
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
œy 9y diphtongue buit O
ə @ voyelle moyennecentrale
de @
a: a: voyelle longue basseantérieure nonarrondie
baad a
ɑ: A voyelle bassepostérieure nonarrondie
bad a
e: e: voyelle longuemoyenne supérieureantérieure nonarrondie
beet e
ɜː 3: voyelle longuemoyenne inférieurecentrale non arrondie
barrière E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
bed E
ɛi Ei diphtongue beet E
i i voyelle hauteantérieure nonarrondie
vier i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
pit i
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
boot o
ɔ O voyelle moyenneinférieure postérieurearrondie
pot O
u u voyelle hautepostérieure arrondie
hoed u
ʌu Vu diphtongue fout E
yː y: voyelle longue hauteantérieure arrondie
fuut u
ʏ O voyelle hauteinférieure antérieurearrondie
hut u
59
Amazon Polly Manuel du développeurBalises SSML prises en charge
Anglais, australien (en-AU)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en anglais australien.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bed p
d d consonne occlusivealvéolaire voisée
dig t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
jump S
ð D consonne fricativedentale voisée
then T
f f consonne fricativelabio-dentale sourde
five f
g g consonne occlusivevélaire voisée
game k
h h consonne fricativeglottale sourde
house k
j j consonne spirantepalatale voisée
yes i
k k consonne occlusivevélaire sourde
cat k
l l consonne spirantelatérale alvéolairevoisée
lay t
l l= consonne spirantelatérale alvéolairevoisée syllabique
battle t
m m consonne occlusivenasale bilabialevoisée
mouse p
m m= consonne occlusivenasale bilabialevoisée syllabique
anthem p
n n consonne occlusivenasale alvéolairevoisée
nap t
60
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
n n= consonne occlusivenasale alvéolairevoisée syllabique
nap t
ŋ N consonne occlusivenasale vélaire voisée
thing k
p p consonne occlusivebilabiale sourde
pin p
ɹ r\ consonne spirantealvéolaire voisée
red r
s s consonne fricativealvéolaire sourde
seem s
ʃ S consonne fricativepost-alvéolairesourde
ship S
t t consonne occlusivealvéolaire sourde
task t
tʃ tS consonne affriquéepost-alvéolairesourde
chart S
Θ T consonne fricativedentale sourde
thin T
v v consonne fricativelabio-dentale voisée
vest f
s, sem s, sem consonne spirantelabio-vélaire voisée
west u
z z consonne fricativealvéolaire voisée
zero s
ʒ Z consonne fricativepost-alvéolairevoisée
vision S
Voyelles
ə @ voyelle moyennecentrale
arena @
əʊ @U diphtongue goat @
æ { voyelle bassesupérieure antérieurenon arrondie
trap a
aɪ aI diphtongue price a
aʊ aU diphtongue mouth a
61
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɑː A: voyelle longue bassepostérieure nonarrondie
father a
eɪ eI diphtongue face e
ɜː 3: voyelle longuemoyenne inférieurecentrale non arrondie
nurse E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dress E
ɛə E@ diphtongue square E
i: i voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
ɪə I@ diphtongue near i
ɔː OI voyelle longuemoyenne inférieurepostérieure arrondie
thought O
ɔɪ OI Diphtongue choice O
ɒ Q voyelle bassepostérieure arrondie
lot O
u: u: voyelle longue hautepostérieure arrondie
goose u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʊə U@ diphtongue cure u
ʌ V Voyelle ouverte mi-postérieure nonarrondie
strut E
Anglais, indien (en-IN)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en anglais avec intonation indienne.
62
Amazon Polly Manuel du développeurBalises SSML prises en charge
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bed p
d d consonne occlusivealvéolaire voisée
dig t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
jump S
ð D consonne fricativedentale voisée
then T
f f consonne fricativelabio-dentale sourde
five f
g g consonne occlusivevélaire voisée
game k
h h consonne fricativeglottale sourde
house k
j j consonne spirantepalatale voisée
yes i
k k consonne occlusivevélaire sourde
cat k
l l consonne spirantelatérale alvéolairevoisée
lay t
l l= consonne spirantelatérale alvéolairevoisée syllabique
battle t
m m consonne occlusivenasale bilabialevoisée
mouse p
m m= consonne occlusivenasale bilabialevoisée syllabique
anthem p
n n consonne occlusivenasale alvéolairevoisée
nap t
n n= consonne occlusivenasale alvéolairevoisée syllabique
nap t
ŋ N consonne occlusivenasale vélaire voisée
thing k
63
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
p p consonne occlusivebilabiale sourde
pin p
ɹ r\ consonne spirantealvéolaire voisée
red r
s s consonne fricativealvéolaire sourde
seem s
ʃ S consonne fricativepost-alvéolairesourde
ship S
t t consonne occlusivealvéolaire sourde
task t
tʃ tS consonne affriquéepost-alvéolairesourde
chart S
Θ T consonne fricativedentale sourde
thin T
v v consonne fricativelabio-dentale voisée
vest f
s, sem s, sem consonne spirantelabio-vélaire voisée
west u
z z consonne fricativealvéolaire voisée
zero s
ʒ Z consonne fricativepost-alvéolairevoisée
vision S
Voyelles
ə @ voyelle moyennecentrale
arena @
əʊ @U diphtongue goat @
æ { voyelle bassesupérieure antérieurenon arrondie
trap a
aɪ aI diphtongue price a
aʊ aU diphtongue mouth a
ɑː A: voyelle longue bassepostérieure nonarrondie
father a
eɪ eI diphtongue face e
64
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɜː 3: voyelle longuemoyenne inférieurecentrale non arrondie
nurse E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dress E
ɛə E@ diphtongue square E
i: i voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
ɪə I@ diphtongue near i
ɔː OI voyelle longuemoyenne inférieurepostérieure arrondie
thought O
ɔɪ OI Diphtongue choice O
ɒ Q voyelle bassepostérieure arrondie
lot O
u: u: voyelle longue hautepostérieure arrondie
goose u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʊə U@ diphtongue cure u
ʌ V Voyelle ouverte mi-postérieure nonarrondie
strut E
Anglais, britannique (en-GB)Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en anglais britannique.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bed p
65
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
d d consonne occlusivealvéolaire voisée
dig t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
jump S
ð D consonne fricativedentale voisée
then T
f f consonne fricativelabio-dentale sourde
five f
g g consonne occlusivevélaire voisée
game k
h h consonne fricativeglottale sourde
house k
j j consonne spirantepalatale voisée
yes i
k k consonne occlusivevélaire sourde
cat k
l l consonne spirantelatérale alvéolairevoisée
lay t
l l= consonne spirantelatérale alvéolairevoisée syllabique
battle t
m m consonne occlusivenasale bilabialevoisée
mouse p
m m= consonne occlusivenasale bilabialevoisée syllabique
anthem p
n n consonne occlusivenasale alvéolairevoisée
nap t
n n= consonne occlusivenasale alvéolairevoisée syllabique
bouton t
ŋ N consonne occlusivenasale vélaire voisée
thing k
p p consonne occlusivebilabiale sourde
pin p
ɹ r\ consonne spirantealvéolaire voisée
red r
66
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
s s consonne fricativealvéolaire sourde
seem s
ʃ S consonne fricativepost-alvéolairesourde
ship S
t t consonne occlusivealvéolaire sourde
task t
tʃ tS consonne affriquéepost-alvéolairesourde
chart S
Θ T consonne fricativedentale sourde
thin T
v v consonne fricativelabio-dentale voisée
vest f
s, sem s, sem consonne spirantelabio-vélaire voisée
west u
z z consonne fricativealvéolaire voisée
zero s
ʒ Z consonne fricativepost-alvéolairevoisée
vision S
Voyelles
ə @ voyelle moyennecentrale
arena @
əʊ @U diphtongue goat @
æ { voyelle bassesupérieure antérieurenon arrondie
trap a
aɪ aI diphtongue price a
aʊ aU diphtongue mouth a
ɑː A: voyelle longue bassepostérieure nonarrondie
father a
eɪ eI diphtongue face e
ɜː 3: voyelle longuemoyenne inférieurecentrale non arrondie
nurse E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dress E
67
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɛə E@ diphtongue square E
i: i voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
ɪə I@ diphtongue near i
ɔː O: voyelle longuemoyenne inférieurepostérieure arrondie
thought O
ɔɪ OI Diphtongue choice O
ɒ Q voyelle bassepostérieure arrondie
lot O
u: u: voyelle longue hautepostérieure arrondie
goose u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʊə U@ diphtongue cure u
ʌ V Voyelle ouverte mi-postérieure nonarrondie
strut E
Anglais, américain (en-US)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en anglais américain.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bed p
d d consonne occlusivealvéolaire voisée
dig t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
jump S
68
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ð D consonne fricativedentale voisée
then T
f f consonne fricativelabio-dentale sourde
five f
ɡ g consonne occlusivevélaire voisée
game k
h h consonne fricativeglottale sourde
house k
j j consonne spirantepalatale voisée
yes i
k k consonne occlusivevélaire sourde
cat k
l l consonne spirantelatérale alvéolairevoisée
lay t
m m consonne occlusivenasale bilabialevoisée
mouse p
n n consonne occlusivenasale alvéolairevoisée
nap t
ŋ N consonne occlusivenasale vélaire voisée
thing k
p p consonne occlusivebilabiale sourde
speak p
ɹ r\ consonne spirantealvéolaire voisée
red r
s s consonne fricativealvéolaire sourde
seem s
ʃ S consonne fricativepost-alvéolairesourde
ship S
t t consonne occlusivealvéolaire sourde
trap t
tʃ tS consonne affriquéepost-alvéolairesourde
chart S
θ T consonne fricativedentale sourde
thin T
v v consonne fricativelabio-dentale voisée
vest f
69
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
s, sem s, sem consonne spirantelabio-vélaire voisée
west u
z z consonne fricativealvéolaire voisée
zero s
ʒ Z consonne fricativepost-alvéolairevoisée
vision S
Voyelles
ə @ voyelle moyennecentrale
arena @
ɚ @` voyelle colorée par rmoyenne centrale
reader @
æ { voyelle bassesupérieure antérieurenon arrondie
trap a
aɪ aI diphtongue price a
aʊ aU diphtongue mouth a
ɑ A voyelle longue bassepostérieure nonarrondie
father a
eɪ eI diphtongue face e
ɝ 3` voyelle ouvertemoyenne centralenon arrondie coloréepar r
nurse E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dress E
i i voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
oʊ oU diphtongue goat o
ɔ O voyelle longuemoyenne inférieurepostérieure arrondie
thought O
ɔɪ OI diphtongue choice O
70
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
u u voyelle longue hautepostérieure arrondie
goose u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʌ V voyelle ouverte mi-postérieure nonarrondie
strut E
Anglais, gallois (en-GB-WSL)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en anglais gallois.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bed p
d d consonne occlusivealvéolaire voisée
dig t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
jump S
ð D consonne fricativedentale voisée
then T
f f consonne fricativelabio-dentale sourde
five f
g g consonne occlusivevélaire voisée
game k
h h consonne fricativeglottale sourde
house k
j j consonne spirantepalatale voisée
yes i
k k consonne occlusivevélaire sourde
cat k
l l consonne spirantelatérale alvéolairevoisée
lay t
71
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
l l= consonne spirantelatérale alvéolairevoisée syllabique
battle t
m m consonne occlusivenasale bilabialevoisée
mouse p
m m= consonne occlusivenasale bilabialevoisée syllabique
anthem p
n n consonne occlusivenasale alvéolairevoisée
nap t
n n= consonne occlusivenasale alvéolairevoisée syllabique
nap t
ŋ N consonne occlusivenasale vélaire voisée
thing k
p p consonne occlusivebilabiale sourde
pin p
ɹ r\ consonne spirantealvéolaire voisée
red r
s s consonne fricativealvéolaire sourde
seem s
ʃ S consonne fricativepost-alvéolairesourde
ship S
t t consonne occlusivealvéolaire sourde
task t
tʃ tS consonne affriquéepost-alvéolairesourde
chart S
Θ T consonne fricativedentale sourde
thin T
v v consonne fricativelabio-dentale voisée
vest f
s, sem s, sem consonne spirantelabio-vélaire voisée
west u
z z consonne fricativealvéolaire voisée
zero s
ʒ Z consonne fricativepost-alvéolairevoisée
vision S
72
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
Voyelles
ə @ voyelle moyennecentrale
arena @
əʊ @U diphtongue goat @
æ { voyelle bassesupérieure antérieurenon arrondie
trap a
aɪ aI diphtongue price a
aʊ aU diphtongue mouth a
ɑː A: voyelle longue bassepostérieure nonarrondie
father a
eɪ eI diphtongue face e
ɜː 3: voyelle longuemoyenne inférieurecentrale non arrondie
nurse E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dress E
ɛə E@ diphtongue square E
i: i voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
ɪə I@ diphtongue near i
ɔː OI voyelle longuemoyenne inférieurepostérieure arrondie
thought O
ɔɪ OI Diphtongue choice O
ɒ Q voyelle bassepostérieure arrondie
lot O
u: u: voyelle longue hautepostérieure arrondie
goose u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʊə U@ diphtongue cure u
73
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ʌ V Voyelle ouverte mi-postérieure nonarrondie
strut E
Français (fr-FR)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en français.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
boire p
d d consonne occlusivealvéolaire voisée
madame t
f f consonne fricativelabio-dentale sourde
femme f
g g consonne occlusivevélaire voisée
grand k
ɥ H consonne spirantelabio-palatale voisée
bruit u
j j consonne spirantepalatale voisée
meilleur i
k k consonne occlusivevélaire sourde
quatre k
l l consonne spirantelatérale alvéolairevoisée
malade t
m m consonne occlusivenasale bilabialevoisée
maison p
n n consonne occlusivenasale alvéolairevoisée
astronome t
ɲ J consonne occlusivenasale palatalevoisée
baigner J
ŋ N consonne occlusivenasale vélaire voisée
parking k
74
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
p p consonne occlusivebilabiale sourde
pomme p
ʁ R consonne fricativeuvulaire voisée
amoureux k
s s consonne fricativealvéolaire sourde
santé s
ʃ S consonne fricativepost-alvéolairesourde
chat S
t t consonne occlusivealvéolaire sourde
téléphone t
v v consonne fricativelabio-dentale voisée
vrai f
s, sem s, sem consonne spirantelabio-vélaire voisée
soir u
z z consonne fricativealvéolaire voisée
raison s
ʒ Z consonne fricativepost-alvéolairevoisée
aubergine S
Voyelles
ø 2 voyelle moyennesupérieure antérieurearrondie
deux o
œ 9 voyelle moyenneinférieure antérieurearrondie
neuf O
œ 9~ voyelle nasalemoyenne inférieureantérieure arrondie
brun O
ə @ voyelle moyennecentrale
je @
a a voyelle bassesupérieure antérieurenon arrondie
table a
ɑ A~ voyelle nasale bassepostérieure nonarrondie
camembert a
e e voyelle moyennesupérieure antérieurenon arrondie
marché e
75
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɛ E voyelle moyenneinférieure antérieurenon arrondie
neige E
ɛ E~ voyelle nasalemoyenne inférieureantérieure nonarrondie
sapin E
i i voyelle hauteantérieure nonarrondie
mille i
o o voyelle moyennesupérieurepostérieure arrondie
hôpital o
ɔ O voyelle moyenneinférieure postérieurearrondie
homme O
ɔ O~ voyelle nasalemoyenne inférieurepostérieure arrondie
bon O
u u voyelle hautepostérieure arrondie
sous u
y y voyelle hauteantérieure arrondie
dur u
Français, canadien (fr-CA)Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en français canadien.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
boire p
d d consonne occlusivealvéolaire voisée
madame t
f f consonne fricativelabio-dentale sourde
femme f
g g consonne occlusivevélaire voisée
grand k
ɥ H consonne spirantelabio-palatale voisée
bruit u
76
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
j j consonne spirantepalatale voisée
meilleur i
k k consonne occlusivevélaire sourde
quatre k
l l consonne spirantelatérale alvéolairevoisée
malade t
m m consonne occlusivenasale bilabialevoisée
maison p
n n consonne occlusivenasale alvéolairevoisée
astronome t
ɲ J consonne occlusivenasale palatalevoisée
baigner J
ŋ N consonne occlusivenasale vélaire voisée
parking k
p p consonne occlusivebilabiale sourde
pomme p
ʁ R consonne fricativeuvulaire voisée
amoureux k
s s consonne fricativealvéolaire sourde
santé s
ʃ S consonne fricativepost-alvéolairesourde
chat S
t t consonne occlusivealvéolaire sourde
téléphone t
v v consonne fricativelabio-dentale voisée
vrai f
s, sem s, sem consonne spirantelabio-vélaire voisée
soir u
z z consonne fricativealvéolaire voisée
raison s
ʒ Z consonne fricativepost-alvéolairevoisée
aubergine S
Voyelles
77
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ø 2 voyelle moyennesupérieure antérieurearrondie
deux o
œ 9 voyelle moyenneinférieure antérieurearrondie
neuf O
œ 9~ voyelle nasalemoyenne inférieureantérieure arrondie
brun O
ə @ voyelle moyennecentrale
je @
a a voyelle bassesupérieure antérieurenon arrondie
table a
ɑ A~ voyelle nasale bassepostérieure nonarrondie
camembert a
e e voyelle moyennesupérieure antérieurenon arrondie
marché e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
neige E
ɛ E~ voyelle nasalemoyenne inférieureantérieure nonarrondie
sapin E
i i voyelle hauteantérieure nonarrondie
mille i
o o voyelle moyennesupérieurepostérieure arrondie
hôpital o
ɔ O voyelle moyenneinférieure postérieurearrondie
homme O
ɔ O~ voyelle nasalemoyenne inférieurepostérieure arrondie
bon O
u u voyelle hautepostérieure arrondie
sous u
y y voyelle hauteantérieure arrondie
dur u
78
Amazon Polly Manuel du développeurBalises SSML prises en charge
Allemand (de-DE)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en allemand.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
ʔ ? coup de glotte
b b consonne occlusivebilabiale voisée
Bier p
d d consonne occlusivealvéolaire voisée
Dach t
ç C consonne palatalefricative sourde
ich k
dʒ dZ consonne affriquéepalato-alvéolairevoisée
Dschungel S
f f Fricative labio-dentale sourde
Vogel f
g g Plosive vélairesonore
Gabel k
h h Fricative glottalesourde
Haus k
j j Fricative glottalesourde
jemand i
k k Plosive vélairesourde
Kleid k
l l Approchante latéralealvéolaire
Loch t
m m Nasale bilabiale Milch p
n n Nasale alvéolaire Natur t
ŋ N Nasale vélaire klingen k
p p Plosive bilabialesourde
Park p
pf pf Consonne affriquéelabio-dentale sourde
Apfel
ʀ R Consonne rouléeuvulaire voisée
Regen
79
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
s s consonne fricativealvéolaire sourde
Messer s
ʃ S Fricative post-alvéolaire sourde
Fischer S
t t Plosive alvéolairesourde
Topf T
ts Ts Consonne affriquéealvéolaire sourde
Zahl
tʃ tS Fricative post-alvéolaire sourde
deutsch S
v v Fricative labio-dentale sonore
Wasser f
h/24, j/7 h/24, j/7 Consonne fricativevélaire sourde
kochen k
z z Fricative alvéolairesonore
See s
ʒ Z Fricative post-alvéolaire sonore
Orange S
Voyelles
øː 2: voyelle longuemoyenne supérieureantérieure arrondie
böse o
ɐ 6 voyelle bassesupérieure centrale
besser a
ɐ 6_^ voyelle pré-ouvertecentrale nonsyllabique
Klar a
œ 9 voyelle moyenneinférieure antérieurearrondie
können O
ə @ voyelle moyennecentrale
Rede @
a a voyelle bassesupérieure antérieurenon arrondie
Salz a
a: a: voyelle longue basseantérieure nonarrondie
Sahne a
aɪ aI diphtongue nein a
aʊ aU diphtongue Augen a
80
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɑ A~ voyelle nasale bassepostérieure nonarrondie
Restaurant a
e: e: voyelle longuemoyenne supérieureantérieure nonarrondie
Rede e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
Keller E
ɛ E~ voyelle nasalemoyenne inférieureantérieure nonarrondie
Terrain E
i: i: voyelle longuefermée antérieurenon arrondie
Lied i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
bitte i
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
Kohl o
ɔ O voyelle moyenneinférieure postérieurearrondie
Koffer O
ɔ O~ voyelle nasalemoyenne inférieurepostérieure arrondie
Annonce O
ɔʏ OY diphtongue neu O
u: u: voyelle longue hautepostérieure arrondie
Bruder u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
Wunder u
y: y: voyelle longue hauteantérieure arrondie
kühl u
ʏ O voyelle hauteinférieure antérieurearrondie
Küche u
81
Amazon Polly Manuel du développeurBalises SSML prises en charge
Islandais (is-IS)Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en islandais.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
grasbakkanum 0
c c consonne occlusivepalatale sourde
pakkin k
cʰ c_h consonne occlusivepalatale sourdeaspirée
anarkistai k
ç C consonne palatalefricative sourde
héðan k
d d consonne occlusivealvéolaire voisée
bóndi t
ð D consonne fricativedentale voisée
borð T
f f consonne fricativelabio-dentale sourde
duft f
g g consonne occlusivevélaire voisée
holgóma k
ɣ G consonne fricativevélaire voisée
hugur k
h h consonne fricativeglottale sourde
heili k
j j consonne spirantepalatale voisée
jökull i
kʰ k_h consonne occlusivevélaire sourdeaspirée
ósköpunum k
l l consonne spirantelatérale alvéolairevoisée
gólf t
l l_0 consonne spirantelatérale alvéolairesourde
fólk t
m m consonne occlusivenasale bilabialevoisée
september p
82
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
m m_0 consonne occlusivenasale bilabialesourde
kompa p
n n consonne occlusivenasale alvéolairevoisée
númer t
n n_0 consonne occlusivenasale alvéolairesourde
pöntun t
ɲ J consonne occlusivenasale palatalevoisée
pælingar J
ŋ N consonne occlusivenasale vélaire voisée
söngvarann k
ŋ N_0 consonne occlusivenasale vélaire sourde
frænka k
pʰ p_h consonne occlusivebilabiale sourdeaspirée
afplánun p
r r consonne rouléealvéolaire voisée
afskrifta r
r r_0 consonne rouléealvéolaire sourde
andvörpum r
s s consonne fricativealvéolaire sourde
baðhús s
tʰ t_h consonne occlusivealvéolaire sourdeaspirée
tanki t
θ T consonne fricativedentale sourde
þeldökki T
v v consonne fricativelabio-dentale voisée
silfur f
s, sem s, sem consonne spirantelabio-vélaire voisée
u
h/24, j/7 h/24, j/7 consonne fricativevélaire sourde
samfélags k
Voyelles
œ 9 voyelle moyenneinférieure antérieurearrondie
þröskuldinum O
83
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
œː 9: voyelle longuemoyenne inférieureantérieure arrondie
tvö O
a a voyelle bassesupérieure antérieurenon arrondie
nefna a
a: a: voyelle longue basseantérieure nonarrondie
fara a
au au diphtongue átta a
au: au: diphtongue átján a
ɛ E voyelle moyenneinférieure antérieurenon arrondie
kennari E
ɛ: E: voyelle longuemoyenne inférieureantérieure nonarrondie
dreka E
i i voyelle hauteantérieure nonarrondie
Gúlíver i
i: i: voyelle longuefermée antérieurenon arrondie
þrír i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
samspil i
ɪ: I: voyelle longue hauteinférieure antérieurenon arrondie
stig i
ɔ O voyelle moyenneinférieure postérieurearrondie
regndropar O
ɔ: O: voyelle longuemoyenne inférieurepostérieure arrondie
ullarbolur O
ɔu Ou diphtongue tólf O
ɔu: Ou: diphtongue fjórir O
u u voyelle hautepostérieure arrondie
stúlkan u
84
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
u: u: voyelle longue hautepostérieure arrondie
frú u
ʏ O voyelle hauteinférieure antérieurearrondie
tíu u
ʏ: O voyelle longue hauteinférieure antérieurearrondie
gruninn u
Italien (it-IT)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en italien.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bacca p
d d consonne occlusivealvéolaire voisée
dama t
dz dz consonne affriquéealvéolaire voisée
zero s
dʒ dZ consonne affriquéepalato-alvéolairevoisée
giro S
f f consonne fricativelabio-dentale sourde
famiglia f
g g consonne occlusivevélaire voisée
gatto k
h h consonne fricativeglottale sourde
horror k
j j consonne spirantepalatale voisée
dieci i
k k consonne occlusivevélaire sourde
campo k
l l consonne spirantelatérale alvéolairevoisée
lido t
85
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ʎ L consonne spirantelatérale palatalevoisée
aglio J
m m consonne occlusivenasale bilabialevoisée
mille p
n n consonne occlusivenasale alvéolairevoisée
nove t
ɲ J consonne occlusivenasale palatalevoisée
lasagne J
p p consonne occlusivebilabiale sourde
pizza p
r r consonne rouléealvéolaire voisée
risata r
s s consonne fricativealvéolaire sourde
sei s
ʃ S consonne fricativepost-alvéolairesourde
scienza S
t t consonne occlusivealvéolaire sourde
tavola t
ts ts consonne affriquéealvéolaire sourde
forza s
tʃ tS consonne affriquéepost-alvéolairesourde
cielo S
v v consonne fricativelabio-dentale voisée
venti f
s, sem s, sem consonne spirantelabio-vélaire voisée
quattro u
z z consonne fricativealvéolaire voisée
bisogno s
ʒ Z consonne fricativepost-alvéolairevoisée
bijou S
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
arco a
86
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
e e voyelle moyennesupérieure antérieurenon arrondie
tre e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
ettaro E
i i voyelle hauteantérieure nonarrondie
impero i
o o voyelle moyennesupérieurepostérieure arrondie
cento o
ɔ O voyelle moyenneinférieure postérieurearrondie
otto O
u u voyelle hautepostérieure arrondie
uno u
Japonais (ja-JP)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en japonais.
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
練習, renshuu t
ʔ ? coup de glotte あつっ, atsu'
b b consonne occlusivebilabiale voisée
舞踊, buyou p
β B consonne fricativebilabiale voisée
ヴィンテージ,vinteeji
B
c c consonne occlusivepalatale sourde
ききょう, kikyou k
ç C consonne palatalefricative sourde
人, hito k
d d consonne occlusivealvéolaire voisée
濁点, dakuten t
dʑ dz\ consonne affriquéepost-alvéolairevoisée
純, jun J
87
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɡ g consonne occlusivevélaire voisée
ご飯, gohan k
h h consonne fricativeglottale sourde
本, hon k
j j consonne spirantepalatale voisée
屋根, yane i
ɟ J\ consonne occlusivepalatale voisée
行儀, gyougi J
k k consonne occlusivevélaire sourde
漢字, kanji k
ɺ l\ consonne battuelatérale alvéolairevoisée
釣り, tsuri r
ɺj l\j consonne battuelatérale alvéolairevoisée, consonnespirante palatalevoisée
流行, ryuukou r
m m consonne occlusivenasale bilabialevoisée
飯, meshi p
n n consonne occlusivenasale alvéolairevoisée
猫, neko t
ɲ J consonne occlusivenasale palatalevoisée
日本, nippon J
ɴ N\ consonne occlusivenasale uvulairevoisée
缶, kan k
p p consonne occlusivebilabiale sourde
パン, pan p
ɸ p\ consonne fricativebilabiale sourde
福, huku f
s s consonne fricativealvéolaire sourde
層, sou s
ɕ s\ consonne fricativealvéolo-palatalesourde
書簡, shokan J
t t consonne occlusivealvéolaire sourde
手紙, tegami t
88
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ts ts consonne affriquéealvéolaire sourde
釣り, tsuri s
tɕ ts\ consonne affriquéealvéolo-palatalesourde
吉, kichi J
s, sem s, sem consonne spirantelabio-vélaire voisée
電話, denwa u
z z consonne fricativealvéolaire voisée
座敷, zashiki s
Voyelles
äː a:_" voyelle longueouverte centrale nonarrondie
羽蟻, haari a
ä a_" voyelle ouvertecentrale non arrondie
仮名, kana a
eː e:_o voyelle longuemoyenne supérieureantérieure nonarrondie
学生, gakusei @
e e_o voyelle moyennesupérieure antérieurenon arrondie
歴, reki @
i i voyelle hauteantérieure nonarrondie
気, ki i
iː i: voyelle longuefermée antérieurenon arrondie
詩歌, shiika i
ɯ M voyelle hautepostérieure nonarrondie
運, un i
ɯː M: voyelle longue hautepostérieure nonarrondie
宗教, shuukyou i
oː o:_o voyelle longuemoyenne inférieurepostérieure arrondie
購読, koodoku o
o o_o voyelle moyenneinférieure postérieurearrondie
読者, dokusha o
89
Amazon Polly Manuel du développeurBalises SSML prises en charge
Coréen (ko-KR)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en coréen.
IPA X-SAMPA Description Exemple Visème
Consonnes
k k consonne occlusivevélaire sourde
강, [g]ang k
k# k_t consonne occlusivevélaire sourde forte
깨, [kk]e k
n n consonne occlusivenasale alvéolairevoisée
남, [n]am t
t t consonne occlusivealvéolaire sourde
도, [d]o t
t# t_t consonne occlusivealvéolaire sourdeforte
때, [tt]e t
ɾ 4 consonne battuealvéolaire voisée
사랑, sa[r]ang t
l l consonne spirantelatérale alvéolairevoisée
돌, do[l] t
m m consonne occlusivenasale bilabialevoisée
무, [m]u p
p p consonne occlusivebilabiale sourde
봄, [b]om p
p# p_t consonne occlusivebilabiale sourde forte
뻘, [pp]eol p
s s consonne fricativealvéolaire sourde
새, [s]e s
s# s_t consonne fricativealvéolaire sourdeforte
씨, [ss]i s
ŋ N consonne occlusivenasale vélaire voisée
방, ba[ng] k
tɕ ts\ consonne affriquéealvéolo-palatalesourde
조, [j]o J
90
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
t#ɕ ts\_t consonne affriquéealvéolo-palatalesourde forte
찌, [jj]i J
tɕʰ ts\_h consonne affriquéealvéolo-palatalesourde aspirée
차, [ch]a J
kʰ k_h consonne occlusivevélaire sourdeaspirée
코, [k]o k
tʰ t_h consonne occlusivealvéolaire sourdeaspirée
통, [t]ong t
pʰ p_h consonne occlusivebilabiale sourdeaspirée
패, [p]e p
h h consonne fricativeglottale sourde
힘, [h]im k
j j consonne spirantepalatale voisée
양, [y]ang i
w w consonne spirantelabio-vélaire voisée
왕, [w]ang u
ɰ M\ consonne spirantevélaire >
의, [wj]i i
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
밥, b[a]b a
ʌ V voyelle ouverte mi-postérieure nonarrondie
정, j[eo]ng E
ɛ E voyelle moyenneinférieure antérieurenon arrondie
배, b[e] E
o o voyelle moyennesupérieurepostérieure arrondie
노, n[o] o
u u voyelle hautepostérieure arrondie
둘, d[u]l u
ɯ M voyelle hautepostérieure nonarrondie
은, [eu]n i
91
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
i i voyelle hauteantérieure nonarrondie
김, k[i]m i
Norvégien (nb-NO)
Le tableau suivant répertorie l'ensemble complet des phonèmes IPA (International Phonetic Alphabet)et des symboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que lesvisèmes correspondants, pris en charge par Amazon Polly, pour les voix en norvégien.
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
prøv t
b b consonne occlusivebilabiale voisée
labb p
ç C consonne palatalefricative sourde
kino k
d d consonne occlusivealvéolaire voisée
ladd t
ɖ d` consonne occlusiverétroflexe voisée
verdi t
f f consonne fricativelabio-dentale sourde
fot f
ɡ ɡ consonne occlusivevélaire voisée
tagg k
h h consonne fricativeglottale sourde
ha k
j j consonne spirantepalatale voisée
gi i
k k consonne occlusivevélaire sourde
takk k
l l consonne spirantelatérale alvéolairevoisée
fall, ball t
ɭ l` consonne spirantelatérale rétroflexevoisée
ærlig t
m m consonne occlusivenasale bilabialevoisée
lam p
92
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
n n consonne occlusivenasale alvéolairevoisée
vann t
ɳ n` consonne occlusivenasale rétroflexevoisée
garn t
ŋ N consonne occlusivenasale vélaire voisée
sang k
p p consonne occlusivebilabiale sourde
hopp p
s s consonne fricativealvéolaire sourde
lass s
ʂ s` consonne fricativerétroflexe sourde
års S
ʃ S consonne fricativepost-alvéolairesourde
skyt S
t t consonne occlusivealvéolaire sourde
lat t
ʈ t` consonne occlusiverétroflexe sourde
hardt t
ʋ v\ consonne spirantelabio-dentale voisée
vin f
s, sem s, sem consonne spirantelabio-vélaire voisée
will h/24, j/7
Voyelles
øː 2: voyelle longuemoyenne supérieureantérieure arrondie
søt o
œ 9 voyelle moyenneinférieure antérieurearrondie
søtt O
ə @ voyelle moyennecentrale
ape @
æː {: voyelle longue bassesupérieure antérieurenon arrondie
vær a
ʉ } voyelle ferméecentrale arrondie
lund u
ʉː }: voyelle hautecentrale arrondie
lun u
93
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
æ { voyelle bassesupérieure antérieurenon arrondie
vært a
ɑ A voyelle bassepostérieure nonarrondie
hatt a
ɑː A: voyelle longue bassepostérieure nonarrondie
hat a
e: e: voyelle longuemoyenne supérieureantérieure nonarrondie
sen e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
send E
i: i: voyelle longuefermée antérieurenon arrondie
vin i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
vind i
oː oː voyelle longuemoyenne supérieurepostérieure arrondie
våt o
ɔ O voyelle moyenneinférieure postérieurearrondie
vått O
u: u: voyelle longue hautepostérieure arrondie
bok u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
bukk u
y: y: voyelle longue hauteantérieure arrondie
lyn u
ʏ O voyelle hauteinférieure antérieurearrondie
lynne u
94
Amazon Polly Manuel du développeurBalises SSML prises en charge
Polonais (pl-PL)Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en polonais.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bobas, belka p
d d consonne occlusivealvéolaire voisée
dar, do t
dz dz consonne affriquéealvéolaire voisée
dzwon, widzowie s
dʑ dz\ consonne affriquéepost-alvéolairevoisée
dźwięk J
dʐ dz` consonne affriquéerétroflexe voisée
dżem, dżungla S
f f consonne fricativelabio-dentale sourde
furtka, film f
g g consonne occlusivevélaire voisée
gazeta, waga k
h h consonne fricativeglottale sourde
chleb, handel k
j j consonne spirantepalatale voisée
jak, maja i
k k consonne occlusivevélaire sourde
kura, marek k
l l consonne spirantelatérale alvéolairevoisée
lipa, alicja t
m m consonne occlusivenasale bilabialevoisée
matka, molo p
n n consonne occlusivenasale alvéolairevoisée
norka t
ɲ J consonne occlusivenasale palatalevoisée
koń, toruń J
p p consonne occlusivebilabiale sourde
pora, stop p
95
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
r r consonne rouléealvéolaire voisée
rok, park r
s s consonne fricativealvéolaire sourde
sum, pas s
ɕ s\ consonne fricativealvéolo-palatalesourde
śruba, śnieg J
ʂ s` consonne fricativerétroflexe sourde
szum, masz S
t t consonne occlusivealvéolaire sourde
tok, stół t
ts ts consonne affriquéealvéolaire sourde
car, co s
tɕ ts\ consonne affriquéealvéolo-palatalesourde
ćma, mieć J
tʂ ts` consonne affriquéerétroflexe sourde
czas, raczej S
v v consonne fricativelabio-dentale voisée
worek, mewa f
s, sem s, sem consonne spirantelabio-vélaire voisée
łaska, mało u
z z consonne fricativealvéolaire voisée
zero s
ʑ z\ consonne fricativealvéolo-palatalevoisée
źrebię, bieliźnie J
ʐ z` consonne fricativerétroflexe voisée
żar, żona S
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
ja a
ɛ E voyelle moyenneinférieure antérieurenon arrondie
echo E
ɛ E~ voyelle nasalemoyenne inférieureantérieure nonarrondie
węże E
96
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
i i voyelle hauteantérieure nonarrondie
ile i
ɔ O voyelle moyenneinférieure postérieurearrondie
oczy O
ɔ O~ voyelle nasalemoyenne inférieurepostérieure arrondie
wąż O
u u voyelle hautepostérieure arrondie
uczta u
ɨ 1 voyelle hautecentrale non arrondie
byk i
Portugais (pt-PT)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en portugais.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
pira t
b b consonne occlusivebilabiale voisée
dato p
d d consonne occlusivealvéolaire voisée
dato t
f f consonne fricativelabio-dentale sourde
facto f
g g consonne occlusivevélaire voisée
gato k
j j consonne spirantepalatale voisée
paraguay i
k k consonne occlusivevélaire sourde
cacto k
l l consonne spirantelatérale alvéolairevoisée
galo t
97
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ʎ L consonne spirantelatérale palatalevoisée
galho J
m m consonne occlusivenasale bilabialevoisée
mato p
n n consonne occlusivenasale alvéolairevoisée
nato t
ɲ J consonne occlusivenasale palatalevoisée
pinha J
p p consonne occlusivebilabiale sourde
pato p
ʀ R\ consonne rouléeuvulaire voisée
barroso k
s s consonne fricativealvéolaire sourde
saca s
ʃ S consonne fricativepost-alvéolairesourde
chato S
t t consonne occlusivealvéolaire sourde
tacto t
v v consonne fricativelabio-dentale voisée
vaca f
s, sem s, sem consonne spirantelabio-vélaire voisée
mau u
z z consonne fricativealvéolaire voisée
zaca s
ʒ Z consonne fricativepost-alvéolairevoisée
jacto S
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
parto a
a a~ voyelle nasale bassesupérieure antérieurenon arrondie
pega a
e e voyelle moyennesupérieure antérieurenon arrondie
pega e
98
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
e e~ voyelle nasalemoyenne supérieureantérieure nonarrondie
movem e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
café E
i i voyelle hauteantérieure nonarrondie
lingueta i
i i~ voyelle nasale hauteantérieure nonarrondie
cinto i
o o voyelle moyennesupérieurepostérieure arrondie
poder o
o o~ voyelle nasalemoyenne supérieurepostérieure arrondie
compra o
ɔ O voyelle moyenneinférieure postérieurearrondie
cotó O
u u voyelle hautepostérieure arrondie
fui u
u u~ voyelle nasale hautepostérieure arrondie
sunto u
Portugais, brésilien (pt-BR)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en portugais brésilien.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
pira t
b b consonne occlusivebilabiale voisée
bato p
d d consonne occlusivealvéolaire voisée
dato t
99
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
dʒ dZ consonne affriquéepalato-alvéolairevoisée
idade S
f f consonne fricativelabio-dentale sourde
facto f
g g consonne occlusivevélaire voisée
gato k
j j consonne spirantepalatale voisée
paraguay i
k k consonne occlusivevélaire sourde
cacto k
l l consonne spirantelatérale alvéolairevoisée
galo t
ʎ L consonne spirantelatérale palatalevoisée
galho J
m m consonne occlusivenasale bilabialevoisée
mato p
n n consonne occlusivenasale alvéolairevoisée
nato t
ɲ J consonne occlusivenasale palatalevoisée
pinha J
p p consonne occlusivebilabiale sourde
pato p
s s consonne fricativealvéolaire sourde
saca s
ʃ S consonne fricativepost-alvéolairesourde
chato S
t t consonne occlusivealvéolaire sourde
tacto t
tʃ tS consonne affriquéepost-alvéolairesourde
noite S
v v consonne fricativelabio-dentale voisée
vaca f
s, sem s, sem consonne spirantelabio-vélaire voisée
mau u
100
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
χ X consonne fricativeuvulaire sourde
carro k
z z consonne fricativealvéolaire voisée
zaca s
ʒ Z consonne fricativepost-alvéolairevoisée
jacto S
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
parto a
a a~ voyelle nasale bassesupérieure antérieurenon arrondie
pensamos a
e e voyelle moyennesupérieure antérieurenon arrondie
pega e
e e~ voyelle nasalemoyenne supérieureantérieure nonarrondie
movem e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
café E
i i voyelle hauteantérieure nonarrondie
lingueta i
i i~ voyelle nasale hauteantérieure nonarrondie
cinto i
o o voyelle moyennesupérieurepostérieure arrondie
poder o
o o~ voyelle nasalemoyenne supérieurepostérieure arrondie
compra o
ɔ O voyelle moyenneinférieure postérieurearrondie
cotó O
u u voyelle hautepostérieure arrondie
fui u
u u~ voyelle nasale hautepostérieure arrondie
sunto u
101
Amazon Polly Manuel du développeurBalises SSML prises en charge
Roumain (ro-RO)Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en roumain.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bubă p
d d consonne occlusivealvéolaire voisée
după t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
george S
f f consonne fricativelabio-dentale sourde
afacere f
g g consonne occlusivevélaire voisée
agri# k
h h consonne fricativeglottale sourde
harpă k
j j consonne spirantepalatale voisée
baie i
k k consonne occlusivevélaire sourde
co# k
l l consonne spirantelatérale alvéolairevoisée
lampa t
m m consonne occlusivenasale bilabialevoisée
mama p
n n consonne occlusivenasale alvéolairevoisée
nor t
p p consonne occlusivebilabiale sourde
pilă p
r r consonne rouléealvéolaire voisée
rampă r
s s consonne fricativealvéolaire sourde
soare s
ʃ S consonne fricativepost-alvéolairesourde
ma#ină S
102
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
t t consonne occlusivealvéolaire sourde
tata t
ts ts consonne affriquéealvéolaire sourde
#ară s
tʃ tS consonne affriquéepost-alvéolairesourde
ceai S
v v consonne fricativelabio-dentale voisée
via#ă f
s, sem s, sem consonne spirantelabio-vélaire voisée
beau u
z z consonne fricativealvéolaire voisée
mozol s
ʒ Z consonne fricativepost-alvéolairevoisée
joacă S
Voyelles
ə @ voyelle moyennecentrale
babă @
a a voyelle bassesupérieure antérieurenon arrondie
casa a
e e voyelle moyennesupérieure antérieurenon arrondie
elan e
e e_^ voyelle moyennesupérieure antérieurenon arrondie non-syllabique
beau e
i i voyelle hauteantérieure nonarrondie
mie i
o o voyelle moyennesupérieurepostérieure arrondie
oră o
oa o_^a diphtongue oare o
u u voyelle hautepostérieure arrondie
unde u
ɨ 1 voyelle hautecentrale non arrondie
România i
103
Amazon Polly Manuel du développeurBalises SSML prises en charge
Russe (ru-RU)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en russe.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
борт p
bʲ b' consonne occlusivebilabiale voiséepalatisée
бюро p
d d consonne occlusivealvéolaire voisée
дом t
dʲ d' consonne occlusivealvéolaire voiséepalatisée
дядя t
f f consonne fricativelabio-dentale sourde
флаг f
fʲ f' consonne fricativelabio-dentale sourdepalatisée
февраль f
g g consonne occlusivevélaire voisée
нога k
ɡʲ g' consonne occlusivevélaire voiséepalatisée
герой k
j j consonne spirantepalatale voisée
дизайн, ящик i
k k consonne occlusivevélaire sourde
кот k
kʲ k' consonne occlusivevélaire sourdepalatisée
кино k
l l consonne spirantelatérale alvéolairevoisée
лампа t
lʲ l' consonne spirantelatérale alvéolairevoisée palatisée
лес t
104
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
m m consonne occlusivenasale bilabialevoisée
мама p
mʲ m' consonne occlusivenasale bilabialevoisée palatisée
мяч p
n n consonne occlusivenasale alvéolairevoisée
нос t
nʲ n' consonne occlusivenasale alvéolairevoisée palatisée
няня t
p p consonne occlusivebilabiale sourde
папа p
pʲ p' consonne occlusivebilabiale sourdepalatisée
перо p
r r consonne rouléealvéolaire voisée
роза r
rʲ r' consonne rouléealvéolaire voiséepalatisée
рюмка r
s s consonne fricativealvéolaire sourde
сыр s
sʲ s' consonne fricativealvéolaire sourdepalatisée
сердце, русь s
ɕ: s\: consonne longuefricative alvéolo-palatale sourde
щека J
ʂ s` consonne fricativerétroflexe sourde
шум S
t t consonne occlusivealvéolaire sourde
точка t
tʲ t' consonne occlusivealvéolaire sourdepalatisée
тётя t
ts ts consonne affriquéealvéolaire sourde
царь s
tɕ ts\ consonne affriquéealvéolo-palatalesourde
час J
105
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
v v consonne fricativelabio-dentale voisée
вор f
vʲ v' consonne fricativelabio-dentale voiséepalatisée
верфь f
h/24, j/7 h/24, j/7 consonne fricativevélaire sourde
хор k
xʲ h/24, j/7' consonne fricativevélaire sourdepalatisée
химия k
z z consonne fricativealvéolaire voisée
зуб s
zʲ z' consonne fricativealvéolaire voiséepalatisée
зима s
ʑ: z\: consonne longuefricative alvéolo-palatale voisée
уезжать J
ʐ z` consonne fricativerétroflexe voisée
жена S
Voyelles
ə @ voyelle moyennecentrale
канарейка @
a a voyelle bassesupérieure antérieurenon arrondie
два, яблоко a
e e voyelle moyennesupérieure antérieurenon arrondie
печь e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
это E
i i voyelle hauteantérieure nonarrondie
один, четыре i
o o voyelle moyennesupérieurepostérieure arrondie
кот o
u u voyelle hautepostérieure arrondie
муж, вьюга u
ɨ 1 voyelle hautecentrale non arrondie
мышь i
106
Amazon Polly Manuel du développeurBalises SSML prises en charge
Espagnol (es-ES)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en espagnol.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
pero, bravo, amor,eterno
t
b b consonne occlusivebilabiale voisée
bestia p
β B consonne fricativebilabiale voisée
bebé B
d d consonne occlusivealvéolaire voisée
cuando t
ð D consonne fricativedentale voisée
arder T
f f consonne fricativelabio-dentale sourde
fase, café f
g g consonne occlusivevélaire voisée
gato, lengua, guerra k
ɣ G consonne fricativevélaire voisée
trigo, Argos k
j j consonne spirantepalatale voisée
hacia, tierra, radio,viuda
i
ʝ j\ consonne fricativepalatale voisée
enhielar, sayo,inyectado, desyerba
J
k k consonne occlusivevélaire sourde
caña, laca, quisimos k
l l consonne spirantelatérale alvéolairevoisée
lino, calor, principal t
ʎ L consonne spirantelatérale palatalevoisée
llave, pollo J
m m consonne occlusivenasale bilabialevoisée
madre, comer,anfibio
p
n n consonne occlusivenasale alvéolairevoisée
nido, anillo, sin t
107
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɲ J consonne occlusivenasale palatalevoisée
cabaña, ñoquis J
ŋ N consonne occlusivenasale vélaire voisée
cinco, venga k
p p consonne occlusivebilabiale sourde
pozo, topo p
r r consonne rouléealvéolaire voisée
perro, enrachado r
s s consonne fricativealvéolaire sourde
saco, casa, puertas s
t t consonne occlusivealvéolaire sourde
tamiz, átomo t
tʃ tS consonne affriquéepost-alvéolairesourde
chubasco S
θ T consonne fricativedentale sourde
cereza, zorro, lacero,paz
T
s, sem s, sem consonne spirantelabio-vélaire voisée
fuego, fuimos, cuota,cuadro
u
h/24, j/7 h/24, j/7 consonne fricativevélaire sourde
jamón, general, suje,reloj
k
z z consonne fricativealvéolaire voisée
rasgo, mismo s
Voyelles
a a voyelle bassesupérieure antérieurenon arrondie
tanque a
e e voyelle moyennesupérieure antérieurenon arrondie
peso e
i i voyelle hauteantérieure nonarrondie
cinco i
o o voyelle moyennesupérieurepostérieure arrondie
bosque o
u u voyelle moyennesupérieure antérieurenon arrondie
publicar u
108
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
e e voyelle moyennesupérieure antérieurenon arrondie
keçi e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dede e
i i voyelle hauteantérieure nonarrondie
bir i
i: i: voyelle longuefermée antérieurenon arrondie
izah i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
keçi i
ɯ M voyelle hautepostérieure nonarrondie
kıl i
o o voyelle longuemoyenne supérieurepostérieure arrondie
kol o
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
dolar o
u u voyelle hautepostérieure arrondie
durum u
u: u: voyelle longue hautepostérieure arrondie
ruhum u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
dolu u
O y voyelle hauteantérieure arrondie
güvenlik u
ʏ O voyelle hauteinférieure antérieurearrondie
aşı u
Espagnol, américain (es-US)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en espagnol d'Amérique.
109
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
Consonnes
b b Plosive bilabialesonore
bed p
d d Plosive alvéolairesonore
dig t
dʒ dZ Fricative post-alvéolaire sonore
jump S
ð D Fricative dentalesonore
then T
f f Fricative labio-dentale sourde
five f
g g Plosive vélairesonore
game k
h h Fricative glottalesourde
house k
j j Approchante palatale yes i
k k Plosive vélairesourde
cat k
l l Approchante latéralealvéolaire
lay t
m m Nasale bilabiale mouse p
n n Nasale alvéolaire nap t
ŋ N Nasale vélaire thing k
p p Plosive bilabialesourde
speak p
ɹ r\ Approchantealvéolaire
red r
s s Fricative alvéolairesourde
seem s
ʃ S Fricative post-alvéolaire sourde
ship S
t t Plosive alvéolairesourde
trap t
tʃ tS Fricative post-alvéolaire sourde
chart S
Θ T Fricative dentalesourde
thin T
110
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
v v Fricative labio-dentale sonore
vest f
s, sem s, sem Approchante labio-vélaire
west u
z z Fricative alvéolairesonore
zero s
ʒ Z Fricative post-alvéolaire sonore
vision S
Voyelles
ə @ Voyelle moyennecentrale
arena @
ɚ @` Voyelle colorée par rmoyenne centrale
reader @
æ { Voyelle ouverteantérieure nonarrondie
trap a
aɪ aI Diphtongue price a
aʊ aU Diphtongue mouth a
ɑ A Voyelle longueouverte postérieurenon arrondie
father a
eɪ eI Diphtongue face e
ɝ 3` Voyelle ouvertemoyenne centralenon arrondie coloréepar r
nurse E
ɛ E Voyelle ouverte mi-centrale non arrondie
dress E
i: i Voyelle longuefermée antérieurenon arrondie
fleece i
ɪ I Voyelle pré-ferméeintermédiaireantérieure nonarrondie
kit i
oʊ oU Diphtongue goat o
ɔ O Voyelle longueouverte mi-postérieure arrondie
thought O
ɔɪ OI Diphtongue choice O
111
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
u u Voyelle longuefermée postérieurearrondie
goose u
ʊ U Voyelle pré-ferméeintermédiairepostérieure arrondie
foot u
ʌ V Voyelle ouverte mi-postérieure nonarrondie
strut E
Suédois (sv-SE)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en suédois.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
bil p
d d consonne occlusivealvéolaire voisée
dal t
ɖ d` consonne occlusiverétroflexe voisée
bord t
f f consonne fricativelabio-dentale sourde
fil f
g g consonne occlusivevélaire voisée
gås k
h h consonne fricativeglottale sourde
hal k
j j consonne spirantepalatale voisée
jag i
k k consonne occlusivevélaire sourde
kal k
l l consonne spirantelatérale alvéolairevoisée
lös t
ɭ l` consonne spirantelatérale rétroflexevoisée
härlig t
112
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
m m consonne occlusivenasale bilabialevoisée
mil p
n n consonne occlusivenasale alvéolairevoisée
nålar t
ɳ n` consonne occlusivenasale rétroflexevoisée
barn t
ŋ N consonne occlusivenasale vélaire voisée
ring k
p p consonne occlusivebilabiale sourde
pil p
r r consonne rouléealvéolaire voisée
ris r
s s consonne fricativealvéolaire sourde
sil s
ɕ s\ consonne fricativealvéolo-palatalesourde
tjock J
ʂ s` consonne fricativerétroflexe sourde
fors, schlager S
t t consonne occlusivealvéolaire sourde
tal t
ʈ t` consonne occlusiverétroflexe sourde
hjort t
v v consonne fricativelabio-dentale voisée
vår f
s, sem s, sem consonne spirantelabio-vélaire voisée
aula, airways u
ɧ h/24, j/7\ consonne fricativepalatale-vélairesourde
sjuk k
Voyelles
ø 2 voyelle moyennesupérieure antérieurearrondie
föll, förr o
ø 2: voyelle longuemoyenne supérieureantérieure arrondie
föl, nöt, för o
113
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɵ 8 voyelle moyennesupérieure centralearrondie
buss, full o
ə @ voyelle moyennecentrale
pojken @
ʉː }: voyelle hautecentrale arrondie
hus, ful u
a a voyelle bassesupérieure antérieurenon arrondie
hall, matt a
æ { voyelle bassesupérieure antérieurenon arrondie
herr a
ɑː A: voyelle longue bassepostérieure nonarrondie
hal, mat a
e: e: voyelle longuemoyenne supérieureantérieure nonarrondie
vet, hel e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
vett, rätt, hetta, häll E
ɛː E: voyelle longuemoyenne inférieureantérieure nonarrondie
säl, häl, här E:
i: i: voyelle longuefermée antérieurenon arrondie
vit, sil i:
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
vitt, sill i
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
hål, mål o
ɔ O voyelle moyenneinférieure postérieurearrondie
håll, moll O
u: u: voyelle longue hautepostérieure arrondie
sol, bot u
114
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
bott u
y y voyelle hauteantérieure arrondie
bytt u
y: y: voyelle longue hauteantérieure arrondie
syl, syl u
Turc (tr-TR)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en turc.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
ɾ 4 consonne battuealvéolaire voisée
durum t
ɾ 4_0_r consonne battuealvéolaire fricativesourde
bir t
ɾ 4_r consonne battuealvéolaire fricative
raf t
b b consonne occlusivebilabiale voisée
raf p
c c consonne occlusivepalatale sourde
kedi k
d d consonne occlusivealvéolaire voisée
dede t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
cam S
f f consonne fricativelabio-dentale sourde
fare f
g g consonne occlusivevélaire voisée
galibi k
h h consonne fricativeglottale sourde
hasta k
j j consonne spirantepalatale voisée
yat i
115
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɟ J\ consonne occlusivepalatale voisée
genç J
k k consonne occlusivevélaire sourde
akıl k
l l consonne spirantelatérale alvéolairevoisée
lale t
ɫ 5 consonne spirantealvéolaire latéralevélarisée
labirent t
m m consonne occlusivenasale bilabialevoisée
maaş p
n n consonne occlusivenasale alvéolairevoisée
anı t
p p consonne occlusivebilabiale sourde
ip p
s s consonne fricativealvéolaire sourde
ses s
ʃ S consonne fricativepost-alvéolairesourde
aşı S
t t consonne occlusivealvéolaire sourde
ütü t
tʃ tS consonne affriquéepost-alvéolairesourde
çaba S
v v consonne fricativelabio-dentale voisée
ekvator, kahveci,akvaryum, isveçli,teşviki, cetvel
f
z z consonne fricativealvéolaire voisée
ver s
ʒ Z consonne fricativepost-alvéolairevoisée
azık S
Voyelles
ø 2 voyelle moyennesupérieure antérieurearrondie
göl 0
116
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
œ 9 voyelle moyenneinférieure antérieurearrondie
banliyö O
a a voyelle bassesupérieure antérieurenon arrondie
kal a
a: a: voyelle longue basseantérieure nonarrondie
davacı a
æ { voyelle bassesupérieure antérieurenon arrondie
özlem, güvenlik,gürel, somersault
a
e e voyelle moyennesupérieure antérieurenon arrondie
keçi e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
dede E
i i voyelle hauteantérieure nonarrondie
bir i
i: i: voyelle longuefermée antérieurenon arrondie
izah i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
keçi i
ɯ M voyelle hautepostérieure nonarrondie
kıl i
o o voyelle moyennesupérieurepostérieure arrondie
kol o
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
dolar o
u u voyelle hautepostérieure arrondie
durum u
u: u: voyelle longue hautepostérieure arrondie
ruhum u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
dolu u
117
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
y y voyelle hauteantérieure arrondie
güvenlik u
ʏ O voyelle hauteinférieure antérieurearrondie
aşı u
Gallois (cy-GB)
Le tableau suivant répertorie l'ensemble des phonèmes IPA (International Phonetic Alphabet) et dessymboles X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet), ainsi que les visèmescorrespondants pris en charge par Amazon Polly pour les voix en gallois.
Tableau des visèmes et phonèmes
IPA X-SAMPA Description Exemple Visème
Consonnes
b b consonne occlusivebilabiale voisée
baban p
d d consonne occlusivealvéolaire voisée
deg t
dʒ dZ consonne affriquéepalato-alvéolairevoisée
garej S
ð D consonne fricativedentale voisée
deuddeg T
f f consonne fricativelabio-dentale sourde
ffacs f
g g consonne occlusivevélaire voisée
gadael k
h h consonne fricativeglottale sourde
Haearn k
j j consonne spirantepalatale voisée
astudio i
k k consonne occlusivevélaire sourde
cant k
l l consonne spirantelatérale alvéolairevoisée
lan t
ɬ K consonne alvéolairelatérale fricativesourde
llan t
118
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
m m consonne occlusivenasale bilabialevoisée
mae p
m m_0 consonne occlusivenasale bilabialesourde
ymhen p
n n consonne occlusivenasale alvéolairevoisée
naw t
n n_0 consonne occlusivenasale alvéolairesourde
anhawster t
ŋ N consonne occlusivenasale vélaire voisée
argyfwng k
ŋ N_0 consonne occlusivenasale vélaire sourde
anghenion k
p p consonne occlusivebilabiale sourde
pump p
r r consonne rouléealvéolaire voisée
rhoi r
r r_0 consonne rouléealvéolaire sourde
garw r
s s consonne fricativealvéolaire sourde
saith s
ʃ S consonne fricativepost-alvéolairesourde
siawns S
t t consonne occlusivealvéolaire sourde
tegan t
tʃ tS consonne affriquéepost-alvéolairesourde
cytsain S
θ T consonne fricativedentale sourde
aberth T
v v consonne fricativelabio-dentale voisée
prawf f
s, sem s, sem consonne spirantelabio-vélaire voisée
rhagweld u
χ X consonne fricativeuvulaire sourde
chwech k
119
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
z z consonne fricativealvéolaire voisée
aids s
ʒ Z consonne fricativepost-alvéolairevoisée
rouge S
Voyelles
ə @ voyelle moyennecentrale
ychwanega @
a a voyelle bassesupérieure antérieurenon arrondie
acen a
ai ai diphtongue dau a
au au diphtongue awdur a
ɑː A: voyelle longue bassepostérieure nonarrondie
mab a
ɑːɨ A:1 diphtongue aelod a
e: e: voyelle longuemoyenne supérieureantérieure nonarrondie
peth e
ɛ E voyelle moyenneinférieure antérieurenon arrondie
pedwar E
ɛi Ei diphtongue beic E
i: i: voyelle longuefermée antérieurenon arrondie
tri i
ɪ I voyelle pré-ferméeintermédiaireantérieure nonarrondie
miliwn i
ɨu 1u diphtongue unigryw i
o: o: voyelle longuemoyenne supérieurepostérieure arrondie
oddi o
ɔ O voyelle moyenneinférieure postérieurearrondie
oddieithr O
ɔi Oi diphtongue troi O
120
Amazon Polly Manuel du développeurBalises SSML prises en charge
IPA X-SAMPA Description Exemple Visème
ɔu Ou diphtongue rownd O
u: u: voyelle longue hautepostérieure arrondie
cwch u
ʊ U voyelle pré-ferméeintermédiairepostérieure arrondie
acwstig u
ʊi Ui diphtongue wyth u
121
Amazon Polly Manuel du développeurApplication de plusieurs lexiques
Gestion des lexiquesLes lexiques de prononciation vous permettent de personnaliser la prononciation des mots. AmazonPolly fournit des opérations d'API que vous pouvez utiliser pour stocker les lexiques dans une régionAWS. Ces lexiques sont spécifiques à cette région particulière. Vous pouvez utiliser un ou plusieurs deslexiques de cette région lors de la synthèse du texte grâce à l'opération SynthesizeSpeech. Le lexiquespécifié est alors appliqué au texte saisi avant le début de la synthèse. Pour plus d'informations, consultezSynthesizeSpeech (p. 204).
Note
Ces lexiques doivent être conformes à la recommandation W3C Pronunciation LexiconSpecification (PLS). Pour plus d'informations, consultez la recommandation Pronunciation LexiconSpecification (PLS) Version 1.0 sur le site Web de W3C.
Voici des exemples d'utilisation des lexiques avec des moteurs de synthèse vocale :
• Des mots courants sont parfois stylisés en utilisant des chiffres à la place des lettres, comme dansl'exemple « g3t sm4rt » (get smart). Les humains sont capables de lire ces mots correctement.Cependant, un moteur de synthèse vocale (TTS) lit le texte de façon littérale, c'est-à-dire en prononçanttoutes les lettres du nom. C'est dans ce contexte que les lexiques peuvent vous être utiles afin depersonnaliser la synthèse vocale lors de l'utilisation d'Amazon Polly. Dans cet exemple, vous pouvezspécifier un alias (get smart) pour le mot « g3t sm4rt » dans le lexique.
• Votre texte peut inclure un acronyme, tel que W3C. Vous pouvez utiliser un lexique afin de définir unalias pour le mot W3C qui sera lu sous sa forme complète, développée (World Wide Web Consortium).
Les lexiques vous permettent de contrôler davantage la façon dont Amazon Polly prononce des mots raresdans la langue sélectionnée. Par exemple, vous pouvez spécifier la prononciation à l'aide d'un alphabetphonétique. Pour plus d'informations, consultez la recommandation Pronunciation Lexicon Specification(PLS) Version 1.0 sur le site Web de W3C.
Rubriques• Application de plusieurs lexiques (p. 122)• Gestion des lexiques à l'aide de la console Amazon Polly (p. 123)• Gestion des lexiques à l'aide d'AWS CLI (p. 126)
Application de plusieurs lexiquesVous pouvez appliquer jusqu'à cinq lexiques à votre texte. Si le même graphème apparaît dans plusieurslexiques que vous appliquez à votre texte, l'ordre selon lequel ils sont appliqués peut produire un discoursdifférent. Par exemple, étant donné le texte suivant, « Hello, my name is Bob. » et deux lexèmes dansdifférents lexiques qui utilisent tous deux le graphème Bob.
LexA
<lexeme> <grapheme>Bob</grapheme> <alias>Robert</alias></lexeme>
LexB
<lexeme>
122
Amazon Polly Manuel du développeurGestion des lexiques à l'aide de la console
<grapheme>Bob</grapheme> <alias>Bobby</alias></lexeme>
Si les lexiques sont répertoriés selon l'ordre LexA, puis LexB, la synthèse vocale sera « Hello, my name isRobert. » S'ils sont répertoriés selon l'ordre LexB, puis LexA, la synthèse vocale sera « Hello, my name isBobby. »
Example – Appliquer LexA avant LexB
aws polly synthesize-speech \--lexicon-names LexA LexB \--output-format mp3 \--text 'Hello, my name is Bob' \--voice-id Justin \bobAB.mp3
Sortie vocale : « Hello, my name is Robert. »
Example – Appliquer LexB avant LexA
aws polly synthesize-speech \--lexicon-names LexB LexA \--output-format mp3 \--text 'Hello, my name is Bob' \--voice-id Justin \bobBA.mp3
Sortie vocale : « Hello, my name is Bobby. »
Pour plus d'informations sur l'application des lexiques via la console Amazon Polly, consultez Applicationde lexiques à l'aide de la console (Synthèse vocale) (p. 124).
Gestion des lexiques à l'aide de la console AmazonPolly
Vous pouvez utiliser la console Amazon Polly pour charger, télécharger, appliquer, filtrer et supprimer deslexiques. Les procédures suivantes illustrent chacun de ces processus.
Chargement des lexiques à l'aide de la consolePour utiliser un lexique de prononciation, vous devez commencer par le charger. Il y a deux emplacementssur la console à partir desquels vous pouvez charger un lexique, l'onglet Text-to-Speech et l'ongletLexicons.
Les procédures suivantes expliquent comment ajouter des lexiques que vous pouvez utiliser pourpersonnaliser la prononciation de mots et de phrases rares dans la langue choisie.
Pour ajouter un lexique à partir de l'onglet Lexicons
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Lexicons.3. Choisissez Upload.
123
Amazon Polly Manuel du développeurApplication de lexiques à l'aidede la console (Synthèse vocale)
4. Recherchez le lexique que vous souhaitez charger. Vous pouvez utiliser uniquement les fichiers PLSqui utilisent les extensions .pls et xml.
5. Choisissez Open. Si un lexique du même nom (fichier .pls ou xml) existe déjà, le chargement dulexique permettra de remplacer le lexique existant.
Pour ajouter un lexique à partir de l'onglet Text-to-Speech
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Text-to-Speech.3. Choisissez Customize pronunciation of words or phrases using lexicons, puis Upload lexicon.4. Recherchez le lexique que vous souhaitez charger. Vous pouvez utiliser uniquement les fichiers PLS
qui utilisent les extensions .pls et xml.5. Choisissez Open. Si un lexique du même nom (fichier .pls ou xml) existe déjà, le chargement du
lexique permettra de remplacer le lexique existant.
Application de lexiques à l'aide de la console(Synthèse vocale)La procédure suivante montre comment appliquer un lexique au texte que vous avez saisi en appliquantle lexique W3c.pls pour remplacer par « World Wide Web Consortium » par « W3C ». Si vousappliquez plusieurs lexiques à votre texte, ils seront appliqués dans un ordre descendant ; la premièrecorrespondance étant prioritaire par rapport aux suivantes. Un lexique est appliqué au texte uniquement sila langue spécifiée dans le lexique est la même que la langue choisie.
Vous pouvez appliquer un lexique à un texte brut ou à une entrée SSML.
Example – Appliquer le lexique W3C.pls
Pour créer le lexique dont vous aurez besoin pour cet exercice, consultez Utilisation de l'opérationPutLexicon (p. 126). Utilisez un éditeur de texte brut pour créer le lexique W3C.pls affiché en haut de larubrique. Gardez cela à l'esprit lorsque vous enregistrez ce fichier.
Pour appliquer le lexique W3C.pls à votre entrée
Dans cet exemple, nous présentons un lexique pour remplacer « World Wide Web Consortium » par« W3C ». Comparez les résultats de cet exercice à ceux de Utilisation de SSML (console) (p. 30) à la foispour l'anglais (États-Unis) et pour une autre langue.
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Effectuez l'une des actions suivantes :
• Choisissez l'onglet Plain text, puis tapez ou collez ce texte dans la zone d'entrée de texte.
He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
• Choisissez l'onglet SSML, puis tapez ou collez ce texte dans la zone d'entrée de texte.
<speak>He wasn't paying attention.<break time="1s"/>In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.</speak>
124
Amazon Polly Manuel du développeurFiltrage de la liste des lexiques à l'aide de la console
3. Dans la liste Choose a language and region, sélectionnez English US, puis choisissez une voix quevous voulez utiliser pour ce texte.
4. Choisissez Customize pronunciation of words or phrases using lexicons.5. Dans la liste des lexiques, choisissez W3C (English, US).
Si le lexique W3C (English, US) n'apparaît pas, choisissez Upload lexicon, chargez-le,puis sélectionnez-le dans la liste. Pour créer ce lexique, consultez Utilisation de l'opérationPutLexicon (p. 126).
6. Pour écouter le discours immédiatement, choisissez Listen to speech.7. Pour enregistrer le discours dans un fichier,
a. Choisissez Save speech to MP3.b. Pour opter pour un format de fichier différent, choisissez Change file format, sélectionnez le format
de fichier que vous souhaitez, puis choisissez Change.
Répétez les étapes précédentes, mais choisissez une autre langue et notez la différence dans le résultatobtenu.
Filtrage de la liste des lexiques à l'aide de la consoleLa procédure suivante décrit comment filtrer la liste de lexiques afin d'afficher uniquement les lexiques de lalangue choisie.
Pour filtrer les lexiques par langue
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Lexicons.3. Choisissez Filter.4. Dans la liste des langues, sélectionnez la langue sur laquelle vous voulez filtrer.
La liste affiche uniquement les lexiques pour la langue choisie.
Téléchargement des lexiques à l'aide de la consoleLe processus suivant décrit comment télécharger un ou plusieurs lexiques. Vous pouvez ajouter, supprimerou modifier des entrées de lexique dans le fichier, puis le chargez à nouveau pour avoir un lexique toujoursà jour.
Pour télécharger un ou plusieurs lexiques
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Lexicons.3. Choisissez le ou les lexiques à télécharger.
a. Pour télécharger un seul lexique, choisissez son nom dans la liste.b. Pour télécharger plusieurs lexiques en un seul fichier d'archive compressé, cochez la case située
en regard de chaque entrée de la liste que vous souhaitez télécharger.4. Choisissez Téléchargement.5. Ouvrez le dossier dans lequel vous souhaitez télécharger le lexique.6. Choisissez Save.
125
Amazon Polly Manuel du développeurSuppression d'un lexique à l'aide de la console
Suppression d'un lexique à l'aide de la consolePour supprimer un lexique
Le processus suivant décrit comment supprimer un lexique. Après avoir supprimé le lexique, vous devezl'ajouter à nouveau avant de pouvoir le réutiliser. Vous pouvez supprimer un ou plusieurs lexiques enmême temps en sélectionnant les cases à cocher en regard des différents lexiques concernés.
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Lexicons.3. Sélectionnez un ou plusieurs lexiques à supprimer dans la liste.4. Sélectionnez Delete.5. Choisissez Delete pour supprimer le lexique de la région ou Cancel pour le conserver.
Gestion des lexiques à l'aide d'AWS CLILes rubriques suivantes couvrent les commandes AWS CLI indispensables pour gérer vos lexiques deprononciation.
Rubriques• Utilisation de l'opération PutLexicon (p. 126)• Utilisation de l'opération GetLexicon (p. 131)• Utilisation des opérations ListLexicons (p. 131)• Utilisation de l'opération DeleteLexicon (p. 132)
Utilisation de l'opération PutLexiconAvec Amazon Polly, vous pouvez utiliser PutLexicon (p. 197) pour stocker des lexiques de prononciationdans une région AWS spécifique pour votre compte. Vous pouvez ensuite indiquer un ou plusieurs deces lexiques stockés dans votre demande SynthesizeSpeech (p. 204) que vous souhaitez appliqueravant que le service ne démarre la synthèse du texte. Pour plus d'informations, consultez Gestion deslexiques (p. 122).
Cette section fournit des exemples de lexiques, ainsi que des instructions pas à pas pour les stocker et lestester.
Note
Ces lexiques doivent être conformes à la recommandation W3C Pronunciation LexiconSpecification (PLS). Pour plus d'informations, consultez la recommandation Pronunciation LexiconSpecification (PLS) Version 1.0 sur le site Web de W3C.
Exemple 1 : Lexique avec un lexèmeConsidérez le lexique W3C compatible PLS.
<?xml version="1.0" encoding="UTF-8"?><lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa"
126
Amazon Polly Manuel du développeurPutLexicon
xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme></lexicon>
Remarques :
• Les deux attributs spécifiés dans l'élément <lexicon> :• L'attribut xml:lang spécifie le code de langue, en-US, auquel le lexique s'applique. Amazon Polly
peut utiliser ce lexique si la voix que vous spécifiez dans l'appel SynthesizeSpeech a le même codede langue (en-US).
Note
Vous pouvez utiliser l'opération DescribeVoices pour trouver le code de langue associé àune voix.
• L'attribut alphabet indique IPA, ce qui signifie que l'alphabet phonétique international (API) est
utilisé pour les prononciations. API est l'un des alphabets utilisés pour la transcription phonétique dessons. Amazon Polly prend également en charge l'alphabet X-SAMPA (Extended Speech AssessmentMethods Phonetic Alphabet).
• L'élément <lexeme> décrit le mappage entre <grapheme> (qui est une représentation de texte du mot)
et <alias>.
Pour tester ce lexique, procédez comme suit :
1. Enregistrez le lexique sous le nom example.pls.2. Exécutez la commande d'AWS CLI put-lexicon pour stocker le lexique (avec le nom w3c), dans la
région us-east-2.
aws polly put-lexicon \--name w3c \--content file://example.pls
3. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un flux audio(speech.mp3) et indiquez le paramètre facultatif lexicon-name.
aws polly synthesize-speech \--text 'W3C is a Consortium' \--voice-id Joanna \--output-format mp3 \--lexicon-names="w3c" \speech.mp3
4. Lisez le fichier speech.mp3 obtenu et notez que le mot W3C dans le texte est remplacé par « WorldWide Web Consortium ».
L'exemple de lexique précédent utilise un alias. L'alphabet API mentionné dans le lexique n'est pas utilisé.Le lexique suivant spécifie une prononciation phonétique à l'aide de l'élément <phoneme> avec l'alphabetAPI.
<?xml version="1.0" encoding="UTF-8"?>
127
Amazon Polly Manuel du développeurPutLexicon
<lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>pecan</grapheme> <phoneme>p##k##n</phoneme> </lexeme></lexicon>
Suivez la même procédure pour tester ce lexique. Assurez-vous d'indiquer le texte saisi comportant le mot« pecan » (par exemple, « Pecan pie is delicious »).
Exemple 2 : Lexique avec plusieurs lexèmesDans cet exemple, le lexème que vous spécifiez dans le lexique s'applique exclusivement au texte saisipour la synthèse. Prenez en compte le lexique suivant :
<?xml version="1.0" encoding="UTF-8"?><lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US">
<lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> <lexeme> <grapheme>Consortium</grapheme> <alias>Community</alias> </lexeme></lexicon>
Le lexique indique trois lexèmes, dont deux d'entre eux définissent un alias pour le graphème W3C commesuit :
• Le premier élément <lexeme> définit un alias (World Wide Web Consortium).• Le deuxième <lexeme> définit un autre alias (WWW Consortium).
Amazon Polly utilise le premier remplacement pour tout graphème donné dans un lexique.
Le troisième <lexeme> définit un remplacement (Community) pour le mot Consortium.
Tout d'abord, nous allons tester ce lexique. Supposons que vous vouliez résumer l'exemple detexte suivant dans un fichier audio (speech.mp3), et que vous indiquiez le lexique dans un appel àSynthesizeSpeech.
The W3C is a Consortium
SynthesizeSpeech applique d'abord le lexique comme suit :
128
Amazon Polly Manuel du développeurPutLexicon
• Pour le premier lexème, le mot W3C est révisé en tant que « World Wide Web Consortium ». Le texterévisé apparaît comme suit :
The World Wide Web Consortium is a Consortium
• L'alias défini dans le troisième lexème s'applique uniquement au mot Consortium qui faisait partie dutexte original, générant le texte suivant :
The World Wide Web Consortium is a Community.
Vous pouvez le tester en utilisant l'AWS CLI comme suit :
1. Enregistrez le lexique sous le nom example.pls.2. Exécutez la commande put-lexicon pour stocker le lexique avec le nom « w3c », dans la région us-
east-2.
aws polly put-lexicon \--name w3c \--content file://example.pls
3. Exécutez la commande list-lexicons pour vérifier que le lexique « w3c » figure dans la liste deslexiques renvoyés.
aws polly list-lexicons
4. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un fichieraudio (speech.mp3) et indiquez le paramètre facultatif lexicon-name.
aws polly synthesize-speech \--text 'W3C is a Consortium' \--voice-id Joanna \--output-format mp3 \--lexicon-names="w3c" \speech.mp3
5. Lisez le fichier speech.mp3 obtenu pour vérifier que le discours synthétisé reflète les modifications detexte.
Exemple 3 : Spécification de plusieurs lexiquesDans un appel à SynthesizeSpeech, vous pouvez spécifier plusieurs lexiques. Dans ce cas, le premierlexique spécifié (de gauche à droite) remplace tous les lexiques précédents.
Considérez les deux lexiques suivants. Veuillez noter que chaque lexique décrit différents alias pour lemême graphème W3C.
• Lexique 1 : w3c.pls
<?xml version="1.0" encoding="UTF-8"?><lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme>
129
Amazon Polly Manuel du développeurPutLexicon
<alias>World Wide Web Consortium</alias> </lexeme></lexicon>
• Lexique 2 : w3cAlternate.pls
<?xml version="1.0" encoding="UTF-8"?><lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US">
<lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme></lexicon>
Supposons que vous stockiez ces lexiques respectivement sous les noms w3c et w3cAlternate. Sivous spécifiez des lexiques selon l'ordre (w3c suivi de w3cAlternate) dans un appel à la commandeSynthesizeSpeech, l'alias pour W3C défini dans le premier lexique a la priorité par rapport au deuxième.Pour tester ces lexiques, procédez comme suit :
1. Enregistrez les lexiques localement dans des fichiers appelés w3c.pls et w3cAlternate.pls.2. Chargez ces lexiques à l'aide de la commande d'AWS CLI put-lexicon.
• Chargez le lexique w3c.pls et stockez-le en tant que w3c.
aws polly put-lexicon \--name w3c \--content file://w3c.pls
• Chargez le lexique w3cAlternate.pls et stockez-le en tant que w3cAlternate.
aws polly put-lexicon \--name w3cAlternate \--content file://w3cAlternate.pls
3. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un flux audio(speech.mp3) et indiquez les deux lexiques à l'aide du paramètre lexicon-name.
aws polly synthesize-speech \--text 'PLS is a W3C recommendation' \--voice-id Joanna \--output-format mp3 \--lexicon-names '["w3c","w3cAlternative"]' \speech.mp3
4. Testez le fichier speech.mp3 obtenu. Il doit se lire comme suit :
PLS is a World Wide Web Consortium recommendation
Exemples de code supplémentaires pour l'API PutLexicon• Exemple Java : PutLexicon (p. 141)
130
Amazon Polly Manuel du développeurGetLexicon
• Exemple Python (Boto3) : PutLexicon (p. 147)
Utilisation de l'opération GetLexiconAmazon Polly fournit l'opération API GetLexicon (p. 189) pour récupérer le contenu d'un lexique deprononciation que vous avez enregistré dans votre compte dans une région spécifique.
La commande AWS CLI get-lexicon suivante récupère le contenu du lexique example.
aws polly get-lexicon \--name example
Si vous n'avez pas encore de lexique enregistré dans votre compte, vous pouvez utiliser l'opérationPutLexicon pour en enregistrer un. Pour plus d'informations, consultez Utilisation de l'opérationPutLexicon (p. 126).
Voici un exemple de réponse. Outre le contenu du lexique, la réponse renvoie les métadonnées, telles quele code de langue auquel le lexique s'applique, le nombre de lexèmes définis dans le lexique, l'AmazonResource Name (ARN) de la ressource et la taille du lexique en octets. La valeur LastModified est unhorodatage Unix.
{ "Lexicon": { "Content": "lexicon content in plain text PLS format", "Name": "example" }, "LexiconAttributes": { "LanguageCode": "en-US", "LastModified": 1474222543.989, "Alphabet": "ipa", "LexemesCount": 1, "LexiconArn": "arn:aws:polly:us-east-2:account-id:lexicon/example", "Size": 495 }}
Exemples de code supplémentaires pour l'API GetLexicon• Exemple Java : GetLexicon (p. 140)• Exemple Python (Boto3) : GetLexicon (p. 145)
Utilisation des opérations ListLexiconsAmazon Polly fournit l'opération API ListLexicons (p. 193) que vous pouvez utiliser pour obtenir la listedes lexiques de prononciation dans votre compte dans une région spécifique d'AWS. L'appel de l'AWS CLIsuivant répertorie les lexiques dans votre compte dans la région us-east-2.
aws polly list-lexicons
Voici un exemple de réponse, affichant deux lexiques nommés w3c et tomato. Pour chaque lexique,la réponse renvoie des métadonnées comme le code de langue auquel le lexique s'applique, le nombrede lexèmes définis dans le lexique, la taille en octets, etc. Le code de langue décrit une langue et desparamètres régionaux auxquels les lexèmes définis dans le lexique s'appliquent.
{
131
Amazon Polly Manuel du développeurDeleteLexicon
"Lexicons": [ { "Attributes": { "LanguageCode": "en-US", "LastModified": 1474222543.989, "Alphabet": "ipa", "LexemesCount": 1, "LexiconArn": "arn:aws:polly:aws-region:account-id:lexicon/w3c", "Size": 495 }, "Name": "w3c" }, { "Attributes": { "LanguageCode": "en-US", "LastModified": 1473099290.858, "Alphabet": "ipa", "LexemesCount": 1, "LexiconArn": "arn:aws:polly:aws-region:account-id:lexicon/tomato", "Size": 645 }, "Name": "tomato" } ]}
Exemples de code supplémentaires pour l'API ListLexicon• Exemple Java : ListLexicons (p. 140)• Exemple Python (Boto3) : ListLexicon (p. 146)
Utilisation de l'opération DeleteLexiconAmazon Polly fournit l'opération API DeleteLexicon (p. 184) pour supprimer un lexique de prononciation àpartir d'une région spécifique AWS dans votre compte. L'AWS CLI suivante supprime le lexique spécifié.
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly delete-lexicon \--name example
Exemples de code supplémentaires pour l'API DeleteLexicon• Exemple Java : DeleteLexicon (p. 138)• Exemple Python (Boto3) : DeleteLexicon (p. 145)
132
Amazon Polly Manuel du développeurConfiguration de la stratégie IAM
pour la synthèse asynchrone
Création de fichiers audio longsPour créer des fichiers TTS pour de longs passages de texte, utilisez la fonctionnalité de synthèseasynchrone d'Amazon Polly. Cette fonctionnalité utilise les trois API SpeechSynthesisTask :
• StartSpeechSynthesisTask : lance une nouvelle tâche de synthèse.• GetSpeechSynthesisTask : renvoie des détails concernant une tâche de synthèse précédemment
soumise.• ListSpeechSynthesisTasks : répertorie toutes les tâches de synthèse soumises.
L'opération SynthesizeSpeech génère une sortie audio en temps quasi réel, avec une latencerelativement faible dans la plupart des cas. Pour ce faire, l'opération ne peut synthétiser que3 000 caractères.
La fonctionnalité de synthèse asynchrone d'Amazon Polly permet de traiter un document texte plus longen modifiant la façon dont il est synthétisé et renvoyé. Lorsqu'une demande de synthèse est effectuée ensoumettant un texte d'entrée à l'aide de l'opération StartSpeechSynthesisTask, Amazon Polly place lademande dans une file d'attente, puis la traite en arrière-plan de façon asynchrone dès que les ressourcessystème sont disponibles. Amazon Polly charge ensuite le discours ou le flux de marques vocales obtenudirectement dans votre compartiment Amazon Simple Storage Service (Amazon S3) (obligatoire) et vousinforme de la disponibilité du fichier généré via votre rubrique SNS (facultatif).
En procédant ainsi, toutes les fonctionnalités, à l'exception du traitement en temps quasi réel, sontdisponibles pour les textes comportant jusqu'à 100 000 caractères facturables (ou 200 000 caractères autotal).
Pour synthétiser un document à l'aide de cette méthode, vous devez disposer d'un compartiment AmazonS3 accessible en écriture sur lequel le fichier audio peut être enregistré. Vous pouvez être averti(e) de ladisponibilité du fichier audio synthétisé en fournissant un identifiant de rubrique SNS facultatif. Une foisla tâche de synthèse terminée, Amazon Polly publiera un message sur cette rubrique. Ce message peutégalement contenir des informations d'erreur utiles en cas d'échec de la tâche de synthèse. Pour recevoirune telle notification, assurez-vous que l'utilisateur qui crée la tâche de synthèse peut également publiersur la rubrique SNS. Consultez la documentation Amazon SNS pour plus d'informations sur la création etl'abonnement à une rubrique SNS.
Chiffrement
Si vous le souhaitez, vous pouvez stocker le fichier de sortie dans un format chiffré dans votrecompartiment S3. Pour ce faire, activez le chiffrement de compartiment Amazon S3, qui utilise l'un deschiffrements par bloc les plus puissants qui existent : AES (Advanced Encryption Standard) 256 bits.
Rubriques• Configuration de la stratégie IAM pour la synthèse asynchrone (p. 133)• Création de fichiers audio longs (console) (p. 134)• Création de fichiers audio longs (CLI) (p. 135)
Configuration de la stratégie IAM pour la synthèseasynchrone
Pour utiliser la fonctionnalité de synthèse asynchrone, vous devrez recourir à une stratégie IAM autorisantles actions suivantes :
133
Amazon Polly Manuel du développeurCréation de fichiers audio longs (console)
• utilisation de nouvelles opérations Amazon Polly• écriture dans le compartiment S3 de sortie• publication dans la rubrique SNS d'état [facultatif]
La stratégie suivante n'accorde que les autorisations requises pour la synthèse asynchrone et peut êtreattachée à l'utilisateur IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "polly:StartSpeechSynthesisTask", "polly:GetSpeechSynthesisTask", "polly:ListSpeechSynthesisTasks" ], "Resource": "*" }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/*" }, { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region:account:topic" } ]}
Pour plus d'informations sur l'utilisation des stratégies IAM avec Amazon Polly et l'association desstratégies IAM avec les utilisateurs IAM, consultez Contrôle d'accès (p. 219).
Création de fichiers audio longs (console)Vous pouvez utiliser la console Amazon Polly pour créer de longs discours à l'aide de la synthèseasynchrone et bénéficier des mêmes fonctionnalités que celles disponibles sur l'interface de ligne decommande AWS. Cette opération est effectuée via l'onglet Text-to-Speech (Synthèse vocale), commen'importe quelle autre synthèse.
L'autre fonctionnalité de synthèse asynchrone est également disponible via la console. L'onglet S3synthesis tasks (Tâches de synthèse S3) reflète la fonctionnalité ListSpeechSynthesisTasks. Ilaffiche toutes les tâches enregistrées dans le compartiment S3 et vous permet de les filtrer, si vousle souhaitez. Cliquer sur une tâche spécifique permet d'afficher ses détails, reflétant la fonctionnalitéGetSpeechSynthesisTask.
Pour synthétiser un texte volumineux à l'aide de la console Amazon Polly
1. Connectez-vous à AWS Management Console et ouvrez la console Amazon Polly à partir de l'adressehttps://console.aws.amazon.com/polly/.
2. Choisissez l'onglet Text-to-Speech.3. Dans l'onglet Plain Text (Texte brut) ou SSML, saisissez ou collez votre texte dans la zone de saisie.4. Choisissez la langue, la région et la voix pour votre texte.
134
Amazon Polly Manuel du développeurCréation de fichiers audio longs (CLI)
5. Sélectionnez Synthesize to S3 (Synthétiser vers S3).
Note
Les options Download (Télécharger) et Listen to Speech (Écouter le discours) seront griséessi la longueur du texte dépasse les limites définies pour l'opération SynthesizeSpeech entemps réel.
6. Si vous n'avez pas encore utilisé la synthèse asynchrone, la fenêtre Change S3 synthesis task settings(Modifier les paramètres de la tâche de synthèse S3) s'affichera pour vous permettre de choisirl'emplacement de stockage du fichier de sortie.
a. Renseignez le nom du compartiment Amazon S3 de destination.b. Le cas échéant, renseignez la clé de préfixe de la sortie.
Note
La compartiment S3 de sortie doit être accessible en écriture.c. Si vous souhaitez être averti(e) de la disponibilité de la tâche de synthèse, fournissez l'identifiant
de rubrique SNS facultatif.
Note
Pour pouvoir utiliser cette option, le SNS doit être ouvert à la publication par l'utilisateuractuel de la console. Pour plus d'informations, consultez Amazon Simple NotificationService (SNS).
d. Sélectionnez Synthesize (Synthétiser).
Pour modifier les paramètres de la tâche de synthèse S3
1. Dans la console, accédez à l'onglet Text-to-Speech (Synthèse vocale) et sélectionnez Change S3 tasksettings (Modifier les paramètres de la tâche S3).
2. Effectuez les modifications que vous souhaitez apporter au nom du compartiment Amazon S3 dedestination, à sa clé de préfixe ou à l'identifiant de rubrique SNS.
3. Lorsque vous avez terminé, sélectionnez Synthesize (Synthétiser).
Pour récupérer des informations sur vos tâches de synthèse vocale
1. Dans la console, accédez à l'onglet S3 Synthesis Tasks (Tâches de synthèse S3).2. Les tâches sont affichées par ordre de date. Pour filtrer les tâches, sélectionnez Filter (Filtre), puis
choisissez le filtre à appliquer.3. Pour afficher les détails d'une tâche spécifique, choisissez le Task ID (Identifiant de tâche) associé.
Création de fichiers audio longs (CLI)La fonctionnalité de synthèse asynchrone Amazon Polly utilise trois API SpeechSynthesisTask pourtraiter les textes volumineux :
• StartSpeechSynthesisTask : lance une nouvelle tâche de synthèse.• GetSpeechSynthesisTask : renvoie des détails concernant une tâche de synthèse précédemment
soumise.• ListSpeechSynthesisTasks : répertorie toutes les tâches de synthèse soumises.
Synthétisation de textes volumineux (StartSpeechSynthesisTask)
135
Amazon Polly Manuel du développeurCréation de fichiers audio longs (CLI)
Si vous souhaitez créer un fichier audio plus volumineux que celui que vous pouvez créer avec l'opérationSynthesizeSpeech en temps réel, utilisez l'opération StartSpeechSynthesisTask. Outre lesarguments requis pour l'opération SynthesizeSpeech, StartSpeechSynthesisTask nécessiteégalement le nom d'un compartiment Amazon S3. Deux autres arguments facultatifs sont égalementdisponibles : un préfixe de clé pour le fichier de sortie et l'ARN d'une rubrique SNS si vous souhaitezrecevoir des notifications d'état sur la tâche.
• OutputS3BucketName : nom du compartiment Amazon S3 dans lequel la synthèse doit être chargée.Ce compartiment doit être dans la même région que le service Amazon Polly. De plus, l'utilisateur IAMutilisé pour effectuer l'appel doit avoir accès au compartiment. [Obligatoire]
• OutputS3KeyPrefix : préfixe de clé pour le fichier de sortie. Utilisez ce paramètre si vous souhaitezenregistrer le fichier vocal de sortie dans une clé de répertoire personnalisée dans votre compartiment.[Facultatif]
• SnsTopicArn : ARN de la rubrique SNS à utiliser si vous souhaitez recevoir des notificationsconcernant l'état de la tâche. Cette rubrique SNS doit être dans la même région que le service AmazonPolly. De plus, l'utilisateur IAM utilisé pour effectuer l'appel doit avoir accès à la rubrique. [Facultatif]
Par exemple, l'exemple suivant peut être utilisé pour exécuter la commande CLI AWS start-speech-synthesis-task dans la région USA Est (Ohio) :
L'exemple d'AWS CLI est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractèrede continuation Unix (\) à la fin de chaque ligne par le caractère de continuation Windows (^) et utilisez lesguillemets doubles (") autour du texte d'entrée avec des guillemets simples (') pour les balises internes.
aws polly start-speech-synthesis-task \ --region us-east-2 \ --endpoint-url "https://polly.us-east-2.amazonaws.com/" \ --output-format mp3 \ --output-s3-bucket-name your-bucket-name \ --output-s3-key-prefix optional/prefix/path/file \ --voice-id Joanna \ --text file://text_file.txt
Cette opération génèrera une réponse similaire à celle de l'exemple ci-dessous :
"SynthesisTask": { "OutputFormat": "mp3", "OutputUri": "https://s3.us-east-2.amazonaws.com/your-bucket-name/optional/prefix/path/file.<task_id>.mp3", "TextType": "text", "CreationTime": [..], "RequestCharacters": [..], "TaskStatus": "scheduled", "TaskId": [task_id], "VoiceId": "Joanna" }
L'opération start-speech-synthesis-task renvoie plusieurs nouveaux champs :
• OutputUri : emplacement de votre fichier vocal de sortie.• TaskId : identifiant unique généré par Amazon Polly pour la tâche de synthèse vocale.• CreationTime : horodatage de la date de soumission initiale de la tâche.• RequestCharacters : nombre de caractères facturables dans la tâche.• TaskStatus : fournit des informations concernant l'état de la tâche soumise.
136
Amazon Polly Manuel du développeurCréation de fichiers audio longs (CLI)
Une fois votre tâche soumise, l'état initial affiche scheduled. Lorsque Amazon Polly commenceà traiter la tâche, l'état passe à inProgress, puis à completed ou failed. Si la tâche échoue,un message d'erreur est renvoyé lorsque vous appelez l'opération GetSpeechSynthesisTask ouListSpeechSynthesisTasks.
Lorsque la tâche est terminée, le fichier vocal s'ajoute à l'emplacement spécifié dans OutputUri.
Récupération d'informations sur votre tâche de synthèse vocale
Vous pouvez obtenir des informations sur une tâche, telles que les erreurs, l'état et d'autres détails, à l'aidede l'opération GetSpeechSynthesisTask. Pour ce faire, vous aurez besoin du task-id renvoyé parl'opération StartSpeechSynthesisTask.
Par exemple, l'exemple suivant peut être utilisé pour exécuter la commande CLI AWS get-speech-synthesis-task :
aws polly get-speech-synthesis-task \--region us-east-2 \--endpoint-url "https:// polly.us-east-2.amazonaws.com/" \--task-id task identifier
Vous pouvez également afficher toutes les tâches de synthèse vocale que vous avez exécutées dans larégion actuelle à l'aide de l'opération ListSpeechSynthesisTasks.
Par exemple, l'exemple suivant peut être utilisé pour exécuter la commande CLI AWS list-speech-synthesis-tasks :
aws polly list-speech-synthesis-tasks \--region us-east-2 \--endpoint-url "https:// polly.us-east-2.amazonaws.com/"
137
Amazon Polly Manuel du développeurExemple de code
Exemples d'applications et de codeCette section fournit des exemples de code et d'applications que vous pouvez utiliser pour découvrirAmazon Polly.
Rubriques• Exemple de code (p. 138)• Exemples d'applications (p. 149)
La rubrique Exemple de code contient des extraits de code classés par langage de programmation etséparés en plusieurs exemples pour les différentes fonctionnalités d'Amazon Polly. La rubrique Exempled'application contient des applications classées par langage de programmation et pouvant utilisées demanière indépendante pour explorer Amazon Polly.
Avant de commencer à utiliser ces exemples, nous vous recommandons de lire tout d'abord Amazon Polly :fonctionnement (p. 3) et de suivre les étapes décrites dans Mise en route avec Amazon Polly (p. 11).
Exemple de codeCette rubrique contient des exemples de code pour les différentes fonctionnalités, qui peuvent être utiliséspour découvrir Amazon Polly.
Exemples de code par langage de programmation• Exemples Java (p. 138)• Exemples Python (p. 144)
Exemples JavaLes exemples de code suivants montrent comment utiliser les applications Java pour accomplir diversestâches avec Amazon Polly. Ces exemples ne sont pas complets mais peuvent être inclus dans desapplications Java plus volumineuses qui utilisent le kit AWS SDK pour Java.
Extraits de code• DeleteLexicon (p. 138)• DescribeVoices (p. 139)• GetLexicon (p. 140)• ListLexicons (p. 140)• PutLexicon (p. 141)• StartSpeechSynthesisTask (p. 142)• Marques vocales (p. 143)• SynthesizeSpeech (p. 144)
DeleteLexiconL'exemple de code Java suivant montre comment utiliser les applications Java pour supprimer un lexiquestocké dans une région AWS. Un lexique qui a été supprimé n'est pas disponible pour la synthèse vocale etne peut pas être récupéré à l'aide des API GetLexicon ou ListLexicon.
138
Amazon Polly Manuel du développeurExemples Java
Pour plus d'informations sur cette opération, consultez la référence concernant l'API DeleteLexicon.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.DeleteLexiconRequest; public class DeleteLexiconSample { private String LEXICON_NAME = "SampleLexicon"; AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void deleteLexicon() { DeleteLexiconRequest deleteLexiconRequest = new DeleteLexiconRequest().withName(LEXICON_NAME); try { client.deleteLexicon(deleteLexiconRequest); } catch (Exception e) { System.err.println("Exception caught: " + e); } }}
DescribeVoicesL'exemple de code Java suivant montre comment utiliser les applications Java pour générer une listede voix pouvant être utilisées lorsque vous demandez la synthèse vocale. Si vous le souhaitez, vouspouvez spécifier un code de langue pour filtrer les voix disponibles. Par exemple, si vous indiquez en-US,l'opération renvoie une liste de toutes les voix disponibles pour l'anglais américain.
Pour plus d'informations sur cette opération, consultez la référence concernant l'API DescribeVoices.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.DescribeVoicesRequest;import com.amazonaws.services.polly.model.DescribeVoicesResult; public class DescribeVoicesSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void describeVoices() { DescribeVoicesRequest allVoicesRequest = new DescribeVoicesRequest(); DescribeVoicesRequest enUsVoicesRequest = new DescribeVoicesRequest().withLanguageCode("en-US"); try { String nextToken; do { DescribeVoicesResult allVoicesResult = client.describeVoices(allVoicesRequest); nextToken = allVoicesResult.getNextToken(); allVoicesRequest.setNextToken(nextToken); System.out.println("All voices: " + allVoicesResult.getVoices()); } while (nextToken != null); do { DescribeVoicesResult enUsVoicesResult = client.describeVoices(enUsVoicesRequest);
139
Amazon Polly Manuel du développeurExemples Java
nextToken = enUsVoicesResult.getNextToken(); enUsVoicesRequest.setNextToken(nextToken); System.out.println("en-US voices: " + enUsVoicesResult.getVoices()); } while (nextToken != null); } catch (Exception e) { System.err.println("Exception caught: " + e); } }}
GetLexiconL'exemple de code Java suivant montre comment utiliser les applications Java pour générer le contenud'un lexique de prononciation stocké dans une région AWS.
Pour plus d'informations sur cette opération, consultez la référence concernant l'API GetLexicon.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.GetLexiconRequest;import com.amazonaws.services.polly.model.GetLexiconResult; public class GetLexiconSample { private String LEXICON_NAME = "SampleLexicon"; AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void getLexicon() { GetLexiconRequest getLexiconRequest = new GetLexiconRequest().withName(LEXICON_NAME); try { GetLexiconResult getLexiconResult = client.getLexicon(getLexiconRequest); System.out.println("Lexicon: " + getLexiconResult.getLexicon()); } catch (Exception e) { System.err.println("Exception caught: " + e); } }}
ListLexiconsL'exemple de code Java suivant montre comment utiliser les applications Java pour générer une liste delexiques de prononciation stockés dans une région AWS.
Pour plus d'informations sur cette opération, consultez la référence concernant l'API ListLexicons.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.LexiconAttributes;import com.amazonaws.services.polly.model.LexiconDescription;import com.amazonaws.services.polly.model.ListLexiconsRequest;import com.amazonaws.services.polly.model.ListLexiconsResult; public class ListLexiconsSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient();
140
Amazon Polly Manuel du développeurExemples Java
public void listLexicons() { ListLexiconsRequest listLexiconsRequest = new ListLexiconsRequest(); try { String nextToken; do { ListLexiconsResult listLexiconsResult = client.listLexicons(listLexiconsRequest); nextToken = listLexiconsResult.getNextToken(); listLexiconsRequest.setNextToken(nextToken); for (LexiconDescription lexiconDescription : listLexiconsResult.getLexicons()) { LexiconAttributes attributes = lexiconDescription.getAttributes(); System.out.println("Name: " + lexiconDescription.getName() + ", Alphabet: " + attributes.getAlphabet() + ", LanguageCode: " + attributes.getLanguageCode() + ", LastModified: " + attributes.getLastModified() + ", LexemesCount: " + attributes.getLexemesCount() + ", LexiconArn: " + attributes.getLexiconArn() + ", Size: " + attributes.getSize()); } } while (nextToken != null); } catch (Exception e) { System.err.println("Exception caught: " + e); } }}
PutLexiconL'exemple de code Java suivant montre comment utiliser les applications Java pour stocker un lexique deprononciation dans une région AWS.
Pour plus d'informations sur cette opération, consultez la référence concernant l'API PutLexicon.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.PutLexiconRequest; public class PutLexiconSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient();
private String LEXICON_CONTENT = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<lexicon version=\"1.0\" xmlns=\"http://www.w3.org/2005/01/pronunciation-lexicon\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:schemaLocation=\"http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd\" " + "alphabet=\"ipa\" xml:lang=\"en-US\">" + "<lexeme><grapheme>test1</grapheme><alias>test2</alias></lexeme>" + "</lexicon>"; private String LEXICON_NAME = "SampleLexicon"; public void putLexicon() { PutLexiconRequest putLexiconRequest = new PutLexiconRequest() .withContent(LEXICON_CONTENT) .withName(LEXICON_NAME); try { client.putLexicon(putLexiconRequest); } catch (Exception e) { System.err.println("Exception caught: " + e);
141
Amazon Polly Manuel du développeurExemples Java
} }}
StartSpeechSynthesisTaskL'exemple de code Java suivant montre comment utiliser les applications Java pour synthétiser un longdiscours (jusqu'à 100 000 caractères facturés) et le stocker directement dans un compartiment Amazon S3.
Pour plus d'informations, consultez le document de référence pour l'API StartSpeechSynthesisTask.
package com.amazonaws.parrot.service.tests.speech.task;
import com.amazonaws.parrot.service.tests.AbstractParrotServiceTest;import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.model.*;import org.awaitility.Duration;
import java.util.concurrent.TimeUnit;
import static org.awaitility.Awaitility.await;
public class StartSpeechSynthesisTaskSample {
private static final int SYNTHESIS_TASK_TIMEOUT_SECONDS = 300; private static final AmazonPolly AMAZON_POLLY_CLIENT = AmazonPollyClientBuilder.defaultClient(); private static final String PLAIN_TEXT = "This is a sample text to be synthesized."; private static final String OUTPUT_FORMAT_MP3 = OutputFormat.Mp3.toString(); private static final String OUTPUT_BUCKET = "synth-books-buckets"; private static final String SNS_TOPIC_ARN = "arn:aws:sns:eu-west-2:561828872312:synthesize-finish-topic"; private static final Duration SYNTHESIS_TASK_POLL_INTERVAL = Duration.FIVE_SECONDS; private static final Duration SYNTHESIS_TASK_POLL_DELAY = Duration.TEN_SECONDS;
public static void main(String... args) { StartSpeechSynthesisTaskRequest request = new StartSpeechSynthesisTaskRequest() .withOutputFormat(OUTPUT_FORMAT_MP3) .withText(PLAIN_TEXT) .withTextType(TextType.Text) .withVoiceId(VoiceId.Amy) .withOutputS3BucketName(OUTPUT_BUCKET) .withSnsTopicArn(SNS_TOPIC_ARN);
StartSpeechSynthesisTaskResult result = AMAZON_POLLY_CLIENT.startSpeechSynthesisTask(request); String taskId = result.getSynthesisTask().getTaskId();
await().with() .pollInterval(SYNTHESIS_TASK_POLL_INTERVAL) .pollDelay(SYNTHESIS_TASK_POLL_DELAY) .atMost(SYNTHESIS_TASK_TIMEOUT_SECONDS, TimeUnit.SECONDS) .until( () -> getSynthesisTaskStatus(taskId).equals(TaskStatus.Completed.toString()) ); }
private static SynthesisTask getSynthesisTask(String taskId) { GetSpeechSynthesisTaskRequest getSpeechSynthesisTaskRequest = new GetSpeechSynthesisTaskRequest() .withTaskId(taskId); GetSpeechSynthesisTaskResult result =AMAZON_POLLY_CLIENT.getSpeechSynthesisTask(getSpeechSynthesisTaskRequest);
142
Amazon Polly Manuel du développeurExemples Java
return result.getSynthesisTask(); }
private static String getSynthesisTaskStatus(String taskId) { GetSpeechSynthesisTaskRequest getSpeechSynthesisTaskRequest = new GetSpeechSynthesisTaskRequest() .withTaskId(taskId); GetSpeechSynthesisTaskResult result =AMAZON_POLLY_CLIENT.getSpeechSynthesisTask(getSpeechSynthesisTaskRequest); return result.getSynthesisTask().getTaskStatus(); }
}
Marques vocalesL'exemple de code suivant montre comment utiliser les applications Java pour synthétiser les marquesvocales correspondant au texte saisi. Cette fonctionnalité utilise l'API SynthesizeSpeech.
Pour plus d'informations sur cette fonctionnalité, consultez la rubrique Marques vocales (p. 24).
Pour plus d'informations sur cette API, consultez la référence concernant l'API SynthesizeSpeech.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.OutputFormat;import com.amazonaws.services.polly.model.SpeechMarkType;import com.amazonaws.services.polly.model.SynthesizeSpeechRequest;import com.amazonaws.services.polly.model.SynthesizeSpeechResult;import com.amazonaws.services.polly.model.VoiceId; import java.io.File;import java.io.FileOutputStream;import java.io.InputStream; public class SynthesizeSpeechMarksSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void synthesizeSpeechMarks() { String outputFileName = "/tmp/speechMarks.json"; SynthesizeSpeechRequest synthesizeSpeechRequest = new SynthesizeSpeechRequest() .withOutputFormat(OutputFormat.Json) .withSpeechMarkTypes(SpeechMarkType.Viseme, SpeechMarkType.Word) .withVoiceId(VoiceId.Joanna) .withText("This is a sample text to be synthesized."); try (FileOutputStream outputStream = new FileOutputStream(new File(outputFileName))) { SynthesizeSpeechResult synthesizeSpeechResult = client.synthesizeSpeech(synthesizeSpeechRequest); byte[] buffer = new byte[2 * 1024]; int readBytes; try (InputStream in = synthesizeSpeechResult.getAudioStream()){ while ((readBytes = in.read(buffer)) > 0) { outputStream.write(buffer, 0, readBytes); } }
143
Amazon Polly Manuel du développeurExemples Python
} catch (Exception e) { System.err.println("Exception caught: " + e); } }}
SynthesizeSpeechL'exemple de code Java suivant montre comment utiliser les applications Java pour synthétiser un discourscomposé de textes plus courts pour un traitement en temps quasi réel.
Pour plus d'informations, consultez le document de référence pour l'API SynthesizeSpeech.
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly;import com.amazonaws.services.polly.AmazonPollyClientBuilder;import com.amazonaws.services.polly.model.OutputFormat;import com.amazonaws.services.polly.model.SynthesizeSpeechRequest;import com.amazonaws.services.polly.model.SynthesizeSpeechResult;import com.amazonaws.services.polly.model.VoiceId; import java.io.File;import java.io.FileOutputStream;import java.io.InputStream; public class SynthesizeSpeechSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void synthesizeSpeech() { String outputFileName = "/tmp/speech.mp3"; SynthesizeSpeechRequest synthesizeSpeechRequest = new SynthesizeSpeechRequest() .withOutputFormat(OutputFormat.Mp3) .withVoiceId(VoiceId.Joanna) .withText("This is a sample text to be synthesized."); try (FileOutputStream outputStream = new FileOutputStream(new File(outputFileName))) { SynthesizeSpeechResult synthesizeSpeechResult = client.synthesizeSpeech(synthesizeSpeechRequest); byte[] buffer = new byte[2 * 1024]; int readBytes; try (InputStream in = synthesizeSpeechResult.getAudioStream()){ while ((readBytes = in.read(buffer)) > 0) { outputStream.write(buffer, 0, readBytes); } } } catch (Exception e) { System.err.println("Exception caught: " + e); } }}
Exemples PythonLes exemples de code suivants montrent comment utiliser les applications Python (boto3) pour accomplirdiverses tâches avec Amazon Polly. Ces exemples ne sont pas exhaustifs mais peuvent être inclus dansdes applications Python plus volumineuses qui utilisent le kit AWS SDK for Python (Boto).
Extraits de code
144
Amazon Polly Manuel du développeurExemples Python
• DeleteLexicon (p. 145)• GetLexicon (p. 145)• ListLexicon (p. 146)• PutLexicon (p. 147)• StartSpeechSynthesisTask (p. 148)• SynthesizeSpeech (p. 148)
DeleteLexiconL'exemple de code Python suivant utilise le AWS SDK for Python (Boto) pour supprimer un lexique dans larégion spécifiée dans votre configuration AWS locale. L'exemple supprime uniquement le lexique spécifié. Ilvous est demandé de confirmer l'opération avant de supprimer réellement le lexique.
L'exemple de code suivant utilise des informations d'identification par défaut stockées dans le fichier deconfiguration AWS SDK. Pour plus d'informations sur la création du fichier de configuration, consultezÉtape 3.1 : Configuration de l'AWS Command Line Interface (AWS CLI) (p. 14).
Pour plus d'informations sur cette opération, consultez la référence concernant l'API DeleteLexicon.
from argparse import ArgumentParserfrom sys import version_info
from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientError
# Define and parse the command line argumentscli = ArgumentParser(description="DeleteLexicon example")cli.add_argument("name", type=str, metavar="LEXICON_NAME")arguments = cli.parse_args()
# Create a client using the credentials and region defined in the adminuser# section of the AWS credentials and configuration filessession = Session(profile_name="adminuser")polly = session.client("polly")
# Request confirmationprompt = input if version_info >= (3, 0) else raw_inputproceed = prompt((u"This will delete the \"{0}\" lexicon," " do you want to proceed? [y,n]: ").format(arguments.name))
if proceed in ("y", "Y"): print(u"Deleting {0}...".format(arguments.name))
try: # Request deletion of a lexicon by name response = polly.delete_lexicon(Name=arguments.name) except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully cli.error(error)
print("Done.")else: print("Cancelled.")
GetLexiconLe code Python suivant utilise le AWS SDK for Python (Boto) pour récupérer tous les lexiques stockésdans une région AWS. L'exemple prend en charge un nom de lexique comme un paramètre de ligne de
145
Amazon Polly Manuel du développeurExemples Python
commande et récupère uniquement ce lexique, imprimant le chemin d'accès tmp où il y a été enregistrélocalement.
L'exemple de code suivant utilise des informations d'identification par défaut stockées dans le fichier deconfiguration AWS SDK. Pour plus d'informations sur la création du fichier de configuration, consultezÉtape 3.1 : Configuration de l'AWS Command Line Interface (AWS CLI) (p. 14).
Pour plus d'informations sur cette opération, consultez la référence concernant l'API GetLexicon.
from argparse import ArgumentParserfrom os import pathfrom tempfile import gettempdir
from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientError
# Define and parse the command line argumentscli = ArgumentParser(description="GetLexicon example")cli.add_argument("name", type=str, metavar="LEXICON_NAME")arguments = cli.parse_args()
# Create a client using the credentials and region defined in the adminuser# section of the AWS credentials and configuration filessession = Session(profile_name="adminuser")polly = session.client("polly")
print(u"Fetching {0}...".format(arguments.name))
try: # Fetch lexicon by name response = polly.get_lexicon(Name=arguments.name)except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully cli.error(error)
# Get the lexicon data from the responselexicon = response.get("Lexicon", {})
# Access the lexicon's contentif "Content" in lexicon: output = path.join(gettempdir(), u"%s.pls" % arguments.name) print(u"Saving to %s..." % output)
try: # Save the lexicon contents to a local file with open(output, "w") as pls_file: pls_file.write(lexicon["Content"]) except IOError as error: # Could not write to file, exit gracefully cli.error(error)else: # The response didn't contain lexicon data, exit gracefully cli.error("Could not fetch lexicons contents")
print("Done.")
ListLexiconL'exemple de code Python suivant utilise le AWS SDK for Python (Boto) pour répertorier les lexiques devotre compte dans la région spécifiée dans votre configuration AWS locale. Pour plus d'informations sur lacréation du fichier de configuration, consultez Étape 3.1 : Configuration de l'AWS Command Line Interface(AWS CLI) (p. 14).
146
Amazon Polly Manuel du développeurExemples Python
Pour plus d'informations sur cette opération, consultez la référence concernant l'API ListLexicons.
import sys
from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientError
# Create a client using the credentials and region defined in the adminuser# section of the AWS credentials and configuration filessession = Session(profile_name="adminuser")polly = session.client("polly")
try: # Request the list of available lexicons response = polly.list_lexicons()except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully print(error) sys.exit(-1)
# Get the list of lexicons in the responselexicons = response.get("Lexicons", [])print("{0} lexicon(s) found".format(len(lexicons)))
# Output a formatted list of lexicons with some of the attributesfor lexicon in lexicons: print((u" - {Name} ({Attributes[LanguageCode]}), " "{Attributes[LexemesCount]} lexeme(s)").format(**lexicon))
PutLexiconL'exemple de code suivant montre comment utiliser les applications Python (boto3) pour stocker un lexiquede prononciation dans une région AWS.
Pour plus d'informations sur cette opération, consultez la référence concernant l'API PutLexicon.
Remarques :
• Vous devez mettre à jour le code en fournissant un nom de fichier de lexique local et un nom de lexiquestocké.
• L'exemple suppose que vous avez créé des fichiers de lexique dans un sous-répertoire appelé pls.Vous devez mettre à jour le chemin d'accès, comme il convient.
L'exemple de code suivant utilise des informations d'identification par défaut stockées dans le fichier deconfiguration AWS SDK. Pour plus d'informations sur la création du fichier de configuration, consultezÉtape 3.1 : Configuration de l'AWS Command Line Interface (AWS CLI) (p. 14).
Pour plus d'informations sur cette opération, consultez la référence concernant l'API PutLexicon.
from argparse import ArgumentParser
from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientError
# Define and parse the command line argumentscli = ArgumentParser(description="PutLexicon example")cli.add_argument("path", type=str, metavar="FILE_PATH")cli.add_argument("-n", "--name", type=str, required=True, metavar="LEXICON_NAME", dest="name")arguments = cli.parse_args()
147
Amazon Polly Manuel du développeurExemples Python
# Create a client using the credentials and region defined in the adminuser# section of the AWS credentials and configuration filessession = Session(profile_name="adminuser")polly = session.client("polly")
# Open the PLS lexicon file for readingtry: with open(arguments.path, "r") as lexicon_file: # Read the pls file contents lexicon_data = lexicon_file.read()
# Store the PLS lexicon on the service. # If a lexicon with that name already exists, # its contents will be updated response = polly.put_lexicon(Name=arguments.name, Content=lexicon_data)except (IOError, BotoCoreError, ClientError) as error: # Could not open/read the file or the service returned an error, # exit gracefully cli.error(error)
print(u"The \"{0}\" lexicon is now available for use.".format(arguments.name))
StartSpeechSynthesisTaskL'exemple de code Python suivant utilise le AWS SDK for Python (Boto) pour répertorier les lexiques devotre compte dans la région spécifiée dans votre configuration AWS locale. Pour plus d'informations sur lacréation du fichier de configuration, consultez Étape 3.1 : Configuration de l'AWS Command Line Interface(AWS CLI) (p. 14).
Pour plus d'informations, consultez le document de référence pour l'API StartSpeechSynthesisTask.
import boto3import time
polly_client = boto3.Session( aws_access_key_id=’’, aws_secret_access_key=’’, region_name='eu-west-2').client('polly’)
response = polly_client.start_speech_synthesis_task(VoiceId='Joanna', OutputS3BucketName='synth-books-buckets', OutputS3KeyPrefix='key', OutputFormat='mp3', Text = 'This is a sample text to be synthesized.')
taskId = response['SynthesisTask']['TaskId']
print "Task id is {} ".format(taskId)
task_status = polly_client.get_speech_synthesis_task(TaskId = taskId)
print task_status
SynthesizeSpeechL'exemple de code Python suivant utilise le AWS SDK for Python (Boto) pour répertorier les lexiques devotre compte dans la région spécifiée dans votre configuration AWS locale. Pour plus d'informations sur lacréation du fichier de configuration, consultez Étape 3.1 : Configuration de l'AWS Command Line Interface(AWS CLI) (p. 14).
Pour plus d'informations sur cette API, consultez la référence concernant l'API SynthesizeSpeech.
148
Amazon Polly Manuel du développeurExemples d'applications
import boto3
polly_client = boto3.Session( aws_access_key_id=, aws_secret_access_key=, region_name='us-west-2').client('polly')
response = polly_client.synthesize_speech(VoiceId='Joanna', OutputFormat='mp3', Text = 'This is a sample text to be synthesized.')
file = open('speech.mp3', 'w')file.write(response['AudioStream'].read())file.close()
Exemples d'applicationsCette section contient des exemples supplémentaires, sous la forme d'exemples d'applications qui peuventêtre utilisés pour découvrir Amazon Polly.
Exemples d'applications par langage de programmation• Exemple de Python (client HTML5 et serveur Python) (p. 149)• Exemple Java (p. 159)• Exemple iOS (p. 163)• Exemple Android (p. 165)
Exemple de Python (client HTML5 et serveur Python)Cet exemple d'application comprend les éléments suivants :
• Un serveur HTTP 1.1 utilisant l'encodage de transfert en bloc HTTP (voir Encodage de transfert en bloc)• Une simple interface utilisateur HTML5 qui interagit avec le serveur HTTP 1.1 (voir ci-dessous) :
149
Amazon Polly Manuel du développeurExemple Python
L'objectif de cet exemple est de montrer comment utiliser Amazon Polly pour diffuser la voix à partir d'uneapplication HTML5 basée sur un navigateur. Pour les cas d'utilisation où la réactivité est très importante(par exemple, systèmes de dialogue, lecteurs d'écran, etc.), l'approche recommandée est de consommer leflux audio généré par Amazon Polly au fur et à mesure que le texte est synthétisé.
Pour exécuter cet exemple d'application, vous avez besoin des éléments suivants :
• Navigateur Web conforme aux normes HTML5 et EcmaScript5 (par exemple, Chrome 23.0 ou supérieur,Firefox 21.0 ou supérieur, Internet Explorer 9.0 ou supérieur)
• Version de Python supérieure à la version 3.0
Pour tester l'application
1. Enregistrez le code de serveur sous le nom server.py. Pour le code , consultez Exemple de Python :Code du serveur Python (server.py) (p. 153).
2. Enregistrez le code de client HTML5 sous le nom index.html. Pour le code , consultez ExemplePython : Interface utilisateur HTML5 (index.html) (p. 150).
3. Exécutez la commande suivante à partir du chemin d'accès où vous avez enregistré server.py pourdémarrer l'application (sur certains systèmes, vous devrez peut-être utiliser python3 au lieu depython lors de l'exécution la commande).
$ python server.py
Une fois que l'application a démarré, une URL s'affiche dans le terminal.4. Ouvrez l'URL affiché dans le terminal dans un navigateur web.
Vous pouvez transmettre l'adresse et le port du serveur d'application à utiliser comme paramètre dansserver.py. Pour de plus amples informations, exécutez python server.py -h.
5. Pour écouter le discours, choisissez une voix dans la liste, tapez un texte, puis choisissez Read.La lecture du discours commence dès que Amazon Polly transfère le premier segment utilisable dedonnées audio.
6. Pour arrêter le serveur Python lorsque vous avez terminé de tester l'application, appuyez sur Ctrl + Cdans le terminal du serveur.
Note
Le serveur crée un client Boto3 à l'aide de AWS SDK for Python (Boto). Le client utilise lesinformations d'identification stockées dans le fichier de configuration AWS sur votre ordinateurpour signer et identifier les demandes dans Amazon Polly. Pour plus d'informations sur la façonde créer le fichier de configuration AWS et de stocker les informations d'identification, consultezla page Configuration de l'interface de ligne de commande AWS dans le AWS Command LineInterface Guide de l'utilisateur.
Exemple Python : Interface utilisateur HTML5 (index.html)Cette section fournit le code pour le client HTML5 décrit dans Exemple de Python (client HTML5 et serveurPython) (p. 149).
<html>
<head> <title>Text-to-Speech Example Application</title> <script> /* * This sample code requires a web browser with support for both the
150
Amazon Polly Manuel du développeurExemple Python
* HTML5 and ECMAScript 5 standards; the following is a non-comprehensive * list of compliant browsers and their minimum version: * * - Chrome 23.0+ * - Firefox 21.0+ * - Internet Explorer 9.0+ * - Edge 12.0+ * - Opera 15.0+ * - Safari 6.1+ * - Android (stock web browser) 4.4+ * - Chrome for Android 51.0+ * - Firefox for Android 48.0+ * - Opera Mobile 37.0+ * - iOS (Safari Mobile and Chrome) 3.2+ * - Internet Explorer Mobile 10.0+ * - Blackberry Browser 10.0+ */
// Mapping of the OutputFormat parameter of the SynthesizeSpeech API // and the audio format strings understood by the browser var AUDIO_FORMATS = { 'ogg_vorbis': 'audio/ogg', 'mp3': 'audio/mpeg', 'pcm': 'audio/wave; codecs=1' };
/** * Handles fetching JSON over HTTP */ function fetchJSON(method, url, onSuccess, onError) { var request = new XMLHttpRequest(); request.open(method, url, true); request.onload = function () { // If loading is complete if (request.readyState === 4) { // if the request was successful if (request.status === 200) { var data;
// Parse the JSON in the response try { data = JSON.parse(request.responseText); } catch (error) { onError(request.status, error.toString()); }
onSuccess(data); } else { onError(request.status, request.responseText) } } };
request.send(); }
/** * Returns a list of audio formats supported by the browser */ function getSupportedAudioFormats(player) { return Object.keys(AUDIO_FORMATS) .filter(function (format) { var supported = player.canPlayType(AUDIO_FORMATS[format]); return supported === 'probably' || supported === 'maybe'; }); }
151
Amazon Polly Manuel du développeurExemple Python
// Initialize the application when the DOM is loaded and ready to be // manipulated document.addEventListener("DOMContentLoaded", function () { var input = document.getElementById('input'), voiceMenu = document.getElementById('voice'), text = document.getElementById('text'), player = document.getElementById('player'), submit = document.getElementById('submit'), supportedFormats = getSupportedAudioFormats(player);
// Display a message and don't allow submitting the form if the // browser doesn't support any of the available audio formats if (supportedFormats.length === 0) { submit.disabled = true; alert('The web browser in use does not support any of the' + ' available audio formats. Please try with a different' + ' one.'); }
// Play the audio stream when the form is submitted successfully input.addEventListener('submit', function (event) { // Validate the fields in the form, display a message if // unexpected values are encountered if (voiceMenu.selectedIndex <= 0 || text.value.length === 0) { alert('Please fill in all the fields.'); } else { var selectedVoice = voiceMenu .options[voiceMenu.selectedIndex] .value;
// Point the player to the streaming server player.src = '/read?voiceId=' + encodeURIComponent(selectedVoice) + '&text=' + encodeURIComponent(text.value) + '&outputFormat=' + supportedFormats[0]; player.play(); }
// Stop the form from submitting, // Submitting the form is allowed only if the browser doesn't // support Javascript to ensure functionality in such a case event.preventDefault(); });
// Load the list of available voices and display them in a menu fetchJSON('GET', '/voices', // If the request succeeds function (voices) { var container = document.createDocumentFragment();
// Build the list of options for the menu voices.forEach(function (voice) { var option = document.createElement('option'); option.value = voice['Id']; option.innerHTML = voice['Name'] + ' (' + voice['Gender'] + ', ' + voice['LanguageName'] + ')'; container.appendChild(option); });
// Add the options to the menu and enable the form field voiceMenu.appendChild(container); voiceMenu.disabled = false; }, // If the request fails
152
Amazon Polly Manuel du développeurExemple Python
function (status, response) { // Display a message in case loading data from the server // fails alert(status + ' - ' + response); }); });
</script> <style> #input { min-width: 100px; max-width: 600px; margin: 0 auto; padding: 50px; }
#input div { margin-bottom: 20px; }
#text { width: 100%; height: 200px; display: block; }
#submit { width: 100%; } </style></head>
<body> <form id="input" method="GET" action="/read"> <div> <label for="voice">Select a voice:</label> <select id="voice" name="voiceId" disabled> <option value="">Choose a voice...</option> </select> </div> <div> <label for="text">Text to read:</label> <textarea id="text" maxlength="1000" minlength="1" name="text" placeholder="Type some text here..."></textarea> </div> <input type="submit" value="Read" id="submit" /> </form> <audio id="player"></audio></body>
</html>
Exemple de Python : Code du serveur Python (server.py)Cette section fournit le code du serveur Python décrit dans Exemple de Python (client HTML5 et serveurPython) (p. 149).
""" Example Python 2.7+/3.3+ Application
This application consists of a HTTP 1.1 server using the HTTP chunked transfercoding (https://tools.ietf.org/html/rfc2616#section-3.6.1) and a minimal HTML5user interface that interacts with it.
153
Amazon Polly Manuel du développeurExemple Python
The goal of this example is to start streaming the speech to the client (theHTML5 web UI) as soon as the first consumable chunk of speech is returned inorder to start playing the audio as soon as possible.For use cases where low latency and responsiveness are strong requirements,this is the recommended approach.
The service documentation contains examples for non-streaming use cases wherewaiting for the speech synthesis to complete and fetching the whole audio streamat once are an option.
To test the application, run 'python server.py' and then open the URLdisplayed in the terminal in a web browser (see index.html for a list ofsupported browsers). The address and port for the server can be passed asparameters to server.py. For more information, run: 'python server.py -h'"""from argparse import ArgumentParserfrom collections import namedtuplefrom contextlib import closingfrom io import BytesIOfrom json import dumps as json_encodeimport osimport sys
if sys.version_info >= (3, 0): from http.server import BaseHTTPRequestHandler, HTTPServer from socketserver import ThreadingMixIn from urllib.parse import parse_qselse: from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from SocketServer import ThreadingMixIn from urlparse import parse_qs
from boto3 import Sessionfrom botocore.exceptions import BotoCoreError, ClientError
ResponseStatus = namedtuple("HTTPStatus", ["code", "message"])
ResponseData = namedtuple("ResponseData", ["status", "content_type", "data_stream"])
# Mapping the output format used in the client to the content type for the# responseAUDIO_FORMATS = {"ogg_vorbis": "audio/ogg", "mp3": "audio/mpeg", "pcm": "audio/wave; codecs=1"}CHUNK_SIZE = 1024HTTP_STATUS = {"OK": ResponseStatus(code=200, message="OK"), "BAD_REQUEST": ResponseStatus(code=400, message="Bad request"), "NOT_FOUND": ResponseStatus(code=404, message="Not found"), "INTERNAL_SERVER_ERROR": ResponseStatus(code=500, message="Internal server error")}PROTOCOL = "http"ROUTE_INDEX = "/index.html"ROUTE_VOICES = "/voices"ROUTE_READ = "/read"
# Create a client using the credentials and region defined in the adminuser# section of the AWS credentials and configuration filessession = Session(profile_name="adminuser")polly = session.client("polly")
class HTTPStatusError(Exception): """Exception wrapping a value from http.server.HTTPStatus"""
154
Amazon Polly Manuel du développeurExemple Python
def __init__(self, status, description=None): """ Constructs an error instance from a tuple of (code, message, description), see http.server.HTTPStatus """ super(HTTPStatusError, self).__init__() self.code = status.code self.message = status.message self.explain = description
class ThreadedHTTPServer(ThreadingMixIn, HTTPServer): """An HTTP Server that handle each request in a new thread""" daemon_threads = True
class ChunkedHTTPRequestHandler(BaseHTTPRequestHandler): """"HTTP 1.1 Chunked encoding request handler""" # Use HTTP 1.1 as 1.0 doesn't support chunked encoding protocol_version = "HTTP/1.1"
def query_get(self, queryData, key, default=""): """Helper for getting values from a pre-parsed query string""" return queryData.get(key, [default])[0]
def do_GET(self): """Handles GET requests"""
# Extract values from the query string path, _, query_string = self.path.partition('?') query = parse_qs(query_string)
response = None
print(u"[START]: Received GET for %s with query: %s" % (path, query))
try: # Handle the possible request paths if path == ROUTE_INDEX: response = self.route_index(path, query) elif path == ROUTE_VOICES: response = self.route_voices(path, query) elif path == ROUTE_READ: response = self.route_read(path, query) else: response = self.route_not_found(path, query)
self.send_headers(response.status, response.content_type) self.stream_data(response.data_stream)
except HTTPStatusError as err: # Respond with an error and log debug # information if sys.version_info >= (3, 0): self.send_error(err.code, err.message, err.explain) else: self.send_error(err.code, err.message)
self.log_error(u"%s %s %s - [%d] %s", self.client_address[0], self.command, self.path, err.code, err.explain)
print("[END]")
def route_not_found(self, path, query): """Handles routing for unexpected paths"""
155
Amazon Polly Manuel du développeurExemple Python
raise HTTPStatusError(HTTP_STATUS["NOT_FOUND"], "Page not found")
def route_index(self, path, query): """Handles routing for the application's entry point'""" try: return ResponseData(status=HTTP_STATUS["OK"], content_type="text_html", # Open a binary stream for reading the index # HTML file data_stream=open(os.path.join(sys.path[0], path[1:]), "rb")) except IOError as err: # Couldn't open the stream raise HTTPStatusError(HTTP_STATUS["INTERNAL_SERVER_ERROR"], str(err))
def route_voices(self, path, query): """Handles routing for listing available voices""" params = {} voices = []
while True: try: # Request list of available voices, if a continuation token # was returned by the previous call then use it to continue # listing response = polly.describe_voices(**params) except (BotoCoreError, ClientError) as err: # The service returned an error raise HTTPStatusError(HTTP_STATUS["INTERNAL_SERVER_ERROR"], str(err))
# Collect all the voices voices.extend(response.get("Voices", []))
# If a continuation token was returned continue, stop iterating # otherwise if "NextToken" in response: params = {"NextToken": response["NextToken"]} else: break
json_data = json_encode(voices) bytes_data = bytes(json_data, "utf-8") if sys.version_info >= (3, 0) \ else bytes(json_data)
return ResponseData(status=HTTP_STATUS["OK"], content_type="application/json", # Create a binary stream for the JSON data data_stream=BytesIO(bytes_data))
def route_read(self, path, query): """Handles routing for reading text (speech synthesis)""" # Get the parameters from the query string text = self.query_get(query, "text") voiceId = self.query_get(query, "voiceId") outputFormat = self.query_get(query, "outputFormat")
# Validate the parameters, set error flag in case of unexpected # values if len(text) == 0 or len(voiceId) == 0 or \ outputFormat not in AUDIO_FORMATS: raise HTTPStatusError(HTTP_STATUS["BAD_REQUEST"], "Wrong parameters") else: try: # Request speech synthesis
156
Amazon Polly Manuel du développeurExemple Python
response = polly.synthesize_speech(Text=text, VoiceId=voiceId, OutputFormat=outputFormat) except (BotoCoreError, ClientError) as err: # The service returned an error raise HTTPStatusError(HTTP_STATUS["INTERNAL_SERVER_ERROR"], str(err))
return ResponseData(status=HTTP_STATUS["OK"], content_type=AUDIO_FORMATS[outputFormat], # Access the audio stream in the response data_stream=response.get("AudioStream"))
def send_headers(self, status, content_type): """Send out the group of headers for a successful request""" # Send HTTP headers self.send_response(status.code, status.message) self.send_header('Content-type', content_type) self.send_header('Transfer-Encoding', 'chunked') self.send_header('Connection', 'close') self.end_headers()
def stream_data(self, stream): """Consumes a stream in chunks to produce the response's output'""" print("Streaming started...")
if stream: # Note: Closing the stream is important as the service throttles on # the number of parallel connections. Here we are using # contextlib.closing to ensure the close method of the stream object # will be called automatically at the end of the with statement's # scope. with closing(stream) as managed_stream: # Push out the stream's content in chunks while True: data = managed_stream.read(CHUNK_SIZE) self.wfile.write(b"%X\r\n%s\r\n" % (len(data), data))
# If there's no more data to read, stop streaming if not data: break
# Ensure any buffered output has been transmitted and close the # stream self.wfile.flush()
print("Streaming completed.") else: # The stream passed in is empty self.wfile.write(b"0\r\n\r\n") print("Nothing to stream.")
# Define and parse the command line argumentscli = ArgumentParser(description='Example Python Application')cli.add_argument( "-p", "--port", type=int, metavar="PORT", dest="port", default=8000)cli.add_argument( "--host", type=str, metavar="HOST", dest="host", default="localhost")arguments = cli.parse_args()
# If the module is invoked directly, initialize the applicationif __name__ == '__main__': # Create and configure the HTTP server instance server = ThreadedHTTPServer((arguments.host, arguments.port), ChunkedHTTPRequestHandler) print("Starting server, use <Ctrl-C> to stop...")
157
Amazon Polly Manuel du développeurExemple Python
print(u"Open {0}://{1}:{2}{3} in a web browser.".format(PROTOCOL, arguments.host, arguments.port, ROUTE_INDEX))
try: # Listen for requests indefinitely server.serve_forever() except KeyboardInterrupt: # A request to terminate has been received, stop the server print("\nShutting down...") server.socket.close()
158
Amazon Polly Manuel du développeurExemple Java
Exemple JavaCet exemple montre comment utiliser Amazon Polly pour diffuser la voix à partir d'une applicationJava. L'exemple suivant utilise le kit AWS SDK pour Java pour lire le texte spécifié à l'aide d'une voixsélectionnée dans une liste de voix.
Le code illustré couvre les tâches principales, mais n'effectue qu'une vérification minimale des erreurs. SiAmazon Polly rencontre une erreur, l'application prend fin.
Pour exécuter cet exemple d'application, vous avez besoin des éléments suivants :
• Kit de développement Java (JDK) 8• Kit SDK AWS pour Java• Apache Maven
Pour tester l'application
1. Assurez-vous que la variable d'environnement JAVA_HOME est définie pour le JDK.
Par exemple, si vous avez installé JDK 1.8.0_121 sous Windows dans C:\Program Files\Java\jdk1.8.0_121, vous devez taper ce qui suit à l'invite de commande :
set JAVA_HOME=""C:\Program Files\Java\jdk1.8.0_121""
Si vous avez installé JDK 1.8.0_121 sous Linux dans /usr/lib/jvm/java8-openjdk-amd64, vousdevez taper ce qui suit à l'invite de commande :
export JAVA_HOME=/usr/lib/jvm/java8-openjdk-amd64
2. Définissez la variable d'environnement Maven pour exécuter Maven à partir de la ligne de commande.
Par exemple, si vous avez installé Maven 3.3.9 sous Windows dans C:\Program Files\apache-maven-3.3.9, vous devez taper ce qui suit à l'invite de commande :
set M2_HOME=""C:\Program Files\apache-maven-3.3.9""set M2=%M2_HOME%\binset PATH=%M2%;%PATH%
Si vous avez installé Maven 3.3.9 sous Linux dans /home/ec2-user/opt/apache-maven-3.3.9,vous devez taper ce qui suit à l'invite de commande :
export M2_HOME=/home/ec2-user/opt/apache-maven-3.3.9export M2=$M2_HOME/binexport PATH=$M2:$PATH
3. Créez un répertoire appelé polly-java-demo.4. Dans le répertoire polly-java-demo, créez un nouveau fichier appelé pom.xml et collez le code
suivant dans celui-ci :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.amazonaws.polly</groupId> <artifactId>java-demo</artifactId>
159
Amazon Polly Manuel du développeurExemple Java
<version>0.0.1-SNAPSHOT</version>
<dependencies> <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-polly --> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-polly</artifactId> <version>1.11.77</version> </dependency> <!-- https://mvnrepository.com/artifact/com.googlecode.soundlibs/jlayer --> <dependency> <groupId>com.googlecode.soundlibs</groupId> <artifactId>jlayer</artifactId> <version>1.0.1-1</version> </dependency>
</dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>com.amazonaws.demos.polly.PollyDemo</mainClass> </configuration> </plugin> </plugins> </build></project>
5. Créez un répertoire appelé polly dans src/main/java/com/amazonaws/demos.6. Dans le répertoire polly, créez un nouveau fichier source Java appelé PollyDemo.java et collez le
code suivant dans celui-ci :
package com.amazonaws.demos.polly;
import java.io.IOException;import java.io.InputStream;
import com.amazonaws.ClientConfiguration;import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;import com.amazonaws.regions.Region;import com.amazonaws.regions.Regions;import com.amazonaws.services.polly.AmazonPollyClient;import com.amazonaws.services.polly.model.DescribeVoicesRequest;import com.amazonaws.services.polly.model.DescribeVoicesResult;import com.amazonaws.services.polly.model.OutputFormat;import com.amazonaws.services.polly.model.SynthesizeSpeechRequest;import com.amazonaws.services.polly.model.SynthesizeSpeechResult;import com.amazonaws.services.polly.model.Voice;
import javazoom.jl.player.advanced.AdvancedPlayer;import javazoom.jl.player.advanced.PlaybackEvent;import javazoom.jl.player.advanced.PlaybackListener;
160
Amazon Polly Manuel du développeurExemple Java
public class PollyDemo {
private final AmazonPollyClient polly; private final Voice voice; private static final String SAMPLE = "Congratulations. You have successfully built this working demo of Amazon Polly in Java. Have fun building voice enabled apps with Amazon Polly (that's me!), and always look at the AWS website for tips and tricks on using Amazon Polly and other great services from AWS";
public PollyDemo(Region region) { // create an Amazon Polly client in a specific region polly = new AmazonPollyClient(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); polly.setRegion(region); // Create describe voices request. DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest();
// Synchronously ask Amazon Polly to describe available TTS voices. DescribeVoicesResult describeVoicesResult = polly.describeVoices(describeVoicesRequest); voice = describeVoicesResult.getVoices().get(0); }
public InputStream synthesize(String text, OutputFormat format) throws IOException { SynthesizeSpeechRequest synthReq = new SynthesizeSpeechRequest().withText(text).withVoiceId(voice.getId()) .withOutputFormat(format); SynthesizeSpeechResult synthRes = polly.synthesizeSpeech(synthReq);
return synthRes.getAudioStream(); }
public static void main(String args[]) throws Exception { //create the test class PollyDemo helloWorld = new PollyDemo(Region.getRegion(Regions.US_EAST_1)); //get the audio stream InputStream speechStream = helloWorld.synthesize(SAMPLE, OutputFormat.Mp3);
//create an MP3 player AdvancedPlayer player = new AdvancedPlayer(speechStream, javazoom.jl.player.FactoryRegistry.systemRegistry().createAudioDevice());
player.setPlayBackListener(new PlaybackListener() { @Override public void playbackStarted(PlaybackEvent evt) { System.out.println("Playback started"); System.out.println(SAMPLE); } @Override public void playbackFinished(PlaybackEvent evt) { System.out.println("Playback finished"); } }); // play it! player.play(); }}
7. Revenez dans le répertoire polly-java-demo pour nettoyer, compiler et exécuter la démonstration :
161
Amazon Polly Manuel du développeurExemple Java
mvn clean compile exec:java
162
Amazon Polly Manuel du développeurExemple iOS
Exemple iOSL'exemple suivant utilise le kit SDK iOS pour Amazon Polly pour lire le texte spécifié à l'aide d'une voixsélectionnée dans une liste de voix.
Le code, affiché ici, couvre les tâches principales, mais ne gère pas les d'erreurs. Pour obtenir le codecomplet, consultez la démonstration Amazon Polly AWS SDK pour iOS.
Initialiser
// Region of Amazon Polly.let AwsRegion = AWSRegionType.usEast1 // Cognito pool ID. Pool needs to be unauthenticated pool with// Amazon Polly permissions.let CognitoIdentityPoolId = "YourCognitoIdentityPoolId" // Initialize the Amazon Cognito credentials provider.let credentialProvider = AWSCognitoCredentialsProvider(regionType: AwsRegion, identityPoolId: CognitoIdentityPoolId)
// Create an audio playervar audioPlayer = AVPlayer()
Obtenir la liste des voix disponibles
// Use the configuration as defaultAWSServiceManager.default().defaultServiceConfiguration = configuration
// Get all the voices (no parameters specified in input) from Amazon Polly// This creates an async task.let task = AWSPolly.default().describeVoices(AWSPollyDescribeVoicesInput()) // When the request is done, asynchronously do the following block// (we ignore all the errors, but in a real-world scenario they need// to be handled)task.continue(successBlock: { (awsTask: AWSTask) -> Any? in // awsTask.result is an instance of AWSPollyDescribeVoicesOutput in // case of the "describeVoices" method let voices = (awsTask.result! as AWSPollyDescribeVoicesOutput).voices return nil})
Synthèse vocale
// First, Amazon Polly requires an input, which we need to prepare.// Again, we ignore the errors, however this should be handled in// real applications. Here we are using the URL Builder Request,// since in order to make the synthesis quicker we will pass the// presigned URL to the system audio player.let input = AWSPollySynthesizeSpeechURLBuilderRequest()
// Text to synthesizeinput.text = "Sample text"
// We expect the output in MP3 formatinput.outputFormat = AWSPollyOutputFormat.mp3
// Choose the voice IDinput.voiceId = AWSPollyVoiceId.joanna
163
Amazon Polly Manuel du développeurExemple iOS
// Create an task to synthesize speech using the given synthesis inputlet builder = AWSPollySynthesizeSpeechURLBuilder.default().getPreSignedURL(input)
// Request the URL for synthesis resultbuilder.continueOnSuccessWith(block: { (awsTask: AWSTask<NSURL>) -> Any? in // The result of getPresignedURL task is NSURL. // Again, we ignore the errors in the example. let url = awsTask.result!
// Try playing the data using the system AVAudioPlayer self.audioPlayer.replaceCurrentItem(with: AVPlayerItem(url: url as URL)) self.audioPlayer.play()
return nil})
164
Amazon Polly Manuel du développeurExemple Android
Exemple AndroidL'exemple suivant utilise le SDK Android pour Amazon Polly pour lire le texte spécifié à l'aide d'une voixsélectionnée dans une liste de voix.
Le code, affiché ici, couvre les tâches principales, mais ne gère pas les d'erreurs. Pour obtenir le codecomplet, consultez la démonstration Amazon Polly AWS SDK pour Android.
Initialiser
// Cognito pool ID. Pool needs to be unauthenticated pool with// Amazon Polly permissions.String COGNITO_POOL_ID = "YourCognitoIdentityPoolId";
// Region of Amazon Polly.Regions MY_REGION = Regions.US_EAST_1; // Initialize the Amazon Cognito credentials provider.CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider( getApplicationContext(), COGNITO_POOL_ID, MY_REGION);
// Create a client that supports generation of presigned URLs.AmazonPollyPresigningClient client = new AmazonPollyPresigningClient(credentialsProvider);
Obtenir la liste des voix disponibles
// Create describe voices request.DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest();
// Synchronously ask Amazon Polly to describe available TTS voices.DescribeVoicesResult describeVoicesResult = client.describeVoices(describeVoicesRequest);List<Voice> voices = describeVoicesResult.getVoices();
Obtenir l'URL du flux audio
// Create speech synthesis request.SynthesizeSpeechPresignRequest synthesizeSpeechPresignRequest = new SynthesizeSpeechPresignRequest() // Set the text to synthesize. .withText("Hello world!") // Select voice for synthesis. .withVoiceId(voices.get(0).getId()) // "Joanna" // Set format to MP3. .withOutputFormat(OutputFormat.Mp3);
// Get the presigned URL for synthesized speech audio stream.URL presignedSynthesizeSpeechUrl = client.getPresignedSynthesizeSpeechUrl(synthesizeSpeechPresignRequest);
Lire la synthèse vocale
// Use MediaPlayer: https://developer.android.com/guide/topics/media/mediaplayer.html
// Create a media player to play the synthesized audio stream.MediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
165
Amazon Polly Manuel du développeurExemple Android
try { // Set media player's data source to previously obtained URL. mediaPlayer.setDataSource(presignedSynthesizeSpeechUrl.toString());} catch (IOException e) { Log.e(TAG, "Unable to set data source for the media player! " + e.getMessage());}
// Prepare the MediaPlayer asynchronously (since the data source is a network stream).mediaPlayer.prepareAsync();
// Set the callback to start the MediaPlayer when it's prepared.mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); }});
// Set the callback to release the MediaPlayer after playback is completed.mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.release(); }});
166
Amazon Polly Manuel du développeurConfiguration du plug-in
Plug-in WordPress pour AmazonPolly
Le plug-in Amazon Polly pour WordPress vous permet d'offrir aux visiteurs de votre site Web WordPressdes enregistrements audio de votre contenu. Utilisez le plug-in pour créer des fichiers audio dans l'unedes voix et l'une des langues prises en charge par Amazon Polly. Vos visiteurs peuvent diffuser le contenuaudio à leur convenance à l'aide de lecteurs audio en ligne et d'applications mobiles.
Vous pouvez configurer le plug-in pour effectuer les opérations suivantes :
• Créer automatiquement des enregistrements audio pour du nouveau contenu au moment de lapublication, ou choisir de créer des enregistrements pour des publications individuelles
• Créer des enregistrements audio de votre contenu archivé• Utiliser le flux RSS Amazon Pollycast pour diffuser du contenu audio
. .
Note
Dans la procédure suivante, les noms de commandes et de champs peuvent être légèrementdifférents des noms utilisés.
Rubriques• Installation du plug-in (p. 167)
Installation du plug-inPour installer et configurer le plug-in, utilisez la page Wordpress Ajouter des plug-ins. Après avoir installéet activé le plug-in, accédez à la page Settings (Paramètres) Amazon Polly et connectez le plug-in à votrecompte AWS.
Pour installer le plug-in Amazon Polly pour WordPress, vous devez posséder un compte AWS et uneinstallation WordPress opérationnelle. Si vous n'avez pas de compte, consultez Étape 1.1 : S'inscrire àAWS (p. 11).
Une fois votre compte AWS ouvert, suivez ces étapes pour installer le plug-in :
1. Créer une stratégie d'autorisations (p. 167)2. Créer un utilisateur IAM pour le plug-in (p. 168)3. Installer et configurer le plug-in (p. 169)
Créer une stratégie d'autorisationsDans la AWS Management Console, créez une stratégie d'autorisations AWS Identity and AccessManagement (IAM) appelée PollyForWordPressPolicy. Une stratégie d'autorisations est un document qui
167
Amazon Polly Manuel du développeurCréer un utilisateur IAM pour le plug-in
définit les autorisations applicables à un utilisateur (ou à un groupe ou rôle). Les autorisations déterminentce que les utilisateurs sont autorisés à faire dans AWS. Copiez et collez le code suivant :
{
"Version": "2012-10-17", "Statement": [ { "Sid": "Permissions1", "Effect": "Allow", "Action": [ "s3:HeadBucket", "polly:SynthesizeSpeech", "polly:DescribeVoices" ], "Resource": "*" }, { "Sid": "Permissions2", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:PutObject", "s3:DeleteObject", "s3:CreateBucket", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::audio_for_wordpress*", "arn:aws:s3:::audio-for-wordpress*" ] } ]}
Pour plus d'informations sur la création d'une stratégie d'autorisations, consultez Création de stratégiesgérées par le client.
Créer un utilisateur IAM pour le plug-inAvant de connecter le plug-in à votre compte AWS, vous devez créer un utilisateur IAM, puis attacher lastratégie d'autorisations que vous avez créée dans Créer une stratégie d'autorisations (p. 167) à cetutilisateur. Un utilisateur IAM est une personne ou une application qui doit effectuer des appels d'API pourles produits AWS sous un compte AWS.
Si vous avez déployé WordPress sur Amazon Elastic Compute Cloud (Amazon EC2), vous pouvez ignorercette étape et utiliser le rôle IAM au lieu d'un utilisateur IAM. Pour plus d'informations, consultez la rubriqueRôles IAM pour Amazon EC2 dans le Guide de l'utilisateur Amazon EC2.
Pour créer un utilisateur IAM
1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.
2. Sélectionnez Users.3. Sélectionnez Ajouter un utilisateur.4. Pour Nom d'utilisateur, tapez WordPress.5. Pour Type d'accès, choisissez Accès programmatique, puis Suivant : Autorisations.
168
Amazon Polly Manuel du développeurInstaller et configurer le plug-in
6. Sélectionnez Attach existing policies direction (Attacher la direction des stratégies existantes),choisissez la stratégie que vous venez de créer (PollyForWordPressPolicy) dans la liste affichée, puissélectionnez Next: Review (Suivant : Vérification).
7. Choisissez Create User.8. Enregistrez l'ID de clé d'accès et la clé d'accès secrète. Vous en aurez besoin pour configurer le plug-
in.
Important
C'est la seule fois où vous aurez accès à ces clés, alors assurez-vous de les enregistrer.
Installer et configurer le plug-inInstallez le plug-in à partir de GitHub, puis configurez-le pour activer le podcasting, les emplacements destockage alternatifs et d'autres options.
Note
Dans la procédure suivante, les noms de commandes et de champs peuvent être légèrementdifférents des noms utilisés dans WordPress.
Pour installer et configurer le plug-in
1. Téléchargez le plug-in Amazon Polly pour WordPress depuis le site GitHub du plug-in Amazon Polly.2. Sur la page Administrateur Wordpress, sélectionnez Ajouter un nouveau plug-in, puis installez et
activez le plug-in.3. Sur la page WordPress Admin (Administrateur WordPress), choisissez Settings (Paramètres).4. Configurez le plug-in à l'aide des options Amazon Polly Settings (Paramètres Amazon Polly)
suivantes :
• AWS access key and AWS secret key (Clé d'accès AWS et clé secrète AWS) - Ces informationsd'identification AWS permettent au plug-in d'utiliser Amazon Polly et Amazon Simple StorageService (Amazon S3). Entrez la clé d'accès AWS et la clé secrète AWS que vous avez crééesdans Créer un utilisateur IAM pour le plug-in (p. 168). Si vous hébergez votre site WordPress surAmazon EC2, vous pouvez utiliser les rôles IAM au lieu des informations d'identification. Dans cecas, laissez ces deux champs vides.
• Sample rate (Taux d'échantillon) - Taux d'échantillon des fichiers audio générés, en Hz. Plus le tauxd'échantillonnage est élevé, meilleure sera la qualité audio.
• Voice name (Nom de la voix) - Voix Amazon Polly à utiliser dans le fichier audio.• Position du lecteur— emplacement du lecteur audio sur le site Web. Vous pouvez le mettre avant
ou après la publication, ou ne pas le mettre. Si vous souhaitez rendre disponibles vos fichiers enpodcasts à l'aide d'Amazon Pollycast, n'affichez pas le lecteur audio.
• New post default (Nouvelle publication par défaut) - Spécifie si Amazon Polly doit créerautomatiquement un fichier audio pour toutes les nouvelles publications. Sélectionnez cette optionsi vous voulez que Amazon Polly utilise les paramètres de configuration pour créer un fichier audiopour chaque nouvelle publication.
• Autoplay (Lecture automatique) - Indique si le lecteur audio démarre automatiquement la lectured'une publication lorsqu'un utilisateur y accède.
• Store audio in Amazon S3 (Stocker l'audio dans Amazon S3) - Si vous souhaitez stocker des fichiersaudio dans un compartiment S3 plutôt que sur votre serveur Web, choisissez cette option. AmazonPolly crée le bucket à votre place. Pour plus d'informations et tarification, consultez Amazon S3.
• Amazon CloudFront (CDN) domain name (Nom de domaine Amazon CloudFront (CDN)) - Si voussouhaitez diffuser vos fichiers audio avec Amazon CloudFront, fournissez le nom de votre domaine
169
Amazon Polly Manuel du développeurPersonnalisation de WordPress
CloudFront. Le plug-in utilise le domaine pour la diffusion audio. Si vous n'avez pas encore dedomaine, vous devez en créer un dans Amazon CloudFront.
• Catégorie iTunes—La catégorie de votre podcast. La sélection d'une catégorie permet auxutilisateurs de podcast de trouver plus facilement votre podcast dans le catalogue.
• Indique siExplicit iTunes$—Indique s'il faut activer le podcasting Amazon Pollycast.• Mise à jour en bloc de toutes les publications—Si vous voulez convertir toutes les publications pour
utiliser les nouveaux paramètres du plug-in, sélectionnez cette option.5. Choisissez Enregistrer les modifications.
Personnalisation de votre page WordPressVous pouvez utiliser plusieurs options pour personnaliser votre contenu WordPress afin qu'il fonctionneplus efficacement avec le plug-in WordPress Amazon Polly :
• Ajustement des paramètres de plug-in pour affiner les fichiers audio (p. 170)• Utilisation de SSML dans votre contenu pour modifier la façon dont il sera prononcé (p. 170)• Utilisation des balises Audio Only et Word Only dans votre contenu (p. 171)
Ajustement des paramètres de plug-in pour affiner les fichiersaudioLes paramètres de plug-in WordPress Amazon Polly contiennent trois options qui peuvent vous aider àpersonnaliser le son de votre texte WordPress pour le fichier audio :
• Voice name (Nom de la voix) : le nom de la voix et le langage sélectionnés vous permettent desélectionner le sexe de la voix Amazon Polly. Des voix spécifiques sont disponibles pour chaque langueet vous disposez de plusieurs options pour chaque sexe dans de nombreuses langues. Pour plusd'informations, consultez Voix dans Amazon Polly (p. 19).
• Automated breaths (Respirations automatisées) : si cette option est activée, Amazon Polly insèreautomatiquement des bruits de respiration dans votre contenu aux emplacements appropriés. Ladéfinition de cette option vous permet uniquement d'utiliser des respirations automatisées et non de lesdéfinir manuellement. Pour plus d'informations, consultez Respiration automatisée.
• Audio speed (Vitesse audio) : cette option vous permet de modifier la vitesse de restitution de la versionaudio de votre contenu, qui va de 20 % à 200 % de la vitesse par défaut de la voix.
1. Sur la page WordPress Admin (Administrateur WordPress), choisissez Settings (Paramètres).2. Choisissez Amazon Polly dans le menu Settings (Paramètres).3. Modifiez les différentes options en fonction des besoins.
Utilisation de SSML dans votre contenu pour modifier la façondont il sera prononcéAmazon Polly lui-même prend en charge plusieurs balises SSML qui vous permettent de contrôler denombreux aspects relatifs à la façon dont Amazon Polly génère un discours à partir du texte que vousfournissez. Pour plus d'informations sur SSML et Amazon Polly, consultez Balises SSML prises en chargepar Amazon Polly (p. 36). Quelques-unes de ces balises sont rappelées dans les paramètres du plug-inlors de la configuration de votre plug-in. Toutefois, actuellement, seule la balise <break> est disponible pourêtre utilisée directement dans votre plug-in WordPress. Les futures mises à jour du plug-in en contiendrontdavantage.
170
Amazon Polly Manuel du développeurPersonnalisation de WordPress
La balise <break>vous permet d'ajouter une pause dans la version parlée de votre texte. Vous pouvezajuster la longueur de cette pause pour répondre à vos besoins spécifiques. Par défaut, la longueur de lapause est équivalente à celle qui suit une virgule. Pour plus d'informations sur la balise <break>, consultezBalises SSML prises en charge (p. 36).
Pour utiliser des balises SSML pour améliorer votre texte WordPress, l'option Enable SSML support(Activer la prise en charge de SSML) doit être sélectionnée dans les paramètres Amazon Polly sur la pageWordPress Admin (Administrateur WordPress). L'option Store audio in Amazon S3 (Stocker audio dansAmazon S3) doit également être sélectionnée car les fichiers audio avec des balises SSML doivent êtrestockés dans un compartiment S3.
Utilisation des balises Audio Only et Word Only dans votrecontenuParfois, vous souhaitez ajouter un élément à votre podcast audio, mais ne voulez pas qu'il s'affiche dans lenavigateur. Ou vous voulez qu'un élément s'affiche dans le navigateur, mais vous ne souhaitez pas l'incluredans le fichier audio. Pour ce faire, vous pouvez utiliser les balises Audio Only et Word Only, que vousplacez dans le contenu WordPress pour contrôler quelle partie du texte sera affichée ou prononcée.
Pour convertir le texte en audio, mais ne pas l'afficher dans le navigateur
1. Isolez le texte sélectionné sur votre page WordPress en plaçant une ligne vide au-dessus et en-dessous.
2. Sur la ligne située au-dessus du texte sélectionné, insérez la balise suivante :
-AMAZONPOLLY-ONLYAUDIO-START-
3. Sur la ligne qui suit le texte, insérez la balise suivante :
-AMAZONPOLLY-ONLYAUDIO-END-
Vous pouvez utiliser la même procédure pour afficher du texte dans le navigateur sans l'inclure dansle fichier audio en utilisant les balises -AMAZONPOLLY-ONLYWORDS-START- et -AMAZONPOLLY-ONLYWORDS-END- de la même manière.
Exemples :
Initial text of your blog displayed in the browser and heard in the audio file.] -AMAZONPOLLY-ONLYAUDIO-START- [This part will not be displayed in the browser but will be heard in the audio file.] -AMAZONPOLLY-ONLYAUDIO-END- [Subsequent text of your blog displayed in the browser and heard in the audio file.]
and
[Initial text of your blog displayed in the browser and heard in the audio file.] -AMAZONPOLLY-ONLYWORD-START- This part will be displayed in the browser but will not be heard in the audio file.] -AMAZONPOLLY-ONLYWORD-END- Subsequent text of your blog displayed in the browser and heard in the audio file.
Ajout de texte traduit à votre publicationLe plug-in WordPress Amazon Polly utilise Amazon Translate pour créer des versions traduites de votrepublication dans une ou plusieurs autres langues. Outre l'anglais, quatre langues sont disponibles pour
171
Amazon Polly Manuel du développeurStockage des fichiers audio
ce service : l'espagnol, le français, l'allemand et le portugais. Les langues à utiliser et les voix pour ceslangues peuvent être configurées sur la page des paramètres Amazon Polly sous Amazon Translateconfiguration (Configuration d'Amazon Translate).
Pour traduire votre publication WordPress dans d'autres langues
1. Sur la page Add New Post (Ajouter une nouvelle publication), créez et publiez votre nouveau messageWordPress.
2. Sur la même page, assurez-vous que l'option Enable Amazon Polly (Activer Amazon Polly) estsélectionnée.
3. Pour voir le coût approximatif de la création de fichiers audio dans les langues d'origine ainsi quedans les autres langues sélectionnées, choisissez How much will this cost to convert? (Combien vacoûter cette conversion ? Cliquez sur OK pour retourner à la page Add New Post (Ajouter une nouvellepublication).
4. Choisissez Translate (Traduire).
Pour définir les langues dans lesquelles traduire votre publication
1. Sur la page Amazon Polly Settings (Paramètres Amazon Polly), sous Amazon Translate configuration(Configuration d'Amazon Translate), choisissez la langue de votre publication dans la liste déroulanteSource language (Langue source).
2. Sous Target languages (Langues cible), choisissez les langues dans lesquelles vous souhaiteztraduire votre publication.
3. Dans la liste déroulante Voice (Voix), choisissez la voix que vous voulez utiliser pour chaque languesélectionnée.
4. Entrez un libellé pour le choix de langue.5. Choisissez Enregistrer les modifications.
Stockage de fichiers audioLorsque vous publiez du contenu sur votre site, il est envoyé à Amazon Polly pour synthèse. Par défaut,Amazon Polly stocke les nouveaux fichiers audio sur votre serveur Web. Vous pouvez également stockerles fichiers sur Amazon Simple Storage Service (Amazon S3) ou sur Amazon CloudFront, qui est un réseaumondial de diffusion de contenu (CDN).
Les utilisateurs bénéficient de la même expérience d'écoute, peu importe l'emplacement de stockage devos fichiers audio. Seul l'emplacement de diffusion change :
1. Les fichiers audio stockés sur le serveur WordPress sont diffusés directement à partir du serveur.2. Les fichiers stockés dans un compartiment S3 sont diffusés depuis le compartiment.3. Si vous utilisez CloudFront, les fichiers sont stockés sur Amazon S3 et diffusés avec CloudFront.
172
Amazon Polly Manuel du développeurStockage des fichiers audio
Vous pouvez choisir l'emplacement de stockage de vos fichiers lors de l'installation du plug-in AmazonPolly.
Positionnement du Lecteur HTMLLorsque vous installez le plug-in Amazon Polly, un lecteur HTML s'affiche en haut de votre site WebWordPress par défaut, sauf si vous choisissez de l'afficher sous le texte de votre site ou de ne pasl'afficher.
Vous pouvez repositionner le lecteur, l'enlever ou l'ajouter (si vous avez choisi de ne pas l'afficher) à toutmoment.
Pour repositionner le lecteur, l'enlever ou l'ajouter sur votre site Web WordPress
1. Sur la page WordPress Admin (Administrateur WordPress), choisissez Settings (Paramètres).2. Sur la page Amazon Polly Settings (Paramètres Amazon Polly), sélectionnez l'option de votre choix
pour Player position (Position du lecteur).
Pour de plus amples informations sur les options de configuration, veuillez consulter Installer et configurerle plug-in (p. 169).
173
Amazon Polly Manuel du développeurStockage des fichiers audio
Podcasting avec Amazon PollycastLes flux Amazon Pollycast permettent à vos visiteurs d'écouter votre contenu audio à l'aide des applicationsde podcast standard. Les flux RSS 2.0 Pollycast fournissent les données XML nécessaires à l'agrégationdes podcasts par les applications de podcast mobiles, telles qu'iTunes, et répertoires de podcastpopulaires.
Lorsque vous installez le plug-in Amazon Polly, sélectionnez l'option iTunes explicit (Explicite iTunes)pour ajouter automatiquement les points de terminaison Amazon Pollycast à toutes les URL d'archiveWordPress. Cela vous permet de diffuser à la fois des podcasts ciblés ou de l'ensemble du site. Si vousn'avez pas sélectionné l'option iTunes explicit (Explicite iTunes) lors de l'installation du plug-in, procédezcomme suit :
1. Sur la page WordPress Admin (Administrateur WordPress), choisissez Settings (Paramètres).2. Sur la page Amazon Polly Settings (Paramètres Amazon Polly), sélectionnez iTunes explicit (Explicite
iTunes).
Vous pouvez ajouter des points de terminaison Amazon Pollycast manuellement en ajoutant /amazon-pollycast/ à l'URL d'une page dans une application de podcast. Exemples :
example.com/amazon-pollycast/example.com/category/news/amazon-pollycast/example.com/author/john/amazon-pollcast/
174
Amazon Polly Manuel du développeurRégions prises en charge
Limites d'Amazon PollyCi-après, figurent les limites à prendre en compte lors de l'utilisation d'Amazon Polly.
Régions prises en chargePour obtenir la liste des régions AWS où Amazon Polly est disponible, consultez la page Régions et pointsde terminaison AWS dans le Référence générale d'Amazon Web Services.
Limitation• Taux de limitation par compte : 100 transactions (requêtes ou opérations) par seconde (tps) avec une
limite en mode rafale de 120 tps.
Connexions simultanées par compte : 90• Taux de limitation par opération :
Opération Limite
Lexique
DeleteLexicon
PutLexicon
GetLexicon
ListLexicons
2 transactions par seconde (tps) à partir de ces opérationscombinées.
Maximum autorisé en mode rafale de 4 tps.
Discours
DescribeVoices 80 tps avec une limite en mode rafale de 100 tps
SynthesizeSpeech 80 tps avec une limite en mode rafale de 100 tps
StartSpeechSynthesisTask 10 tps avec une limite en mode rafale de 12 tps
GetSynthesizeSpeechTasketListSynthesizeSpeechTask
Maximum autorisé de 10 tps combinées
Lexiques de prononciation• Vous pouvez stocker jusqu'à 100 lexiques par compte.• Les noms des lexiques peuvent être constitués d'une chaîne alphanumérique de 20 caractères
maximum.• Chaque lexique peut comporter jusqu'à 4 000 caractères maximum. (Notez que la taille du lexique a un
impact sur la latence de l'opération SynthesizeSpeech.)
175
Amazon Polly Manuel du développeurOpération API SynthesizeSpeech
• Vous pouvez spécifier jusqu'à 100 caractères pour chaque remplacement de phonème<> ou d'alias<>dans un lexique.
Pour plus d'informations sur l'utilisation des lexiques, consultez Gestion des lexiques (p. 122).
Opération API SynthesizeSpeechNotez les limites suivantes liées à l'utilisation de l'opération d'API SynthesizeSpeech :
• Le texte d'entrée peut comporter un maximum de 3 000 caractères facturés (6 000 caractères au total).Les balises SSML ne sont pas considérées comme des caractères facturés.
• Vous pouvez spécifier jusqu'à cinq lexiques à appliquer au texte saisi.• Le flux audio de sortie (synthèse) est limité à 10 minutes. Une fois cette limite atteinte, tout discours
restant est coupé.
Pour plus d'informations, consultez SynthesizeSpeech (p. 204).
Note
Certaines restrictions applicables à l'opération d'API SynthesizeSpeech peuvent êtrecontournées à l'aide de l'opération d'API StartSythensizeSpeechTask. Pour plusd'informations, consultez Création de fichiers audio longs (p. 133).
Opérations d'API SpeechSynthesisTaskNotez la limite suivante liée à l'utilisation des opérations d'API StartSpeechSynthesisTask,GetSpeechSynthesisTask et ListSpeechSynthesisTasks :
• Le texte d'entrée peut comporter un maximum de 100 000 caractères facturés (200 000 caractères autotal). Les balises SSML ne sont pas considérées comme des caractères facturés.
• Vous pouvez spécifier jusqu'à cinq lexiques à appliquer au texte saisi.
Synthèse vocale SSML (Markup Language)Notez les limites suivantes liées à l'utilisation du langage SSML :
• Les balises <audio>, <lexicon>, <lookup> et <voice> ne sont pas prises en charge.• Les éléments <break> peuvent spécifier une durée maximale de 10 secondes chacun.• La balise <prosody> ne prend pas en charge les valeurs inférieures à -80 % pour l'attribut de taux.
Pour plus d'informations, consultez Génération de discours à partir de documents SSML (p. 30).
176
Amazon Polly Manuel du développeurInformations relatives à Amazon Polly dans CloudTrail
Journalisation des appels d'APIAmazon Polly avec AWS CloudTrail
Amazon Polly est intégré dans CloudTrail, un service qui enregistre tous les appels d'API Amazon Polly ettransmet les fichiers-journaux dans un compartiment Amazon S3 que vous spécifiez. CloudTrail enregistréles appels d'API provenant de la console Amazon Polly ou de votre code aux API Amazon Polly. Lesinformations collectées par CloudTrail vous permettent de déterminer quelle demande a été envoyéeà Amazon Polly, l'adresse IP source à partir de laquelle la demande a été effectuée, qui a effectué lademande, quand, etc.
Pour en savoir plus sur CloudTrail, y compris la façon de le configurer et de l'activer, consultez le manuelAWS CloudTrail User Guide.
Informations relatives à Amazon Polly dansCloudTrail
Lorsque la journalisation CloudTrailest activée dans votre compte AWS, les appels d'API effectués àdestination des actions Amazon Polly sont suivis dans les fichiers journaux CloudTrail, où ils sont écritsavec d'autres enregistrements de services AWS. CloudTrail détermine quand créer un fichier et écrirededans en fonction d'une période et d'une taille de fichier.
Toutes les actions Amazon Polly sont consignées par CloudTrail et sont documentées dans la Référencede l'API Amazon Polly (p. 183). Les actions suivantes sont prises en charge.
• DeleteLexicon (p. 184)• DescribeVoices (p. 186)• GetLexicon (p. 189)• GetSpeechSynthesisTask (p. 191)• ListLexicons (p. 193)• ListSpeechSynthesisTasks (p. 195)• PutLexicon (p. 197)• StartSpeechSynthesisTask (p. 199)• SynthesizeSpeech (p. 204)
Chaque entrée du journal contient des informations sur la personne qui a généré la demande. Lesinformations d'identité de l'utilisateur dans l'entrée de journal permettent de déterminer les élémentssuivants :
• Si la demande a été effectuée avec les informations d'identification utilisateur racine ou IAM• Si la demande a été effectuée avec des informations d'identification de sécurité temporaires pour un rôle
ou un utilisateur fédéré• Si la demande a été effectuée par un autre service AWS
Pour plus d'informations, consultez la section Elément userIdentity CloudTrail.
177
Amazon Polly Manuel du développeurPrésentation des entrées des fichiers journaux Amazon Polly
Vous pouvez stocker vos fichiers journaux dans votre compartiment Amazon S3 aussi longtemps que vousle souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ousupprimer automatiquement les fichiers journaux. Par défaut, vos fichiers journaux sont chiffrés avec lechiffrement côté serveur (SSE) de Amazon S3.
Si vous souhaitez être averti de la remise des fichiers journaux, vous pouvez configurer CloudTrail pourqu'il publie des notifications Amazon SNS lorsque de nouveaux fichiers journaux sont remis. Pour plusd'informations, consultez Configuring Amazon SNS Notifications for CloudTrail.
Vous pouvez également regrouper des fichiers journaux Amazon Polly provenant de plusieurs régionsAWS et de plusieurs comptes AWS dans un compartiment Amazon S3 unique.
Pour plus d'informations, consultez Receiving CloudTrail Log Files from Multiple Regions et ReceivingCloudTrail Log Files from Multiple Accounts.
Présentation des entrées des fichiers journauxAmazon Polly
Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs des entrées de journal. Chaqueentrée répertorie plusieurs événements au format JSON. Une entrée de journal représente une demandeindividuelle à partir de n'importe quelle source et comprend des informations sur l'action demandée, sur ladate et l'heure de l'action, sur les paramètres de la demande, etc. Les entrées de journal ne sont pas desarborescences des appels de procédure des appels d'API publique. Elle ne s'affichent donc dans aucunordre précis.
En raison des éventuels problèmes de confidentialité, les entrées de journal ne contiennent pas le textesynthétisé. A la place, ce texte est consigné dans l'entrée de journal.
L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action SynthesizeSpeech.
{ "Records": [ { "awsRegion": "us-east-2", "eventID": "19bd70f7-5e60-4cdc-9825-936c552278ae", "eventName": "SynthesizeSpeech", "eventSource": "tts.amazonaws.com", "eventTime": "2016-11-02T03:49:39Z", "eventType": "AwsApiCall", "eventVersion": "1.05", "recipientAccountId": "123456789012", "requestID": "414288c2-a1af-11e6-b17f-d7cfc06cb461", "requestParameters": { "lexiconNames": [ "SampleLexicon" ], "outputFormat": "mp3", "sampleRate": "22050", "text": "**********", "textType": "text", "voiceId": "Kendra" }, "responseElements": { "contentType": "audio/mpeg", "requestCharacters": 25 }, "sourceIPAddress": "1.2.3.4", "userAgent": "Amazon CLI/Polly 1.10 API 2016-06-10",
178
Amazon Polly Manuel du développeurPrésentation des entrées des fichiers journaux Amazon Polly
"userIdentity": { "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "arn": "arn:aws:iam::123456789012:user/Alice", "principalId": "EX_PRINCIPAL_ID", "type": "IAMUser", "userName": "Alice" } }
]}
L'élément eventName identifie l'action qui s'est produite et il peut inclure des informations de date et deversion, telles que "SynthesizeSpeech20161128". Néanmoins, il fait toujours référence à la même APIpublique.
179
Amazon Polly Manuel du développeurMétriques CloudWatch (Console)
Intégration de CloudWatch avecAmazon Polly
Lorsque vous interagissez avec Amazon Polly, les métriques et les dimensions suivantes sont envoyées àCloudWatch toutes les minutes. Vous pouvez utiliser les procédures suivantes pour afficher les métriquesd'Amazon Polly.
Vous pouvez contrôler Amazon Polly à l'aide de CloudWatch, qui recueille et traite les données brutesde Amazon Polly en métriques lisibles et disponibles pratiquement en temps réel. Ces statistiquessont enregistrées pour une durée de deux semaines et, par conséquent, vous pouvez accéder auxhistorical information et acquérir un meilleur point de vue sur les performances de votre serviceou application Web. Par défaut, les données des métriques Amazon Polly sont envoyées à CloudWatchchaque minute. Pour plus d'informations, consultez la page Qu'est-ce qu'Amazon CloudWatch du guide del'utilisateur CloudWatch Amazon.
Métriques CloudWatch (Console)1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/cloudwatch/.2. Dans le volet de navigation, choisissez Metrics.3. Dans le volet CloudWatch Metrics by Category, sous la catégorie de métriques Amazon Polly,
sélectionnez une catégorie de métriques, puis, dans le volet supérieur, faites défiler l'écran pourafficher la liste complète des métriques.
Métriques CloudWatch (Interface de ligne decommande)
Le code suivant affiche les métriques disponibles pour Amazon Polly.
aws cloudwatch list-metrics --namespace "AWS/Polly"
La commande précédente retourne une liste des métriques Amazon Polly similaires à ce qui suit. L'élémentMetricName identifie ce qu'est la métrique.
{ "Metrics": [ { "Namespace": "AWS/Polly", "Dimensions": [ { "Name": "Operation", "Value": "SynthesizeSpeech" } ], "MetricName": "ResponseLatency" }, {
180
Amazon Polly Manuel du développeurMétriques Amazon Polly
"Namespace": "AWS/Polly", "Dimensions": [ { "Name": "Operation", "Value": "SynthesizeSpeech" } ], "MetricName": "RequestCharacters" }
Pour plus d'informations, consultez GetMetricStatistics dans la Référence de l'API Amazon CloudWatch.
Métriques Amazon PollyAmazon Polly produit les métriques suivantes pour chaque demande. Ces métriques sont regroupées etenvoyées, par intervalles d'une minute, à CloudWatch où elles sont disponibles.
Métrique Description
RequestCharacters Nombre de caractères de la demande. Il s'agit decaractères facturables uniquement ; les balises SSML nesont pas incluses.
Dimension valide : Opération
Statistiques valides : Minimum, Maximum, Moyenne,Exemple de comptage, Somme
Unité : nombre
ResponseLatency Latence entre le moment où la demande a été faite et ledébut de la réponse de diffusion en continu.
Dimensions valides : Operation
Statistiques valides : Minimum, Maximum, Moyenne,Exemple de comptage
Unité : millisecondes
2XXCount Code HTTP 200 retourné lors d'une réponse positive.
Dimensions valides : Operation
Statistiques valides : Moyenne, Exemple de comptage,Somme
Unité : nombre
4XXCount Code erreur HTTP 400 retourné en cas d'erreur. Pourchaque réponse aboutie, un zéro (0) est émis.
Dimensions valides : Operation
Statistiques valides : Moyenne, Exemple de comptage,Somme
Unité : nombre
181
Amazon Polly Manuel du développeurDimensions pour les métriques Amazon Polly
Métrique Description
5XXCount Code erreur HTTP 500 retourné en cas d'erreur. Pourchaque réponse aboutie, un zéro (0) est émis.
Dimensions valides : Operation
Statistiques valides : Moyenne, Exemple de comptage,Somme
Unité : nombre
Dimensions pour les métriques Amazon PollyLes métriques Amazon Polly utilisent l'espace de noms AWS/Polly et fournissent les métriques pour lesdimensions suivantes :
Dimension Description
Operation Les métriques sont regroupées par la méthode d'API àlaquelle elles font référence. Les valeurs possibles sontSynthesizeSpeech, PutLexicon, DescribeVoices,etc.
182
Amazon Polly Manuel du développeurActions
Référence de l'API Amazon PollyCette section contient la référence de l'API Amazon Polly.
Note
Les appels d'API authentifiés doivent être signés à l'aide du processus de signature « SignatureVersion 4 ». Pour plus d'informations, consultez Signature des requêtes d'API AWS du Référencegénérale d'Amazon Web Services.
Rubriques
• Actions (p. 183)• Data Types (p. 208)
ActionsThe following actions are supported:
• DeleteLexicon (p. 184)• DescribeVoices (p. 186)• GetLexicon (p. 189)• GetSpeechSynthesisTask (p. 191)• ListLexicons (p. 193)• ListSpeechSynthesisTasks (p. 195)• PutLexicon (p. 197)• StartSpeechSynthesisTask (p. 199)• SynthesizeSpeech (p. 204)
183
Amazon Polly Manuel du développeurDeleteLexicon
DeleteLexiconDeletes the specified pronunciation lexicon stored in an AWS Region. A lexicon which has been deletedis not available for speech synthesis, nor is it possible to retrieve it using either the GetLexicon orListLexicon APIs.
For more information, see Managing Lexicons.
Request SyntaxDELETE /v1/lexicons/LexiconName HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
Name (p. 184)
The name of the lexicon to delete. Must be an existing lexicon in the region.
Pattern: [0-9A-Za-z]{1,20}
Request BodyThe request does not have a request body.
Response SyntaxHTTP/1.1 200
Response ElementsIf the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
ErrorsLexiconNotFoundException
Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, itsname is misspelled or specifying a lexicon that is in a different region.
Verify that the lexicon exists, is in the region (see ListLexicons (p. 193)) and that you spelled its nameis spelled correctly. Then try again.
HTTP Status Code: 404ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
184
Amazon Polly Manuel du développeurDeleteLexicon
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
185
Amazon Polly Manuel du développeurDescribeVoices
DescribeVoicesReturns the list of voices that are available for use when requesting speech synthesis. Each voice speaksa specified language, is either male or female, and is identified by an ID, which is the ASCII version of thevoice name.
When synthesizing speech ( SynthesizeSpeech ), you provide the voice ID for the voice you want fromthe list of voices returned by DescribeVoices.
For example, you want your news reader application to read news in a specific language, but giving a userthe option to choose the voice. Using the DescribeVoices operation you can provide the user with a listof available voices to select from.
You can optionally specify a language code to filter the available voices. For example, if you specify en-US,the operation returns a list of all available US English voices.
This operation requires permissions to perform the polly:DescribeVoices action.
Request SyntaxGET /v1/voices?IncludeAdditionalLanguageCodes=IncludeAdditionalLanguageCodes&LanguageCode=LanguageCode&NextToken=NextToken HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
IncludeAdditionalLanguageCodes (p. 186)
Boolean value indicating whether to return any bilingual voices that use the specified language asan additional language. For instance, if you request all languages that use US English (es-US), andthere is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if youspecify yes but not if you specify no.
LanguageCode (p. 186)
The language identification tag (ISO 639 code for the language name-ISO 3166 country code) forfiltering the list of voices returned. If you don't specify this optional parameter, all available voices arereturned.
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
NextToken (p. 186)
An opaque pagination token returned from the previous DescribeVoices operation. If present, thisindicates where to continue the listing.
Request BodyThe request does not have a request body.
Response SyntaxHTTP/1.1 200
186
Amazon Polly Manuel du développeurDescribeVoices
Content-type: application/json
{ "NextToken": "string", "Voices": [ { "AdditionalLanguageCodes": [ "string" ], "Gender": "string", "Id": "string", "LanguageCode": "string", "LanguageName": "string", "Name": "string" } ]}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
NextToken (p. 186)
The pagination token to use in the next request to continue the listing of voices. NextToken isreturned only if the response is truncated.
Type: StringVoices (p. 186)
A list of voices with their properties.
Type: Array of Voice (p. 216) objects
ErrorsInvalidNextTokenException
The NextToken is invalid. Verify that it's spelled correctly, and then try again.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java
187
Amazon Polly Manuel du développeurDescribeVoices
• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
188
Amazon Polly Manuel du développeurGetLexicon
GetLexiconReturns the content of the specified pronunciation lexicon stored in an AWS Region. For more information,see Managing Lexicons.
Request Syntax
GET /v1/lexicons/LexiconName HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
Name (p. 189)
Name of the lexicon.
Pattern: [0-9A-Za-z]{1,20}
Request BodyThe request does not have a request body.
Response Syntax
HTTP/1.1 200Content-type: application/json
{ "Lexicon": { "Content": "string", "Name": "string" }, "LexiconAttributes": { "Alphabet": "string", "LanguageCode": "string", "LastModified": number, "LexemesCount": number, "LexiconArn": "string", "Size": number }}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Lexicon (p. 189)
Lexicon object that provides name and the string content of the lexicon.
Type: Lexicon (p. 209) object
189
Amazon Polly Manuel du développeurGetLexicon
LexiconAttributes (p. 189)
Metadata of the lexicon, including phonetic alphabetic used, language code, lexicon ARN, number oflexemes defined in the lexicon, and size of lexicon in bytes.
Type: LexiconAttributes (p. 210) object
ErrorsLexiconNotFoundException
Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, itsname is misspelled or specifying a lexicon that is in a different region.
Verify that the lexicon exists, is in the region (see ListLexicons (p. 193)) and that you spelled its nameis spelled correctly. Then try again.
HTTP Status Code: 404ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
190
Amazon Polly Manuel du développeurGetSpeechSynthesisTask
GetSpeechSynthesisTaskRetrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains informationabout the given speech synthesis task, including the status of the task, and a link to the S3 bucketcontaining the output of the task.
Request SyntaxGET /v1/synthesisTasks/TaskId HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
TaskId (p. 191)
The Amazon Polly generated identifier for a speech synthesis task.
Length Constraints: Minimum length of 1. Maximum length of 128.
Request BodyThe request does not have a request body.
Response SyntaxHTTP/1.1 200Content-type: application/json
{ "SynthesisTask": { "CreationTime": number, "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputUri": "string", "RequestCharacters": number, "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "TaskId": "string", "TaskStatus": "string", "TaskStatusReason": "string", "TextType": "string", "VoiceId": "string" }}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
SynthesisTask (p. 191)
SynthesisTask object that provides information from the requested task, including output format,creation time, task status, and so on.
191
Amazon Polly Manuel du développeurGetSpeechSynthesisTask
Type: SynthesisTask (p. 213) object
ErrorsInvalidTaskIdException
The provided Task ID is not valid. Please provide a valid Task ID and try again.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500SynthesisTaskNotFoundException
The Speech Synthesis task with requested Task ID cannot be found.
HTTP Status Code: 400
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
192
Amazon Polly Manuel du développeurListLexicons
ListLexiconsReturns a list of pronunciation lexicons stored in an AWS Region. For more information, see ManagingLexicons.
Request Syntax
GET /v1/lexicons?NextToken=NextToken HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
NextToken (p. 193)
An opaque pagination token returned from previous ListLexicons operation. If present, indicateswhere to continue the list of lexicons.
Request BodyThe request does not have a request body.
Response Syntax
HTTP/1.1 200Content-type: application/json
{ "Lexicons": [ { "Attributes": { "Alphabet": "string", "LanguageCode": "string", "LastModified": number, "LexemesCount": number, "LexiconArn": "string", "Size": number }, "Name": "string" } ], "NextToken": "string"}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Lexicons (p. 193)
A list of lexicon names and attributes.
Type: Array of LexiconDescription (p. 212) objects
193
Amazon Polly Manuel du développeurListLexicons
NextToken (p. 193)
The pagination token to use in the next request to continue the listing of lexicons. NextToken isreturned only if the response is truncated.
Type: String
ErrorsInvalidNextTokenException
The NextToken is invalid. Verify that it's spelled correctly, and then try again.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
194
Amazon Polly Manuel du développeurListSpeechSynthesisTasks
ListSpeechSynthesisTasksReturns a list of SpeechSynthesisTask objects ordered by their creation date. This operation can filter thetasks by their status, for example, allowing users to list only tasks that are completed.
Request Syntax
GET /v1/synthesisTasks?MaxResults=MaxResults&NextToken=NextToken&Status=Status HTTP/1.1
URI Request ParametersThe request requires the following URI parameters.
MaxResults (p. 195)
Maximum number of speech synthesis tasks returned in a List operation.
Valid Range: Minimum value of 1. Maximum value of 100.NextToken (p. 195)
The pagination token to use in the next request to continue the listing of speech synthesis tasks.Status (p. 195)
Status of the speech synthesis tasks returned in a List operation
Valid Values: scheduled | inProgress | completed | failed
Request BodyThe request does not have a request body.
Response Syntax
HTTP/1.1 200Content-type: application/json
{ "NextToken": "string", "SynthesisTasks": [ { "CreationTime": number, "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputUri": "string", "RequestCharacters": number, "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "TaskId": "string", "TaskStatus": "string", "TaskStatusReason": "string", "TextType": "string", "VoiceId": "string" } ]
195
Amazon Polly Manuel du développeurListSpeechSynthesisTasks
}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
NextToken (p. 195)
An opaque pagination token returned from the previous List operation in this request. If present, thisindicates where to continue the listing.
Type: StringSynthesisTasks (p. 195)
List of SynthesisTask objects that provides information from the specified task in the list request,including output format, creation time, task status, and so on.
Type: Array of SynthesisTask (p. 213) objects
ErrorsInvalidNextTokenException
The NextToken is invalid. Verify that it's spelled correctly, and then try again.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
196
Amazon Polly Manuel du développeurPutLexicon
PutLexiconStores a pronunciation lexicon in an AWS Region. If a lexicon with the same name already exists in theregion, it is overwritten by the new lexicon. Lexicon operations have eventual consistency, therefore, itmight take some time before the lexicon is available to the SynthesizeSpeech operation.
For more information, see Managing Lexicons.
Request SyntaxPUT /v1/lexicons/LexiconName HTTP/1.1Content-type: application/json
{ "Content": "string"}
URI Request ParametersThe request requires the following URI parameters.
Name (p. 197)
Name of the lexicon. The name must follow the regular express format [0-9A-Za-z]{1,20}. That is, thename is a case-sensitive alphanumeric string up to 20 characters long.
Pattern: [0-9A-Za-z]{1,20}
Request BodyThe request accepts the following data in JSON format.
Content (p. 197)
Content of the PLS lexicon as string data.
Type: String
Required: Yes
Response SyntaxHTTP/1.1 200
Response ElementsIf the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
ErrorsInvalidLexiconException
Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is spelled correctly, andthen try again.
197
Amazon Polly Manuel du développeurPutLexicon
HTTP Status Code: 400LexiconSizeExceededException
The maximum size of the specified lexicon would be exceeded by this operation.
HTTP Status Code: 400MaxLexemeLengthExceededException
The maximum size of the lexeme would be exceeded by this operation.
HTTP Status Code: 400MaxLexiconsNumberExceededException
The maximum number of lexicons would be exceeded by this operation.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500UnsupportedPlsAlphabetException
The alphabet specified by the lexicon is not a supported alphabet. Valid values are x-sampa and ipa.
HTTP Status Code: 400UnsupportedPlsLanguageException
The language specified in the lexicon is unsupported. For a list of supported languages, see LexiconAttributes.
HTTP Status Code: 400
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
198
Amazon Polly Manuel du développeurStartSpeechSynthesisTask
StartSpeechSynthesisTaskAllows the creation of an asynchronous synthesis task, by starting a new SpeechSynthesisTask.This operation requires all the standard information needed for speech synthesis, plus the name of anAmazon S3 bucket for the service to store the output of the synthesis task and two optional parameters(OutputS3KeyPrefix and SnsTopicArn). Once the synthesis task is created, this operation will return aSpeechSynthesisTask object, which will include an identifier of this task as well as the current status.
Request SyntaxPOST /v1/synthesisTasks HTTP/1.1Content-type: application/json
{ "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputS3BucketName": "string", "OutputS3KeyPrefix": "string", "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string"}
URI Request ParametersThe request does not use any URI parameters.
Request BodyThe request accepts the following data in JSON format.
LanguageCode (p. 199)
Optional language code for the Speech Synthesis request. This is only necessary if using a bilingualvoice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).
If a bilingual voice is used and no language code is specified, Amazon Polly will use the defaultlanguage of the bilingual voice. The default language for any voice is the one returned by theDescribeVoices operation for the LanguageCode parameter. For example, if no language code isspecified, Aditi will use Indian English rather than Hindi.
Type: String
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: NoLexiconNames (p. 199)
List of one or more pronunciation lexicon names you want the service to apply during synthesis.Lexicons are applied only if the language of the lexicon is the same as the language of the voice.
Type: Array of strings
199
Amazon Polly Manuel du développeurStartSpeechSynthesisTask
Array Members: Maximum number of 5 items.
Pattern: [0-9A-Za-z]{1,20}
Required: NoOutputFormat (p. 199)
The format in which the returned output will be encoded. For audio stream, this will be mp3,ogg_vorbis, or pcm. For speech marks, this will be json.
Type: String
Valid Values: json | mp3 | ogg_vorbis | pcm
Required: YesOutputS3BucketName (p. 199)
Amazon S3 bucket name to which the output file will be saved.
Type: String
Pattern: ^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$
Required: YesOutputS3KeyPrefix (p. 199)
The Amazon S3 key prefix for the output speech file.
Type: String
Pattern: ^[0-9a-zA-Z\/\!\-_\.\*\'\(\)]{0,800}$
Required: NoSampleRate (p. 199)
The audio frequency specified in Hz.
The valid values for mp3 and ogg_vorbis are "8000", "16000", and "22050". The default value is"22050".
Valid values for pcm are "8000" and "16000" The default value is "16000".
Type: String
Required: NoSnsTopicArn (p. 199)
ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.
Type: String
Pattern: ^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\w{12}:.+$
Required: NoSpeechMarkTypes (p. 199)
The type of speech marks returned for the input text.
Type: Array of strings
200
Amazon Polly Manuel du développeurStartSpeechSynthesisTask
Array Members: Maximum number of 4 items.
Valid Values: sentence | ssml | viseme | word
Required: NoText (p. 199)
The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the inputtext.
Type: String
Required: YesTextType (p. 199)
Specifies whether the input text is plain text or SSML. The default value is plain text.
Type: String
Valid Values: ssml | text
Required: NoVoiceId (p. 199)
Voice ID to use for the synthesis.
Type: String
Valid Values: Geraint | Gwyneth | Mads | Naja | Hans | Marlene | Nicole |Russell | Amy | Brian | Emma | Raveena | Ivy | Joanna | Joey | Justin |Kendra | Kimberly | Matthew | Salli | Conchita | Enrique | Miguel | Penelope| Chantal | Celine | Lea | Mathieu | Dora | Karl | Carla | Giorgio | Mizuki| Liv | Lotte | Ruben | Ewa | Jacek | Jan | Maja | Ricardo | Vitoria |Cristiano | Ines | Carmen | Maxim | Tatyana | Astrid | Filiz | Vicki |Takumi | Seoyeon | Aditi
Required: Yes
Response Syntax
HTTP/1.1 200Content-type: application/json
{ "SynthesisTask": { "CreationTime": number, "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "OutputUri": "string", "RequestCharacters": number, "SampleRate": "string", "SnsTopicArn": "string", "SpeechMarkTypes": [ "string" ], "TaskId": "string", "TaskStatus": "string", "TaskStatusReason": "string", "TextType": "string", "VoiceId": "string"
201
Amazon Polly Manuel du développeurStartSpeechSynthesisTask
}}
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
SynthesisTask (p. 201)
SynthesisTask object that provides information and attributes about a newly submitted speechsynthesis task.
Type: SynthesisTask (p. 213) object
ErrorsInvalidS3BucketException
The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket namingrequirements and try again.
HTTP Status Code: 400InvalidS3KeyException
The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key name.
HTTP Status Code: 400InvalidSampleRateException
The specified sample rate is not valid.
HTTP Status Code: 400InvalidSnsTopicArnException
The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try again.
HTTP Status Code: 400InvalidSsmlException
The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, and then tryagain.
HTTP Status Code: 400LanguageNotSupportedException
The language specified is not currently supported by Amazon Polly in this capacity.
HTTP Status Code: 400LexiconNotFoundException
Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, itsname is misspelled or specifying a lexicon that is in a different region.
Verify that the lexicon exists, is in the region (see ListLexicons (p. 193)) and that you spelled its nameis spelled correctly. Then try again.
202
Amazon Polly Manuel du développeurStartSpeechSynthesisTask
HTTP Status Code: 404MarksNotSupportedForFormatException
Speech marks are not supported for the OutputFormat selected. Speech marks are only available forcontent in json format.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500SsmlMarksNotSupportedForTextTypeException
SSML speech marks are not supported for plain text-type input.
HTTP Status Code: 400TextLengthExceededException
The value of the "Text" parameter is longer than the accepted limits. For the SynthesizeSpeech API,the limit for input text is a maximum of 6000 characters total, of which no more than 3000 can be billedcharacters. For the StartSpeechSynthesisTask API, the maximum is 200,000 characters, of whichno more than 100,000 can be billed characters. SSML tags are not counted as billed characters.
HTTP Status Code: 400
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
203
Amazon Polly Manuel du développeurSynthesizeSpeech
SynthesizeSpeechSynthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formedSSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read atall by English voices) unless phoneme mapping is used. For more information, see How it Works.
Request SyntaxPOST /v1/speech HTTP/1.1Content-type: application/json
{ "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "SampleRate": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string"}
URI Request ParametersThe request does not use any URI parameters.
Request BodyThe request accepts the following data in JSON format.
LanguageCode (p. 204)
Optional language code for the Synthesize Speech request. This is only necessary if using a bilingualvoice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).
If a bilingual voice is used and no language code is specified, Amazon Polly will use the defaultlanguage of the bilingual voice. The default language for any voice is the one returned by theDescribeVoices operation for the LanguageCode parameter. For example, if no language code isspecified, Aditi will use Indian English rather than Hindi.
Type: String
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: NoLexiconNames (p. 204)
List of one or more pronunciation lexicon names you want the service to apply during synthesis.Lexicons are applied only if the language of the lexicon is the same as the language of the voice. Forinformation about storing lexicons, see PutLexicon.
Type: Array of strings
Array Members: Maximum number of 5 items.
Pattern: [0-9A-Za-z]{1,20}
204
Amazon Polly Manuel du développeurSynthesizeSpeech
Required: NoOutputFormat (p. 204)
The format in which the returned output will be encoded. For audio stream, this will be mp3,ogg_vorbis, or pcm. For speech marks, this will be json.
When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endianformat.
Type: String
Valid Values: json | mp3 | ogg_vorbis | pcm
Required: YesSampleRate (p. 204)
The audio frequency specified in Hz.
The valid values for mp3 and ogg_vorbis are "8000", "16000", and "22050". The default value is"22050".
Valid values for pcm are "8000" and "16000" The default value is "16000".
Type: String
Required: NoSpeechMarkTypes (p. 204)
The type of speech marks returned for the input text.
Type: Array of strings
Array Members: Maximum number of 4 items.
Valid Values: sentence | ssml | viseme | word
Required: NoText (p. 204)
Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the inputtext.
Type: String
Required: YesTextType (p. 204)
Specifies whether the input text is plain text or SSML. The default value is plain text. For moreinformation, see Using SSML.
Type: String
Valid Values: ssml | text
Required: NoVoiceId (p. 204)
Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoicesoperation.
Type: String
205
Amazon Polly Manuel du développeurSynthesizeSpeech
Valid Values: Geraint | Gwyneth | Mads | Naja | Hans | Marlene | Nicole |Russell | Amy | Brian | Emma | Raveena | Ivy | Joanna | Joey | Justin |Kendra | Kimberly | Matthew | Salli | Conchita | Enrique | Miguel | Penelope| Chantal | Celine | Lea | Mathieu | Dora | Karl | Carla | Giorgio | Mizuki| Liv | Lotte | Ruben | Ewa | Jacek | Jan | Maja | Ricardo | Vitoria |Cristiano | Ines | Carmen | Maxim | Tatyana | Astrid | Filiz | Vicki |Takumi | Seoyeon | Aditi
Required: Yes
Response SyntaxHTTP/1.1 200Content-Type: ContentTypex-amzn-RequestCharacters: RequestCharacters
AudioStream
Response ElementsIf the action is successful, the service sends back an HTTP 200 response.
The response returns the following HTTP headers.
ContentType (p. 206)
Specifies the type audio stream. This should reflect the OutputFormat parameter in your request.• If you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg.• If you request ogg_vorbis as the OutputFormat, the ContentType returned is audio/ogg.• If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed 16-
bit, 1 channel (mono), little-endian format.• If you request json as the OutputFormat, the ContentType returned is audio/json.
RequestCharacters (p. 206)
Number of characters synthesized.
The response returns the following as the HTTP body.
AudioStream (p. 206)
Stream containing the synthesized speech.
ErrorsInvalidSampleRateException
The specified sample rate is not valid.
HTTP Status Code: 400InvalidSsmlException
The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, and then tryagain.
206
Amazon Polly Manuel du développeurSynthesizeSpeech
HTTP Status Code: 400LanguageNotSupportedException
The language specified is not currently supported by Amazon Polly in this capacity.
HTTP Status Code: 400LexiconNotFoundException
Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, itsname is misspelled or specifying a lexicon that is in a different region.
Verify that the lexicon exists, is in the region (see ListLexicons (p. 193)) and that you spelled its nameis spelled correctly. Then try again.
HTTP Status Code: 404MarksNotSupportedForFormatException
Speech marks are not supported for the OutputFormat selected. Speech marks are only available forcontent in json format.
HTTP Status Code: 400ServiceFailureException
An unknown condition has caused a service failure.
HTTP Status Code: 500SsmlMarksNotSupportedForTextTypeException
SSML speech marks are not supported for plain text-type input.
HTTP Status Code: 400TextLengthExceededException
The value of the "Text" parameter is longer than the accepted limits. For the SynthesizeSpeech API,the limit for input text is a maximum of 6000 characters total, of which no more than 3000 can be billedcharacters. For the StartSpeechSynthesisTask API, the maximum is 200,000 characters, of whichno more than 100,000 can be billed characters. SSML tags are not counted as billed characters.
HTTP Status Code: 400
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface• AWS SDK for .NET• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for JavaScript• AWS SDK for PHP V3• AWS SDK for Python• AWS SDK for Ruby V2
207
Amazon Polly Manuel du développeurData Types
Data TypesThe following data types are supported:
• Lexicon (p. 209)• LexiconAttributes (p. 210)• LexiconDescription (p. 212)• SynthesisTask (p. 213)• Voice (p. 216)
208
Amazon Polly Manuel du développeurLexicon
LexiconProvides lexicon name and lexicon content in string format. For more information, see PronunciationLexicon Specification (PLS) Version 1.0.
ContentsContent
Lexicon content in string format. The content of a lexicon must be in PLS format.
Type: String
Required: NoName
Name of the lexicon.
Type: String
Pattern: [0-9A-Za-z]{1,20}
Required: No
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V2
209
Amazon Polly Manuel du développeurLexiconAttributes
LexiconAttributesContains metadata describing the lexicon such as the number of lexemes, language code, and so on. Formore information, see Managing Lexicons.
ContentsAlphabet
Phonetic alphabet used in the lexicon. Valid values are ipa and x-sampa.
Type: String
Required: NoLanguageCode
Language code that the lexicon applies to. A lexicon with a language code such as "en" would beapplied to all English languages (en-GB, en-US, en-AUS, en-WLS, and so on.
Type: String
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: NoLastModified
Date lexicon was last modified (a timestamp value).
Type: Timestamp
Required: NoLexemesCount
Number of lexemes in the lexicon.
Type: Integer
Required: NoLexiconArn
Amazon Resource Name (ARN) of the lexicon.
Type: String
Required: NoSize
Total size of the lexicon, in characters.
Type: Integer
Required: No
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
210
Amazon Polly Manuel du développeurLexiconAttributes
• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V2
211
Amazon Polly Manuel du développeurLexiconDescription
LexiconDescriptionDescribes the content of the lexicon.
ContentsAttributes
Provides lexicon metadata.
Type: LexiconAttributes (p. 210) object
Required: NoName
Name of the lexicon.
Type: String
Pattern: [0-9A-Za-z]{1,20}
Required: No
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V2
212
Amazon Polly Manuel du développeurSynthesisTask
SynthesisTaskSynthesisTask object that provides information about a speech synthesis task.
ContentsCreationTime
Timestamp for the time the synthesis task was started.
Type: Timestamp
Required: NoLanguageCode
Optional language code for a synthesis task. This is only necessary if using a bilingual voice, such asAditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).
If a bilingual voice is used and no language code is specified, Amazon Polly will use the defaultlanguage of the bilingual voice. The default language for any voice is the one returned by theDescribeVoices operation for the LanguageCode parameter. For example, if no language code isspecified, Aditi will use Indian English rather than Hindi.
Type: String
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: NoLexiconNames
List of one or more pronunciation lexicon names you want the service to apply during synthesis.Lexicons are applied only if the language of the lexicon is the same as the language of the voice.
Type: Array of strings
Array Members: Maximum number of 5 items.
Pattern: [0-9A-Za-z]{1,20}
Required: NoOutputFormat
The format in which the returned output will be encoded. For audio stream, this will be mp3,ogg_vorbis, or pcm. For speech marks, this will be json.
Type: String
Valid Values: json | mp3 | ogg_vorbis | pcm
Required: NoOutputUri
Pathway for the output speech file.
Type: String
Required: No
213
Amazon Polly Manuel du développeurSynthesisTask
RequestCharacters
Number of billable characters synthesized.
Type: Integer
Required: NoSampleRate
The audio frequency specified in Hz.
The valid values for mp3 and ogg_vorbis are "8000", "16000", and "22050". The default value is"22050".
Valid values for pcm are "8000" and "16000" The default value is "16000".
Type: String
Required: NoSnsTopicArn
ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.
Type: String
Pattern: ^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\w{12}:.+$
Required: NoSpeechMarkTypes
The type of speech marks returned for the input text.
Type: Array of strings
Array Members: Maximum number of 4 items.
Valid Values: sentence | ssml | viseme | word
Required: NoTaskId
The Amazon Polly generated identifier for a speech synthesis task.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Required: NoTaskStatus
Current status of the individual speech synthesis task.
Type: String
Valid Values: scheduled | inProgress | completed | failed
Required: NoTaskStatusReason
Reason for the current status of a specific speech synthesis task, including errors if the task has failed.
214
Amazon Polly Manuel du développeurSynthesisTask
Type: String
Required: NoTextType
Specifies whether the input text is plain text or SSML. The default value is plain text.
Type: String
Valid Values: ssml | text
Required: NoVoiceId
Voice ID to use for the synthesis.
Type: String
Valid Values: Geraint | Gwyneth | Mads | Naja | Hans | Marlene | Nicole |Russell | Amy | Brian | Emma | Raveena | Ivy | Joanna | Joey | Justin |Kendra | Kimberly | Matthew | Salli | Conchita | Enrique | Miguel | Penelope| Chantal | Celine | Lea | Mathieu | Dora | Karl | Carla | Giorgio | Mizuki| Liv | Lotte | Ruben | Ewa | Jacek | Jan | Maja | Ricardo | Vitoria |Cristiano | Ines | Carmen | Maxim | Tatyana | Astrid | Filiz | Vicki |Takumi | Seoyeon | Aditi
Required: No
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V2
215
Amazon Polly Manuel du développeurVoice
VoiceDescription of the voice.
ContentsAdditionalLanguageCodes
Additional codes for languages available for the specified voice in addition to its default language.
For example, the default language for Aditi is Indian English (en-IN) because it was first used for thatlanguage. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter wouldshow the code hi-IN.
Type: Array of strings
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: NoGender
Gender of the voice.
Type: String
Valid Values: Female | Male
Required: NoId
Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeechoperation.
Type: String
Valid Values: Geraint | Gwyneth | Mads | Naja | Hans | Marlene | Nicole |Russell | Amy | Brian | Emma | Raveena | Ivy | Joanna | Joey | Justin |Kendra | Kimberly | Matthew | Salli | Conchita | Enrique | Miguel | Penelope| Chantal | Celine | Lea | Mathieu | Dora | Karl | Carla | Giorgio | Mizuki| Liv | Lotte | Ruben | Ewa | Jacek | Jan | Maja | Ricardo | Vitoria |Cristiano | Ines | Carmen | Maxim | Tatyana | Astrid | Filiz | Vicki |Takumi | Seoyeon | Aditi
Required: NoLanguageCode
Language code of the voice.
Type: String
Valid Values: cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR |nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR
Required: No
216
Amazon Polly Manuel du développeurVoice
LanguageName
Human readable name of the language in English.
Type: String
Required: NoName
Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable voice name thatyou might display in your application.
Type: String
Required: No
See AlsoFor more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++• AWS SDK for Go• AWS SDK for Java• AWS SDK for Ruby V2
217
Amazon Polly Manuel du développeurAuthentification
Authentification et contrôle d'accèspour Amazon Polly
L'accès à Amazon Polly requiert des informations d'identification. Ces informations d'identification doiventdisposer d'autorisations pour accéder aux ressources AWS, telles qu'une table Amazon Polly lexicon ouune instance Amazon Elastic Compute Cloud (Amazon EC2). Les sections suivantes décrivent commentutiliser AWS Identity and Access Management (IAM) et Amazon Polly pour contribuer à sécuriser l'accès àvos ressources.
• Authentification (p. 218)• Contrôle d'accès (p. 219)
AuthentificationVous pouvez utiliser les types d'identité suivants pour accéder à AWS :
• Utilisateur racine d'un compte AWS – Lorsque vous créez un compte AWS, vous commencez avecune seule identité de connexion disposant d'un accès complet à tous les services et ressources AWSdu compte. Cette identité est appelée utilisateur racine du compte AWS et elle est accessible aprèsconnexion à l'aide de l'adresse e-mail et du mot de passe utilisés pour la création du compte. Il estvivement recommandé de ne pas utiliser l'utilisateur racine pour vos tâches quotidiennes, y comprispour les tâches administratives. Au lieu de cela, respectez la bonne pratique qui consiste à avoir recoursà l'utilisateur racine uniquement pour créer le premier utilisateur IAM. Ensuite, mettez en sécurité lesinformations d'identification utilisateur racine et utilisez-les pour effectuer uniquement certaines tâches degestion des comptes et des services.
• Utilisateur IAM – Un utilisateur IAM est une identité au sein de votre compte AWS qui disposed'autorisations personnalisées spécifiques (par exemple, des autorisations pour créer a lexicon dansAmazon Polly). Vous pouvez utiliser un nom d'utilisateur et un mot de passe IAM pour vous connecteraux pages Web AWS sécurisées telles que AWS Management Console, les forums de discussion AWSet le AWS Support Center.
En plus de générer un nom utilisateur et un mot de passe, vous pouvez générer des clés d'accèspour chaque utilisateur. Vous pouvez utiliser ces clés lorsque vous accédez aux services AWS parprogrammation, soit par le biais d'un kit SDK soit à l'aide d'AWS Command Line Interface (CLI). Lesoutils de l'interface de ligne de commande et les kits SDK utilisent les clés d'accès pour signer de façoncryptographique votre demande. Si vous n'utilisez pas les outils AWS, vous devez signer la demandevous-même. Amazon Polly supports prend en charge Signature Version 4, un protocole permettantl'authentification des demandes d'API entrantes. Pour plus d'informations sur l'authentification desdemandes, consultez la rubrique Processus de signature Signature Version 4 dans la documentationAWS General Reference.
• Rôle IAM – Un rôle IAM est une identité IAM que vous pouvez créer dans votre compte et qui dispose
d'autorisations spécifiques. Le concept ressemble à celui d'utilisateur IAM, mais le rôle IAM n'est pasassocié à une personne en particulier. Un rôle IAM vous permet d'obtenir des clés d'accès temporaires
218
Amazon Polly Manuel du développeurContrôle d'accès
qui peuvent être utilisées pour accéder aux ressources et services AWS. Les rôles IAM avec desinformations d'identification temporaires sont utiles dans les cas suivants :
• Accès d'utilisateurs fédérés – Au lieu de créer un utilisateur IAM, vous pouvez utiliser des identités
d'utilisateur existantes d'AWS Directory Service, l'annuaire utilisateurs de votre entreprise, ou d'unfournisseur d'identité web. Ces derniers sont appelés utilisateurs fédérés. AWS attribue un rôle à unutilisateur fédéré lorsque l'accès est demandé via un fournisseur d'identité. Pour plus d'informationssur les utilisateurs fédérés, consultez Utilisateurs fédérés et rôles dans le manuel IAM Guide del'utilisateur.
• Accès d'un service AWS – Vous pouvez utiliser un rôle IAM de votre compte pour autoriser un autre
service AWS à accéder aux ressources de votre compte. Par exemple, vous pouvez créer un rôle quipermet à Amazon Redshift d'accéder à un compartiment Amazon S3 en votre nom, puis de charger lesdonnées stockées dans le compartiment dans un cluster Amazon Redshift. Pour plus d'informations,consultez la rubrique Création d'un rôle pour déléguer des autorisations à un service AWS dans le IAMGuide de l'utilisateur.
• Applications qui s'exécutent sur Amazon EC2 – Vous pouvez utiliser un rôle IAM pour gérer des
informations d'identification temporaires pour les applications qui s'exécutent sur une instance EC2et effectuent des demandes d'API AWS. Cette solution est préférable au stockage des clés d'accèsau sein de l'instance EC2. Pour attribuer un rôle AWS à une instance EC2 et le rendre disponible àtoutes les applications associées, vous pouvez créer un profil d'instance attaché à l'instance. Un profild'instance contient le rôle et permet aux programmes qui s'exécutent sur l'instance EC2 d'obtenir desinformations d'identification temporaires. Pour plus d'informations, consultez Utilisation d'un rôle IAMpour accorder des autorisations à des applications s'exécutant sur des instances Amazon EC2 dans leIAM Guide de l'utilisateur.
Contrôle d'accèsVous pouvez disposer d'informations d'identification valides pour authentifier vos demandes, mais à moinsd'avoir les autorisations requises, vous ne pouvez pas créer de ressources Amazon Polly ni accéder à detelles ressources. Par exemple, vous devez disposer d'autorisations pour créer une application AmazonPolly lexicon.
Les sections suivantes expliquent comment gérer les autorisations pour Amazon Polly. Nous vousrecommandons de commencer par lire la présentation.
• Présentation de la gestion des autorisations d'accès à vos ressources Amazon Polly (p. 219)• Utilisation des stratégies basées sur l'identité (stratégies IAM) pour Amazon Polly (p. 223)• Autorisations d'API Amazon Polly : Référence des actions, des autorisations et des ressources (p. 227)
Présentation de la gestion des autorisations d'accèsà vos ressources Amazon Polly
Chaque ressource AWS appartient à un compte AWS et les autorisations permettant de créer desressources et d'y accéder sont régies par les stratégies d'autorisation. Un administrateur de compte peutattacher des stratégies d'autorisation aux identités IAM (c'est-à-dire aux utilisateurs, groupes et rôles),et certains services (tels que AWS Lambda) prennent également en charge l'attachement de stratégiesd'autorisation aux ressources.
219
Amazon Polly Manuel du développeurRessources et opérations Amazon Polly
Note
Un administrateur de compte (ou utilisateur administrateur) est un utilisateur doté des privilègesd'administrateur. Pour plus d'informations, consultez Bonnes pratiques IAM dans le manuel IAMGuide de l'utilisateur.
Lorsque vous accordez des autorisations, vous décidez qui doit les obtenir, à quelles ressources cesautorisations s'appliquent et les actions spécifiques que vous souhaitez autoriser sur ces ressources.
Rubriques• Ressources et opérations Amazon Polly (p. 220)• Présentation de la propriété des ressources (p. 220)• Gestion de l'accès aux ressources (p. 220)• Spécification des éléments d'une stratégie : actions, effets et mandataires (p. 222)• Spécification des conditions dans une stratégie (p. 223)
Ressources et opérations Amazon PollyDans Amazon Polly, la ressource principale est a lexicon. Dans votre stratégie, vous utilisez un AmazonResource Name (ARN) pour identifier la ressource à laquelle la stratégie s'applique.
Ces ressources et sous-ressources ont un ARN (Amazon Resource Name) unique qui leur est associé,comme illustré dans le tableau suivant.
Type de ressource Format ARN
Lexique arn:aws:polly:region:account-id:lexicon/LexiconName
Amazon Polly fournit un ensemble d'opérations à utiliser avec des ressources Amazon Polly. Pour obtenirune liste des opérations disponibles, consultez Amazon Polly Référence de l'API Amazon Polly (p. 183).
Présentation de la propriété des ressourcesLe compte AWS possède les ressources qui sont créés dans le compte, indépendamment de la personnequi a créé les ressources. Plus spécifiquement, le propriétaire des ressources est le compte AWS del'entité principale (à savoir, le compte racine, un utilisateur IAM ou un rôle IAM) qui authentifie la demandede création des ressources. Les exemples suivants illustrent comment cela fonctionne :
• Si vous utilisez les informations d'identification du compte racine de votre compte AWS pour créer alexicon, votre compte AWS est le propriétaire de la ressource (dans Amazon Polly, la ressource est alexicon).
• Si vous créez un utilisateur IAM dans votre compte AWS et autorisez cet utilisateur à créer a lexicon ilpeut créer a lexicon. Toutefois, votre compte AWS, auquel l'utilisateur appartient, détient la ressourcelexicon.
• Si vous créez un rôle IAM dans votre compte AWS avec des autorisations pour créer a lexicon,quiconque capable d'assumer le rôle peut créer a lexicon. Votre compte AWS, auquel l'utilisateurappartient, détient la ressource lexicon.
Gestion de l'accès aux ressourcesUne stratégie d'autorisation décrit qui a accès à quoi. La section suivante explique les options disponiblespour créer des stratégies d'autorisation.
220
Amazon Polly Manuel du développeurGestion de l'accès aux ressources
Note
Cette section décrit l'utilisation d'IAM dans le contexte de Amazon Polly. Elle ne fournit pasd'informations détaillées sur le service IAM. Pour accéder à la documentation complète d'IAM,consultez Qu'est-ce qu'IAM ? du manuel IAM Guide de l'utilisateur. Pour plus d'informations sur lasyntaxe et les descriptions des stratégies IAM, consultez Référence de stratégie AWS IAM dans lemanuel IAM Guide de l'utilisateur.
Les stratégies attachées à une identité IAM sont qualifiées de stratégies basées sur une entité (stratégiesIAM) et les stratégies attachées à une ressource sont qualifiées de stratégies basées sur une ressource.Amazon Polly prend uniquement en charge les stratégies basées sur une identité.
Rubriques• Stratégies basées sur une identité (stratégies IAM) (p. 221)• Stratégies basées sur une ressource (p. 222)
Stratégies basées sur une identité (stratégies IAM)Vous pouvez attacher des stratégies à des identités IAM. Par exemple, vous pouvez effectuer lesopérations suivantes :
• Lier une stratégie d'autorisations à un utilisateur ou à un groupe de votre compte – pour accorder à unutilisateur l'autorisation relative à la création d'une ressource Amazon Polly, comme a lexicon, vouspouvez lier une stratégie d'autorisations à un utilisateur ou à un groupe auquel l'utilisateur appartient.
• Attacher une stratégie d'autorisation à un rôle (accorder des autorisations entre comptes) – Vous pouvezattacher une stratégie d'autorisation basée sur une identité à un rôle IAM pour accorder des autorisationsentre comptes. Par exemple, l'administrateur dans le compte A peut créer un rôle pour accorder desautorisations entre comptes à un autre compte AWS (par exemple, le compte B) ou à un service AWScomme suit :1. L'administrateur du compte A crée un rôle IAM et lie une stratégie d'autorisation au rôle qui accorde
des autorisations sur les ressources dans le compte A.2. L'administrateur du compte A lie une stratégie d'approbation au rôle identifiant le compte B comme
mandataire pouvant assumer ce rôle.3. L'administrateur du compte B peut alors déléguer des autorisations pour assumer le rôle à tous les
utilisateurs figurant dans le compte B. Les utilisateurs du compte B sont ainsi autorisés à créer desressources ou à y accéder dans le compte A. Le mandataire dans la stratégie d'approbation peutégalement être un mandataire de service AWS si vous souhaitez accorder à un service AWS desautorisations pour assumer ce rôle.
Pour plus d'informations sur l'utilisation d'IAM pour déléguer des autorisations, consultez Gestion del'accès dans le manuel IAM Guide de l'utilisateur.
Voici un exemple de stratégie qui accorde des autorisations pour ajouter et obtenir des lexiques, et pourindiquer la liste des lexiques actuellement disponibles.
Amazon Polly prend en charge des stratégies basées sur une identité pour des actions au niveaudes ressources. Par conséquent, la valeur Resource est indiquée par l'ARN. A titre d'exemple,arn:aws:polly:us-east-2:account-id:lexicon/* en tant que valeur Resource indique lesautorisations sur tous les lexiques détenus au sein de la région us-east-2.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowPut-Get-ListActions", "Effect": "Allow",
221
Amazon Polly Manuel du développeurSpécification des éléments d'une
stratégie : actions, effets et mandataires
"Action": [ "polly:PutLexicon", "polly:GetLexicon", "polly:ListLexicons"], "Resource": "arn:aws:polly:us-east-2:account-id:lexicon/*" } ]}
Pour plus d'informations sur l'utilisation des stratégies basées sur une identité avec Amazon Polly,consultez Utilisation des stratégies basées sur l'identité (stratégies IAM) pour Amazon Polly (p. 223).Pour plus d'informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez Identités(utilisateurs, groupes et rôles) dans le manuel IAM Guide de l'utilisateur.
Stratégies basées sur une ressourceD'autres services, tels que Amazon S3, prennent également en charge les stratégies d'autorisation baséessur une ressource. Par exemple, vous pouvez attacher une stratégie à un compartiment S3 pour gérer lesautorisations d'accès à ce compartiment. Amazon Polly ne prend pas en charge les stratégies basées surles ressources.
Spécification des éléments d'une stratégie : actions,effets et mandatairesPour chaque ressource Amazon Polly, le service définit un ensemble d'opérations d'API. Pour accorderdes autorisations pour ces opérations d'API, Amazon Polly définit un ensemble d'actions que vous pouvezspécifier dans une stratégie. Certaines opérations d'API peuvent exiger des autorisations pour plusieursactions afin de réaliser l'opération d'API. Pour plus d'informations sur les ressources et les opérationsde l'API, consultez Ressources et opérations Amazon Polly (p. 220) et Référence de l'API AmazonPolly (p. 183).
Voici les éléments les plus élémentaires d'une stratégie :
• Ressource – Un Amazon Resource Name (ARN) identifie la ressource à laquelle la stratégie baséesur une identité s'applique. Pour plus d'informations, consultez Ressources et opérations AmazonPolly (p. 220).
• Action – Vous utilisez des mots clés d'action pour identifier les opérations de ressource que vous voulezaccorder ou refuser. Par exemple, vous pouvez utiliser polly:PutLexicon pour ajouter un lexique à larégion.
• Effet – Vous spécifiez l'effet produit, soit un accord ou un refus, lorsque l'utilisateur demande l'actionspécifique. Si vous n'accordez pas explicitement l'accès pour (autoriser) une ressource, l'accès estimplicitement refusé. Vous pouvez aussi explicitement refuser l'accès à une ressource, ce que vouspouvez faire afin de vous assurer qu'un utilisateur n'y a pas accès, même si une stratégie différenteaccorde l'accès.
• Mandataire – Dans les stratégies basées sur une identité (stratégies IAM), l'utilisateur auquel la stratégieest attachée est le mandataire implicite. Pour les stratégies basées sur une ressource, vous spécifiezl'utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations (s'appliqueuniquement aux stratégies basées sur une ressource). Amazon Polly ne prend pas en charge lesstratégies basées sur les ressources.
Pour plus d'informations sur la syntaxe des stratégies IAM et pour obtenir des descriptions, consultezRéférence de stratégie AWS IAM dans le manuel IAM Guide de l'utilisateur.
Pour obtenir une des tableaux présentant toutes les opérations API d' Amazon Polly ainsi que lesressources auxquelles elles s'appliquent, consultez Autorisations d'API Amazon Polly : Référence desactions, des autorisations et des ressources (p. 227).
222
Amazon Polly Manuel du développeurSpécification des conditions dans une stratégie
Spécification des conditions dans une stratégieLorsque vous accordez des autorisations, vous pouvez utiliser le langage d'access policy pour spécifier lesconditions définissant quand une stratégie doit prendre effet. Par exemple, il est possible d'appliquer unestratégie après seulement une date spécifique. Pour plus d'informations sur la spécification de conditionsdans un langage de stratégie, consultez Condition dans le manuel IAM Guide de l'utilisateur.
Pour exprimer des conditions, vous utilisez des clés de condition prédéfinies. Il n'existe pas de clés decondition spécifiques à Amazon Polly. Il existe toutefois des clés de condition à l'échelle d'AWS que vouspouvez utiliser selon vos besoins. Pour une liste complète des clés à l'échelle d'AWS, consultez Clésdisponibles pour les conditions dans le IAM Guide de l'utilisateur.
Utilisation des stratégies basées sur l'identité(stratégies IAM) pour Amazon Polly
Cette rubrique fournit des exemples de stratégies basées sur l'identité qui montrent comment unadministrateur de compte peut attacher des stratégies d'autorisation à des identités IAM (autrement dit,des utilisateurs, groupes et rôles) et ainsi accorder des autorisations pour effectuer des opérations sur lesressources Amazon Polly.
Important
Nous vous recommandons, tout d'abord, d'examiner les rubriques de présentation qui détaillentles concepts de base et les options disponibles pour gérer l'accès à vos ressources Amazon Polly.Pour plus d'informations, consultez Présentation de la gestion des autorisations d'accès à vosressources Amazon Polly (p. 219).
Rubriques• Autorisations requises pour utiliser la console Amazon Polly (p. 224)• Stratégies gérées par AWS (stratégies prédéfinies) pour Amazon Polly (p. 224)• Exemples de stratégies gérées par le client (p. 225)
Un exemple de stratégie d'autorisation est exposé ci-dessous.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowGet-Delete-ListActions", "Effect": "Allow", "Action": [ "polly:GetLexicon", "polly:DeleteLexicon", "polly:ListLexicons"], "Resource": "*" } ], "Statement": [{ "Sid": "NoOverrideMyLexicons", "Effect": "Deny", "Action": [ "polly:PutLexicon"], "Resource": "arn:aws:polly:us-east-2:123456789012:lexicon/my*" } ]
223
Amazon Polly Manuel du développeurAutorisations requises pour utiliser la console Amazon Polly
}
La stratégie possède deux énoncés:
• La première instruction accorde l'autorisation d'effectuer les trois actions Polly (polly:GetLexicon,polly:DeleteLexicon et polly:ListLexicons) dans n'importe quel lexique. L'utilisation ducaractère générique (*) en tant que ressource accorde des autorisations universelles pour ces actions surtoutes les régions et tous les lexiques détenus par ce compte.
• La deuxième instruction refuse explicitement l'autorisation d'effectuer une action Polly(polly:PutLexicon). L'ARN affiché comme étant la ressource applique spécifiquement cetteautorisation à tous les lexiques commençant par les lettres « my » qui se trouvent dans la région us-east-2.
Pour visualiser un tableau répertoriant toutes les opérations d'API Amazon Polly et les ressourcesauxquelles elles s'appliquent, consultez Autorisations d'API Amazon Polly : Référence des actions, desautorisations et des ressources (p. 227).
Autorisations requises pour utiliser la console AmazonPollyPour qu'un utilisateur puisse utiliser la console Amazon Polly, il doit disposer d'un ensemble minimald'autorisations pour pouvoir décrire les ressources Amazon Polly de son compte AWS.
Si vous créez une stratégie IAM plus restrictive que les autorisations minimales requises, la console nefonctionnera pas comme prévu pour les utilisateurs dotés de cette stratégie IAM.
Vous n'avez pas besoin d'accorder des autorisations de console minimales aux utilisateurs qui effectuentdes appels uniquement à l'AWS CLI ou à l'API Amazon Polly.
Pour utiliser la console Amazon Polly, vous devez accorder des autorisations à toutes les API AmazonPolly. Aucune autorisation supplémentaire n'est nécessaire. La stratégie d'autorisations suivante permet, àelle seule, d'utiliser la console Amazon Polly.
}"Version": "2012-10-17", "Statement": [{ "Sid": "Console-AllowAllPollyActions", "Effect": "Allow", "Action": [ "polly:*"], "Resource": "*" } ]}
Stratégies gérées par AWS (stratégies prédéfinies)pour Amazon PollyAWS est approprié pour de nombreux cas d'utilisation courants et fournit des stratégies IAM autonomes quisont créées et administrées par AWS. Ces stratégies gérées AWS octroient les autorisations requises dansles cas d'utilisation courants pour que vous évitiez d'avoir à réfléchir aux autorisations qui sont requises.Pour plus d'informations, consultez Stratégies gérées par AWS dans le manuel IAM Guide de l'utilisateur.
Les stratégies gérées par AWS suivantes, que vous pouvez attacher aux utilisateurs de votre compte, sontpropres à Amazon Polly :
224
Amazon Polly Manuel du développeurExemples de stratégies gérées par le client
• AmazonPollyReadOnlyAccess - Permet d'accéder aux ressources en lecture seule, ainsi que de faireune liste de lexiques, d'extraire des lexiques, de faire une liste de voix disponibles et de synthétisercelles-ci (y compris, d'appliquer des lexiques aux voix synthétisées).
• AmazonPollyFullAccess - Permet un accès total aux ressources ainsi qu'à toutes les opérations prises encharge.
Note
Vous pouvez consulter ces stratégies d'autorisations en vous connectant à la console IAM et en yrecherchant des stratégies spécifiques.
Vous pouvez également créer vos propres stratégies IAM personnalisées afin d'accorder des autorisationspour les actions et les ressources Amazon Polly. Vous pouvez attacher ces stratégies personnalisées auxutilisateurs ou groupes IAM qui nécessitent ces autorisations.
Exemples de stratégies gérées par le clientDans cette section, vous trouverez des exemples de stratégies utilisateur qui accordent des autorisationspour diverses actions Amazon Polly. Ces stratégies fonctionnent lorsque vous utilisez les kits AWSSDK ou l'AWS CLI. Lorsque vous utilisez la console, vous devez accorder des autorisations à toutesles API Amazon Polly. Cela est indiqué dans Autorisations requises pour utiliser la console AmazonPolly (p. 224).
Note
Tous les exemples utilisent la région us-east-2 et ils contiennent des ID de comptes fictifs.
Exemples• Exemple 1 : Autoriser toutes les actions Amazon Polly (p. 225)• Exemple 2 : Autoriser toutes les actions Polly à l'exception de DeleteLexicon (p. 226)• Exemple 3 : Autoriser DeleteLexicon (p. 226)• Exemple 4 : Autoriser la suppression de lexique dans une région donnée (p. 226)• Exemple 5 : Autoriser DeleteLexicon pour un lexique donné (p. 227)
Exemple 1 : Autoriser toutes les actions Amazon PollyUne fois que vous êtes inscrit (voir Étape 1.1 : S'inscrire à AWS (p. 11)) vous créez un utilisateuradministrateur pour gérer votre compte, y compris pour créer des utilisateurs et gérer leurs autorisations.
Vous pouvez choisir de créer un utilisateur qui dispose des autorisations pour toutes les actions AmazonPolly (définissez cet utilisateur en tant qu'administrateur spécifique au service) pour utiliser Amazon Polly.Vous pouvez alors lier la stratégie d'autorisations suivante à cet utilisateur.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowAllPollyActions", "Effect": "Allow", "Action": [ "polly:*"], "Resource": "*" } ]}
225
Amazon Polly Manuel du développeurExemples de stratégies gérées par le client
Exemple 2 : Autoriser toutes les actions Polly à l'exception deDeleteLexiconLa stratégie d'autorisations suivante accorde à l'utilisateur les autorisations lui permettant d'exécuter toutesles actions à l'exception de DeleteLexicon. Les autorisations de suppression sont refusées dans toutesles régions.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowAllActions-DenyDelete", "Effect": "Allow", "Action": [ "polly:DescribeVoices", "polly:GetLexicon", "polly:PutLexicon", "polly:SynthesizeSpeech", "polly:ListLexicons"], "Resource": "*" } { "Sid": "DenyDeleteLexicon", "Effect": "Deny", "Action": [ "polly:DeleteLexicon"], "Resource": "*" } ]}
Exemple 3 : Autoriser DeleteLexiconLa stratégie d'autorisations suivante accorde à l'utilisateur les autorisations pour supprimer tout lexique qu'ildétient, quel que soit le projet ou la région dans lequel il se trouve.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteLexicon", "Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "*" } ]}
Exemple 4 : Autoriser la suppression de lexique dans une régiondonnéeLa stratégie d'autorisations suivante accorde à l'utilisateur des autorisations pour supprimer n'importe quellexique dans n'importe quel projet qu'il détient dans une même région (dans ce cas, us-east-2).
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteSpecifiedRegion",
226
Amazon Polly Manuel du développeurRéférence des autorisations de l'API Amazon Polly
"Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "arn:aws:polly:us-east-2:123456789012:lexicon/*" } ]}
Exemple 5 : Autoriser DeleteLexicon pour un lexique donnéLa stratégie d'autorisations suivante accorde à l'utilisateur des autorisations pour supprimer un lexiquespécifique qu'il détient (dans ce cas, myLexicon) dans une région spécifique (dans ce cas, us-east-2).
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteForSpecifiedLexicon", "Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "arn:aws:polly:us-east-2:123456789012:lexicon/myLexicon" } ]}
Autorisations d'API Amazon Polly : Référence desactions, des autorisations et des ressources
Lorsque vous configurez Contrôle d'accès (p. 219) et que vous créez une stratégie d'autorisation quevous pouvez attacher à une identité IAM (stratégies basées sur une identité), vous pouvez utiliser la detableaux ci-dessous comme référence. La liste inclut chaque opération API Amazon Polly, les actionscorrespondantes pour lesquelles vous pouvez accorder des autorisations d'exécution de l'action et laressource AWS pour laquelle vous pouvez accorder des autorisations. Vous spécifiez les actions dans lechamp Action de la stratégie ainsi que la valeur des ressources dans le champ Resource de la stratégie.
Pour exprimer des conditions, vous pouvez utiliser des clés de condition au niveau d'AWS dans lesstratégies Amazon Polly. Pour obtenir la liste complète des clés à l'échelle d'AWS, consultez Clésdisponibles dans le manuel IAM Guide de l'utilisateur.
Note
Pour spécifier une action, utilisez le préfixe polly suivi du nom de l'opération d'API (par exemple,polly:GetLexicon).
Amazon Polly prend en charge des stratégies basées sur une identité pour des actions au niveaudes ressources. Par conséquent, la valeur Resource est indiquée par l'ARN. A titre d'exemple,arn:aws:polly:us-east-2:account-id:lexicon/* en tant que valeur Resource indique lesautorisations sur tous les lexiques détenus au sein de la région us-east-2.
Étant donné que Amazon Polly ne prend pas en charge les autorisations pour des actions au niveaudes ressources, la plupart des stratégies indiquent un caractère générique (*) comme valeur Resource.Toutefois, s'il est nécessaire de limiter les autorisations à une région spécifique, ce caractère générique estremplacé par l'ARN approprié : arn:aws:polly:region:account-id:lexicon/*.
API Amazon Polly et autorisations requises pour les actions
227
Amazon Polly Manuel du développeurRéférence des autorisations de l'API Amazon Polly
Opération d'API : DeleteLexicon (p. 184)
Autorisations requises (Action d'API) :polly:DeleteLexicon
Ressources : arn:aws:polly:region:account-id:lexicon/LexiconNameOpération d'API : DescribeVoices (p. 186)
Autorisations requises (Action d'API) :polly:DescribeVoices
Ressources : arn:aws:polly:region:account-id:lexicon/voice-nameOpération d'API : GetLexicon (p. 189)
Autorisations requises (Action d'API) :polly:GetLexicon
Ressources : arn:aws:polly:region:account-id:lexicon/voice-nameOpération d'API : ListLexicons (p. 193)
Autorisations requises (Action d'API) :polly:ListLexicons
Ressources : arn:aws:polly:region:account-id:lexicon/*Opération d'API : PutLexicon (p. 197)
Autorisations requises (Action d'API) :polly:ListLexicons
Ressources : *Opération d'API : SynthesizeSpeech (p. 204)
Autorisations requises (Action d'API) :polly:SynthesizeSpeech
Ressources : *
228
Amazon Polly Manuel du développeur
Historique du document d'AmazonPolly
Le tableau ci-après décrit les modifications importantes dans chaque édition du Guide du développeurAmazon Polly. Pour recevoir les notifications des mises à jour de cette documentation, abonnez-vous à unflux RSS.
• Dernière mise à jour de la documentation : 2 août 2018
update-history-change update-history-description update-history-date
Nouvelle langueajoutée (p. 229)
Nouvelle langue ajoutée : hindi(hi-IN). Cette voix utilise lavoix féminine d'Aditi, qui estégalement utilisée pour l'anglaisavec une intonation indienne,faisant d'Aditi la première voixbilingue d'Amazon Polly.
August 2, 2018
Nouvelle fonctionajoutée (p. 229)
Ajout de la Synthèse vocale delongs passages de texte (jusqu'à100 000 caractères facturés).
July 17, 2018
Nouvelle fonction SSMLajoutée (p. 229)
Ajout d'une Durée maximale pourla synthèse vocale.
July 17, 2018
Nouvelle voix ajoutée (p. 229) Nouvelle voix ajoutée : Léa (voixféminine, français).
June 5, 2018
Nouvelle langueajoutée (p. 229)
Nouvelle langue ajoutée : coréen(ko-KR).
June 4, 2018
Fonction étendue (p. 229) Extension de la fonction de plug-in WordPress Amazon Polly etajout des capacités AmazonTranslate.
June 4, 2018
Extension des régions (p. 229) Extension du service AmazonPolly à toutes les régionscommerciales.
June 4, 2018
Nouvelles voixajoutées (p. 229)
Deux nouvelles voix ajoutées :Aditi (femme, anglais avecintonation indienne) et Seoyeon(femme, coréen).
November 15, 2017
Nouvelle fonction (p. 229) Ajout de la nouvelle fonctionMarques vocales et extensiondes capacités SSML.
April 19, 2017
Nouveau Guide (p. 229) Il s’agit de la première version duGuide du développeur AmazonPolly.
November 30, 2016
229
Amazon Polly Manuel du développeur
Glossaire AWSPour la terminologie AWS la plus récente, consultez le Glossaire AWS dans le document AWS GeneralReference.
230
top related