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.