CosyVoice语音合成私有化部署
本章节内容为可选阅读,仅供参考。由于不同的硬件配置与部署环境可能存在差异,实际问题也会有所不同。建议按照本文环境及操作步骤执行,如遇异常可随时向 AI 寻求帮助,或咨询 CosyVoice 官方,PIG AI 无法提供支持。
CosyVoice 是由阿里巴巴达摩院开发的开源语音合成(TTS)模型,具有以下特点:
- 多语言支持:支持中文、英文、日语、粤语、韩语等多种语言
- 高音质输出:22.05kHz 采样率,自然流畅的语音效果
- 多种音色:提供丰富的预训练音色(中文男/女、英文男/女等)
- 快速推理:优化的模型结构,支持实时语音合成
- 灵活部署:支持本地私有化部署和云端部署
在 PIGX 中的功能
PIGX 平台已集成 CosyVoice,为 AI 知识库提供强大的语音合成能力:
- 文本转语音(TTS)功能
- 支持本地私有化部署
- 优先级策略:本地服务 > 云服务(自动降级)
- 多音色支持
- 灵活的音频参数配置
一、CosyVoice 模型安装部署
1.1 系统要求
硬件要求
| 组件 | 最低配置 | 推荐配置 |
|---|
| CPU | 4 核 | 8 核+ |
| 内存 | 8 GB | 16 GB+ |
| 存储 | 10 GB | 20 GB+ |
| GPU | 可选 | NVIDIA GPU(推荐) |
软件要求
- 操作系统:Linux (Ubuntu 20.04+) / macOS / Windows (WSL2)
- Python:3.10
- Conda:Miniconda 或 Anaconda
- FFmpeg:音频处理工具
1.2 环境准备
安装 Conda
如果尚未安装 Conda,请先安装 Miniconda:
# Linux/macOS
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 重新加载环境变量
source ~/.bashrc
安装 FFmpeg
# Ubuntu/Debian
sudo apt update
apt install ffmpeg
验证安装:
1.3 代码克隆
克隆 CosyVoice 仓库(包含子模块):
# 克隆代码
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 进入项目目录
cd CosyVoice
# 如果子模块克隆失败,执行以下命令重试
git submodule update --init --recursive
注意:由于网络原因,子模块可能需要多次执行 git submodule update 命令直到成功。
1.4 依赖安装
创建 Conda 环境
# 创建 Python 3.10 环境
conda create -n cosyvoice -y python=3.10
# 激活环境
conda activate cosyvoice
安装 Python 依赖
# 使用阿里云镜像加速安装(推荐)
pip install -r requirements.txt \
-i https://mirrors.aliyun.com/pypi/simple/ \
--trusted-host=mirrors.aliyun.com
# 如果上述命令失败,使用默认源
pip install -r requirements.txt
安装过程可能需要 5-10 分钟,请耐心等待。
1.5 启动服务
方式一:使用预训练模型(推荐)
# 进入 FastAPI 服务目录
cd runtime/python/fastapi/
# 启动服务(自动下载 CosyVoice-300M-SFT 模型)
python server.py --model_dir='iic/CosyVoice-300M-SFT'
首次启动会自动下载模型(约 600 MB),下载完成后服务自动启动。
方式二:使用本地模型
如果已下载模型到本地,可以指定本地路径:
python server.py --model_dir='/path/to/your/model'
启动参数说明
python server.py \
--model_dir='iic/CosyVoice-300M-SFT' \ # 模型路径或 ModelScope ID
--port=50000 # 服务端口(默认 50000)
1.6 验证部署
检查服务状态
服务成功启动后,会看到类似输出:
INFO: Started server process [12345]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:50000 (Press CTRL+C to quit)
二、PIGX 平台配置
2.1 配置文件
在 PIGX 项目中创建或编辑配置文件:
pig:
ai:
# CosyVoice 本地语音合成配置(FastAPI 接口)
cosy-voice:
# 是否启用 CosyVoice 服务
enabled: true
# 是否为私有化部署(true=本地服务,false=云服务)
is-private: true
# CosyVoice 服务地址(默认 FastAPI 端口 50000)
base-url: http://127.0.0.1:50000
# 默认预训练音色 ID(可选值:中文女、中文男、英文女、英文男、日语男、粤语女、韩语女等)
# 注意:音色 ID 必须与 CosyVoice 模型支持的音色列表一致
default-voice: 中文女
# 音频采样率(Hz),CosyVoice 默认 22050
# 常见值:16000(电话质量)、22050(默认)、44100(CD质量)、48000(专业音频)
sample-rate: 22050
# 音频声道数:1=单声道(默认),2=立体声
channels: 1
# 每样本位数(bit depth),通常为 16 位
bits-per-sample: 16
# 连接超时时间(秒)
connect-timeout: 30
# 读取超时时间(秒,TTS 生成较慢建议设置较长)
read-timeout: 120
三、使用方式
3.1 前端使用
在 PIGX AI 对话界面中,音频播放按钮会自动调用 CosyVoice 进行语音合成。
操作步骤
- 进入 AI 知识库 或 AI 对话 页面
- 发送消息后,AI 回复的文本旁边会显示 播放按钮
- 点击播放按钮,系统自动调用 CosyVoice 生成语音
- 首次播放需要等待几秒钟(语音合成时间)
- 生成完成后自动播放音频
音频会缓存在浏览器中,再次播放同一段文本时无需重新生成。