Présentation
En général, la synthèse vocale n’est pas facile. On ne peut pas partir du principe que, lorsqu’une application lit chaque lettre d’une phrase, le résultat aura un sens. Voici quelques difficultés courantes pour les applications de synthèse vocale :
- Mots qui s’écrivent de la même manière, mais se prononcent différemment, par exemple en anglais I live in Las Vegas par rapport à This presentation broadcasts live from Las Vegas.
- Normalisation du texte : clarification des abréviations, des acronymes et des unités : St. peut faire référence à Street ou à Saint.
- Conversion du texte en phonèmes dans les langues à mappage complexe, par exemple en anglais tough, through et though. Dans cet exemple, les parties similaires des différents mots se prononcent différemment selon le mot et le contexte.
- Les mots français utilisés en anglais (déjà vu), les noms propres (François Hollande) et l’argot (ASAP, LOL).
Amazon Polly offre une fonctionnalité de synthèse vocale qui parvient à surmonter ces difficultés, ce qui vous permet de vous concentrer sur la création d’applications qui utilisent la synthèse vocale au lieu de résoudre les problèmes d’interprétation.
Amazon Polly transforme un texte en parole. Amazon Polly vous permet de créer des applications qui parlent naturellement et de concevoir de nouvelles catégories de produits vocaux. Amazon Polly est un service d’IA Amazon qui exploite des technologies avancées de deep learning pour synthétiser la parole de façon naturelle. Il comprend des douzaines de voix réalistes dans plus de 20 langues. Vous pouvez ainsi sélectionner la voix idéale et créer des applications vocales qui fonctionnent dans de nombreux pays différents.
De plus, Amazon Polly offre les temps de réponse toujours rapides nécessaires pour prendre en charge des dialogues interactifs en temps réel. Vous pouvez mettre en cache et enregistrer les fichiers audio de Polly pour les rejouer ou les redistribuer en mode hors connexion. (En d’autres termes, ce que vous convertissez et enregistrez est à vous. Il n’existe pas de frais supplémentaires concernant l’utilisation de la synthèse vocale.) Polly est également facile à utiliser. Vous n’avez qu’à envoyer le texte que vous souhaitez convertir en parole à l’API Amazon Polly. Amazon Polly renvoie immédiatement le flux audio à votre application afin qu’elle puisse le lire directement ou le stocker sous un format de fichier audio standard, comme le MP3.
Dans cet atelier, vous allez créer une application serverless de base qui utilise Amazon Polly pour convertir du texte en parole. L’application dispose d’une interface utilisateur simple qui accepte du texte dans de nombreuses langues, puis le convertit en fichiers audio que vous pouvez lire dans votre navigateur web. Cet atelier utilise des articles de blog, mais vous pouvez vous servir de n’importe quel type de texte. Par exemple, lisez des recettes pendant que vous cuisinez, ou bien des articles de journaux ou des livres pendant que vous conduisez ou que vous faites du vélo.
Architecture de l’application
Comme il s’agit d’une application serverless, vous n’avez pas besoin de travailler avec des serveurs : ni mise en service, ni correctifs, ni mise à l’échelle. Le Cloud AWS s’en charge automatiquement, ce qui vous permet de vous concentrer sur votre application.
L’application propose deux méthodes : l’une pour envoyer des informations sur un nouvel article, qui doit être converti en fichier MP3, et l’autre pour récupérer ces informations (dont un lien vers le fichier MP3 stocké dans un compartiment Amazon S3). Les deux méthodes sont exposées en tant que services web RESTful via Amazon API Gateway.
Lorsque l’application envoie des informations sur de nouveaux articles :
1 Les informations sont reçues par le service web RESTful exposé par Amazon API Gateway. Ce service web est appelé par une page web statique hébergée sur Amazon Simple Storage Service (Amazon S3).
2 Amazon API Gateway déclenche une fonction AWS Lambda, New Post (Nouvel article), qui est chargée de lancer le processus de génération de fichiers MP3.
3 La fonction Lambda insère les informations sur l’article dans une table Amazon DynamoDB, où sont stockées les informations sur l’ensemble des articles.
4 Amazon Simple Notification Service (Amazon SNS) est utilisé pour exécuter l’ensemble du processus de manière asynchrone. Il permet de découpler le processus de réception des informations sur les nouveaux articles et de lancement de leur conversion en audio.
5 Une autre fonction Lambda, Convert to Audio (Convertir en audio), est abonnée à votre rubrique SNS et déclenchée à chaque fois qu’un nouveau message apparaît (cela signifie qu’un nouvel article doit être converti en fichier audio).
6 La fonction Lambda Convert to Audio utilise Amazon Polly pour convertir le texte en fichier audio dans la langue définie (la même que celle du texte).
7 Le nouveau fichier MP3 est enregistré dans un compartiment S3 dédié.
8 Les informations sur l’article sont mises à jour dans la table DynamoDB. L’URL du fichier audio stocké dans le compartiment S3 est enregistrée avec les données stockées précédemment.
Lorsque l’application récupère des informations sur de nouveaux articles :
1 Le service web RESTful est déployé à l’aide d’Amazon API Gateway. Amazon API Gateway expose la méthode de récupération des informations sur les articles. Ces méthodes contiennent le texte de l’article et le lien vers le compartiment S3 où est stocké le fichier MP3. Ce service web est appelé par une page web statique hébergée sur Amazon S3.
2 Amazon API Gateway appelle la fonction Lambda Get Post (Obtenir l’article) qui déploie la logique de récupération des données de l’article.
3 La fonction Lambda Get Post récupère les informations sur l’article (dont la référence à Amazon S3) à partir de la table DynamoDB, puis renvoie les informations.
Rubriques abordées
À la fin de cet atelier, vous serez en mesure d’effectuer les opérations suivantes :
- Créer une table Amazon DynamoDB pour stocker des données
- Créer une API RESTful Amazon API Gateway
- Créer des fonctions AWS Lambda déclenchées par API Gateway
- Connecter les fonctions AWS Lambda à Amazon Simple Notification Service (SNS)
- Utiliser Amazon Polly pour synthétiser de la parole dans de nombreuses langues et voix différentes
Signification des icônes
Cet atelier utilise de nombreuses icônes différentes pour attirer l’attention sur différents types d’instructions et de remarques. La liste suivante explique la raison d’être de chaque icône :
- Une commande que vous devez exécuter
- Un exemple de sortie que vous pouvez utiliser pour vérifier la sortie d’une commande ou d’un fichier modifié
- Un indice, une directive ou un conseil important
- Une information présentant un intérêt spécial ou d’une importance particulière (pas assez importante pour causer des problèmes avec l’équipement ou les données si vous n’y faites pas attention, mais qui pourrait vous amener à devoir répéter certaines étapes)
- AVERTISSEMENT : une action qui est irréversible et susceptible d’avoir une incidence sur l’échec d’une commande ou d’un processus (y compris les avertissements concernant les configurations ne pouvant pas être modifiées après leur mise en place).