Friday, December 25, 2009

Back in Business

After all, this blog isn’t dead! This post has been long due, and as Rajaganesh pointed out, I was almost forced to believe that it was the aftermath of the previous post about Dasavatharam, that has augured ill for my blog. It almost seemed destined that 2009 would pass with no blog posts of mine, but to my own amazement, it wasn’t to be. Anyway, here it is, up and running, and that’s good news to me, and a few others, who like this blog.

I intend to keep this post short and simple, and I promise not to go on a rambling spree. A lot of things have happened in this period where my blog has been dormant, things good and bad. A very recent development that has come into existence this semester is the weekly meeting session at Mohan’s place. But weekly in this case weakly means daily. Topics ranging from Indian politics to West Lafayette politics are discussed in great depth, and by the time one realizes, it's past midnight. Anyway, if I said that these sessions have served to improve my culinary skills, I wouldn’t be lying.

Another important development is that I finally managed to finish building my ‘Raga differentiator’, a project coded entirely in C++, although I did use Matlab as well. Sources close to me will confirm that I have been working on this one for about 2 years now. To think that I have solved one of the very challenging problems in machine vision/pattern recognition gives me great delight. I am going to be shamelessly boastful of this achievement.

I will now throw some light on what this project was all about. Given that I am extremely interested in Indian Carnatic Music, I have always dreamt of building a machine that takes in two ‘ragas’, or tunes, and is able to say whether or not they match. For instance, the system should be able to differentiate ‘Amma Endru Azhaikatha’ from Mannan, which is based on Kalyani from ‘Raasave Chiterumbu’ from Walter Vetrivel, which is based on Lathangi. This can be compared to a simple pattern recognition problem, using simple feature vectors. I love writing elegant code, and always strive to code ‘lightly’, making it easy for the user to understand. I thus came up with an incredibly simple, but effective algorithm to tackle this problem. You can click here to have a look at the deceptively simple code that solves this problem: takes in two ragas and is able to differentiate between them. ;)

Finally, I also realized that I am a linguist. Apart from Tamil, English and pseudo Hindi, I was able to follow Malayalam, Kannada and Telugu very well – really! I am NOT lying, and I was able to realize this when I watched ‘Pushpaka Vimanam’ in Malayalam, Kannada and Telugu, without the need for any prompting or subtitles! And I am so thrilled at my ability to learn all these languages in such a short span of time.

Anyway, till I meet you all in my next posting, BYE!