Mixing-Equivariant Audio Autoencoder β checkpoints
Inference weights for "What Makes Audio Latents Mixing-Equivariant? A Controlled Study of Explicit Supervision" (ICASSP 2027 submission).
Code, configs, eval scripts, and the paper source:
https://github.com/nurdauletakhanov/musicgen β see its REPRODUCING.md
for the exact command behind every number in the paper.
Layout
musicgen/<run>/best.pthβ waveform GAN autoencoder runs (v1/v2/v3 lineage; 33.5M params, 44.1 kHz mono). Load with the matching config underconfigs/experiments/in the code repo.m2l/<phase>_ema.ptβ EMA-merged Music2Latent fine-tunes (cross-architecture experiments, paper Sec. IV-B).MANIFEST.mdβ file-by-file provenance.
Quick use
# in a checkout of the code repo
from training.config import load_config, build_model_config
from models.autoencoder import Autoencoder
import torch
cfg = load_config("configs/experiments/v2/v2.1_decmix.yaml")
model = Autoencoder(**build_model_config(cfg))
ck = torch.load("best.pth", map_location="cpu", weights_only=False)
model.load_state_dict(ck["model"])
model.eval()
# stem removal: model.decoder(model.encoder(mix) - model.encoder(stem))
v2.1-decmix is the paper's recommended recipe (decode-mixing loss only).
Two things to know before comparing these models
Latent subtraction needs the origin. Subtraction has coefficients
(1, -1), which sum to zero, so the encoder's offset f(0) drops out. For an
affine encoder f(x) = Ax + b the identity f(mix) - f(stem) + f(0) = f(res)
is exact, so the corrected decode is the model's own reconstruction of the
residual. Raw subtraction scores therefore mostly reflect each model's latent
offset, not the training recipe; correct it before comparing:
python -m evaluation.compute_subtraction --origin-correct ...
Decode-vs-decode SI-SDR is confounded for the M2L checkpoints. A consistency decoder draws fresh noise per call. Decoding the same latent twice with independent noise scores -1.8 dB with no latent arithmetic at all, so share the decode noise (the eval adapter does) or the metric measures sampling, not linearity.