Automatic Gamakam generation by Computer

Ever since I released Gaayaka, suggestions have been made that the software should itself generate the appropriate gamakam (instead of the user being required to write detailed notation for the nuances - or copying and pasting from the Gamakam notation help in the software). The question asked was - when a musician is able to sing with proper gamakams by looking at the skeletal notation, why could the computer not do it.

In fact many middle level musicians find it difficult to sing a krithi from notation. Even among those who can do it the renderings may differ from one another. When a musician sings from the notation a kriti which he has never heard before, he uses his knowledge of the nuances of the raagam from the varnams and the kritis he has been singing. In case of a new raagam or a less popular melakartha raagam, he borrows the nuances from the parent raagam or the general way certain swarams are sung in carnatic music.

The gamakam applied to a note depends upon its context in which it occurs. Gamakams differ considerably depending upon the duraton of the note (which is the reason why different notations are given for different duration ranges in Gaayaka for copying and pasting for common raagams). The Gamakam also depends upon whether the note is in the Arohanam or Avarohanam or there is a turn at the note, whether it is followed or preceded by silence etc.

Each raagam therefore, requires a database of notation for Gamakams for each note for different contexts, which can be replaced in the skeletal notation by the program before Gaayaka plays it. The approach is akin to the 'Expert System' concept in 'Artificial Intelligence' branch of Computers, though somewhat simpler. I have been attempting this recently. I had to do lots of experimenting before deciding the parameters for the database and I found that building the data base for a raagam itself is very laborious (and often frustrating). Here we are not dealing with (say) an accounting system where if the output is right then the system is acceptable. Here the output is music which may be approved by some and may be rejected by others! Nevertheless, I have attempted this for about a 16 raagams. In many cases (especially varnams) the output seems to be quite satisfactory.

My paper, explaining the issues involved in such an attempt, has been published in 'Sangeet Natak'.Volume XLIII, No.3,2009 pp.28-36. (I can send a copy of this paper to any interested reader).

The program does not straightway play the gamakam, but generates revised notation which can be played in Gaayaka. In some cases alternatives are provided, which can be chosen by the user.

Click here to go to the instruction page for downloading the program, gamakam definition files for 16 raagams and a newer version of Gaayaka.

I have also created a web site where I have provided audio examples of music generated by Gaayaka from bare notation and the music generated after the nuances were added by the software from the database. The bare notation and the notation generated applying the gamakams are also given in the web site. The web site is:

Comments are welcome to