Views
No views yet
c0 token is restricted to the encoder's top-5 candidates by default. MiniMax chooses the token and generates all acoustic codebooks. The interval is configurable from 1 through 10.| File | Parameters | Experiment | Replay cosine |
|---|---|---|---|
minimax_music3_rvq_encoder_v1_41m_independent_heads.safetensors | 40,978,944 | Baseline; eight independent heads | 0.7624* |
minimax_music3_rvq_encoder_v2_155m_wide_independent_heads.safetensors | 154,736,064 | Wider shared encoder | 0.7698 |
minimax_music3_rvq_encoder_v3_155m_mert_aligned_independent_heads.safetensors | 154,736,064 | v2 plus training-only MERT alignment | 0.7703 |
minimax_music3_rvq_encoder_v4_169m_autoregressive_depth_recommended.safetensors | 169,008,576 | Causal acoustic decoder across codebook depth | 0.8748 |
.json configuration file in encoders/.
experiment-summary.json. Full summary statistics and quantiles are in evaluation/condition-replay-aggregate.json.Serveurperso trained a 41M encoder on one GPU and demonstrated that exact token agreement was not required. Their checkpoint reached 0.6633 condition-replay cosine. Their implementation independently identified the 345-latent stitched hop, the extra warm-up code row, and the final partial-chunk interpolation rule. The SimpleTuner dataset and trainer work independently derived the same alignment contract.SimpleTuner/open-rvq-encoder-minimax-music3-41m-v1.SimpleTuner/open-rvq-encoder-minimax-music3-155m-v2.SimpleTuner/open-rvq-encoder-minimax-music3-155m-v3.k is conditioned on the semantic code and acoustic codebooks < k.SimpleTuner/open-rvq-encoder-minimax-music3-169m-v4.dav.pth, because the Comfy DAV file is decoder-only;1git lfs install
2git clone https://huggingface.co/SimpleTuner/open-rvq-encoder-minimax-music3
3
4cd ComfyUI
5python3 -m venv .venv
6.venv/bin/pip install -r requirements.txt huggingface_hub
7
8.venv/bin/hf download Comfy-Org/MiniMax-Music-3 \
9 diffusion_models/minimax_music3_dit_fp16.safetensors \
10 text_encoders/minimax_music3_text_encoder_pruned_int8_convrot.safetensors \
11 vae/minimax_music3_dav.safetensors \
12 --local-dir models
13
14.venv/bin/hf download MiniMaxAI/MiniMax-Music3 dav.pth \
15 --local-dir models/vae
16
17ln -s /path/to/open-rvq-encoder-minimax-music3/comfyui_open_rvq \
18 custom_nodes/comfyui_open_rvqcomfyui_workflow_example.json constrains every fifth generated semantic c0 token to the encoder's top-5 candidates.reference_interval=1 constrains every frame.reference_interval=5 is the tested default.reference_interval=10 constrains every tenth frame and gives the language model more freedom.caption. Provide the desired sectioned lyrics. Prompt adherence and audio quality vary; this is not a general audio-to-audio conversion system.ComfyUI/models/minimax_music3_rvq_encoders/1python3 -m venv .venv
2source .venv/bin/activate
3pip install \
4 git+https://github.com/huggingface/diffusers@dafe3733fcfdbf3c48915fe77be3aef65b5d6a2d \
5 transformers accelerate safetensors huggingface_hub soundfile torchaudiominimax_music3_reference_adapter.py into the project, then:1import soundfile as sf
2import torch
3from diffusers import ModularPipeline
4
5from minimax_music3_reference_adapter import (
6 MiniMaxMusic3ReferenceAdapter,
7 install_diffusers_reference_adapter,
8)
9
10install_diffusers_reference_adapter()
11
12pipe = ModularPipeline.from_pretrained(
13 "MiniMaxAI/MiniMax-Music3",
14 torch_dtype=torch.bfloat16,
15).to("cuda")
16adapter = MiniMaxMusic3ReferenceAdapter.from_pretrained()
17
18audio, sample_rate = sf.read("reference.flac", always_2d=True)
19waveform = torch.from_numpy(audio.T).float()
20generator = torch.Generator(device="cpu").manual_seed(42)
21
22frame_hiddens, predicted_codes = adapter.encode_reference(
23 pipe,
24 waveform,
25 sample_rate,
26 prompt="rock",
27 lyrics="[instrumental]",
28 generator=generator,
29 device="cuda",
30 reference_interval=5,
31)
32
33result = pipe(
34 frame_hiddens=frame_hiddens,
35 generator=torch.Generator(device="cpu").manual_seed(42),
36 num_inference_steps=30,
37 output_type="pt",
38)reference_interval accepts integers from 1 through 10. The patch only adds a precomputed-frame_hiddens bypass to the modular pipeline. It does not replace MiniMax model code.bghira: reverse-distillation dataset, independent alignment derivation, SimpleTuner trainer, compute, v1-v4 runs, and replay experiments.marduk191: WAV/code samples, early mel-encoder proof, corpus-scale observations, and encoder experiments.scragnog: SimpleTuner calibration, relative-weight analysis, caption-cache and rollout-seam findings, and GGML interoperability tests.Serveurperso: independent 41M encoder, single-GPU proof, replay evaluation, and independent stitched-timeline findings.dernet: RVQ supervision, internal-alignment, and tokenizer reverse-engineering analysis.minimax_music3_reference_adapter.py and comfyui_open_rvq/ are Apache-2.0 licensed. See LICENSE-CODE.