Sopro V2 声音克隆模型竟能在普通 CPU 上跑出 SOTA

PromptCube 高级 2小时前 446 浏览 8 点赞 约 2 分钟

我昨晚把 Sopro V2 拉到本地跑了几句中文,居然不用 GPU 就能得到清晰的克隆音频。这个号称在 CPU 上也能达到 SOTA 水平的 TTS 模型,让我对本地语音合成的门槛有了新认识。

一、环境准备
模型基于 PyTorch,官方给出的依赖相当轻量。我在 Ubuntu 22.04 上用 conda 创建了一个干净的环境:

conda create -n sopro python=3.10 -y
conda activate sopro
pip install torch==2.3.0 torchaudio==2.3.0 tqdm

接着从官方仓库拉取代码和预训练权重:

git clone https://github.com/sopro-ai/sopro-v2.git
cd sopro-v2
# 下载权重(约 1.2GB)
wget https://huggingface.co/sopro/sopro-v2/resolve/main/model.pt

二、基本使用
推理脚本只需要提供一个参考音频文件(建议 5‑10 秒,清晰无噪声)和想要合成的文本。下面是我测试的完整示例:

import torch
from sopro_v2.inference import SoproTTS

# 加载模型
tts = SoproTTS.from_pretrained("model.pt", device="cpu")

# 参考音频路径(你自己的声音)
ref_wav = "my_voice.wav"
# 合成的文本
text = "今天天气不错,适合出去散步。"

# 生成音频
wav_out = tts.tts(ref_wav, text)
# 保存为 wav
tts.save_wav(wav_out, "output.wav")

整个过程在我的 i7‑12700K、16GB RAM 上大约需要 3‑5 秒合成一句 20 左右字的中文,实时因子约 0.4,远低于传统的 GPU 需求。

三、效果对比
我把同样的文本分别用了以下几种方案做对比(均在同一机器上 CPU 运行):

  • Sopro V2(本文)
  • Tacotron 2 + WaveGlow(开源套件)
  • Coqui TTS(VITS 模型)

从主观听感来看,Sopro V2 在声纹相似度上明显领先,尤其是对细微的气音和语调变化的捕捉更自然。客观上,我用了一个简单的 MOS 测试(5 人盲听),平均得分分别为:Sopro V2 4.2,Tacotron 2 3.6,Coqui VITS 3.8。合成音频的噪声底噪也更低,几乎听不到明显的数字伪影。

四、注意事项
1. 显存占用:虽然跑在 CPU,但模型本身仍要加载约 1.2GB 的权重,内存峰值大约在 2.5GB 左右,建议至少留出 4GB 可用空间。
2. 合成长文本:超过 300 字的段落会出现轻微的断句感,官方建议分块合成后再用简单的淡入淡出拼接。
3. 语言覆盖:目前权重主要覆盖英语和中文,其他语言需要自行 fine‑tune,但迁移学习的成本相对较低。

总体来说,Sopro V2 证明了纯 CPU 也能实现高质量的声音克隆,这对于没有 GPU 的开发者或希望在边缘设备上做离线语音交互的场景尤为有意义。如果你正在寻找一个可本地部署、门槛低且效果出色的 TTS 方案,值得花点时间跑跑看看。

TTSSopro V2voice cloningCPUSOTA

全部回复 (3)

咖啡续命折腾党 中级 1小时前
试了一下,发现直接用onnx转换后还能更省内存,推荐给准备在笔记本跑的朋友。
0 回复
脚本小子阿杰 专家 1小时前
补个部署细节:量化版本跑起来确实省很多,但直接 PyTorch 加载更稳,ONNX 转换容易踩坑,建议新手先本地测试完整流程再折腾优化
0 回复
在深圳设计师 中级 1小时前
试了几天,果然不用显卡也能出来效果,笔记本电池续得动,挺方便的
0 回复

发表回复

支持 Markdown 格式