👉🏻 Cosyvoice 👈🏻
Fun-Cosyvoice 3.0: Demostraciones; Artículo; Modelscope; Huggingface; Evaluación
Cosyvoice 2.0: Demostraciones; Artículo; Modelscope; HuggingFace
Cosyvoice 1.0: Demostraciones; Artículo; Modelscope; HuggingFace
Destacado🔥
Fun-Cosyvoice 3.0 es un sistema avanzado de texto a voz basado en modelos de lenguaje de gran escala. Mejora la continuidad, la similitud de la voz y la prosodia, y sigue siendo adecuado para la síntesis de voz multilingüe zero-shot en situaciones cotidianas.
Características principales
- Cobertura lingüística: Admite 9 idiomas de uso extendido, incluidos chino, inglés, japonés, coreano, alemán, español, francés, italiano y ruso, además de más de 18 dialectos y acentos chinos. También admite la clonación de voz zero-shot multilingüe y entre idiomas.
- Consistencia y naturalidad del contenido: Mantiene estable el contenido hablado, al tiempo que preserva la similitud de la voz y una prosodia natural.
- Rellenado de pronunciación: Admite pinyin chino y fonemas CMU en inglés para un control más preciso de la pronunciación en flujos de trabajo de producción.
- Normalización de texto: Lee números, símbolos y diversos formatos de texto sin requerir un módulo frontend tradicional.
- Streaming bidireccional: Admite la entrada de texto en streaming y la salida de audio en streaming, con una latencia diseñada para alcanzar aproximadamente 150ms mientras mantiene un audio detallado.
- Compatibilidad con instrucciones: Gestiona instrucciones para el idioma, el dialecto, la emoción, la velocidad, el volumen y otros controles relacionados con la interpretación.
Hoja de ruta
-
2025/12
- Lanzar el modelo base Fun-Cosyvoice3-0.5B-2512, el modelo RL y los scripts de entrenamiento/inferencia
- Lanzar un espacio Gradio de Fun-Cosyvoice3-0.5B en Modelscope
-
2025/08
- Añadir compatibilidad con el runtime Triton TRT-LLM y con el entrenamiento GRPO de Cosyvoice2
-
2025/07
- Lanzar el conjunto de evaluación de Fun-Cosyvoice 3.0
-
2025/05
- Añadir compatibilidad con vLLM para Cosyvoice2-0.5B
-
2024/12
- Lanzar el modelo Cosyvoice2-0.5B de 25Hz
-
2024/09
- Lanzamiento del modelo base Cosyvoice-300M de 25 Hz
- Añadir la función de conversión de voz de Cosyvoice-300M
-
2024/08
- Añadir inferencia de muestreo consciente de la repetición para mejorar la estabilidad del LLM
- Añadir compatibilidad con la inferencia en streaming mediante caché KV y optimización SOTA
-
2024/07
- Añadir compatibilidad con el entrenamiento de flow matching
- Añadir compatibilidad con WeTextProcessing cuando ttsfrd no esté disponible
- Añadir compatibilidad con el servidor y el cliente FastAPI
Evaluación
| Modelo | Código abierto | Tamaño del 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 el repositorio
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 -
Instalar Conda: consulta la documentación de Miniconda.
-
Crear un entorno de 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
Descarga del modelo
Recomendamos descargar los recursos Fun-CosyVoice3-0.5B, CosyVoice2-0.5B, CosyVoice-300M, CosyVoice-300M-SFT, CosyVoice-300M-Instruct y CosyVoice-ttsfrd .
# 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, descomprime el recurso ttsfrd e instala su paquete para mejorar la normalización del texto.
Este paso es opcional. Sin él, Cosyvoice usa wetext de forma predeterminada.
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 obtener los mejores resultados, usa Fun-CosyVoice3-0.5B y sigue los ejemplos de cada modelo compatible.
python example.py
Uso de vLLM
Cosyvoice2 y Cosyvoice3 son compatibles con vLLM 0.11.x+ con el motor V1 y vLLM 0.9.0 en modo heredado. Las versiones anteriores no son compatibles con la inferencia de Cosyvoice, mientras que las versiones entre estas versiones probadas pueden requerir una validación adicional.
Debido a los requisitos de dependencias específicos de vLLM, crea un entorno independiente cuando sea necesario.
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 la demostración web
Usa la demo web para familiarizarte rápidamente con Cosyvoice y, después, adapta el ejemplo al modelo que hayas elegido.
Consulta el espacio de creación para conocer los detalles de la demo actual.
# 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 avanzado
Los scripts de entrenamiento e inferencia para usuarios avanzados están disponibles en examples/libritts.
Preparación para el despliegue
Para desplegar el servicio de forma opcional, sigue estos pasos.
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>
Despliegue con Nvidia TensorRT-LLM
TensorRT-LLM puede acelerar considerablemente el modelo de lenguaje Cosyvoice2 en comparación con una implementación estándar de Hugging Face Transformers.
cd runtime/triton_trtllm
docker compose up -d
Para obtener información sobre el despliegue, continúa en el espacio de creación.
Debate y comunicación
Puedes compartir preguntas y participar en debates técnicos en el espacio de la comunidad de Cosyvoice.
También puedes escanear el código QR para unirte al grupo oficial de debate de Cosyvoice.
Agradecimientos
- Hemos utilizado una cantidad considerable de código de FunASR.
- Hemos utilizado una cantidad considerable de código de FunCodec.
- Hemos utilizado una cantidad considerable de código de Matcha-TTS.
- Hemos utilizado una cantidad considerable de código de AcademiCodec.
- Hemos utilizado una cantidad considerable de código de WeNet.
Citas
@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}
}
Ecosistema
Cosyvoice forma parte de la FunAudioLLM familia, un conjunto más amplio de herramientas para la comprensión y generación del habla.
| Proyecto | Descripción | Estrellas |
|---|---|---|
| FunASR | Reconocimiento industrial del habla en más de 50 idiomas, con diarización y transmisión en tiempo real. | Insignia de estrellas de FunASR |
| Fun-ASR-Nano | ASR de extremo a extremo basado en LLM para 31 idiomas, palabras clave y transmisión con vLLM. | Insignia de estrellas de Fun-ASR-Nano |
| SenseVoice | ASR ultrarrápido con reconocimiento de emociones y detección de eventos de audio. | Insignia de estrellas de SenseVoice |
| FunClip | Recorte de videos mediante IA basado en el reconocimiento del habla. | Insignia de estrellas de FunClip |
Descargo de responsabilidad
El material de esta página se proporciona con fines de demostración académica y técnica. Algunos ejemplos proceden de recursos públicos. Si algún material infringe sus derechos, póngase en contacto con nosotros para solicitar su retirada.