This repository contains code for an end to end model for raga and tonic identification on audio samples
Note: This repository currently only contains inference code, the training code and lots of experimental code can be accessed here: https://github.com/VishwaasHegde/E2ERaga However it is not well maintained.
Requires python==3.6.9
Download and install Anaconda for easier package management
Install the requirements by running pip install -r requirements.txt
- Create an empty folder called
model
and place it in CRETORA folder - Download the models (model-full.h5, hindustani_tonic_model.hdf5 hindustani_raga_model.hdf5, carnatic_tonic_model.hdf5 carnatic_raga_model.hdf5) from here and place them in models folder
- I dont have the permisssion to upload the datasets, the datasets has to be obtained by request from here: https://compmusic.upf.edu/node/328
E2ERaga supports audio samples which can be recorded at runtime
Steps to run:
- Run the command
python main.py --runtime=True --tradition=h --duration=30
- You can change the tradition (hindustani or carnatic) by choosing h/c and duration to record in seconds
- Once you run this command, there will be a prompt -
Press 1 to start recording or press 0 to exit:
- Enter accordingly and start recording for
duration
duration - After this the raga label and the tonic is outputted
- The tonic can also be optionally given by
--tonic=D
for specifyD
pitch as the tonic.
E2ERaga supports recorded audio samples which can be provided at runtime
Steps to run:
-
Run the command
python main.py --runtime_file=<audio_file_path> --tradition=<h/c>
Example:
python test_sample.py --runtime_file=data/sample_data/Ahira_bhairav_27.wav --tradition=h
-
The model supports wav and mp3 file, with mp3 there will be a delay in converting into wav format internally
-
After this the raga label and the tonic frequency is outputted
Demo videos:
(Click will redirect to youtube)
Acknowledgments: