Vishwamohini Script, or, Playing the Tabla with JavaScript

When it comes to playing music from a web browser, I’m a big fan of MIDI.js. From Symphony of Satellites (demo) to Mario for the Blind (demo), MIDI.js is a wonderful way to manipulate audio with JavaScript.

A few months ago, I received a nice message from Shivraj Sawant from Pune, India, founder of Vishwamohini, a website promoting Indian Classical Music. He had a number of questions about manipulating soundfonts, specifically inquiring about the use of the tabla (an instrument I had never seen played through MIDI.js. Together we dug up an old tabla.sf2 soundfont (from the frenetic Oslo Laptop Orchestra) and converted it to a format compatible with the browser.

The result is amazing. Shivraj, using “Vishwamohini Script”, built a compiler that takes textual tabla music notation (e.g. [D2(---K3D8)|D2N1|-D1|D2N1|D2N1|D1T4|D1D1|T2N1][tabla]), converts it into Sanskrit (e.g. गान्धार ऋषभ ), and plays the result right in the browser.

Give it a spin at http://vishwamohini.com/music/demo-tabla.php.

http://vishwamohini.org