Music format

The music parser understand a language, similar to the languate used by GNU Lilypond.

An example will tell more than I can explain:

\staff{
c, g cisis' < e' g' cis'' > cis''
}
../png/simple.png

Apostroph (') and comma (,) is used to tell what octave the note is in. Notenames are: c d e f g a b, with endings like this to get accidentals: ceses ces cis cisis eses es eis eisis. Rests are entered with an r. Notes to be stacked as a chord is inside 'less than' and 'greater than' chars: <c e g>

\relative

A very useful \relative mode, like what you find in Lilypond, saves you from typing lots of commas and apostrophes. The parser will look at what octave the previous tone is, and place the note in the octave that make the interval smallest possible. See the next two examples:

\staff\relative c'{
\key d \time 3/4
d a a | a2 fis8 a | d4 b b | b2
}
../png/fist.png
\staff\relative c'{
c e g c e g c e g
}
../png/ceg-relative.png

Tuplets

Tuplets should work exactly like GNU Lilypond.

\times fraction musicexpression

for example

c4 \times 2/3 { d8 d d } e4
../png/tuple.png

Use the \tupletUp and \tupletDown commands to force the tuplets to be placed above or below the staff.

\tupletBoth let Solfege decide where to place the tuplets. (Unfortunately, the tuplet code is not finished yet, so for now, \tupletBoth give the same result as \tupletUp.)

Clefs

You can set the clef with the \clef clefname command. The default clef is violin clef. The following clefs are supported:

A simple example:

\staff{
\clef bass
c e g <c e g c'>
}
../png/clef.png

Key signature

You use the \key command to set the key signature:

\key c \major
\key e \minor

(fes is the key with the most flats, and eis is the key with the most sharps that are allowed)

Time signature

You use the \time command to set the time signature:

\staff{
 \time 7/8 [c8 c c] d4 e
}

\addvoice

Use addvoice to enter polyphonic music:

\staff\relative c'{
\stemup c d e f | g2 g
}
\addvoice\relative c'{
\stemdown c4  b c2 e2 e
}
../png/addvoice.png

Ties

Tie notes together using the tilde ~ character. An example:

\staff\relative c''{
g ~ [g8 e] f4~ <g f c> ~ <g e c>
}
../png/tie.png

Skips

If you use the notename s, a gap will be left for the skipped time without any notes printed. An example

\staff\relative c'{ c d e f g }
\addvoice\relative c'{
 \stemDown
 s2 c4 s e4
}
../png/skip.png