Desenvolvimento webTexto para fala

Como adicionar texto para fala ao Svelte

Aprenda a adicionar texto para fala de alta qualidade e com bom custo-benefício ao seu app Svelte usando o TTS2Go, combinando o TTS do navegador como alternativa com áudio de IA.

Anthony Morris·
Como adicionar texto para fala ao Svelte

O Svelte foi criado com foco em simplicidade e desempenho, e adicionar texto para fala (TTS) a um app Svelte pode ser igualmente simples.

Seja para tornar seu conteúdo mais acessível, criar uma experiência de leitura em áudio ou adicionar respostas por voz, o TTS pode ser integrado em minutos. Este guia explica como funciona a síntese de voz do navegador, os prós e contras das diferentes abordagens de TTS e como colocar o TTS2Go para funcionar no seu projeto Svelte.

Como funciona a síntese de voz do navegador

Os navegadores modernos incluem a Web Speech API, que permite chamar window.speechSynthesis.speak() com um SpeechSynthesisUtterance para ler texto em voz alta.

Principais características:

  • Sem dependências: tudo roda no navegador.
  • Sem chaves de API nem chamadas ao servidor: não exige integração com backend.
  • Sem custo: usa as vozes nativas do sistema.

Mas há desvantagens:

  • Qualidade robótica e inconsistente: as vozes costumam soar sintéticas.
  • Depende da plataforma: as vozes mudam entre Chrome e Firefox, macOS e Windows.
  • Poucas opções de voz: menos idiomas e estilos do que o TTS moderno com IA.

A ascensão da voz gerada por IA

Os modelos neurais de texto para fala produzem áudio com som natural, entonação e ritmo realistas. Eles oferecem muitos idiomas, sotaques e estilos de voz, o que os torna ideais para narrações e experiências de voz com qualidade profissional.

Prós e contras:

  • Prós:
  • Áudio natural e de alta qualidade
  • Ampla cobertura de idiomas e vozes
  • Som consistente em todos os dispositivos e navegadores
  • Contras:
  • Custo: você paga por caractere ou por segundo de áudio gerado.
  • Chamadas de API: exige integração no servidor ou integração autenticada no cliente.

Isso levanta uma questão de design: como equilibrar a qualidade do áudio com os custos de geração e controlar quando o áudio é criado?

Pré-gerar o áudio

Uma abordagem é pré-gerar o áudio de todo o seu conteúdo e hospedá-lo em uma CDN.

Como funciona:

  • Todo o conteúdo em texto é convertido em arquivos de áudio com antecedência.
  • Esses arquivos são enviados e servidos a partir de uma CDN.
  • Os usuários têm reprodução instantânea, sem espera pela geração.

Prós:

  • Reprodução instantânea para todos os visitantes
  • Áudio consistente e de alta qualidade
  • Comportamento simples em tempo de execução (basta tocar um arquivo)

Contras:

  • Você paga para gerar áudio de conteúdo que talvez nunca seja ouvido.
  • Todo o conteúdo precisa ser conhecido com antecedência.
  • Qualquer mudança no conteúdo exige gerar o áudio de novo.
  • Os custos de armazenamento e de CDN crescem com o volume de conteúdo.

Para conteúdo dinâmico ou atualizado com frequência, isso logo fica caro e trabalhoso de operar.

Geração sob demanda

Outra estratégia é a geração sob demanda (lazy), em que o áudio só é criado quando um usuário realmente clica em reproduzir.

Como funciona:

  • Quando um usuário solicita o áudio de um conteúdo, você chama a API de TTS.
  • O áudio gerado é armazenado ou mantido em cache.
  • As próximas requisições reaproveitam o áudio em cache.

Prós:

  • Muito mais econômico: você só paga pelo conteúdo que os usuários realmente ouvem.
  • Suporta naturalmente conteúdo dinâmico e gerado por usuários.
  • Reduz o desperdício de gerações para conteúdo que ninguém usa.

Desafios:

  • Sem controles, qualquer pessoa poderia disparar gerações caras.
  • Você precisa de uma forma de decidir qual conteúdo recebe áudio e quando.
  • É preciso equilibrar a experiência do usuário (a espera inicial) com o controle do orçamento.

Como o TTS2Go resolve isso

O TTS2Go combina o TTS do navegador e o TTS com IA para equilibrar qualidade, custo e simplicidade.

Ideias principais:

  1. Chave segura no cliente
  • Você adiciona o SDK do TTS2Go ao seu site com uma chave de API de frontend.

Passo 1: Instale o SDK

Instale o pacote Svelte do TTS2Go:


npm install @tts2go/svelte

O pacote funciona com o Svelte 5 e se integra naturalmente ao modelo de reatividade do Svelte.

Passo 2: Crie o cliente

Inicialize um cliente do TTS2Go com as credenciais do seu projeto. No Svelte, você pode criar o cliente diretamente em um componente ou em um módulo compartilhado.



import { createTTS2GoClient } from "@tts2go/svelte";

const client = createTTS2GoClient({

apiKey: "your-api-key",

projectId: "your-project-id",

});

  • apiKey: a sua chave pública do TTS2Go, segura para usar no frontend.
  • projectId: identifica qual projeto do TTS2Go será usado para geração, aprovações e análises.

Passo 3: Adicione texto para fala no Svelte

Use createTTS para obter um store reativo com controles de reprodução e status.



import { createTTS2GoClient, createTTS } from "@tts2go/svelte";

const client = createTTS2GoClient({

apiKey: "your-api-key",

projectId: "your-project-id",

});

const VOICE_ID = "your-voice-id";

const text = "Hello from TTS2Go in Svelte!";

const tts = createTTS(client, text, VOICE_ID);

let status = $state("idle");

const unsubscribe = tts.status.subscribe((s) => (status = s));

function handleClick() {

if (status === "playing" || status === "fallback") {

tts.stop();

} else {

tts.play();

}

E agora?

A partir daqui, você pode:

  • Explorar a seleção de vozes para combinar com a sua marca ou tipo de conteúdo.
  • Usar SSML para ter controle refinado sobre pronúncia, pausas e ênfase.
  • Integrar a API de destaque de texto para sincronizar o texto com o áudio falado.

Para a documentação completa de Svelte e exemplos avançados, acesse:

  • https://tts2go.com/docs/svelte