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