想给视频或课程配一段自己的中文旁白,可以在 Mac 上本地运行 CosyVoice 3,用本人或已获明确授权的参考录音生成另一段语音。
此前使用项目示例录音生成的样音暂不公开展示,待核对参考声音的授权范围后再决定是否恢复。以下保留本机部署步骤和历史测试记录;工具包不再预设参考声音。
此前测试中,9.36 秒的语音在 M1 Max 上用 CPU 生成约 33~37 秒;更换参考录音后的速度和听感尚未验证。它适合提前制作旁白,不适合要求实时响应的场景。模型文件约 10GB,安装依赖后建议预留至少 15GB 磁盘空间。
开始前准备
| 项目 | 需要准备 |
|---|---|
| 电脑 | 本文实测为 M1 Max、64GB 统一内存的 Mac;其他 Mac 的速度和兼容性未验证 |
| 磁盘 | 建议预留 15GB 以上,代码、依赖和模型都要占空间 |
| 时间 | 首次安装约 1 小时,模型下载时间取决于网络 |
| 工具 | 终端、Git、uv;不需要 API Key,也不按生成条数收费 |
CosyVoice 由阿里通义团队维护。Mac 上可用 CPU 运行,但本教程不保证所有 Apple 芯片机型都能顺利安装。项目的官方安装说明主要面向 Linux 环境;下文的 Mac 依赖组合按 2026 年 10 月 3 日的安装记录整理,2026 年 10 月 10 日在同一环境重新生成了样音。
官方模型仓库标注 Apache 2.0,但模型卡同时写有「仅供学术目的」的免责声明;页面没有解释这句话是否限制模型权重的商业使用。若要用于收费项目,先向维护者确认适用范围,再确认参考录音授权和客户素材许可。
1. 下载项目并安装依赖
如果还没装 uv,可先看《用 uv 安装 Python 和虚拟环境》。在终端里执行:
mkdir -p ~/ai-demo && cd ~/ai-demo
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
--recursive 会同时下载项目需要的 Matcha-TTS 子模块。若下载中断,再执行:
git submodule update --init --recursive
创建 Python 3.10 环境,再安装 Mac 上验证过的依赖组合:
uv venv --python 3.10 --managed-python
source .venv/bin/activate
export UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/
uv pip install "setuptools<70" wheel "numpy==1.26.4" "torch==2.3.1" "torchaudio==2.3.1"
uv pip install openai-whisper==20231117 "torch==2.3.1" "numpy==1.26.4" --no-build-isolation
uv pip install -r requirements.txt --index-strategy unsafe-best-match
uv pip install "scipy==1.14.1"
最后固定 SciPy 版本,是为了解决这次 Mac 环境里 SciPy 1.15.x 的加载错误。依赖安装后若看到 pip 提示包版本冲突,不要直接忽略;先确认以上命令执行完成,再继续下载模型。
2. 下载语音模型
项目提供的 Fun-CosyVoice3-0.5B-2512 模型仓库约 9.75GB。下载会占用不少磁盘和流量;先确认空间足够,再从项目根目录运行:
python - <<'PY'
from modelscope import snapshot_download
snapshot_download(
'FunAudioLLM/Fun-CosyVoice3-0.5B-2512',
local_dir='pretrained_models/Fun-CosyVoice3-0.5B',
)
PY
这是官方 README 使用的模型仓库和保存路径。模型文件比较大,下载中断时可重新运行命令继续;不要关闭终端直到下载结束。
3. 运行脚本生成语音
下载CosyVoice 3 Mac 示例工具包,解压后把 demo_cv3.py 放在 CosyVoice 项目根目录,也就是和 webui.py 同一层。包里还附有 README 和本节步骤。
先准备本人录音或已获明确授权的 WAV 文件,在脚本中填写 PROMPT_WAV 路径和 PROMPT_TEXT 逐字原文(不填写系统前缀),把 TEXT 改成要合成的文字。确认授权包含本次声音克隆用途后,将 VOICE_USE_CONFIRMED 改为 True,再从项目根目录执行:
source .venv/bin/activate
python demo_cv3.py
第一次加载会花一些时间。完成后,项目根目录会出现 output_0.wav,双击即可试听。
脚本默认留空参考音路径和转写文字,授权确认默认为 False;未填写或文件不存在时,会在加载模型前退出,不会自动回退到项目示例声音。录音尽量清楚、无背景音乐。若准备在 App、网站或交付作品中公开生成结果,还需确认授权包含相应的公开展示、传播及商业用途(如适用),并保留授权记录。这个确认开关只是操作提醒,不能替代真实授权。
同一参数下,本机两次生成用时约 33~37 秒,参考文本与录音内容相符。每台电脑的速度会不同;涉及数字、日期和符号时,请听完整段落并校对读法。当时运行未能从 ModelScope 获取 Wetext 前端(返回 403),但样音仍成功生成,因此不要把数字朗读准确性当成已验证结果。
常见问题
报错 No module named 'matcha'
先确认下载项目时使用了 --recursive。如果漏了子模块,在项目根目录执行:
git submodule update --init --recursive
脚本会把 third_party/Matcha-TTS 加到 Python 搜索路径;运行时也要从 CosyVoice 项目根目录启动。
生成速度慢怎么办?
本文使用 CPU 生成,9.36 秒音频耗时约 33 秒。换一段短文字先确认安装正常;如果要实时对话或大量批量处理,可以考虑使用项目支持的 NVIDIA GPU 环境。本文没有验证 Mac GPU 加速方案。
商用前要确认什么?
模型页面标注 Apache 2.0,同时有学术用途免责声明;商用前应向维护者确认该声明与模型权重许可的关系。即使模型许可允许使用,也不代表你自动拥有参考声音的使用权。不要用他人声音冒充本人;客户录音先取得授权。参考录音和生成内容保存在本机,备份或发送给他人前确认文件中不含未获许可的个人声音。
拿它挣钱
确认模型和素材许可适用于你的业务后,CosyVoice 可以作为视频旁白、课程配音或短片解说的制作工具。接单前先确认客户是否接受 AI 配音,保存声音授权记录,并试听校对每一段成品。报价可以按项目时长、修改次数和交付格式拆项;当地价格没有统一标准,先查看同平台同类服务的公开报价,再按自己的录音授权、校对和修改成本定价。
接下来可以看
- 《中文 AI 配音模型怎么选?先查商用许可,再看声音效果》:对比几种中文配音模型和使用限制。
- ChatTTS 本地部署教程:暂时下架,待核对使用许可后再决定是否恢复。
- 《在 Mac 上部署 IndexTTS-2.5》:了解声音克隆和情绪控制。
本文的速度数据来自 M1 Max、64GB、macOS 27、Python 3.10 环境,实测日期为 2026 年 10 月 10 日。依赖安装命令沿用 10 月 3 日验证过的环境;2026 年 10 月 10 日重新验证了解压工具包后的推理;本次调整参考音输入要求后,尚未用新录音重新推理。CosyVoice 的安装方式、模型文件和许可可能更新,使用前请再查看官方代码仓库和模型卡。