-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compability to "bsseval_sources_version" #15
Comments
Hi @RicherMans , if my understanding is correct, the original
|
Wow thanks for the quick reply @fakufaku !
So I tested the differences between the two packages for single channel evaluation, using this snippet code: import fast_bss_eval
import museval
import torch
CHUNKS = 1
CHANNELS = 1
x = torch.randn(CHANNELS, CHUNKS * 44100).tanh().numpy()
y = torch.randn(CHANNELS, CHUNKS * 44100).tanh().numpy()
sdr_mus, mus_isr, mus_sir, mus_sar = museval.evaluate(
y.reshape(CHUNKS, -1, CHANNELS),
x.reshape(CHUNKS, -1, CHANNELS))
print(f"MUSEVAL: {sdr_mus=}, {mus_sir=}, {mus_sar=}")
sdr_fast, sir_fast, sar_fast = fast_bss_eval.bss_eval_sources(
y.reshape(CHUNKS, CHANNELS, -1),
x.reshape(CHUNKS, CHANNELS, -1),
compute_permutation=False,
)
print(f"FASTBSS: {sdr_fast=}, {sir_fast=}, {sar_fast=}") and obtained the following results: MUSEVAL: sdr_mus=array([[-2.98003]]), mus_sir=array([[inf]]), mus_sar=array([[-19.47029572]])
FASTBSS: sdr_fast=array([[-19.470297]], dtype=float32), sir_fast=array([[inf]], dtype=float32), sar_fast=array([[-19.470297]], dtype=float32) While the SIR and SAR are both identical, the difference in SDR is noticeable ( -2.9 vs. -19). |
@RicherMans after taking a closer look at |
@fakufaku thanks a lot for the effort! I guess the multichannel version is at least for my use-case somewhat irrelevant. But your package is much more convenient to estimate if say training is working. |
Don't worry :) I could try to create a |
Hey there,
thanks for your great and super useful work of yours!
I just stumbled upon a small problem, that is related to the windowing question in #10, where I'd like to use your package as a replacement to
museval
.When evaluting using
fast_bss_eval.bss_eval_sources(ref,est)
andmuseval.evaluate(ref,est)
, we achieve different values for the SDR.After some checking, I found that the main problem is the
bsseval_sources_version
parameter, which is set toFalse
formuseval.evaluate
, but produces the exactly same results asfast_bss_eval.bss_eval_sources
, if set toTrue
.My question is: Is there some kind of parameter or any suggestion how to change the output of
fast_bss_eval
accordingly, such that the results are somewhat similar?Thanks in advance!
The text was updated successfully, but these errors were encountered: