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.

Improving config for MUSDB18

See original GitHub issue

Description

training spleeter on MUSDB18 using the provided configuration file does produce very poor results. This is probably because the config was designed for evaluation only.

When using the provided config, I get the following results with museval

vocals          ==> SDR:   1.058  SIR:  -5.229  ISR:   2.040  SAR:  12.087
drums           ==> SDR:   1.205  SIR:  -3.945  ISR:   1.987  SAR:  12.087
bass            ==> SDR:   0.680  SIR:  -6.822  ISR:   1.964  SAR:  12.087
other           ==> SDR:   1.063  SIR:  -5.320  ISR:   1.984  SAR:  12.087

Step to reproduce

python -m spleeter train -p configs/musdb_config.json -d MUSDB18-WAV

Questions

To improve the config, I think the following things would need to be addressed:

  • n_chunks_per_song is set to 1. Shouldn’t this be larger for full tracks like in MUSDB?
  • random_time_crop is using a fixed seed which is not updated during training. That means the chunks are deterministic and therefore only a very small fraction of the MUSDB18 dataset is actually used in training.
  • train_max_steps is set to 100000. Was this tested on MUSDB18? Should this be increased?
  • No early stopping is configures. On such a small dataset the model will suffer from significant overfitting

Desired behavior is to update the config/docs to be able to train using MUSDB18.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:3
  • Comments:15 (8 by maintainers)

github_iconTop GitHub Comments

2reactions
rohitma38commented, Nov 22, 2019

Hey @syxu828 It is probably because the training didn’t go through at all, at least that’s how it was in my case. Can you try running the spleeter train command with ‘–verbose’ added as an argument and look at the log messages at the end? I get something like this -

WARNING:tensorflow:Training with estimator made no steps. Perhaps input is empty or misspecified.

I suspect that the audio isn’t getting loaded, but I haven’t yet been able to fix it.

0reactions
rohitma38commented, Jun 12, 2020

嘿@ syxu828 可能是因为培训完全没有完成,至少在我看来就是这样。您可以尝试运行带有“ -verbose”作为参数的spleeter train命令并查看末尾的日志消息吗? 我得到这样的东西- WARNING:tensorflow:Training with estimator made no steps. Perhaps input is empty or misspecified. 我怀疑音频没有被加载,但是我还不能修复它。

Hey @syxu828 It is probably because the training didn’t go through at all, at least that’s how it was in my case. Can you try running the spleeter train command with ‘–verbose’ added as an argument and look at the log messages at the end? I get something like this - WARNING:tensorflow:Training with estimator made no steps. Perhaps input is empty or misspecified. I suspect that the audio isn’t getting loaded, but I haven’t yet been able to fix it.

I encountered the same problem, did you fix it?

I think the issue is fixed now in the currently available version. I have since been able to train successfully on musdb.

Read more comments on GitHub >

github_iconTop Results From Across the Web

The MUSDB18 dataset - GitHub Pages
MUSDB18 is a dataset of 150 full length music tracks (~10h total duration) of varying genres. For each track it provides a mixture...
Read more >
sigsep/open-unmix - Gitter
Recently I've been trying to measure the impact of the amount of training data by using bigger private datasets (good quality, ~10 times...
Read more >
arXiv:2108.13559v3 [eess.AS] 23 May 2022
MUSDB18 test data, however, it is unclear if generaliza- tion performance did improve at the same pace or if some models overfit on...
Read more >
MUSDB18 Dataset - Papers With Code
The MUSDB18 is a dataset of 150 full lengths music tracks (~10h duration) ... All for One and One for All: Improving Music...
Read more >
Cutting Music Source Separation Some Slakh: A Dataset to ...
We see that augment- ing MUSDB18 leads to improvement over the non-augmented case, with Slakh2100 performing better than Flakh2100, showing that ...
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