

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á.

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

Você pode reproduzir a fala em qualquer trecho de chamada fornecendo texto. Você pode usar texto sem formatação ou Speech Synthesis Markup Language (SSML). O SSML fornece mais controle sobre como o SDK do Amazon Chime gera fala adicionando pausas, enfatizando determinadas palavras ou alterando o estilo de fala.

O Amazon Chime SDK usa o serviço Amazon Polly para converter. text-to-speech O Amazon Polly permite que você escolha entre o mecanismo-padrão ou neural para melhorar a qualidade da fala. O Amazon Polly oferece suporte a mais de 20 idiomas e 60 vozes para personalizar a experiência do usuário do seu aplicativo. O SDK do Amazon Chime 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 Serviço da AWS](https://aws.amazon.com/service-terms/), incluindo os termos específicos dos Serviços de Machine Learning e Inteligência Artificial.

**Topics**
+ [Usar o Speak action](#speak-action)
+ [Manuseio ACTION\$1SUCCESSFUL eventos](#speak-action-success)
+ [Manuseio ACTION\$1FAILED eventos](#speak-action-fail)
+ [Fluxos de programas](#speak-flow)

## Usar o Speak action
<a name="speak-action"></a>

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

**Text**  
*Descrição* – Especifica o texto de entrada a ser sintetizado em fala. Se você especificar `ssml` como `TextType`, siga o formato SSML para o texto de entrada.  
*Valores permitidos*: string  
*Obrigatório* – Sim  
*Valor-padrão*: nenhum

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

**LanguageCode**  
*Descrição* – Especifica o código do idioma. Apenas necessário se estiver usando uma voz bilíngue. Se você usar uma 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*: nenhum

**TextType**  
*Descrição* – Especifica o tipo de texto de entrada, texto sem formatação ou SSML. Se um tipo de entrada não for especificado, o texto sem formatação será 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 \$1 text  
*Obrigatório* – Não  
*Valor-padrão*: nenhum

**VoiceId**  
*Descrição* – Especifica o ID da voz que você deseja usar.  
*Valores permitidos* — [Amazon Polly voice IDs](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Obrigatório* – Não  
*Valor-padrão*: Joanna

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

O exemplo a seguir mostra um evento `ACTION_SUCCESSFUL` típico para uma ação que sintetiza o texto "Hello World" em fala, em inglês, usando a voz `Joanna` do 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":{       
       ...
    }
}
```

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

O exemplo a seguir mostra um evento `ACTION_FAILED` típico para o mesmo evento usado no exemplo 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":{       
       ...
    }
}
```

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


| Erro | Mensagem | Motivo | 
| --- | --- | --- | 
| `AccessDenied` | A função vinculada ao serviço `AWSServiceRoleForAmazonChimeVoiceConnector` não está configurada corretamente. | A função vinculada ao serviç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-and-get-digits.md#speak-digits-policy) | 
| `InvalidActionParameter` |   | Houve um erro ao validar os parâmetros da ação. Consulte a [SynthesizeSpeech API](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech) no *Amazon Polly Developer Guide* para obter mais informações sobre parâmetros. | 
| ActionExecutionThrottled | O Amazon Polly está controlando a utilização da solicitação para sintetizar a fala. | A solicitação para o Amazon Polly está retornando uma exceção de controle de utilização. [Para obter mais informações sobre os limites de limitação do Amazon Polly, consulte 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` | `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. | 

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

O diagrama a seguir mostra o fluxo do programa que ativa a ação `Speak` para um chamador. Neste exemplo, o chamador ouve um texto que 

![\[Diagrama mostrando o fluxo do programa para ativar a ação Speak para um chamador.\]](http://docs.aws.amazon.com/pt_br/chime-sdk/latest/dg/images/Speak1.png)


**No diagrama**  
Usando um telefone virtual, o chamador insere um número registrado em um aplicativo de mídia SIP. O aplicativo usa o método `INVITE` SIP e envia uma resposta `Trying (100)` ao chamador. Isso indica que o servidor de próximo salto recebeu a solicitação de chamada. O aplicativo SIP usa `INVITE` para entrar em contato com o endpoint. Depois que a conexão é estabelecida, os aplicativos enviam uma resposta `Ringing (180)` ao chamador e o alerta é iniciado. 

Em seguida, o aplicativo de mídia SIP envia um evento `NEW_INBOUND_CALL` para a função do Lambda, que responde com uma ação `Speak` que inclui o ID do chamador e o texto que você deseja converter em fala. O aplicativo SIP então envia uma resposta `200 (OK)` para indicar que a chamada foi atendida. O protocolo também ativa a mídia. 

Se a ação `Speak` for bem-sucedida e converter o texto em fala, ela retornará um evento`ACTION_SUCCESSFUL` para o aplicativo de mídia SIP, que retornará o próximo conjunto de ações. Se a ação falhar, o aplicativo de mídia SIP envia um evento `ACTION_FAILED` para a função do Lambda, que responde com um conjunto de ações `Hangup`. O aplicativo desliga o chamador e retorna um evento `HANGUP` para a função do Lambda, que não realiza nenhuma ação adicional. 



O diagrama a seguir mostra o fluxo do programa que ativa a ação `Speak` para um receptor da chamada.

![\[Diagrama mostrando o fluxo do programa para ativar a ação Speak para um receptor da chamada. Você pode fazer isso em qualquer chamada ancorada.\]](http://docs.aws.amazon.com/pt_br/chime-sdk/latest/dg/images/Speak2.png)


**No diagrama**  
Um chamador insere um número registrado em um aplicativo de mídia SIP e o aplicativo responde conforme descrito no diagrama anterior. Quando a função do Lambda recebe o evento `NEW_INBOUND_CALL`, ela retorna a ação [CallAndBridge](call-and-bridge.md) para o aplicativo SIP. O aplicativo usa o método `INVITE` SIP e envia as respostas `Trying (100)` e `Ringing (180)` ao receptor da chamada. 

Se o receptor da chamada atender, o aplicativo de mídia SIP receberá uma resposta `200 (OK)` e enviará a mesma resposta ao chamador. Isso estabelece a mídia, e o aplicativo SIP envia um evento `ACTION_SUCCESSFUL` para a ação [CallAndBridge](call-and-bridge.md) para a função do Lambda. A função então retorna a ação Speak e os dados para o aplicativo SIP, que converte 