dsh-cover-pipeline:在 DSH 里串起本地 AI 翻唱流水线

前言

在 DeepSeek Harness(DSH)里做翻唱,常见做法是自己在对话里拼命令:先分离人声与伴奏,再换声、必要时移调,最后混音和检查。步骤多、路径杂,模型与 Python 环境又往往不在同一套目录里,智能体很难稳定复现同一条链路。

下面介绍社区插件 dsh-cover-pipeline(维护者 InariNGT-Ofiicial)。它把「分离 → 换声 →(条件)移调 → 混音 → 验收 → 听审」收成 9 个 DSH 工具;插件本体用 JavaScript 实现,零运行时 npm 依赖(仅用 node: 内置模块),重计算交给本机已有的 MSST、DDSP-SVC 两套 Python 工程与外部模型权重。当前版本 1.1.2,插件代码采用 MIT 许可;目录页分类为工作流(SkillHub 插件页)。

这是什么

dsh-cover-pipeline 是面向 DSH 的本地 AI 翻唱插件:在 Harness 里可直接调用工具,而不是每次手写一长串 shell。仓库自带 8 个核心 Python 脚本(均在 runtime/):5 个 adapter(convert.py、long_audio.py、guided_core.py、mix.py、validate_model.py)以及 shift.py、mix_master.py、verify_mix.py。MSST / DDSP 大工程与音色权重不随 git 分发,需按文档自行准备材料。

工程数据默认落在 <songRoot>/cover_runs,不再引用旧歌工程的 QC / 裁剪 / 封装脚本。

核心功能

九个工具与 baseline 流程

工具列表:cover_doctor、cover_setup、cover_plan、cover_status、cover_separate、cover_shift、cover_convert、cover_mix、cover_verify。

  • cover_setup:自动发现路径、选音色的入口;发现不到环境时会输出可粘贴的配置片段。
  • cover_shift:仅在非八度移调 key 时需要。
  • cover_verify:只做技术检查;听审需单独记录,不由该工具替代。

README 给出的 baseline 链路:kim → karaoke → 只换主唱 → 保留原和声 → standard 混音 → 单次母带归一化/限制 → 技术验收 → 用户试听。

运行时与配置要点

需要 Node.js 18+、DSH,以及能独立运行的 MSST、DDSP-SVC。路径在 src/config.js 中默认留空,会依次尝试环境变量 DSH_COVER_ROOT、D:/AI-Song、C:/AudioWork、当前目录,并在根目录下自动查找 01_*(MSST)、02_*/DDSP-barbara-*(DDSP)、03_*(音色库)与 env/python.exe。本机覆盖可写 cover.local.json(git 忽略)。

配置 应指向
msstDir / msstEnv MSST 工程及 Python,含 kim/karaoke 模型与配置,支持 --extract_instrumental
ddspDir / ddspEnv DDSP 工程及 Python,含 batch_infer、RMVPE、编码器、声码器
voiceModel 有权使用的音色权重;同目录需有 config.yaml,引用资产须存在
mixDir / probeDir 工程数据目录,默认 <songRoot>/cover_runs;混音脚本在 runtime/
ffmpeg 验证可用的 ffmpeg(可选)
pipelineRoot / songRoot 本地项目数据目录
targetLufs 默认 −14;mix、verify 共用,可显式覆盖

安装配置见 cordis.patch.yml,开发覆盖见 cordis.dev.yml。安装后可用 cover_doctor 检查;缺少核心依赖时不应宣称端到端可用。

安装与启用

安装前应先阅读仓库内 依赖清单与上游下载入口。大文件材料(MSST 整合包、DDSP 6.2 整合包、音色模型包等)的网盘链接与目录布局见 materials/README.md。

接入 DSH(本地仓库路径):

dsh plugin --profile desktop add <本仓库绝对路径>

Windows 一键布局示例(材料就绪后;Root 与 Voice 按本机修改):

powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -Root D:\AI-Song -Voice 祥子

只想预览安装步骤、不实际写入时,可为上述脚本加 -DryRun。仅校验材料是否齐全:

node scripts/verify-materials.mjs --root D:\AI-Song --voice 祥子

经过上面的步骤后重启 DSH,即可用自然语言驱动流程,例如 README 示例:「用祥子的声音翻唱《歌名》」。

插件在 当前 dsh 进程权限下运行;安装前应自行审阅源码与 MIT 许可证,并确认对外部工程、模型权重与词曲录音具备合法使用权。插件不解密 DRM、不上传歌曲到第三方、不自动发布视频。

典型用法

README 建议:先从有权使用的原始录音裁同一时间段(例如 55–80 秒),44.1 kHz 双声道浮点 WAV,不预降增益,命名为 pilot.wav。以下以新建目录 C:/AudioWork/run-001 为例,用 JSON 行描述工具调用(实际由 DSH / 智能体发起)。

1、分离(含 karaoke)

{"tool":"cover_separate","args":{"inputFolder":"C:/AudioWork/run-001/input","outDir":"C:/AudioWork/run-001/sep","karaoke":true}}

2、换声(pilot 段,baseline 后端)

{"tool":"cover_convert","args":{"src":"C:/AudioWork/run-001/sep/kara/pilot/Vocals.wav","outDir":"C:/AudioWork/run-001/conv","mode":"pilot","backend":"baseline","start":0,"duration":25,"key":0,"step":50,"method":"euler","tStart":0.7}}

3、混音(standard 配置)

{"tool":"cover_mix","args":{"inst":"C:/AudioWork/run-001/sep/pilot/instrumental.wav","lead":"C:/AudioWork/run-001/conv/lead_pilot_k+0.wav","harm":"C:/AudioWork/run-001/sep/kara/pilot/instrumental.wav","out":"C:/AudioWork/run-001/master.wav","profile":"standard"}}

4、技术验收

{"tool":"cover_verify","args":{"wav":"C:/AudioWork/run-001/master.wav","json":"C:/AudioWork/run-001/master.verify.json"}}

注意:不要把短主唱与全长伴奏直接混;先裁源再分离可保持时间窗一致。示例里 key:0 并非适用所有音源;若需变调,应同步处理伴奏与和声。先试听 pilot,再以新目录、完整源和 mode:"full" 做整曲。目标文件已存在时会被拒绝。dryRun:true 只返回命令与预期产物,不代表输出已通过质量检查。manifest 与转换 provenance 含本机路径,仅作本地追溯,不宜提交用户素材或私有日志。

第一次接入、只想知道「下完仓库还缺什么」,可看仓库 小白接入。

适用场景与注意

适合:已在本机或固定目录维护 MSST、DDSP 与音色权重,希望在 DSH 里用固定工具契约做分离、换声、混音与验收的开发者或进阶用户;分类上属于工作流型插件,适合与 Cordis 工具编排配合。

实践建议(来自 README,非普遍定律):Vocaloid 源可以作为输入;尽量避免使用已经换声/翻唱处理过的录音作输入,应按歌曲与模型先试听。

验证边界:仓库提供多组测试命令(如 npm test、npm run test:workflow、npm run test:contract 等);test:contract 中的 doctor 会读本机环境,不能替代对新歌的全链路听审。1.1.2 保留长音频分块推理与错误传播修复,不承诺商业成品质量,也不自动循环调音。

结尾

dsh-cover-pipeline 把本地翻唱的长链路拆成可编排的 9 个工具,插件侧保持轻量,算力与模型留在 MSST / DDSP。若要查看简介与分类,可打开 SkillHub 目录页;源码、版本说明与材料清单以 GitHub 仓库 为准。

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

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

Xiaoye