vc-voice-train-skill
训练 RVC 音色模型:素材体检→切片→特征提取→训练→建索引→验收→部署全流程。修复 RVC 20240604 归一化缺陷。仅用于训练新音色;切换/使用已有音色或 TTS 播放问题无需加载。
What it is
训练 RVC 音色模型:素材体检→切片→特征提取→训练→建索引→验收→部署全流程。修复 RVC 20240604 归一化缺陷。仅用于训练新音色;切换/使用已有音色或 TTS 播放问题无需加载。
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/zabuxie/vc-voice-train-skill.git#b8ec80a8e4a711d5e839fa3822b0e15f6ad4d3cb'
DSH versions accepted
Undeclared
Author and traction
zabuxie · ★ 16 · Updated 2026-10-27
About this plugin
vc-voice-train-skill
Make your AI speak in someone's voice — two routes, pick by need:
- RVC training — train a model from voice clips; best timbre accuracy, same-language.
- IndexTTS zero-shot — synthesize straight from a reference clip; the only sane choice for cross-language.
DSH 技能:让 AI 用指定人物的声音说话。两条路线:
- RVC 训练 —— 用素材训模型,音色准,适合同语种;
- IndexTTS 零样本 —— 给一段参考音频直接合成,跨语种首选。
Which one? / 怎么选
| Need | Use | Why |
|---|---|---|
| Foreign-language source, want Chinese output | IndexTTS | RVC has no Chinese phonemes → choppy |
| Source language == target language | RVC | trained, more accurate timbre |
| Precise pitch control | RVC | pitch comes from the driver audio |
| No training budget | IndexTTS | one reference clip is enough |
> Measured on the same source (Japanese CV clips, Chinese output):
> RVC = choppy · IndexTTS = natural but ~90 Hz too high (fixable via reference selection).
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 / 为什么需要这个 skill
Both RVC and IndexTTS fail in ways that look like "the model is just bad", with no error:
RVC 20240604 never normalizes audio (audio_norm = audio, normalization commented out).
16-bit PCM hits spectrogram_torch() ~32768× too large → generator latent space is polluted →
output is broadband noise. The failure is masked by if loss_mel > 75: loss_mel = 75,
so training logs look normal. Detection: loss_disc is 1e8+ instead of 2–6.
IndexTTS has no such defect, but three things bite:
- Output pitch ≈ reference pitch. Pick a shrill reference and every sentence sounds shrill.
Measured: reference 396 Hz → output 441 Hz; reference 313 Hz → output 320 Hz.
- Random sampling makes tone contours wobble. The 4th tone (去声) slope measured
−7.7 / −1.8 / −0.2 across runs — the −0.2 case is audibly "flat".
Setting do_sample=False alone does not fix it; you must also pin the RNG seed.
- On 8 GB cards the built-in low-VRAM chunking splits every 40 characters, which mangles
pauses. Raising the threshold to 90 helps; disabling chunking entirely produces a
12.7-second dead tail on long inputs.
Quick start / 快速开始
RVC
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| archify | tt-a1i | 95.2K | 0.0.0 | 2026-11-10 |
| nuwa-skill | alchaincyf | 37.9K | 2.0.1 | 2026-11-10 |
| distilly | titanwings | 26.5K | 1.0.0 | 2026-10-13 |
| learn-harness-engineering | walkinglabs | 24.1K | 0.1.0 | 2026-10-22 |
| dsh-Go | ccch1mneyyy | 18.1K | 0.0.0 | 2026-11-10 |