Recent Articles

Implementing CSP channels using Promises

Jan 25, 2014   #Promise  #CSP  #Future  #Asynchronous  #Clojure 

Promises are the new old thing in the land of Javascript async abstractions, though they aren’t as good as CSP-style channels for async programming. In this post, I describe a channel implementation based on promises that attempts to bring some CSP-style programming abilities into the JS world … now, instead of in ES6.

Read More ...

Anchoring time in the body - 2nd edition

Oct 3, 2013   #Tala Keeper  #Metronome  #Layam  #Training 

In part-2 of How to Practice Carnatic Music with a Metronome, I described some beginning exercises for the vina that combine meditation with practice of basic right hand plucking techniques that need early mastery. I described five such exercises for anchoring the flow of musical time in the body through breathing.

One problem with having so many exercises is that it isn’t clear to beginner students which one to pick that’s right for them .. and, to be fair, neither did I have a clear idea of which one would be good for beginners – if I were to pick one. Now that some time has passed since I came up with those exercises and some students have had the chance to try them out, I do have a better idea and I can suggest one.

Read More ...

How to practice Carnatic music with a metronome - Part 3: Role Inversion

Sep 29, 2013   #Tala Keeper  #Metronome  #Layam  #Training 

Status: Draft

In part-1 and part-2, I covered some very basic techniques for “anchoring time in the body”. In this part, I illustrate a technique for practice that I call “role inversion” with a pallavi as an example.

Read More ...

How to practice Carnatic music with a metronome: Part 2: The (real) basics

Sep 12, 2013   #Tala Keeper  #Layam  #Training  #Metronome 

Status: Draft

Part 1 presented internalizing “layam” or musical time as the practice goal for working with a metronome. In the course of teaching vina, I realized that practice with a metronome already requires a sense of time and if this has not been nurtured initially, it can lead to an aversion to practicing with one to gain mastery over time and an unhealthy reliance on it, even if warned as I did with Part 1.

Read More ...

How to practice Carnatic music with a metronome - Part 1: The Basics

May 25, 2013   #Tala Keeper  #Metronome  #Layam  #Training 

Internalizing the flow of musical time, known as “layam”, is an essential aspect of the training of a student of Carnatic music. Though the adage “sruti mata, laya pitah” (“pitch is the mother and time is the father”) is oft repeated, what we find in practice is that a reference for the sruti (tonic) is recommended for and always used by even beginner students, but a comparable reference for time in the form of a metronome is almost never seen.

Read More ...

Fun with nine nadais

May 22, 2013   #Tala Keeper  #Metronome 

Here’s something fun done in Tala Keeper - a walk through of Nine Nadais in one big 36 beat cycle. If you’re viewing this on your iOS device, tapping that link will open it in Tala Keeper. If not, the pattern will play in another browser window in the free HTML5 simulator.

Read More ...

Tala Keeper 1.3.0 released

Mar 13, 2013   #Tala Keeper  #Metronome 
Tala Keeper version 1.3.0 is the first public release of a visual metronome for practicing music involving complex (or simple) time structures.

Taming the ScriptProcessorNode

Jan 30, 2013   #Web Audio API  #ScriptProcessorNode 

The Web Audio API provides graph based API for audio generation and processing primitives with a focus on high performance and low latency. For custom processing that is not covered by the builtin native audio nodes, it provides a ScriptProcessorNode whose processing is determined by a Javascript function. Though the ScriptProcessorNode is presented like any other node type by the API, its behaviour differs from the other native nodes in some fundamental ways. This post examines some of these differences using a simple chime model as the use case, and derives some suggestions for the Web Audio API specification.

Read More ...

Exploring graha bhedams

Dec 30, 2012   #Graha bhedam  #Shruti bhedam  #Carnatic music  #Raga 

Here is a demo web app for exploring rāgās and their bhēdams.

Read More ...