Texto para fala

Voz neural (Kokoro) e voz do navegador · tudo roda localmente no seu navegador.

0 caractere

Sobre esta ferramenta

A voz neural (Kokoro IA) usa um modelo de síntese de voz de ponta com 82 milhões de parâmetros. Ele é executado 100 % no seu navegador via WebAssembly e ONNX Runtime · nenhum texto é enviado a um servidor. No primeiro uso, o modelo (~100 MB) é baixado e armazenado em cache pelo seu navegador. Depois, carrega instantaneamente. Você tem à disposição 13 vozes com sotaques americano e britânico, masculinas e femininas, cada uma com entonação e prosódia naturais. O áudio gerado pode ser reproduzido e baixado no formato WAV.

As vozes do navegador usam a Web Speech API integrada ao seu sistema. São instantâneas e sem download, mas a qualidade e a disponibilidade das vozes dependem do seu SO e do seu navegador. O Chrome geralmente oferece a maior variedade. Ideal para pré-visualizações rápidas e testes de acessibilidade.

Como a Web Speech API funciona

Os navegadores expõem uma interface SpeechSynthesis (parte da Web Speech API, originalmente esboçada pelo W3C Speech API Community Group) que recebe um texto e uma voz escolhida e produz uma fala audível através do motor de TTS do sistema operacional subjacente. A superfície da API é pequena, mas poderosa: speechSynthesis.speak(utterance) inicia a fala, cancel() / pause() / resume() controlam a reprodução, e getVoices() lista todas as vozes que o SO expõe. Cada SpeechSynthesisUtterance carrega o texto, a tag de idioma, a voz, a velocidade, o tom e o volume.

O áudio em si é gerado pelo SO, não pelo navegador. O macOS e o iOS vêm com dezenas de vozes de alta qualidade embutidas no sistema. O Windows disponibiliza vozes instaladas via Configurações → Hora e Idioma → Fala. O Android usa o motor de Conversão de Texto em Voz do Google (ou alternativas como o Samsung TTS). O Linux recai sobre qualquer configuração de speech-dispatcher / espeak que a distribuição oferecer, muitas vezes com som robótico por padrão, a menos que você tenha instalado um motor mais rico.

A distinção de privacidade entre nuvem e local

Nem toda voz de «navegador» roda no seu dispositivo. Alguns navegadores enviam o texto a um servidor remoto para renderizar o áudio das vozes de maior qualidade, depois transmitem o resultado de volta. Isso importa para a privacidade:

Se o seu texto é sensível (rascunhos de documentos confidenciais, memorandos internos da empresa, qualquer coisa que você não queira copiada para terceiros), escolha uma voz marcada como local. Se você não vir vozes locais na lista suspensa, instale pacotes de voz do SO e elas aparecerão lá.

Casos de uso comuns

Peculiaridades e limitações que vale conhecer

Por que a qualidade da voz varia tanto

A qualidade de uma voz de TTS depende inteiramente do motor subjacente, que depende do SO, que depende do que você instalou. As vozes da era dos anos 1990 (eSpeak, Microsoft Anna, o antigo «Fred» do Mac) eram sintetizadas a partir de amostras de fonemas concatenadas e soam robóticas e travadas. As vozes modernas (as vozes Siri da Apple, as vozes Online Natural da Microsoft, as vozes baseadas em WaveNet do Google, as vozes por assinatura do ElevenLabs) usam aprendizado profundo para gerar um áudio quase indistinguível de um leitor humano.

Se as vozes na sua lista suspensa soam robóticas, a solução não é esta ferramenta: é instalar vozes melhores no seu SO:

Erros comuns

  1. Esperar que o Firefox tenha suporte. O suporte do Firefox à Web Speech API ficou para trás. O botão Reproduzir ficará desativado quando você acessar pelo Firefox; use um navegador baseado em Chromium ou o Safari para um TTS confiável.
  2. Colar texto confidencial em uma sessão do Chrome e presumir que é local. As vozes «Google» padrão do Chrome enviam o texto ao serviço de TTS do Google. Escolha uma voz local ou use o Safari para conteúdo sensível.
  3. Grandes blocos de texto no Chrome. O corte de 15 segundos / ~250 caracteres pega qualquer um que cola um parágrafo e espera que ele seja lido até o fim. Ou divida o texto, ou use o Safari (sem corte).
  4. Definir a velocidade ou o tom muito fora do intervalo. O motor não limita; ele silenciosamente não produz áudio. Mantenha a velocidade entre 0,5-2,5 e o tom entre 0,5-1,5 para resultados previsíveis.
  5. Tratar o TTS do navegador como uma narração de qualidade de produção. Mesmo as melhores vozes de navegador são boas o suficiente para revisão, acessibilidade e rascunhos, não para podcasts publicados ou narração comercial. Para isso, veja o ElevenLabs, o Murf ou serviços pagos semelhantes.
  6. Esquecer que as vozes são baixadas de forma assíncrona. A primeira visita à página no Chrome pode não mostrar nenhuma voz; atualize depois de um instante e elas aparecerão.

Mais perguntas frequentes

Como sei se uma voz é local ou baseada em nuvem?

Programaticamente, a propriedade SpeechSynthesisVoice.localService é true para vozes no dispositivo e false para as baseadas em nuvem. Na prática, as convenções de nomes de voz ajudam: as vozes do Chrome rotuladas como «Google» geralmente são baseadas em nuvem; as vozes que correspondem às vozes instaladas no seu SO (Microsoft David, Apple Samantha, Google Wavenet en-US-Wavenet-D) são locais se o SO as tiver. As vozes do Safari são sempre locais.

Posso salvar o áudio como um arquivo MP3?

Não diretamente com a Web Speech API do navegador: a especificação não expõe o fluxo de áudio para captura. Se você precisa de um MP3 / WAV para baixar, as opções incluem: um app de narração dedicado como o Audacity gravando o áudio do seu sistema, uma API de TTS paga (Google Cloud TTS, Amazon Polly, ElevenLabs) que retorna o arquivo de áudio, ou um app de gravação de tela capturando a reprodução.

Por que o áudio está cortado ou parando no meio da frase?

A causa mais comum no Chrome é o bug de texto longo: a fala para por volta de 15 segundos. Atualize e tente de novo com um trecho mais curto, ou mude para o Safari, que não tem esse limite. Outras causas: uma falha do sistema no motor de fala do SO (reiniciar costuma resolver), ou uma voz em nuvem que não consegue ser buscada quando offline (mude para uma voz local).

Isso funciona em qualquer idioma?

Qualquer idioma para o qual o seu sistema operacional tenha uma voz instalada. O macOS e o iOS vêm com dezenas de idiomas embutidos. O Windows exige a instalação de pacotes de fala por idioma (Configurações → Hora e Idioma → Fala → Adicionar vozes). O Android precisa do Google TTS ou de um motor de terceiros para ter os dados do idioma baixados. A lista suspensa de Voz mostra tudo o que está disponível; a tag de idioma (en-US, fr-FR, ja-JP, etc.) diz qual idioma cada voz produz.

Isso é útil para podcasting?

Para rascunhos e testes de ritmo, sim. Para episódios publicados, o nível de qualidade é mais alto: mesmo as melhores vozes de navegador têm artefatos sutis que os ouvintes percebem rapidamente. Serviços pagos como o ElevenLabs e o Murf oferecem modelos de voz treinados para narração de formato longo e produzem resultados nitidamente melhores, muitas vezes por alguns centavos por mil caracteres.

Posso usar isto para usuários cegos / com baixa visão no meu próprio site?

Geralmente um site não precisa embutir TTS para acessibilidade: tecnologias assistivas como os leitores de tela (VoiceOver em dispositivos Apple, NVDA / JAWS no Windows, TalkBack no Android) cuidam disso de forma universal. O TTS embutido é mais útil para a conveniência de leitura em voz alta ocasional, para usuários enxergantes com fadiga de leitura ou para quem está aprendendo. Para acessibilidade, foque em HTML semântico, rótulos ARIA, navegação por teclado e contraste: isso ajuda todo leitor de tela a funcionar melhor, inclusive o do próprio usuário.

Ferramentas relacionadas