Skip to content
Félix Voituret edited this page Nov 19, 2019 · 20 revisions

Can I try it without installing it ?

Yes. You can give it a try using the dedicated notebook through Google Colab.

Why produced stems are identical with the input sample ?

If produced stems are identical to the input, you may think that no separation has been performed. The problem is that the library didn't found a model for performing separation and thus, do not apply any transformation to the provided sample, resulting in identical output stems.

As mentioned in the dedicated model page, model files are downloaded automatically from GitHub associated release if not found on disk. So if you have identical stems at the end it probably means that the downloading step didn't went well.

We are currently working on this to make model download associated error more reliable. Meanwhile if you can not get rid of the issue a workaround consists in downloading model archive manually from the release page

Why do I have no output produced ?

If no output is produced neither log record indicating that stems has been written to disk, it means that your separation process has been killed or crashed. The most common reason involved is a lack of memory, indeed the used model is memory intensive and requires lot of RAM available. If you can not increase your free memory a workaround is to perform separation on smaller segments of your input file and join resulting stems for each segments.

You can do that by splitting manually your input file with any library or software that allows you to edit audio file. Or you can use -d option for setting duration :

spleeter separate -i ... -o ... -d your_duration

Which will process first your_duration second(s) only of your sample. We will soon add a parameter for setting starting offset.

Why do I have some stems not written to disk ?

For the same reason exposed before.

Why are there no high frequencies in the generated output files ?

Modeling sources in high frequencies is very hard. In the pre-trained models, Spectrogram are learnt up to 11kHz only and when separating, the default mask extension (above 11kHz) is set to 0, which means that all frequencies above 11kHz will actually be discarded in the separated files.

There is actually an option to change this default behaviour: the mask_extension option can be set to zeros (default) or to average (see the wiki). The latter extends the mask values to the average value of the masks under 11kHz, but be wary that it generates some interferences in the high frequencies.

See this thread for mode details.

FFprobe Errors

If you run a spleeter command and end up with an error looking like this:

WARNING:spleeter:ffprobe error (see stderr output for detail)

Then it means that the audio file could not be loaded. There are three possible reasons for that:

  1. FFmpeg binary is not found (not installed, or not in OS PATH so executable is not found). You can check that you have a valid ffmpeg installation by running the command ffprobe <your-file.mp3> and you should get no errors.
  2. Your track path is not valid (meaning ffmpeg does not find your file). The input parameter of the spleeter command (i.e. the argument after the -i in the command) need to be a valid relative or absolute path. Make sure your file exist and is that your input path is valid1.
  3. Your track could not be read by ffmpeg (because it's corrupted, codec not supported, or whatever reason). Try opening your file with an audio player to check it's format and eventually try to re-encode it in another format.

1 For instance, on UNIX system (i.e Linux distribution or MacOS), if your command is spleeter separate -i path/to/my_audio.mp3 run the command ls path/to/my_audio.mp3 and it should work. On Windows, your command should look like spleeter separate -i path\to\my_audio.mp3. If that's confusing, we recommend that you use absolute path, for instance spleeter separate -i C:\audio\my_audio.mp3.

Clone this wiki locally