MSST Tutorial: how to make high quality instrumentals using Google Colab (and acapellas)
0. Introduction
I've always wanted to get the stems of a song for a remix or a mashup. With improvements in technology, separating elements of a song is now possible with machine learning or simply AI, leading to many stem separation software and websites varying in quality. In late 2024, unwa and becruily created one of the best models for making isolated instrumentals using the Mel-Band Roformer architecture, which might be eventually available to run locally on your computer with UVR5 (Ultimate Vocal Remover), or online with mvsep.com or x-minus.pro.
- https://github.com/ZFTurbo/Music-Source-Separation-Training/
- https://github.com/jarredou/Music-Source-Separation-Training-Colab-Inference
However, this guide will focus on the Colab inference of ZFTurbo's Music-Source-Separation-Training project made by jarredou, that allows you to make clean instrumentals of songs using Google Colab's free GPU resources.
unwa's Instrumental models are now available in mvsep.com under the Mel-Band Roformer category. Make sure to log in for a faster queue and uncompressed output! And also, join the Audio Separation Discord Server for the latest updates: https://discord.gg/Mz7fUvPNAD
1. Upload files to Google Drive
- Upload all the files you want to process into a single folder on your Google Drive.
- It is recommended to get a lossless copy (WAV/FLAC/AIFF) of the songs to get the highest quality results. This isn't a piracy guide so search it up on how to get them yourself. Don't even try ripping lossless from YouTube (I'll beat you up if you do :3)

2. Start Colab session
- Open the following notebook: https://colab.research.google.com/github/jarredou/Music-Source-Separation-Training-Colab-Inference/blob/main/Music_Source_Separation_Training_%28Colab_Inference%29.ipynb
Tip: if you somehow don't trust this notebook, you can skip connecting to Google Drive and just upload files to Colab directly and download them with the file manager. Transfer speeds might be slower though.
- Run the Gdrive connection cell and follow the steps.


- I'm not gonna show every step but if you've successfully followed it, you should get this message.

- Run the Install cell and wait.

3. Locate your files
- Open the file manager with the icon on the left pane, and locate your input files. Click ⋮ or right-click the folder, then click Copy path.

One common mistake I've seen is copying the path of the file itself, which this Colab notebook doesn't support yet. You must put the file in a folder first, then copy the folder's path!
- On the Separation cell, paste the path on
input_folder. Change youroutput_folderif needed. If the output folder doesn't exist, it'll automatically create it for you.

4. Configure settings

-
model: There are many models you can pick, and it's best if you experiment with what model works well for your input:
RECOMMENDED - Best overall model:
INST-VOC-Mel-Roformer deux (by Becruily)- I highly recommend this model since it outputs both instrumentals and acapellas with the best balance between fullness and bleedless, without having not much vocal bleed.- IMPORTANT: if you're using this deux model, make sure to disable the
extract_instrumentaloption to avoid having a duplicate file with worse quality!
Other models for making instrumentals:
INST-Mel-Roformer-v1e (by unwa)- A model that's focused on emphasis with the fullest-sounding instrumental, at the cost of having more noise. If you want less noise, you can use the alternatev1e+model instead.INST-Mel-Roformer INSTV8B (by Gabox)- A good alternative tov1e+if you don't like the noisy output, having less noise while not sacrificing fullness that much. However, it also seems to keep vocal chops/FX with some songs. It's a good option if you want to preserve vocal chops/FX in the instrumental, but it's not that perfect.INST-Mel-Roformer Inst_Fv8 v2 (by Gabox)- Basically a more fuller version ofV8Bat the cost of having more noise. It could be preferrable tov1ein some cases.
Other models for making acapellas:
VOCALS-Mel-Roformer big beta 6x (by unwa)- This model aims to capture most of the vocals without introducing noise. If you're not into the noisy sounding output from previous models, this model has the cleanest output.VOCALS-MelBand-Roformer (by Becruily)orVOCALS-Melband-Roformer BigBeta5e (by unwa)- Another option that aims for fullness. Like the instrumental models, these models also tries to emphasize the vocals, which can make it sound noisy.
- extract_instrumental: Leave this on so you'll get both the acapella and instrumental. Don't use this if you're using the
dualityordeuxmodel since you'll just get a duplicate output. - export_format: You have 3 options:
wav FLOAT,flac PCM_16, andflac PCM_24. I recommend pickingwav FLOATfor the best output, since it'll give you more volume headroom (it allows audio to exceed 0dB so you can fix clipping easily). However, you can also useflac PCM_16if you want to reduce file sizes without much audible difference. I findflac PCM_24to be useless in most cases, and would rather go forwav FLOAT. - use_tta: Enables Test Time Augmentation, which will do 3 passes to slightly improve quality. Personally I'll leave it off, since it'll just take 3x the time.
- overlap: This helps improve separation quality slightly. Higher overlap might give better results at the cost of slower processing speeds. I'll go for 8 if I'm only processing a few tracks.
- chunk_size: Leave it at the highest possible option, unless you're getting some memory errors in Colab.
5. Separate and wait
- After configuring it, run the Separation cell and wait for it to finish.


- Once it's finished, you should be able to find your output files on Google Drive.

Note: for some reason, the filenames are swapped when using some of the older INST-MelRoformer models, with the _instrumental file being actually the vocals. I don't know why lol
IMPORTANT
- Don't forget to disconnect your Colab runtime once it's done by going to
Runtime>Disconnect and delete runtime. It'll help you avoid hitting Google Colab's GPU usage limits so you can process more songs next time.
