-
Notifications
You must be signed in to change notification settings - Fork 2.9k
5. FAQ
- Can I try Spleeter without installing it ?
- Why produced stems are identical with the input sample ?
- Why do I have some stems not written to disk ?
- Why do I have no output produced ?
- Why are there no high frequencies in the generated output files ?
- I have an ffprobe error
Yes. You can give it a try using the dedicated notebook through Google Colab.
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
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.
For the same reason exposed before.
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.
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:
-
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 commandffprobe <your-file.mp3>
and you should get no errors. - 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. - 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 commandls path/to/my_audio.mp3
and it should work. On Windows, your command should look likespleeter separate -i path\to\my_audio.mp3
. If that's confusing, we recommend that you use absolute path, for instancespleeter separate -i C:\audio\my_audio.mp3
.