

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
<a name="speak"></a>

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 le texte en parole. 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](https://aws.amazon.com/polly/pricing/) 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](https://aws.amazon.com/service-terms/), y compris les conditions spécifiques aux services AWS Machine Learning et d'intelligence artificielle.

**Topics**
+ [Utilisation de l'Speakaction](#speak-action)
+ [Gestion des ACTION\_SUCCESSFUL événements](#speak-action-success)
+ [Gestion des ACTION\_FAILED événements](#speak-action-fail)
+ [Flux de programmes](#speak-flow)

## Utilisation de l'Speakaction
<a name="speak-action"></a>

L'exemple suivant montre une utilisation typique de l'`Speak`action.

```
{
    "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écifiez`TextType`, 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](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Obligatoire* — Non  
*Valeur par défaut* – Aucune

**TextType**  
*Description* — Spécifie le type de texte d'entrée, de texte brut ou de 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](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) 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ées* — [Identifiants vocaux Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obligatoire* — Non  
*Valeur par défaut* — Joanna

## Gestion des ACTION\_SUCCESSFUL événements
<a name="speak-action-success"></a>

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
<a name="speak-action-fail"></a>

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'`Speak`action.


| 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](speak-and-get-digits.md#speak-digits-policy) section | 
| `InvalidActionParameter` |   | Une erreur s'est produite lors de la validation des paramètres de l'action. Consultez l'[SynthesizeSpeech API](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech) 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 \#limits -throttle. https://docs.aws.amazon.com/polly/latest/dg/limits.html](https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle) | 
| `MissingRequiredActionParameter` | `Text`est un paramètre obligatoire. | Les paramètres d'action doivent avoir une `Text` valeur | 
| `MissingRequiredActionParameter` | `Text`est 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
<a name="speak-flow"></a>

Le schéma suivant montre le flux du programme qui active l'`Speak`action 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.](http://docs.aws.amazon.com/fr_fr/chime-sdk/latest/dg/images/Speak1.png)


**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'`Speak`action 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'`Hangup`actions. 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'`Speak`action 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é.](http://docs.aws.amazon.com/fr_fr/chime-sdk/latest/dg/images/Speak2.png)


**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'[CallAndBridge](call-and-bridge.md)action à 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'[CallAndBridge](call-and-bridge.md)action à la fonction Lambda. La fonction renvoie ensuite l'action Speak et les données à l'application SIP, qui convertit 