Skip to content

🔥 CosyVoice API 部署指南

📖 简介

CosyVoice 是阿里巴巴达摩院开源的多语言语音合成模型,支持中文、英语、日语、粤语、韩语等多种语言,具备零样本声音克隆能力。

🔗 官方仓库:https://github.com/FunAudioLLM/CosyVoice

✨ 特点

特性描述
🌍 多语言支持中文、英语、日语、粤语、韩语等
🗣️ 方言支持支持多种中国方言
🎭 零样本克隆仅需 3-10 秒音频即可克隆声音
🎵 情感丰富支持情感控制和语气调节
📝 指令控制支持通过文本指令控制语音风格

⚠️ 性能参考

🖥️ 硬件性能测试

12700 CPU 上测试(无 GPU 加速):

  • 💾 内存占用:8~12 GB
  • ⏱️ 转换 145 个汉字:约 80~100 秒
  • 🎮 强烈建议使用 GPU 加速!

🎯 项目目标

快速部署一个 CosyVoice API 服务,提供以下两个核心接口:

  1. 🎭 预设音色合成

    • 指定音色 + 文本 → 返回音频
  2. 🗣️ 自定义音色克隆

    • 上传音色文件 + 参考文本 + 目标文本 → 返回音频

🐳 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-api
bash
# 使用 GPU 运行(推荐,性能大幅提升)
docker run -itd --restart always \
  --gpus all \
  --name cosyvoice-api \
  -p 8000:8000 \
  -v /你的路径:/workspace/CosyVoice/out \
  cosyvoice-api

Windows 示例:

bash
# 生产环境运行
docker run -itd --restart always \
  --name cosyvoice-api \
  -p 8000:8000 \
  -v E:\Project\Python\cosyvoice-api\out:/workspace/CosyVoice/out \
  cosyvoice-api
bash
# 测试环境(挂载测试脚本)
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~600MB25Hz 采样率版本
🔧 CosyVoice-ttsfrd~100MB文本前端处理资源

✅ 验证服务

服务启动后,访问以下地址查看 API 文档:

http://localhost:8000/docs

🎉 部署完成!开始享受高质量的语音合成服务吧!