本文档提供了一份关于实时语音克隆系统命令行界面 (CLI) 的全面指南。CLI 为图形工具箱 (Graphical Toolbox) 提供了一个基于文本的替代方案,适用于偏好终端交互或需要将语音克隆功能集成到脚本或自动化工作流程中的用户。
CLI 在 demo_cli.py 中实现,并提供了一种无需图形界面即可进行语音克隆的交互方式。它允许您
来源: demo_cli.py1-209
在使用 CLI 之前,请确保您已
CLI 将在未找到默认模型时自动检查并下载它们。
来源: demo_cli.py63-67 utils/default_models.py35-56
CLI 支持多个命令行参数来自定义其行为
| 参数 | 描述 | 默认值 |
|---|---|---|
-e, --enc_model_fpath | 编码器模型路径 | saved_models/default/encoder.pt |
-s, --syn_model_fpath | 合成器模型路径 | saved_models/default/synthesizer.pt |
-v, --voc_model_fpath | 声码器模型路径 | saved_models/default/vocoder.pt |
--cpu | 即使 GPU 可用,也强制使用 CPU 处理 | 否 |
--no_sound | 禁用音频播放 | 否 |
--seed | 设置随机种子以获得确定性输出 | 无 |
使用示例
python demo_cli.py --cpu --no_sound
来源: demo_cli.py18-39
CLI 在一个交互式循环中运行,引导您完成语音克隆过程
模型初始化:系统加载编码器、合成器和声码器模型。
参考音频输入:系统会提示您提供包含要克隆的声音的音频文件的路径。
Reference voice: enter an audio filepath of a voice to be cloned (mp3, wav, m4a, flac, ...):
声音嵌入:系统处理音频并提取声音嵌入,以捕捉说话者的声音特征。
文本输入:系统会提示您输入要合成的文本。
Write a sentence (+-20 words) to be synthesized:
频谱图生成:合成器根据文本和声音嵌入生成梅尔频谱图。
波形生成:声码器将梅尔频谱图转换为音频波形。
输出:生成的音频将被播放(除非指定了 --no_sound),并保存为名为 demo_output_XX.wav 的 WAV 文件。
来源: demo_cli.py119-203 synthesizer/inference.py70-128
CLI 与语音克隆系统的三个核心组件进行交互
来源: demo_cli.py63-67 demo_cli.py130-143 demo_cli.py156-162 demo_cli.py175
来源: demo_cli.py136-137 demo_cli.py143 demo_cli.py160-162 demo_cli.py175
CLI 允许您为任何三个组件指定自定义模型
自定义编码器:
python demo_cli.py -e path/to/encoder.pt
自定义合成器:
python demo_cli.py -s path/to/synthesizer.pt
自定义声码器:
python demo_cli.py -v path/to/vocoder.pt
您可以使用这些选项来测试不同的模型,或者使用您自己训练的模型。
来源: demo_cli.py22-30
通过设置 --seed 参数,您可以使输出具有确定性
python demo_cli.py --seed 42
当指定了种子时,脚本将在每个生成步骤之前重置 PyTorch 随机种子并重新加载合成器和声码器模型,从而确保对相同的输入产生相同的输出。
来源: demo_cli.py35-36 demo_cli.py150-153 demo_cli.py168-171
默认情况下,如果可用,系统将使用 GPU 加速。您可以使用 --cpu 标志强制进行 CPU 处理
python demo_cli.py --cpu
如果您遇到与 GPU 相关的问题,或者您没有兼容的 GPU,此功能会很有用。
来源: demo_cli.py31-32 demo_cli.py41-43
内存占用:模型,尤其是合成器,需要大量内存。如果您遇到内存问题,请考虑使用 CPU 模式。
音频质量:CLI 实现包括用于提高音频质量的后处理,例如
便携性:请注意,音频文件的路径需要从您运行脚本的位置可访问。
| 问题 | 可能解决方案 |
|---|---|
| 未找到模型 | 确保 saved_models/default/ 目录存在并包含模型文件 |
| 未播放音频 | 检查您系统的音频是否正常工作。如果不是,请使用 --no_sound 标志 |
| 音频格式错误 | 确保您的参考音频是支持的格式(mp3、wav、m4a、flac) |
| 内存不足 | 使用 --cpu 标志以避免 GPU 内存限制 |
| 需要确定性输出 | 使用 --seed 参数设置固定的种子 |
来源: demo_cli.py192-196 demo_cli.py205-208
这是一个典型的 CLI 会话示例
启动 CLI
python demo_cli.py
系统检查并加载模型。
当提示时,输入参考语音文件的路径
Reference voice: enter an audio filepath of a voice to be cloned (mp3, wav, m4a, flac, ...):
/path/to/your/reference.wav
当提示时,输入要合成的文本
Write a sentence (+-20 words) to be synthesized:
This is a demonstration of voice cloning using the command line interface.
等待处理完成。
收听生成的音频并检查保存的文件(例如,demo_output_00.wav)。
继续进行其他语音克隆任务,或按 Ctrl+C 退出。