MSST Bible

Overlap comparisons for Roformers

Page 6 of 228 · Open the original GDoc ↗

 

4 is a balanced value in terms of speed/SDR according to measurements (since the beta patch #3 or later used above, overlap 16 and 32 are now the slowest in UVR (not overlap 2 is the slowest anymore when it was set the opposite) and overlap 4 has a bigger SDR than overlap 2 now.
Some people still prefer using overlap 8, while for others it’s already an overkill.
There’s very little SDR improvement for overlap 32, and for 50 there’s even a decrease to the level of overlap 4, and 999 was giving inferior results to overlap 16.
Compared to overlap 2, for 8 “I noticed a bit more consistency on 8 compared to 2 (less cut parts in the spectrogram).” Instrumentals with overlap higher than 2 can get gradually muddier.
So the highest SDR gives overlap 32, but for drastic separation time increase vs 16.
You might try to experiment with overlap 23 as a value in between rarely still used.
The SDR info is based on evaluations conducted on multisong dataset on MVSEP. Search for e.g. overlap 32 and overlap 16 below, and you will see the results to compare:

https://mvsep.com/quality_checker/multisong_leaderboard?algo_name_filter=kim

“overlap=1 means that the chunk will not overlap at all, so no crossfades are possible between them to alleviate the click at edges.” - it got fixed in newer versions of MSST.
The setting in GUI overrides the one in yaml’s setting.

Technical explanation on overlap by ZFTurbo - click.

 

chunk_size

 

“Most of the time using higher chunk_size than the one used during training gives a bit better SDR score, until a peak value, and then quality degrades.

For Roformers trained with 8 sec chunk_size [can be found in the yaml], 11 sec is giving best SDR (then it degrades with higher chunk size)” - jarredou

All the notable chunk_sizes are described later below.

Sometimes chunk_size can influence the ability of picking up e.g. some screams in the model (“kim's can do it if you mod the chunk size”).
Lower chunks might sound a bit less muddy.
Unless they’re set too high and VRAM is exceeded, while separation still doesn’t fail on AMD/Intel, various values should provide similar separation times, esp. for NVIDIA users.

 

batch_size (not used in UVR, but in MSST)

 

Leave it default, but for faster inference, e.g. Gabox used 6. Using above 2 might increase VRAM usage. 1 is forced in the inference Colab (it has the clicking issue with that setting fixed in newer MSST code).

“i.e. instead of running a single song at batch_size = 1 you can run 2 at the same time (batch_size = 2)” so “you can use more than one song to process”