Syntax
This is an informal description of the MusiCAD file syntax as well as the internal representation of music.
Every tune starts literally with: melodie "My Tune Name";
Comments
Everything left from an exclamation mark will be ignored (unless the second character is % or #).
Layout
Lines starting with: !# contain layout/setup information in the form:
<NAME1>=<VALUE1>;<NAME2>=<VALUE2>;
each item terminated with a semicolon
Objects
Notes (and other objects) are terminated with a semicolon.
Duration
notate as: 1/8; 3/16; etc or 0 for duration=0
denominators can be 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 16, 20, 24, 28, 30, 32, 64, 128
Pitch
Every note has a non-zero pitch Rests are notated as R.
A#3 Note A-sharp in 3rd octave
+## shift note to the right
+##+## second parameter is stem length adjustment
R Rest.
R+## shift rest to the right
R+##+## second parameter is is vertical shift.
Enhancements
. | staccato (at rest means"multi rest") |
m | mordent |
~ | prall |
c | long prall (MusiCAD2: 0xF7) |
r | trill |
z | Schleifer |
^ | fermate |
p | non-legato |
s | staccatissimo (also expansion-rest due to "multi rest" in a score) |
e | roll (MusiCAD2: ê = 0xEA) |
e1 | single roll |
e2 | double roll |
e3 | triple roll |
e* | |
eO | hi-hat open (drums) |
O | other (instrument specific signs) |
boo | up bow |
on | down bow |
ok | dynamic accent < |
bog | dynamic accent > |
Loa | marcato |
Q | tenuto |
ox | mordent-schleifer |
v# | fingering (# can be 0-9,a-Z) |
$ | enharmonic exchange (duration<>0), hide item (duration=0) |
$$ | alternate enharmonic exchange |
& | following note |
{ | grace note |
' | split cluster-notes |
} | clusterize |
u | force stem up |
d | force stem down |
( | start tie |
) | end tie |
a | courtesy accidental (MusiCAD2: 0xCE) |
? | hide note |
i | other note-forms (MusiCAD2: 0xA8) |
iQ | flageolet open |
iZ | flageolet closed |
is | cue note (MusiCAD2: 0xF9) |
iD | cross-shape (drums) |
i/ | slash shape (guitar) |
f | parenthesize (MusiCAD2: 0xAD) |
Further specification for duration non zero
Clef:
=v | treble clef |
=b | bass clef |
=n | tenor clef |
=a | alto clef |
=s | drum clef |
=e | none (no clef) |
=+ | 8va |
=- | 8va-basso |
=. | loco |
=_ | 15ma-bassa |
=* |
Key
=Bb | B-flat |
=F#m | F-sharp-minor |
Meter
=3/4 | triple meter |
=2+3/8 | compound meter 5/8 displayed 2+3/8 |
=2+3+2)/16 | compound meter 7/16 displayed 7/16 |
=04/4 | common meter: C |
=002/2 | alla-breve, divided common meter |
Text
+ | Lyrics 1 |
- | Lyrics 2 |
T | Lyrics 3 |
L | Lyrics 4 |
` | Directions 1 |
i | Directions 2 |
P | Directions 3 |
# | Bar text |
, | Dynamics |
_ | Chord symbols |
t | Tempo change (MusiCAD2: ë 0xEB) |
M | MIDI-event (MusiCAD2:û 0xFB) |
K | color change |
Q | Symbols (from MusiCAD-font) |
r | cipher at multi rest (MusiCAD2: O 0xF7) |
DJ | Section |
^ | Text-files inclusion |
Every text may be shifted: 0-3+4 +"Tekstje"
-3 3 vertical units to the left
+4 4 horizontal units up
Text may be sized: 0 +<3>"Tekstje"
<3> 3 units larger than default for the text..
Special objects
@A | Arpeggio |
@< | Crescendo (obsolete) |
@> | Decrescendo (obsolete) |
@P | Pedal |
@X | End-pedal |
@K | Comma |
@O | Coda |
@S | Segno |
@B | Paragraph-sign |
@C | al Coda |
@D | Da-capo |
@G | Dal-Segno |
@c | Da-capo al Fine |
@s | Dal-Segno al Fine |
@F | Fine |
@I | Intro |
@Z | Bar-repeat |
@z | Phraze-repeat |
example:
0-3+2 @S;
Segno-sign 3 units left and two up
*1 | |
*2 | |
%## | whitespace (obsolete) |
/ | new line |
// | new page |
(pipe-symbol) thick bar line | |
l | thin bar line |
I | conditional line break/page break |
: | repeat signs at bar line example: 0-1 l; bar line decreasing automatic bar numbering with one |
two-item objects
[<1 | start crescendo number 1 (numbering is needed for overlap) |
]<1 | end crescendo number 1 |
> | decrescendo |
_ | line (underscore) |
fat line | |
p | dotted line |
( | slur below |
) | slur above |
[ | hooked line below |
] | hooked line above |
~ | Glissando |
example
0+5-2 [>0 start decrescendo number 0, 5 units right and two down.