Indian Classical Music is a type of music which gives a wide scope for mathematical analyses. Before reading this article, we assume that you have a preliminary knowledge of Indian Classical Music and it’s basics. It will be exciting and you will be amazed how music and computers are linked together by the means of mathematics.

## Objective of this article

This article aims at building a technique which helps to retrieve basic attributes of a Raga through a 7 digit code.

Before I start, I should say that this technique is based on the older system written by Mr. Bhushit Joshipura. It follows the same pattern. I have just tweaked and tuned it to eliminate some of the limitations that I found. It still has limitations but that can be tuned up later as well. Firstly, let me specify it’s differences from the older system:

- The earlier system used to retrieve only the Aaroh-Avroh whereas this system will not only retrieve Aaroh-Avroh but also the Thaat, Jaati and Vadi-Samvadi of a Raga.
- This system uses Binary with Hexadecimal Number Systems whereas the old system used Binary with Octal Number System.
- The older system used to generate a four digit number for every Raga whereas this system will generate a seven digit key (numeric & alphanumeric characters).

I have also developed the program in VB.NET which implements this technique. You will see the screenshots of this program at the end of this article.

Before we start implementing the main part, we first have to develop our own number system which has Musical Information stored in it. Below are the three tables that I have designed. These tables have information about Notes (Swaras) , Jaatis and Thaats.

__Notes Table__

INDEX (Starting from 0) | Note (Swara) |
---|---|

0 | Sa |

1 | Re (K) |

2 | Re |

3 | Ga (K) |

4 | Ga |

5 | Ma |

6 | Ma(T) |

7 | Pa |

8 | Dha(K) |

9 | Dha |

10 | Ni(K) |

11 | Ni |

In this table, every note has an index starting from 0.We are going to use this index during conversion later.

Similarly, below is the table for Jaatis.

__Jaatis Table__

INDEX (Starting from 0) | Jaatis |
---|---|

0 | Audav-Audav |

1 | Audav-Shadav |

2 | Audav-Sampurna |

3 | Shadav-Audav |

4 | Shadav-Shadav |

5 | Shadav-Sampurna |

6 | Sampurna- Audav |

7 | Sampurna-Shadav |

8 | Sampurna- Sampurna |

In the same way, the Thaats table below.

__Thaats Table__

INDEX (Starting from 0) | Thaats |
---|---|

0 | Yaman |

1 | Bilaval |

2 | Khamaj |

3 | Aasawari |

4 | Bhairavi |

5 | Todi |

6 | Bhairav |

7 | Purvi |

8 | Marwa |

9 | Kafi |

#### Now the real work starts....

###### Grouping

In the older system, we used to divide the twelve Notes (swaras) into 4 groups of 3 notes each. In this system, we are going to divide 12 notes into 3 groups of 4 notes each which is as follows:

Group 1 |
---|

Sa Re(K) Re Ga(K) |

Group 2 |
---|

Ga Ma Ma(T) Pa |

Group 3 |
---|

Dha(K) Dha Ni(K) Ni |

Now, we are going to convert them into Binary the same way as we used to do in the old system. Here, we take the example of Raga Bhupali.

Group 1 |
---|

Sa Re(K) Re Ga(K) |

1 0 1 0 |

Group 2 |
---|

Ga Ma Ma(T) Pa |

1 0 0 1 |

Group 3 |
---|

Dha(K) Dha Ni(K) Ni |

0 1 0 0 |

So, we get a binary value of ‘1010 1001 0100’ following the Raga’s Aaroh ‘Sa Re Ga Pa Dha’. Now the final step, we will convert it to Hexadecimal system. The hex values are as follows:

INDEX | Binary Values | Hex Values |
---|---|---|

0 | 0000 | 0 |

1 | 0001 | 1 |

2 | 0010 | 2 |

3 | 0011 | 3 |

4 | 0100 | 4 |

5 | 0101 | 5 |

6 | 0110 | 6 |

7 | 0111 | 7 |

8 | 1000 | 8 |

9 | 1001 | 9 |

10 | 1010 | a |

11 | 1011 | b |

12 | 1100 | c |

13 | 1101 | d |

14 | 1110 | e |

15 | 1111 | f |

###### Theory

By converting the binary value ‘1010 1001 0100’ into hex, we get a value ‘a94’. This code has information about Aaroh only. For Vadi-Samvadi, Jaati and Thaats, we will take the indexes from their respective tables above, find the hex values at those indexes and append them to the final hex value.

For e.g. Bhupali’s Vadi is Ga. From the Notes table above (You will have to scroll up to see the notes table), you will see that Ga is at index 4. So, we will take the hex value at index 4 i.e. ‘4’. Similary, we will take Samvadi’s (Dha) value as ‘9’, Jaatis’s (Audav-Audav) value as ‘0’ and Thaat’s (Yaman) value as ‘0’.

By joining all these values, we will get ‘4900’.

Now we will append this string to the string that we generated for Aaroh-Avroh earlier i.e. ‘a94’.

So the final value will be ‘a944900’. This value is equal to Raga Bhupali.

The earlier system was not suitable for the Ragas having same notes characterization. For e.g. Raga Bhupali and Raga Deskaar have same notes (swaras). In this case, the code generated in the old system was the same for both Raga Bhupali and Raga Deshkar. Whereas, with this system, the codes for both the Ragas would be different. For Raga Bhupali, it is ‘a944900’ and for Raga Deshkar, it is ‘a949401’

The same principle is applied for the Avroh. Basic thing to keep in mind is to exclude Taar ‘Sa’ from both Aaroh and Avroh.

## Screenshots

Below are some screenshots of the program which I have developed to implement this technique.

I hope you like this article.

Special Thanks To:

- Late Dr. S.K. Mullick
- Mr. Bhushit Joshipura