Karaokey is a vocal remover that automatically separates the vocals and instruments. A deep learning model based on LSTMs has been trained to tackle the source separation. The model learns the particularities of music signals through its temporal structure.
The model is trained using PyTorch and deployed using Flask.
The models are trained using the MUSDB18 dataset, here is the link to MUSDB18 dataset. More information about the dataset can also be found at sigsep.io.
Use the package manager pip to install all dependencies needed for Karaokey.
Libsndfile and ffmpeg is needed for audio processing.
For linux run this command
sudo apt install -y libsndfile1 ffmpeg
For windows To install libsndfile and ffmpeg we will have to use conda environment alternatively you can also follow the instructions on libsndfile.
conda install -c conda-forge ffmpeg libsndfile
pip install -r requirements.txt
The versions mentioned in this files are tried and tested. The application was tested on this versions.
pip install -r requirements-versions.txt
If you want to train the models on GPU please install these dependencies. Cuda based GPU dependencies are mentioned in this file, however if you want to install any other ones please have a look at PyTorch's installation guidelines.
pip install -r requirements-gpu.txt
Note: If you get any error while running the scripts of application, please try and install the versions used "requirements-versions.txt" the versions mention in this file is tried and tested.
If you want to run Karaokey application using the trained model. Please follow following steps. Make sure you have all dependencies installed. Setting the flask environment variables.
env FLASK_APP=./application/__init__.py
Run flask app
flask run