Final Project: The Raga Machine

The Raga Machine:

The final project for this class was one of the most fulfilling projects that I have worked on all semester. Having undergone 10 years of training in Carnatic music and having sorely missed practicing it for the last three years, this project was a fun way to reconnect with it. Based on Carnatic ragas, my project  was designed to be an eight-key keyboard that could play a variety of ragas (five, in this case). A raga, for context, as a particular combination of notes that songs are composed in. For example, if raga A contains the notes Do-Re-Mi and Mi-Do-Re, then a song composed in raga A will only contain those notes and in that order. I think the Western equivalent of this is a key, but I’m not sure. Ragas are generally divided into two kinds: Melakartha ragas, and Janya ragas. Essentially, Melakartha ragas contain all eight notes that can be sung in any order. Janya ragas (derived from Melakartha ragas) generally have more rigid rules. I used five Melakartha ragas in my machine. If anyone is interested in learning more about how this system works, here are some resources:


Here is a table of all the 72 Melakartha ragas:

Building this project took a lot more work than I envisioned, but I am extremely happy with the way it turned out. Here is a brief breakdown of how I made the Raga Machine over the last two weeks.


My first prototype of the project involved no Arduino aspect at all. It simple involved keys on the keyboard (from ‘z’ to ‘,’) that played one note each.I wanted to take it slow (since we had two weeks to work on it) and see what elements I could get up and working just on Processing.

In the second prototype, I included Arduino buttons. I had eight buttons, and I had each button play a single note that would then change its pitch according to which raga was being played. For both these prototypes, the raga would be changed based on the mouse position.

The visuals for each corresponding raga was something that I had continually struggled with envisioning. For a while, I had each button draw an ellipse of a certain size, with raga determining the color. It looked something like this:

I then changed the visuals to draw various henna/mandala patterns instead of ellipses, but still in random positions with size and color being controlled the same way as before. I was still unclear on what the best course of action was, but luckily, it was time for user testing.


Here are the notes I made after my user testing session:

“Even though my project is still missing its decoration component as well as refined visuals, having my friend (who didn’t know what my project was about) come test it out gave rise to some incredibly useful feedback. Here are some of the things I learned and plan to work on:

  1. My project is about Carnatic music, but not many people at this school are aware of what that is, and even if they are, would probably not be able to tell that the project is in fact based off the raga system. My user felt that without context, the project was confusing and vague.
  2. To this end, she suggested making an informational page in the beginning of the project, helping people understand situate the project in some sort of context.
  3. My user also suggested that I label the parts of the musical instrument, but on understanding that I was planning to create a keyboard-like structure for the instrument, she thought that it might need lesser labelling than she originally thought.
  4. She also thought that my visuals were random and confusing, and suggested that the visuals have more to do with the physical input that the user is doing. In line with that, I have changed my visuals to reflect the exact position of the key that the user is pressing at any given moment.”

This feedback turned out to be extremely helpful.


The final product, based on the feedback that I had received both during the user testing session and on the day before the IM show, included vastly different visuals and a pretty, compact box within which the Arduino lay. The keys were made out of popsicle sticks, which then pressed down on the buttons. I thought they would be a drawback but it turned out that a lot of people had fun with them — the idea that they were creating music by pressing down popsicle sticks was entertaining and interesting to them. I also had to add another piece of cardboard atop the structure so that the keys wouldn’t come off the structure.

In addition to these changes, I also added an info page at the beginning, which GREATLY helped during the show to contextualize the entire project. The visuals, too, were labelled with what raga was being played at that moment, which also helped greatly to contextualize the project. Here are two videos, one documenting the info page, and the other documenting a young boy playing the instrument:

Info page:


The Instrument:

In hindsight, I think that one of the main components that the project was missing was a signifier. Although most people intuitively understood that the popsicle sticks were meant to function as keys, others would try to pull them out or play them as they would an actual piano. The problem with this was that the popsicle sticks would generate the best sound when pressed where the black dot was, but that wasn’t clear enough of a signifier to make people press that spot immediately. I must say, though, that the visuals helped. Because I changed the ellipses to reflect the position of the key that was being played at the moment, people were much more easily able to grasp what exactly was going on.

All in all, I received extremely good feedback from the visitors at the IM show, and an unexpected number of people were truly interested in learning more about Carnatic music. That, to me, is surely the biggest accomplishment of the project.

As always, major thanks to Nahil and James and Aaron for all the help!