🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

RVC 音色训练 zabuxie/vc-voice-train-skill

DeepSeek Harness
zabuxie7 天前有提交已提供中文文档扫描:含敏感能力

训练 RVC 音色模型:素材体检→切片→特征提取→训练→建索引→验收→部署全流程。修复 RVC 20240604…

31.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zabuxie/vc-voice-train-skill
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 执行外部命令来自配置/变量
    rvc-voice-train/qq/qq_voice.mjs:39
    execFileSync(c, ['-version'], { stdio: 'ignore', timeout: 5000 });
  • 发起网络请求
    rvc-voice-train/qq/qq_voice.mjs:73
    const r = await fetch(INDEX_URL, {
  • 执行外部命令来自配置/变量
    rvc-voice-train/qq/qq_voice.mjs:98
    execFileSync(FFMPEG, ['-y', '-i', wav, '-ar', '24000', '-ac', '1', '-b:a', '48k', mp3], { stdio: 'ignore' });
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(96 字)↓

训练 RVC 音色模型:素材体检→切片→特征提取→训练→建索引→验收→部署全流程。修复 RVC 20240604 归一化缺陷。仅用于训练新音色;切换/使用已有音色或 TTS 播放问题无需加载。

README

由 DeepSeek 最新模型翻译生成
vc-voice-train-skill 让 AI 用指定人物的声音说话——两条路线,按需选择: - RVC 训练——用语音片段训练模型;音色准确度最高,适合同语种。 - IndexTTS 零样本——直接从参考片段合成;跨语种唯一靠谱的选择。 DSH 技能:让 AI 用指定人物的声音说话。两条路线: - RVC 训练——用素材训模型,音色准,适合同语种; - IndexTTS 零样本——给一段参考音频直接合成,跨语种首选。 Which one? / 怎么选 | 需求 | 用哪个 | 原因 | | 源语言是外语,要输出中文 | IndexTTS | RVC 没有中文音素 → 输出断断续续 | | 源语言 == 目标语言 | RVC | 经过训练,音色更准 | | 需要精确控制音高 | RVC | 音高来自驱动音频 | | 没有训练预算 | IndexTTS | 一段参考片段就够 | 在同一份素材上实测(日语 CV 片段,输出中文): RVC = 断断续续 · IndexTTS = 自然,但音高高了约 90 Hz(可通过挑选参考片段修正)。
展开完整文档(README 剩余 1 节)
vc-voice-train-skill

让 AI 用指定人物的声音说话——两条路线,按需选择:

- RVC 训练——用语音片段训练模型;音色准确度最高,适合同语种。
- IndexTTS 零样本——直接从参考片段合成;跨语种唯一靠谱的选择。

DSH 技能:让 AI 用指定人物的声音说话。两条路线:

- RVC 训练——用素材训模型,音色准,适合同语种;
- IndexTTS 零样本——给一段参考音频直接合成,跨语种首选。

Which one? / 怎么选

| 需求 | 用哪个 | 原因 |
| 源语言是外语,要输出中文 | IndexTTS | RVC 没有中文音素 → 输出断断续续 |
| 源语言 == 目标语言 | RVC | 经过训练,音色更准 |
| 需要精确控制音高 | RVC | 音高来自驱动音频 |
| 没有训练预算 | IndexTTS | 一段参考片段就够 |

在同一份素材上实测(日语 CV 片段,输出中文):
RVC = 断断续续 · IndexTTS = 自然,但音高高了约 90 Hz(可通过挑选参考片段修正)。

What's inside / 包含什么

rvc-voice-train/
├── SKILL.md # full workflow, selection guide, 16 sections
├── scripts/ # RVC training + acceptance helpers
│ ├── fix_audio_norm.py # fix RVC 20240604 audio_norm defect (silent noise output)
│ ├── fix_i18n.py # add missing i18n module (breaks weight export)
│ ├── probe_accept.py # output-vs-truth acceptance (harmonic purity, bands)
│ ├── pick_pitch_ref.py # choose reference clips by pitch (median f0 + P90)
│ ├── diagnose_audio.py # source material quality check
│ ├── verify_env.py # pre-flight environment check
│ ├── slice_audio.py # silence-based slicing, keeps source sample rate
│ ├── make_dataset.py # preprocess WITHOUT re-slicing (preprocess.py loses 76%)
│ ├── check_dataset.py # dataset integrity + frame alignment
│ ├── make_config.py # filelist + config.json (40k/32k)
│ ├── make_index.py # build faiss index (the step CLI training skips!)
│ ├── probe_quality.py # flat / harmonics / band report
│ ├── patch_train_workers.py# DataLoader workers=0 patch (WinError 1455)
│ ├── hp5_verify.py # vocal separation purity check
│ └── hp5_batch.sh # batched UVR5 separation
├── indextts/ # IndexTTS deployment
│ ├── adapter.py # FastAPI adapter: dsh-plugin-tts <-> IndexTTS-2.5
│ ├── 启动IndexTTS.cmd # one-click launcher (frees GPU, checks memory) │ └── launch_hidden.vbs # detached launcher (survives .cmd exit) ├── qq/ │ └── qq_voice.mjs # send synthesized voice to QQ via NapCat ├── patches-index.mjs.diff # plugin host patch: lang auto-switch + backend control
└── patches-client.js.diff # plugin UI patch: one-click RVC <-> IndexTTS switch

Why / 为什么需要这个技能

RVC 和 IndexTTS 都会以「模型就是不行」的样子失败,而且不报错:

RVC 20240604 从不归一化音频(audio_norm = audio,归一化被注释掉了)。
16-bit PCM 送进 spectrogram_torch() 后放大约 32768 倍 → 生成器的潜空间被污染 → 输出变成宽带噪声。if loss_mel > 75: loss_mel = 75 把故障掩盖了,所以训练日志看起来一切正常。检测方法:loss_disc 是 1e8+,而不是 2–6。

IndexTTS 没有这个缺陷,但有三处坑:

- 输出音高 ≈ 参考音高。挑一个尖细的参考音频,每句话都会变得尖细。
实测:参考 396 Hz → 输出 441 Hz;参考 313 Hz → 输出 320 Hz。
- 随机采样会让声调轮廓抖动。去声(第四声)斜率多次运行测得 −7.7 / −1.8 / −0.2 —— −0.2 那次听上去明显「平」。
只设 do_sample=False 不能解决;还必须固定 RNG 种子。
- 在 8 GB 显卡上,内置的低显存分块每 40 个字符切一次,会把停顿切碎。
把阈值提到 90 有改善;完全关掉分块,长输入会产生 12.7 秒的死尾。

Quick start / 快速开始

RVC

<RVC>/runtime/python.exe <skill>/scripts/verify_env.py <RVC>
<RVC>/runtime/python.exe <skill>/scripts/fix_audio_norm.py <RVC>
<RVC>/runtime/python.exe <skill>/scripts/fix_i18n.py <RVC>
then follow SKILL.md sections 1-4

IndexTTS

install (see SKILL.md section 10), then:
cp indextts/* <ENV_ROOT>/indextts/
cp -r <voices>/* <ENV_ROOT>/voices/
double-click 启动IndexTTS.cmd

把 dsh-plugin-tts 指向服务商 "Index-TTS2",地址 http://127.0.0.1:7880。

插件补丁(可选)

两个 unified diff,针对 @memef1f1y/dsh-plugin-tts@0.6.7:

- patches-index.mjs.diff —— 宿主侧:
- 语言自动切换:zh-CN 音色读不了假名(实测:0.24 秒近乎无声,正确应为 2.6 秒)。
检测文本里的假名 / 谚文 / 西里尔字母 / 阿拉伯字母 / 泰文,每次请求挑对应的 Edge 驱动音色。
- /dsh-tts-api/backend-control:启动 / 停止任一后端,从监听端口反查 PID,并报告 lang-patch 状态。
- lang-patch-status / lang-patch-restore:DSH 重启时会重装 node_modules,手动补丁会被悄悄还原。这两个动作能检测到这种情况,并从 index.mjs.langpatch.bak 恢复。
- patches-client.js.diff —— UI:一个「快速切换后端」按钮,停掉一个后端、启动另一个(两者无法共用 8 GB 显卡),切换服务商,等待就绪,并显示实时状态 + 补丁健康度。

在包根目录执行(patch -p1,Git Bash / WSL / patch.exe):

cd <node_modules>/@memef1f1y/dsh-plugin-tts
patch -p1 < <skill>/rvc-voice-train/patches-index.mjs.diff
patch -p1 < <skill>/rvc-voice-train/patches-client.js.diff

keep a known-good copy so the self-heal action can restore it after a reinstall:
cp lib/index.mjs lib/index.mjs.langpatch.bak

Requirements / 环境要求

| Item | RVC route | IndexTTS route |
| Bundle | RVC 20240604 Nvidia(已验证;其他版本可能没有此缺陷) | IndexTTS-2.5 |
| GPU 显存 | 32k:≥8 GB · 40k:≥12 GB | ≥6 GB(8 GB 够用) |
| 内存 | — | ≥16 GB(加载模型约占 5 GB) |
| Python | 3.9.13(内置) | 仅 3.10–3.11 |
| 磁盘 | ~10 GB | ~20 GB |
| 路径 | 仅限 ASCII | 仅限 ASCII |

关键信号

| 信号 | 健康 | 异常 |
| RVC loss_disc | 2–6 | 1e8+ → audio_norm 缺陷 |
| RVC loss_mel | 10–30,持续下降 | 卡在 75.000(硬截断) |
| RVC 谐波纯度 | 与真值相差 0.05 以内 | 偏高 → 过度平滑(「电音」) |
| IndexTTS 输出音高 / P90 | 接近参考 | 参考过于尖锐 |
| IndexTTS 可复现性 | 跑 3 次 → MD5 完全一致 | 随机种子未固定 |

flat(频谱平坦度)不是通用指标。实测反例:一个被拒的模型 flat 0.040(最低),而一个用户认可的模型 0.21(超出常见的 0.15 阈值)。始终拿真值做对比。

注意

- 用受版权保护素材训练出的声音模型,权利仍归原权利人。
本仓库不附带任何音频和模型——只有方法。
- 已在 Windows + RTX 4060 Laptop 8 GB(32k RVC、IndexTTS)和 RTX 3060 12 GB(40k RVC)上验证。
- 8 GB 显卡上两个后端无法同时运行(IndexTTS 约 5 GB + RVC 约 2–3 GB)。

License

脚本和文档采用 MIT。RVC 和 IndexTTS 遵循各自的许可证。
预览分享卡片长什么样 ↓zabuxie/vc-voice-train-skill
分享 · DeepSeek Harness Hub
zabuxie/vc-voice-train-skill

训练 RVC 音色模型:素材体检→切片→特征提取→训练→建索引→验收→部署全流程。修复 RVC 20240604…

这是你的仓库?认领条目

回到顶部