Home
Login
FunAudioLLM/CosyVoice

CosyVoice: Modelo grande de generación de voz multilingüe, que proporciona capacidades completas de inferencia, entrenamiento e implementación.

Apache-2.0Python 14.5kFunAudioLLM Last Updated: 2025-06-12
https://github.com/FunAudioLLM/CosyVoice

Descripción Detallada del Proyecto CosyVoice

Resumen del Proyecto

CosyVoice es un modelo de generación de voz multilingüe a gran escala desarrollado por el equipo FunAudioLLM de Alibaba, que proporciona una solución completa de pila completa para inferencia, entrenamiento e implementación. Este proyecto se centra en la tecnología de síntesis de voz de alta calidad, compatible con múltiples idiomas y escenarios de aplicación.

Características Principales

Últimas Características de CosyVoice 2.0

Idiomas Soportados

  • Chino, Inglés, Japonés, Coreano
  • Dialectos Chinos: Cantonés, Sichuanés, Shanghainés, Tianjinés, Wuhanés, etc.

Avances Tecnológicos

  • Interlingüístico y Multilingüe Mixto: Soporta escenarios de cambio de idioma y código con clonación de voz zero-shot.
  • Soporte de Streaming Bidireccional: Integra tecnologías de modelado offline y streaming.
  • Síntesis de Latencia Ultrabaja: Latencia de síntesis del primer paquete de tan solo 150 milisegundos, manteniendo una salida de audio de alta calidad.
  • Precisión de Pronunciación Mejorada: Reducción de errores de pronunciación del 30% al 50% en comparación con la versión 1.0.
  • Logros en Pruebas de Referencia: Alcanza la tasa de error de caracteres más baja en el conjunto de pruebas difíciles de Seed-TTS.
  • Consistencia de Tono: Asegura una consistencia de tono fiable para la síntesis de voz zero-shot e interlingüística.
  • Mejora de la Prosodia y la Calidad del Sonido: Alineación de audio sintetizado mejorada, con una puntuación de evaluación MOS que aumenta de 5.4 a 5.53.
  • Flexibilidad Emocional y de Dialecto: Soporta un control emocional más fino y ajustes de acento.

Versiones del Modelo

CosyVoice2-0.5B (Recomendado)

  • La última versión, con un rendimiento superior.
  • Soporta todas las últimas características.

Serie CosyVoice-300M

  • CosyVoice-300M: Modelo base
  • CosyVoice-300M-SFT: Versión de ajuste fino supervisado
  • CosyVoice-300M-Instruct: Versión de ajuste fino con instrucciones

Modos de Funcionalidad

1. Clonación de Voz Zero-Shot

  • Clona una voz con solo unos segundos de muestra de audio.
  • Soporta la clonación de voz interlingüística.
  • Mantiene las características de tono del hablante original.

2. Síntesis Interlingüística

  • Sintetiza voz en otro idioma utilizando una muestra de audio en un idioma.
  • Soporta combinaciones de múltiples idiomas como chino, inglés, japonés, coreano, cantonés, etc.

3. Conversión de Voz

  • Convierte la voz de un hablante al tono de otro hablante.
  • Cambia el tono manteniendo el contenido original.

4. Modo de Ajuste Fino Supervisado (SFT)

  • Realiza la síntesis de voz utilizando identidades de hablantes predefinidas.
  • Calidad de síntesis estable y fiable.

5. Modo de Control por Instrucciones (Instruct)

  • Controla la síntesis de voz a través de instrucciones en lenguaje natural.
  • Soporta etiquetas de emoción y efectos especiales.
  • Permite controlar el estilo de voz, la expresión emocional, etc.

6. Control Fino

  • Soporta marcadores especiales como risa [laughter], respiración [breath], etc.
  • Soporta control de énfasis <strong></strong>.
  • Ajuste fino de la emoción y la prosodia.

Arquitectura Técnica

Tecnologías Clave

  • Marcado de Voz Discreto: Basado en la tecnología de marcado de voz discreto supervisado.
  • Decodificación Semántica Progresiva: Utiliza modelos de lenguaje (LMs) y Flow Matching.
  • Modelado de Streaming Bidireccional: Soporta inferencia en tiempo real y por lotes.
  • Integración Multimodal: Integración perfecta con modelos de lenguaje grandes.

Optimización del Rendimiento

  • Soporte de Inferencia de Streaming: Incluye almacenamiento en caché KV y optimización SDPA.
  • Muestreo con Percepción de Repetición (RAS): Mejora la estabilidad del LLM.
  • Aceleración TensorRT: Soporta inferencia acelerada por GPU.
  • Precisión FP16: Equilibra el rendimiento y la calidad.

Instalación y Uso

Requisitos del Entorno

  • Python 3.10
  • GPU compatible con CUDA (recomendado)
  • Gestión de entornos Conda

Inicio Rápido

# Clonar el repositorio
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice

# Crear el entorno
conda create -n cosyvoice -y python=3.10
conda activate cosyvoice
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt

Descarga del Modelo

from modelscope import snapshot_download

# Descargar CosyVoice2.0 (Recomendado)
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')

# Descargar otras versiones
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')

Ejemplo de Uso Básico

from cosyvoice.cli.cosyvoice import CosyVoice2
from cosyvoice.utils.file_utils import load_wav
import torchaudio

# Inicializar el modelo
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B')

# Clonación de voz zero-shot
prompt_speech = load_wav('./asset/zero_shot_prompt.wav', 16000)
for i, result in enumerate(cosyvoice.inference_zero_shot(
    '收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐。', 
    '希望你以后能够做的比我还好呦。', 
    prompt_speech
)):
    torchaudio.save(f'output_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)

# Síntesis controlada por instrucciones
for i, result in enumerate(cosyvoice.inference_instruct2(
    '今天天气真不错,我们去公园散步吧。', 
    '用四川话说这句话', 
    prompt_speech
)):
    torchaudio.save(f'instruct_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)

Esquemas de Implementación

Implementación de la Interfaz Web

python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice2-0.5B

Implementación del Contenedor Docker

cd runtime/python
docker build -t cosyvoice:v1.0 .

# Servicio gRPC
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 --model_dir iic/CosyVoice2-0.5B"

# Servicio FastAPI  
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/CosyVoice2-0.5B"

Escenarios de Aplicación

Aplicaciones Comerciales

  • Atención al Cliente Inteligente: Sistemas de atención al cliente multilingües.
  • Audiolibros: Narración personalizada y doblaje de personajes.
  • Asistentes de Voz: Experiencia de interacción humano-máquina natural.
  • Educación en Línea: Producción de contenido educativo multilingüe.

Aplicaciones Creativas

  • Producción de Podcasts: Generación automatizada de contenido de podcasts.
  • Doblaje de Juegos: Síntesis de voz de personajes.
  • Producción de Videos Cortos: Soluciones de doblaje rápidas.
  • Traducción de Voz: Traducción de voz a voz en tiempo real.

Integración Técnica

  • Integración con LLM: Construcción de sistemas de diálogo completos.
  • Chat de Voz Emocional: Robots de diálogo que admiten la expresión emocional.
  • Podcasts Interactivos: Generación de contenido dinámico.
  • Audiolibros Expresivos: Rica expresividad emocional.

Ventajas Técnicas

Indicadores de Rendimiento

  • Latencia: Síntesis del primer paquete de tan solo 150 ms.
  • Calidad: MOS