Uma voz que respira antes de responder.
Trinta e duas vozes prontas em português, com entonação que muda conforme o assunto e o primeiro áudio saindo em 85 milissegundos. Escute a diferença no painel ao lado.
O número que decide é o primeiro áudio
Duas ferramentas podem levar o mesmo tempo para sintetizar uma frase inteira e soar completamente diferentes na conversa. O que separa as duas é quando o primeiro byte de som existe.
Gerar enquanto fala, não falar depois de gerar
Motores de síntese antigos precisam terminar a frase inteira antes de existir um único byte de áudio. É por isso que uma frase curta e uma frase longa têm silêncios tão diferentes: você espera pela última palavra para ouvir a primeira.
O nosso decodificador é causal: ele emite áudio enquanto ainda está gerando o resto. O começo da frase já está tocando no seu ouvido enquanto o fim ainda está sendo escrito.
Na prática, isso tirou o turno de conversa de 1.217 ms para cerca de 930 ms, abaixo de um segundo, que é o limiar em que uma pausa deixa de parecer travamento.
Tempo até o primeiro áudio, medido em execuções repetidas com a mesma frase.
Faixa observada de 85 a 134 ms. O pior caso ainda é 3× melhor que a nuvem.
Da última palavra dela à primeira palavra da resposta.
Com o pior caso ainda dentro do orçamento de 300 ms.
Mais variantes de Portugal, e o catálogo cresce a cada mês.
O que faz soar humano
Nenhuma delas é “um modelo melhor”. São decisões sobre o que acontece com o texto antes de virar som.
O tom vem do momento
A entonação sai da etapa da conversa: abertura, descoberta, proposta, fechamento. Perguntar a um modelo “qual o tom desta frase?” custaria uma chamada no caminho crítico, e o caminho crítico é exatamente o silêncio que a pessoa sente.
A frase vence o momento
Quando a frase é inequívoca, ela manda. Um “sinto muito” dito com entusiasmo é pior que um dito em tom neutro, e detectar isso é casamento de padrão, não inteligência artificial.
O texto vira fala antes de virar som
Valores, horas, datas, CPF, CNPJ e siglas são reescritos como uma pessoa os diria. “R$ 1.290,00” é lido como valor, não como dígitos soltos.
Os nomes próprios são corrigidos
A última passada troca a grafia pela que soa certo em português, e só em nomes reconhecidos como tal. O texto original continua intacto em todo o resto do sistema.
Escolha o tom na mão quando quiser
O automático acerta na maioria das vezes. Quando não acerta, você escreve como quer, em português, não em parâmetros.
“Fale devagar, em tom grave.” “Empolgada, como quem dá boa notícia.” “Contida, sem pressa.” O texto que você digitou vence a decisão automática naquela frase.
Seu certificado está pronto para retirada. 3,12 s
Seu certificado está pronto para retirada. 3,60 s
Ela realmente desacelera. Custo em latência: 4 ms.
A voz nunca fica muda
Uma síntese que falha no meio de um atendimento não é um erro técnico: é um cliente ouvindo silêncio na linha e desligando.
Por isso existe uma escada de motores. Se o escolhido cair, o seguinte assume, e a troca só acontece antes de qualquer coisa ter sido dita, porque refazer no meio faria o ouvinte escutar o começo duas vezes, com timbres diferentes.
Se todos falharem, o atendimento continua por texto. A síntese nunca derruba a conversa.
Como chamar
const ws = new WebSocket(
"wss://api.voicespeak.app/v1/falar", ["bearer", chave])
ws.onopen = () => ws.send(JSON.stringify({
voz: "helena",
formato: "pcm_24000", // ou ulaw_8000, mp3_44100
tom: "acolhedor, sem pressa",
texto: "Seu certificado está pronto. Posso confirmar a retirada?"
}))
// o primeiro pedaço chega em ~85 ms; toque assim que chegar
ws.onmessage = (e) => tocar(e.data)curl -X POST https://api.voicespeak.app/v1/falar \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-o resposta.mp3 \
-d '{
"voz": "otavio",
"formato": "mp3_44100",
"texto": "O boleto de R$ 1.290,00 vence em 22/09."
}'
# sai falado: "mil duzentos e noventa reais", "vinte e dois de setembro"from voicespeak import Cliente
vs = Cliente(chave="sk_live_…")
with vs.falar_stream(
voz="beatriz",
texto="Bom dia! Aqui é da Biz Certificadora.",
tom="animada, como quem dá boa notícia",
) as fluxo:
for pedaco in fluxo:
alto_falante.write(pedaco) # toca enquanto geraPerguntas frequentes
Por que 85 ms importa se a frase inteira leva mais que isso?
A voz muda de tom conforme o assunto?
Quantas vozes podem falar ao mesmo tempo?
Posso escrever como quero que uma frase soe?
Números, horas e documentos saem certos?
R$ 1.290,00 vira “mil duzentos e noventa reais”, 14:30 vira “duas e meia da tarde”, e CPF e CNPJ saem em blocos, como uma pessoa dita. Sem essa camada, a voz lê “um dois nove zero” e o cliente anota o valor errado.O que acontece se o motor de síntese falhar no meio da frase?
Continua em
Ouça a sua própria frase
Escreva qualquer texto e escute nas trinta e duas vozes. O plano gratuito já dá dez mil caracteres por mês.