geração de voz com cosyvoice

Um modelo grande de geração de voz multilíngue para fala expressiva, inferência prática e implantação full-stack.

Público

Experimentar o modelo

Transforme um prompt em uma voz natural

Texto para fala

Descreva a voz, o humor e as palavras que você quer ouvir e prossiga para o espaço de criação do Cosyvoice.

Descreva uma voz e prossiga.

Grátis para começar · sem cadastro · cerca de 10 s

Ou comece com um exemplo

principal
Código
Adicionar exemplos de geração de voz multilíngue e notas de implantação há 5 meses
552 commits
Nome Mensagem do último commit Data do último commit
.github corrigir lint há 10 meses
asset atualizar dingding há 10 meses
cosyvoice corrigir lint há 7 meses
docker corrigir um erro de digitação no Dockerfile há 10 meses
exemplos manter a extração offline de embeddings/tokens para compatibilidade há 8 meses
runtime corrigir lint há 7 meses
third_party remover academic e alterar para iic/CosyVoice_ttsfrd há 2 anos
ferramentas recurso online há 9 meses
.gitignore adicionar cosyvoice2 há 2 anos
.gitmodules remover acadêmico e mudar para iic/CosyVoice_ttsfrd há 2 anos
CODE_OF_CONDUCT.md adicionar código do cosyvoice há 2 anos
FAQ.md remover terceiro acadêmico há 2 anos
LICENSE adicionar código do cosyvoice há 2 anos
README.md Adicionar seção de ecossistema com links para projetos de fala há 5 meses
example.py corrigir lint há 7 meses
requirements.txt corrigir versão do yaml do vllm há 8 meses
vllm_example.py corrigir bug de bistream há 10 meses
webui.py remover aviso do instruct há 10 meses
Banner azul e violeta da Cosyvoice com o nome do modelo e o subtítulo modelo de linguagem grande de conversão de texto em fala

👉🏻 Cosyvoice 👈🏻

Fun-Cosyvoice 3.0: Demonstrações; Artigo; Modelscope; Huggingface; Avaliação

Cosyvoice 2.0: Demonstrações; Artigo; Modelscope; HuggingFace

Cosyvoice 1.0: Demonstrações; Artigo; Modelscope; HuggingFace

Destaque🔥

Fun-Cosyvoice 3.0 é um sistema avançado de conversão de texto em fala desenvolvido com base em grandes modelos de linguagem. Ele aprimora a continuidade, a semelhança com o locutor e a prosódia, mantendo-se adequado para síntese de fala multilíngue zero-shot em situações cotidianas.

Principais recursos

  • Cobertura de idiomas: Oferece suporte a 9 idiomas amplamente utilizados, incluindo chinês, inglês, japonês, coreano, alemão, espanhol, francês, italiano e russo, além de mais de 18 dialetos e sotaques chineses. Também oferece suporte à clonagem de voz zero-shot multilíngue e entre idiomas.
  • Consistência e naturalidade do conteúdo: Mantém o conteúdo falado estável, preservando a semelhança com o locutor e uma prosódia natural.
  • Inpainting de pronúncia: Aceita fonemas Pinyin chineses e CMU ingleses para um controle mais preciso da pronúncia em fluxos de trabalho de produção.
  • Normalização de texto: Lê números, símbolos e diversos formatos de texto sem exigir um módulo frontend tradicional.
  • Bi-Streaming: Oferece suporte à transmissão de texto em tempo real e à transmissão de áudio em tempo real, com latência projetada para chegar a aproximadamente 150ms, mantendo um áudio detalhado.
  • Suporte a instruções: Processa instruções para idioma, dialeto, emoção, velocidade, volume e controles relacionados à forma de entrega.

Roadmap

  • 2025/12
    • Lançar o modelo base Fun-Cosyvoice3-0.5B-2512, o modelo RL e os scripts de treinamento/inferência
    • Lançar um espaço Gradio do Fun-Cosyvoice3-0.5B no Modelscope
  • 2025/08
    • Adicionar suporte ao runtime Triton TRT-LLM e ao treinamento GRPO do Cosyvoice2
  • 2025/07
    • Lançar o conjunto de avaliação do Fun-Cosyvoice 3.0
  • 2025/05
    • Adicionar suporte ao vLLM para o Cosyvoice2-0.5B
  • 2024/12
    • Lançar o modelo Cosyvoice2-0.5B de 25Hz
  • 2024/09
    • Lançar o modelo base Cosyvoice-300M de 25Hz
    • Adicionar a função de conversão de voz do Cosyvoice-300M
  • 2024/08
    • Adicionar inferência com amostragem sensível à repetição para melhorar a estabilidade do LLM
    • Adicionar suporte à inferência em streaming com cache KV e otimização SOTA
  • 2024/07
    • Adicionar suporte ao treinamento com flow matching
    • Adicionar suporte ao WeTextProcessing quando ttsfrd não estiver disponível
    • Adicionar suporte a servidor e cliente FastAPI

Avaliação

Modelo Código aberto Tamanho do modelo test-zh
CER (%) ↓
test-zh
SS (%) ↑
test-en
WER (%) ↓
test-en
SS (%) ↑
test-hard
CER (%) ↓
test-hard
SS (%) ↑
Humano--1.2675.52.1473.4--
Seed-TTS❌-1.1279.62.2576.27.5977.6
MiniMax-Speech❌-0.8378.31.6569.2--
F5-TTS✅0.3B1.5274.12.0064.78.6771.3
Spark TTS✅0.5B1.266.01.9857.3--
CosyVoice2✅0.5B1.4575.72.5765.96.8372.4
FireRedTTS2✅1.5B1.1473.21.9566.5--
Index-TTS2✅1.5B1.0376.52.2370.67.1275.5
VibeVoice-1.5B✅1.5B1.1674.43.0468.9--
VibeVoice-Realtime✅0.5B--2.0563.3--
HiggsAudio-v2✅3B1.5074.02.4467.7--
VoxCPM✅0.5B0.9377.21.8572.98.8773.0
GLM-TTS✅1.5B1.0376.1----
GLM-TTS RL✅1.5B0.8976.4----
Fun-CosyVoice3-0.5B-2512✅0.5B1.2178.02.2471.86.7175.8
Fun-CosyVoice3-0.5B-2512_RL✅0.5B0.8177.41.6869.55.4475.0

Instalar

Clonar e instalar

  • Clonar o repositório

    git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
    # If the submodule download fails because of network conditions, run the following command again
    cd CosyVoice
    git submodule update --init --recursive
  • Instale o Conda: consulte a documentação do Miniconda.

  • Crie um ambiente Conda:

    conda create -n cosyvoice -y python=3.10
    conda activate cosyvoice
    pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
    # If you encounter sox compatibility issues
    # ubuntu
    sudo apt-get install sox libsox-dev
    # centos
    sudo yum install sox sox-devel

Download do modelo

Recomendamos baixar os recursos pré-treinados Fun-CosyVoice3-0.5B, CosyVoice2-0.5B, CosyVoice-300M, CosyVoice-300M-SFT, CosyVoice-300M-Instruct e CosyVoice-ttsfrd recursos.

# modelscope SDK model download
from modelscope import snapshot_download
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')

# for overseas users, huggingface SDK model download
from huggingface_hub import snapshot_download
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
snapshot_download('FunAudioLLM/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
snapshot_download('FunAudioLLM/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('FunAudioLLM/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('FunAudioLLM/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('FunAudioLLM/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')

Opcionalmente, descompacte o recurso ttsfrd e instale o pacote correspondente para melhorar a normalização de texto.

Esta etapa é opcional. Sem ela, o Cosyvoice usa o wetext por padrão.

cd pretrained_models/CosyVoice-ttsfrd/
unzip resource.zip -d .
pip install ttsfrd_dependency-0.1-py3-none-any.whl
pip install ttsfrd-0.4.2-cp310-cp310-linux_x86_64.whl

Uso básico

Para obter os melhores resultados, use Fun-CosyVoice3-0.5B e siga os exemplos de cada modelo compatível.

python example.py

Uso do vLLM

Cosyvoice2 e Cosyvoice3 oferecem suporte a vLLM 0.11.x+ com o mecanismo V1 e vLLM 0.9.0 no modo legado. Versões mais antigas não são compatíveis com a inferência do Cosyvoice, enquanto versões entre essas versões testadas podem exigir validação adicional.

Como o vLLM tem requisitos específicos de dependências, crie um ambiente separado quando necessário.

conda create -n cosyvoice_vllm --clone cosyvoice
conda activate cosyvoice_vllm
# for vllm==0.9.0
pip install vllm==v0.9.0 transformers==4.51.3 numpy==1.26.4 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# for vllm>=0.11.0
pip install vllm==v0.11.0 transformers==4.57.1 numpy==1.26.4 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
python vllm_example.py

Iniciar demonstração web

Use a demonstração web para se familiarizar rapidamente com o Cosyvoice e, em seguida, adapte o exemplo ao modelo selecionado.

Consulte o espaço de criação para ver os detalhes atuais da demonstração.

# change iic/CosyVoice-300M-SFT for SFT inference, or iic/CosyVoice-300M-Instruct for instruct inference
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300M

Uso avançado

Scripts de treinamento e inferência para usuários avançados são fornecidos em examples/libritts.

Preparar para implantação

Para a implantação opcional do serviço, execute as etapas a seguir.

cd runtime/python
docker build -t cosyvoice:v1.0 .
# change iic/CosyVoice-300M to iic/CosyVoice-300M-Instruct for instruct inference
# for grpc usage
docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/grpc && python3 server.py --port 50000 --max_conc 4 --model_dir iic/CosyVoice-300M && sleep infinity"
cd grpc && python3 client.py --port 50000 --mode <sft|zero_shot|cross_lingual|instruct>
# for fastapi usage
docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/fastapi && python3 server.py --port 50000 --model_dir iic/CosyVoice-300M && sleep infinity"
cd fastapi && python3 client.py --port 50000 --mode <sft|zero_shot|cross_lingual|instruct>

Usando Nvidia TensorRT-LLM para implantação

O TensorRT-LLM pode acelerar substancialmente o modelo de linguagem Cosyvoice2 em comparação com uma implementação padrão do Hugging Face Transformers.

cd runtime/triton_trtllm
docker compose up -d

Para obter detalhes sobre a implantação, continue no espaço de criação.

Discussão e comunicação

Perguntas e discussões técnicas podem ser compartilhadas por meio do espaço da comunidade Cosyvoice.

Você também pode escanear o código QR para entrar no grupo oficial de discussão do Cosyvoice.

Um cartão com código QR em preto e branco, simples e elegante, para entrar na comunidade Cosyvoice, centralizado sobre papel branco com um pequeno detalhe azul

Reconhecimentos

  1. Tomamos emprestado uma quantidade substancial de código do FunASR.
  2. Tomamos emprestado uma quantidade substancial de código do FunCodec.
  3. Tomamos emprestado uma quantidade substancial de código do Matcha-TTS.
  4. Tomamos emprestado uma quantidade substancial de código do AcademiCodec.
  5. Tomamos emprestado uma quantidade substancial de código do WeNet.

Citações

@article{du2024cosyvoice,
  title={Cosyvoice: A scalable multilingual zero-shot text-to-speech synthesizer based on supervised semantic tokens},
  author={Du, Zhihao and Chen, Qian and Zhang, Shiliang and Hu, Kai and Lu, Heng and Yang, Yexin and others},
  journal={arXiv preprint arXiv:2407.05407},
  year={2024}
}

@article{du2024cosyvoice,
  title={Cosyvoice 2: Scalable streaming speech synthesis with large language models},
  author={Du, Zhihao and Wang, Yuxuan and Chen, Qian and Shi, Xian and Lv, Xiang and Zhao, Tianyu and others},
  journal={arXiv preprint arXiv:2412.10117},
  year={2024}
}

@article{du2025cosyvoice,
  title={CosyVoice 3: Towards In-the-wild Speech Generation via Scaling-up and Post-training},
  author={Du, Zhihao and Gao, Changfeng and Wang, Yuxuan and Yu, Fan and Zhao, Tianyu and others},
  journal={arXiv preprint arXiv:2505.17589},
  year={2025}
}

@inproceedings{lyu2025build,
  title={Build LLM-Based Zero-Shot Streaming TTS System with Cosyvoice},
  author={Lyu, Xiang and Wang, Yuxuan and Zhao, Tianyu and Wang, Hao and Liu, Huadai and Du, Zhihao},
  booktitle={ICASSP 2025},
  pages={1--2},
  year={2025},
  organization={IEEE}
}

Ecossistema

Cosyvoice faz parte da família FunAudioLLM , um conjunto mais amplo de ferramentas para compreensão e geração de fala.

Projeto Descrição Estrelas
FunASR Reconhecimento de fala industrial com mais de 50 idiomas, diarização e streaming. Distintivo de estrelas do FunASR
Fun-ASR-Nano ASR de ponta a ponta baseado em LLM para 31 idiomas, palavras-chave e streaming com vLLM. Distintivo de estrelas do Fun-ASR-Nano
SenseVoice ASR ultrarrápido com reconhecimento de emoções e detecção de eventos de áudio. Distintivo de estrelas do SenseVoice
FunClip Clipping de vídeos com IA baseado em reconhecimento de fala. Distintivo de estrelas do FunClip

Aviso legal

O material desta página é fornecido para fins de demonstração acadêmica e técnica. Alguns exemplos são provenientes de recursos públicos. Se algum material infringir seus direitos, entre em contato conosco para solicitar sua remoção.

Começar a criar
Começar a criar