Google Doc

Contents

edit. 28.08.26
Last updates and news - BS/Mel-Roformer UVR beta patch For GPU acceleration, UVR currently supports: a) CUDA (NVIDIA GPUs) b) DirectML (AMD and Intel GPUs; previously misnamed as OpenCL) c) MPS (Mac M1 [ARM]/x86-64) And even old CPUs are supported (AMD A6-9225 Dual-Core or Intel Core 2 Quad [models with SSE4.1 tested]), but for at least MDX-Net HQ (v2) models speeds will be good on such CPUs without GPU acceleration. DirectML acceleration is not supported for Apollo, Bandit (also incompatible with MPS), SCNet and probably Demucs 2 archs - CPU will be used automatically. Minimum reasonably good enough NVIDIA GPU for Roformers might be: desktop RTX 3050 6GB, 2304 CUDA cores (at best 8GB variant with more 2560 CUDA). E.g. Colab’s Tesla T4 11GB (older RTX 2000 gen) has 2560 (which without TTA [not implemented for Roformers in UVR] is just alright - see separation times). The old 980 Ti 6GB with 2816 CUDA will be rather slower than these due to older architecture. I'd refrain from getting a mobile RTX 3050 - the Ti variant has 2560 CUDA cores, but both Ti and regular have 4GB, and using shared memory is slower - Roformers generally use more than that. In FP16 inference, if we “convert” CUDA cores performance to match the Blackwell: RTX 5060 Ti 4608 | 4608 | 100% RTX 4070 Ti 7680 | ~4800-5120 | ~105-110% RTX 3080 8704 | ~3200-3500 | ~70-75% Plus, you can always convert current Roformers to FP16 if some model uses FP32 (more below). Performance comparisons: 1 | 2 | 3 | 4 Using CUDA, even with currently the biggest 2GB size inst model, Rifforge, doesn’t reach 6GB VRAM usage on RTX 2000 (but its separation time on T4 using TTA in Colab takes a long 36 minutes for a 5 minute file), so consider min. 6GB VRAM as bare minimum for reasonable separation times with around 2560 CUDA cores on at least RTX 2000 (newer gens should have faster cores in inferencing). Unless you want to use the 53 stem model. For AMD/Intel GPUs, if you want to use default high chunk_size with certain models, 16GB VRAM is recommended, so you won’t have to decrease it manually (DirectML is way less memory-efficient than CUDA). Minimum AMD GPU capable for Roformers using DirectML might be RX 6600 XT or RX 7600 (might be even faster than 3050, DML will probably use its new RDNA3 AI cores). DirectML is slow nevertheless, so if you want some serious GPU acceleration boost on AMD GPUs, use MSST/pymms with ROCm instead. DirectML gives tremendous overhead over CUDA. For older GPUs than AMD Vega (which doesn't support ROCm PyTorch or only potentially with ZLUDA with modded libs) or Intel GPUs with Vulkan support, instead of MSST use: https://github.com/chenmozhijin/BSRoformer.cpp (CLI, C++ ready build, model conversion required besides Deux and FV6, allows quantization for faster separation, Vulkan backend faster than ROCm 5+ZLUDA on Windows) or also: https://github.com/pymss-project/pymss-mnn (CLI, requires building and also model conversion, Vulkan backend too, potentially a bit slower) Full list of model architectures supported by UVR: MDX-Net (a.k.a. v2), MDX23C (archs by kuielab), VR (voice-remover by tsurumeso, versions: 4, 5 [UVR fork], and 5.1), Demucs (by Meta; v. 1-4, only models trained on OG code, not MSST ones), BS-Roformer, Mel-Roformer (arch by Bytedance & implementation from paper by lucidrains; issues on Linux explained later), SCNet, Apollo (in Tools; for upscaling, no DirectML acceleration), BandIt (SFX, no DirectML support). It has also a feature of ensembling models of various archs. If some models don't appear on the ensemble list reach the appropriate section below (or rich the document outline in options). Demudder functionality added in newer UVR patches (currently not on Linux and MacOS). Models for Roformers/SCNet/Bandit arch are located altogether in the MDX-Net menu. Ensembling impossible - model not visible in vocal splitter in UVR - If user-imported Roformers aren't recognized in "instrumental/vocals" in ensemble or in vocal splitter, but are in "multi-stem ensemble": “The .yaml associated with the model usually needs to be updated to match UVR's stem naming conventions. For example, if your config shows the instruments as "other" and "vocals", it will need to be updated to "Instrumental" and "Vocals" (case-sensitive)” - Anjok Memory issues - chunk_size table for combatting “RuntimeError” 'use_amp' “Key error” “”’norm’”” attributeError using e.g. unwa beta 5e model in UVR Layers errors - general TypeError: (...) freqs_per_bands mlp_expansion_facfor "The size of tensor a (484864) must match the size of tensor b (485100) at non-singleton dimension 2" skip_connection torch._dynamo.polyfills.fx [WinError 2] The system cannot find the file specified num_bands System error / file not found Python39.dll RuntimeError: "" - Stable 5.6 OpenCL (DirectML) version of UVR 5 GUI for Windows Supporting AMD and Intel GPUs acceleration but no Roformers yet
- (no longer necessary) Fork of UVR GUI and How to install - support for AMD and Intel GPUs appeared (works only for VR and MDX architectures), Besides W11, also W10 confirmed working, MDX achieves speeds of i5-4460s using 6700 XT, while for VR, speeds are v. fast and comparable to CUDA, so CPU processing might be slower in VR, but for MDX you might want to stick with the official UVR5 GUI. SDR leaderboard & explanation Bleedness and fullness leaderboard Python evaluation script by jarredou (prob. mirror), Torch version (with Bas Curtiz), used on Quality Checker UVR’s VR architecture models First vocal models trained by UVR for MDX-Net arch: 9.703 model is UVR-MDX-NET 1, UVR-MDX-NET 2 is UVR_MDXNET_2_9682, NET 3 is 9662, all trained at 14.7kHz Demucs 3 Demucs 4 (+ Colab) (4, 6 stem) Gsep (now GAudio) (2, 4, 5, 6 stem, karaoke) dango.ai music.ai Iterative Ensemble Colab by IntroC MDX23 by ZFTurbo (jarredou fork) - 2, 4 stems KaraFan by Captain FLAM Ripple/Capcut/SAMI-Bytedance/Volcengine/BS-RoFormer (2-4 stem) >Drumsep - single percussion instruments separation USS-Bytedance (any; esp. SFX) Zero Shot (any sample; esp. instruments) SAM-Audio AudioSep __Sources of FLACs for the best quality for separation process__ ___AI mastering services___ ___Best quality from YouTube and Soundcloud - how to squeeze out the most from the music taken from YT for separation___ List of cloud services with a lot of space or for temporary storage AI-killing tracks - difficult ones to get instrumentals (or vocals) - a lot of e.g. vocal (or instrumental) leftovers in current models Training models guides