{{sj.appName}} - A machine improvisation system for vocals and tabla

Ajay Srinivasamurthy, Swapnil Gupta, Sankalp Gulati, Kaustuv Kanti Ganguli
Music Technology Group, UPF, Barcelona

During Hindustani music concerts, it is common to have a call-response improvisatory passages between musicians, called a sawaal-jawaab (literally, question-answer). Such an improvisation is done within the framework of a specific taal, the rhythmic framework of Hindustani music. Here is such an improvisation system - with the call being the vocal recitation of tabla syllables (bols) and the response is an automatically generated tabla composition. The response is generated as an improvisation of the call using timing, rhythmic and timbral features from the call, exploiting the onomatopeioc nature of the tabla bols.


  1. Works best on Google Chrome and Firefox. When the page asks for microphone permissions, select "Allow" on Chrome and "Always share" on Firefox, and then reload the page again.
  2. Use the tempo slider to set a tempo. Select the taal (metrical cycle) from the dropdown.
  3. The metronome audio clicks mark the vibhaag (sections) of the cycle. The sam (downbeat) has a different click. The sam is shown with the red dot, with the beats blinking in green.
  4. Click and hold down the record button, the system starts recording from the next sam to record your sawaal
  5. Release the record button and wait for the response. The response is also aligned with the sam and starts on the next cycle.
  6. Repeat as many times you want, improvise with the system!

180 beats(matras) per minute

Select Taal:

Taal cue:

Sama         Beat


Loading data ... Please wait!!

Additional description can be found at HAMR 2015 wiki
Code can be found here