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.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill musdb18-sdr-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Musdb18 Sdr Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-musdb18-sdr-eval)More formats (shields.io, HTML) on the badges page.
---
name: musdb18-sdr-eval
description: 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.
metadata:
skill_kind: dataset_eval
source_arxiv: 1811.03076
bibtex_key: seetharaman2018classconditional
confidence: high
---
# 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
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!