Indian Scales

Posts: 28
Joined: Sat Sep 11, 2010 12:12 pm

Indian Scales

Post by garyinthailand »

The other thread has gone off in another direction, so I'm starting one specifically for this topic.

Jesse, I'm making progress on a list of scales for you. Also, I've gotten a much better handle on what's wrong with the current list.

* The note names are really completely bogus. The scales that sound are generally correct, but the note names just don't follow, it makes it look highly incorrect and is confusing.

* No surprise that the list given is a small subset of documentable Indian scales. However, the selection seems highly arbitrary. Many of the most popular and commonly played scales are not listed at all, making the list not so useful for someone actually interested in the music.

I've got a handful of questions I need you to address before I can give you a useful document:

* How many scales do you want in this category? I've now got documentation on well over 1,000! I suspect you don't want them all. I'm getting some help to vet to the more commonly recognized and played. If I have some idea of a reasonable number it will help that process.

* What's a good form to give you the list in? A text document with scale degrees listed numerically? I can do that. (I really don't want to deal with Scala right now.) Also, I want to leave intonation issues in your hands.

* Do you want to incorporate scales that are asymmetrical in ascending and descending forms and/or have changes in direction? A high proportion of scales in use fit one or the other description. If you can do these features, it will look good to those versed in art.

There are a whole lot of Indians in the world, and I have the idea that if you do this well it could help sales. Give me some input, and I can give a good working list.

Gary(in Thailand)

Posts: 12
Joined: Tue Dec 22, 2009 10:03 pm

Gary, the Scala format is

Post by ListTowardsLight »

Gary, the Scala format is extremely simple. It's just a header, ! at line beginnings to denote comments, and tones listed either as ratios of integers or integer/floating numbers representing cents. A few examples:

! persian-far.scl
Hormoz Farhat, average of observed Persian tar and sehtar tunings (1966)


! persian-hr.scl
Hatami-Rankin Persian scale

Troublesome software not needed, just a text editor. :)

Posts: 28
Joined: Sat Sep 11, 2010 12:12 pm

Thanks. Can I use note names

Post by garyinthailand »

Thanks. Can I use note names or numbers, devoid of tuning info? I'm not dealing in intonation here.

Or maybe I could get the house "just intonation" scale that I asked about in the other thread.

Posts: 28
Joined: Sat Sep 11, 2010 12:12 pm

Took another look at Scala.

Post by garyinthailand »

Took another look at Scala. It really doesn't seem appropriate for what I'm doing, other than for testing.

* It's intonation-centric. What I need to deal in are scale degrees, not the tuning of each note. Somebody else can worry about that.

* One file per scale is going to make for slow going. I have hundreds of real-world scales to document.

* I don't see a way to deal with "asymmetric" scales, that have different notes ascending and descending, other than to make two files according to some naming convention.

Here's the sort of thing I've been doing so far. Actually, it's just a variant on the native Sa-Re-Ga notation. These commonly-used scales are asymmetric and non-linear.

Ataana 1 | 2 | 4 | 5 | 7 | 1’ 1’| 7 | 6 | 5 | 4 | 5 | 3 | 2 | 1
Bhairavi 1 | 3 | 2 | 3 | 4 | 5 | 6 | b7 | 1’ 1’| b7 | 6 | 5 | 4 | 3 | 2 | 1

Maybe somebody who's into that sort of thing could write a filter to turn these lists (or Sa-Re-Ga lists, which are all over the internet) into an archive of Scala files according to a defined intonation. That would be useful.

User avatar
Posts: 1050
Joined: Tue Dec 15, 2009 3:25 am

I will respond a bit later

Post by Jesse »

I will respond a bit later with details on another format that TJ supports that might be more appropriate.

As for the asymmetric scales, for now I would just treat them as two separate scales and use them in a split screen setup (future feature). Determining whether you are going up or down automatically is not going to be generically possible. It would if you were dragging a finger around yes, but if you lift to play a new note, no go, especially given multiple simultaneous touches.

Yes, I could make a script to convert your format into one of mine... so that is an option.

User avatar
Posts: 1050
Joined: Tue Dec 15, 2009 3:25 am

Here is the Just intonation

Post by Jesse »

Here is the Just intonation I'm using: 1/1 16/15 9/8 6/5 5/4 4/3 45/32 3/2 8/5 5/3 16/9 15/8
Here is the Pythagorean intonation: 1/1 256/243 9/8 32/27 81/64 4/3 729/512 3/2 128/81 27/16 16/9 243/128

But I agree, you don't want to have to deal with that for your purposes.

What you want to use is the custom XML format that TJ uses internally (and can be uploaded currently along with scala). It is heretofore undocumented, but here is a simple example. It supports a shortcut notation which was available in the database specifying which notes in the 12-tone set are in the scale. But they are a little tricky to generate.

The pitchset attribute you see down there is the key, it is a the number that represents the binary bits of the notes in the scale. An easy way to do it is assigning the proper number to each semitone and adding them up to get the number to put in the pitchset. Notice that these are semitone numbering not whole tone like you appear to be using in your examples above.

1 = 2048
2 = 1024
3 = 512
4 = 256
5 = 128
6 = 64
7 = 32
8 = 16
9 = 8
10 = 4
11 = 2
12 = 1

For instance, if your scale is 1 3 5 9, you just add up (2048 + 512 + 128 + 8) = 2696 and put that in as the pitchset attribute.
The tuning attribute lets you pick between "equal", "just", or "pythag". If you don't include a tuning tag it default to equal.
The tags attribute lets you put it in a group that shows up in the scales list. You can add your own new tags too.
numnotes specifies how many notes are in the scale including the root, when using a pitchset, it is optional.

Here is an example file showing multiple scales. Put as many Scale elements in as you want, you should name one of these files with a .sxml extension.

This also shows an example of a scale specified using the Interval tag which contains multiple Interval tags which let you specify the interval in cents. Here you are in full control of pitch and intonation.


<?xml version="1.0"?>

<Scale name="Raga Bhatiyar"
pitchset="3317" />

<Scale name="Raga Bhavani"
pitchset="3370" />

<Scale name="Raga Bhinna Pancama"
pitchset="2649" />

<Scale name="Crazytown"
<Interval cents="0.0"/>
<Interval cents="100.0"/>
<Interval cents="250.0"/>
<Interval cents="600.0"/>
<Interval cents="800.0"/>
<Interval cents="950.0"/>
<Interval cents="1100.0"/>
<Interval cents="1200.0"/>


Posts: 28
Joined: Sat Sep 11, 2010 12:12 pm

Look forward to hearing. Yes,

Post by garyinthailand »

Look forward to hearing.

Yes, I had assumed that split-screen was the only prospect on our horizon. I think it'll work well.

Conversion by script would be extremely useful. I've attached a raw dump of 943 South Indian scales (from

The key is:
S = 1
R1 = b2
R2 = 2
R3 = #2
G1 = bb3
G2 = b3
G3 = 3
M1 = 4
M2 = #4
P = 5
D1 = b6
D2 = 6
D3 = #6
N1 = bb7
N2 = b7
N3 = 7

The first 72 scales (the so-called 'Melakarta', or root scales) are pictured on keyboard at ... _%28svg%29.

User avatar
Posts: 1050
Joined: Tue Dec 15, 2009 3:25 am

Wow, let's just say that 943

Post by Jesse »

Wow, let's just say that 943 is too many :)

Would it make sense to include the 72 Melakarta as a start, plus any others you deem appropriate? I obviously need all the help I can get on this one. I guess the Mela's all include more notes, and the Ragas are subsets of them?

Custom note labeling is a good idea, I'll consider extending the XML format to support it.

Posts: 28
Joined: Sat Sep 11, 2010 12:12 pm

Thanks! I'll try a few

Post by garyinthailand »

Thanks! I'll try a few experimentally, but I think conversion by script will be our key

I refer to diatonic scale degrees rather than semitone numbers because that's the native system (see previous). A script or two to digest lists in this form would be supreme.

It seems your current XML format doesn't allow for non-linearity.

User avatar
Posts: 1050
Joined: Tue Dec 15, 2009 3:25 am

Correct, when using pitchsets

Post by Jesse »

Correct, when using pitchsets it does not. However, it does support a scala-like element which I edited in the example above for arbitrary notes specified in cents. Note the Scale element with the Intervals tag in it. This one should support non-linear scales.

Post Reply