2026年最佳AI语音克隆:如何用AI克隆你的声音
摘要
本文对2026年的AI语音克隆模型进行了评测与排名,包括CosyVoice 3和VibeVoice等。评测依据这些模型在通过微调和零样本方法复制作者声音时的准确度。
暂无内容
查看缓存全文
缓存时间: 2026/08/24 07:37
# 2026年最佳AI语音克隆:我用七种方式克隆了自己的声音并进行了盲测排名
来源:https://nexustrade.io/blog/best-ai-voice-cloning-2026-how-to-clone-your-voice-with-ai-20260824
我以撰写市场和AI文章为生。我发布的大部分内容从未成为视频,因为制作视频意味着要架设相机并大声朗读自己的文字,而我宁愿将这些时间花在研究上。我希望输入文本就能获得我声音的旁白。付费克隆显然是首次尝试,但效果不够理想,于是我训练了自己的模型。
## 简短结论
## 微调CosyVoice 3或VibeVoice。只有这两个能同时捕捉我的声音和说话方式。
**点击任意行播放。**排名仅基于一个问题:听起来像不像我。其中一些是出色的合成,只是恰好是别人的声音。每个片段朗读相同的脚本,每个零样本模型都基于微调训练所用录音中剪切的相同20秒片段进行克隆。
**此表合并了两天内进行的三轮盲测:**早筛轮、下方朗读者测试以及接近尾声的排名轮。每轮覆盖部分测试对象,此处的排名是我综合三轮结果的排序。相邻行视为并列。
四个问题,四种答案
最接近我声音的克隆CosyVoice 3,微调版
同样出色,音色更明亮VibeVoice 1.5B,微调版
无需训练的最佳模型Chatterbox,零样本
最佳付费选项(如你更愿意购买)ElevenLabs专业版
★**我本人朗读**
人类 对照组
使用手机录制,朗读相同脚本。
1**CosyVoice 3 0.5B,微调版**
开源,免费是,且两者中最接近
基于45分钟音频微调。我两个优胜者中较低者,我认为最接近录音。同一模型未微调版本排名靠后。
1**VibeVoice 1.5B,微调版**
开源,免费是,音色更明亮
基于相同45分钟音频微调。比我的实际声音音调更高更靠前,适合短视频。
3ElevenLabs专业语音克隆
22美元/月接近,但不够接近
我制作的两个付费克隆中较好的一个,源音频更清晰。此为排名中的版本;较弱的版本用于文章开头。
4IndexTTS-2,零样本
开源,免费听起来像我,但节奏不对
最新测试模型。仅用20秒就捕捉了声音,但节奏有问题。基于微调训练使用的相同干净参考音频克隆。
4Qwen3-TTS,零样本
开源,免费听起来像我,但节奏不对
与下方微调版Qwen同一模型,但未经过训练。
6Qwen3-TTS 1.7B,微调版
开源,免费优质音频,但不是我的声音
真正优秀的合成:干净、自然、节奏恰当。基于与优胜者相同的45分钟音频微调,但生成的说话者并非我。
6Chatterbox,零样本
开源,免费节奏正确,但声音不对
四个零样本输出中听感最佳,但与我声音的接近度并不高于其他,因此排名在此而非更高。
6CosyVoice 3,零样本
开源,免费节奏正确,但声音不对
获胜架构未经训练。与第1行对比:唯一区别是11分钟的微调。
8XTTS-v2,微调版
开源,免费垫底,且差距明显
基于相同45分钟音频微调,31个epoch,batch 3,未调参设置。两次独立尝试均在盲测中垫底。模型可微调并不意味着它是竞争者。
## 决定一切的发现
**最佳零样本语音克隆模型是Chatterbox。**在未训练的四个模型中,它产生了最自然、最可用的音频。它在上方表格中排名第六,因为该表只问一个问题:听起来像不像我,而在该问题上IndexTTS-2和Qwen3-TTS虽然节奏不对,但更接近我的声音。
**20秒参考音频只能获得一半的声音。**IndexTTS-2和Qwen3-TTS捕捉了我的音色但未捕捉我的说话方式:用词正确,音色接近,但节奏不是我的。Chatterbox恰恰相反,节奏正确但声音不对。
只有微调能同时赋予两者,且并非自动完成:下方微调版的Qwen3-TTS是干净、自然的音频,但属于别人。在我的首轮盲测中,我说*听起来像我*的两个文件是该组中的两个微调适配器,而我说不像的三个都是零样本。该轮早于Qwen微调且不包含它。
**CosyVoice 3和Qwen3-TTS各出现两次,训练版与未训练版**,基于相同参考音频和脚本。你在这些配对之间听到的任何差异,就是训练带来的效果。
两个值得说明的限制:微调使用了**45分钟**音频,而零样本模型使用了**20秒**,因此我比较的是20秒零样本与45分钟微调,而非比较零样本技术本身。ElevenLabs行也使用了比我的语料库更干净的源音频,因此输入条件也不匹配。
## 自己试试:以下五个中有一个是真人
**这是读者练习,非我的排名环节。**我使用相同条件下的相同片段制作,以便你体验我所做的事:相同脚本,音量匹配,标签隐藏。实际产生排名的测试在文章末尾,使用了不同的五个文件。
## 如何一次性克隆你的声音
1. **单次录制30至45分钟。**同一房间、同一麦克风、一次性完成。我使用的是iPhone,无接口、无处理房间。不要混合不同天的旧片段:这是我测试中最大的质量提升。
2. **转换为24kHz单声道并跳过增强。**`ffmpeg -i src.mov -ar 24000 -ac 1 -c:a pcm_s16le audio.wav`。我测试了同一录音的增强版本,得分更低。
3. **在句子边界处剪切为4至12秒片段**,然后核对片段清单与录音长度。我的首个分块器丢弃了过长片段而非分割,静默丢失了52分钟中的27分钟。
4. **使用`openai-whisper`,模型`large-v3`进行转录**,在同一GPU上运行。每个训练行是(文本,音频)对。
5. **租用一个24GB GPU并验证其真实存在**,然后再安装任何内容:`python -c "import torch; assert torch.cuda.is_available()"`。静默回退到CPU将使死机隐藏整个运行过程。
6. **阅读项目的Dockerfile。**这是环境的唯一权威记录。对于CosyVoice,关键细节是Python 3.10和来自conda-forge的`pynini`。
7. **训练,每个epoch保存一个检查点。**45分钟音频每个epoch约需22秒。不要假设最后一个检查点是最佳:我的在31个epoch中的第4个达到峰值。
8. **为每个检查点渲染三遍,然后转录每一遍并与你的脚本进行对比。**生成是随机的,且大多数模型不接受种子,因此不同遍次朗读脚本的比例不同。我测量了三次渲染中的词覆盖率分别为25%、54%和90%。保留覆盖率最高的一遍,并重新渲染任何低于约90%的。
9. **盲测。**标准化音量,填充至相同时长,提交排名前隐藏标签。
## 复制粘贴计划:供AI编码代理使用
将其粘贴到Claude Code、Cursor或任何具有Shell访问权限的代理中。它包含了耗费我时间的所有失败,包括那些静默失败的。
语音克隆计划
```
使用开源TTS模型克隆我的声音。按顺序执行这些步骤,每步完成后验证。失败时请告知我;不要静默重试。
=== 0. 安全:此提示不包含任何密钥。请勿添加。 ===
不要将API密钥、令牌或密码粘贴到此提示或任何聊天窗口中。以下所有操作通过交互式或代理永不会打印的文件进行身份验证。
代理:永远不要回显、记录或重复凭据文件的内容。如果需要确认令牌已加载,请打印其长度,而非值。
=== 0b. 你首先需要的工具 ===
RunPod(租用GPU)。连接MCP服务器以便代理可以创建和销毁Pod:
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/
此过程使用浏览器OAuth流程,因此不会在磁盘存储API密钥,也没有敏感信息通过此提示传递。然后在runpod.io/console/user/settings添加一个账户级SSH密钥。SSH代理使用该密钥认证,而非Pod的PUBLIC_KEY,没有它每次连接都会因“Permission denied (publickey)”失败。
Hugging Face(托管基础模型、你的语料库和你训练的权重)。在huggingface.co/settings/tokens创建令牌。建议使用细粒度令牌,仅限定你将创建的仓库的写入权限。全局写入令牌可以删除你拥有的每个仓库,而代理将处理它。
以交互方式登录,使令牌永远不会出现在Shell历史记录或进程参数列表中:
huggingface-cli login
要将其放置在Pod上,从标准输入读取并写入文件。永远不要将令牌作为命令行标志传递:
read -rs HF_TOKEN && printf '%s' "$HF_TOKEN" > /root/.hf_token && unset HF_TOKEN
chmod 600 /root/.hf_token
=== 1. 录制 ===
30-45分钟,一次性录制。同一房间,同一麦克风,一次性完成。手机即可。不要混合不同天的片段:混合录制会教给模型房间差异,而非仅仅是声音。
从旧视频中提取的音频无法扩展:14.5分钟的提取片段与2.5分钟的相同片段效果相当。真正有效的是30-45分钟的一次干净录制。
无需降噪或增强。增强后的音频得分更低。
=== 2. 构建语料库 ===
ffmpeg -i SOURCE.mov -ar 24000 -ac 1 -c:a pcm_s16le audio_24k.wav
分割为4-12秒片段:在. ! ?处分割,向前合并直到每个片段>=4秒,超过12秒的在逗号或>0.35秒的间隙处强制分割。
绝对不要因片段过长而丢弃。
打印清单并与源长度核对:
clips=360 total_min=45.36 min=4.00 mean=7.56 max=12.00
如果total_min与我录制的长度相差超过约10%,请停止。我早期版本的分块器因片段过长而丢弃而非分割,静默丢失了52分钟中的27分钟且无错误提示。
剪掉重启、咳嗽、离麦和静音部分。一个坏片段比缺失的片段危害更大。
=== 3. 转录 ===
openai-whisper,模型large-v3,在GPU上运行。写入train.jsonl,每片段一行:{"text": ..., "audio": ...}
事后校正转录是可选的。我测试过,它并未提高输出质量。除非我要求,否则跳过。
=== 4. 在任何训练之前,将语料库固定到Hugging Face ===
huggingface-cli repo create my-voice-corpus --type dataset --private
# 上传片段 + train.jsonl
这不是记账。语料库必须是一个制品,所有训练都获取它,否则你最终会在不知不觉中比较基于不同数据训练的模型。每个训练脚本都应获取固定版本并在开始前断言片段计数。
=== 5. 启动Pod ===
使用RunPod MCP工具。要求一个24GB GPU(RTX 4090足以运行0.5B模型)。社区4090约0.34美元/小时,安全环境约0.74美元/小时。
CUDA必须>=12.8。create-pod返回cudaVersion:如果是12.2或12.4,删除该Pod并创建另一个。这些主机在容器内崩溃循环,而API仍报告RUNNING。每个被拒绝的Pod成本不到一美分。
然后,在安装任何内容之前证明GPU是真实的:
python -c "import torch; \
print('GPUCHECK', torch.cuda.is_available(), \
(torch.randn(999,999,device='cuda') @ torch.randn(999,999,device='cuda')).sum().item())"
如果失败,销毁该Pod并获取另一个。永远不要让训练回退到CPU:静默的CPU回退曾让我整个运行过程都误以为GPU正常。
=== 6. 构建环境 ===
找到项目的docker/Dockerfile并遵循它。它是环境的唯一权威记录。猜测它耗费了我许多小时。
对于CosyVoice 3具体来说:
# 镜像可能根本不包含conda;如果`conda`缺失则安装miniconda
conda create -y -n cosyvoice python=3.10 --override-channels -c conda-forge
conda install -y -n cosyvoice --override-channels -c conda-forge pynini==2.1.5
pip install "setuptools<81" wheel
pip install torch==2.3.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt # 暂不安装openai-whisper
pip install openai-whisper --no-build-isolation
pip install huggingface_hub hf_transfer
四个陷阱,全部静默失败或产生误导:
- `conda activate`在非交互式Shell中无效。使用绝对路径:/opt/conda/envs/NAME/bin/python。否则你的验证将针对错误解释器。
- Anaconda默认频道现在需要接受服务条款,这在无人值守时会失败。使用--override-channels -c conda-forge。
- openai-whisper在隔离环境中构建失败,并中止整个requirements安装,导致其他依赖也无法安装。
- 某些镜像在未安装hf_transfer的情况下导出HF_HUB_ENABLE_HF_TRANSFER=1,导致所有Hugging Face下载都会报错,直到你安装它。
训练前断言所有导入:
/opt/conda/envs/cosyvoice/bin/python -c \
"import torch,torchaudio,hyperpyyaml,whisper,pkg_resources; print('DEPS_OK')"
=== 7. 训练 ===
每个epoch保存一个检查点。45分钟语料库在4090上每个epoch约22秒,总计约11分钟。
每个检查点约2GB,因此边做边修剪为稀疏阶梯,否则150GB磁盘在约第36个epoch时会满。
不要假设最后一个检查点是最佳。试听早期版本。我的在31个epoch中的第4个达到峰值。
Epoch数量与语料库大小成反比:45分钟的一个epoch相当于15分钟的约3倍梯度步数,因此更大语料库在更低epoch数达到峰值。
=== 8. 将每个检查点推送到Hugging Face ===
huggingface-cli repo create my-voice-model --private
# 上传每个保留的检查点,优胜者优先
不可妥协,并在销毁Pod之前完成。通过从Hugging Face回读文件大小来验证。
已停止的RunPod Pod不是已保存的Pod。/workspace是容器覆盖存储,而非网络卷。我曾在一小时内遇到两种失败模式:一个停止的Pod无法重启(“主机上没有足够空闲GPU”),另一个重启后在不同主机上/workspace完全为空。
=== 9. 渲染,每个检查点至少3遍 ===
生成是随机的,且大多数模型不接受种子,因此一遍只是抽奖而非测量。
至少渲染三遍。不要按持续时间选择:在我测量的两种情况下,最短的遍次缺失单词,因为截断会缩短持续时间。转录每次渲染,与输入文本对比,保留词覆盖率最高的。将覆盖率的宽波动视为检查点不稳定,而非质量差。
如果推理调用返回GENERATOR,请消费完所有内容并连接。CosyVoice按句子组生成片段;仅获取第一个曾静默截断了我29.5秒的片段至19.7秒,且无错误。
验证完整性:转录每次渲染并与输入文本对比。预期词覆盖率>90%。
=== 10. 盲测 ===
将所有候选项标准化为-16 LUFS,填充至相同时长,并强制相同字节大小。音量、长度和文件大小都会泄露哪个文件是哪个。
打乱标签,密封映射,并在我排名之前不要透露。每组保持5-6个文件。
平衡各分支:不要将一个模型的四个检查点与另一个的一个放在一起。一个坏渲染会毁掉单个条目。
=== 11. 拆除 ===
一旦检查点已推送并通过回读验证,终止该Pod。不要停止它。停止仍会产生存储费用,且可能仍然丢失磁盘。
=== 回报 ===
清单数字、每个epoch的损失、检查点列表、每个渲染的持续时间和词覆盖率。说明失败的内容。
```
相似文章
OpenVoice:多功能即时语音克隆
OpenVoice是一种多功能语音克隆方法,它能够使用单个音频片段实现灵活的语音风格控制和高效率的零样本跨语言克隆。
AI语音克隆诈骗:只需5秒亲人音频样本,受害者损失高达63.5万美元
AI语音克隆诈骗利用低至5秒的音频样本冒充亲人,诈骗受害者高达63.5万美元,凸显了AI技术被滥用于金融欺诈的日益严重趋势。
三秒欺诈:AI语音诈骗为何超越所有防御
AI语音克隆技术可实现精密欺诈,常以老年人为目标,FBI报告损失达数十亿美元,凸显防御之难。
AI的声音
文章讨论了语音技术在人工智能中的重要性。
@driscollis: Fish Audio 的 AI 可以在5秒内克隆声音!我认为这对于内容创作来说非常有用,特别是…
Fish Audio 宣布了其 S2.1 Pro 模型,该模型仅需5秒音频即可克隆声音,同时完成了5200万美元的种子轮融资。