question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Framewise separation evaluation where some frames are silent

See original GitHub issue

While evaluating the framewise separation methods that have been added #199 and are almost ready in #212 , I’ve figured out, the validation routines are a bit too strict: Let’s assume there is silence in one of the frames being evaluated:

nsrc = 2
nchan = 2

empty_source = np.zeros((nsrc, 20, nchan))
estimates = np.random.random_sample((nsrc, 200, nchan))

estimated_sources = np.concatenate(
    (empty_source, estimates),
    axis=1
)

mir_eval.separation.bss_eval_images_framewise(
    estimated_sources,
    estimated_sources,
    window=10,
    hop=5
)

this results in

ValueError: All the reference sources should be non-silent (not all-zeros), but at least one of the reference sources is all 0s, which introduces ambiguity to the evaluation. (Otherwise we can add infinitely many all-zero sources.)

and therefore would not continue evaluating the other (non-silent) frames. I think it would make sense to return np.nan or None for those (2) frames in the framewise evaluation. I don’t know how to handle these results later when it comes to compute aggregated measures, but thats more of a discussion for SISEC (@aliutukus ?)

@craffel @ErikJohnsonCU @carlthome what do you think?

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
ecmjohnsoncommented, Aug 15, 2016

@craffel @craffel @bmcfee @dpwe

It’s been a pleasure being able to contribute and help mir_eval grow a little bit! Thank you so much to @faroit for hosting me; I really enjoyed the experience of working @audiolabs! I’ve learned a lot and I really appreciate all the nitpicks that have helped me refine my python style and understanding of open source software contributing.

0reactions
craffelcommented, Aug 19, 2016

Resolved in 8a1cb7210354ebff5d776a034f6df83132c85fe5. Thanks!

Read more comments on GitHub >

github_iconTop Results From Across the Web

mir_eval/separation.py at master - GitHub
"""Returns true if the parameter sources has any silent first dimensions""" ... Lutter and Ngoc Q.K. Duong, "The Signal Separation Evaluation Campaign.
Read more >
Source code for museval.metrics - SigSep
Evaluation methods for source separation compare the extracted sources from ... has any silent first dimensions""" return np.any(np.all(np.sum( sources, ...
Read more >
Separation Eval Examples - Navy Writer
Evaluation submitted upon member's separation from Active Duty Naval service. **OUTSTANDING SAILOR! SET THE STANDARD FOR OTHERS TO EMULATE AND INSPIRES ...
Read more >
Unsupervised Audio Source Separation Using Differentiable ...
The experimental evaluation on a vocal ensemble ... The frame-wise harmonic amplitude α(n) and the noise gain ... to silent sources.
Read more >
Music Demixing Challenge 2021 - Frontiers
Music source separation has been intensively studied in the last decade ... except for the framewise SDR of SiSEC 2016 where we used...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found