I want to create a program that will write Indian classical music notation from Midi, but not able decide which representation method is best. One I know is Bhatkhande notation. I want one which is widely used and understand by people.

Which notation is most widely used, or at least sufficiently used to be practical for my purposes?

  • There is really no answer to this. It's a choice. What notation would be "widely used and understand by people"? If you're thinking SMN, this is western and Indian music may not map properly to this notation. You have an opportunity to educate people on the Bhatkhande notation.
    – user50691
    Commented Nov 26, 2018 at 16:51
  • 2
    @ggcg Ok, what is mean by SMN? Commented Nov 26, 2018 at 17:39
  • 1
    I'm going to turn my comments into an answer
    – user50691
    Commented Nov 26, 2018 at 18:21
  • 1
    Requesting reopen this question as a notation problem instead of software recommendation.
    – user33689
    Commented Feb 11, 2021 at 19:36

3 Answers 3


SwaraNotebook is a web based Hindustani music notation editor that is backed by open source libraries.

Sargam-spec is an open specification for notating a classical composition, and it support ornamental note forms such as meends and Kan swaras. Notations can be encoded in edn or JSON.

The Bhatkhande notation project in a music engraving engine that can display compositions encoded in Sargam-spec format. This is a single page app written in ClojureScript.

  • Is there an offline version of Swara Notebook or something similar?
    – user33689
    Commented Feb 16, 2021 at 6:36
  • I'm not aware of offline versions, sorry.
    – shark8me
    Commented Feb 16, 2021 at 10:29

There is really no answer to this. It's a choice. What notation would be "widely used and understand by people"? If you're thinking SMN, this is western and Indian music may not map properly to this notation. You have an opportunity to educate people on the Bhatkhande.

For reference here is some comments on Standard Music Notation (SMN).

In western music we have a 7 note scale (without octave) that is written on staves with 5 lines and 4 spaces. We have three clefs G, C and F for difference pitch ranges. Notes are placed on the line or space to indicate what note to play. The note is a dot or circle. Other decorations on the note, stick, flag, dots etc, indicate how long to play a note (i.e. time).

This is a very common notation across the globe but it is Western European. I cannot say how many Indian musicians have inquired on how to map their music in SMN. This may or may not work. I believe that Indian music sometimes uses quarter steps, a smaller change in pitch than encountered in Western music, and there is no standard way to indicate this.

I have written software to create synthetic sounds and musical scores, and mapped them to vectors or arrays in computer language so I can kind of understand what you want to do. Western SMN is very "discrete" on the surface, very regimented. Perhaps this relates to Western European culture. So it is fairly easy to map a score in SMN into computer language and commands. We express "feeling" in the score in a number of ways. One is with commands to speed up, slow down, play at different volumes, etc. We also use emotional words to tell the player what feeling we want expressed.

One reason for this is that Western Music tends to be orchestrated with many players performing in sync and with harmonization (multiple voices at the same time). My understanding of most of Indian music is that it is mostly improvisational. I've attended many concerts, Usted Alla Rakha, Zakir Hussain, Ravi Shenkar, etc, etc. There is usually a solo melodic instrument like Sitar or Sarod, and a solo percussion. The rest are just drones to create some resonance tones. With this in mind it may not be easy to create a program that replicates a complete solo (if that is a desire of yours). However, if all you want to is get the basic Raga structure and generate documents based on that you should be able to do this.

I would try not to squeeze your music into the Major scale. Rather, figure our the basic templates used in your music, the scales, number of independent tones in each, rhythmic rudiments, etc. And map each to an index or some other data. Your Indian scale vector may have more or less entries than the Western scale vector and that's okay.


It can be done using an word processor and a Character map Microsoft Word "insert" special characters function can help a lot.

Find the following characters:

  1. Undertie (U+203F):
  2. Combining Double Breve Below (U+035C): A B
  3. Combining Dot Above (U+0307):
  4. Combining Dot Below (U+0323):
  5. Combining Ring Above (U+030A):
  6. Combining Ring Below (U+0325):
  7. Combining Vertical Bar Above (U+030D):
  8. Combining low line (U+0332)
  9. Combining X Below (U+0353)

If I miss something please feel free to add in comment.

To get a smooth, "gradually tapering" effect, as seen in printed old textbooks, use Times New Roman font or similar Serif font.

Hope this help digitalising Indian classical music. Cheers!

Update: Somebody else used a similar solution here

PS: If you create that program ever, let me know. I will be waiting to use it.

Update: Can't do ligature of multiple words. Asked it here

  • 2
    This is the easiest method with English letters. Commented Jan 31, 2021 at 17:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.