Apresentamos o Eleven v4Conheça o Eleven v4, nosso modelo mais expressivo até agora. Com 3x mais créditos incluídos no Creator+ até 12 de outubro

Pular para o conteúdo

Resumo do Webinar: Dê uma Voz Natural ao Seu Chatbot de Texto

Publicado
Última atualização

OuvirOuça este artigo

Os agentes de chat se tornaram parte padrão da infraestrutura de software corporativo. A maioria das empresas já tem um ou está desenvolvendo um. O que menos empresas descobriram é o que acontece quando um usuário prefere simplesmente falar.

A voz transforma a interação de maneiras que vão além da conveniência. Os usuários expressam frustração, urgência e confusão pelo tom de voz de formas que o texto elimina por completo. Um cliente que escreve "meu pedido não chegou" e outro que diz isso com ansiedade audível estão enviando sinais diferentes — e o agente que só consegue ler a transcrição trabalha com apenas metade das informações.

A pergunta que a maioria das equipes faz agora não é se deve adicionar voz, mas como fazer isso sem reconstruir tudo o que já funciona.

No Workshop ao vivo: Dê ao seu chatbot de texto uma voz que soe humana, Paul Asjes (Experiência do Desenvolvedor), Bhargavi Bhatt (Experiência do Cliente) e Fergal Burnett (Marketing de Produto, ElevenAPI) explicaram os aspectos técnicos de adicionar voz a um agente existente e mostraram como é, na prática, uma integração funcional.

Por que desenvolver com voz é mais difícil do que parece

Um dos principais desafios é a alternância de turnos. As pessoas sabem quando alguém terminou de falar por causa da entonação, do ritmo e do contexto. Já a detecção de atividade de voz (a abordagem padrão) detecta apenas o silêncio.

O resultado costuma ser um sistema que trata cada pausa como um convite para falar: interrompe, corta a pessoa no meio do raciocínio e reage a hesitações naturais como se fossem frases completas.

Ele é tecnicamente funcional, mas falha na conversa.

O contexto é a outra metade do problema. Enviar o histórico da conversa a um LLM a cada turno é necessário, mas não suficiente. As mesmas palavras têm significados diferentes dependendo de como são ditas — "estou bem" dito com alívio e "estou bem" dito com frustração geram a mesma transcrição, mas interações diferentes. Um sistema de voz que ignora essa dimensão sempre soará um pouco estranho, por melhores que sejam os modelos individuais.

Há também a sobrecarga de engenharia. As equipes que cuidam da própria orquestração de voz acabam mantendo a lógica de alternância de turnos, o tratamento de interrupções e a análise de latência como um trabalho contínuo. Não é algo feito uma única vez.

Como adicionar voz a um agente existente

A abordagem mais simples é uma arquitetura com dois WebSockets. 

  1. Uma conexão funciona entre o cliente e a API da ElevenLabs, e outra entre seu servidor e a API da ElevenLabs
  2. O usuário fala no microfone, o áudio é enviado à API da ElevenLabs, onde é transcrito e encaminhado ao seu servidor
  3. Seu servidor envia ao LLM todo o histórico da conversa que recebe da API da ElevenLabs, e a resposta transmitida volta para a síntese de áudio
  4. Isso pode começar antes de o LLM terminar de gerar a resposta, mantendo baixa a latência até o primeiro byte 

O principal ponto de integração é o método onTranscript , acionado ao fim de cada turno e que envia todo o histórico da conversa ao LLM. 

Um contextualUpdate no início da sessão mantém o que aconteceu na parte em texto da conversa antes de o usuário mudar para voz — permitindo que um único agente funcione nas duas modalidades sem perder o contexto.

speech-engine

Alguns pontos importantes para ter em mente ao desenvolver:

  1. A escolha do LLM importa mais na voz do que no chat. Modelos de raciocínio profundo introduzem pausas que soam como hesitação artificial no áudio, mesmo quando a qualidade da resposta é maior. Para voz em tempo real, modelos mais rápidos quase sempre têm melhor qualidade percebida.
  2. Prefira WebRTC a WebSockets para áudio. O WebRTC tem cancelamento de eco e ruído integrado, algo especialmente importante em dispositivos móveis ou ambientes barulhentos. Usar WebSockets para transportar áudio significa cuidar disso por conta própria.
  3. Não peça aos usuários que selecionem um idioma. Isso quebra o fluxo da conversa. Detectar o idioma nos primeiros segundos de fala e defini-lo é uma abordagem melhor — e permite alternâncias naturais sem exigir nenhuma ação do usuário.
  4. Separe seu modelo de alternância de turnos do LLM. Usar o LLM para decidir quando o usuário terminou de falar adiciona latência e custo a cada turno. Um modelo dedicado de alternância de turnos faz isso com mais rapidez e precisão, e vale a pena tratá-lo como um componente separado da arquitetura.

Quanta infraestrutura manter sob seu controle

A resposta certa depende do que já existe. Se você tem um agente de chat funcional, adicionar uma camada de voz por cima — mantendo seu LLM, sua orquestração e sua lógica de negócios intactos — costuma ser o caminho mais rápido e de menor risco. 

Você não está reconstruindo nada. Está adicionando uma interface de áudio a algo que já funciona.

Se os requisitos incluem telefonia, gerenciamento de canais de implantação, testes integrados e análises, faz sentido delegar uma parte maior da infraestrutura a uma plataforma de agentes de voz. As duas abordagens não são mutuamente exclusivas — as equipes podem começar com uma camada de voz leve e incorporar recursos de plataforma à medida que o caso de uso amadurece.

Demonstração: adicionando voz a um chatbot existente

Esta demonstração acompanha um usuário no meio de uma conversa com um chatbot de planejamento de viagens baseado em texto, pedindo recomendações de bairros e comidas para uma viagem ao Japão.

O que mostramos:

  • O chatbot recebeu uma camada de voz sem nenhuma alteração no agente subjacente.
  • O usuário passou de digitar para falar no meio da conversa — e o agente manteve todo o contexto nas duas modalidades.
  • O usuário falou em holandês; o agente detectou a mudança de idioma automaticamente
  • Quando o agente foi interrompido e solicitado a voltar ao inglês no meio da frase, ele fez isso — e terminou a resposta com um leve sotaque holandês, sem receber instruções para isso.
  • Durante toda a conversa, a detecção de interrupções permitiu que o usuário falasse por cima do agente naturalmente, sem que ele concluísse seu turno.

Por que isso importa: 

A demonstração não mostrava um agente de voz desenvolvido especificamente para isso. Ela mostrava um agente de texto que já funcionava, com uma camada de voz adicionada por cima. O gerenciamento de contexto, a detecção de idioma e o comportamento de interrupção vinham todos da camada de voz — o agente de texto subjacente não mudou. 

Assista à sessão completa

Assista ao webinar completo aqui.

Adicione voz ao seu agente existente em escala

Precisa de outra coisa? Acesse nossa Central de ajuda

ElevenLabs workshop on human-like chatbot voices, hosted by Paul Asjes, Bhargavi Bhatt, and Fergal Burnett.

Artigos relacionados

Crie com o áudio de IA da mais alta qualidade