1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
|
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
Translation of GIT committish: 39912f861693f1c24b8833e6e9e6ba82eb3e6746
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
@c \version "2.19.29"
@c Translators: Frédéric Chiasson, Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Jean-Charles Malahieude, John Mandereau
@node Notes simultanées
@section Notes simultanées
@translationof Simultaneous notes
@lilypondfile[quote,ragged-right,line-width=16\cm]{simultaneous-headword.ly}
La notion musicale de polyphonie fait référence au fait d'avoir plus
d'une voix simultanément dans une pièce. Dans LilyPond, la notion de
polyphonie fait référence au fait d'avoir plus d'une voix sur la même
portée.
@menu
* Monophonie::
* Plusieurs voix::
@end menu
@node Monophonie
@subsection Monophonie
@translationof Single voice
Nous allons voir ici comment gérer plusieurs notes simultanées dans une
même voix.
@menu
* Notes en accords::
* Répétition d'accords::
* Expressions simultanées::
* Clusters::
@end menu
@node Notes en accords
@unnumberedsubsubsec Notes en accords
@translationof Chorded notes
@cindex accords
@cindex chevrons
@funindex <
@funindex >
@funindex <...>
Un accord est formé en mettant une série de hauteurs entre @code{<}
et @code{>}. Un accord peut être suivi d'une durée comme une simple
note.
@lilypond[verbatim,quote]
\relative {
<a' c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16
}
@end lilypond
Un accord peut être suivi d'une indication d'articulation comme une
simple note.
@lilypond[verbatim,quote]
\relative {
<a' c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^! <g c e>16-.
}
@end lilypond
Certaines notes, au sein même d'un accord, peuvent être affectées d'une
articulation ou d'un ornement :
@lilypond[verbatim,quote]
\relative {
<a' c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4
<a-+ c-->8. <g\fermata c e\turn>16
}
@end lilypond
Certains éléments de notation, tels que nuances et soufflets ne peuvent
se rattacher qu'à un accord et non aux notes qui le composent, sous
peine de ne les voir s'imprimer. D'autres éléments, tels que doigtés ou
liaisons, seront placés différemment selon qu'ils sont rattachés à des
notes composant un accord, à un accord dans sa globalité ou à des notes
individuelles.
@lilypond[verbatim,quote]
\relative {
<a'\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>)
<a c e>\< <a c e> <a c e>\!
}
@end lilypond
@cindex accord vide
@cindex substituant pour événement
Un accord peut se voir comme un conteneur de notes, articulations et
autres éléments rattachés. Par voie de conséquence, un accord dépourvu
de note n'a pas de durée ; toute articulation qui lui serait attachée
interviendra au même moment que la note ou l'accord qui le suit et lui
sera donc combiné -- pour des combinaisons plus complexes, voir
@ref{Expressions simultanées}.
@lilypond[verbatim,quote]
\relative {
\grace { g'8( a b }
<> ) \p \< -. -\markup \italic "sempre staccato"
\repeat unfold 4 { c4 e } c1\f
}
@end lilypond
@cindex accord et mode relatif
@cindex mode relatif et accord
Les accords peuvent être saisis en mode relatif. Dans un accord,
l'octave de chaque hauteur saisie est fonction de la précédente, à
l'exception de la première qui, elle, sera positionnée en fonction de la
première hauteur mentionnée dans l'accord précédent ou de la note
individuelle précédente. Les autres notes au sein de l'accord se
positionnent relativement à la précédente @emph{dans cet accord}.
@lilypond[verbatim,quote]
\relative {
<a' c e>1 <f a c> <a c e> <f' a c> <b, e b,>
}
@end lilypond
Pour plus d'information à propos des accords, voir
@ref{Notation des accords}.
@seealso
Glossaire musicologique :
@rglosnamed{chord,accord}.
Manuel d'initiation :
@rlearning{Combinaison de notes en accords}.
Manuel de notation :
@ref{Articulations et ornements},
@ref{Notation des accords}.
@ref{Octaves relatives},
@ref{Plusieurs voix}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notes simultanées}.
@knownissues
Un accord comportant plus de deux notes dans le même « espace de
portée » -- tel que @samp{<e f! fis!>} -- conduit immanquablement à des
chevauchements. En fonction de la situation, un meilleur rendu peut
nécessiter de recourir à
@itemize
@item
l'utilisation temporaire de @ref{Plusieurs voix},
@samp{<< f! \\ <e fis!> >>},
@item
une transcription enharmonique d'une ou plusieurs hauteurs,
@samp{<e f ges>}, ou
@item
des @ref{Clusters}.
@end itemize
@node Répétition d'accords
@unnumberedsubsubsec Répétition d'accords
@translationof Chord repetition
@cindex accord, répétition
@cindex répétition, utilisation de @code{q}
@cindex @code{q}, répétition d'accord
Dans le but de vous épargner de la saisie, LilyPond dispose d'un
raccourci -- symbolisé par la lettre @code{q} -- qui a pour effet de
répéter le dernier accord saisi :
@lilypond[verbatim,quote]
\relative {
<a' c e>1 q <f a c>2 q
}
@end lilypond
À l'instar de n'importe quel accord, le symbole de répétition peut être
affublé d'une durée, de signes d'articulation, @emph{markups}, liaisons,
ligatures@dots{} En fait, c'est la structure du dernier accord qui est
dupliquée.
@lilypond[verbatim,quote]
\relative {
<a' c e>1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall
}
@end lilypond
Dans la mesure où le symbole de répétition d'accord enregistre la
structure du dernier accord construit, il est tout à fait possible de
l'utiliser même après une succession de notes individuelles et de
silences :
@lilypond[verbatim,quote]
\relative {
<a' c e>1 c'4 q2 r8 q8 |
q2 c, |
}
@end lilypond
Le symbole de répétition d'accord ne prend en charge que les hauteurs,
en aucun cas les nuances, articulations ou ornementations, qu'elles
aient été attachées aux notes le composant ou à l'ensemble.
@lilypond[verbatim,quote]
\relative {
<a'-. c\prall e>1\sfz c'4 q2 r8 q8 |
q2 c, |
}
@end lilypond
Le seul moyen de les reproduire consiste à utiliser explicitement la
fonction @code{\chordRepeats}, en lui adjoignant un argument
supplémentaire qui recense les @var{types d'événement} à répéter et qui
seraient absents de l'accord construit par un @code{q}.
@lilypond[verbatim,quote]
\relative {
\chordRepeats #'(articulation-event)
{ <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
q2 c, |
}
@end lilypond
Comme vous pouvez le constater, l'utilisation de @code{\chordRepeats} au
sein d'un bloc @code{\relative} ne produit pas le résultat
escompté : les événements de l'accord expansés sont identiques à la
saisie traditionnelle d'un accord, ce qui a pour conséquence que l'octave
affectée par @code{\relative} repose sur le contexte en cours.
Dans la mesure où l'imbrication de clauses @code{\relative} n'est pas
source d'interférence, l'ajout d'un @code{\relative} à ce qui sera
concerné par l'instruction @code{\chordRepeats} permet d'établir une
relation d'octave entre les accords dès avant leur expansion. Dans le
cas présent, l'intégralité du bloc @code{\relative} intérieur n'affecte
en rien ce qui l'entoure, ce qui explique la spécification d'octave
attachée à la dernière note :
@lilypond[verbatim,quote]
\new Voice
\relative {
\chordRepeats #'(articulation-event)
\relative
{ <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
q2 c'' |
}
@end lilypond
Les interactions avec @code{\relative} ne se produisent que lors d'un
appel explicite de @code{\chordRepeats} : l'expansion implicite en
début de saisie intervient à un moment où toutes les instances de
@code{\relative} ont déjà été interprétées.
@seealso
Manuel de notation :
@ref{Articulations et ornements},
@ref{Notation des accords}.
Fichiers d'initialisation :
@file{ly/chord-repetition-init.ly}.
@node Expressions simultanées
@unnumberedsubsubsec Expressions simultanées
@translationof Simultaneous expressions
Lorsqu'une ou plusieurs expressions musicales sont encadrées par des
doubles chevrons, elles sont considérées comme étant simultanées. Si la
première expression débute par une note unique ou si l'intégralité de
l'expression simultanée est explicitement rattachée à une voix en
particulier, elle sera placée sur une seule portée. Dans le cas
contraire, les éléments d'une expression simultanée seront placés sur
des portées distinctes.
Voici deux exemples d'expression simultanée sur une même portée :
@lilypond[quote,verbatim]
\new Voice { % explicit single voice
<< \relative { a'4 b g2 }
\relative { d'4 g c,2 } >>
}
@end lilypond
@lilypond[quote,verbatim]
\relative {
% single first note
a' << \relative { a'4 b g }
\relative { d'4 g c, } >>
}
@end lilypond
Cette manière de procéder est utile lorsque les éléments de l'expression
ont des rythmes identiques. Dès que vous tenterez d'attacher sur une
même hampe des notes de durée différente, vous générerez des erreurs.
Notes, articulations et modifications de propriétés au sein d'un même
@code{Voice} sont enregistrées et gravées selon l'ordre musical :
@lilypond[quote,verbatim]
\relative {
<a' c>4-. <>-. << c a >> << { c-. <c a> } { a s-. } >>
}
@end lilypond
La présence de plusieurs hampes, ligatures, durées ou propriétés au même
instant musical nécessite l'utilisation de plusieurs voix.
Dans l'exemple suivant, l'expression simultanée génère implicitement
plusieurs portées :
@lilypond[quote,verbatim]
% no single first note
<< \relative { a'4 b g2 }
\relative { d'4 g2 c,4 } >>
@end lilypond
En pareil cas, des rythmes différents ne sont source d'aucun problème
puisqu'ils sont interprétés dans des voix différentes.
@cindex collisions, ignorer
@knownissues
Des notes, bien qu'appartenant à des voix différentes, mais dont les
hampes ont la même orientation, peuvent se retrouver au même endroit
sur la portée, ce quelque soit le décalage que vous auriez pu leur
appliquer. Ceci ne manque pas de faire apparaître un message
@example
warning: This voice needs a \voiceXx or \shiftXx setting
@emph{en français :}
Avertissement : Cette voix requiert un voiceXx ou un réglage
\shiftXx
@end example
lors de la compilation. Le déclenchement de cet avertissement peut être
désactivé par une clause
@example
\override NoteColumn.ignore-collision = ##t
@end example
Ceci n'aura pas pour seule conséquence que ce message ne sera plus
émis ; les procédures d'évitement de collision de quelqu'ordre que
ce soit seront désactivées, ce qui peut conduire à quelques effets
inattendus (voir aussi @emph{Problèmes connus et avertissements} à la
rubrique @ref{Résolution des collisions}).
@node Clusters
@unnumberedsubsubsec Clusters
@translationof Clusters
@cindex cluster
@funindex \makeClusters
Un cluster indique un agrégat de sons. On peut le représenter par une
plage limitée par un @emph{ambitus} (notes extrêmes). On obtient une
telle notation en appliquant la fonction @code{\makeClusters} à une
séquence d'accords, comme
@lilypond[quote,verbatim]
\relative \makeClusters { <g' b>2 <c g'> }
@end lilypond
Des notes ordinaires et des clusters peuvent cohabiter sur une même
portée, y compris simultanément -- en pareil cas, rien ne sera fait
pour tenter d'empêcher les chevauchements entre notes et clusters.
@seealso
Glossaire musicologique :
@rglos{cluster}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notation simultanée}.
Référence des propriétés internes :
@rinternals{ClusterSpanner},
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
@knownissues
L'apparence d'un cluster sera extrêmement resserrée s'il ne comporte au
moins deux accords.
Dans la mesure où un cluster ne possède pas de hampe, il n'y a aucun
moyen d'en connaître la durée ; cependant la longueur du signe
imprimé dépend directement de la durée affectée aux accords qui le
définissent.
Seul un silence peut séparer deux clusters.
Les clusters ne sont pas reproduits en MIDI.
@node Plusieurs voix
@subsection Plusieurs voix
@translationof Multiple voices
Nous allons nous intéresser, dans les paragraphes qui suivent, à la
gestion de notes simultanées réparties sur plusieurs voix ou plusieurs
portées.
@menu
* Polyphonie sur une portée::
* Styles de voix::
* Résolution des collisions::
* Regroupement automatique de parties::
* Saisie de musique en parallèle::
@end menu
@node Polyphonie sur une portée
@unnumberedsubsubsec Polyphonie sur une portée
@translationof Single-staff polyphony
@cindex polyphonie, portée simple
@cindex portée simple et polyphonie
@cindex voix
@cindex paroles assignées à une voix
@funindex \voiceOne
@funindex \voiceOne ... \voiceFour
@funindex Voice
@funindex \oneVoice
@subsubsubheading Instanciation explicite des voix
La manière la plus facile d'entrer des fragments avec plus d'une voix
sur une portée est la suivante :
@lilypond[quote,verbatim]
\new Staff <<
\new Voice = "first"
\relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
\new Voice= "second"
\relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>
@end lilypond
@noindent
Vous constaterez que les voix sont créées explicitement et qu'elles
sont nommées. Les commandes @code{\voiceOne} @dots{} @code{\voiceFour}
déterminent les voix de telle sorte que les première et troisième
auront des hampes vers le haut, et les deuxième et quatrième vers le
bas. D'autre part, les notes des troisième et quatrième voix seront
quelque peu décalées, tout comme leurs silences, afin d'éviter les
collisions. La commande @code{\oneVoice} permet de retrouver les
réglages par défaut.
@subsubsubheading Polyphonie temporaire
Un fragment temporairement polyphonique se construit de la manière
suivante :
@example
<< @{ \voiceOne ... @}
\new Voice @{ \voiceTwo ... @}
>> \oneVoice
@end example
@noindent
En fait, la première expression d'une polyphonie temporaire reste dans
le même contexte @code{Voice} que celui existant auparavant et qui
perdurera après ce fragment. Les autres expressions entre doubles
chevrons seront assignées à des voix temporaires distinctes. C'est la
raison pour laquelle les paroles qui suivaient la voix avant la
polyphonie continueront à le faire durant ce passage polyphonique et
après lui :
@lilypond[quote,verbatim]
\relative <<
\new Voice = "melody" {
a'4
<<
{
\voiceOne
g f
}
\new Voice {
\voiceTwo
d2
}
>>
\oneVoice
e4
}
\new Lyrics \lyricsto "melody" {
This is my song.
}
>>
@end lilypond
@noindent
Vous remarquerez que les commandes @code{\voiceOne} et @code{\voiceTwo}
permettent d'obtenir des réglages différents pour chacune des voix.
@subsubsubheading La construction avec un double antislash
@cindex couches
@cindex calques
@funindex \\
Une construction de la forme @code{<< @{@dots{}@} \\ @{@dots{}@} >>},
dans laquelle plusieurs expressions sont séparées par des doubles
obliques inversées, se comporte différemment de celle sans séparateur :
@strong{tous} les membres de cette construction seront assignés à de
nouveaux contextes de voix. Ces contextes de voix, créés implicitement,
portent les noms @code{"1"}, @code{"2"}, etc. Dans chacun de ces
contextes, le positionnement des liaisons, la direction des hampes, etc.
sont réglés de manière appropriée. En voici un exemple :
@lilypond[quote,verbatim]
<<
\relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
\\
\relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>
@end lilypond
Cette syntaxe peut être utilisée dans la mesure où la création puis la
disparition de voix temporaires sont sans conséquence. Les réglages de
ces voix créées implicitement sont les mêmes que si elles avaient été
créées à l'aide des commandes @code{\voiceOne} à @code{\voiceFour}, dans
leur ordre d'apparition.
Dans l'exemple qui suit, la voix intermédiaire a des hampes vers le
haut. Nous la plaçons donc en troisième position, de telle sorte
qu'elle adopte les réglages de @code{\voiceThree} qui correspondent à ce
que nous voulons. Grâce à des espaces invisibles, nous évitons de
surcharger la portée avec des demis soupirs.
@lilypond[quote,verbatim]
<<
\relative { r8 g'' g g g f16 ees f8 d }
\\
\relative { ees'8 r ees r d r d r }
\\
\relative { d''8 s c s bes s a s }
>>
@end lilypond
En dehors des cas les plus simples, nous vous invitons à toujours créer
les contextes de voix de manière explicite. Voir à ce sujet
@rlearning{Contextes et graveurs} et
@rlearning{Instanciation explicite des voix}.
@subsubsubheading Ordre des voix
L'ordre dans lequel doivent apparaître les voix d'une construction
simultanée suit le schéma suivant :
@example
Voix 1 : la plus haute
Voix 2 : la plus basse
Voix 3 : deuxième plus haute
Voix 4 : deuxième plus basse
Voix 5 : troisième plus haute
Voix 6 : troisième plus basse
etc.
@end example
Cette présentation en entonnoir peut sembler quelque peu
contre-intuitive ; elle simplifie cependant grandement le processus
de mise en forme. Vous noterez que les hampes des voix au numéro impair
vont vers le haut, celles des voix paires vers le bas :
@lilypond[quote,verbatim]
\new Staff <<
\time 2/4
{ f''2 } % 1: highest
\\
{ c'2 } % 2: lowest
\\
{ d''2 } % 3: second-highest
\\
{ e'2 } % 4: second-lowest
\\
{ b'2 } % 5: third-highest
\\
{ g'2 } % 6: third-lowest
>>
@end lilypond
@warning{Paroles et objets étendus (liaisons, soufflets, etc.) ne peuvent
passer d'une voix à l'autre.}
@subsubsubheading Identité rythmique
Lorsque l'on doit saisir des fragments de musique parallèle qui ont le
même rythme, on peut les combiner dans un contexte de voix unique et par
voie de conséquence former des accords. Il suffit pour cela de les
regrouper dans une construction de musique simultanée simple au sein
d'une voix explicite :
@lilypond[quote,verbatim]
\new Voice <<
\relative { e''4 f8 d e16 f g8 d4 }
\relative { c''4 d8 b c16 d e8 b4 }
>>
@end lilypond
Prenez garde que les différents éléments doivent impérativement avoir la
même structure rythmique, sous peine de ligature aléatoire et de
messages d'avertissement.
@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
@endpredefined
@seealso
Manuel d'initiation :
@rlearning{Instanciation explicite des voix},
@rlearning{Les voix contiennent la musique}.
Manuel de notation :
@ref{Hampes},
@ref{Portées de percussion},
@ref{Silences invisibles}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notation simultanée}.
@node Styles de voix
@unnumberedsubsubsec Styles de voix
@translationof Voice styles
@cindex voix, styles
@cindex style de voix
@cindex colorier des voix
@cindex têtes de note, styles
@funindex \voiceOneStyle
@funindex \voiceTwoStyle
@funindex \voiceThreeStyle
@funindex \voiceFourStyle
@funindex \voiceNeutralStyle
Opter pour des couleurs et des têtes de notes spécifiques selon la voix
permet de les identifier plus facilement :
@lilypond[quote,verbatim]
<<
\relative { \voiceOneStyle d''4 c2 b4 }
\\
\relative { \voiceTwoStyle e'2 e }
\\
\relative { \voiceThreeStyle b2. c4 }
\\
\relative { \voiceFourStyle g'2 g }
>>
@end lilypond
La commande @code{\voiceNeutralStyle} permet de revenir à une
présentation normale.
@predefined
@code{\voiceOneStyle},
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
@endpredefined
@seealso
Manuel d'initiation :
@rlearning{Autres sources de documentation},
@rlearning{J'entends des Voix}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notation simultanée}.
@node Résolution des collisions
@unnumberedsubsubsec Résolution des collisions
@translationof Collision resolution
@cindex fusion de notes
@cindex collision de notes
@cindex collisions
@cindex décalage de note
@cindex note, décalage
@cindex multiples voix
@cindex voix multiples
@cindex polyphonie
@cindex décalage de voix
@cindex voix, décalage
@cindex silences, décalage automatique
@funindex \shiftOn
@funindex \shiftOnn
@funindex \shiftOnnn
@funindex \shiftOff
@funindex \mergeDifferentlyDottedOn
@funindex \mergeDifferentlyDottedOff
@funindex \mergeDifferentlyHeadedOn
@funindex \mergeDifferentlyHeadedOff
Les notes de hauteur identique appartenant à des voix différentes, même
si leur hampe sont opposées, verront leur tête automatiquement
fusionner. Les notes dont la tête diffère ou bien qui ont la hampe
dans la même direction ne seront pas automatiquement fusionnées. Les
silences, lorsqu'ils sont dans une autre voix et à l'opposé des
hampes seront décalés verticalement. Vous constaterez, dans l'exemple
suivant, que la fusion échoue aux premier et troisième temps de la
première mesure, ainsi qu'au premier temps de la deuxième mesure.
@lilypond[quote,verbatim]
<<
\relative {
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
Cependant, vous pouvez fusionner une tête de blanche avec une tête de
croche -- jamais avec une noire. Les têtes du premier temps de la
première mesure ont bien fusionné :
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
De même, vous pouvez fusionner les têtes de notes pointées et
non pointées comme au troisième temps de la première mesure :
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c''8 d e d c d c4
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
Lorsque trois notes ou plus s'agglutinent dans un même empilement,
@code{\mergeDifferentlyHeadedOn} ne peut mener à bien la fusion des deux
notes qui devraient l'être. Pour obtenir une fusion optimale, appliquez
un décalage (@code{\shift}) à la note qui ne devrait pas fusionner.
Ici, on applique un @code{\shiftOn} pour décaler le @notation{sol} de
l'empilement ; le rendement de @code{\mergeDifferentlyHeadedOn} est
alors comme il faut.
@lilypond[quote,verbatim]
<<
\relative {
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c''8 d e d c d c4
\shiftOn
g'2 fis
} \\
\relative {
c''2 c8. b16 c4
e,2 r
} \\
\relative {
\oneVoice
s1
e'8 a b c d2
}
>>
@end lilypond
La commande @code{\shiftOn} permet, sans pour autant le forcer, un
décalage des notes d'une voix en particulier. Une note ou un accord
appartenant à cette voix ne seront décalés que si leur hampe menaçait
d'entrer en collision avec une hampe appartenant à une autre voix allant
dans la même direction. La commande @code{\shiftOff} interdit
l'apparition de décalage.
Les voix externes -- habituellement les voix une et deux -- sont
affectées de @code{\shiftOff}, alors que les voix internes -- trois et
quatre -- sont affectées de @code{\shiftOn}. Lorsqu'un décalage
intervient, les notes dont les hampes sont ascendantes (voix impaire)
iront vers la droite, et les notes à hampe descendante (voix paire)
iront vers la gauche.
Voici un exemple qui vous permettra de bien visualiser ce qui se passe
en interne.
@warning{Lorsqu'il y a trois voix ou plus, prenez garde au fait que
l'ordre d'apparition des voix dans votre fichier ne correspond pas à
l'ordre vertical des voix tel qu'il apparaîtra sur la portée.}
@c KEEP LY
@lilypond[quote,verbatim]
\new Staff \relative {
%% saisie abrégée
<<
{ f''2 } % 1 : extrême haute
\\
{ g,2 } % 2 : extrême basse
\\
{ d'2 } % 3 : intermédiaire haute
\\
{ b2 } % 4 : intermédiaire basse
>>
%% expansion en interne de ce qui précède
<<
\new Voice = "1" { \voiceOne \shiftOff f'2 }
\new Voice = "2" { \voiceTwo \shiftOff g,2 }
\new Voice = "3" { \voiceThree \shiftOn d'2 } % décale à droite
\new Voice = "4" { \voiceFour \shiftOn b2 } % décale à gauche
>>
}
@end lilypond
Les commandes @code{\shiftOnn} et @code{\shiftOnnn} sont des niveaux
supplémentaires de décalage qui peuvent s'adopter temporairement dans
certaines situations complexes -- voir @rlearning{Exemple concret}.
Les têtes de notes ne fusionneront que dans la mesure où leur hampe sont
opposées -- implicitement parce qu'appartenant aux voix une ou deux, ou
bien explicitement.
@predefined
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\mergeDifferentlyHeadedOff}.
@code{\shiftOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
@endpredefined
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{additional-voices-to-avoid-collisions.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
@seealso
Glossaire musicologique :
@rglosnamed{polyphony,polyphonie}.
Manuel d'initiation :
@rlearning{Exemple concret},
@rlearning{Les voix contiennent la musique},
@rlearning{Notes simultanées}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notation simultanée}.
Référence des propriétés internes :
@rinternals{NoteColumn},
@rinternals{NoteCollision},
@rinternals{RestCollision}.
@cindex collisions, ignorer
@knownissues
Une clause @code{\override NoteColumn.ignore-collision = ##t} aura
pour effet une fusion incorrecte des têtes de note différentes à partir
de voix différentes.
@lilypond[quote,verbatim,fragment]
\mergeDifferentlyHeadedOn
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
\override NoteColumn.ignore-collision = ##t
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
@end lilypond
@ignore
@c TODO investigate! Sometimes it works, sometimes not. --FV
The requirements for successfully merging different note heads that
are at the same time differently dotted are not clear.
@end ignore
@node Regroupement automatique de parties
@unnumberedsubsubsec Regroupement automatique de parties
@translationof Automatic part combining
@cindex combinateur de parties
@cindex parties, combiner des
@cindex combinaison de parties
@cindex a due
@cindex solo
@funindex \partcombine
Le regroupement automatique de parties vous permet de fusionner deux
pupitres sur une seule portée, ceci dans le but de créer des
partitions d'orchestre. Lorsque les deux parties sont identiques sur
une certaine durée, une seule s'affiche. Lorsqu'elles diffèrent,
deux voix séparées apparaissent, avec des hampes dont la direction est
gérée automatiquement. Vous pouvez aussi identifier et faire
ressortir les solos et parties @emph{a due}.
Voici la syntaxe qui permet de combiner des parties :
@example
\partcombine @var{expression_musicale_1} @var{expression_musicale_2}
@end example
L'exemple suivant illustre les fonctionnalités élémentaires du
combinateur de parties : positionner les parties sur une portée, gérer
la direction des hampes et de la polyphonie. Les identifiants sont les
mêmes pour la combinaison et les parties séparées.
@lilypond[quote,verbatim]
instrumentOne = \relative {
c'4 d e f |
R1 |
d'4 c b a |
b4 g2 f4 |
e1 |
}
instrumentTwo = \relative {
R1 |
g'4 a b c |
d4 c b a |
g4 f( e) d |
e1 |
}
<<
\new Staff \instrumentOne
\new Staff \instrumentTwo
\new Staff \partcombine \instrumentOne \instrumentTwo
>>
@end lilypond
Les notes de la troisième mesure n'apparaissent qu'une seule fois,
alors qu'elles ont été spécifiées deux fois (une fois dans chacune des
parties). La direction des hampes et des liaisons de tenue ou de phrasé
est gérée automatiquement, selon qu'il s'agisse d'un solo ou d'un
unisson. La première partie, dont le contexte s'appellera @code{one},
aura toujours ses hampes dirigées vers le haut et sera notée « Solo »,
alors que la deuxième, appelée @code{two}, aura des hampes vers le bas
et sera notée « Solo II ». Les parties à l'unisson seront par défaut
estampillées d'un « a2 ».
Par défaut, le combinateur fusionnera deux notes de même hauteur en une
note @notation{a due}, regroupera en accord les notes de même rythme et
dont l'intervalle est inférieur à une neuvième, enfin isolera les notes
séparées de plus d'une neuvième (ou si les voix se croisent) dans des
voix distinctes. Ceci peut s'adapter à l'aide d'une paire de nombres
fournie en argument optionnel à la commande @code{\partcombine} : le
premier nombre spécifie l'intervalle à partir duquel les notes seront
combinées (0 par défaut) et le second celui à partir duquel les notes
seront placées dans des voix séparées. Un second élément de cette paire
à zéro obligera le combinateur à séparer les notes dès la seconde ; s'il
est à un, elles seront séparées à partir de la tierce, et ainsi de
suite.
@lilypond[quote,verbatim]
instrumentOne = \relative {
a4 b c d |
e f g a |
b c d e |
}
instrumentTwo = \relative {
c'4 c c c |
c c c c |
c c c c |
}
<<
\new Staff \partcombine \instrumentOne \instrumentTwo
\new Staff \partcombine #'(2 . 3) \instrumentOne \instrumentTwo
>>
@end lilypond
LilyPond interprète dans un contexte @code{Voice} chacun des arguments
fournis à @code{\partcombine}. Si vous travaillez avec des octaves
relatives, spécifiez @code{\relative} dans chacune des expressions
musicales, comme ceci :
@example
\partcombine
\relative @dots{} @var{expression_musicale_1}
\relative @dots{} @var{expression_musicale_2}
@end example
@noindent
Une section @code{\relative} à l'extérieur du @code{\partcombine}
restera sans effet sur les hauteurs de
@code{@var{expression_musicale_1}} ou de
@code{@var{expression_musicale_2}}.
@funindex \partcombineChords
@funindex \partcombineApart
@funindex \partcombineUnisono
@funindex \partcombineSoloI
@funindex \partcombineSoloII
@funindex \partcombineAutomatic
En matière d'édition professionnelle, les voix sont souvent maintenues
séparément et sur une durée conséquente, bien que les notes des
différentes voix soient les mêmes et pourraient donc être présentées à
l'unisson. Dans la mesure où @code{\partcombine} considère les notes
séparément, combiner des notes en accord ou indiquer un solo ne serait
pas optimal en pareil cas. LilyPond dispose alors de certaines
commandes qui permettent d'influencer le comportement de la fonction
@code{\partcombine}. Ces commandes peuvent se voir préfixées d'un
@code{\once} de sorte à n'affecter que la note qui les suit
directement dans l'expression musicale.
@itemize
@item
@code{\partcombineApart} maintient les notes dans des voix séparées même
si elles peuvent se combiner en accord ou en unisson.
@item
@code{\partcombineChords} combine les notes en accords.
@item
@code{\partcombineUnisono} combine les voix en un « unisson ».
@item
@code{\partcombineSoloI} affiche exclusivement la première voix et
l'affuble d'un « Solo ».
@item
@code{\partcombineSoloII} affiche exclusivement la deuxième voix et
l'affuble d'un « Solo ».
@item
@code{\partcombineAutomatic} annule les effets des dérogations
précédentes et active le comportement standard de la fonction
@code{\partcombine}.
@end itemize
@lilypond[quote,verbatim]
instrumentOne = \relative c' {
\partcombineApart c2^"apart" e |
\partcombineAutomatic e2^"auto" e |
\partcombineChords e'2^"chord" e |
\partcombineAutomatic c2^"auto" c |
\partcombineApart c2^"apart" \once \partcombineChords e^"chord once" |
c2 c |
}
instrumentTwo = \relative {
c'2 c |
e2 e |
a,2 c |
c2 c' |
c2 c |
c2 c |
}
<<
\new Staff { \instrumentOne }
\new Staff { \instrumentTwo }
\new Staff { \partcombine \instrumentOne \instrumentTwo }
>>
@end lilypond
@subsubsubheading Utilisation de @code{\partcombine} et paroles
@cindex \partcombine et paroles
@cindex parloes et \partcombine
La commande @code{\partcombine} n'est pas conçue pour traiter des
paroles ; si l'une des voix est explicitement nommée, afin de lui
adjoindre des paroles, le combinateur de parties cessera de fonctionner.
Toutefois, le recours à un contexte @code{NullVoice} permet d'obtenir
les effets escomptés -- voir @ref{Polyphonie et paroles communes}.
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{combining-two-parts-on-the-same-staff.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
{changing-partcombine-texts.ly}
@seealso
Glossaire musicologique :
@rglos{a due},
@rglosnamed{part,partie}.
Manuel de notation :
@ref{Écriture de parties séparées}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes, Notation simultanée}.
Référence des propriétés internes :
@rinternals{PartCombineMusic},
@rinternals{Voice}.
@knownissues
Les différentes commandes @code{\partcombine@dots{}} ne prennent en
charge que deux voix. De la même manière, le combinateur n'est pas
conçu pour travailler avec des paroles ; il s'arrête dès qu'il est
explicitement fait appel à l'une des voix pour y attacher des paroles.
@code{\partcombine@dots{}} ne peut s'inscrire ni dans un bloc
@code{\tuplet} ni dans un bloc @code{\relative}.
Lorsque @code{printPartCombineTexts} est actif et que les deux voix
jouent souvent les mêmes notes, le combinateur peut afficher @code{a2}
plus d'une fois par mesure.
@code{\partcombine} n'examine que l'attaque des notes. Il n'est donc
pas en mesure de déterminer si une note attaquée précédemment est encore
jouée ou non, ce qui peut engendrer quelques problèmes, entre autres des
indications de « Solo » ou « Unison » incorrectement placées.
@code{\partcombine} conserve les objets étendus (liaisons, soufflets,
etc.) dans la même voix de sorte à éviter qu'ils soient improprement ou
pas du tout imprimés lorsque leur départ ou terminaison est dans une
voix différente.
En interne, @code{\partcombine} interprète les deux arguments en tant
que @code{Voice}s, dénommées @code{one} et @code{two}, puis décide de
quand les parties seront fusionnées. Par conséquent, si les arguments
changent pour d'autres noms de contexte @code{Voice}, les
événements qu'ils contiendraient seront ignorés.
Certaines considérations apparaissent aussi dans les chapitres
@ref{Tablatures par défaut} et @ref{Barres de ligature automatiques}.
@node Saisie de musique en parallèle
@unnumberedsubsubsec Saisie de musique en parallèle
@translationof Writing music in parallel
@cindex écrire la musique en parallèle
@cindex musique en parallèle
@cindex musique entremêlée
@funindex \parallelMusic
On peut écrire plusieurs voix de façon entremêlée. La fonction
@code{\parallelMusic} prend en charge une liste des variables à créer,
ainsi qu'une expression musicale. Le contenu des différentes mesures de
l'expression musicale deviennent les valeurs des variables respectives
que vous pourrez ensuite utiliser pour imprimer la partition.
@warning{Les contrôles de barre de mesure @code{|} sont obligatoires et
les mesures doivent être de longueur identique.}
@lilypond[quote,verbatim]
\parallelMusic #'(voiceA voiceB voiceC) {
% Bar 1
r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
r16 e'8.~ 4 r16 e'8.~ 4 |
c'2 c'2 |
% Bar 2
r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
r16 d'8.~ 4 r16 d'8.~ 4 |
c'2 c'2 |
}
\new StaffGroup <<
\new Staff << \voiceA \\ \voiceB >>
\new Staff { \clef bass \voiceC }
>>
@end lilypond
Vous pouvez travailler en mode relatif. Notez cependant que la commande
@code{\relative} n'apparaît pas au sein du bloc @code{\parallelMusic}.
Le calcul des hauteurs relatives s'effectue voix par voix, et non au fil
des lignes saisies ; en d'autres termes, les notes de la
@code{voiceA} ignorent tout de celles de la @code{voiceB}.
@lilypond[quote,verbatim]
\parallelMusic #'(voiceA voiceB voiceC) {
% Bar 1
r8 g16 c e g, c e r8 g,16 c e g, c e |
r16 e8.~ 4 r16 e8.~ 4 |
c2 c |
% Bar 2
r8 a,16 d f a, d f r8 a,16 d f a, d f |
r16 d8.~ 4 r16 d8.~ 4 |
c2 c |
}
\new StaffGroup <<
\new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
\new Staff \relative c' { \clef bass \voiceC }
>>
@end lilypond
Ceci fonctionne bien avec la musique pour piano. L'exemple suivant
affecte quatre mesures à quatre variables :
@lilypond[quote,verbatim]
global = {
\key g \major
\time 2/4
}
\parallelMusic #'(voiceA voiceB voiceC voiceD) {
% Bar 1
a8 b c d |
d4 e |
c16 d e fis d e fis g |
a4 a |
% Bar 2
e8 fis g a |
fis4 g |
e16 fis g a fis g a b |
a4 a |
% Bar 3 ...
}
\score {
\new PianoStaff <<
\new Staff {
\global
<<
\relative c'' \voiceA
\\
\relative c' \voiceB
>>
}
\new Staff {
\global \clef bass
<<
\relative c \voiceC
\\
\relative c \voiceD
>>
}
>>
}
@end lilypond
@seealso
Manuel d'initiation :
@rlearning{Organisation du code source avec des variables}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
|