Evaluates audio source separation models on mixed reverberant or dry recordings containing 1–4 active sources. It measures reconstruction fidelity and source-counting accuracy across varying mixture complexities. Use when the user wants to benchmark on FUSS, or asks about evaluating this task. Reports SI-SNR.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill fuss-sound-separation-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fuss Sound Separation Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-fuss-sound-separation-eval)More formats (shields.io, HTML) on the badges page.
---
name: fuss-sound-separation-eval
description: Evaluates audio source separation models on mixed reverberant or dry recordings containing 1–4 active sources. It measures reconstruction fidelity and source-counting accuracy across varying mixture complexities. Use when the user wants to benchmark on FUSS, or asks about evaluating this task. Reports SI-SNR.
metadata:
skill_kind: dataset_eval
source_arxiv: 2011.00803
bibtex_key: wisdom2020fuss
confidence: high
---
# fuss-sound-separation-eval
> What's All the FUSS About Free Universal Sound Separation Data? — Wisdom et al. (2020) (arXiv:2011.00803, 2020)
## What this evaluates
Evaluates audio source separation models on mixed reverberant or dry recordings containing 1–4 active sources. It measures reconstruction fidelity and source-counting accuracy across varying mixture complexities.
## Datasets
- **FUSS** — total ?; splits: val (-1), test (-1)
## Metrics
- `SI-SNR` **(primary)** — range: dB
- Scale-invariant signal-to-noise ratio computed via cosine similarity: SI-SNR(y, ŷ) ≈ 10 log10((ρ²(y, ŷ) + ε) / (1 - ρ²(y, ŷ) + ε)), where ρ is the cosine similarity between target y and estimate ŷ, and ε=10⁻⁸. Estimates are first aligned to references via permutation matching, and pairs with inactive references or estimates >20 dB below the quietest active reference are discarded.
## Input / output format
**Input**: Mixed audio waveforms (dry or reverberant) containing 1 to 4 active sound sources.
**Output**: Separated audio waveforms corresponding to each estimated source.
## Scoring recipe
```python
def compute_sisnr(y, y_hat, eps=1e-8):
# 1. Align estimates to references by maximizing SI-SNR over permutations
# 2. Discard pairs where y is all-zeros or power(y_hat) < power(quietest_nonzero_ref) - 20dB
rho = np.dot(y, y_hat) / (np.linalg.norm(y) * np.linalg.norm(y_hat) + eps)
rho_sq = rho ** 2
sisnr = 10 * np.log10((rho_sq + eps) / (1 - rho_sq + eps))
return sisnr
```
## Common pitfalls
- Using the original scale-based SI-SNR formula instead of the cosine-similarity variant yields overly optimistic scores, particularly for under-separation.
- Failing to align estimates to references via permutation matching before computing scores.
- Not filtering out estimate-reference pairs where the reference is inactive or the estimate power is >20 dB below the quietest active reference.
## Evidence (verbatim from paper)
> To evaluate performance, we use scale-invariant signal-to-noise ratio (SI-SNR)... To correct for this, we use an alternate formulation, SI-SNR(y,ŷ) = 10 log10(ρ²(y,ŷ)/(1-ρ²(y,ŷ))) ≈ 10 log10((ρ²(y,ŷ)+ε)/(1-ρ²(y,ŷ)+ε)), where ρ(y,ŷ) = yᵀŷ/(||y||||ŷ||) ≈ yᵀŷ/(||y||||ŷ||+ε) is the cosine similarity between y and ŷ, with stabilizer ε. In our experiments we use ε=10⁻⁸.
## Citation
```bibtex
@misc{wisdom2020fuss,
title={What's All the FUSS About Free Universal Sound Separation Data?},
author={Wisdom et al. (2020)},
year={2020},
note={arXiv:2011.00803}
}
```
- arXiv: 2011.00803
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!