

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.

# SpeakAndGetDigits
<a name="speak-and-get-digits"></a>

Reproduzca la voz proporcionando texto y recopile los dígitos multifrecuencia (DTMF) de doble tono del usuario. El texto puede ser texto sin formato o texto mejorado con el lenguaje de marcado de síntesis de voz (SSML) para proporcionar un mayor control sobre la forma en que Amazon Chime SDK genera la voz mediante la adición de pausas, el énfasis en determinadas palabras o el cambio del estilo de expresión, entre otras características de SSML compatibles. Si se produce un error, por ejemplo, si un usuario no introduce el número correcto de dígitos del DTMF, la acción reproduce el discurso de «fallo» y, a continuación, reproduce el discurso principal hasta que la aplicación multimedia SIP agote el número de intentos definido en el parámetro `Repeat`.

Amazon Chime SDK utiliza Amazon Polly, un servicio en la nube que convierte el texto en voz realista. Amazon Polly proporciona un motor estándar y uno neuronal para mejorar la calidad de la voz, más de 20 idiomas compatibles y 60 voces. Amazon Polly 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 el panel de facturación para obtener información sobre los precios.

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

**Topics**
+ [Uso de la acción SpeakAndGetDigits](#speak-digits-action)
+ [Gestión de eventos de ACTION\_SUCCESSFUL](#speak-digits-success)
+ [Gestión de eventos de ACTION\_FAILED](#speak-digits-fail)
+ [Uso de la función vinculada al servicio Amazon Chime SDK Voice Connector](#speak-digits-policy)

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

En el ejemplo siguiente, se muestra una utilización típica de la acción `SpeakAndGetDigits`:

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          // required
                "InputDigitsRegex": "{{^\d{2}#$}}", // optional
                "SpeechParameters": {
                    "Text": "{{Hello World}}",      // required
                    "Engine": "{{neural}}",         // optional. Defaults to standard
                    "LanguageCode": "{{en-US}}",    // optional
                    "TextType": "{{text}}",         // optional
                    "VoiceId": "{{Joanna}}"         // optional. Defaults to Joanna
                },
                "FailureSpeechParameters": {
                    "Text": "{{Hello World}}",      // required
                    "Engine": "{{neural}}",         // optional. Defaults to the Engine value in SpeechParameters
                    "LanguageCode": "{{en-US}}",    // optional. Defaults to the LanguageCode value in SpeechParameters
                    "TextType": "{{text}}",         // optional. Defaults to the TextType value in SpeechParameters
                    "VoiceId": "{{Joanna}}"         // optional. Defaults to the VoiceId value in SpeechParameters
                },
                "MinNumberOfDigits": {{3}},         // optional
                "MaxNumberOfDigits": {{5}},         // optional
                "TerminatorDigits": ["{{#}}"],      // optional
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  // optional
                "Repeat": {{3}},                    // optional
                "RepeatDurationInMilliseconds": {{10000}}           // required
            }
        }
    ]
}
```

**CallId**  
*Descripción*: el `CallId` del participante en la CallDetails invocación de la función Lambda.  
*Valores permitidos*: un `callID` válido  
*Obligatorio*: sí  
*Valor predeterminado*: No

**InputDigitsRegex**  
*Descripción*: patrón de expresión regular que ayuda a garantizar que los usuarios escriban los dígitos y letras correctos.  
*Valores permitidos*: un patrón de expresión regular válido  
*Obligatorio:* no  
*Valor predeterminado:* ninguno

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

**SpeechParameters.LanguageCode**  
*Descripción:* especifica el código de lenguaje. Esto solo es necesario si se utiliza una voz bilingüe. Si se usa una voz bilingüe y no se especifica ningún código de idioma, se usa 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

**SpeechParameters.Text**  
*Descripción:* especifica el texto de entrada. Si especifica `ssml` como `SpeechParameters.TextType`, debe seguir el formato SSML para el texto de entrada. 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:* cadena  
*Obligatorio*: sí  
*Valor predeterminado:* ninguno

**SpeechParameters.TextType**  
*Descripción: * especifica el formato de texto para `SpeechParameters.Text`. Si no se especifica ninguno, se utilizará `text` de forma predeterminada. 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` \| `text`  
*Obligatorio:* no  
*Valor predeterminado:* - `text`

**SpeechParameters.VoiceId**  
*Descripción*: el identificador de la voz de Amazon Polly utilizada para pronunciar el texto en `SpeechParameters.Text`.  
*Valores permitidos*: identificadores de voz de [Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obligatorio:* no  
*Valor predeterminado*: Joanna

**FailureSpeechParameters.Engine**  
*Descripción*: especifica el motor (estándar o neuronal) que se utilizará al procesar el mensaje de error que se utiliza cuando el cliente introduce una respuesta no válida para la síntesis de voz.  
*Valores permitidos* – `standard` \| `neural`  
*Obligatorio:* no  
*Valor predeterminado*: el valor `SpeechParameters.Engine`

**FailureSpeechParameters.LanguageCode**  
*Descripción*: especifica el código de idioma utilizado cuando el cliente introduce una respuesta no válida. Solo es necesario cuando se utiliza una voz bilingüe. Si utiliza una voz bilingüe sin especificar un código de idioma, se utilizará 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*: el valor `SpeechParameters.LanguageCode`.

**FailureSpeechParameters.Text**  
*Descripción*: especifica el texto de entrada que se pronunciará cuando el cliente introduzca una respuesta no válida. Si especifica `ssml` como `FailureSpeechParameters.TextType`, debe seguir el formato SSML para el texto de entrada.  
*Valores permitidos:* cadena  
*Obligatorio*: sí  
*Valor predeterminado:* ninguno

**FailureSpeechParameters.TextType**  
*Descripción*: especifica si el texto de entrada especificado en `FailureSpeechParameters.Text` es texto plano o SSML. El valor predeterminado es texto sin formato. Para obtener más información, 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` \| `text`  
*Obligatorio:* no  
*Valor predeterminado*: el valor `SpeechParameters.Text`

**FailureSpeechParameters.VoiceId**  
*Descripción*: el identificador de la voz utilizada para pronunciar la cadena en `FailureSpeechParameters.Text`.  
*Valores permitidos*: identificadores de voz de [Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obligatorio*: sí  
*Valor predeterminado*: el valor `SpeechParameters.VoiceId`

**MinNumberOfDigits**  
*Descripción*: el número mínimo de dígitos que se deben capturar antes de que se agote el tiempo de espera o se reproduzca el mensaje de «llamada fallida».  
*Valores permitidos*: mayor o igual que cero  
*Obligatorio:* no  
*Valor predeterminado:* 0

**MaxNumberOfDigits**  
*Descripción*: el número máximo de dígitos que se deben capturar antes de detenerse sin un dígito final.  
*Valores permitidos*: superiores a `MinNumberOfDigits`  
*Obligatorio:* no  
*Valor predeterminado*: 128

**TerminatorDigits**  
*Descripción*: dígito que se utiliza para finalizar la entrada si el usuario introduce un valor inferior al MaxNumberOfDigits  
*Valores permitidos*: cualquiera de los siguientes: 0 1 2 3 4 5 6 7 8 9 \# o \*  
*Obligatorio:* no  
*Valor predeterminado*: \#

**InBetweenDigitsDurationInMilliseconds**  
*Descripción*: el tiempo de espera en milisegundos entre las entradas de dígitos antes de reproducir la voz de error.  
*Valores permitidos*: superiores a cero  
*Obligatorio:* no  
*Valor predeterminado*: si no se especifica, el valor predeterminado es `RepeatDurationInMilliseconds`.

**Repeat**  
*Descripción*: número total de intentos de obtener dígitos. Si omite este parámetro, el valor predeterminado es un intento de recopilar dígitos.  
*Valores permitidos*: superiores a cero  
*Obligatorio:* no  
*Valor predeterminado*: 1

**RepeatDurationInMilliseconds**  
*Descripción*: tiempo de espera en milisegundos para cada intento de obtener dígitos.  
*Valores permitidos*: superiores a cero  
*Obligatorio*: sí  
*Valor predeterminado:* ninguno

## Gestión de eventos de ACTION\_SUCCESSFUL
<a name="speak-digits-success"></a>

En el siguiente ejemplo, se muestra un evento `ACTION_SUCCESSFUL` típico.

```
{
    "SchemaVersion": "1.0",
    "Sequence": 3,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          
                "InputDigitsRegex":  "{{^\d{2}#$}}", 
                "SpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode": "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType":  "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode":  "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType": "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "MinNumberOfDigits": {{3}},         
                "MaxNumberOfDigits": {{5}},         
                "TerminatorDigits": ["{{#}}"],      
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  
                "Repeat": {{3}},                    
                "RepeatDurationInMilliseconds": {{10000}}           
            },
            "ReceivedDigits": "{{1234}}"
    },
    "CallDetails":{       
       ...
    }
}
```

## Gestión de eventos de ACTION\_FAILED
<a name="speak-digits-fail"></a>

En el siguiente ejemplo, se muestra un evento `ACTION_FAILED` típico.

```
{
    "SchemaVersion": "1.0",
    "Sequence":2,
    "InvocationEventType": "ACTION_FAILED",
    "ActionData":{
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          
                "InputDigitsRegex":  "{{^\d{2}#$}}", 
                "SpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode": "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType":  "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode":  "{{en-US}}",    
                    "Text":  "{{Hello World}}",          
                    "TextType": "{{text}}",        
                    "VoiceId": "{{Joanna}}"        
                },
                "MinNumberOfDigits": {{3}},      
                "MaxNumberOfDigits": {{5}},        
                "TerminatorDigits": ["{{#}}"],      
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  
                "Repeat": {{3}},                    
                "RepeatDurationInMilliseconds": {{10000}}         
            },
            "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` | El rol `AWSServiceRoleForAmazonChimeVoiceConnector` no se ha configurado correctamente. | El rol utilizado para realizar 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-digits-policy) | 
| `InvalidActionParameter` |   | Se ha producido un error al validar los parámetros de acción. Para revisar los parámetros disponibles para esta acción y sus opciones, consulte [SynthesizeSpeech](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html) en la Guía para desarrolladores de Amazon Polly. | 
| `MissingRequiredActionParameter` | El `Text` ahora es un parámetro obligatorio. | Los parámetros de la 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. | 

## Uso de la función vinculada al servicio Amazon Chime SDK Voice Connector
<a name="speak-digits-policy"></a>

No necesita crear manualmente el rol vinculado al servicio para las acciones `Speak` o `SpeakAndGetDigits`. Al crear o actualizar una aplicación multimedia SIP en la consola, la o la AWS API del SDK de Amazon Chime AWS Command Line Interface, el SDK de Amazon Chime crea el rol vinculado al servicio por usted.

Para obtener más información, consulte [Uso del rol vinculado al servicio de Amazon Chime](https://docs.aws.amazon.com/chime/latest/ag/using-service-linked-roles-stream.html) en la *Guía del administrador de Amazon Chime SDK.*