

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Speak
<a name="speak"></a>

Puede reproducir la voz en cualquier tramo de llamada proporcionando texto. Puede introducir texto sin formato o lenguaje de marcado de síntesis de voz (SSML). SSML proporciona un mayor control sobre la forma en que Amazon Chime SDK genera la voz al añadir pausas, hacer hincapié en determinadas palabras o cambiar el estilo de expresión.

El SDK de Amazon Chime utiliza el servicio Amazon Polly para realizar conversiones. text-to-speech Amazon Polly le permite elegir entre el motor estándar o el motor neuronal para mejorar la calidad de la voz. Amazon Polly admite más de 20 idiomas y 60 voces para personalizar la experiencia de usuario de la aplicación. Amazon Chime SDK ofrece características de voz sin costo alguno, pero usted paga por usar Amazon Polly. Consulte la [página de precios](https://aws.amazon.com/polly/pricing/) de Amazon Polly o su panel de facturación para obtener información sobre los precios.

**importante**  
El uso de Amazon Polly está sujeto a las [condiciones de servicio de AWS](https://aws.amazon.com/service-terms/), incluidas las condiciones específicas de los servicios de AWS Machine Learning e Inteligencia Artificial.

**Topics**
+ [Uso de Speak acción](#speak-action)
+ [Manipulación ACTION\$1SUCCESSFUL eventos](#speak-action-success)
+ [Manipulación ACTION\$1FAILED eventos](#speak-action-fail)
+ [Flujos de programas](#speak-flow)

## Uso de Speak acción
<a name="speak-action"></a>

En el ejemplo siguiente se muestra una utilización típica de la acción `Speak`.

```
{
    "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**  
*Descripción*: la `CallId` del participante en los `CallDetails` de la invocación de la función de Lambda  
*Valores permitidos*: un identificador de llamada válido  
*Obligatorio*: sí  
*Valor predeterminado:* ninguno

**Text**  
*Descripción*: especifica el texto de entrada que se va a sintetizar en voz. Si especifica `ssml` como `TextType`, siga el formato SSML para el texto de entrada.  
*Valores permitidos:* cadena  
*Obligatorio*: sí  
*Valor predeterminado:* ninguno

**Engine**  
*Descripción*: especifica el motor (estándar o neuronal) que se utilizará al procesar texto para la síntesis de voz.  
*Valores permitidos*: estándar \$1 neuronal  
*Obligatorio:* no  
*Valor predeterminado*: estándar

**LanguageCode**  
*Descripción:* especifica el código de lenguaje. Solo es necesario si se utiliza una voz bilingüe. Si utiliza una voz bilingüe sin código de idioma, se utiliza el idioma predeterminado de la voz bilingüe.  
*Valores permitidos*: códigos de lenguaje de [Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Obligatorio:* no  
*Valor predeterminado:* ninguno

**TextType**  
*Descripción*: especifica el tipo de texto de entrada, texto sin formato o SSML. Si no se especifica un tipo de entrada, se utiliza texto sin formato como predeterminado. Para obtener más información sobre SSML, consulte [Generación de voz a partir de documentos SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) en la *Guía para desarrolladores de Amazon Polly.*  
*Valores permitidos*: ssml \$1 texto  
*Obligatorio:* no  
*Valor predeterminado:* ninguno

**VoiceId**  
*Descripción*: especifica el ID de voz que desea usar.  
*Valores permitidos* — [Amazon Polly voice IDs](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obligatorio:* no  
*Valor predeterminado*: Joanna

## Manipulación ACTION\$1SUCCESSFUL eventos
<a name="speak-action-success"></a>

El siguiente ejemplo muestra un evento `ACTION_SUCCESSFUL` típico de una acción que sintetiza el texto «Hello World» en forma oral, en inglés, utilizando la voz de `Joanna` de Amazon Polly.

```
{
    "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":{       
       ...
    }
}
```

## Manipulación ACTION\$1FAILED eventos
<a name="speak-action-fail"></a>

En el siguiente ejemplo, se muestra un evento `ACTION_FAILED` típico del mismo evento utilizado en el ejemplo anterior.

```
{
    "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":{       
       ...
    }
}
```

**Gestión de errores**  
En esta tabla se enumeran y describen los mensajes de error generados por la acción `Speak`.


| Error | Mensaje | Motivo | 
| --- | --- | --- | 
| `AccessDenied` | La función `AWSServiceRoleForAmazonChimeVoiceConnector` vinculada al servicio no está configurada correctamente. | El rol vinculado al servicio que se utiliza para hacer solicitudes a Amazon Polly no existe o le faltan permisos. Para resolverlo, consulte los pasos de la sección [Uso de la función vinculada al servicio Amazon Chime SDK Voice Connector](speak-and-get-digits.md#speak-digits-policy) | 
| `InvalidActionParameter` |   | Se ha producido un error al validar los parámetros de acción. Consulte la [SynthesizeSpeech API](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech) en la *Guía para desarrolladores de Amazon Polly* para obtener más información sobre los parámetros. | 
| ActionExecutionThrottled | Amazon Polly está limitando la solicitud de sintetizar voz. | La solicitud a Amazon Polly devuelve una excepción de limitación. [Para obtener más información sobre los límites de regulación de Amazon Polly, consulta https://docs.aws.amazon.com/polly/ latest/dg/limits .html \$1limits -throttle.](https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle) | 
| `MissingRequiredActionParameter` | El `Text` ahora es un parámetro obligatorio. | Los parámetros de acción deben tener un valor `Text` | 
| `MissingRequiredActionParameter` | El `Text` está limitado a 1000 caracteres. | El texto ha superado el límite de caracteres. | 
| `SystemException` | Error del sistema al ejecutar la acción. | Se ha producido un error del sistema al ejecutar la acción. | 

## Flujos de programas
<a name="speak-flow"></a>

El siguiente diagrama muestra el flujo del programa que habilita la acción `Speak` para la persona que llama. En este ejemplo, la persona que llama escucha un texto que 

![\[Diagrama que muestra el flujo del programa para habilitar la acción Speak para la persona que llama.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/Speak1.png)


**En el diagrama**  
Con un teléfono móvil, la persona que llama introduce un número registrado en una aplicación multimedia SIP. La aplicación utiliza el método `INVITE` de SIP y envía una respuesta `Trying (100)` a la persona que llama. Esto indica que el servidor de siguiente salto recibió la solicitud de llamada. A continuación, la aplicación SIP utiliza `INVITE` para ponerse en contacto con el punto de conexión. Una vez establecida la conexión, las aplicaciones envían una respuesta `Ringing (180)` a la persona que llama y comienzan las alertas. 

A continuación, la aplicación multimedia SIP envía un evento `NEW_INBOUND_CALL` a la función de Lambda, que responde con una acción `Speak` que incluye el identificador de la persona que llama y el texto que se desea convertir en voz. A continuación, la aplicación SIP envía una respuesta `200 (OK)` para indicar que se ha respondido a la llamada. El protocolo también habilita los medios. 

Si la acción `Speak` se realiza correctamente y convierte el texto en voz, devuelve un evento `ACTION_SUCCESSFUL` a la aplicación multimedia SIP, que devuelve el siguiente conjunto de acciones. Si la acción falla, la aplicación multimedia SIP envía un evento `ACTION_FAILED` a la función de Lambda, que responde con un conjunto de acciones `Hangup`. La aplicación cuelga a la persona que llama y devuelve un evento `HANGUP` a la función de Lambda, que no realiza ninguna otra acción. 



El siguiente diagrama muestra el flujo del programa que habilita la acción `Speak` para la persona que recibe la llamada.

![\[Diagrama que muestra el flujo del programa para habilitar la acción Speak para una persona que recibe la llamada. Puede hacer lo siguiente en cualquier llamada puente.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/Speak2.png)


**En el diagrama**  
La persona que llama introduce un número registrado en una aplicación multimedia SIP y la aplicación responde como se describe en el diagrama anterior. Cuando la función de Lambda recibe el evento `NEW_INBOUND_CALL`, devuelve la acción [CallAndBridge](call-and-bridge.md) a la aplicación SIP. A continuación, la aplicación utiliza el método `INVITE` de SIP para enviar las respuestas `Trying (100)` y `Ringing (180)` a la persona que recibe la llamada. 

Si la persona que recibe la llamada responde, la aplicación multimedia SIP recibe una respuesta `200 (OK)` y envía la misma respuesta a la persona que llama. Esto establece los medios y la aplicación SIP envía un evento `ACTION_SUCCESSFUL` para la acción [CallAndBridge](call-and-bridge.md) a la función de Lambda. A continuación, la función devuelve la acción de voz y los datos a la aplicación SIP, que los convierte 