Speak - Kit SDK Amazon Chime

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Speak

Vous pouvez lire la parole sur n'importe quel segment d'appel en fournissant du texte. Vous pouvez utiliser du texte brut ou le langage de balisage de synthèse vocale (SSML). SSML permet de mieux contrôler la manière dont le SDK Amazon Chime génère la parole en ajoutant des pauses, en soulignant certains mots ou en modifiant le style de parole.

Le SDK Amazon Chime utilise le service Amazon Polly pour convertir. text-to-speech Amazon Polly vous permet de choisir entre le moteur standard ou le moteur neuronal pour une meilleure qualité vocale. Amazon Polly prend en charge plus de 20 langues et 60 voix pour personnaliser l'expérience utilisateur de votre application. Le SDK Amazon Chime fournit des fonctionnalités vocales gratuitement, mais l'utilisation d'Amazon Polly est payante. Consultez la page de tarification d'Amazon Polly ou votre tableau de bord de facturation pour obtenir des informations sur les prix.

Important

L'utilisation d'Amazon Polly est soumise aux conditions de service AWS, y compris les conditions spécifiques aux services AWS Machine Learning et d'intelligence artificielle.

Utilisation de l'Speakaction

L'exemple suivant montre une utilisation typique de l'Speakaction.

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "Speak", "Parameters": { "Text": "Hello, World!", // required "CallId": "call-id-1", // required "Engine": "neural", // optional. Defaults to standard "LanguageCode": "en-US", // optional "TextType": "text", // optional "VoiceId": "Joanna" // optional. Defaults to Joanna } } ] }
CallId

Description — Le CallId participant à l'invocation CallDetails de la fonction Lambda

Valeurs autorisées : un identifiant d'appel valide

Obligatoire — Oui

Valeur par défaut – Aucune

Text

Description — Spécifie le texte d'entrée à synthétiser sous forme vocale. Si vous ssml le spécifiezTextType, suivez le format SSML pour le texte d'entrée.

Valeurs autorisées — Chaîne

Obligatoire — Oui

Valeur par défaut – Aucune

Engine

Description — Spécifie le moteur (standard ou neuronal) à utiliser lors du traitement de texte pour la synthèse vocale.

Valeurs autorisées — standard | neuronal

Obligatoire — Non

Valeur par défaut — standard

LanguageCode

Description — Spécifie le code de langue. Nécessaire uniquement si vous utilisez une voix bilingue. Si vous utilisez une voix bilingue sans code de langue, la langue par défaut de la voix bilingue est utilisée.

Valeurs autorisées — Codes de langue Amazon Polly

Obligatoire — Non

Valeur par défaut – Aucune

TextType

Description — Spécifie le type de texte d'entrée, texte brut ou SSML. Si aucun type de saisie n'est spécifié, le texte brut est utilisé par défaut. Pour plus d'informations sur le protocole SSML, consultez la section Génération de discours à partir de documents SSML dans le manuel Amazon Polly Developer Guide.

Valeurs autorisées — ssml | texte

Obligatoire — Non

Valeur par défaut – Aucune

VoiceId

Description — Spécifie l'ID de voix que vous souhaitez utiliser.

Valeurs autoriséesIdentifiants vocaux Amazon Polly

Obligatoire — Non

Valeur par défaut — Joanna

Gestion des ACTION_SUCCESSFUL événements

L'exemple suivant montre un ACTION_SUCCESSFUL événement typique d'une action qui synthétise le texte « Hello World » en discours, en anglais, en utilisant la voix d'Amazon Polly. Joanna

{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" } }, "CallDetails":{ ... } }

Gestion des ACTION_FAILED événements

L'exemple suivant montre un ACTION_FAILED événement typique pour le même événement que celui utilisé dans l'exemple précédent.

{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "Speak", "Parameters": { "CallId": "call-id-1", "Engine": "neural", "LanguageCode": "en-US", "Text": "Hello World", "TextType": "text", "VoiceId": "Joanna" }, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
Gestion des erreurs

Ce tableau répertorie et décrit les messages d'erreur générés par l'Speakaction.

Erreur Message Raison

AccessDenied

Le rôle AWSServiceRoleForAmazonChimeVoiceConnector lié au service n'est pas configuré correctement.

Le rôle lié au service utilisé pour envoyer des demandes à Amazon Polly n'existe pas ou ne dispose pas d'autorisations. Pour résoudre le problème, consultez les étapes décrites dans la Utilisation du rôle lié au service Amazon Chime SDK Voice Connector section

InvalidActionParameter

 

Une erreur s'est produite lors de la validation des paramètres de l'action. Consultez l'SynthesizeSpeech API dans le guide du développeur Amazon Polly pour plus d'informations sur les paramètres.

ActionExecutionThrottled Amazon Polly limite la demande de synthèse vocale. La demande adressée à Amazon Polly renvoie une exception de limitation. Pour plus d'informations sur les limites de limitation d'Amazon Polly, consultez https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle.

MissingRequiredActionParameter

Textest un paramètre obligatoire.

Les paramètres d'action doivent avoir une Text valeur

MissingRequiredActionParameter

Textest limité à 1 000 caractères

Le texte a dépassé la limite de caractères.

SystemException

Erreur système lors de l'exécution de l'action.

Une erreur système s'est produite lors de l'exécution de l'action.

Flux de programmes

Le schéma suivant montre le flux du programme qui active l'Speakaction pour un appelant. Dans cet exemple, l'appelant entend un texte qui

Schéma illustrant le déroulement du programme permettant d'activer l'Speakaction pour un appelant.
Dans le schéma

À l'aide d'un téléphone logiciel, l'appelant saisit un numéro enregistré dans une application multimédia SIP. L'application utilise la INVITE méthode SIP et envoie une Trying (100) réponse à l'appelant. Cela indique que le serveur du saut suivant a reçu la demande d'appel. L'application SIP contacte INVITE ensuite le point de terminaison. Une fois la connexion établie, les applications envoient Ringing (180) une réponse à l'appelant et l'alerte commence.

L'application multimédia SIP envoie ensuite un NEW_INBOUND_CALL événement à la fonction Lambda, qui répond par une Speak action incluant l'identifiant de l'appelant et le texte que vous souhaitez convertir en voix. L'application SIP envoie ensuite une 200 (OK) réponse indiquant que l'appel a été répondu. Le protocole active également les médias.

Si l'Speakaction réussit et convertit le texte en parole, elle renvoie un ACTION_SUCCESSFUL événement à l'application multimédia SIP, qui renvoie la série d'actions suivante. Si l'action échoue, l'application multimédia SIP envoie un ACTION_FAILED événement à la fonction Lambda, qui répond par un ensemble d'Hangupactions. L'application raccroche l'appelant et renvoie un HANGUP événement à la fonction Lambda, qui n'entreprend aucune autre action.

Le schéma suivant montre le déroulement du programme qui active l'Speakaction pour un appelé.

Schéma illustrant le déroulement du programme permettant d'activer l'Speakaction pour un appelé. Vous pouvez le faire pour n'importe quel appel ponté.
Dans le schéma

Un appelant saisit un numéro enregistré dans une application multimédia SIP, et l'application répond comme décrit dans le schéma précédent. Lorsque la fonction Lambda reçoit l'NEW_INBOUND_CALLévénement, elle renvoie l'CallAndBridgeaction à l'application SIP. L'application utilise ensuite la INVITE méthode SIP pour envoyer les Ringing (180) réponses Trying (100) et à l'appelé.

Si l'appelé répond, l'application multimédia SIP reçoit une 200 (OK) réponse et envoie la même réponse à l'appelant. Cela établit le média, et l'application SIP envoie un ACTION_SUCCESSFUL événement pour l'CallAndBridgeaction à la fonction Lambda. La fonction renvoie ensuite l'action Speak et les données à l'application SIP, qui convertit