Também disponível em: English · Español · Français · العربية
Texto para voz
Cole um texto e deixe o seu dispositivo lê-lo em voz alta com as vozes que já tem instaladas: sem envios, sem registo e sem fingir que há uma transferência.
O que é uma ferramenta de texto para voz
Transforma texto escrito em áudio falado. Esta fá-lo com a Web Speech API, uma funcionalidade que qualquer navegador moderno já tem, usando as vozes que o seu sistema operativo já traz. Nada é enviado para lado nenhum: o texto fica no separador e a leitura acontece na sua própria máquina.
Isso torna-a genuinamente útil para um conjunto restrito de coisas: rever textos de ouvido, o que denuncia repetições e ritmos desajeitados que a leitura silenciosa esconde; despachar um artigo longo enquanto faz outra coisa; verificar como se pronuncia um nome ou uma frase noutra língua; e apoio à leitura em geral.
Implica também uma coisa que esta página não consegue fazer, e que quase todos os resultados de «texto para voz grátis» resolvem de outra maneira sem o dizer: não lhe pode dar um ficheiro.
Como usar
- Cole ou escreva o seu texto. Aqui não se impõe limite de comprimento. O texto longo é dividido automaticamente em fragmentos do tamanho de uma frase, e o contador mostra quantos, porque o navegador não lê de forma fiável um enunciado enorme de uma só vez.
- Escolha voz, velocidade e tom. A lista de vozes vem do seu dispositivo, por isso depende do sistema operativo e do navegador, e não deste site. A velocidade vai de metade ao dobro, e o tom de grave a agudo.
- Carregue em «Ler». Pausar e retomar funcionam a meio da frase; «Parar» esvazia a fila por completo. Uma linha de progresso indica por quantos fragmentos vai a leitura.
Porque não há botão de transferência
Procure uma ferramenta gratuita de texto para voz e quase todos os resultados oferecem um MP3. Podem fazê-lo porque não trabalham no seu navegador: enviam o texto para um servidor, sintetizam-no lá e devolvem um ficheiro. Isso custa-lhes dinheiro por pedido, e é por isso que a transferência costuma ser justamente aquilo que fica atrás do registo, da marca de água ou do limite de caracteres.
A síntese de voz do próprio navegador funciona de outra forma. Sai pela sua saída de áudio e não expõe nada que se possa capturar. Não há fluxo para gravar nem memória para guardar. E não é um descuido desta página: é um pedido em aberto na própria especificação — «Support SpeechSynthesis to a MediaStreamTrack», registado contra a Web Speech API e ainda por implementar. Enquanto assim for, nenhuma página consegue produzir um ficheiro a partir desta API, e qualquer uma que afirme o contrário está a usar um servidor.
A troca é portanto explícita. Fica com comprimento ilimitado, sem conta, sem envios e sem custo, e não fica com um ficheiro. Se o que precisa é do ficheiro, esta não é a ferramenta, e é melhor dizê-lo do que escondê-lo.
Limitações assumidas
As vozes não são nossas. São as que o seu dispositivo tiver instaladas, e por isso a lista muda entre Windows, macOS, Android, iOS e Linux, e até entre navegadores da mesma máquina. Algumas línguas têm várias vozes, outras uma e outras nenhuma: pode simplesmente não existir uma voz em português ou em árabe num dado dispositivo, e aí uma página web nada pode fazer. A lista pode também chegar um instante depois da página, e é por isso que o navegador dispara um evento à parte quando ela está pronta e esta ferramenta fica à escuta.
O texto longo tem de ser partido. A especificação limita um enunciado a 32 767 caracteres e, muito antes disso, um problema antigo do Chromium intitulado «speechSynthesis fails for long text without warning and blocks the API» descreve enunciados longos a falhar em silêncio e a deixar a voz inutilizável até recarregar a página. Por isso o texto é dividido em fragmentos de cerca de 200 caracteres nos limites das frases e colocado em fila, o que também faz a pausa cair num sítio sensato e torna o progresso mostrável.
O divisor tenta não cortar onde não deve. O ponto de «3,14», de «Dr. Smith» ou de «J. R. R. Tolkien» não termina uma frase, e o sinal árabe ؟ termina. A sua garantia é estreita mas exata: voltar a juntar os fragmentos reproduz o seu texto caráter a caráter, o que é verificado em vinte e cinco casos complicados com quatro tamanhos de fragmento diferentes e quatro mil cadeias aleatórias. Um divisor que engolisse um espaço em silêncio leria um pouco mal e ninguém daria conta.
Vale a pena dizer com clareza o que está testado e o que não está. A lógica de divisão está coberta por vinte e cinco verificações. A voz em si não está, e não pode estar: o `speechSynthesis` só existe dentro de um navegador, pelo que não há forma de o correr num banco de testes. Foi precisamente por isso que o tratamento das cadeias foi escrito como um módulo à parte: é a parte que pode ser submetida a um critério.
O comportamento da pausa é irregular entre navegadores, sobretudo em telemóvel, onde alguns motores param em vez de pausar e outros retomam do início do fragmento atual. Isso é a implementação do navegador, não uma definição desta página.
Porque é gratuito
Não há custo a repercutir. A síntese é feita pelo seu dispositivo, o seu texto não sai do separador, e esta página é um punhado de controlos sobre uma funcionalidade que o seu navegador já tinha.
É também a razão de não haver conta nem limite de caracteres: as duas coisas que um serviço baseado em servidor tem de cobrar são exatamente as duas que aqui não se usam.