👉🏻 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.26 | 75.5 | 2.14 | 73.4 | - | - |
| Seed-TTS | ❌ | - | 1.12 | 79.6 | 2.25 | 76.2 | 7.59 | 77.6 |
| MiniMax-Speech | ❌ | - | 0.83 | 78.3 | 1.65 | 69.2 | - | - |
| F5-TTS | ✅ | 0.3B | 1.52 | 74.1 | 2.00 | 64.7 | 8.67 | 71.3 |
| Spark TTS | ✅ | 0.5B | 1.2 | 66.0 | 1.98 | 57.3 | - | - |
| CosyVoice2 | ✅ | 0.5B | 1.45 | 75.7 | 2.57 | 65.9 | 6.83 | 72.4 |
| FireRedTTS2 | ✅ | 1.5B | 1.14 | 73.2 | 1.95 | 66.5 | - | - |
| Index-TTS2 | ✅ | 1.5B | 1.03 | 76.5 | 2.23 | 70.6 | 7.12 | 75.5 |
| VibeVoice-1.5B | ✅ | 1.5B | 1.16 | 74.4 | 3.04 | 68.9 | - | - |
| VibeVoice-Realtime | ✅ | 0.5B | - | - | 2.05 | 63.3 | - | - |
| HiggsAudio-v2 | ✅ | 3B | 1.50 | 74.0 | 2.44 | 67.7 | - | - |
| VoxCPM | ✅ | 0.5B | 0.93 | 77.2 | 1.85 | 72.9 | 8.87 | 73.0 |
| GLM-TTS | ✅ | 1.5B | 1.03 | 76.1 | - | - | - | - |
| GLM-TTS RL | ✅ | 1.5B | 0.89 | 76.4 | - | - | - | - |
| Fun-CosyVoice3-0.5B-2512 | ✅ | 0.5B | 1.21 | 78.0 | 2.24 | 71.8 | 6.71 | 75.8 |
| Fun-CosyVoice3-0.5B-2512_RL | ✅ | 0.5B | 0.81 | 77.4 | 1.68 | 69.5 | 5.44 | 75.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.
Reconhecimentos
- Tomamos emprestado uma quantidade substancial de código do FunASR.
- Tomamos emprestado uma quantidade substancial de código do FunCodec.
- Tomamos emprestado uma quantidade substancial de código do Matcha-TTS.
- Tomamos emprestado uma quantidade substancial de código do AcademiCodec.
- 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.