Spark-TTS: um codec, sem necessidade de um modelo acústico separado
- O que é o Spark-TTS?
- Vantagens funcionais do Spark-TTS
- Como os tokens desacoplados do BiCodec realmente funcionam
- Dois modos: Voice Cloning e Voice Creation
- Como começar a usar o Spark-TTS
- Dicas para obter resultados melhores
- Spark-TTS em comparação com outros modelos de clonagem baseados em LLM
- Perguntas frequentes
- Gere uma voz semelhante a partir de um áudio de referência
Transforme textos e gravações em áudio pronto para ouvir
Dublagem, stems, covers e efeitos sonoros, tudo no navegador.
- Texto para fala, e também clonagem de voz
- Separe as faixas, ou gere um cover
- Cadastre-se para ouvir primeiro e decidir depois
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
- 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 compip install -r requirements.txt. - Baixe os pesos do modelo. Use
snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B")da bibliotecahuggingface_hub, ou clone diretamente comgit lfs install && git clone https://huggingface.co/SparkAudio/Spark-TTS-0.5B pretrained_models/Spark-TTS-0.5B. - 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. - Inicie a WebUI para Voice Cloning e Voice Creation.
python webui.py --device 0abre 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. - 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-TTS | CosyVoice3 | F5-TTS | |
|---|---|---|---|
| Mecanismo central | BiCodec de fluxo único, diretamente do LLM para o áudio | Tokens semânticos supervisionados + flow matching | Diffusion Transformer + flow matching |
| Precisa de um modelo acústico separado | Não | Sim (etapa de flow matching) | Sim (a etapa central de geração) |
| Clonagem zero-shot | Sim | Sim | Sim |
| Criação de voz totalmente sintética (sem referência) | Sim, modo dedicado | Não é um recurso dedicado | Não é um recurso dedicado |
| Controle detalhado de pitch/velocidade | Sim, por tokens desacoplados | Baseado em instruções | Não é um recurso dedicado |
| Idiomas | Chinês e inglês (code-switching) | 9 + 18 dialetos chineses | Foco principal em inglês |
| Licença | CC-BY-NC-SA-4.0 (não comercial, compartilhamento pela mesma licença) | Aberto, API hospedada disponível | CC-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.