CosyVoice2: síntese de voz rápida o bastante para uma conversa real
Transforme texto e gravações em obras que se ouvem
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
O CosyVoice original provou que tokens semânticos supervisionados podiam produzir clonagem de voz zero-shot mais precisa e consistente do que modelos anteriores de tokens não supervisionados. O que ele não conseguia fazer era responder em tempo real: como a maioria dos TTS baseados em LLM de primeira geração, precisava do texto completo antes de começar a gerar áudio. CosyVoice2 foi criado exatamente para fechar essa lacuna, reestruturando a mesma abordagem subjacente em uma arquitetura de streaming com uma latência até o primeiro pacote baixa o bastante para chat de voz ao vivo.
O que há de novo no CosyVoice2
Desenvolvido pela equipe de voz Tongyi da Alibaba, o CosyVoice2 mantém a base de tokens semânticos supervisionados que fez o modelo original funcionar, mas reconstrói o pipeline em torno de três mudanças específicas de engenharia:
Quantização escalar finita. O tokenizador de fala do modelo original deixava parte de seu codebook subutilizada. O CosyVoice2 o substitui por quantização escalar finita, melhorando a utilização do codebook e dando ao modelo uma representação de fala mais eficiente e com melhor cobertura.
Um modelo de linguagem texto-fala simplificado. Ao simplificar a arquitetura do LM, o CosyVoice2 pode usar grandes modelos de linguagem pré-treinados diretamente como sua base, em vez de exigir uma arquitetura sob medida — uma mudança que simplifica o treinamento e herda a compreensão geral de linguagem do LLM de base.
Flow matching causal consciente de chunks. Esta é a parte que realmente habilita o streaming. Em vez de esperar toda a entrada antes de gerar um espectrograma mel, o CosyVoice2 processa a fala em chunks ordenados causalmente, unificando a síntese com e sem streaming em uma única estrutura em vez de entregá-las como dois modelos separados. Os resultados publicados pela equipe descrevem que esse modo de streaming produz saída quase indistinguível em qualidade da geração completa offline — um resultado significativamente diferente do compromisso de qualidade que o TTS em streaming normalmente exigiu.
Os números que importam
- 150ms de latência até o primeiro pacote. O CosyVoice2 pode começar a produzir áudio aproximadamente 150 milissegundos depois de receber texto — rápido o bastante para que, em um pipeline de chat de voz (com um LLM gerando o texto de resposta), o atraso percebido permaneça baixo mesmo que dois modelos trabalhem em sequência.
- 30–50% menos erros de pronúncia em comparação com o CosyVoice original, resultado direto do tokenizador aprimorado e da arquitetura LM simplificada.
- Pontuação MOS de 5.4 para 5.53, refletindo a melhoria de naturalidade avaliada por pessoas junto com as melhorias de latência — o CosyVoice2 não troca qualidade por velocidade; ele melhora ambas simultaneamente.
- A menor taxa de erro de caracteres no conjunto de testes Seed-TTS hard entre os modelos comparados no momento do lançamento, um benchmark criado especificamente para estressar casos de pronúncia difíceis.
Por trás desses números há um detalhe de treinamento importante: o CosyVoice2 usa aprendizado por reforço durante o fine-tuning, com similaridade de locutor e taxa de erro de palavras medida por ASR como sinais de recompensa — otimizando diretamente o modelo para soar como o locutor-alvo e acertar as palavras, em vez de otimizar apenas uma perda de reconstrução genérica.
Geração por instruções, unificada com clonagem
O CosyVoice2 também reúne duas capacidades que estavam separadas no lançamento original: clonagem de voz zero-shot e controle de estilo baseado em instruções. Na família CosyVoice de primeira geração, era necessário escolher entre o modelo base de clonagem e o checkpoint Instruct separado. O CosyVoice2 integra ambos em um modelo, para que você possa clonar uma voz a partir de um clipe de referência e controlar de forma independente emoção, sotaque e interpretação de personagem por instruções — sem trocar de checkpoint conforme a capacidade necessária naquela sessão.
Como começar com o CosyVoice2
- Clone o repositório com submódulos. Assim como no CosyVoice original, use
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git— o CosyVoice2 compartilha o mesmo repositório e a dependência Matcha-TTS. - Baixe o checkpoint CosyVoice2-0.5B. Ele está disponível pelo Hugging Face e pelo ModelScope, separado dos checkpoints originais CosyVoice-300M — confirme que você está obtendo especificamente os pesos 2.0 se precisa de streaming.
- Escolha explicitamente o modo streaming ou offline. Como o CosyVoice2 unifica ambos em uma só estrutura, sua chamada de inferência determina qual caminho é executado — streaming para usos interativos, offline para geração em lote de máxima qualidade quando a latência não importa.
- Teste a geração por instruções junto com a clonagem. Combine um clipe de áudio de referência com uma instrução de estilo (emoção, sotaque ou personagem) na mesma chamada para ver a capacidade unificada em ação, em vez de testar clonagem e controle por instruções separadamente.
- Faça benchmark da latência até o primeiro pacote no seu próprio hardware. A cifra publicada de 150ms reflete o ambiente de teste da equipe; valide a latência real na GPU de implantação antes de tomar decisões de arquitetura em tempo real.
Dicas para melhores resultados
- Use o modo streaming especificamente para pipelines conversacionais. Se você está construindo um agente de voz em que a saída de texto de um LLM alimenta diretamente o TTS, o modo streaming é o que mantém baixo o tempo de resposta de ponta a ponta — o modo offline reintroduz a espera pela fala inteira que o CosyVoice2 foi criado para eliminar.
- Não suponha que streaming significa qualidade menor. O flow matching consciente de chunks do CosyVoice2 foi projetado especificamente para manter a saída em streaming próxima da qualidade offline — teste ambos os modos no seu conteúdo real em vez de assumir o offline por cautela.
- Apoie-se no controle por instruções para o tom em vez de regravar clipes de referência. Se você precisa de uma entrega emocional diferente com a mesma voz clonada, mudar uma instrução é mais rápido de iterar do que buscar um novo clipe de referência que já tenha esse tom emocional.
- Valide a pronúncia no vocabulário específico do seu domínio. A redução de 30–50% nos erros é medida em benchmarks gerais; terminologia técnica ou específica de domínio ainda deve ser verificada pontualmente antes da produção.
- Combine com um LLM rápido ao criar chat de voz. Como a baixa latência do CosyVoice2 é pensada para pipelines de estilo chat, o tempo total de resposta ainda depende da velocidade com que o LLM anterior na cadeia produz texto — um gerador de texto lento reduz o benefício de uma etapa TTS rápida.
CosyVoice2 vs. CosyVoice (original)
| CosyVoice2 | CosyVoice (2024) | |
|---|---|---|
| Parâmetros | 0.5B | 300M |
| Streaming | Sim, unificado ao modo offline | Não |
| Latência até o primeiro pacote | ~150ms | Não otimizado para esta métrica |
| Clonagem zero-shot + estilo controlado por instruções | Unificados em um modelo | Checkpoints separados (base vs. Instruct) |
| Precisão de pronúncia | 30–50% menos erros | Referência |
| Pontuação MOS | 5.53 | 5.4 |
| Método de treinamento | Fine-tuning com RL (recompensa de similaridade do locutor + WER) | Treinamento supervisionado |
O caminho de atualização do CosyVoice2 é específico: se seu projeto precisa de geração em tempo real ou quase em tempo real — agentes de voz, chat ao vivo, aplicações interativas — esta é a versão feita para isso. Se você gera áudio offline sem restrição de latência, a diferença importa menos, embora as melhorias de precisão e qualidade ainda se apliquem.
Perguntas frequentes
Qual é a principal diferença entre CosyVoice e CosyVoice2?
O CosyVoice2 adiciona síntese em streaming com aproximadamente 150ms de latência até o primeiro pacote, unifica clonagem zero-shot e controle de estilo por instruções em um único modelo e melhora a precisão de pronúncia em 30–50% sobre o original — tudo isso enquanto aumenta a qualidade (MOS de 5.4 para 5.53), em vez de trocá-la por velocidade.
O CosyVoice2 é rápido o bastante para chat de voz em tempo real?
Sim, esse é seu principal objetivo de projeto. Uma latência até o primeiro pacote de 150ms é rápida o bastante para se combinar a um LLM em um pipeline de chat de voz sem introduzir um atraso perceptível especificamente da etapa TTS.
O CosyVoice2 sacrifica qualidade de áudio pela velocidade do streaming?
Não. O design de flow matching causal consciente de chunks foi criado especificamente para manter a saída em streaming próxima da qualidade da geração offline, e as pontuações MOS publicadas de fato melhoraram em relação ao original sem streaming.
O CosyVoice2 ainda faz clonagem de voz zero-shot?
Sim, e ela melhorou — clonagem e controle de estilo baseado em instruções (emoção, sotaque e estilo de personagem) agora estão integrados em um único modelo, em vez de exigir checkpoints separados como no CosyVoice original.
O CosyVoice2 é open source?
Sim. Os pesos do modelo e o código de inferência estão disponíveis publicamente pelo mesmo repositório do GitHub FunAudioLLM/CosyVoice, juntamente com hospedagem no Hugging Face e no ModelScope.
Experimente um recurso similar de clonagem de voz
O CosyVoice2 está disponível pela implementação open source FunAudioLLM/CosyVoice e pelas plataformas que hospedam o modelo. Se quiser explorar clonagem de voz no navegador, experimente a Clonagem de voz como um recurso similar. Não é o CosyVoice2 e não executa o modelo CosyVoice2, mas permite testar um fluxo de clonagem de voz semelhante sem configurar o modelo localmente.
Clone somente vozes que você possui ou para as quais tem permissão explícita de uso.