]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/user/rhythms.itely
Merge branch 'master' of ssh+git://hanwen@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 : @lsr{contemporary,compound-time-signature.ly}.
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}.  Voir aussi
725 @lsr{contemporary,compound-time-signature}. 
726
727
728 @lilypond[verbatim,ragged-right]
729 % Create 9/8 split into 2/4 + 5/8
730 tsMarkup = \markup {
731   \override #'(baseline-skip . 2) \number {
732     \column { "2" "4" }
733     \vcenter "+"
734     \bracket \column { "5" "8" }
735   }
736 }
737
738 {
739   \override Staff.TimeSignature #'stencil =
740     #ly:text-interface::print
741   \override Staff.TimeSignature #'text = #tsMarkup
742   \time 9/8
743   c'2 \bar ":" c'4 c'4.
744   c'2 \bar ":" c'4 c'4.
745 }
746 @end lilypond
747
748 Il arrive aussi que chaque portée ait sa propre métrique.  Vous y
749 parviendrez en déplaçant le @rinternals{Timing_translator} dans le
750 contexte @rinternals{Staff}.
751
752 @example
753 \layout @{
754   \context @{ \Score
755      \remove "Timing_translator"
756      \remove "Default_bar_line_engraver"
757   @}
758   \context @{
759     \Staff
760     \consists "Timing_translator"
761     \consists "Default_bar_line_engraver"
762   @}
763
764 @}
765 @end example
766
767
768 Maintenant, chacune des portées dispose de sa propre métrique.
769 @example
770 <<
771   \new Staff @{
772     \time 3/4
773     c4 c c | c c c |
774   @}
775   \new Staff @{
776     \time 2/4
777     c4 c | c c | c c
778   @}
779   \new Staff @{
780     \time 3/8
781     c4. c8 c c c4. c8 c c
782   @}
783 >>
784 @end example
785
786 @lilypond[quote,ragged-right]
787 \layout{
788   \context{
789      \Score
790      \remove "Timing_translator"
791      \remove "Default_bar_line_engraver"
792     }
793   \context{ \Staff
794     \consists "Timing_translator"
795     \consists "Default_bar_line_engraver"
796   }
797 }
798
799 \relative c' <<
800   \new Staff {
801     \time 3/4
802     c4 c c | c c c |
803   }
804   \new Staff {
805     \time 2/4
806     c4 c | c c | c c
807   }
808   \new Staff {
809     \time 3/8
810     c4. c8 c c c4. c8 c c
811   }
812 >>
813 @end lilypond
814
815
816 Une autre forme de notation polymétrique consiste dans le fait que des
817 notes aient une durée relative différente selon la portée.  
818
819 Vous pouvez créer une telle notation en définissant une métrique
820 commune à toutes les portées,  que vous proratiserez manuellement
821 selon le cas en utilisant @code{timeSignatureFraction} pour obtenir la
822 division adéquate pour chaque portée.  Les durées, dans chacune des
823 portées, seront alors échelonnées par rapport à la métrique commune.
824 L'échelle de représentation se règle avec @code{\scaleDurations} ---
825 qui fonctionne comme @code{\times}, sans toutefois créer de crochet.
826 La syntaxe appropriée est :
827 @example
828 \scaleDurations #'(@var{numérateur} . @var{dénominateur}) @var{exprmusicale}
829 @end example
830
831
832 L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et
833 10/8.  Pour la deuxième portée, les durées sont multipliées par 2/3,
834 de telle sorte que @w{2/3 * 9/8 = 3/4} ; pour la troisième, elles sont
835 multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.
836
837 @lilypond[quote,ragged-right,verbatim,fragment]
838 \relative c' { <<
839   \new Staff {
840     \time 3/4
841     c4 c c | c c c |
842   }
843   \new Staff {
844     \time 3/4
845     \set Staff.timeSignatureFraction = #'(9 . 8)
846     \scaleDurations #'(2 . 3)
847       \repeat unfold 6 { c8[ c c] }
848   }
849   \new Staff {
850     \time 3/4
851     \set Staff.timeSignatureFraction = #'(10 . 8)
852     \scaleDurations #'(3 . 5) {
853       \repeat unfold 2 { c8[ c c] }
854       \repeat unfold 2 { c8[ c] }
855       | c4. c4. \times 2/3 { c8 c c } c4
856     }
857   }
858 >> }
859 @end lilypond
860
861
862
863
864 @knownissues
865
866 L'utilisation de métriques différentes en parallèle entraine un
867 alignement vertical.  De ce fait, les barres de mesure ont tendance à
868 fausser l'espacement régulier.
869
870
871 @node Automatic note splitting
872 @unnumberedsubsubsec Automatic note splitting
873
874 On peut convertir automatiquement les notes longues en notes liées.  Il
875 faut pour cela remplacer le graveur @rinternals{Note_heads_engraver}
876 par le graveur @rinternals{Completion_heads_engraver}.  Dans les
877 exemples suivants, les notes dépassant de la mesure sont divisées et
878 liées.
879
880 @lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
881 \new Voice \with {
882   \remove "Note_heads_engraver"
883   \consists "Completion_heads_engraver"
884 } {
885   c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
886 }
887 @end lilypond
888
889 Ce graveur divise toutes les notes qui sortent de la mesure, et insère
890 des liaisons de prolongation.  Une utilisation posible consiste à
891 déboguer des partitions complexes : si les mesures ne sont pas
892 entièrement remplies, alors les liaisons de prolongation montrent
893 exactement la durée des décalages de mesure.
894
895 Si vous voulez permettre un saut de ligne aux barres de mesure où
896 @rinternals{Completion_heads_engraver} divise les notes, vous devez
897 aussi enlever @rinternals{Forbid_line_break_engraver}.
898
899
900 @knownissues
901
902 Bien que toutes les durées --- particulièrement celles contenant des
903 nolets --- ne puissent pas être représentées exactement avec des notes
904 normales et des points, le graveur n'insèrera pas de nolets.
905
906 @code{Completion_heads_engraver} affecte seulement les notes, il ne
907 divise pas les silences.
908
909 @seealso
910
911 Référence du programme : @rinternals{Completion_heads_engraver}.
912
913
914 @node Beams
915 @subsection Beams
916
917 @menu
918 * Automatic beams::             
919 * Manual beams::                
920 * Feathered beams::             
921 @end menu
922
923 @node Automatic beams
924 @unnumberedsubsubsec Automatic beams
925
926 LilyPond décide automatiquement de la manière de grouper les notes et
927 d'imprimer les ligatures.
928
929 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
930 \time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
931 @end lilypond
932
933 Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
934 définir des groupements manuellement --- voir section suivante --- ou
935 personnaliser les groupements automatiques --- voir @ref{Setting
936 automatic beam behavior}.
937
938 La commande @code{\noBeam} peut servir à empêcher des notes
939 individuelles d'être rattachées aux autres.
940
941 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
942 \time 2/4 c8 c\noBeam c c
943 @end lilypond
944
945
946 @seealso
947
948 Référence du programme : @rinternals{Beam}.
949
950
951 @node Manual beams
952 @unnumberedsubsubsec Manual beams
953
954 @cindex groupements de note manuels
955 @cindex ligatures manuelles
956 @funindex ]
957 @funindex [
958
959 Dans certaines situations, il peut s'avérer nécessaire de
960 supplanter l'algorithme de groupement automatique des notes, par
961 exemple pour prolonger une ligature par-dessus un silence ou une barre
962 de mesure.  Le début et la fin de la ligature sont alors indiqués par
963 @code{[} et @code{]}.
964
965 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
966 {
967   r4 r8[ g' a r8] r8 g[ | a] r8
968 }
969 @end lilypond
970
971
972 @commonprop
973
974 @funindex stemLeftBeamCount
975 @funindex stemRightBeamCount
976
977 LilyPond peut déterminer automatiquement les sous-groupes à
978 l'intérieur d'un groupement de notes, bien que le résultat ne soit pas 
979 toujours optimal.  Les propriétés @code{stemLeftBeamCount} et
980 @code{stemRightBeamCount} permettent alors
981 d'ajuster ce comportement.  Lorsque l'une ou l'autre de ces propriétés
982 est définie, elle ne s'applique qu'une seule fois, après quoi sa
983 définition est effacée.
984
985 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
986 {
987    f8[ r16
988       f g a]
989    f8[ r16
990    \set stemLeftBeamCount = #1
991       f g a]
992 }
993 @end lilypond
994
995 La propriété @code{subdivideBeams} sert à grouper les double-croches
996 ou les valeurs plus brèves pulsation par pulsation, la pulsation
997 étant définie par la propriété @code{beatLength}.
998
999 @lilypond[fragment,quote,relative=2,verbatim]
1000 c16[ c c c c c c c]
1001 \set subdivideBeams = ##t
1002 c16[ c c c c c c c]
1003 \set Score.beatLength = #(ly:make-moment 1 8)
1004 c16[ c c c c c c c]
1005 @end lilypond
1006 @funindex subdivideBeams
1007
1008 @noindent
1009 Pour plus d'information sur @code{make-moment}, voir
1010 @ref{Time administration}.
1011
1012 Lorsqu'une ligature franchit une barre de mesure, le saut
1013 de ligne est en principe interdit à cet endroit.  Ce comportement peut
1014 être outrepassé en définissant @code{breakable}.
1015
1016 @funindex breakable
1017
1018 @cindex ligatures et sauts de ligne
1019 @cindex ligatures coudées
1020 @cindex auto-knee-gap
1021
1022 LilyPond insère automatiquement des ligatures coudées --- certaines
1023 notes vers le haut, d'autres vers le bas --- lorsqu'il détecte un espace
1024 important entre des têtes de notes. Ce comportement peut être changé par
1025 l'intermédiaire de l'objet @code{auto-knee-gap}
1026
1027
1028 @knownissues
1029
1030 Les ligatures coudées à cheval sur deux portées ne peuvent être
1031 employées en même temps que des portées invisibles.  Voir
1032 @ref{Hiding staves}.
1033
1034 @c Is this still true with skyline spacing stuff? -J.Mandereau
1035 Les ligatures peuvent entrer en collision avec des symboles entourant
1036 les notes, contrairement aux textes ou aux altérations.
1037
1038
1039 @node Feathered beams
1040 @unnumberedsubsubsec Feathered beams
1041
1042 Les ligatures en soufflet s'obtiennent en définissant la propriété
1043 @code{grow-direction} d'une barre de ligature.  La fonction
1044 @code{\featherDurations} sert à ajuster la durée des notes.
1045
1046 @lilypond[ragged-right,relative=1,fragment,verbatim,quote]
1047 \override Beam #'grow-direction = #LEFT
1048 \featherDurations #(ly:make-moment 5 4) 
1049 {
1050   c16[ c c c c c c]
1051 }
1052 @end lilypond
1053
1054 @knownissues
1055
1056 La commande @code{\featherDurations} ne permet de traiter que de très
1057 courts extraits.
1058
1059
1060 @node Bars
1061 @subsection Bars
1062
1063
1064 @menu
1065 * Bar check::                   
1066 * Bar lines::                   
1067 * Bar numbers::                 
1068 * Barnumber check::             
1069 * Rehearsal marks::             
1070 @end menu
1071
1072 @node Bar check
1073 @unnumberedsubsubsec Bar check
1074
1075 @cindex vérification des limites de mesure
1076 @cindex mesures, vérification des limites
1077 @funindex barCheckSynchronize
1078 @funindex |
1079
1080 Les tests de limites de mesure (ou tests de mesure) aident à détecter
1081 les erreurs dans les durées.  Un test de mesure s'écrit avec une barre
1082 verticale, @samp{|}.  Lors du traitement, elle doit correspondre à une
1083 barre de mesure.  Sinon, un avertissement est émis.  Dans l'exemple
1084 suivant, le deuxième test de mesure signale une erreur.
1085 @example
1086 \time 3/4 c2 e4 | g2 |
1087 @end example
1088
1089 Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
1090 @example
1091 \lyricmode @{
1092  \time 2/4
1093  Twin -- kle | Twin -- kle
1094 @}
1095 @end example
1096
1097 Des durées incorrectes font échouer les tests de mesure, et peuvent
1098 souvent mettre la partition sens dessus dessous, particulièrement s'il
1099 s'agit de musique polyphonique.  Vérifier les tests de mesure qui ont
1100 échoué et les durées incorrectes est un bon moyen de commencer à
1101 corriger sa partition.
1102
1103 @funindex |
1104 @funindex pipeSymbol
1105
1106 Il est aussi possible d'attribuer une autre valeur au symbole
1107 @code{|}, en assignant une expression musicale à @code{pipeSymbol},
1108
1109 @lilypond[quote,ragged-right,verbatim]
1110 pipeSymbol = \bar "||"
1111
1112 { c'2 c' | c'2 c' }
1113 @end lilypond
1114
1115
1116 @node Bar lines
1117 @unnumberedsubsubsec Bar lines
1118
1119 @cindex barres de mesure
1120 @funindex \bar
1121 @cindex barres de reprise
1122
1123
1124 Les barres de mesures délimitent les mesures, mais peuvent aussi
1125 indiquer une reprise. En principe, elles sont insérées automatiquement,
1126 et les sauts de ligne ne peuvent avoir lieu qu'au niveau de ces barres.
1127
1128 Il est possible de forcer l'impression d'une barre de mesure spéciale,
1129 avec la commande @code{\bar} :
1130
1131 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1132 c4 \bar "|:" c4
1133 @end lilypond
1134
1135
1136 Les styles de barres de mesure disponibles sont
1137
1138 @c @lilypondfile[ragged-right,quote]{bar-lines.ly}
1139
1140
1141 En plus de cela, on peut demander @code{"||:"}, qui équivaut à
1142 @code{"|:"}, mais qui donnera, en cas de saut de ligne, une double barre
1143 en fin de ligne, et une barre de reprise au début de la ligne suivante.
1144
1145 Il est possible d'autoriser un saut de ligne même s'il n'y a pas
1146 de barre de mesure visible, en utilisant :
1147
1148 @example
1149 \bar ""
1150 @end example
1151
1152 @noindent
1153
1154
1155 Ceci insérera une barre de mesure invisible, et permettra de sauter de
1156 ligne à cet endroit, sans incrémenter le numéro de mesure.
1157
1158
1159 Dans une partition comprenant plusieurs portées, la commande @code{\bar}
1160 placée sur une portée s'applique automatiquement à toutes les
1161 portées. Les barres de mesure que l'on obtient alors sont d'un seul
1162 tenant sur les portées d'un @code{StaffGroup}, d'un @code{PianoStaff} ou
1163 d'un @code{GrandStaff}.
1164
1165 @lilypond[quote,ragged-right,fragment,verbatim]
1166 <<
1167   \new StaffGroup <<
1168     \new Staff {
1169       e'4 d'
1170       \bar "||"
1171       f' e'
1172     }
1173     \new Staff { \clef bass c4 g e g }
1174   >>
1175   \new Staff { \clef bass c2 c2 }
1176 >>
1177 @end lilypond
1178
1179
1180 @commonprop
1181
1182 @funindex whichBar
1183 @funindex repeatCommands
1184 @funindex defaultBarType
1185
1186
1187 La commande @code{\bar }@var{bartype} sert de raccourci pour @code{\set
1188 Timing.whichBar = }@var{bartype}.  Dès que l'on définit @code{whichBar},
1189 une barre de mesure est créée selon le style défini.
1190
1191
1192 Dès que la propriété @code{whichBar} est définie, une barre de mesure
1193 est créée.  À chaque début de mesure, elle prend la valeur de
1194 @code{Timing.defaultBarType}.  La valeur de @code{repeatCommands} sert à
1195 remplacer les barres de mesure par défaut.
1196
1197 Nous vous invitons à utiliser @code{\repeat} pour indiquer les
1198 reprises. Voyez à ce sujet @ref{Repeats}.
1199
1200
1201 @seealso
1202
1203 Dans ce manuel : @ref{Repeats}, @ref{System start delimiters}.
1204
1205 Référence du programme : @rinternals{BarLine} (faisant partie du
1206 contexte @rinternals{Staff}), @rinternals{SpanBar} (sur plusieurs
1207 portées).
1208
1209
1210 @node Bar numbers
1211 @unnumberedsubsubsec Bar numbers
1212
1213 @cindex Mesure, numéro de
1214 @cindex numéros de mesure
1215 @funindex currentBarNumber
1216
1217 Les numéros de mesure sont imprimés par défaut à chaque début de
1218 ligne.  Ce nombre est stocké par la propriété @code{currentBarNumber}
1219 qui sera mis à jour à chaque mesure.
1220
1221 @lilypond[verbatim,ragged-right,quote,fragment,relative]
1222 \repeat unfold 4 {c4 c c c} \break
1223 \set Score.currentBarNumber = #50
1224 \repeat unfold 4 {c4 c c c}
1225 @end lilypond
1226
1227 L'impression d'un numéro de mesure ne peut intervenir que s'il y a une
1228 barre.  Aussi, pour pouvoir le faire au début d'un morceau,
1229 devrez-vous ajouter une barre vide :
1230
1231 @lilypond[verbatim,ragged-right,quote,fragment,relative]
1232 \set Score.currentBarNumber = #50
1233 \bar ""
1234 \repeat unfold 4 {c4 c c c} \break
1235 \repeat unfold 4 {c4 c c c}
1236 @end lilypond
1237
1238 Vous pouvez imprimer un numéro de mesure à intervalles réguliers plutôt
1239 qu'en tête de chaque ligne.  C'est ce qu'illustre l'exemple suivant,
1240 dont la source complète est 
1241 @lsr{staff,making-bar-numbers-appear-at-regular-intervals.ly}.
1242
1243 @c @lilypondfile[ragged-right,quote]{bar-number-regular-interval.ly}
1244
1245 Désactiver le graveur concerné --- @code{Bar_number_engraver} ---
1246 donnera une partition sans numéros de mesure.
1247
1248 @lilypond[verbatim,ragged-right,quote]
1249 \layout {
1250   \context {
1251     \Score
1252     \remove "Bar_number_engraver"
1253   }
1254 }
1255 \relative c''{
1256 c4 c c c \break
1257 c4 c c c
1258 }
1259 @end lilypond
1260
1261
1262 @seealso
1263
1264 Référence du programme : @rinternals{BarNumber}.
1265
1266 Exemples : @rlsr{Staff notation}.
1267
1268
1269 @knownissues
1270
1271 Les numéros de mesure peuvent entrer en collision avec les crochets de
1272 @rinternals{StaffGroup}. La propriété @code{padding} --- décalage
1273 --- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
1274 positionnement. 
1275
1276
1277 @node Barnumber check
1278 @unnumberedsubsubsec Barnumber check
1279
1280 Lorsque l'on recopie de longues pièces, il peut être utile de vérifier
1281 que les numéros de mesures de LilyPond correspondent à l'original que
1282 l'on recopie.  Cela se fait avec @code{\barNumberCheck}.  Par exemple,
1283
1284 @verbatim
1285 \barNumberCheck #123
1286 @end verbatim
1287
1288 @noindent
1289 affiche un avertissement lors du traitement si le numéro de mesure à ce
1290 point (variable @code{currentBarNumber}) n'est pas 123.
1291
1292
1293 @node Rehearsal marks
1294 @unnumberedsubsubsec Rehearsal marks
1295
1296 @cindex Repères, indication de
1297 @funindex \mark
1298
1299 Indiquer un repère s'obtient grâce à la commande @code{\mark}.
1300
1301 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1302 c1 \mark \default
1303 c1 \mark \default
1304 c1 \mark #8
1305 c1 \mark \default
1306 c1 \mark \default
1307 @end lilypond
1308
1309 @noindent
1310 La lettre@tie{}@q{I} n'est pas utilisée, conformément aux usages de la
1311 gravure.  Cependant, vous pourrez intégrer la lettre @q{I} en utilisant
1312
1313 @example
1314 \set Score.markFormatter = #format-mark-alphabet
1315 @end example
1316
1317 Lorsque vous utilisez @code{\mark \default}, le repère s'incrémente
1318 automatiquement ; toutefois donner un nombre en argument permet de
1319 spécifier manuellement le repère en question.  La valeur à utiliser
1320 est enregistrée dans la propriété @code{rehearsalMark}.
1321
1322 Le style du repère est déterminé par la propriété
1323 @code{markFormatter}.  Il s'agit d'une fonction qui prend en arguments
1324 le repère en cours (un entier) ainsi que le contexte en cours, et
1325 retournera un objet de type étiquette.  Dans l'exemple qui suit,
1326 @code{markFormatter} est réglé pour une procédure type. Quelques
1327 mesure plus loin, son comportement est modifié pour imprimer un
1328 repère encadré.
1329
1330 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
1331 \set Score.markFormatter = #format-mark-numbers
1332 c1 \mark \default
1333 c1 \mark \default
1334 \set Score.markFormatter = #format-mark-box-numbers
1335 c1 \mark \default
1336 c1 \mark \default
1337 c1
1338 @end lilypond
1339
1340 Le fichier @file{scm/@/translation@/-functions@/.scm} comporte les
1341 définitions de @code{format-mark-numbers} (comportement par défaut), 
1342 @code{format-mark-box-numbers},
1343 @code{format-mark-letters} et @code{format-mark-box-letters}.  Vous
1344 pouvez vous en inspirer pour d'autres fonctions de formatage.
1345
1346 @code{format-mark-barnumbers}, @code{format-mark-box-barnumbers} et 
1347 @code{format-mark-circle-barnumbers}  permettent d'imprimer le numéro
1348 de mesure au lieu des compteurs alphabétique ou numérique.
1349
1350 On peut aussi spécifier manuellement une marque de repère :
1351
1352 @example
1353 \mark "A1"
1354 @end example
1355
1356 @noindent
1357 @code{Score.markFormatter} sera sans effet sur des repères ainsi
1358 définis.  Un @code{\markup} peut néanmoins s'utiliser en argument.
1359
1360 @example
1361 \mark \markup@{ \box A1 @}
1362 @end example
1363
1364 @cindex segno
1365 @cindex coda
1366 @cindex D.S al Fine
1367
1368 Un @code{\mark} peut contenir un glype musical tel que le signe
1369 @emph{segno}.  
1370
1371 @lilypond[fragment,quote,ragged-right,verbatim,relative]
1372 c1 \mark \markup { \musicglyph #"scripts.segno" }
1373 c1 \mark \markup { \musicglyph #"scripts.coda" }
1374 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
1375 c1
1376 @end lilypond
1377
1378 @noindent
1379 Pour connaître les différents symboles accessibles par
1380 @code{\musicglyph}, consultez @ref{The Feta font}.
1381
1382 Pour affiner le positionnement des repères, veuillez vous référer à
1383 @ref{Text marks}.
1384
1385 @seealso
1386
1387 Dans ce manuel : @ref{Text marks}.
1388
1389 Référence du programme : @rinternals{RehearsalMark}.
1390
1391 Fichiers d'initialisation : @file{scm/@/translation@/-functions@/.scm}
1392 contient les définitions de @code{format-mark-numbers} et
1393 @code{format-mark-letters}.  Elles seront source d'inspiration pour
1394 d'autres fonctions de formatage.
1395
1396 Exemples : @lsr{parts,rehearsal-mark-numbers.ly}
1397
1398
1399 @node Special rhythmic concerns
1400 @subsection Special rhythmic concerns
1401
1402
1403 @menu
1404 * Grace notes::                 
1405 * Aligning to cadenzas::        
1406 * Time administration::         
1407 * Proportional notation (introduction)::  
1408 @end menu
1409
1410 @node Grace notes
1411 @unnumberedsubsubsec Grace notes
1412
1413 @funindex \grace
1414 @cindex ornements
1415 @cindex notes d'ornement
1416 @cindex appoggiature
1417 @cindex accacciature
1418 @cindex petite note
1419
1420
1421 Les petites notes sont des ornements entièrement écrits.  Les plus
1422 courantes sont les accacciatures, qui doivent se jouer très vite,
1423 et qui s'écrivent sous forme d'une petite note barrée (sur la hampe)
1424 et liée.  L'appoggiature est une petite note non barrée, qui vole
1425 une fraction à la durée de la note réelle qui la suit.
1426
1427 Ces petites notes sont entrées avec les commandes @code{\acciaccatura}
1428 et @code{\appoggiatura}, comme le montre l'exemple suivant :
1429
1430 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1431 b4 \acciaccatura d8 c4 \appoggiatura e8 d4
1432 \acciaccatura { g16[ f] } e4
1433 @end lilypond
1434
1435
1436 Ce sont là deux formes spéciales de la commande @code{\grace}, qui prend
1437 en charge toutes les petites notes. Si on la fait suivre d'une
1438 expression musicale, un groupe de petites notes sera créé, sans impact
1439 sur la métrique.
1440
1441 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1442 c4 \grace c16 c4
1443 \grace { c16[ d16] } c2 c4
1444 @end lilypond
1445
1446 @noindent
1447 Contrairement à @code{\acciaccatura} ou @code{\appoggiatura}, la 
1448 commande @code{\grace} ne provoque pas de liaison.
1449
1450 La durée des petites notes est interprétée par le programme en fonction
1451 d'un deuxième compteur de temps, le chronomètre @code{grace}.  Chaque
1452 instant est défini par deux nombres rationnels : le premier compte les
1453 durées réelles, le second compte la durée des petites notes.  Reprenons
1454 l'exemple ci-dessus en y ajoutant ces couples de nombres :
1455
1456 @lilypond[quote,ragged-right]
1457 <<
1458   \relative c''{
1459     c4 \grace c16 c4 \grace {
1460     c16[ d16] } c2 c4
1461   }
1462   \new Lyrics \lyricmode {
1463     \override LyricText #'font-family = #'typewriter
1464
1465     \markup { (0,0) } 4
1466     \grace { \markup {
1467       ( \fraction 1 4 , \fraction -1 16 ) } 16 }
1468     \markup { (\fraction 1 4 , 0 ) } 4
1469     \grace {
1470       \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
1471       \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
1472     }
1473     \markup { ( \fraction 2 4 , 0 ) }
1474   }
1475 >>
1476 @end lilypond
1477
1478 Les petites notes se placent de façon synchrone entre les différentes
1479 portées.  Dans l'exemple suivant, il y a deux petites double-croches
1480 pour chaque petite croche.
1481
1482 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1483 << \new Staff { e4 \grace { c16[ d e f] } e4 }
1484    \new Staff { c4 \grace { g8[ b] } c4 } >>
1485 @end lilypond
1486
1487 @funindex \afterGrace
1488
1489 La commande @code{\afterGrace} sert à placer une petite note après une
1490 note réelle --- et non @emph{avant} comme d'ordinaire.  Cette commande
1491 requiert deux arguments : la note réelle, et la ou les petites notes qui
1492 suivent.
1493
1494 @lilypond[ragged-right, verbatim,relative=2,fragment]
1495 c1 \afterGrace d1 { c16[ d] } c4
1496 @end lilypond
1497
1498 Les petites notes se placent alors aux 3/4 de la durée de la note
1499 réelle.  Cette fraction peut être changée en définissant
1500 @code{afterGraceFraction} ; ainsi,
1501
1502 @example
1503 #(define afterGraceFraction (cons 7 8))
1504 @end example
1505
1506 @noindent
1507 placera la petite note à 7/8 de la note réelle.
1508
1509 On peut obtenir le même effet manuellement, de la façon suivante :
1510
1511 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1512 \new Voice {
1513   << { d1^\trill_( }
1514      { s2 \grace { c16[ d] } } >>
1515   c4)
1516 }
1517 @end lilypond
1518
1519 @noindent
1520 Le silence invisible peut être plus ou moins long --- ici c'est une
1521 demi-pause --- afin d'ajuster l'espace entre la note réelle et les
1522 petites notes.
1523
1524 Les expressions @code{\grace} obéissent à des règles typographiques
1525 particulières, notamment pour régler l'orientation et la taille des
1526 objets.  De ce fait, toute subtilité de mise en forme devra être
1527 indiquée @emph{à l'intérieur} de l'expression introduite par
1528 @code{\grace} :
1529
1530 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
1531 \new Voice {
1532   \acciaccatura {
1533     \stemDown
1534     f16->
1535     \stemNeutral
1536   }
1537   g4
1538 }
1539 @end lilypond
1540
1541 @noindent
1542 Tous les réglages ajoutés doivent également être désactivés dans cette
1543 même expression.
1544
1545 Il est possible de changer globalement la mise en forme des petites
1546 notes dans un morceau, au moyen de la fonction
1547 @code{add-grace-property}.  Ici, par exemple, on ôte la définition de
1548 l'orientation des objets @code{Stem} pour toutes les petites notes, afin
1549 que les hampes ne soient pas toujours orientées vers le haut.
1550
1551 @example
1552 \new Staff @{
1553  #(add-grace-property 'Voice 'Stem 'direction '())
1554  @dots{}
1555 @}
1556 @end example
1557
1558 @noindent
1559 Il est par ailleurs possible de modifier les variables
1560 @code{startGraceMusic}, @code{stopGraceMusic},
1561 @code{startAcciaccaturaMusic}, @code{stopAcciaccaturaMusic},
1562 @code{startAppoggiaturaMusic}, et @code{stopAppoggiaturaMusic}.
1563 Pour plus de détails, voir le fichier @file{ly/@/grace@/-init@/.ly}.
1564
1565 @noindent
1566 Le trait que l'on trouve sur les hampes des accacciatures peut
1567 être appliqué dans d'autres situations en définissant @*
1568 @code{\override Stem  #'stroke-style = #"grace"}.
1569
1570
1571 @commonprop
1572
1573 Il est possible de forcer l'élasticité de l'espacement des notes d'agrément.
1574
1575 @lilypond[relative=2,ragged-right]
1576 <<
1577   \override Score.SpacingSpanner #'strict-grace-spacing = ##t
1578   \new Staff {
1579      c'4
1580      \afterGrace
1581      c'4
1582      { c'16[ c'8 c'16] }
1583      c'4
1584   }  
1585   \new Staff {
1586      c'16[ c'16 c'16 c'16]
1587      c'16[ c'16 c'16 c'16]
1588      c'4
1589   }
1590 >>
1591 @end lilypond
1592
1593
1594 @seealso
1595
1596 Référence du programme : @rinternals{GraceMusic}.
1597
1598
1599 @knownissues
1600
1601 Une partition commençant par une expression @code{\grace} doit faire
1602 intervenir la commande @code{\new Voice}, sans quoi la note réelle et
1603 la petite note se retrouveront sur des portées différentes.
1604
1605 La synchronisation des petites notes se fait de façon parfois
1606 surprenante, car les autres objets de la portée --- barres de mesure,
1607 armures, etc. --- sont eux aussi synchrones. Pensez-y lorsque vous
1608 mélez des portées comprenant des petites notes et d'autres sans :
1609
1610 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1611 << \new Staff { e4 \bar "|:" \grace c16 d4 }
1612    \new Staff { c4 \bar "|:" d4 } >>
1613 @end lilypond
1614
1615 @noindent
1616 Il est possible de remédier à cela en insérant sur les autres portées
1617 des silences invisibles dans une expression précédée de @code{\grace},
1618 correspondant à la durée des petites notes.
1619
1620 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
1621 << \new Staff { e4 \bar "|:" \grace c16 d4 }
1622    \new Staff { c4 \bar "|:" \grace s16 d4 } >>
1623 @end lilypond
1624  
1625 Seules des expressions musicales séquentielles peuvent être utilisées
1626 pour des petites notes ; il n'est pas possible d'imbriquer ni de
1627 juxtaposer des sections de petites notes, faute de quoi le traitement du
1628 code peut échouer ou produire des erreurs.
1629
1630
1631 @node Aligning to cadenzas
1632 @unnumberedsubsubsec Aligning to cadenzas
1633
1634 Dans un contexte orchestral, une cadence constitue un problème
1635 spécifique.  Lors du montage d'une partition contenant une cadence,
1636 tous les autres instruments doivent sauter autant de notes que ce
1637 qu'en comporte la cadence, faute de quoi il démarreraient trop tôt ou
1638 trop tard. 
1639
1640 Les fonctions @code{mmrest-of-length} ou @code{skip-of-length}
1641 permettent de résoudre ce problème.  Ces fonctions Scheme prennent en
1642 argument un fragment de musique, et génèrent un @code{\skip} ou un
1643 silence multi-mesures d'une durée correspondant à ce fragment.
1644 L'exemple qui suit illustre l'utilisation de @code{mmrest-of-length}. 
1645
1646 @lilypond[verbatim,ragged-right,quote]
1647 cadenza = \relative c' {
1648   c4 d8 << { e f g } \\ { d4. } >>
1649   g4 f2 g4 g
1650 }
1651
1652 \new GrandStaff <<
1653   \new Staff { \cadenza c'4 }
1654   \new Staff {
1655     #(ly:export (mmrest-of-length cadenza))
1656     c'4
1657   }
1658 >>
1659 @end lilypond
1660
1661
1662 @node Time administration
1663 @unnumberedsubsubsec Time administration
1664
1665 @cindex temps, gestion du
1666
1667 Le temps est administré par le @rinternals{Time_signature_engraver},
1668 qui réside en principe dans le contexte @rinternals{Score}.  Sa
1669 gestion traite les variables suivantes :
1670
1671 @table @code
1672 @item currentBarNumber
1673 Le numéro de mesure.
1674
1675 @item measureLength
1676 La longueur de la mesure, dans la métrique en cours.  Pour une mesure
1677 à 4/4, elle est de@tie{}1, et de 3/4 pour une mesure à 6/8.
1678
1679 @item measurePosition
1680 Le moment où l'on en est dans la mesure en cours.  Cette quantité est
1681 remise à@tie{}0 dès lors qu'on dépasse @code{measureLength} ; la variable
1682 @code{currentBarNumber} est alors incrémentée.  
1683
1684 @item timing
1685 Lorsqu'on lui assigne la valeur @emph{vrai}, les valeurs ci-dessus
1686 mentionnées sont mises à jour à chaque pas.  Fixée à @emph{faux}, le
1687 graveur restera indéfiniment dans la mesure en cours.
1688 @end table
1689
1690 Le calage peut être modifié en réglant explicitement l'une de ces
1691 variables.  Dans l'exemple qui suit, nous réglons la métrique à 4/4,
1692 tout en fixant @code{measureLength} à 5/4.  Un peu plus loin, nous
1693 raccourcissons la mesure de 1/8, en assignant 7/8 à
1694 @code{measurePosition}, alors que nous en sommes à 2/4 dans la
1695 mesure ; la barre de mesure tombera donc à @w{2/4 + 3/8}.  Les 3/8
1696 résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés
1697 à 7/8 de la mesure ;  donc @w{10/8 @minus{} 7/8 = 3/8}.
1698
1699 @lilypond[quote,ragged-right,verbatim,relative,fragment]
1700 \set Score.measureLength = #(ly:make-moment 5 4)
1701 c1 c4
1702 c1 c4
1703 c4 c4
1704 \set Score.measurePosition = #(ly:make-moment 7 8)
1705 b8 b b
1706 c4 c1
1707 @end lilypond
1708
1709 @noindent
1710 Comme le montre cet exemple, @code{ly:make-moment n m} construit une
1711 durée de n/m fois une ronde.  
1712 Par conséquent, @code{ly:make-moment 1 8} correspond à une croche, et
1713 @code{ly:make-moment 7 16} à la durée de sept doubles croches.
1714
1715
1716 @node Proportional notation (introduction)
1717 @unnumberedsubsubsec Proportional notation (introduction)
1718 @cindex Notation proportionnelle
1719
1720 Voir @ref{Proportional notation}.
1721
1722
1723 @c À faire : supprimer tout ça ?
1724
1725 Les notes peuvent s'espacer proportionnellement en assignant une durée
1726 à @code{proportionalNotationDuration}
1727
1728 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
1729 <<
1730   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
1731   \new Staff { c8[ c c c c c]  c4 c2 r2 }
1732   \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
1733 >>
1734 @end lilypond
1735
1736 Manipuler cette propriété affectera l'espacement idéal uniquement pour
1737 des notes consécutives.  Pour obtenir une véritable notation
1738 proportionnelle, vous devrez tenir compte des réglages suivants :
1739
1740 @itemize @bullet
1741
1742 @item La véritable notation proportionnelle exige que des symboles
1743 puissent en écraser d'autres.  Pour y parvenir, il faut retirer le
1744 @rinternals{Separating_line_group_engraver} du contexte
1745 @rinternals{Staff}. 
1746
1747 @item L'influence en matière d'espacement induite par le formatage
1748 (clés, barres de mesure, etc) s'annule en assignant
1749 @emph{vrai}@tie{}(#t) à la propriété @code{strict-note-spacing} de
1750 l'objet @rinternals{SpacingSpanner}.
1751
1752 @item Les affinages optiques se règlent en assignant @emph{vrai} à la
1753 propriété @code{uniform-stretching} du @rinternals{SpacingSpanner}. 
1754
1755
1756 @end itemize
1757
1758 @seealso
1759
1760 Exemples : @lsr{spacing,proportional@/-spacing@/.ly}, 
1761 @lsr{spacing,proportional@/-strict@/-grace@/-notes@/.ly}, et
1762 @lsr{spacing,proportional@/-strict@/-notespacing@/.ly}
1763
1764 Le fichier @file{input/proportional.ly} illustre la notation
1765 proportionnelle stricte.
1766
1767