Using trained models to separate music into its stems and available as a web application.
Application use Fast API and Demucs model
- Python 3.13
- Homebrew (macOS)
- FFmpeg (version 7.x — required by
torchcodec/torchaudiofor audio decoding)
Install FFmpeg 7 via Homebrew:
brew install ffmpeg@7
brew link ffmpeg@7 --force- Clone the repository:
git clone https://github.com/noeltoms/MSS_WebApp.git
cd MSS_WebApp- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate- Install dependencies:
pip install --upgrade pip
pip install -r requirements.txtuvicorn src.main:app --reloadThen open http://127.0.0.1:8000 in your browser.
Upload an audio file, wait for processing to complete, and download the separated stems (vocals, drums, bass, other).
- The first run will download the Demucs model weights (~300MB+), which are cached locally afterward.
- Uploaded files and separated stems are stored temporarily in
uploads/andoutputs/— both are excluded from version control.