# Musdb18 Sdr Eval

> Evaluates the quality of separated audio sources (vocals, drums, bass, other) from mixed music tracks using source-to-distortion ratio, probing the model's ability to perform supervised music source separation. Use when the user wants to benchmark on MUSDB18, or asks about evaluating this task. Reports SDR.

- Skill: `qhjqhj00/musdb18-sdr-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/musdb18-sdr-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/musdb18-sdr-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/musdb18-sdr-eval

---


# musdb18-sdr-eval

> Class-conditional embeddings for music source separation — Seetharaman et al. (2018) (arXiv:1811.03076, 2018)

## What this evaluates

Evaluates the quality of separated audio sources (vocals, drums, bass, other) from mixed music tracks using source-to-distortion ratio, probing the model's ability to perform supervised music source separation.

## Datasets

- **MUSDB18** — total 150; splits: train (86), val (14), test (50)

## Metrics

- `SDR` **(primary)** — range: other
  - Computed using the museval package; calculates the ratio of target source energy to the sum of distortion, interference, and artifact energies, expressed in decibels.

## Input / output format

**Input**: Single-channel log-magnitude spectrogram (300 mel bins, 2048 window, 512 hop) derived from stereo audio summed to mono. At test time, processed independently for left and right channels.

**Output**: Separated time-domain audio estimates for four classes: vocals, drums, bass, and other.

## Scoring recipe

```python
import museval
# preds: dict of source names to separated audio arrays
# gold: dict of source names to ground truth audio arrays
results = museval.eval_mus_track(gold, preds)
sdr_scores = {src: results[0].bss['sdr'][i] for i, src in enumerate(['vocals', 'drums', 'bass', 'other'])}
```

## Common pitfalls

- Training uses synthetically mixed 3.2s excerpts from different songs, while evaluation is on full real-world tracks, creating a domain gap.
- SDR is reported per source class; aggregating without weighting or ignoring the 'other' class misrepresents overall separation quality.

## Evidence (verbatim from paper)

> We evaluate the performance of multiple variations of class-conditional embedding networks on the MUSDB18 [[22]] dataset using source-to-distortion ratio (SDR)222https://github.com/sigsep/sigsep-mus-eval.

## Citation

```bibtex
@misc{seetharaman2018classconditional,
  title={Class-conditional embeddings for music source separation},
  author={Seetharaman et al. (2018)},
  year={2018},
  note={arXiv:1811.03076}
}
```

- arXiv: 1811.03076

