[Tex/LaTex] Solfa style music notation (Carnatic)

musicspacingvertical alignment

I'm looking for a way to typeset Carnatic (Indian) music. The notation system is textual, similar to solfa, with some symbols like comma, semi-colon and | for durations, and bar lines.

Fine control for notes, phrases, and spacing between is needed.
Control over Vertical alignment is needed too.

Carnatic Music Score with LaTeX

\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\author{Ananth}
\begin{document}

$ \begin{array}{llll|ll|ll||}
\\
g,m,    & d,,,  & nndn  & \dot{s},,, &
d n s n     & , d d n   & d d m g   & m g r s \\
nin ne  & ko-   & - & ri- &
yun & ,nna  & ---ra & ---- \\
\\
rs\d{nd}    &, \d{n}sr  & snsg  &mddn   &
\dot{s}\dot{g}\dot{r}\dot{s}    & nd\dot{s}n    &dmgd   &mgrs \\
ne--na  &--rum- &chi--- &nan--- &
nee--lu &--ko-  &---ra  &----\\

\end{array} $

\paragraph* { another array  \break}

$
\begin{array}{llllllllllllllll|}
s&g&r&s&n&d&s&n&d&m&g&d&m&g&r&s\\
ne&&&lu&&&ko&&&&&ra&&&\\
\end{array} $

\paragraph*{That was array. Now using ams' align package}

 \begin{align}
rsn & d && ,nsr && snsg && mddn | \\
ne-- & na   &&--rum-    &&chi---    &&nan---    \\
\intertext{and}
sgrs    && ndsn && dmgd && mgrs || \\
nee--lu &&--ko- &&---ra &&----\\
\end{align} 

verdict: Tables, Arrays, ams' align package - all  are good for swara notation. Not upto the mark for synchronizing lyrics.


\end{document}

Grid like, fixed spacing between notes is possible – Tables etc., and are widely used too. I'm looking for flexible spacing between musical phrases, and points of alignment between lines. Inspired by Lilypond, one could say.

Is it possible to do these with LaTeX? If so, how?

I've tried using arrays and align (ams) with not so satisfactory results.

Best Answer

I have to experience in this type of music. But it seems that you want some fancy align/verbantim stuff to typeset it.

Ideally a new package needs to be designed for this.

I seems that ConTeXt with Auctex and table editing mode can greatly simplify such typesetting for you.

Samples: http://wiki.contextgarden.net/TABLE
Auctex help: http://wiki.contextgarden.net/More_AUCTeX