]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/repeats.itely
Update from Ralph.
[lilypond.git] / Documentation / user / repeats.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @c \version "2.11.38"
10
11 @node Repeats
12 @section Repeats
13
14 @lilypondfile[ragged-right,line-width=16\cm,staffsize=16,quote]
15 {repeats-headword.ly}
16
17 Repetition is a central concept in music, and multiple notations
18 exist for repetitions. LilyPond supports the following kinds of repeats:
19
20
21 @table @code
22 @item volta
23 The repeated music is not written out but enclosed between repeat bar
24 lines.  If the repeat is at the beginning of a piece, a repeat bar
25 line is only printed at the end. Alternative endings (volte) are
26 printed left to right with brackets.  This is the standard notation
27 for repeats with alternatives.
28
29 @item unfold
30 The repeated music is fully written out, as many times as
31 specified by @var{repeatcount}.  This is useful when
32 entering repetitious music. 
33
34 @item percent
35 These are beat or measure repeats.  They look like single slashes or
36 percent signs.
37
38 @item tremolo
39 This is used to write tremolo beams.
40
41 @end table
42
43
44 @menu
45 * Long repeats::                
46 * Short repeats::               
47 @end menu
48
49 @node Long repeats
50 @subsection Long repeats
51
52 This section discusses how to input long (usually multi-measure)
53 repeats.  The repeats can take two forms: repeats enclosed between
54 repeat signs; or written out repeats, used to input repetitious music.
55 Repeat signs can also be controlled manually.
56
57 @menu
58 * Normal repeats::              
59 * Manual repeat marks::         
60 * Written-out repeats::  
61 @end menu
62
63 @cindex volta
64 @cindex prima volta
65 @cindex seconda volta
66 @cindex volta, prima
67 @cindex volta, seconda
68 @funindex \repeat
69
70 @node Normal repeats
71 @subsubsection Normal repeats
72
73 The syntax for a normal repeat is
74
75 @example
76 \repeat volta @var{repeatcount} @var{musicexpr}
77 @end example
78
79 where @var{musicexpr} is a music expression.  Alternate endings can be
80 produced using @code{\alternative}.  If there are more repeats than
81 there are alternate endings, the earliest repeats are given the first
82 alternative.
83
84 Normal repeats without alternate endings:
85
86 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
87 \repeat volta 2 { c4 d e f }
88 c2 d
89 \repeat volta 2 { d4 e f g }
90 @end lilypond
91
92 Normal repeats with alternate endings:
93
94 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
95 \repeat volta 2 { g4 f e d }
96   \alternative {
97     { cis2 g' }
98     { cis,2 b }
99   }
100 \repeat volta 3 { c4 d e f }
101   \alternative {
102     { d2 e }
103     { f2 g }
104   }
105 c1
106 @end lilypond
107
108
109 Repeats with upbeats can be entered in two ways:
110
111 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
112 \new Staff {
113   \partial 4
114   e |
115   \repeat volta 4 { c2 d | e2 f | }
116   \alternative {
117     { g4 g g e }
118     { a4 a a a | b2. }
119   }
120 }
121 @end lilypond
122
123 @noindent
124 or
125
126 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
127 \new Staff {
128   \partial 4 
129   \repeat volta 4 { e4 | c2 d | e2 f | }
130   \alternative {
131     { \partial 4*3 g4 g g }
132     { a4 a a a | b2. }
133   }
134 }
135 @end lilypond
136
137
138 @funindex \repeatTie
139
140 Ties may be added to a second ending:
141
142 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
143 c1
144 \repeat volta 2 {c4 d e f ~ }
145 \alternative {
146   {f2 d}
147   {f2\repeatTie f,}
148 }
149 @end lilypond
150
151 @snippets
152
153 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
154 {shortening-volta-brackets.ly}
155
156 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
157 {adding-volta-brackets-to-additional-staves.ly}
158
159
160 @c Is there a way to have a final bar ("|.") at the end of the
161 @c previous line? Doesn't seem to be.
162 If you want to start a repeat at the beginning of a line and have a
163 double bar at the end of the previous line, use @code{\bar}. For more
164 information, see @ref{Bar lines}.
165
166 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
167 c4 c c c
168 \bar "||:" \break 
169 \repeat volta 2 { c4 d e f }   
170 @end lilypond
171
172
173 @seealso
174
175 Music Glossary: @rglos{repeat}, @rglos{volta}.
176
177 Notation Reference: @ref{Bar lines}, @ref{Modifying context plug-ins}.
178
179 Snippets: @rlsr{Repeats}.
180
181 Internals Reference: @rinternals{VoltaBracket},
182 @rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic},
183 @rinternals{UnfoldedRepeatedMusic}.
184
185 @knownissues
186
187 @cindex repeat, ambiguous
188
189 A nested repeat like
190
191 @example
192 \repeat @dots{}
193 \repeat @dots{}
194 \alternative
195 @end example
196
197 @noindent
198 is ambiguous, since it is is not clear to which @code{\repeat} the
199 @code{\alternative} belongs.  This ambiguity is resolved by always
200 having the @code{\alternative} belong to the inner @code{\repeat}.
201 For clarity, it is advisable to use braces in such situations.
202
203 Timing information is not remembered at the start of an alternative,
204 so after a repeat timing information must be reset by hand; for
205 example, by setting @code{Score.measurePosition} or entering
206 @code{\partial}.  Similarly, slurs are also not repeated.
207
208
209
210 @node Manual repeat marks
211 @subsubsection Manual repeat marks
212
213 @funindex repeatCommands
214
215 @c FIXME: Markup does not work in the "text" field
216 @c And how does one change the font?
217 @c On the whole, this section needs better documentation (why the
218 @c double parentheses around the volta expressions?)
219
220 The property @code{repeatCommands} can be used to control the
221 layout of repeats.  Its value is a Scheme list of repeat commands.
222
223 @table @asis
224 @item @code{start-repeat}
225 Print a @code{|:} bar line.
226
227 @item @code{end-repeat}
228 Print a @code{:|} bar line.
229
230 @item @code{(volta @var{text})}
231 Print a volta bracket saying @var{text}.  The text can be specified as
232 a text string or as a markup text, see @ref{Formatting text}.  Do not
233 forget to change the font, as the default number font does not contain
234 alphabetic characters;
235
236
237 @item @code{(volta #f)}
238 Stop a running volta bracket.
239 @end table
240
241 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
242 c4
243 \set Score.repeatCommands = #'((volta "93") end-repeat)
244 c4 b
245 \set Score.repeatCommands = #'((volta #f))
246 d4 e
247 @end lilypond
248
249 @c FIXME: improve visibility of bar lines link?
250
251 @seealso
252
253 Notation Reference: @ref{Bar lines}, @ref{Formatting text}.
254
255 Snippets: @rlsr{Repeats}.
256
257 Internals Reference: @rinternals{VoltaBracket},
258 @rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic}.
259
260
261 @node Written-out repeats
262 @subsubsection Written-out repeats
263
264 @cindex written-out repeats
265 @cindex repetitious music
266 @cindex repeats, written-out
267
268 By using the @code{unfold} command, repeats can be used to simplify
269 the writing out of repetitious music.  The syntax is
270
271 @example
272 \repeat unfold @var{repeatcount} @var{musicexpr}
273 @end example
274
275 where @var{musicexpr} is a music expression.  Unfold repeats can be
276 made with or without alternate endings.  If there are more repeats
277 than there are alternate endings, the first alternative ending is
278 applied to the earliest endings.  Unfold repeats without alternate
279 endings:
280
281 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
282 c1
283 \repeat unfold 2 { c4 d e f }
284 c1
285 @end lilypond
286
287 Unfold repeats with alternate endings:
288
289 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
290 c1
291 \repeat unfold 2 { g4 f e d }
292   \alternative {
293     { cis2 g' }
294     { cis,2 b }
295   }
296 c1
297 \repeat unfold 3 { d4 c b2 }
298   \alternative {
299     { c4 d e f }
300     { d4 c b a }
301   }
302 c1
303 @end lilypond
304
305 @seealso
306
307 Snippets: @rlsr{Repeats}.
308
309 Internals Reference: @rinternals{RepeatedMusic},
310 @rinternals{UnfoldedRepeatedMusic}.
311
312 @node Short repeats
313 @subsection Short repeats
314
315 This section discusses how to input short repeats.  Short repeats can
316 take two basic forms: repeats of a single note to two measures,
317 represented by slashes or percent signs; and tremolos.
318
319 @menu
320 * Percent repeats::             
321 * Tremolo repeats::             
322 @end menu
323
324 @node Percent repeats
325 @subsubsection Percent repeats
326
327 @cindex percent repeats
328 @cindex measure repeats
329
330 Repeated short patterns of notes are supported.  The music is printed
331 once, and the pattern is replaced with a special sign.  Patterns that
332 are shorter than one measure are replaced by slashes, and patterns of
333 one or two measures are replaced by percent-like signs.  The syntax is
334
335 @example
336 @code{\repeat percent @var{number} @var{musicexpr}}
337 @end example
338
339 where @var{musicexpr} is a music expression. 
340
341 @lilypond[quote,verbatim,ragged-right]
342 \relative c' {
343   \repeat percent 4 { c4 }
344   \repeat percent 2 { b'4 a g f }
345   \repeat percent 2 { c2 es | f4 fis g c | }
346 }
347 @end lilypond
348
349 Measure repeats of more than two repeats get a counter if you switch
350 on the @code{countPercentRepeats} property:
351
352 @lilypond[relative=2,fragment,quote,verbatim,ragged-right]
353 \relative c' {
354   \set countPercentRepeats = ##t
355   \repeat percent 4 { c1 }
356 }
357 @end lilypond
358
359
360 Isolated percents can also be printed.  This is done by entering a
361 multi-measure rest with a different print function:
362
363 @lilypond[fragment,verbatim,quote]
364 \override MultiMeasureRest #'stencil
365   = #ly:multi-measure-rest::percent
366 R1
367 @end lilypond
368
369
370 @knownissues
371
372 Only three kinds of percent repeats are supported: a single slash
373 representing a single beat (regardless of the duration of the repeated
374 notes); a single slash with dots representing one full measure; and
375 two slashes with dots crossing a bar line representing two full
376 measures.  Neither multiple slashes representing single beat repeats
377 consisting of sixteenth or shorter notes, nor two slashes with dots
378 representing single beat repeats consisting of notes of varying
379 durations, are supported.
380
381
382 @seealso
383
384 Music Glossary: @rglos{percent repeat}, @rglos{simile}.
385
386 Snippets: @rlsr{Repeats}.
387
388 Internals Reference: @rinternals{RepeatSlash},
389 @rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
390 @rinternals{DoublePercentRepeatCounter},
391 @rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}.
392
393 @node Tremolo repeats
394 @subsubsection Tremolo repeats
395
396 Tremolos can take two forms: alternation between two chords or two
397 notes, and rapid repetition of a single
398 note or chord. Tremolos consisting of an alternation are indicated by
399 adding beams between the notes or chords being alternated, while
400 tremolos consisting of the rapid repetition of a single note are
401 indicated by adding beams or slashes to a single note.
402
403 @cindex tremolo beams
404
405 To place tremolo marks between notes, use @code{\repeat} with
406 tremolo style:
407
408 @lilypond[quote,verbatim,ragged-right]
409 \relative c' {
410   \repeat tremolo 8 { c16 d }
411   \repeat tremolo 4 { c16 d }
412   \repeat tremolo 2 { c16 d }
413 }
414 @end lilypond
415
416 The @code{\repeat tremolo} syntax expects exactly two notes within
417 the braces, and the number of repetitions must correspond to a
418 note value that can be expressed with plain or dotted notes.  Thus,
419 @code{\repeat tremolo 7} is valid and produces a double dotted
420 note, but @code{\repeat tremolo 9} is not.
421
422 The duration of the tremolo equals the duration of the
423 braced expression multiplied by the number of repeats:
424 @code{\repeat tremolo 8 @{ c16 d16 @}} gives a whole note tremolo,
425 notated as two whole notes joined by tremolo beams. 
426
427 There are two ways to put tremolo marks on a single note.  The
428 @code{\repeat tremolo} syntax is also used here, in which case
429 the note should not be surrounded by braces:
430
431 @lilypond[quote,verbatim,ragged-right]
432 \repeat tremolo 4 c'16
433 @end lilypond
434
435 @cindex tremolo marks
436 @funindex tremoloFlags
437
438 The same output can be obtained by adding
439 @q{@code{:}[@var{number}]} after the note.  The number indicates
440 the duration of the subdivision, and it must be at least 8.  A
441 @var{number} value of 8 gives one line across the note stem.  If
442 the length is omitted, the last value (stored in
443 @code{tremoloFlags}) is used
444
445 @lilypond[quote,ragged-right,verbatim,fragment]
446 c'2:8 c':32 | c': c': |
447 @end lilypond
448
449
450 @knownissues
451
452
453 Tremolos entered with @q{@code{:}[@var{number}]} do not carry over
454 into the MIDI output.
455
456
457 @seealso
458
459 @c Notation Reference: @re