FunAudioLLM/CosyVoiceView GitHub Homepage for Latest Official Releases
CosyVoice:多語言大型語音生成模型,提供推理、訓練和部署全棧能力
Apache-2.0PythonCosyVoiceFunAudioLLM 15.6k Last Updated: August 07, 2025
CosyVoice 項目詳細介紹
項目概述
CosyVoice 是由阿里巴巴 FunAudioLLM 團隊開發的多語言大型語音生成模型,提供完整的推理、訓練和部署全棧解決方案。該項目專注於高品質的語音合成技術,支持多種語言和應用場景。
核心特性
CosyVoice 2.0 最新特性
支持語言
- 中文、英文、日語、韓語
- 中文方言:粵語、四川話、上海話、天津話、武漢話等
技術突破
- 跨語言和多語言混合:支持零樣本語音克隆的跨語言和代碼切換場景
- 雙向流式支持:集成離線和流式建模技術
- 超低延遲合成:首包合成延遲低至150毫秒,同時保持高品質音訊輸出
- 發音準確性提升:相比1.0版本,發音錯誤減少30%到50%
- 基準測試成就:在Seed-TTS評估集的困難測試集上達到最低字符錯誤率
- 音色一致性:確保零樣本和跨語言語音合成的可靠音色一致性
- 韻律和音質增強:合成音訊對齊改善,MOS評估分數從5.4提升至5.53
- 情感和方言靈活性:支持更精細的情感控制和口音調整
模型版本
CosyVoice2-0.5B(推薦)
- 最新版本,性能更優異
- 支持所有最新特性
CosyVoice-300M 系列
- CosyVoice-300M:基礎模型
- CosyVoice-300M-SFT:監督微調版本
- CosyVoice-300M-Instruct:指令微調版本
功能模式
1. 零樣本語音克隆(Zero-shot)
- 僅需幾秒鐘的音訊樣本即可克隆聲音
- 支持跨語言語音克隆
- 保持原始說話者的音色特徵
2. 跨語言合成(Cross-lingual)
- 使用一種語言的音訊樣本合成另一種語言的語音
- 支持中、英、日、韓、粵語等多種語言組合
3. 語音轉換(Voice Conversion)
- 將一個說話者的語音轉換為另一個說話者的音色
- 保持原始内容的同時改變音色
4. 監督微調模式(SFT)
- 使用預定義的說話者身份進行語音合成
- 穩定可靠的合成質量
5. 指令控制模式(Instruct)
- 通過自然語言指令控制語音合成
- 支持情感標籤和特殊效果
- 可控制語音風格、情感表達等
6. 精細控制
- 支持笑聲
[laughter]
、呼吸[breath]
等特殊標記 - 支持重音控制
<strong></strong>
- 情感和韻律的精細調節
技術架構
核心技術
- 離散語音標記:基於監督的離散語音標記技術
- 漸進式語義解碼:使用語言模型(LMs)和流匹配(Flow Matching)
- 雙向流式建模:支持實時和批處理推理
- 多模態集成:與大語言模型無縫集成
性能優化
- 流式推理支持:包括KV緩存和SDPA優化
- 重複感知採樣(RAS):提升LLM穩定性
- TensorRT加速:支持GPU加速推理
- FP16精度:平衡性能和質量
安裝和使用
環境要求
- Python 3.10
- CUDA支持的GPU(推薦)
- Conda環境管理
快速開始
# 克隆倉庫
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
# 創建環境
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
模型下載
from modelscope import snapshot_download
# 下載CosyVoice2.0(推薦)
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')
基礎使用示例
from cosyvoice.cli.cosyvoice import CosyVoice2
from cosyvoice.utils.file_utils import load_wav
import torchaudio
# 初始化模型
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B')
# 零樣本語音克隆
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)
# 指令控制合成
for i, result in enumerate(cosyvoice.inference_instruct2(
'今天天氣真不錯,我們去公園散步吧。',
'用四川話說這句話',
prompt_speech
)):
torchaudio.save(f'instruct_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)
部署方案
Web界面部署
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice2-0.5B
Docker容器部署
cd runtime/python
docker build -t cosyvoice:v1.0 .
# 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"
# 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"
應用場景
商業應用
- 智能客服:多語言客服系統
- 有聲讀物:個性化旁白和角色配音
- 語音助手:自然的人機交互體驗
- 在線教育:多語言教學內容製作
創意應用
- 播客製作:自動化播客內容生成
- 遊戲配音:角色語音合成
- 短視頻製作:快速配音解決方案
- 語音翻譯:實時語音到語音翻譯
技術集成
- 與LLM集成:構建完整的對話系統
- 情感語音聊天:支持情感表達的對話機器人
- 交互式播客:動態內容生成
- 表達性有聲書:豐富的情感表現力
技術優勢
性能指標
- 延遲:首包合成低至150ms
- 質量:MOS