Bharatanatyam is a type of classical Indian dance. It is the oldest of these art forms and is still widely practiced today. In the times of ancient India, dance and music were a vital part of theater works. As a result, the word "natya" means both "dance" and "drama." Similarly, bharatanatyam includes both pure dance and expressive story-telling.

The goal of this project is to show bharatantyam steps in a fun and interesting way. The music is AI-generated and the dancer follows the music. The user may view the dancer's motions with PoseNet to study the pose or with BodyPix to study the body parts. Both PoseNet and BodyPix are from ml5.js. The music is generated using Magenta.js and is powered using Tone.js.

Scroll down to get started!

Option menu


Change the key of the music using the controls below. Default is C major.

Major Minor


Choose which step you would like to see. Click "loop the step" to see the step continually repeated. Click "Auto-choreograph" to see a choreography starting with the step you choose. Default step is Thattadavu #1. Default mode is auto-choreograph.


Which version of Natya*ML do you want?

BodyPix solo Version BodyPix Webcam Version PoseNet Webcam Version

Loading model...