2 \documentclass{article}
4 \title{Mudela and LilyPond crash course}
5 \author{Han-Wen Nienhuys}
9 \def\interexample{\par Produces the following:\par}
10 \def\preexample{\par\medskip}
11 \def\postexample{\par\medskip}
15 Mudela is a language for specifying music. LilyPond is a
16 program which converts such a specification into formatted sheet
17 music, or MIDI output.
19 Please note that some examples not only demonstrate features but also
20 some lurking bugs. If can't understand what is happening, it might
21 just be my (lack of) programming skills.
24 \begin[fragment,verbatim]{mudela}
29 Basics: the \verb+%+ introduces a comment. All music is inside a
30 \verb+\score+ block which represents one movement, ie one contiguous
31 block of music. Voices are grouped by \verb+{+ and \verb+}+ and
32 chords by \verb+<+ and \verb+>+.
34 \begin[verbatim]{mudela}
36 \melodic { % { means voice
37 c'4 g'4 % 4 means quaver, 1 beat in 4/4 meter
38 c''4 ''c4 % c' is 1 octave up, 'c 1 down.
39 <c'4 g'4> % <> means a chord
44 The \verb+\octave+ command controls the default pitch (octave). If you
45 do not specify duration, the last one entered is used. The
46 \verb+\paper+ block contains parameters for spacing and dimensions.
48 \begin[verbatim]{mudela}
50 % twinkle twinkle little star
54 f4 f e e d [d8. e16] c2
57 \paper { linewidth = 5.\cm; }
61 A more complex example; The multi command controls at what level the
62 different components of a chord are interpreted. The LilyPond chord
63 is much more general than a traditional chord. Multiple voices on a
64 staff are entered as a chord of voices. A score is a chord of staffs,
67 \begin[verbatim]{mudela}
72 < \multi 1; { c2 c2 } { c'2 c'2 } >
73 < \multi 2; { \stem -1; c2 c2 } { \stem 1; c'2 c'2 } >
75 { \clef "bass"; c2 c2 }
76 { \meter 2/4;\bar "||";
77 \key fis cis gis; c'2 c'2 } >
80 < \multi 1; < \multi 3;
81 { \meter 2/4; \clef "violin"; c2 c2 }
82 { \meter 2/4; \clef "bass"; c2 c2 }
85 { \meter 2/4; \clef "violin"; c2 c2 }
86 { \meter 2/4; \clef "bass"; c2 c2 }
95 LilyPond is designed to handle complicated stuff
96 automatically. Expertise should be in the program, not in the user.
98 The following example shows how multiple voice on the same staff are
99 handled graciously (well, somewhat). If the noteheads of different
100 voices collide, they are moved horizontally. The same goes for the rests.
102 \begin[verbatim]{mudela}
105 { \octave c'; \stem -1;
106 c4 d e f g2~ g4 a [c8 d e f] c2| }
108 g4 f e g ~ g2 g2 c4 g4 g2 }
112 two_voice_steminvert = \melodic
114 { \octave c'; \stem 1;
115 % the f and g on 4th beat are exceptionally ugh.
122 three_voice = \melodic
126 { \hshift 1; \stem 1;
136 { \stem 1; g'8 f' e' d' c' b a g f e d c }
137 { \stem -1; r r r r r r r r r r r r }
141 < \multi2; r8 r8 r8 >
142 < \multi2; r8 r8 r8 r8 >
151 \melodic { \$two_voice \$two_voice_steminvert
152 \$three_voice \restsII }