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
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 SDK do Amazon Chime usa o serviço Amazon Polly para converter texto em fala. 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
Importante
O uso do Amazon Polly está sujeito aos Termos de Serviço da AWS
Tópicos
Usar a ação Speak
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 noCallDetails
da invocação da função do LambdaValores 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
comoTextType
, 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 | 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
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 no Guia do desenvolvedor do Amazon Polly.
Valores permitidos: ssml | text
Obrigatório – Não
Valor padrão: nenhum
- VoiceId
-
Descrição – Especifica o ID da voz que você deseja usar.
Valores permitidos: IDs de voz do Amazon Polly
Obrigatório – Não
Valor-padrão: Joanna
Processar eventos ACTION_SUCCESSFUL
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":{ ... } }
Processar eventos ACTION_FAILED
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":{ ... } }
Tratamento de erros
Essa tabela lista e descreve as mensagens de erro geradas pela ação Speak
.
Erro | Message | Motivo |
---|---|---|
|
A função vinculada ao serviço |
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 |
|
|
Houve um erro ao validar os parâmetros da ação. Consulte a API SynthesizeSpeech no Guia do desenvolvedor do Amazon Polly 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 controle de utilização do Amazon Polly, consulte https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle. |
|
|
Os parâmetros de ação devem ter um valor |
|
O |
O texto excedeu o limite de caracteres. |
|
Erro do sistema ao executar a ação. |
Ocorreu um erro do sistema na execução da ação. |
Fluxos de programas
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.](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 eventoACTION_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.](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 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 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