dsh-train-pipeline:DSH 本地音色数据集与 DDSP Reflow 训练流水线

前言

在 DSH 里做翻唱或音色替换,常见瓶颈不在「能不能调一次推理」,而在素材从哪来、数据集怎么整理、DDSP 工程怎么接、训练完的 model_N.pt 和 config.yaml 怎么进翻唱插件能发现的音色库。手工拷贝目录、改 data/train/audio,再盯着 checkpoint,步骤多且容易和正在跑的任务抢同一份数据目录。

dsh-train-pipeline(维护者 InariNGT-Ofiicial)把上述环节拆成一组可由智能体逐步调用的工具:本机查找与下载、部分吉里吉里封包解包、角色盘点、数据集构建与质量检查、DDSP Reflow 预处理与训练、短句试听,以及向与 dsh-cover-pipeline 约定的音色库注册。插件当前版本 0.4.1,在 SkillHub 分类为模型推理;GitHub 仓库约 4 stars。仓库源码树不含 DDSP 工程、模型权重、游戏素材或语音,需自行准备外部环境与合规素材。

这是什么

一句话:dsh-train-pipeline 是 DeepSeek Harness 的本地音色训练插件,用 19 个工具覆盖素材获取、数据集整理、DDSP-SVC 6.2 Reflow 训练链,以及训练结果注册,供翻唱流水线重载后使用。

与翻唱插件的关系:训练侧把 model_N.pt 和 config.yaml 放到约定布局;翻唱插件重载后发现该音色。芳乃演示权重在 Releases voice-yoshino-20000 单独提供,用法与 SHA-256 见仓库内 docs/YOSHINO_MODEL.md,不随 npm 包或源码树分发;插件代码 MIT 许可不自动适用于权重。

核心功能

素材与源类型

输入 已实现行为 限制
按角色分目录的语音 按目录名盘点与整理;用 soundfile 读帧数算时长 目录名需抽检;不能证明标注正确
JSON / KAG3 .ks 剧本 启发式提取 speaker / voice,报告匹配率 陌生格式可能漏抓
普通 XP3、部分内嵌 EXE 外部 arc_unpacker,按落盘结果检查 不覆盖所有引擎与加密
SenrenCxCrypt 系列 静态解析/解密;需兼容的 GARbro Formats.dat 体验版验证过,不承诺全游戏
单角色音频目录 指定角色后整理 WAV 不自动区分 BGM 或多人对话
番剧 / 录屏 适配器接口已留 分离、VAD、声纹归属未实现

剧本分支仍用 4.2 秒/句 粗估并标「未实测」;质量检查与语音目录用实测时长。

工具链(19 个)

README 给出的推荐顺序如下,实际调用需逐步看各工具返回的 ok、报告与产物;train_plan 提供流程规则,不会自动跑完全部质量门,也不保证一次自然语言请求走完整条链。

train_doctor → train_plan → train_hunt / train_fetch / train_unpack
            → train_scan → train_build → train_qc
            → train_preprocess → train_run → train_status / train_stop
            → train_infer → train_register → 翻唱插件重载
工具 用途
train_sources / train_plan 实现状态、流程与决策提示
train_doctor / train_setup 环境检查、配置建议、可选写入本机配置
train_hunt 搜索本机目录与 Steam 库(深度与时间预算受限)
train_toolchain 检查或从上游 GitHub release 安装解包工具
train_fetch 下载给定 URL,记录 URL、SHA-256 与时间
train_unpack / train_acquire 解包、可选反编译;acquire 串接查找与角色盘点
train_scan 源识别、角色数、语音数、时长及匹配报告
train_build 转码、单声道、重采样、裁静音、超长分段
train_qc 采样率、时长、削波、静音、粗重复;apply=true 才移走不合格文件
train_preprocess 备份 DDSP 工程旧音频,复制新数据,跑 draw.py / preprocess.py
train_run / train_status / train_stop 后台训练、日志与 checkpoint、停止进程
train_infer 选 checkpoint 短句推理,需人工试听
train_register / train_overview 注册模型与配置、检查工作区与音色库

要点:train_preprocess 会替换 DDSP 工程里 data/train/audio 与 data/val/audio,原目录先移到训练工作区 backup/,应使用独立训练工程。train_run 若已有 checkpoint 默认停止,需 confirmOverwrite=true 才继续。train_register 默认拒绝覆盖;缺同一实验的 config.yaml 或空模型会失败;注册成功只表示文件可发现,不表示音质合格。

安装与启用

当前主要面向 Windows。需要 Node.js 18+、已安装的 DSH,以及本机可用的 DDSP-SVC 6.2 Reflow 工程及其 Python 环境;GPU 训练依赖该工程自带的 PyTorch/CUDA、预训练权重与配置,本插件不会安装 DDSP 或下载权重。

官方 README 中的安装步骤如下。../AudioWork 仅为示例,应先准备自己的外部音频工程根目录,也可通过 train.local.json 配置;布局与排障见 docs/INSTALL.md,外部工具清单见 materials/README.md。

git clone https://github.com/InariNGT-Ofiicial/dsh-train-pipeline.git
cd dsh-train-pipeline
# 设置为自己的音频工程根目录,也可配置 train.local.json。
$env:DSH_COVER_ROOT = (Resolve-Path ../AudioWork).Path
node test/live.mjs train_doctor
dsh plugin --profile desktop add .

安装后重载 DSH。train_doctor 用于先检查环境是否满足后续工具假设。

典型用法

1、在 DSH 中说明目标角色与素材目录(或 URL、本机游戏路径等),由智能体按流程调用工具;每一步核对返回的 ok 与报告。

2、若从封包或剧本入手,可先 train_hunt / train_fetch / train_unpack(或 train_acquire),再 train_scan 看角色与时长匹配。

3、train_build → train_qc 得到可训练数据集后,train_preprocess 写入 DDSP 数据目录,train_run 启动训练;用 train_status 看日志与 checkpoint,train_stop 可停进程。

4、训练或已有 checkpoint 时,train_infer 做短句试听;满意后 train_register 写入音色库。注册布局与翻唱调用示例见 docs/INTEGRATION.md。

5、重载 dsh-cover-pipeline(或配套翻唱插件),在翻唱流程中使用新注册的音色。

演示说明:仓库记载本机曾用《千恋*万花》体验版解包、角色目录整理、读取已有 20000 步检查点、注册及原翻唱插件调用;该演示未重新训练,也不保证其他机器完整训练成功。

适用场景与注意

适合:已在 DSH 生态里做翻唱、愿意自备 DDSP Reflow 工程与合规素材;偏 galgame / 吉里吉里语音目录、剧本引用,或单角色 WAV 目录的训练前整理与训练编排。

不适合或需知限制:指望插件自带 DDSP、预训练权重或游戏资源;需要番剧/录屏自动人声分离与声纹归属(接口未实现);在无 GPU 或未完成材料准备时期望一键训出可用模型。

安全与合规:插件以当前 dsh 进程权限 运行,可访问本机目录、启动外部解包与 Python 训练进程。安装前应阅读源码、MIT 与 THIRD_PARTY_NOTICES.md;代码许可不授予游戏素材、音色、训练数据或模型的使用与再分发权。仅使用你有权使用的素材与权重。

测试方面,仓库提供 CPU 向 npm test(见 README 中 requirements-test.txt 与 DSH_TRAIN_PYTHON);真实 GPU 训练与下载测试需独立环境,见 docs/VALIDATION.md。

结尾

dsh-train-pipeline 把本地素材、DDSP Reflow 训练与翻唱音色注册串成可逐步验收的工具链,并与 dsh-cover-pipeline 约定目录对接。目录页:SkillHub - dsh-train-pipeline。源码与文档:GitHub - InariNGT-Ofiicial/dsh-train-pipeline。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye