Machine Learning for Raga Classification in Indian Classical Music
Abstract
Indian Classical music consists of “Ragas”. Ragas are combinations of notes in a particular order. There are 72 combinations of these notes that form the 72 parent Ragas. The names of the Ragas are written around the circle while the defining notes of the Ragas are written inside the concentric circles. While Western music also has notes that go with the songs, it differs from Indian music in the rules that Ragas set to a specific song. For example, if someone was to perform a song in Raga #1, they must stick to the notes that are present in that Raga. Otherwise, it is no longer Raga #1. While imposing rules, Ragas also provide a lot of complexity and creativity to the artist. The artist needs to create impromptu variations while staying within the Raga’s boundaries. This difficulty gets intensified when the notes are so close to each other that they can be easily confused. Recognizing a Raga is a whole other ordeal. They can be identified only by a well-trained artist. In addition to this, every single artist has their own style which can be shown while singing or playing instruments. People add their own nuances to make the song their own, while all the time obeying the demands of the Raga. People do not sing the notes of the song. Therefore, we cannot rely on speech to recognize the Raga. People also have different baseline frequencies - child v. adult, male v. female, healthy person v. one with a cold, etc. All the complexity makes the problem of Raga identification challenging and something worth conquering. Ragas can be interpreted as specific frequency-time contours. Each peak in the frequency-time contour corresponds to a note. Each of them can be associated to a person’s mood. This can be especially useful in music recommendation systems. It can also make a huge mark in copyright violation detection systems. Machine Learning and Signal Processing tools will prove to be very effective. Signal Processing will be used to obtain the feature vector for the Machine Learning algorithm while ML will be used to classify the songs into their respective Ragas. The proposed methodology is to use Signal Processing techniques to obtain the feature vector for the ML algorithm and then use this to classify the Ragas. First, Discrete Fourier Transform (DFT) graphs are obtained. These graphs need to be normalized. The feature vectors are obtained, and these consist of smaller vectors. The vectors are the frequencies of the audio sample and its One-Hot encoded label. The Machine Learning algorithm then learns to recognize how close the vectors are to each other and classifies them into groups while outputting the name of the Raga. This method can be extended to any new Ragas that are developed.
Citation
Chinthapenta, Pranati (2019). Machine Learning for Raga Classification in Indian Classical Music. Undergraduate Research Scholars Program. Available electronically from https : / /hdl .handle .net /1969 .1 /194515.