🔥 CosyVoice API 部署指南
📖 简介
CosyVoice 是阿里巴巴达摩院开源的多语言语音合成模型,支持中文、英语、日语、粤语、韩语等多种语言,具备零样本声音克隆能力。
✨ 特点
| 特性 | 描述 |
|---|---|
| 🌍 多语言 | 支持中文、英语、日语、粤语、韩语等 |
| 🗣️ 方言支持 | 支持多种中国方言 |
| 🎭 零样本克隆 | 仅需 3-10 秒音频即可克隆声音 |
| 🎵 情感丰富 | 支持情感控制和语气调节 |
| 📝 指令控制 | 支持通过文本指令控制语音风格 |
⚠️ 性能参考
🖥️ 硬件性能测试
在 12700 CPU 上测试(无 GPU 加速):
- 💾 内存占用:8~12 GB
- ⏱️ 转换 145 个汉字:约 80~100 秒
- 🎮 强烈建议使用 GPU 加速!
🎯 项目目标
快速部署一个 CosyVoice API 服务,提供以下两个核心接口:
🎭 预设音色合成
- 指定音色 + 文本 → 返回音频
🗣️ 自定义音色克隆
- 上传音色文件 + 参考文本 + 目标文本 → 返回音频
🐳 Docker API 服务部署
📥 第一步:克隆代码
bash
git clone https://gitee.com/ZengYu1998/cosyvoice-docker-api.git
cd cosyvoice-docker-api📦 第二步:下载模型
将模型下载到 pretrained_models 目录下。
python
# 前提:pip install modelscope
from modelscope import snapshot_download
# 下载模型(按需选择)
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-25Hz', local_dir='pretrained_models/CosyVoice-300M-25Hz')
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')bash
# 前提:git lfs install
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice2-0.5B.git pretrained_models/CosyVoice2-0.5B
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
git clone https://www.modelscope.cn/iic/CosyVoice-300M-25Hz.git pretrained_models/CosyVoice-300M-25Hz
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
git clone https://www.modelscope.cn/iic/CosyVoice-ttsfrd.git pretrained_models/CosyVoice-ttsfrd🔨 第三步:构建镜像
bash
docker build -t cosyvoice-api .🚀 第四步:运行容器
💡 建议
建议将输出目录映射到宿主机,方便获取生成的音频文件。
基础运行命令:
bash
# 使用 CPU 运行(性能较低)
docker run -itd --restart always \
--name cosyvoice-api \
-p 8000:8000 \
-v /你的路径:/workspace/CosyVoice/out \
cosyvoice-apibash
# 使用 GPU 运行(推荐,性能大幅提升)
docker run -itd --restart always \
--gpus all \
--name cosyvoice-api \
-p 8000:8000 \
-v /你的路径:/workspace/CosyVoice/out \
cosyvoice-apiWindows 示例:
bash
# 生产环境运行
docker run -itd --restart always \
--name cosyvoice-api \
-p 8000:8000 \
-v E:\Project\Python\cosyvoice-api\out:/workspace/CosyVoice/out \
cosyvoice-apibash
# 测试环境(挂载测试脚本)
docker run -it --rm \
-p 8000:8000 \
-v E:\Project\Python\cosyvoice-api\out:/workspace/CosyVoice/out \
-v E:\Project\Python\cosyvoice-api\test.py:/workspace/CosyVoice/test.py \
tts-api bash🎯 模型说明
| 模型名称 | 大小 | 说明 |
|---|---|---|
| 🌟 CosyVoice2-0.5B | ~1GB | 最新版本,推荐使用 |
| 📦 CosyVoice-300M | ~600MB | 基础模型 |
| 🎤 CosyVoice-300M-SFT | ~600MB | 预置多种音色 |
| 📝 CosyVoice-300M-Instruct | ~600MB | 支持指令控制 |
| ⏱️ CosyVoice-300M-25Hz | ~600MB | 25Hz 采样率版本 |
| 🔧 CosyVoice-ttsfrd | ~100MB | 文本前端处理资源 |
✅ 验证服务
服务启动后,访问以下地址查看 API 文档:
http://localhost:8000/docs🎉 部署完成!开始享受高质量的语音合成服务吧!