

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Reproduza a fala fornecendo texto e colete dígitos de frequência múltipla de dois tons (DTMF) do usuário. O texto pode ser texto sem formatação ou texto aprimorado pela Speech Synthesis Markup Language (SSML) para fornecer mais controle sobre como o SDK do Amazon Chime gera fala adicionando pausas, enfatizando determinadas palavras ou alterando o estilo de fala, entre outros atributos SSML compatíveis. Se ocorrer uma falha, como um usuário não digitar o número correto de dígitos DTMF, a ação reproduz a fala de "falha" e, em seguida, reproduz a fala principal até que o aplicativo de mídia SIP esgote o número de tentativas definido no parâmetro `Repeat`.

O SDK do Amazon Chime usa o Amazon Polly, um serviço em nuvem que converte texto em fala realista. O Amazon Polly fornece um mecanismo-padrão e um mecanismo neural para melhorar a qualidade da fala, mais de 20 idiomas compatíveis e 60 vozes. O Amazon Polly fornece atributos de fala gratuitamente, mas você paga pelo uso do Amazon Polly. Consulte a [página de preços](https://aws.amazon.com/polly/pricing/) do Amazon Polly ou seu painel de cobrança para obter informações sobre preços.

**Importante**  
O uso do Amazon Polly está sujeito aos Termos de [AWS Serviço, incluindo os termos](https://aws.amazon.com/service-terms/) específicos dos Serviços de AWS Machine Learning e Inteligência Artificial.

**Topics**
+ [Usar a ação SpeakAndGetDigits](#speak-digits-action)
+ [Processar eventos ACTION\_SUCCESSFUL](#speak-digits-success)
+ [Processar eventos ACTION\_FAILED](#speak-digits-fail)
+ [Como usar a função vinculada ao serviço do conector de voz do SDK do Amazon Chime](#speak-digits-policy)

## Usar a ação SpeakAndGetDigits
<a name="speak-digits-action"></a>

O exemplo a seguir mostra um uso típico da ação `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**  
*Descrição* — O `CallId` do participante na CallDetails invocação da função Lambda.  
*Valores permitidos*: um `callID` válido  
*Obrigatório* – Sim  
*Valor-padrão*: não

**InputDigitsRegex**  
*Descrição* – Um padrão de expressão regular para ajudar a garantir que os usuários insiram os dígitos e letras corretos.  
*Valores permitidos*: um padrão de expressão regular válido  
*Obrigatório* – Não  
*Valor-padrão*: nenhum

**SpeechParameters.Engine**  
*Descrição* – Especifica o mecanismo – padrão ou neural – a ser usado ao processar texto para síntese de fala.  
*Valores permitidos*: `standard` \| `neural`  
*Obrigatório* – Não  
*Valor-padrão*: padrão

**SpeechParameters.LanguageCode**  
*Descrição* – Especifica o código do idioma. Isso só é necessário se estiver usando uma voz bilíngue. Se uma voz bilíngue for usada e nenhum código de idioma for especificado, o idioma-padrão da voz bilíngue é usado.  
*Valores permitidos*: [Códigos de idioma do Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Obrigatório* – Não  
*Valor-padrão*: nenhum

**SpeechParameters.Text**  
*Descrição* – Especifica o texto de entrada. Se você especificar `ssml` como `SpeechParameters.TextType`, você deve seguir o formato SSML para o texto de entrada. Para obter mais informações sobre SSML, consulte [Como gerar fala a partir de documentos SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) no *Guia do desenvolvedor do Amazon Polly.*  
*Valores permitidos*: string  
*Obrigatório* – Sim  
*Valor-padrão*: nenhum

**SpeechParameters.TextType**  
*Descrição* – Especifica o formato de texto para `SpeechParameters.Text`. Se não for especificado, `text` é usado como padrão. Para obter mais informações sobre SSML, consulte [Como gerar fala a partir de documentos SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) no *Guia do desenvolvedor do Amazon Polly.*  
*Valores permitidos*: `ssml` \| `text`  
*Obrigatório* – Não  
*Valor-padrão*: `text`

**SpeechParameters.VoiceId**  
*Descrição* – O ID da voz do Amazon Polly usada para falar o texto em `SpeechParameters.Text`.  
*Valores permitidos*: [IDs de voz do Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obrigatório* – Não  
*Valor-padrão*: Joanna

**FailureSpeechParameters.Engine**  
*Descrição* – Especifica o mecanismo – padrão ou neural — a ser usado ao processar a mensagem de falha usada quando o cliente insere uma resposta inválida para síntese de fala.  
*Valores permitidos*: `standard` \| `neural`  
*Obrigatório* – Não  
*Valor-padrão*: o valor `SpeechParameters.Engine`

**FailureSpeechParameters.LanguageCode**  
*Descrição* – especifica o código do idioma usado quando o cliente insere uma resposta inválida. Apenas necessário se estiver usando uma voz bilíngue. Se você usar voz bilíngue sem especificar um código de idioma, o idioma-padrão da voz bilíngue é usado.  
*Valores permitidos*: [Códigos de idioma do Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Obrigatório* – Não  
*Valor-padrão*: o valor `SpeechParameters.LanguageCode`.

**FailureSpeechParameters.Text**  
*Descrição* – especifica o texto de entrada falado quando o cliente insere uma resposta inválida. Se você especificar `ssml` como `FailureSpeechParameters.TextType`, você deve seguir o formato SSML para o texto de entrada.  
*Valores permitidos*: string  
*Obrigatório* – Sim  
*Valor-padrão*: nenhum

**FailureSpeechParameters.TextType**  
*Descrição* – Especifica se o texto de entrada especificado em `FailureSpeechParameters.Text` é sem formatação ou SSML. O valor-padrão é texto sem formatação. Para obter mais informações, consulte [Como gerar fala a partir de documentos SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) no *Guia do desenvolvedor do Amazon Polly.*  
*Valores permitidos*: `ssml` \| `text`  
*Obrigatório* – Não  
*Valor-padrão*: o valor `SpeechParameters.Text`

**FailureSpeechParameters.VoiceId**  
*Descrição* – O ID da voz usada para falar a string em `FailureSpeechParameters.Text`.  
*Valores permitidos*: [IDs de voz do Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obrigatório* – Sim  
*Valor-padrão*: o valor `SpeechParameters.VoiceId`

**MinNumberOfDigits**  
*Descrição* – O número mínimo de dígitos a serem capturados antes de atingir o tempo limite ou reproduzir a mensagem de "falha na chamada".  
*Valores permitidos*: maior ou igual a zero  
*Obrigatório* – Não  
*Valor-padrão*: 0

**MaxNumberOfDigits**  
*Descrição* – O número máximo de dígitos a serem capturados antes de parar sem um dígito final.  
*Valores permitidos*: maiores que `MinNumberOfDigits`  
*Obrigatório* – Não  
*Valor-padrão*: 128

**TerminatorDigits**  
*Descrição* — Dígito usado para finalizar a entrada se o usuário digitar menos do que MaxNumberOfDigits  
*Valores permitidos*: qualquer um dos seguintes: 0 1 2 3 4 5 6 7 8 9 \# ou \*  
*Obrigatório* – Não  
*Valor-padrão*: \#

**InBetweenDigitsDurationInMilliseconds**  
*Descrição* – O tempo de espera em milissegundos entre as entradas de dígitos antes de reproduzir a fala de falha.  
*Valores permitidos*: maiores que zero  
*Obrigatório* – Não  
*Valor-padrão*: Se não for especificado, o valor assumirá `RepeatDurationInMilliseconds` como padrão

**Repeat**  
*Descrição* – Número total de tentativas de obter dígitos. Se você omitir esse parâmetro, o valor-padrão será uma tentativa de coletar dígitos.  
*Valores permitidos*: maiores que zero  
*Obrigatório* – Não  
*Valor-padrão*: 1

**RepeatDurationInMilliseconds**  
*Descrição* – Tempo limite em milissegundos para cada tentativa de obter dígitos.  
*Valores permitidos*: maiores que zero  
*Obrigatório* – Sim  
*Valor-padrão*: nenhum

## Processar eventos ACTION\_SUCCESSFUL
<a name="speak-digits-success"></a>

O exemplo a seguir mostra um 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":{       
       ...
    }
}
```

## Processar eventos ACTION\_FAILED
<a name="speak-digits-fail"></a>

O exemplo a seguir mostra um 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":{       
       ...
    }
}
```

**Tratamento de erros**  
Essa tabela lista e descreve as mensagens de erro geradas pela ação `Speak`.


| Erro | Mensagem | Motivo | 
| --- | --- | --- | 
| `AccessDenied` | A função `AWSServiceRoleForAmazonChimeVoiceConnector` não está configurada corretamente. | A função usada para fazer solicitações ao Amazon Polly não existe ou há permissões ausentes. Para resolver, consulte as etapas na seção [Como usar a função vinculada ao serviço do conector de voz do SDK do Amazon Chime](#speak-digits-policy) | 
| `InvalidActionParameter` |   | Houve um erro ao validar os parâmetros da ação. Para analisar os parâmetros disponíveis para essa ação e suas opções, consulte [SynthesizeSpeech](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html) no Guia do desenvolvedor do Amazon Polly. | 
| `MissingRequiredActionParameter` | `Text` é um parâmetro obrigatório. | Os parâmetros de ação devem ter um valor `Text` | 
| `MissingRequiredActionParameter` | O `Text` é limitado a 1.000 caracteres | O texto excedeu o limite de caracteres. | 
| `SystemException` | Erro do sistema ao executar a ação. | Ocorreu um erro do sistema na execução da ação. | 

## Como usar a função vinculada ao serviço do conector de voz do SDK do Amazon Chime
<a name="speak-digits-policy"></a>

Você não precisa criar manualmente uma função vinculada ao serviço para as ações `Speak` ou `SpeakAndGetDigits`. Quando você cria ou atualiza um aplicativo de mídia SIP no console do Amazon Chime SDK, no ou na API, AWS Command Line Interface o Amazon Chime SDK cria AWS a função vinculada ao serviço para você.

Para obter mais informações, consulte a [função vinculada ao serviço do conector de voz do Amazon Chime](https://docs.aws.amazon.com/chime/latest/ag/using-service-linked-roles-stream.html), no *Guia do administrador do SDK do Amazon Chime*.