tabla practice

selected Shabads -play along here

📅 april 6th, 2022


This is a very quick post to share asmall websiteI made in early 2020. I am an amateurTablaplayer - we run a class for tabla beginners atKhalsa Gurmat Center,a local community center frequented by Sikh families.

A typical class is for an hour on Sundays. We meet in person, sit in a semicircle, and practice accompaniment of Sikh Kirtan singers. Because of the pandemic, we had to stop in-person classes for over a year. As I write this, it's April 2022 now - we're back in person with masks & a hybrid remote component.

But for most of 2020 and 2021, we found remote Tabla classes difficult. I know of many serious players who teach and learn Tabla remotely, so it's possible - but in our context it was hard. For many of us, especially the youngest students, transitioning to a remote setting at all was a challenge - handling new stressors, finding empty rooms at home, setting up a microphone, etc. But our focus on beginning accompaniment presented additional challenges. Over a Teams call, it's tricky to work on timing together - playing simultaneously is nearly impossible because of the latency.

To help ease the transition, I tried making a website to share lessons with the class and also to supplement practice with Kirtan singers.

the website

The most interesting thing about the website is the "Play along" functionality. This is actually the only page now (the old lesson content was simple text paragraphs and has since been removed).

The basic idea is that you can practice playing along with videos of very talented Kirtan performers. The website has a small list of compositions and tells students the correct rhythmic cycle to play. For instance, the first composition (ਐਸੇ ਲਾਲਨੁ ਪਾਇਓ ਰੀ ਸਖੀ ॥੧॥ ਰਹਾਉ ॥) is performed by Guneet Kaur Ji.

Alongside the rhythmic cycle (in this case, deepchandi - 14 beats), the individual bols (beats) are listed. If you skip to the middle of the video, the current beat is highlighted. This way students can follow along and find their place.

We used this to help practice accompaniment at home. I had plans to add more compositions, but didn't get around to it. For some entries, I just included the name of the rhythmic cycle instead of the full visualization. We discussed those over a Teams call to make sure everyone was on the same page.

how it works

This was a quick project so the implementation is not complex. We first manually split each video into rhythm portions with a sentinel (0 BPM) to indicate silence. See an example below:

const portions: RhythmPortion[] = [
        beatsPerCycle: 14,
        beatsPerMinute: 165,
        startTime: 93.25,
        beatsPerCycle: 14,
        beatsPerMinute: 0,
        startTime: 847,

This example has a single meaningful rhythm portion - a 14-beat cycle begins at 93.25 seconds into the video at 165 beats per minute. It goes until 847 seconds, at which point the rhythm stops. In this composition, Guneet Kaur Ji likely used an electronic Tabla app so the rhythm was stable. In other compositions with human Tabla players, the tempo increases and decreases naturally over time. I added new rhythm portions to match in those cases.

As the video plays, we keep track of the current timestamp. We calculate which rhythm portion is in progress using the timestamp. Then we calculate which beat is in progress using the beats per minute for that portion.

Now that we're back in person we don't use the site as often anymore; but I figured I should write something up before I forget. If I get time it'd be nice to add more compositions and explore auto-annotation.

You can find other posts and contact infohere.