StemSplitter is a powerful and efficient server designed for separating audio tracks into their individual components, such as vocals, drums, and instruments. Leveraging the capabilities of the Demucs deep learning model within a Flask-based framework, this server provides an API endpoint for processing audio files.
- Advanced Audio Separation: Utilizes the state-of-the-art Demucs model for accurate and efficient audio track separation.
- Secure API: The server offers a secure API endpoint for uploading audio files and receiving the processed output.
- Docker Integration: Containerized with Docker for easy setup, deployment, and scalability.
- Customizable: Easy to modify and extend based on individual project requirements.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What you need to install the software:
- Docker
- Python 3.8+
- pip (Python package manager)
-
Clone the Repository
git clone https://github.com/jinoAlgon/StemSplitter-Audio-Separation-Server.git cd StemSplitter
-
Build and Run the Docker Container
docker build -t audio-server . docker run -p 5000:5000 audio-server
The server will start running on localhost
at port 5000
.
To separate an audio file into stems:
- Send a
POST
request tohttp://localhost:5000/separate
with the audio file. - Receive the processed file as a zip containing the separated tracks.
Example using curl
:
curl -X POST -F "file=@path_to_your_audio_file.mp3" http://localhost:5000/separate -o separated.zip