EchoraEchora
Voltar aos modelos

Spark-TTS: um codec, sem necessidade de um modelo acústico separado

12 de setembro de 2026
•
7 min de leitura

A maioria dos sistemas TTS baseados em LLM precisa de um segundo modelo depois que o modelo de linguagem faz seu trabalho — uma rede de flow matching ou um decodificador de difusão para transformar os tokens previstos em detalhes acústicos reais. O Spark-TTS, desenvolvido em colaboração por pesquisadores da HKUST, da Mobvoi, da Universidade Jiao Tong de Xangai e de várias outras instituições, elimina completamente essa segunda etapa. Criado sobre o Qwen2.5, ele reconstrói o áudio diretamente a partir dos códigos previstos pelo modelo de linguagem, usando um codec projetado especificamente para tornar essa reconstrução direta possível sem sacrificar a qualidade nem o controle.

O que é o Spark-TTS?

O Spark-TTS é um sistema open source de conversão de texto em fala baseado em LLM, apresentado em um artigo de março de 2025 e construído inteiramente sobre o modelo de linguagem Qwen2.5 como backbone. Sua principal contribuição é o BiCodec, um codec de voz de fluxo único que elimina a necessidade dos modelos separados de geração acústica — como flow matching — dos quais depende a maioria das arquiteturas TTS comparáveis baseadas em LLM. Em vez de prever vários codebooks empilhados que depois exigem um decodificador dedicado para interpretá-los, o LLM do Spark-TTS prevê códigos que correspondem diretamente ao áudio, simplificando todo o pipeline de geração e tornando-o mais eficiente em termos computacionais.

Vantagens funcionais do Spark-TTS

  • Uma arquitetura realmente simplificada. Não é necessário nenhum modelo separado de flow matching ou difusão para gerar características acústicas — o áudio é reconstruído diretamente dos códigos previstos pelo LLM, reduzindo tanto a complexidade quanto o custo de inferência.
  • Clonagem de voz zero-shot, que replica a voz de um locutor-alvo sem nenhum dado de treinamento dedicado especificamente àquela voz.
  • Um modo Voice Creation separado, que gera uma voz totalmente sintética apenas com parâmetros de controle, sem exigir nenhum áudio de referência — uma capacidade realmente diferente da clonagem.
  • Controle detalhado sobre a interpretação, incluindo valores precisos de pitch e velocidade da fala, além de controles mais amplos, como gênero e estilo geral de fala.
  • Compatibilidade bilíngue com chinês e inglês, incluindo cenários de code-switching entre idiomas dentro da mesma geração.
  • Um pipeline de pesquisa totalmente aberto, com o modelo, o código de treinamento e o conjunto de dados VoxBox criado especificamente para esse fim (100.000 horas de fala com anotações detalhadas de atributos) disponibilizados publicamente.

Como os tokens desacoplados do BiCodec realmente funcionam

Essa é a escolha de design específica que torna possível a simplicidade do Spark-TTS sem abrir mão do controle, e vale a pena entendê-la diretamente. O BiCodec decompõe a fala em dois tipos complementares de tokens: tokens semânticos de baixa taxa de bits, que capturam o conteúdo linguístico (o que está sendo dito), e tokens globais de tamanho fixo, que capturam atributos específicos do locutor (quem está falando e com qual estilo). Como esses dois tipos de tokens são claramente separados em vez de entrelaçados, o backbone Qwen2.5 — combinado com uma abordagem de geração por cadeia de pensamento — consegue manipulá-los com certa independência: ajustar os tokens globais muda as características da voz sem prejudicar o conteúdo linguístico, e vice-versa. Esse desacoplamento é justamente o que permite tanto o controle amplo (escolher um gênero ou estilo geral de fala) quanto o controle detalhado (definir um valor exato de pitch ou velocidade da fala) a partir da mesma representação subjacente, sem precisar de mecanismos separados para cada nível de controle.

Dois modos: Voice Cloning e Voice Creation

O Spark-TTS foi construído em torno de dois fluxos de trabalho realmente distintos, não apenas um. O Voice Cloning recebe um clipe de áudio de referência e sua transcrição, e gera uma nova fala na voz daquele locutor — o caso de uso padrão de clonagem zero-shot. O Voice Creation funciona no sentido oposto: em vez de uma gravação de referência, você especifica parâmetros de controle (gênero, pitch, velocidade da fala, estilo), e o modelo gera uma voz totalmente sintética que corresponde a essas especificações, sem envolver a voz de nenhuma pessoa real. Esse segundo modo é realmente útil para projetos que precisam de uma identidade consistente de locutor virtual — a voz de um assistente de marca ou um personagem de jogo — sem precisar encontrar, licenciar ou gravar um ator de voz real como ponto de partida.

Como começar a usar o Spark-TTS

  1. Clone o repositório e configure um ambiente Python 3.12. Execute git clone https://github.com/SparkAudio/Spark-TTS.git; depois, crie e ative um ambiente conda dedicado (conda create -n sparktts -y python=3.12 && conda activate sparktts) antes de instalar as dependências com pip install -r requirements.txt.
  2. Baixe os pesos do modelo. Use snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B") da biblioteca huggingface_hub, ou clone diretamente com git lfs install && git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B.
  3. Execute a inferência de clonagem pela CLI. python -m cli.inference --text "text to synthesize." --device 0 --save_dir "path/to/save/audio" --model_dir pretrained_models/Spark-TTS-0.5B --prompt_text "transcript of the prompt audio" --prompt_speech_path "path/to/prompt_audio" cobre o fluxo básico de clonagem de voz diretamente pela linha de comando.
  4. Inicie a WebUI para Voice Cloning e Voice Creation. python webui.py --device 0 abre uma interface no navegador compatível com os dois fluxos — Voice Cloning aceita um clipe de referência enviado ou uma gravação ao vivo, enquanto Voice Creation apresenta diretamente os parâmetros de controle.
  5. Consulte a referência de implantação com Triton/TensorRT-LLM para produção. O projeto documenta um caminho de implantação com Nvidia Triton e TensorRT-LLM especificamente para equipes que estão saindo dos experimentos locais e avançando para serviços em escala de produção.

Dicas para obter resultados melhores

  • Use Voice Creation em vez de clonagem quando não precisar da voz de uma pessoa real específica. Se o projeto só precisa de um locutor virtual consistente e distinto, gerá-lo por parâmetros de controle evita as questões de licenciamento e consentimento que acompanham a clonagem de uma voz real de referência.
  • Forneça uma transcrição precisa do prompt para a clonagem. Como a CLI exige tanto o áudio de referência quanto o texto correspondente da transcrição, uma transcrição precisa ajuda o modelo a separar de forma mais confiável o conteúdo linguístico da identidade do locutor durante a geração.
  • Experimente controles detalhados de pitch e velocidade em vez de depender apenas de configurações amplas. Como os tokens desacoplados do BiCodec permitem especificamente ajustes precisos, usar valores exatos em vez de apenas categorias amplas de estilo é o ponto em que o controle do modelo realmente se diferencia dos sistemas de clonagem baseados somente em referência.
  • Teste diretamente o code-switching entre idiomas se o conteúdo precisar disso. Como esse é um cenário explicitamente compatível, e não um caso extremo, vale a pena validar diretamente seu conteúdo específico que mistura chinês e inglês antes de presumir uma qualidade uniforme.

Spark-TTS em comparação com outros modelos de clonagem baseados em LLM

Spark-TTSCosyVoice3F5-TTS
Mecanismo centralBiCodec de fluxo único, diretamente do LLM para o áudioTokens semânticos supervisionados + flow matchingDiffusion Transformer + flow matching
Precisa de um modelo acústico separadoNãoSim (etapa de flow matching)Sim (a etapa central de geração)
Clonagem zero-shotSimSimSim
Criação de voz totalmente sintética (sem referência)Sim, modo dedicadoNão é um recurso dedicadoNão é um recurso dedicado
Controle detalhado de pitch/velocidadeSim, por tokens desacopladosBaseado em instruçõesNão é um recurso dedicado
IdiomasChinês e inglês (code-switching)9 + 18 dialetos chinesesFoco principal em inglês
LicençaCC-BY-NC-SA-4.0 (não comercial, compartilhamento pela mesma licença)Aberto, API hospedada disponívelCC-BY-NC (não comercial)

O nicho específico do Spark-TTS é a simplicidade arquitetônica combinada com uma flexibilidade genuína para duas finalidades — o design de fluxo único elimina toda uma etapa de modelo que a maioria dos sistemas comparáveis ainda exige, enquanto seu modo Voice Creation cobre um caso de uso (uma voz sintética sem nenhuma referência real) que a maioria dos modelos voltados à clonagem não aborda diretamente.

Perguntas frequentes

O que torna a arquitetura do Spark-TTS diferente de outros modelos TTS baseados em LLM?

Ele usa o BiCodec, um codec de fluxo único que permite ao backbone Qwen2.5 prever códigos que correspondem diretamente ao áudio, eliminando o modelo separado de flow matching ou difusão que a maioria dos sistemas comparáveis exige como uma etapa adicional de geração.

O Spark-TTS consegue criar uma voz sem nenhum áudio de referência?

Sim — essa é a finalidade específica do modo Voice Creation, que gera uma voz totalmente sintética com base em parâmetros de controle como gênero, pitch e velocidade da fala, sem exigir nenhuma gravação de referência.

O Spark-TTS é compatível com idiomas além do inglês e do chinês?

O foco documentado e usado no treinamento é bilíngue em chinês e inglês, incluindo code-switching entre idiomas dentro da mesma geração — uma compatibilidade linguística mais ampla não faz parte da versão principal.

O Spark-TTS é gratuito para uso comercial?

Não sem obter uma autorização separada. Ele é disponibilizado sob a licença CC-BY-NC-SA-4.0, que restringe o uso a fins não comerciais e exige compartilhamento pela mesma licença; sua documentação também limita explicitamente o uso pretendido a pesquisa, educação e aplicações legítimas, ao mesmo tempo em que proíbe clonagem ou personificação sem autorização.

De quanto áudio de referência o Spark-TTS precisa para clonar uma voz?

O fluxo documentado usa um clipe curto de referência junto com o texto correspondente da transcrição; a duração mínima exata não é especificada com tanta rigidez quanto em alguns outros modelos, mas o pipeline de clonagem foi criado para trabalhar com uma amostra limpa e representativa.

Gere uma voz semelhante a partir de um áudio de referência

Para um fluxo de clonagem de voz no navegador com objetivo semelhante, use a Clonagem de voz da Echora. Envie uma gravação da sua própria voz ou de uma voz que você tenha permissão explícita para usar, insira até 5.000 caracteres de texto novo e gere uma fala que busca se parecer com a voz de referência.

Criar uma voz clonada →