Detaillierte Projektbeschreibung: CosyVoice
Projektübersicht
CosyVoice ist ein mehrsprachiges, großes Sprachgenerierungsmodell, das vom Alibaba FunAudioLLM-Team entwickelt wurde und eine vollständige Full-Stack-Lösung für Inferenz, Training und Bereitstellung bietet. Das Projekt konzentriert sich auf hochwertige Sprachsynthesetechnologien und unterstützt eine Vielzahl von Sprachen und Anwendungsszenarien.
Kernfunktionen
Neueste Funktionen von CosyVoice 2.0
Unterstützte Sprachen
- Chinesisch, Englisch, Japanisch, Koreanisch
- Chinesische Dialekte: Kantonesisch, Sichuanisch, Shanghaisch, Tianjinisch, Wuhanisch usw.
Technologische Durchbrüche
- Sprachübergreifend und mehrsprachig gemischt: Unterstützt sprachübergreifende und Code-Switching-Szenarien für Zero-Shot-Sprachklonierung
- Bidirektionale Streaming-Unterstützung: Integriert Offline- und Streaming-Modellierungstechniken
- Synthese mit extrem niedriger Latenz: Die Latenz des ersten Pakets beträgt nur 150 ms, bei gleichbleibend hoher Audioausgabe
- Verbesserte Aussprachegenauigkeit: Reduzierung der Aussprachefehler um 30 % bis 50 % im Vergleich zu Version 1.0
- Benchmark-Erfolge: Erreicht die niedrigste Zeichenfehlerrate im schwierigen Testset des Seed-TTS-Evaluierungssets
- Klangfarbenkonsistenz: Gewährleistet eine zuverlässige Klangfarbenkonsistenz für Zero-Shot- und sprachübergreifende Sprachsynthese
- Verbesserung von Prosodie und Klangqualität: Verbesserte Ausrichtung der synthetisierten Audiodaten, MOS-Bewertung von 5,4 auf 5,53 erhöht
- Emotionale und dialektale Flexibilität: Unterstützt eine feinere emotionale Steuerung und Akzentanpassung
Modellversionen
CosyVoice2-0.5B (Empfohlen)
- Neueste Version, überlegene Leistung
- Unterstützt alle neuesten Funktionen
CosyVoice-300M Serie
- CosyVoice-300M: Basismodell
- CosyVoice-300M-SFT: Überwachte Feinabstimmungsversion
- CosyVoice-300M-Instruct: Befehlsfeinabstimmungsversion
Funktionsmodi
1. Zero-Shot-Sprachklonierung
- Benötigt nur wenige Sekunden Audiomaterial, um eine Stimme zu klonen
- Unterstützt sprachübergreifende Sprachklonierung
- Behält die Klangfarbeneigenschaften des ursprünglichen Sprechers bei
2. Sprachübergreifende Synthese (Cross-lingual)
- Verwendet Audiomaterial einer Sprache, um Sprache in einer anderen Sprache zu synthetisieren
- Unterstützt verschiedene Sprachkombinationen wie Chinesisch, Englisch, Japanisch, Koreanisch, Kantonesisch usw.
3. Sprachkonvertierung (Voice Conversion)
- Konvertiert die Stimme eines Sprechers in die Klangfarbe eines anderen Sprechers
- Behält den ursprünglichen Inhalt bei und ändert gleichzeitig die Klangfarbe
4. Überwachter Feinabstimmungsmodus (SFT)
- Verwendet vordefinierte Sprecheridentitäten für die Sprachsynthese
- Stabile und zuverlässige Synthesequalität
5. Befehlssteuerungsmodus (Instruct)
- Steuert die Sprachsynthese über natürliche Sprachbefehle
- Unterstützt emotionale Tags und Spezialeffekte
- Steuert Sprachstil, emotionalen Ausdruck usw.
6. Feine Steuerung
- Unterstützt spezielle Markierungen wie Lachen
[laughter]
, Atmen [breath]
usw.
- Unterstützt Akzentsteuerung
<strong></strong>
- Feineinstellung von Emotionen und Prosodie
Technische Architektur
Kerntechnologien
- Diskrete Sprachmarkierung: Basierend auf überwachter diskreter Sprachmarkierungstechnologie
- Progressive semantische Dekodierung: Verwendung von Sprachmodellen (LMs) und Flow Matching
- Bidirektionale Streaming-Modellierung: Unterstützt Echtzeit- und Batch-Verarbeitung
- Multimodale Integration: Nahtlose Integration mit großen Sprachmodellen
Leistungsoptimierung
- Streaming-Inferenzunterstützung: Einschließlich KV-Cache und SDPA-Optimierung
- Wiederholungswahrnehmungssampling (RAS): Erhöht die LLM-Stabilität
- TensorRT-Beschleunigung: Unterstützt GPU-beschleunigte Inferenz
- FP16-Genauigkeit: Ausgewogene Leistung und Qualität
Installation und Verwendung
Systemanforderungen
- Python 3.10
- CUDA-fähige GPU (empfohlen)
- Conda-Umgebungsverwaltung
Schnellstart
# Repository klonen
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
# Umgebung erstellen
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
Modell-Download
from modelscope import snapshot_download
# CosyVoice2.0 herunterladen (empfohlen)
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
# Andere Versionen herunterladen
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')
Grundlegendes Nutzungsbeispiel
from cosyvoice.cli.cosyvoice import CosyVoice2
from cosyvoice.utils.file_utils import load_wav
import torchaudio
# Modell initialisieren
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B')
# Zero-Shot-Sprachklonierung
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)
# Befehlsgesteuerte Synthese
for i, result in enumerate(cosyvoice.inference_instruct2(
'今天天气真不错,我们去公园散步吧。',
'用四川话说这句话',
prompt_speech
)):
torchaudio.save(f'instruct_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)
Bereitstellungsoptionen
Web-Oberflächenbereitstellung
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice2-0.5B
Docker-Container-Bereitstellung
cd runtime/python
docker build -t cosyvoice:v1.0 .
# gRPC-Dienst
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"
# FastAPI-Dienst
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"
Anwendungsfälle
Kommerzielle Anwendungen
- Intelligenter Kundenservice: Mehrsprachige Kundenservicesysteme
- Hörbücher: Personalisierte Kommentare und Rollensynchronisation
- Sprachassistenten: Natürliche Mensch-Maschine-Interaktion
- Online-Bildung: Erstellung mehrsprachiger Lerninhalte
Kreative Anwendungen
- Podcast-Produktion: Automatisierte Podcast-Inhaltsgenerierung
- Spielesynchronisation: Rollensprachsynthese
- Kurzvideoproduktion: Schnelle Synchronisationslösungen
- Sprachübersetzung: Echtzeit-Sprache-zu-Sprache-Übersetzung
Technische Integration
- Integration mit LLM: Aufbau vollständiger Dialogsysteme
- Emotionaler Sprachchat: Dialogroboter, die emotionale Ausdrücke unterstützen
- Interaktive Podcasts: Dynamische Inhaltsgenerierung
- Expressive Hörbücher: Reichhaltige emotionale Ausdruckskraft
Technische Vorteile
Leistungskennzahlen
- Latenz: Synthese des ersten Pakets ab 150 ms
- Qualität: MOS