FORMAT OF GAAYAKA FILES

Carnatic Music (South Indian Classical Music) notation files for playing with gaayaka.exe (one of the programs in Rasika package) have a standard extension .gka and have the following format.

The entire file is in ASCII including the header and is basically an adaptation of the ordinary conventions in writing notation for Carnatic Music compositions. The notation uses the syllables sa, ri, ga, ma, pa, da and ni which are the solfa used to sing the notes with sa representing the tonic.

HEADER

The header contains part of the information which is usually given in printed notations at the start. The headers are different for files created with version 1.3 and earlier and those created with version 1.4 and later although the extension .gka is same. The difference arises out of the facility to generate automatic 'thaalam' (rhythm count) sound in the later versions.

Although the headers contains ASCII information the length of the headers are fixed - 12 for older versions and 32 for later versions. Hence there should be only a single space between the numbers in the headers

Header for older versions (ver 1.3 or earlier):

There are 2 numbers. The first number represents the 'Melam' or scale and has 7 digits. Each digit represents the variety of note sa, ri, ga, ma, pa, da, ni chosen in the scale for the song. Sa and pa are invariant and will always have 0 associated with them. Ma has 2 varieties and digits 1 and 2 are associated with them. Ri and Da are associated with digits 1,2 and 3 while Ga and Ni are associated with 0,1 and 2. Thus a number 0221022 represents sa, ri2, ga2, ma1, pa, da2, ni2. The numbering used is the one adopted in Rasika the other program in the package.

The second number in the header represents the duration of a note in 1/100 of a second.

The header information is summarised in the table below with official names for the notes:

Number in the header Digit position Value and Interpretation
First number (7 digits)
(represents the scale)
First Digit 0 - Shadjam (this position is always 0)
  Second Digit 1 - Suddha Rishabham, 2 - Chathusruthi Rishabham, 3 - Shadsruthi Rishabham
  Third Digit 0 - Suddha Gaandhaaram,1 - Saadhaarana Gaandhaaram, 2 - Anthara Gaandhaaram
  Fourth Digit 1 - Suddha Madhyamam, 2 - Prathi Madhyamam
  Fifth Digit 0 - Panchamam (this position is always 0)
  Sixth Digit 1 - Suddha Dhaivatham, 2 - Chathusruthi Dhaivatham, 3 - Shadsruthi Dhaivatham
  Seventh Digit 0 - Suddha Nishaadham, 1 - Kaisiki Nishaadham, 2 - Kaakali Nishaadham
Second number
(Represents the tempo)
(Decimal number) 1 to 100 - note duration in 1/100th of a second

Header file for version 1.4 and later:

The header includes information to show that it is a later version and also information for generating automatic thaalam sound. There are 7 numbers and one string in quotes in the header which is always 32 bytes long.

Number in the Header Attribute represented Value and interpretation
First numberVersionAlways 999999 for versions 1.4 or later
Second numberDummyAlways 0
Third numberScaleA seven digit number having the same meaning as in the previous versions (see table above)
Fourth number Tempo1 to 100 - note duration in 1/100th of a second
Fifth numberNotes per aksharamThe number of notes used in thaalam's one aksharam in the notation
Sixth numberJaathi of the thaalamRepresents the number of aksharams in the Laghu of the thaalam
Seventh numberThaalam number0 Dhruva, 1 Matya, 2 Roopaka, 3 Jampa, 4 Thriputa, 5 Ata, 6 Eka, 7 Khanda Chaapu, 8 Misra Chaapu, 9 Modern Roopaka
Eighth number.
This is a string in quotes
Thaalam Sound Structure1 - beat (clap), 2 - wave or count, 3 - silence (in Chaapu only). The string will have as many digits as the aksharams in one thaalam cycle.

Example: The header 999999 0 0221022 032 04 03 04 "1221212" . First 2 numbers are not further processed.

0221022 indicates that the scale has the notes sa ri2, ga2, ma1, pa, da2, ni2.

032 indicates that one note lasts for 32/100 seconds

04 - 4 notes per aksharam

03 - jaathi - Thisra or 3 - the laghu of the thaalam has 3 units

04 - name of the thaalam Thriputa

"1221212" - structure of the thaalam sound - a beat, 2 counts, a beat, a wave, a beat and a wave (waves and counts have the same sound in the program)

A file created in earlier versions, when opened with the later version will show a message that auto thaalam information has not been incorporated and may be set using the Thaalam menu. The file will play without any change. Files created with later version when opened with earlier versions will generate an error 'invalid melam data'. The file will be opened without processing the header and the edit window will show the header also - a string of digits like 999999 0 0221022 032 04 04 04 "12221212" in the beginning. To play the file these digits have to be deleted, the correct Melam and tempo have to be set using the controls in the program. The file can then be saved in the old format.

NOTATION

The header is followed by the notation data in ASCII

The notation is adaptation of the standard system used in Carnatic Music with 2 changes and many extensions to provide greater accuracy.

Carriage returns have no significance. Lines may be broken as desired - usually a line covers one aavartham or a sub-multiple of an aavartham.

Carnatic Music songs usually do not cover more than 2 octaves. The lower bound is a fifth below the tonic and the upper bound a fifth above one octave of the tonic. A .gka file can have notation covering 3 octaves less a semitone.

The symbols for the notes are sA, rI, gA, mA, pA, dA, nI, sa, ri, ga, ma, pa, da, ni, Sa, Ri, Ga, Ma, Pa, Da, Ni. Both letters in lower case indicate the middle octave, first letter in upper case indicates upper octave, first letter in lower and second letter in upper case indicates lower octave. (Most of the notations ine use are in Tamiz language which does not have upper and lower cases. The present convention puts a dot over the note for indicating upper octave and a dot below the note for lower octave. The modification has been made to enable the standard fonts to be used). The notes as written above are held for 1 unit duration which is decided by the 'tempo' set.

A repetition of the vowel of the symbol such as saa, or Rii (or Ree) indicates notes of 2 units duration.(existing convention)

A left bracket indicates starting of halving the tempo and a right bracket restores the previous tempo. Multiple brackets may be used. This replaces the existing convention of putting a line or lines over the notes to indicate doubling or quadrupling of tempo.

The changes in Gaayaka format from the existing convention is illustrated in the figure below

An asterisk '*' immediately after a note indicates an accidental i.e. the variety of note is different from the one indicated by the melam (scale)- 'anya swaram' of Bhaashaanga raagam. This is an existing convention.

A hyphen '-' is used to separate phrases. Notes within a phrase are sounded together with a smooth default transition of .05 seconds between adjacent notes. This duration is taken off the second note. This is not used at all or used without any precision in the existing notation system. (some times it is used to separate groups of notes covering one time unit and some times a phrase)

A comma ',' indicates either a silence of one note duration(when used at the beginning of a phrase) or extending the previous note by one unit of duration when used after a note without '-'

A semicolon ';' is similar but indicates 2 notes' duration
(Comma and semicolon are used in the existing conventions but whether they indicate a silence or extend the previous note has to be guessed from the context since there is no accepted convention for grouping notes into phrases.)

(The following extensions and enhancements have no equivalents in the existing notation system)

A stop (period) '.' is similar and indicates half a note duration (not used in the existing convention)

A '<' symbol increases the pitch of the note by a fraction of 81/80 and may be repeated for further increase.

A '>' symbol decreases the pitch of the note by a fraction of 80/81 and may be repeated for further decrease.
(These two symbols are not available in the existing convention, but such microtonal changes in the note pitches are essential to depict the Carnatic raagams accurately.)

A '/' or '\' increases the transit duration between two notes by .05 seconds. May be repeated to further increase the duration and thus provide slide or portamento or slur - a very important aspect of Carnatic Music. The transit time is taken off the subsequent note. This symbol is sometimes used in the existing convention for a slide but without any quantitative significance.

A '%' symbol between 2 notes reduces the transit to 1/1600 of second - almost instantaneous transit but without break.

A digit between 1 and 9 at the start of a phrase indicates a relative lowering of the amplitude (volume) of the phrase relative to 10 for phrases not having any digit (not available in the existing convention)

A pair of square brackets [ ] can be used to put comments or words of lyric. Anything between the square brackets is ignored in playing.

A pair of curly brackets { } enclosing the letter 'M' or 'm' followed by a number(between 1 and 72) as in {M 65} indicates the change of scale to Melam 65 from that point. This obviates using a large number of asterisks to change the note variety. Such scale change is necessary for 'Raagamaalika' or a song with a succession of different raagams.

A pair of curly brackets { } enclosing the letter 'T' or 't' followed by a number between 1 and 100 as in {T 36} indicates change of tempo (duration of a note) from that point, the number indicating the duration of one note in 1/100th of a second.

A piping symbol '|' indicates markers for block display while playing. Without this marker the blocks for play (and display) are chosen equally up to the maximum buffer size and may not coincide with significant points in the music

A + symbol indicates manual thaalam sound at that point. Auto thaalam is not available in versions 1.3 and before and the beat sound position had to be manually indicated in the notation. From version 1.4, by selecting the auto thaalam in the menu the beat and count sounds are automatically generated.

A $ symbol at the beginning puts off auto thaalam. This is a toggle and the thaalam sound will start from the point where the symbol is put again. Such a point has to be the beginning of a rhythm cycle to get correct beats.

The '|' and '+' symbols automatically introduce a phrase break at those points.

________

Home
Carnatic Music Notation
About Gaayaka
Some Gaayaka files