Skip to content

data_transforms dataloader block for automatically RVCing inputs - #3143

Open
bghira wants to merge 15 commits into
mainfrom
feature/auto-rvc-pipeline
Open

data_transforms dataloader block for automatically RVCing inputs#3143
bghira wants to merge 15 commits into
mainfrom
feature/auto-rvc-pipeline

Conversation

@bghira

@bghira bghira commented Aug 24, 2026

Copy link
Copy Markdown
Owner

This pull request adds comprehensive documentation for the new data_transforms feature in the dataloader configuration, across all supported languages. The documentation explains how to use transforms to generate new datasets before normal dataloader setup, with special details on audio identity transfer and the current implementation status.

Key documentation updates:

New data_transforms Section in Dataloader Docs

  • Added a new section describing the data_transforms configuration option, including its values, usage, and behavior for expanding source datasets into generated training datasets prior to normal dataloader setup. [1] [2] [3] [4] [5] [6]

Audio Identity Transfer and Implementation Details

  • Documented the audio identity transfer transform ({"task": "identity_transfer", "method": "rvc"}) for audio backends, with references to the relevant voice cloning guides in each language. [1] [2] [3] [4] [5] [6]
  • Provided information on the current implementation status: transform registry, cache manifest checks, Hub artifact reuse/push, DDP-aware sharding hooks, local RVC logs, and the experimental nature of native RVC training/conversion. [1] [2] [3] [4] [5] [6]

@bghira
bghira force-pushed the feature/auto-rvc-pipeline branch from 84c8524 to c421843 Compare August 24, 2026 22:44
Base automatically changed from fix/minimax-lm-crop-boundaries to main August 24, 2026 22:56
@bghira
bghira force-pushed the feature/auto-rvc-pipeline branch from c421843 to b45d8a6 Compare August 24, 2026 22:56
@bghira
bghira requested a balanced review from Copilot August 24, 2026 22:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It changes core factory metadata-clone gating and adds a new audio form flow whose dirty-state/Alpine wiring is only covered by Jest, so human verification and E2E testing are warranted.

Pull request overview

This PR introduces a new data_transforms dataloader block that expands a source dataset into additional generated training datasets before normal dataloader setup, with the first task being audio identity_transfer (RVC-style voice cloning). It wires a new simpletuner/helpers/data_transforms module into the factory, adds a WebUI editor for audio datasets, refactors auto-generated metadata cloning to key off a new metadata_clone_source_id, and adds extensive multilingual documentation. Much of the runtime RVC training/conversion is intentionally scaffolding that raises NotImplementedError; only the cache-reuse path is functional.

Changes:

  • New data_transforms registry (base.py) + identity_transfer.py transform, integrated into FactoryRegistry.configure.
  • Refactored _handle_bucket_operations to clone metadata via metadata_clone_source_id (set by DatasetDuplicator) instead of auto_generated.
  • WebUI support: new audio "Voice Identity Transfer" section, JS helpers, blueprint field; plus EN + zh/ja/pt-BR/es/hi docs.
File summaries
File Description
simpletuner/helpers/data_transforms/base.py New DataTransformTask base + registry + process_data_transforms expansion.
simpletuner/helpers/data_transforms/identity_transfer.py RVC identity-transfer transform, cache/hub/manifest plumbing (training/conversion stubbed).
simpletuner/helpers/data_transforms/init.py Exposes the registry and transform.
simpletuner/helpers/data_backend/factory.py Registers process_data_transforms; switches metadata-clone gating to metadata_clone_source_id; versioning keys.
simpletuner/helpers/metadata/utils/duplicator.py Sets metadata_clone_source_id on generated conditioning configs.
simpletuner/templates/components/dataloader/sections/audio_body.html New Voice Identity Transfer form section.
simpletuner/templates/trainer_htmx.html normalizeDataTransforms and save-path handling for audio.
simpletuner/static/js/dataloader-section-component.js Identity-transfer store helpers + audio-only guards.
simpletuner/simpletuner_sdk/server/data/dataset_blueprints.py New data_transforms audio blueprint field.
tests/* Unit/Jest tests for transform, blueprint, and JS helpers.
documentation/*, mkdocs.yml New Voice Cloning docs + data_transforms DATALOADER entries (all languages).
Review details
  • Files reviewed: 32/32 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread simpletuner/helpers/data_transforms/identity_transfer.py Outdated
@bghira
bghira requested a balanced review from Copilot August 26, 2026 15:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants