配音渠道:clone-voice
本项目所用模型为 coqui.ai 出品的 xtts_v2,模型开源协议为 Coqui Public Model License 1.0.0,使用本项目请遵循该协议,协议全文见 https://coqui.ai/cpml.txt
一、什么是 clone-voice
clone-voice 是一个声音克隆工具,可使用任何人类音色,将一段文字合成为使用该音色说话的声音,或者将一个声音使用该音色转换为另一个声音。
主要特点:
- 使用简单:没有 N 卡 GPU 也可以使用,下载预编译版本,双击
app.exe打开 Web 界面,鼠标点点就能用 - 多语言支持:支持中、英、日、韩、法、德、意等 16 种语言
- 在线录音:可在线从麦克风录制声音作为参考音频
- 效果:英文效果很棒,中文效果还凑合
模型限制:xtts 模型仅可用于学习研究,不可用于商业用途。
二、前置条件
| 条件 | 说明 |
|---|---|
| 操作系统 | Windows(预编译版)、Linux、macOS(源码部署) |
| 磁盘空间 | 预编译版约 4.7GB(主文件 1.7G + 模型 3G) |
| Python | 源码部署需要 Python 3.9~3.11 |
| GPU | 可选,有 NVIDIA 显卡可启用 CUDA 加速 |
三、Windows 预编译版使用方法
第一步:下载
- 预编译版主文件(约 1.7GB)
- 模型文件(约 3GB)
第二步:解压
下载后解压到某处,比如 E:/clone-voice
第三步:解压模型
模型下载后解压到软件目录下的 tts 文件夹内,解压后效果如图:
tts文件夹内应有 3 个子文件夹。
第四步:启动
- 双击
app.exe - 等待自动打开 Web 窗口
- 请仔细阅读 cmd 窗口的文字提示,如有错误均会在此显示
启动后需要冷加载模型,会消耗一些时间,请耐心等待显示出
http://127.0.0.1:9988,并自动打开浏览器页面后,稍等两三分钟后再进行转换。
第五步:使用
文字→声音
- 选择「文字→声音」按钮
- 在文本框中输入文字,或点击导入 SRT 字幕文件
- 点击「立即开始」
声音→声音
- 选择「声音→声音」按钮
- 点击或拖拽要转换的音频文件(mp3/wav/flac)
- 从「要使用的声音文件」下拉框中选择要克隆的音色
- 如果没有满意的,可以点击「本地上传」按钮,选择已录制好的 5~20s 声音文件
- 或者点击「开始录制」按钮,在线录制 5~20s 声音
- 点击「立即开始」
如果机器拥有 N 卡 GPU 并正确配置了 CUDA 环境,将自动使用 CUDA 加速。
四、源码部署(Linux / Mac / Windows)
重要提示:源码版需要在
.env中设置HTTP_PROXY=代理(比如http://127.0.0.1:7890),因为需要从 huggingface.co 和 github.com 下载模型,这些网址国内无法直接访问,必须保证代理稳定可靠。
部署步骤
安装 Python 和 Git:要求 Python 3.9~3.11,安装 Git
拉取源码:
bash# 创建空目录,比如 E:/clone-voice # 在该目录下打开 cmd,然后执行: git clone [email protected]:jianchang512/clone-voice.git .创建虚拟环境:
bashpython -m venv venv激活环境(Windows):
bashE:/clone-voice/venv/scripts/activate安装依赖:
bashpip install -r requirements.txt --no-deps启用 CUDA 加速(可选,需要 NVIDIA 显卡):
bashpip uninstall -y torch pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121安装 FFmpeg:
- Windows:解压
ffmpeg.7z,将ffmpeg.exe放到与app.py同一目录 - Linux/macOS:到 FFmpeg 官网 下载,将
ffmpeg可执行文件放到根目录
- Windows:解压
首次运行下载模型:
bashpython code_dev.py- 提示同意协议时输入
y - 等待模型下载完毕(需要全局代理)
- 提示同意协议时输入
正式启动:
bashpython app.py训练模型(可选):
bashpython train.py训练参数在
param.json中调整。
五、在 pyVideoTrans 中使用
- 启动 clone-voice 的 Web 界面(默认地址
http://127.0.0.1:9988) - 打开 pyVideoTrans,点击菜单 → TTS设置 → clone-voice
- 填写 API 地址:
http://127.0.0.1:9988 - 点击「测试」,若无报错则配置成功
- 在主界面「配音渠道」下拉列表中选择「clone-voice」
六、参考音频要求
| 项目 | 要求 |
|---|---|
| 格式 | WAV、MP3、FLAC 均可 |
| 时长 | 5~20 秒(最佳),保证合成效果 |
| 内容 | 发音清晰准确,无背景噪声 |
| 语言 | 支持 16 种语言 |
七、常见错误和注意事项
1. 模型下载需要代理
源码版需要在 .env 中设置 HTTP_PROXY= 代理,因为模型托管在 huggingface.co,国内无法直接访问。必须保证代理稳定可靠,否则大模型下载可能中途失败。
2. 每次启动都检测/更新模型
每次启动都会连接墙外检测或更新模型。如不想每次检测,可手动修改依赖包文件:
打开 \venv\Lib\site-packages\TTS\utils\manage.py,大约 389 行附近,def download_model 方法中,注释掉 if md5sum is not None: 开始到 else 结束的那段代码。
3. 启动后很久不动
启动后需要冷加载模型,会消耗一些时间,请耐心等待显示出 http://127.0.0.1:9988,并自动打开浏览器页面后,稍等两三分钟后再进行转换。
4. cmd 窗口很久不动,需要按回车才继续
在 cmd 左上角图标上单击,选择「属性」,取消「快速编辑」和「插入模式」的复选框。
5. 声音-声音线程启动失败
首先确认模型已正确放置(tts 文件夹内有 3 个文件夹):
如果已正确放置但仍报错,点击下载 extra-to-tts_cache.zip,将解压后得到的 2 个文件复制到软件根目录的 tts_cache 文件夹内。
如果上述方法无效,在 .env 文件中 HTTP_PROXY 后填写代理地址(如 HTTP_PROXY=http://127.0.0.1:7890),必须确保代理稳定。
6. 提示文本长度超限
The text length exceeds the character limit of 182/82 for language由句号分隔的句子太长导致。建议将太长的语句使用句号隔开,而不是大量使用逗号。或者打开 clone/character.json 文件手动修改限制。
7. 提示 symbol not found __svml_cosf8_ha
打开 https://www.dll-files.com/svml_dispmd.dll.html,下载 dll 文件后复制到 C:\Windows\System32。
八、CUDA 加速支持
安装 CUDA 工具
- 升级显卡驱动到最新
- 安装 CUDA Toolkit 11.8
- 安装 cuDNN for CUDA 11.X
验证安装
按 Win + R,输入 cmd 回车,然后执行:
nvcc --version确认有版本信息显示:
然后执行:
nvidia-smi确认有输出信息并且能看到 CUDA 版本号:
说明安装正确,可以使用 CUDA 加速。否则需重新安装。
