MuQ-Eval — MusicQualityModel (A3a_lora)

MUQ-EVAL is an open-source per-sample quality metric for AI-generated music. It is built by training lightweight prediction heads on frozen MuQ-310M representations using the MusicEval dataset.

This repository contains the A3a variant, which utilizes LoRA for encoder adaptation and an ordinal cross-entropy loss objective.

Model Details

MUQ-EVAL addresses the limitations of distributional metrics like Fréchet Audio Distance (FAD) by providing individual scores for music clips that correlate highly with human judgments.

  • Encoder: OpenMuQ/MuQ-large-msd-iter (tuning mode: lora)
  • Pooling: Attention-weighted mean pooling
  • Heads: MI (Musical Impression), TA (Technical Artifacts)
  • Loss: ordinal_ce
  • Input: Audio waveform at 24000 Hz, max 10.0s

Performance

Evaluated with 5-fold cross-validation on MusicEval (2,748 clips, 31 TTM systems).

Model System SRCC Utterance SRCC Params VRAM
A1 (Frozen+MSE) 0.957 0.838 ~1M ~3 GB
A3a (+LoRA) 0.960 0.835 ~2M ~4 GB

Usage

To use this model, you need the src directory from the official repository.

import torch
import torchaudio
from omegaconf import OmegaConf
from huggingface_hub import hf_hub_download
from src.model import MusicQualityModel

# Download files from Hugging Face
config_path = hf_hub_download("zhudi2825/MuQ-Eval", "config.yaml")
model_path = hf_hub_download("zhudi2825/MuQ-Eval", "best_model.pt")

# Load config and model
cfg = OmegaConf.load(config_path)
model = MusicQualityModel(cfg)

ckpt = torch.load(model_path, map_location="cpu", weights_only=False)
model.load_state_dict(ckpt["model_state"])
model.eval()

# Process audio (example)
waveform, sr = torchaudio.load("audio.wav")
if sr != 24000:
    waveform = torchaudio.transforms.Resample(sr, 24000)(waveform)
waveform = waveform.mean(0)  # mono
waveform = waveform[:240000].unsqueeze(0)  # [1, samples]

# Predict quality
with torch.no_grad():
    preds = model(waveform)
    scores = model._last_expected_scores
    for name, score in scores.items():
        print(f"{name}: {score.item():.2f}")

Citation

If you use MUQ-EVAL in your research, please cite the following:

@article{muqeval2026,
  title={MuQ-Eval: An Open-Source Per-Sample Quality Metric for AI Music Generation Evaluation},
  author={Zhu, Di and Li, Zixuan},
  journal={arXiv preprint arXiv:2603.22677},
  year={2026}
}
Downloads last month
61
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for zhudi2825/MuQ-Eval