Preface

In DeepSeek Harness (DSH), creating a cover song often involves manually typing commands in a conversation: first separating vocals and accompaniment, then voice conversion, key shifting if necessary, and finally mixing and inspection. These steps are numerous, the paths are complex, and the models and Python environments are often not located in the same directory, making it difficult for an agent to stably reproduce the same pipeline.

Below is an introduction to the community plugin dsh-cover-pipeline (maintainer InariNGT-Ofiicial). It consolidates “Separation → Voice Conversion → (Conditional) Key Shifting → Mixing → Acceptance → Listening Review” into 9 DSH tools. The plugin itself is implemented in JavaScript with zero runtime npm dependencies (using only node: built-in modules), delegating heavy computation to existing local Python projects MSST and DDSP-SVC along with external model weights. The current version is 1.1.2, and the plugin code is licensed under MIT. The directory page categorizes it as a Workflow (SkillHub Plugin Page).

What is this

dsh-cover-pipeline is a local AI cover creation plugin for DSH: it allows direct tool invocation within the Harness rather than writing long shell scripts every time. The repository comes with 8 core Python scripts (all in runtime/): 5 adapters (convert.py, long_audio.py, guided_core.py, mix.py, validate_model.py) as well as shift.py, mix_master.py, and verify_mix.py. The large MSST / DDSP projects and voice weights are not distributed via git and must be prepared according to the documentation.

Project data defaults to <songRoot>/cover_runs and no longer references QC / trimming / packaging scripts from old song projects.

Core Features

Nine Tools and the Baseline Flow

Tool list: cover_doctor, cover_setup, cover_plan, cover_status, cover_separate, cover_shift, cover_convert, cover_mix, cover_verify.

  • cover_setup: The entry point for auto-discovering paths and selecting voices; if the environment is not found, it outputs a paste-ready configuration snippet.
  • cover_shift: Only required when non-octave key transposition is needed.
  • cover_verify: Performs technical checks only; listening review must be recorded separately and is not replaced by this tool.

The baseline chain provided in the README: kim → karaoke → change lead vocal only → preserve original harmony → standard mix → single-pass master normalization/limiting → technical verification → user audition.

Runtime and Configuration Essentials

Requires Node.js 18+, DSH, and independently running MSST and DDSP-SVC. Paths are left empty by default in src/config.js. It will attempt to detect the environment variable DSH_COVER_ROOT, D:/AI-Song, C:/AudioWork, and the current directory in that order. It also automatically looks for 01_* (MSST), 02_*/DDSP-barbara-* (DDSP), 03_* (Voice Library), and env/python.exe in the root directory. Local overrides can be written to cover.local.json (git ignored).

Configuration Should point to
msstDir / msstEnv MSST project and Python, including kim/karaoke models and configs, supporting --extract_instrumental
ddspDir / ddspEnv DDSP project and Python, including batch_infer, RMVPE, encoders, vocoders
voiceModel Authorized voice weights; config.yaml must exist in the same directory, and referenced assets must be present
mixDir / probeDir Project data directory, defaulting to <songRoot>/cover_runs; mixing scripts are in runtime/
ffmpeg Verified available ffmpeg (optional)
pipelineRoot / songRoot Local project data directories
targetLufs Default −14; shared by mix and verify, can be explicitly overridden

Installation configuration is found in cordis.patch.yml, and development overrides in cordis.dev.yml. After installation, use cover_doctor to check the setup; do not claim end-to-end availability if core dependencies are missing.

Installation and Activation

Before installing, read the Dependency List and Upstream Download Entry in the repository. For large file materials (MSST bundle, DDSP 6.2 bundle, voice model packs, etc.), see materials/README.md for cloud drive links and directory layout.

Connecting to DSH (Local Repository Path):

dsh plugin --profile desktop add <absolute path to this repository>

Windows One-Click Layout Example (after materials are ready; modify Root and Voice according to your machine):

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

If you only want to preview the installation steps without actually writing to disk, add -DryRun to the script above. To only verify if materials are complete:

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

After the above steps, restart DSH to drive the process using natural language, for example, the README example: “Cover the song ‘Song Name’ using the voice of Xiangzi”.

The plugin runs under the permissions of the current dsh process. Before installation, you should review the source code and the MIT license yourself, and confirm you have legitimate usage rights for external projects, model weights, and the original music recordings. The plugin does not decrypt DRM, does not upload songs to third parties, and does not automatically publish videos.

Typical Usage

The README suggests: First, trim the same time segment (e.g., 55–80 seconds) from an authorized original recording, in 44.1 kHz stereo floating-point WAV, without pre-attenuating gain, and name it pilot.wav. The following example uses a new directory C:/AudioWork/run-001 and describes tool calls using JSON lines (actually initiated by DSH / the agent).

1. Separation (including karaoke)

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

2. Voice Conversion (pilot segment, baseline backend)

{"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. Mixing (standard configuration)

{"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. Technical Verification

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

Note: Do not mix a short lead vocal directly with full-length accompaniment; trimming the source before separation helps maintain time window consistency. In the example, key:0 is not applicable to all sources; if pitch shifting is needed, the accompaniment and harmony should be processed synchronously. Listen to the pilot first, then perform the full song in a new directory with the complete source and mode:"full". If the target file already exists, the operation will be rejected. dryRun:true only returns the command and expected output, it does not imply the output has passed quality checks. The manifest and conversion provenance contain local paths, intended only for local traceability; do not commit user materials or private logs.

For first-time setup or if you just want to know “what is missing after downloading the repository,” refer to the repository’s Beginner’s Guide.

Use Cases and Notes

Suitable for: Developers or advanced users who maintain MSST, DDSP, and voice weights on their local machine or in fixed directories and wish to perform separation, voice conversion, mixing, and verification in DSH using fixed tool contracts. It is categorized as a Workflow plugin, suitable for cooperation with Cordis tool orchestration.

Practical Advice (from README, not universal law): Vocaloid sources can be used as input; try to avoid using recordings that have already been processed by voice conversion/cover tools as input. Always listen to a preview first based on the song and model.

Verification Boundaries: The repository provides multiple test commands (such as npm test, npm run test:workflow, npm run test:contract, etc.); the doctor in test:contract reads the local environment and cannot replace full-chain listening review for new songs. Version 1.1.2 retains long audio chunked inference and error propagation fixes, but does not promise commercial-grade quality, nor does it automatically loop tuning.

Conclusion

dsh-cover-pipeline breaks the long chain of local cover creation into 9 orchestrable tools, keeping the plugin side lightweight while leaving computation and models in MSST / DDSP. To view the introduction and category, please open the SkillHub Directory Page; the source code, version notes, and material lists are subject to the GitHub Repository.