Speak - SDK do Amazon Chime

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 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, incluindo os termos específicos dos Serviços de Machine Learning e Inteligência Artificial.

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

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

InvalidActionParameter

 

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.

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

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