karaokey
karaokey copied to clipboard
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 particu...
Karaokey
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.
Dataset used to train the model
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.
Installation
Use the package manager pip to install all dependencies needed for Karaokey.
Installing libsndfile and ffmpeg
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
For latest dependencies run
pip install -r requirements.txt
For stable dependencies run
The versions mentioned in this files are tried and tested. The application was tested on this versions.
pip install -r requirements-versions.txt
For latest dependencies for gpu run
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.
Running the Flask Application
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