API that hosts the Spleeter neural network for source music separation and uploads and downloads files via REST.
V3.6
V3.7
https://realpython.com/intro-to-pyenv/
python -m venv venv3-8
source venv3-8/bin/activate
pip install -r requirements.txt
Command inside project folder:
python app.py
127.0.0.1:5000/ - GET - Returns a test string in Json format
127.0.0.1:5000/upload - POST - File upload by parameter in Body - "audio" : <nameFile> - and neural network processing:
curl --location '127.0.0.1:5000/upload' \
--form 'audio=@"/home/filipe-borato/Documents/It dont mean i think_ master.mp3"'
127.0.0.1:5000/download - GET - Download the last track processed by the neural network
The Split project is coupled to a plugin I created with the name Boratio, in C++ with Juce Framework, and it's a github project called CompressorAndSplit
this project is a neural network that removes or separates the voice between the instruments
Spleeter uses FFmpeg to decode audio (mp3, wav, etc). Make sure ffmpeg is installed and available on your PATH before using /upload.
- Ubuntu/Debian (WSL/Linux):
sudo apt-get update && sudo apt-get install -y ffmpeg - macOS (Homebrew):
brew install ffmpeg - Windows:
- Using winget:
winget install Gyan.FFmpeg - Or Chocolatey:
choco install ffmpeg - Ensure the
binfolder (containingffmpeg.exe) is added to your PATH.
- Using winget:
Verify installation:
ffmpeg -version
Restart the Flask server after installation.