Skip to content
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

2 stems 22khz dont work but 16 kHz vers good #521

Closed
lesecs opened this issue Nov 22, 2020 · 6 comments
Closed

2 stems 22khz dont work but 16 kHz vers good #521

lesecs opened this issue Nov 22, 2020 · 6 comments

Comments

@lesecs
Copy link

lesecs commented Nov 22, 2020

Hi @expectopatronum
Thanks for your questions. I'll try to answer them:

First of all, why use 41000 in the config (for loading/training?) when the model ins only trained to 11k?

  1. This is two different things. The spectrogram model is trained until 11kHz meaning input spectrograms are cut at 11kHz, but separation can be performed until 22kHz, either by increasing the value of F at test time (this is exactly what spleeter:stems-16kHz does) up to 2048 or by extending the mask averaging (using the "average" option for "mask_extension" as you mentioned). Note that models were trained with 44.1KHz, and changing the sampling rate at test time may lead to lower separation performances.

In the FAQs you mention different configurations, but separator = Separator('spleeter:5stems-16khz') fails with spleeter.SpleeterError: No embedded configuration 5stems-16khz found. Should this work or does it only work with the command line interface?

  1. separator = Separator('spleeter:5stems-16khz') should work but if you have a quite old version of Spleeter. I've just tested it with the most recent version and it works on my side.

Could you add an example of how to use spleeter in Python? It took me a while to figure out how to load the data to work with separator.separate(...) (and maybe it's still wrong - see below)

  1. To perform separation in python, either you do it at the file level using separator.separate_to_file (that behaves quite similarly to the command line) or you process directly waveforms as numpy arrays with separator.separate. The wiki provides sample code for separator.separate usage.

Is the following the correct way of doing it? (Apparently not, but I don't know what else to change)

  1. See 3.

Using "mask_extension":"average", you should have separated signals that sum up to the mix. For older versions of spleeter (i.e. <=1.5.3), you may have differences at the very beginning or the very end of the signal due to the way STFT/iSTFT were managed, but that should be fixed from 1.5.4. Let us know if you still have troubles with recent versions.

Originally posted by @romi1502 in #503 (comment)

@lesecs
Copy link
Author

lesecs commented Nov 23, 2020

Where we can get version 1.5.4 please

1 similar comment
@lesecs
Copy link
Author

lesecs commented Nov 23, 2020

Where we can get version 1.5.4 please

@romi1502
Copy link
Member

Hi @lesecs,
Note that the last version of spleeter (2.0.1) should not suffer from the reported issue.
If you need to install 1.5.4, you can install it with pip (provided you already have ffmpeg installed):

pip install spleeter==1.5.4

Note that, 1.5.4 is only compatible with python 3.6 and 3.7 (not 3.8).

@lesecs
Copy link
Author

lesecs commented Nov 24, 2020

Hi
When i try seaprate at 22khz, no folder is found. 16 kHz, is very good. I dont Knowl why
Tx

1 similar comment
@lesecs
Copy link
Author

lesecs commented Nov 24, 2020

Hi
When i try seaprate at 22khz, no folder is found. 16 kHz, is very good. I dont Knowl why
Tx

@lesecs
Copy link
Author

lesecs commented Nov 25, 2020

I havé ffmpeg installer but pip installer spleeter==1.5.4 canot install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants