]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/user/rhythms.itely
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / fr / user / rhythms.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: f7420240e4ce1fe2217646482a47d00f566af52c
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 @c Translators: Frédéric Chiasson
12 @c Translation checkers: Valentin Villenave, Jean-Charles Malahieude
13
14 @node Rhythms
15 @section Rhythms
16
17 @lilypondfile[quote]{rhythms-headword.ly}
18
19 This section discusses rhythms, durations, and bars.
20
21 @menu
22 * Writing rhythms::             
23 * Writing rests::               
24 * Displaying rhythms::          
25 * Beams::                       
26 * Bars::                        
27 * Special rhythmic concerns::   
28 @end menu
29
30
31 @node Writing rhythms
32 @subsection Writing rhythms
33
34 @menu
35 * Durations::                   
36 * Augmentation dots::           
37 * Tuplets::                     
38 * Scaling durations::           
39 @end menu
40
41 @node Durations
42 @unnumberedsubsubsec Durations
43
44 @cindex durées
45 @funindex \longa
46 @funindex \breve
47 @funindex \maxima
48
49 Dans les modes de notes, d'accords et de paroles, les durées sont
50 écrites avec des chiffres et des points : les durées sont indiquées par
51 leur valeur fractionnaire par rapport à la durée d'une ronde.  Une
52 noire, par exemple, qui équivaut à un 1/4 de ronde --- @qq{quarter note}
53 en anglais --- s'écrit @code{4}, alors qu'une blanche ---
54 @qq{half-note}, 1/2 ronde --- s'écrit @code{2}.  Pour des notes plus
55 longues qu'une ronde, vous devrez utiliser les commandes @code{\longa}
56 pour une longue, et @code{\breve} pour une brève, aussi appelée carrée.
57
58 @example
59 c'\breve
60 c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
61 r\longa r\breve
62 r1 r2 r4 r8 r16 r32 r64 r64
63 @end example
64
65 @lilypond[quote]
66 \score {
67 \relative c'' {
68     a\breve*1/2 \autoBeamOff
69     a1 a2 a4 a8 a16 a32 a64 a64
70    \bar "empty"
71    \break
72     r\longa*1/4 r\breve *1/2
73     r1 r2 r4 r8 r16 r32 r64 r64
74   }
75   \layout {
76     ragged-right = ##t
77     indent=0\mm
78     \context {
79       \Score
80         \remove "Bar_number_engraver"
81     }
82     \context {
83       \Staff
84         \remove "Clef_engraver"
85         \override StaffSymbol #'transparent = ##t
86         \override TimeSignature #'transparent = ##t
87         \override BarLine #'transparent = ##t
88         \consists "Pitch_squash_engraver"
89     }
90   }
91 }
92 @end lilypond
93
94 Si la durée n'est pas précisée, elle est alors assimilée à la durée
95 précédente.  La valeur par défaut pour la première note est une noire
96 (4).
97
98 @lilypond[quote,ragged-right,verbatim,fragment]
99 { a a a2 a a4 a a1 a }
100 @end lilypond
101
102
103 @node Augmentation dots
104 @unnumberedsubsubsec Augmentation dots
105
106 @funindex .
107
108 Pour obtenir des notes pointées, ajoutez simplement un point
109 (@samp{.}) au chiffre.  Les notes doublement pointées sont créées de
110 la même façon.
111
112 @lilypond[quote,ragged-right,fragment,verbatim]
113 a'4 b' c''4. b'8 a'4. b'4.. c''8.
114 @end lilypond
115
116 @predefined
117
118 Les points sont normalement haussés pour éviter les lignes de portées,
119 sauf dans certaines polyphonies.  Les commandes suivantes peuvent être
120 utilisées pour demander manuellement une orientation particulière des
121 points.
122
123 @funindex \dotsUp
124 @code{\dotsUp},
125 @funindex \dotsDown
126 @code{\dotsDown},
127 @funindex \dotsNeutral
128 @code{\dotsNeutral}.
129
130 @seealso
131
132 Référence du programme : @rinternals{Dots}, @rinternals{DotColumn}.
133
134
135 @node Tuplets
136 @unnumberedsubsubsec Tuplets
137
138 @cindex nolets
139 @cindex triolets
140 @funindex \times
141
142 Les nolets --- triolets, quintolets, etc. --- sont obtenus en
143 multipliant toutes les durées d'une expression musicale par une
144 fraction.
145
146 @example
147 \times @var{fraction} @var{expr_musique}
148 @end example
149
150 @noindent
151 La durée de @var{expr_musique} sera multipliée par la fraction.  Le
152 dénominateur de la fraction sera imprimé au-dessus des notes, parfois
153 avec un crochet.  Le nolet le plus courant est le triolet, dans lequel 3
154 notes ont la durée de 2, et où les notes durent donc 2/3 de leur valeur
155 écrite.
156
157 @lilypond[quote,ragged-right,fragment,verbatim]
158 g'4 \times 2/3 {c'4 c' c'} d'4 d'4
159 @end lilypond
160
161 Les nolets peuvent être imbriqués ; par exemple,
162
163 @lilypond[fragment,ragged-right,verbatim,relative=2]
164 \override TupletNumber #'text = #tuplet-number::calc-fraction-text
165 \times 4/6 {
166   a4 a
167   \times 3/5 { a a a a a }
168 }
169 @end lilypond
170
171 @predefined
172
173 @funindex \tupletUp
174 @code{\tupletUp},
175 @funindex \tupletDown
176 @code{\tupletDown},
177 @funindex \tupletNeutral
178 @code{\tupletNeutral}.
179
180
181 @commonprop
182
183 @funindex tupletNumberFormatFunction
184 @cindex nolets, formatage
185
186 La propriété @code{tupletSpannerDuration} spécifie la longueur voulue de
187 chaque crochet.  Avec elle, vous pouvez faire plusieurs nolets en ne
188 tapant @code{\times} qu'une fois, ce qui évite une longue saisie.  Dans
189 le prochain exemple, deux triolets sont imprimés avec une seule fonction
190 @code{\times}.
191
192 @lilypond[quote,fragment,relative=2,ragged-right,verbatim]
193 \set tupletSpannerDuration = #(ly:make-moment 1 4)
194 \times 2/3 { c8 c c c c c }
195 @end lilypond
196
197 @noindent
198 Pour plus d'information sur @code{make-moment}, voir
199 @ref{Time administration}.
200
201 L'apparence du chiffre est déterminée par la propriété @code{text} dans
202 @code{TupletNumber}.  La valeur par défaut imprime seulement le
203 dénominateur, mais si elle est définie par la fonction
204 @code{tuplet-number::calc-fraction-text}, la fraction entière
205 @var{num}:@var{den} sera imprimée à la place.
206
207 Pour éviter d'imprimer les chiffres des nolets, utilisez
208
209 @lilypond[quote,fragment,relative=2,ragged-right,verbatim]
210 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
211 \override TupletNumber #'transparent = ##t
212 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
213 @end lilypond
214
215 Utilisez la fonction @code{\tweak} pour définir une priorité dans le cas
216 de nolets imbriqués débutant au même moment.  Dans cet exemple,
217 @code{\tweak} spécifie un texte sous forme de fraction pour le
218 @code{TupletNumber} externe et de dénominateur pour les trois triolets
219 internes.
220
221 @lilypond[quote,ragged-right,verbatim]
222 \new Staff {
223   \tweak #'text #tuplet-number::calc-fraction-text
224   \times 4/3 {
225      \tweak #'text #tuplet-number::calc-denominator-text
226      \times 2/3 { c'8[ c'8 c'8] }
227      \times 2/3 { c'8[ c'8 c'8] }
228      \times 2/3 { c'8[ c'8 c'8] }
229   }
230 }
231 @end lilypond
232
233 Ici, @code{\tweak} et @code{\override} agissent de concert pour
234 spécifier le positionnement du @code{TupletBracket}.  Le premier
235 @code{\tweak} positionne le @code{TupletBracket} du nolet externe au
236 dessus de la portée. Le second @code{\tweak} positionne le
237 @code{TupletBracket} du premier triolet interne au dessous de la
238 portée.  Notez que cette paire de fonctions @code{\tweak} n'affecte
239 que le triolet extérieur et le premier des trois triolets imbriqués
240 parce qu'ils commencent au même instant musical.  Nous utilisons
241 @code{\override} de manière tout à fait normale, pour forcer le
242 positionnement du @code{TupletBracket} des deuxième et troisième
243 triolets en dessous de la portée.
244
245 @lilypond[quote,ragged-right,verbatim]
246 \new Staff {
247   \tweak #'text #tuplet-number::calc-fraction-text
248   \tweak #'direction #up
249   \times 4/3 {
250      \tweak #'direction #down
251      \times 2/3 { c'8[ c'8 c'8] }
252      \override TupletBracket #'direction = #down
253      \times 2/3 { c'8[ c'8 c'8] }
254      \times 2/3 { c'8[ c'8 c'8] }
255   }
256 }
257 @end lilypond
258
259 Les crochets de nolets peuvent aller jusqu'aux prémisses de la mesure
260 suivante, ou à la prochaine note.
261
262 @lilypond[ragged-right]
263 \new RhythmicStaff {
264   \set tupletFullLength = ##t
265   \time 4/4
266   \times 4/5 {
267     c4 c1
268   }
269   \set tupletFullLengthNote = ##t
270   \time 2/4
271   \times 2/3 {
272     c4 c c 
273   }
274   \time 3/4
275   c4 
276 }
277 @end lilypond
278
279
280 @seealso
281
282 Référence du programme : @rinternals{TupletBracket},
283 @rinternals{TupletNumber}, @rinternals{TimeScaledMusic}.
284
285
286
287 @node Scaling durations
288 @unnumberedsubsubsec Scaling durations
289
290 Vous pouvez altérer la durée des notes en leur joignant une fraction
291 @var{N/M}, donnant @q{@code{*}@var{N/M}} --- ou @q{@code{*}@var{N}} si
292 @var{M=1}.  Ceci n'affectera pas l'apparence des notes ou silences
293 produits.
294
295 Dans l'exemple suivant, les trois premières notes prennent exactement
296 deux temps, mais aucun triolet n'est imprimé.
297
298 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
299 \time 2/4
300 a4*2/3 gis4*2/3 a4*2/3
301 a4 a4 a4*2
302 b16*4 c4
303 @end lilypond
304
305
306 @seealso
307
308 Dans ce manuel : @ref{Tuplets}.
309
310
311 @node Writing rests
312 @subsection Writing rests
313
314 @menu
315 * Rests::                       
316 * Skips::                       
317 * Multi measure rests::         
318 @end menu
319
320 @node Rests
321 @unnumberedsubsubsec Rests
322 @cindex silences
323
324 @funindex \rest
325 @funindex r
326
327 Les silences sont écrits comme des notes avec le nom de note @code{r}.
328
329 @lilypond[fragment,quote,ragged-right,verbatim]
330 r1 r2 r4 r8
331 @end lilypond
332
333 Les pauses d'une mesure complète, qui sont placées au centre de la
334 mesure, doivent être entrées comme des mesures de silence.  Elles
335 peuvent être utilisées pour une seule mesure comme pour plusieurs, et
336 leur utilisation est expliquée dans la section
337 @ref{Multi measure rests}.
338
339 Pour spécifier explicitement la position verticale d'un silence, écrivez
340 une note suivie de @code{\rest}.  Un silence sera placé à la position où
341 serait imprimée la note.
342
343 @lilypond[fragment,quote,ragged-right,verbatim]
344 a'4\rest d'4\rest
345 @end lilypond
346
347 @noindent
348 Cela rend plus facile la mise en place de la musique polyphonique,
349 puisque le formateur automatique de collision des silences laissera ces
350 silences tranquilles.
351
352 @seealso
353
354 Référence du programme : @rinternals{Rest}.
355
356
357 @node Skips
358 @unnumberedsubsubsec Skips
359
360 @cindex sauts de durée
361 @cindex silences invisibles
362 @cindex silences d'espacement
363 @funindex \skip
364 @funindex s
365
366 Un silence invisible --- que l'on pourrait appeler un @qq{saut} ---
367 peut être entré comme une note avec le nom de note `@samp{s}' ou avec
368 @code{\skip @var{durée}}
369
370 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
371 a4 a4 s4 a4 \skip 1 a4
372 @end lilypond
373
374 La syntaxe @code{s} est seulement disponible pour les modes d'entrée
375 de notes et d'accords.  Dans d'autres situations, pour l'entrée de
376 paroles par exemple, vous devrez utiliser la commande @code{\skip}.
377
378 @lilypond[quote,ragged-right,verbatim]
379 <<
380   \relative { a'2 a2 }
381   \new Lyrics \lyricmode { \skip 2 bla2 }
382 >>
383 @end lilypond
384
385 La commande de saut génère simplement une case musicale vide.  Elle ne
386 produit rien sur la partition, pas même un symbole transparent.  Le code
387 de saut @code{s} crée tout de même une @rinternals{Staff} et une
388 @rinternals{Voice} lorsque nécessaire, tout comme les commandes de
389 note et de silence.  Ainsi, le code suivant aboutit à une portée vide.
390
391 @lilypond[quote,ragged-right,verbatim]
392 { s4 }
393 @end lilypond
394
395 Le fragment @code{@{ \skip 4 @} } produirait une page vide.
396
397 @seealso
398
399 Référence du programme : @rinternals{SkipMusic}.
400
401
402 @node Multi measure rests
403 @unnumberedsubsubsec Multi measure rests
404
405 @cindex mesures à compter
406 @cindex mesure entière de silence
407 @cindex Silences, multi-mesures
408 @cindex Silences, mesure entère
409 @cindex une pause par mesure
410 @funindex R
411
412 Un silence valant une ou plusieurs mesures entières s'entre avec un
413 @samp{R} majuscule.  Ceci ne peut être utile que pour une mesure complètement
414 vide, et pour générer des parties séparées : ce silence sera alors
415 répété sur autant de mesures que nécessaire, ou bien imprimé une seule
416 fois.  La répétition est contrôlée par la propriété
417 @code{Score.skipBars}.  Au cas où ce commutateur est défini comme
418 vrai (lettre @code{##t} pour @q{true}), les mesures vides ne seront pas répétées, et le nombre exact de
419 mesures sera ajouté.
420
421 @lilypond[quote,ragged-right,fragment,verbatim]
422 \time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
423 \set Score.skipBars = ##t R1*17 R1*4
424 @end lilypond
425
426 Le @code{1} de @code{R1} est le même que celui utilisé pour la durée
427 des notes.  Vous devrez donc, si le morceau n'est pas à 4/4, stipuler
428 un autre durée, qui pourra contenir des points d'augmentation ou être
429 libellé sous forme de fraction :
430
431 @lilypond[quote,ragged-right,fragment,verbatim]
432 \set Score.skipBars = ##t
433 \time 3/4
434 R2. | R2.*2
435 \time 13/8
436 R1*13/8
437 R1*13/8*12 |
438 \time 10/8 R4*5*4 |
439 @end lilypond
440
441 Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
442 une pause, tantôt comme une brève, et sera centré sur la mesure
443 quelle que soit la métrique.
444
445 Dans le cas où ce silence ne dure que quelques mesures, LilyPond
446 imprime sur la portée des @qq{ silences d'église }, simple suite de
447 rectangles.  La propriété @code{MultiMeasureRest.expand-limit} permet
448 d'obtenir un silence unique.
449
450 @lilypond[quote,ragged-right,fragment,verbatim]
451 \set Score.skipBars = ##t
452 R1*2 | R1*5 | R1*9
453 \override MultiMeasureRest #'expand-limit = 1
454 R1*2 | R1*5 | R1*9
455 @end lilypond
456
457 @cindex texte et silence multi-mesures
458 @cindex script et silence multi-mesures
459 @cindex point d'orgue et silence multi-measures
460
461 Vous pouvez aussi ajouter du texte à un silence multi-mesures en utilisant
462 la syntaxe @var{note}-@code{markup} (cf. @ref{Formatting text}).  La
463 variable @code{\fermataMarkup} permet d'ajouter un point d'orgue.
464
465 @lilypond[quote,ragged-right,verbatim,fragment]
466 \set Score.skipBars = ##t
467 \time 3/4
468 R2.*10^\markup { \italic "ad lib." }
469 R2.^\fermataMarkup
470 @end lilypond
471
472 Attention !  c'est @code{MultiMeasureRestText} qui créera le texte, et
473 non @code{TextScript}.
474
475 @lilypond[quote,ragged-right,verbatim,fragment]
476 \override TextScript #'padding = #5
477 R1^"low"
478 \override MultiMeasureRestText #'padding = #5
479 R1^"high"
480 @end lilypond
481
482 Pour aligner votre texte sur le début de la mesure, rattachez-le à un
483 silence invisible de longueur zéro comme ceci :
484
485 @example
486 s1*0^"Allegro"
487 R1*4
488 @end example
489
490
491 @seealso
492
493 Référence du programme : @rinternals{MultiMeasureRestMusic},
494 @rinternals{MultiMeasureRest}.
495
496 L'objet de rendu @rinternals{MultiMeasureRestNumber} traite les
497 nombres, et @rinternals{MultiMeasureRestText} le texte ajouté par
498 l'utilisateur. 
499
500
501 @knownissues
502
503 Vous ne pouvez pas utiliser de doigtés (p.ex. @code{R1-4}) pour
504 positionner des nombres au dessus d'un silence multi-mesures, ni
505 modifier la hauteur.
506
507 @cindex condenser les silences
508
509 Condenser plusieurs silences en un unique silence multi-mesures ne peut 
510 être automatisé.  Les silences multi-mesures peuvent générer des
511 collisions avec d'autres silences.
512
513 Pensez à indiquer explicitement la durée de la note qui suit un
514 silence multi-mesures, car elle sera par défaut égale à la durée totale
515 des mesures à compter. Ainsi, dans l'exemple ci-après, les deux do
516 dièses vaudront chacun quatre mesures à 4/4.
517 @example
518 R1*4 cis cis
519 @end example
520 Lorsque @code{skipBars} est activé, le résultat semblera correct, mais
521 la numérotation des mesures sera suspendue. 
522
523
524 @node Displaying rhythms
525 @subsection Displaying rhythms
526
527 @menu
528 * Time signature::              
529 * Upbeats::                     
530 * Unmetered music::             
531 * Polymetric notation::         
532 * Automatic note splitting::    
533 @end menu
534
535 @node Time signature
536 @unnumberedsubsubsec Time signature
537
538 @cindex chiffrage de mesure
539 @cindex chiffre indicateur de mesure
540 @cindex métrique
541 @funindex \time
542
543 Le chiffre de mesure indique le mètre d'une pièce : une alternance
544 régulière de temps forts et de temps faibles.  Il est indiqué par une
545 fraction au début de la portée.
546
547 Le chiffre de mesure est réglé par la commande @code{\time}.
548
549 @lilypond[quote,ragged-right,fragment,verbatim]
550 \time 2/4 c'2 \time 3/4 c'2.
551 @end lilypond
552
553 @commonprop
554
555 Le symbole imprimé peut être modifié avec la propriété @code{style}.
556 En la réglant sur @code{#'()}, une fraction sera utilisée pour les
557 chiffres de mesure 4/4 et 2/2.
558
559 @lilypond[fragment,quote,ragged-right,verbatim]
560 \time 4/4 c'1
561 \time 2/2 c'1
562 \override Staff.TimeSignature #'style = #'()
563 \time 4/4 c'1
564 \time 2/2 c'1
565 @end lilypond
566
567 Il y a bien d'autres options pour sa mise en place.  Voir @ref{Ancient time
568 signatures} pour plus d'exemples.
569
570 @code{\time} définit les propriétés @code{timeSignatureFraction},
571 @code{beatLength} et @code{measureLength} dans le contexte
572 @code{Timing}, qui en principe est assimilé à @rinternals{Score}.  La
573 propriété @code{measureLength} détermine où des barres de mesure doivent
574 être insérées, et comment les groupements de notes doivent être gérés.
575 La modification de la valeur de @code{timeSignatureFraction} donne
576 également lieu à l'impression d'un symbole.
577
578 Plus d'options sont accessibles au moyen de la fonction Scheme
579 @code{set-time-signature}.  De concert avec le
580 @rinternals{Measure_grouping_engraver}, elle crée les signes de
581 @rinternals{MeasureGrouping}, qui facilitent la lecture de musiques
582 modernes, complexes rythmiquement.  Dans l'exemple suivant, les mesures
583 à 9/8 sont subdivisées en @code{(2 2 2 3)}, ce qui est donné comme
584 argument à la commande @code{set-time-signature}, en troisième position.
585
586 @lilypond[quote,ragged-right,verbatim]
587 \score {
588   \relative c'' {
589     #(set-time-signature 9 8 '(2 2 2 3))
590     g8[ g] d[ d] g[ g] a8[( bes g]) |
591     #(set-time-signature 5 8 '(3 2))
592     a4. g4
593   }
594   \layout {
595     \context {
596       \Staff
597       \consists "Measure_grouping_engraver"
598     }
599   }
600 }
601 @end lilypond
602
603
604 @seealso
605
606 Référence du programme : @rinternals{TimeSignature} et
607 @rinternals{Timing_translator}.
608
609 Exemples : @rlsr{Rhythms}.
610
611
612 @knownissues
613
614 Le groupement automatique des ligatures n'utilise pas les groupements
615 spécifiés par @code{set-time-signature}.
616
617
618 @node Upbeats
619 @unnumberedsubsubsec Upbeats
620
621 @cindex anacrouse
622 @cindex levée
623 @cindex mesure incomplète
624 @funindex \partial
625
626
627 Les mesures incomplètes, telles que les anacrouses ou levées, doivent
628 être entrées avec la commande
629
630 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
631 \partial 16*5 c16 cis d dis e | a2. c,4 | b2
632 @end lilypond
633
634
635 La syntaxe de cette commande est
636
637 @example
638 \partial @var{durée}
639 @end example
640
641 @code{durée} étant la valeur rythmique devant être ajoutée avant la
642 mesure suivante.
643
644 Le programme traduit cette commande en
645
646 @example
647 \set Timing.measurePosition = -@var{durée}
648 @end example
649
650
651 La propriété @code{measurePosition} contient un nombre rationnel qui
652 indique, à ce point précis, où l'on en est de la mesure. Notez qu'il
653 peut s'agir d'un nombre négatif ; @code{\partial 4} signifie, pour le
654 programme : @qq{Dans cette mesure, il reste juste une noire}.
655
656
657 @knownissues
658
659 Cette commande ne prend pas en compte les notes d'ornement ou
660 appoggiatures au début de la musique. Lorsqu'un morceau commence par une
661 levée et avec des petites notes, la commande @code{\partial} devrait être
662 placée après celles-ci.
663
664 @lilypond[verbatim,quote,ragged-right,relative,fragment]
665 \grace f16
666 \partial 4
667 g4
668 a2 g2
669 @end lilypond
670
671 @code{\partial} n'est destiné à être utilisé qu'en début de pièce.
672 Si on l'utilise ailleurs qu'au début, des messages d'erreurs peuvent
673 s'afficher.
674
675
676 @node Unmetered music
677 @unnumberedsubsubsec Unmetered music
678
679 @cindex cadence
680 @funindex \cadenzaOn
681 @funindex \cadenzaOff
682
683
684 Les barres de mesure et les numéros de mesure sont calculés
685 automatiquement, ce qui n'est pas souhaitable dans le cas d'une musique
686 non mesurée --- les cadences, par exemple. Les commandes
687 @code{\cadenzaOn} et @code{\cadenzaOff} permettent de désactiver et de
688 rétablir la métrique automatique.
689
690 @lilypond[verbatim,quote,ragged-right,relative=2,fragment]
691 c4 d e d
692 \cadenzaOn
693 c4 c d8 d d f4 g4.
694 \cadenzaOff
695 \bar "|"
696 d4 e d c
697 @end lilypond
698
699
700 @knownissues
701
702 LilyPond ne change de ligne ou de page qu'au niveau des barres de
703 mesure.  Si votre musique non mesurée dure plus d'une ligne, il vous
704 faudra insérer des barres de mesure invisibles, pour indiquer à quels
705 endroit un saut de ligne peut intervenir.
706
707 @example
708 \bar ""
709 @end example
710
711
712 @node Polymetric notation
713 @unnumberedsubsubsec Polymetric notation
714
715 @cindex métrique composite
716 @cindex composite, métrique
717 @cindex métrique polymétrique
718 @cindex polymétrie
719
720 LilyPond ne gère pas les métriques composites de manière explicite,
721 mais on peut contourner ce problème.  Dans l'exemple suivant,
722 l'indicateur de métrique est obtenu grâce à une étiquette textuelle.
723 Cette étiquette vient s'insérer dans l'objet graphique (@emph{grob})
724 @rinternals{TimeSignature}.
725
726 @lilypond[verbatim,ragged-right]
727 % Create 9/8 split into 2/4 + 5/8
728 tsMarkup = \markup {
729   \override #'(baseline-skip . 2) \number {
730     \column { "2" "4" }
731     \vcenter "+"
732     \bracket \column { "5" "8" }
733   }
734 }
735
736 {
737   \override Staff.TimeSignature #'stencil =
738     #ly:text-interface::print
739   \override Staff.TimeSignature #'text = #tsMarkup
740   \time 9/8
741   c'2 \bar ":" c'4 c'4.
742   c'2 \bar ":" c'4 c'4.
743 }
744 @end lilypond
745
746 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
747 {compound-time-signatures.ly}
748
749 Il arrive aussi que chaque portée ait sa propre métrique.  Vous y
750 parviendrez en déplaçant le @rinternals{Timing_translator} dans le
751 contexte @rinternals{Staff}.
752
753 @example
754 \layout @{
755   \context @{ \Score
756      \remove "Timing_translator"
757      \remove "Default_bar_line_engraver"
758   @}
759   \context @{
760     \Staff
761     \consists "Timing_translator"
762     \consists "Default_bar_line_engraver"
763   @}
764
765 @}
766 @end example
767
768
769 Maintenant, chacune des portées dispose de sa propre métrique.
770 @example
771 <<
772   \new Staff @{
773     \time 3/4
774     c4 c c | c c c |
775   @}
776   \new Staff @{
777     \time 2/4
778     c4 c | c c | c c
779   @}
780   \new Staff @{
781     \time 3/8
782     c4. c8 c c c4. c8 c c
783   @}
784 >>
785 @end example
786
787 @lilypond[quote,ragged-right]
788 \layout{
789   \context{
790      \Score
791      \remove "Timing_translator"
792      \remove "Default_bar_line_engraver"
793     }
794   \context{ \Staff
795     \consists "Timing_translator"
796     \consists "Default_bar_line_engraver"
797   }
798 }
799
800 \relative c' <<
801   \new Staff {
802     \time 3/4
803     c4 c c | c c c |
804   }
805   \new Staff {
806     \time 2/4
807     c4 c | c c | c c
808   }
809   \new Staff {
810     \time 3/8
811     c4. c8 c c c4. c8 c c
812   }
813 >>
814 @end lilypond
815
816
817 Une autre forme de notation polymétrique consiste dans le fait que des
818 notes aient une durée relative différente selon la portée.  
819
820 Vous pouvez créer une telle notation en définissant une métrique
821 commune à toutes les portées,  que vous proratiserez manuellement
822 selon le cas en utilisant @code{timeSignatureFraction} pour obtenir la
823 division adéquate pour chaque portée.  Les durées, dans chacune des
824 portées, seront alors échelonnées par rapport à la métrique commune.
825 L'échelle de représentation se règle avec @code{\scaleDurations} ---
826 qui fonctionne comme @code{\times}, sans toutefois créer de crochet.
827 La syntaxe appropriée est :
828 @example
829 \scaleDurations #'(@var{numérateur} . @var{dénominateur}) @var{exprmusicale}
830 @end example
831
832
833 L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et
834 10/8.  Pour la deuxième portée, les durées sont multipliées par 2/3,
835 de telle sorte que @w{2/3 * 9/8 = 3/4} ; pour la troisième, elles sont
836 multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.
837
838 @lilypond[quote,ragged-right,verbatim,fragment]
839 \relative c' { <<
840   \new Staff {
841     \time 3/4
842     c4 c c | c c c |
843   }
844   \new Staff {
845     \time 3/4
846     \set Staff.timeSignatureFraction = #'(9 . 8)
847     \scaleDurations #'(2 . 3)
848       \repeat unfold 6 { c8[ c c] }
849   }
850   \new Staff {
851     \time 3/4
852     \set Staff.timeSignatureFraction = #'(10 . 8)
853     \scaleDurations #'(3 . 5) {
854       \repeat unfold 2 { c8[ c c] }
855       \repeat unfold 2 { c8[ c] }
856       | c4. c4. \times 2/3 { c8 c c } c4
857     }
858   }
859 >> }
860 @end lilypond
861
862 @seealso
863
864 Exemples : @rlsr{Rhythms}.
865
866 @knownissues
867
868 L'utilisation de métriques différentes en parallèle entraine un
869 alignement vertical.  De ce fait, les barres de mesure ont tendance à
870 fausser l'espacement régulier.
871
872
873 @node Automatic note splitting
874 @unnumberedsubsubsec Automatic note splitting
875
876 On peut convertir automatiquement les notes longues en notes liées.  Il
877 faut pour cela remplacer le graveur @rinternals{Note_heads_engraver}
878 par le graveur @rinternals{Completion_heads_engraver}.  Dans les
879 exemples suivants, les notes dépassant de la mesure sont divisées et
880 liées.
881
882 @lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
883 \new Voice \with {
884   \remove "Note_heads_engraver"
885   \consists "Completion_heads_engraver"
886 } {
887   c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
888 }
889 @end lilypond
890
891 Ce graveur divise toutes les notes qui sortent de la mesure, et insère
892 des liaisons de prolongation.  Une utilisation posible consiste à
893 déboguer des partitions complexes : si les mesures ne sont pas
894 entièrement remplies, alors les liaisons de prolongation montrent
895 exactement la durée des décalages de mesure.
896
897 Si vous voulez permettre un saut de ligne aux barres de mesure où
898 @rinternals{Completion_heads_engraver} divise les notes, vous devez
899 aussi enlever @rinternals{Forbid_line_break_engraver}.
900
901
902 @knownissues
903
904 Bien que toutes les durées --- particulièrement celles contenant des
905 nolets --- ne puissent pas être représentées exactement avec des notes
906 normales et des points, le graveur n'insèrera pas de nolets.
907
908 @code{Completion_heads_engraver} affecte seulement les notes, il ne
909 divise pas les silences.
910
911 @seealso
912
913 Référence du programme : @rinternals{Completion_heads_engraver}.
914
915
916 @node Beams
917 @subsection Beams
918
919 @menu
920 * Automatic beams::             
921 * Manual beams::                
922 * Feathered beams::             
923 @end menu
924
925 @node Automatic beams
926 @unnumberedsubsubsec Automatic beams
927
928 LilyPond décide automatiquement de la manière de grouper les notes et
929 d'imprimer les ligatures.
930
931 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
932 \time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
933 @end lilypond
934
935 Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
936 définir des groupements manuellement --- voir section suivante --- ou
937 personnaliser les groupements automatiques --- voir @ref{Setting
938 automatic beam behavior}.
939
940 La commande @code{\noBeam} peut servir à empêcher des notes
941 individuelles d'être rattachées aux autres.
942
943 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
944 \time 2/4 c8 c\noBeam c c
945 @end lilypond
946
947
948 @seealso
949
950 Référence du programme : @rinternals{Beam}.
951
952
953 @node Manual beams
954 @unnumberedsubsubsec Manual beams
955
956 @cindex groupements de note manuels
957 @cindex ligatures manuelles
958 @funindex ]
959 @funindex [
960
961 Dans certaines situations, il peut s'avérer nécessaire de
962 supplanter l'algorithme de groupement automatique des notes, par
963 exemple pour prolonger une ligature par-dessus un silence ou une barre
964 de mesure.  Le début et la fin de la ligature sont alors indiqués par
965 @code{[} et @code{]}.
966
967 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
968 {
969   r4 r8[ g' a r8] r8 g[ | a] r8
970 }
971 @end lilypond
972
973
974 @commonprop
975
976 @funindex stemLeftBeamCount
977 @funindex stemRightBeamCount
978
979 LilyPond peut déterminer automatiquement les sous-groupes à
980 l'intérieur d'un groupement de notes, bien que le résultat ne soit pas 
981 toujours optimal.  Les propriétés @code{stemLeftBeamCount} et
982 @code{stemRightBeamCount} permettent alors
983 d'ajuster ce comportement.  Lorsque l'une ou l'autre de ces propriétés
984 est définie, elle ne s'applique qu'une seule fois, après quoi sa
985 définition est effacée.
986
987 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
988 {
989    f8[ r16
990       f g a]
991    f8[ r16
992    \set stemLeftBeamCount = #1
993       f g a]
994 }
995 @end lilypond
996
997 La propriété @code{subdivideBeams} sert à grouper les double-croches
998 ou les valeurs plus brèves pulsation par pulsation, la pulsation
999 étant définie par la propriété @code{beatLength}.
1000
1001 @lilypond[fragment,quote,relative=2,verbatim]
1002 c16[ c c c c c c c]
1003 \set subdivideBeams = ##t
1004 c16[ c c c c c c c]
1005 \set Score.beatLength = #(ly:make-moment 1 8)
1006 c16[ c c c c c c c]
1007 @end lilypond
1008 @funindex subdivideBeams
1009
1010 @noindent
1011 Pour plus d'information sur @code{make-moment}, voir
1012 @ref{Time administration}.
1013
1014 Lorsqu'une ligature franchit une barre de mesure, le saut
1015 de ligne est en principe interdit à cet endroit.  Ce comportement peut
1016 être outrepassé en définissant @code{breakable}.
1017
1018 @funindex breakable
1019
1020 @cindex ligatures et sauts de ligne
1021 @cindex ligatures coudées
1022 @cindex auto-knee-gap
1023
1024 LilyPond insère automatiquement des ligatures coudées --- certaines
1025 notes vers le haut, d'autres vers le bas --- lorsqu'il détecte un espace
1026 important entre des têtes de notes. Ce comportement peut être changé par
1027 l'intermédiaire de l'objet @code{auto-knee-gap}
1028
1029
1030 @knownissues
1031
1032 Les ligatures coudées à cheval sur deux portées ne peuvent être
1033 employées en même temps que des portées invisibles.  Voir
1034 @ref{Hiding staves}.
1035
1036 @c Is this still true with skyline spacing stuff? -J.Mandereau
1037 Les ligatures peuvent entrer en collision avec des symboles entourant
1038 les notes, contrairement aux textes ou aux altérations.
1039
1040
1041 @node Feathered beams
1042 @unnumberedsubsubsec Feathered beams
1043
1044 Les ligatures en soufflet s'obtiennent en définissant la propriété
1045 @code{grow-direction} d'une barre de ligature.  La fonction
1046 @code{\featherDurations} sert à ajuster la durée des notes.
1047
1048 @lilypond[ragged-right,relative=1,fragment,verbatim,quote]
1049 \override Beam #'grow-direction = #LEFT
1050 \featherDurations #(ly:make-moment 5 4) 
1051 {
1052   c16[ c c c c c c]
1053 }
1054 @end lilypond
1055
1056 @knownissues
1057
1058 La commande @code{\featherDurations} ne permet de traiter que de très
1059 courts extraits.
1060
1061
1062 @node Bars
1063 @subsection Bars
1064
1065
1066 @menu
1067 * Bar check::                   
1068 * Bar lines::                   
1069 * Bar numbers::                 
1070 * Barnumber check::             
1071 * Rehearsal marks::             
1072 @end menu
1073
1074 @node Bar check
1075 @unnumberedsubsubsec Bar check
1076
1077 @cindex vérification des limites de mesure
1078 @cindex mesures, vérification des limites
1079 @funindex barCheckSynchronize
1080 @funindex |
1081
1082 Les tests de limites de mesure (ou tests de mesure) aident à détecter
1083 les erreurs dans les durées.  Un test de mesure s'écrit avec une barre
1084 verticale, @samp{|}.  Lors du traitement, elle doit correspondre à une
1085 barre de mesure.  Sinon, un avertissement est émis.  Dans l'exemple
1086 suivant, le deuxième test de mesure signale une erreur.
1087 @example
1088 \time 3/4 c2 e4 | g2 |
1089 @end example
1090
1091 Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
1092 @example
1093 \lyricmode @{
1094  \time 2/4
1095  Twin -- kle | Twin -- kle
1096 @}
1097 @end example
1098
1099 Des durées incorrectes font échouer les tests de mesure, et peuvent
1100 souvent mettre la partition sens dessus dessous, particulièrement s'il
1101 s'agit de musique polyphonique.  Vérifier les tests de mesure qui ont
1102 échoué et les durées incorrectes est un bon moyen de commencer à
1103 corriger sa partition.
1104
1105 @funindex |
1106 @funindex pipeSymbol
1107
1108 Il est aussi possible d'attribuer une autre valeur au symbole
1109 @code{|}, en assignant une expression musicale à @code{pipeSymbol},
1110
1111 @lilypond[quote,ragged-right,verbatim]
1112 pipeSymbol = \bar "||"
1113
1114 { c'2 c' | c'2 c' }
1115 @end lilypond
1116
1117
1118 @node Bar lines
1119 @unnumberedsubsubsec Bar lines
1120
1121 @cindex barres de mesure
1122 @funindex \bar
1123 @cindex barres de reprise
1124
1125
1126 Les barres de mesures délimitent les mesures, mais peuvent aussi
1127 indiquer une reprise. En principe, elles sont insérées automatiquement,
1128 et les sauts de ligne ne peuvent avoir lieu qu'au niveau de ces barres.
1129
1130 Il est possible de forcer l'impression d'une barre de mesure spéciale,
1131 avec la commande @code{\bar} :
1132
1133 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1134 c4 \bar "|:" c4
1135 @end lilypond
1136
1137
1138 Les styles de barres de mesure disponibles sont
1139
1140 @c @lilypondfile[ragged-right,quote]{bar-lines.ly}
1141
1142
1143 En plus de cela, on peut demander @code{"||:"}, qui équivaut à
1144 @code{"|:"}, mais qui donnera, en cas de saut de ligne, une double barre
1145 en fin de ligne, et une barre de reprise au début de la ligne suivante.
1146
1147 Il est possible d'autoriser un saut de ligne même s'il n'y a pas
1148 de barre de mesure visible, en utilisant :
1149
1150 @example
1151 \bar ""
1152 @end example
1153
1154 @noindent
1155
1156
1157 Ceci insérera une barre de mesure invisible, et permettra de sauter de
1158 ligne à cet endroit, sans incrémenter le numéro de mesure.
1159
1160
1161 Dans une partition comprenant plusieurs portées, la commande @code{\bar}
1162 placée sur une portée s'applique automatiquement à toutes les
1163 portées. Les barres de mesure que l'on obtient alors sont d'un seul
1164 tenant sur les portées d'un @code{StaffGroup}, d'un @code{PianoStaff} ou
1165 d'un @code{GrandStaff}.
1166
1167 @lilypond[quote,ragged-right,fragment,verbatim]
1168 <<
1169   \new StaffGroup <<
1170     \new Staff {
1171       e'4 d'
1172       \bar "||"
1173       f' e'
1174     }
1175     \new Staff { \clef bass c4 g e g }
1176   >>
1177   \new Staff { \clef bass c2 c2 }
1178 >>
1179 @end lilypond
1180
1181
1182 @commonprop
1183
1184 @funindex whichBar
1185 @funindex repeatCommands
1186 @funindex defaultBarType
1187
1188
1189 La commande @code{\bar }@var{bartype} sert de raccourci pour @code{\set
1190 Timing.whichBar = }@var{bartype}.  Dès que l'on définit @code{whichBar},
1191 une barre de mesure est créée selon le style défini.
1192
1193
1194 Dès que la propriété @code{whichBar} est définie, une barre de mesure
1195 est créée.  À chaque début de mesure, elle prend la valeur de
1196 @code{Timing.defaultBarType}.  La valeur de @code{repeatCommands} sert à
1197 remplacer les barres de mesure par défaut.
1198
1199 Nous vous invitons à utiliser @code{\repeat} pour indiquer les
1200 reprises. Voyez à ce sujet @ref{Repeats}.
1201
1202
1203 @seealso
1204
1205 Dans ce manuel : @ref{Repeats}, @ref{System start delimiters}.
1206
1207 Référence du programme : @rinternals{BarLine} (faisant partie du
1208 contexte @rinternals{Staff}), @rinternals{SpanBar} (sur plusieurs
1209 portées).
1210
1211
1212 @node Bar numbers
1213 @unnumberedsubsubsec Bar numbers
1214
1215 @cindex Mesure, numéro de
1216 @cindex numéros de mesure
1217 @funindex currentBarNumber
1218
1219 Les numéros de mesure sont imprimés par défaut à chaque début de
1220 ligne.  Ce nombre est stocké par la propriété @code{currentBarNumber}
1221 qui sera mis à jour à chaque mesure.
1222
1223 @lilypond[verbatim,ragged-right,quote,fragment,relative]
1224 \repeat unfold 4 {c4 c c c} \break
1225 \set Score.currentBarNumber = #50
1226 \repeat unfold 4 {c4 c c c}
1227 @end lilypond
1228
1229 L'impression d'un numéro de mesure ne peut intervenir que s'il y a une
1230 barre.  Aussi, pour pouvoir le faire au début d'un morceau,
1231 devrez-vous ajouter une barre vide :
1232
1233 @lilypond[verbatim,ragged-right,quote,fragment,relative]
1234 \set Score.currentBarNumber = #50
1235 \bar ""
1236 \repeat unfold 4 {c4 c c c} \break
1237 \repeat unfold 4 {c4 c c c}
1238 @end lilypond
1239
1240 Vous pouvez imprimer un numéro de mesure à intervalles réguliers plutôt
1241 qu'en tête de chaque ligne.  C'est ce qu'illustre l'exemple suivant.
1242
1243 @lilypond[verbatim,ragged-right,quote,fragment,relative]
1244 \override Score.BarNumber #'break-visibility = ##(#f #t #t)
1245 \set Score.currentBarNumber = #11
1246 \bar ""  % Permit first bar number to be printed
1247 % Print a bar number every second measure
1248 \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
1249 c1 c c c c
1250 \break
1251 c c c c c
1252 @end lilypond
1253
1254
1255 Désactiver le graveur concerné --- @code{Bar_number_engraver} ---
1256 donnera une partition sans numéros de mesure.
1257
1258 @lilypond[verbatim,ragged-right,quote]
1259 \layout {
1260   \context {
1261     \Score
1262     \remove "Bar_number_engraver"
1263   }
1264 }
1265 \relative c''{
1266 c4 c c c \break
1267 c4 c c c
1268 }
1269 @end lilypond
1270
1271
1272 @seealso
1273
1274 Référence du programme : @rinternals{BarNumber}.
1275
1276 Exemples : @rlsr{Staff notation}.
1277
1278
1279 @knownissues
1280
1281 Les numéros de mesure peuvent entrer en collision avec les crochets de
1282 @rinternals{StaffGroup}. La propriété @code{padding} --- décalage
1283 --- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
1284 positionnement. 
1285
1286
1287 @node Barnumber check
1288 @unnumberedsubsubsec Barnumber check
1289
1290 Lorsque l'on recopie de longues pièces, il peut être utile de vérifier
1291 que les numéros de mesures de LilyPond correspondent à l'original que
1292 l'on recopie.  Cela se fait avec @code{\barNumberCheck}.  Par exemple,
1293
1294 @verbatim
1295 \barNumberCheck #123
1296 @end verbatim
1297
1298 @noindent
1299 affiche un avertissement lors du traitement si le numéro de mesure à ce
1300 point (variable @code{currentBarNumber}) n'est pas 123.
1301
1302
1303 @node Rehearsal marks
1304 @unnumberedsubsubsec Rehearsal marks
1305
1306 @cindex Repères, indication de
1307 @funindex \mark
1308
1309 Indiquer un repère s'obtient grâce à la commande @code{\mark}.
1310
1311 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1312 c1 \mark \default
1313 c1 \mark \default
1314 c1 \mark #8
1315 c1 \mark \default
1316 c1 \mark \default
1317 @end lilypond
1318
1319 @noindent
1320 La lettre@tie{}@q{I} n'est pas utilisée, conformément aux usages de la
1321 gravure.  Cependant, vous pourrez intégrer la lettre @q{I} en utilisant
1322
1323 @example
1324 \set Score.markFormatter = #format-mark-alphabet
1325 @end example
1326
1327 Lorsque vous utilisez @code{\mark \default}, le repère s'incrémente
1328 automatiquement ; toutefois donner un nombre en argument permet de
1329 spécifier manuellement le repère en question.  La valeur à utiliser
1330 est enregistrée dans la propriété @code{rehearsalMark}.
1331
1332 Le style du repère est déterminé par la propriété
1333 @code{markFormatter}.  Il s'agit d'une fonction qui prend en arguments
1334 le repère en cours (un entier) ainsi que le contexte en cours, et
1335 retournera un objet de type étiquette.  Dans l'exemple qui suit,
1336 @code{markFormatter} est réglé pour une procédure type. Quelques
1337 mesure plus loin, son comportement est modifié pour imprimer un
1338 repère encadré.
1339
1340 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
1341 \set Score.markFormatter = #format-mark-numbers
1342 c1 \mark \default
1343 c1 \mark \default
1344 \set Score.markFormatter = #format-mark-box-numbers
1345 c1 \mark \default
1346 c1 \mark \default
1347 c1
1348 @end lilypond
1349
1350 Le fichier @file{scm/@/translation@/-functions@/.scm} comporte les
1351 définitions de @code{format-mark-numbers} (comportement par défaut), 
1352 @code{format-mark-box-numbers},
1353 @code{format-mark-letters} et @code{format-mark-box-letters}.  Vous
1354 pouvez vous en inspirer pour d'autres fonctions de formatage.
1355
1356 @code{format-mark-barnumbers}, @code{format-mark-box-barnumbers} et 
1357 @code{format-mark-circle-barnumbers}  permettent d'imprimer le numéro
1358 de mesure au lieu des compteurs alphabétique ou numérique.
1359
1360 On peut aussi spécifier manuellement une marque de repère :
1361
1362 @example
1363 \mark "A1"
1364 @end example
1365
1366 @noindent
1367 @code{Score.markFormatter} sera sans effet sur des repères ainsi
1368 définis.  Un @code{\markup} peut néanmoins s'utiliser en argument.
1369
1370 @example
1371 \mark \markup@{ \box A1 @}
1372 @end example
1373
1374 @cindex segno
1375 @cindex coda
1376 @cindex D.S al Fine
1377
1378 Un @code{\mark} peut contenir un glype musical tel que le signe
1379 @emph{segno}.  
1380
1381 @lilypond[fragment,quote,ragged-right,verbatim,relative]
1382 c1 \mark \markup { \musicglyph #"scripts.segno" }
1383 c1 \mark \markup { \musicglyph #"scripts.coda" }
1384 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
1385 c1
1386 @end lilypond
1387
1388 @noindent
1389 Pour connaître les différents symboles accessibles par
1390 @code{\musicglyph}, consultez @ref{The Feta font}.
1391
1392 Pour affiner le positionnement des repères, veuillez vous référer à
1393 @ref{Text marks}.
1394
1395 @seealso
1396
1397 Dans ce manuel : @ref{Text marks}.
1398
1399 Référence du programme : @rinternals{RehearsalMark}.
1400
1401 Fichiers d'initialisation : @file{scm/@/translation@/-functions@/.scm}
1402 contient les définitions de @code{format-mark-numbers} et
1403 @code{format-mark-letters}.  Elles seront source d'inspiration pour
1404 d'autres fonctions de formatage.
1405
1406 Exemples : @rlsr{Rhythms}, @rlsr{Expressive marks}.
1407
1408
1409 @node Special rhythmic concerns
1410 @subsection Special rhythmic concerns
1411
1412
1413 @menu
1414 * Grace notes::                 
1415 * Aligning to cadenzas::        
1416 * Time administration::         
1417 * Proportional notation (introduction)::  
1418 @end menu
1419
1420 @node Grace notes
1421 @unnumberedsubsubsec Grace notes
1422
1423 @funindex \grace
1424 @cindex ornements
1425 @cindex notes d'ornement
1426 @cindex appoggiature
1427 @cindex accacciature
1428 @cindex petite note
1429
1430
1431 Les petites notes sont des ornements entièrement écrits.  Les plus
1432 courantes sont les accacciatures, qui doivent se jouer très vite,
1433 et qui s'écrivent sous forme d'une petite note barrée (sur la hampe)
1434 et liée.  L'appoggiature est une petite note non barrée, qui vole
1435 une fraction à la durée de la note réelle qui la suit.
1436
1437 Ces petites notes sont entrées avec les commandes @code{\acciaccatura}
1438 et @code{\appoggiatura}, comme le montre l'exemple suivant :
1439
1440 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1441 b4 \acciaccatura d8 c4 \appoggiatura e8 d4
1442 \acciaccatura { g16[ f] } e4
1443 @end lilypond
1444
1445
1446 Ce sont là deux formes spéciales de la commande @code{\grace}, qui prend
1447 en charge toutes les petites notes. Si on la fait suivre d'une
1448 expression musicale, un groupe de petites notes sera créé, sans impact
1449 sur la métrique.
1450
1451 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1452 c4 \grace c16 c4
1453 \grace { c16[ d16] } c2 c4
1454 @end lilypond
1455
1456 @noindent
1457 Contrairement à @code{\acciaccatura} ou @code{\appoggiatura}, la 
1458 commande @code{\grace} ne provoque pas de liaison.
1459
1460 La durée des petites notes est interprétée par le programme en fonction
1461 d'un deuxième compteur de temps, le chronomètre @code{grace}.  Chaque
1462 instant est défini par deux nombres rationnels : le premier compte les
1463 durées réelles, le second compte la durée des petites notes.  Reprenons
1464 l'exemple ci-dessus en y ajoutant ces couples de nombres :
1465
1466 @lilypond[quote,ragged-right]
1467 <<
1468   \relative c''{
1469     c4 \grace c16 c4 \grace {
1470     c16[ d16] } c2 c4
1471   }
1472   \new Lyrics \lyricmode {
1473     \override LyricText #'font-family = #'typewriter
1474
1475     \markup { (0,0) } 4
1476     \grace { \markup {
1477       ( \fraction 1 4 , \fraction -1 16 ) } 16 }
1478     \markup { (\fraction 1 4 , 0 ) } 4
1479     \grace {
1480       \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
1481       \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
1482     }
1483     \markup { ( \fraction 2 4 , 0 ) }
1484   }
1485 >>
1486 @end lilypond
1487
1488 Les petites notes se placent de façon synchrone entre les différentes
1489 portées.  Dans l'exemple suivant, il y a deux petites double-croches
1490 pour chaque petite croche.
1491
1492 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1493 << \new Staff { e4 \grace { c16[ d e f] } e4 }
1494    \new Staff { c4 \grace { g8[ b] } c4 } >>
1495 @end lilypond
1496
1497 @funindex \afterGrace
1498
1499 La commande @code{\afterGrace} sert à placer une petite note après une
1500 note réelle --- et non @emph{avant} comme d'ordinaire.  Cette commande
1501 requiert deux arguments : la note réelle, et la ou les petites notes qui
1502 suivent.
1503
1504 @lilypond[ragged-right, verbatim,relative=2,fragment]
1505 c1 \afterGrace d1 { c16[ d] } c4
1506 @end lilypond
1507
1508 Les petites notes se placent alors aux 3/4 de la durée de la note
1509 réelle.  Cette fraction peut être changée en définissant
1510 @code{afterGraceFraction} ; ainsi,
1511
1512 @example
1513 #(define afterGraceFraction (cons 7 8))
1514 @end example
1515
1516 @noindent
1517 placera la petite note à 7/8 de la note réelle.
1518
1519 On peut obtenir le même effet manuellement, de la façon suivante :
1520
1521 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1522 \new Voice {
1523   << { d1^\trill_( }
1524      { s2 \grace { c16[ d] } } >>
1525   c4)
1526 }
1527 @end lilypond
1528
1529 @noindent
1530 Le silence invisible peut être plus ou moins long --- ici c'est une
1531 demi-pause --- afin d'ajuster l'espace entre la note réelle et les
1532 petites notes.
1533
1534 Les expressions @code{\grace} obéissent à des règles typographiques
1535 particulières, notamment pour régler l'orientation et la taille des
1536 objets.  De ce fait, toute subtilité de mise en forme devra être
1537 indiquée @emph{à l'intérieur} de l'expression introduite par
1538 @code{\grace} :
1539
1540 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1541 \new Voice {
1542   \acciaccatura {
1543     \stemDown
1544     f16->
1545     \stemNeutral
1546   }
1547   g4
1548 }
1549 @end lilypond
1550
1551 @noindent
1552 Tous les réglages ajoutés doivent également être désactivés dans cette
1553 même expression.
1554
1555 Il est possible de changer globalement la mise en forme des petites
1556 notes dans un morceau, au moyen de la fonction
1557 @code{add-grace-property}.  Ici, par exemple, on ôte la définition de
1558 l'orientation des objets @code{Stem} pour toutes les petites notes, afin
1559 que les hampes ne soient pas toujours orientées vers le haut.
1560
1561 @example
1562 \new Staff @{
1563  #(add-grace-property 'Voice 'Stem 'direction '())
1564  @dots{}
1565 @}
1566 @end example
1567
1568 @noindent
1569 Il est par ailleurs possible de modifier les variables
1570 @code{startGraceMusic}, @code{stopGraceMusic},
1571 @code{startAcciaccaturaMusic}, @code{stopAcciaccaturaMusic},
1572 @code{startAppoggiaturaMusic}, et @code{stopAppoggiaturaMusic}.
1573 Pour plus de détails, voir le fichier @file{ly/@/grace@/-init@/.ly}.
1574
1575 @noindent
1576 Le trait que l'on trouve sur les hampes des accacciatures peut
1577 être appliqué dans d'autres situations en définissant @*
1578 @code{\override Stem  #'stroke-style = #"grace"}.
1579
1580
1581 @commonprop
1582
1583 Il est possible de forcer l'élasticité de l'espacement des notes d'agrément.
1584
1585 @lilypond[relative=2,ragged-right]
1586 <<
1587   \override Score.SpacingSpanner #'strict-grace-spacing = ##t
1588   \new Staff {
1589      c'4
1590      \afterGrace
1591      c'4
1592      { c'16[ c'8 c'16] }
1593      c'4
1594   }  
1595   \new Staff {
1596      c'16[ c'16 c'16 c'16]
1597      c'16[ c'16 c'16 c'16]
1598      c'4
1599   }
1600 >>
1601 @end lilypond
1602
1603
1604 @seealso
1605
1606 Référence du programme : @rinternals{GraceMusic}.
1607
1608
1609 @knownissues
1610
1611 Une partition commençant par une expression @code{\grace} doit faire
1612 intervenir la commande @code{\new Voice}, sans quoi la note réelle et
1613 la petite note se retrouveront sur des portées différentes.
1614
1615 La synchronisation des petites notes se fait de façon parfois
1616 surprenante, car les autres objets de la portée --- barres de mesure,
1617 armures, etc. --- sont eux aussi synchrones. Pensez-y lorsque vous
1618 mélez des portées comprenant des petites notes et d'autres sans :
1619
1620 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1621 << \new Staff { e4 \bar "|:" \grace c16 d4 }
1622    \new Staff { c4 \bar "|:" d4 } >>
1623 @end lilypond
1624
1625 @noindent
1626 Il est possible de remédier à cela en insérant sur les autres portées
1627 des silences invisibles dans une expression précédée de @code{\grace},
1628 correspondant à la durée des petites notes.
1629
1630 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1631 << \new Staff { e4 \bar "|:" \grace c16 d4 }
1632    \new Staff { c4 \bar "|:" \grace s16 d4 } >>
1633 @end lilypond
1634  
1635 Seules des expressions musicales séquentielles peuvent être utilisées
1636 pour des petites notes ; il n'est pas possible d'imbriquer ni de
1637 juxtaposer des sections de petites notes, faute de quoi le traitement du
1638 code peut échouer ou produire des erreurs.
1639
1640
1641 @node Aligning to cadenzas
1642 @unnumberedsubsubsec Aligning to cadenzas
1643
1644 Dans un contexte orchestral, une cadence constitue un problème
1645 spécifique.  Lors du montage d'une partition contenant une cadence,
1646 tous les autres instruments doivent sauter autant de notes que ce
1647 qu'en comporte la cadence, faute de quoi il démarreraient trop tôt ou
1648 trop tard. 
1649
1650 Les fonctions @code{mmrest-of-length} ou @code{skip-of-length}
1651 permettent de résoudre ce problème.  Ces fonctions Scheme prennent en
1652 argument un fragment de musique, et génèrent un @code{\skip} ou un
1653 silence multi-mesures d'une durée correspondant à ce fragment.
1654 L'exemple qui suit illustre l'utilisation de @code{mmrest-of-length}. 
1655
1656 @lilypond[verbatim,ragged-right,quote]
1657 cadenza = \relative c' {
1658   c4 d8 << { e f g } \\ { d4. } >>
1659   g4 f2 g4 g
1660 }
1661
1662 \new GrandStaff <<
1663   \new Staff { \cadenza c'4 }
1664   \new Staff {
1665     #(ly:export (mmrest-of-length cadenza))
1666     c'4
1667   }
1668 >>
1669 @end lilypond
1670
1671
1672 @node Time administration
1673 @unnumberedsubsubsec Time administration
1674
1675 @cindex temps, gestion du
1676
1677 Le temps est administré par le @rinternals{Time_signature_engraver},
1678 qui réside en principe dans le contexte @rinternals{Score}.  Sa
1679 gestion traite les variables suivantes :
1680
1681 @table @code
1682 @item currentBarNumber
1683 Le numéro de mesure.
1684
1685 @item measureLength
1686 La longueur de la mesure, dans la métrique en cours.  Pour une mesure
1687 à 4/4, elle est de@tie{}1, et de 3/4 pour une mesure à 6/8.
1688
1689 @item measurePosition
1690 Le moment où l'on en est dans la mesure en cours.  Cette quantité est
1691 remise à@tie{}0 dès lors qu'on dépasse @code{measureLength} ; la variable
1692 @code{currentBarNumber} est alors incrémentée.  
1693
1694 @item timing
1695 Lorsqu'on lui assigne la valeur @emph{vrai}, les valeurs ci-dessus
1696 mentionnées sont mises à jour à chaque pas.  Fixée à @emph{faux}, le
1697 graveur restera indéfiniment dans la mesure en cours.
1698 @end table
1699
1700 Le calage peut être modifié en réglant explicitement l'une de ces
1701 variables.  Dans l'exemple qui suit, nous réglons la métrique à 4/4,
1702 tout en fixant @code{measureLength} à 5/4.  Un peu plus loin, nous
1703 raccourcissons la mesure de 1/8, en assignant 7/8 à
1704 @code{measurePosition}, alors que nous en sommes à 2/4 dans la
1705 mesure ; la barre de mesure tombera donc à @w{2/4 + 3/8}.  Les 3/8
1706 résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés
1707 à 7/8 de la mesure ;  donc @w{10/8 @minus{} 7/8 = 3/8}.
1708
1709 @lilypond[quote,ragged-right,verbatim,relative,fragment]
1710 \set Score.measureLength = #(ly:make-moment 5 4)
1711 c1 c4
1712 c1 c4
1713 c4 c4
1714 \set Score.measurePosition = #(ly:make-moment 7 8)
1715 b8 b b
1716 c4 c1
1717 @end lilypond
1718
1719 @noindent
1720 Comme le montre cet exemple, @code{ly:make-moment n m} construit une
1721 durée de n/m fois une ronde.  
1722 Par conséquent, @code{ly:make-moment 1 8} correspond à une croche, et
1723 @code{ly:make-moment 7 16} à la durée de sept doubles croches.
1724
1725
1726 @node Proportional notation (introduction)
1727 @unnumberedsubsubsec Proportional notation (introduction)
1728 @cindex Notation proportionnelle
1729
1730 Voir @ref{Proportional notation}.
1731
1732
1733 @c À faire : supprimer tout ça ?
1734
1735 Les notes peuvent s'espacer proportionnellement en assignant une durée
1736 à @code{proportionalNotationDuration}
1737
1738 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
1739 <<
1740   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
1741   \new Staff { c8[ c c c c c]  c4 c2 r2 }
1742   \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
1743 >>
1744 @end lilypond
1745
1746 Manipuler cette propriété affectera l'espacement idéal uniquement pour
1747 des notes consécutives.  Pour obtenir une véritable notation
1748 proportionnelle, vous devrez tenir compte des réglages suivants :
1749
1750 @itemize @bullet
1751
1752 @item La véritable notation proportionnelle exige que des symboles
1753 puissent en écraser d'autres.  Pour y parvenir, il faut retirer le
1754 @rinternals{Separating_line_group_engraver} du contexte
1755 @rinternals{Staff}. 
1756
1757 @item L'influence en matière d'espacement induite par le formatage
1758 (clés, barres de mesure, etc) s'annule en assignant
1759 @emph{vrai}@tie{}(#t) à la propriété @code{strict-note-spacing} de
1760 l'objet @rinternals{SpacingSpanner}.
1761
1762 @item Les affinages optiques se règlent en assignant @emph{vrai} à la
1763 propriété @code{uniform-stretching} du @rinternals{SpacingSpanner}. 
1764
1765
1766 @end itemize
1767
1768 @seealso
1769
1770 Exemples : @rlsr{Spacing}.
1771
1772 Le fichier @file{input/proportional.ly} illustre la notation
1773 proportionnelle stricte.
1774
1775