@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: a1267e20afa61258ce3031f07d916e0e66ac6582
+ Translation of GIT committish: db449e3935bc8b765979e1d4a4ab3018908cbbd8
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\new Staff \relative {
% Main voice
c'16 d e f
- % Voice = "1" Voice = "2" Voice = "3"
+ % Voice = "1" Voice = "2" Voice = "3"
<< { g4 f e } \\ { r8 e4 d c8~ } >> |
<< { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
}
@end lilypond
+@funindex \voices
+Les voix peuvent se saisir dans un ordre différent, comme par exemple du
+haut vers le bas, auquel cas leurs numéros respectifs seront spécifiés
+dès avant la construction @code{<< @dots{} >>} à l'aide de la commande
+@code{\voices} comme ici :
+
+@lilypond[quote,verbatim]
+\new Staff \relative {
+ % Main voice
+ c'16 d e f
+ % Voice = "1" Voice = "2"
+ << { g4 f e } \\ { r8 e4 d c8~ } >> |
+ \voices 1,3,2
+ % Voice = "1" Voice = "3" Voice = "2"
+ << { d2 e } \\ { s4 b c2 } \\ { c8 b16 a b8 g~ 2 } >> |
+}
+@end lilypond
+
Ces voix sont séparées de la voix principale, laquelle contient les
notes en dehors de la construction @code{<< @dots{} >>} -- que nous
appellerons @emph{construction simultanée}. Les liaisons, de
@lilypond[quote,ragged-right]
\new Staff \relative {
\key aes \major
+ \voices 1,2,4 % No voice three
<< % Voice one
{ c''2 aes4. bes8 }
\\ % Voice two
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No voice three
\\ % Voice four
{
\override NoteColumn.force-hshift = #0
@lilypond[quote,ragged-right]
\new Staff \relative {
\key aes \major
+ \voices 1,2,4 % No Voice three (we want stems down)
<<
{ % Voice one
\voiceOneStyle
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No Voice three (we want stems down)
\\ % Voice four
{ \voiceThreeStyle
\override NoteColumn.force-hshift = #0
vers le bas. Les hampes des voix 1 et 2 sont orientées comme il faut
mais celles de la voix 3 devraient, dans le cas qui nous occupe, aller
vers le bas. Nous pouvons corriger cela en sautant la voix 3 et en
-plaçant la musique dans la voix 4 grâce à un @code{\\} supplémentaire :
+plaçant la musique dans la voix 4. Ceci pourrait s'obtenir à l'aide
+d'un @code{\\} supplémentaire, mais nous utiliserons plutôt la commande
+@code{\voices} qui, par ailleurs, nous permettrait de saisir les voix
+dans un autre ordre selon notre convenance :
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative {
\key aes \major
+ \voices 1,2,4 % Omit Voice three
<< % Voice one
{ c''2 aes4. bes8 }
\\ % Voice two
{ <ees, c>2 des }
- \\ % Omit Voice three
\\ % Voice four
{ aes'2 f4 fes }
>> |
}
@end lilypond
-Voyons à présent trois différentes façons d'exprimer un passage
+Voyons à présent quatre différentes façons d'exprimer un passage
polyphonique, à partir d'un exemple de la section précédente. Chacune
d'elles aura ses avantages selon les circonstances.
}
@end lilypond
+@cindex voix, continuation
+@funindex \voices
+
+La commande @code{\voices} peut aussi servir à maintenir une voix
+principale dans une construction simultanée :
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative {
+ \new Voice = "main" {
+ \voiceOneStyle
+ % This section is homophonic
+ c'16^( d e f
+ % Start simultaneous section of three voices
+ \voices "main",2,3
+ <<
+ % Continue the main voice in parallel
+ { g4 f e | d2 e) | }
+ % Initiate second voice
+ \\
+ % Set stems, etc., down
+ { r8 e4 d c8~ | 8 b16 a b8 g~ 2 | }
+ \\
+ % Initiate third voice
+ % Set stems, etc, up
+ { s2. | s4 b c2 | }
+ >>
+ }
+}
+@end lilypond
+
@cindex imbrication d'expressions musicales
@cindex imbrication de constructions simultanées
@cindex voix temporaires
le contexte @code{Score} en l'occurrence. La commande @code{\score} est
chargée de le créer, mais pour des partitions simples, il le sera
automatiquement. Le bloc @code{\score} contient donc une expression
-musicale unique ainsi que la définition des supports à produire --
-@code{\layout} pour du visuel ou @code{\midi} pour de l'acoustique.
+musicale unique ainsi que, éventuellement, la définition des supports à
+produire -- @code{\layout} pour du visuel, @code{\midi} pour de
+l'acoustique, ou bien les deux.
Lorsqu'une partition ne comporte qu'une voix et une seule portée, vous
pouvez laisser LilyPond créer automatiquement les contextes @code{Voice}
quel contexte elle intervient. Si cela est bien souvent évident, il
peut arriver que cela tourne au cauchemar. Lorsque vous ne spécifiez
pas le bon contexte, aucun message d'erreur ne s'affiche et l'effet
-attendu n'est pas au rendez-vous. Par exemple, le @code{instrumentName}
-est de manière incontestable membre du contexte @code{Staff}, puisque
-c'est bien la portée que l'on va nommer.
-Dans l'exemple suivant, la première portée affiche effectivement un nom,
-alors que ce n'est pas le cas pour la deuxième dans la mesure où le
-contexte n'a pas été spécifié.
+attendu n'est pas au rendez-vous. Par exemple, le @code{clefGlyph} est
+de manière incontestable membre du contexte @code{Staff}, puisque c'est
+bien le glyphe de clef de la portée qui doit être changé.
+Dans l'exemple suivant, la première portée affiche effectivement la
+bonne clef, alors que ce n'est pas le cas pour la deuxième -- qui porte
+la clef de sol par défaut au lieu d'une clef de basse (clef de fa) --
+dans la mesure où le contexte n'a pas été spécifié.
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff \relative {
- \set Staff.instrumentName = #"Soprano"
+ \set Staff.clefGlyph = "clefs.C"
c''4 c
}
\new Staff \relative {
- \set instrumentName = #"Alto" % Wrong!
+ \set clefGlyph = "clefs.F" % Wrong!
d'4 d
}
>>
@end lilypond
Dans la mesure où le nom de contexte par défaut est @code{Voice}, la
-deuxième commande @code{\set} a défini @qq{Alto} comme propriété
-@code{instrumentName} du contexte de voix. Puisque LilyPond n'ira pas
-chercher une telle propriété dans le contexte @code{Voice}, celle-ci ne
-sera pas interprétée. Il ne s'agit pas d'une erreur, aucun message
-d'erreur ne sera ni émis ni enregistré.
+deuxième commande @code{\set} a défini la propriété @code{clefGlyph}
+dans le contexte de voix. Puisque LilyPond n'ira pas chercher une telle
+propriété dans le contexte @code{Voice}, celle-ci ne sera pas
+interprétée. Il ne s'agit pas d'une erreur, aucun message d'erreur ne
+sera ni émis ni enregistré.
De la même manière, une faute d'orthographe dans le nom de la propriété
ne générera aucun message d'erreur et l'action escomptée ne se produira
la Référence des propriétés internes -- voir
@rinternals{Tunable context properties}, ou @rinternals{Contexts}.
-La propriété @code{instrumentName} ne sera prise en compte que si elle
+La propriété @code{clefGlyph} ne sera prise en compte que si elle
est définie dans un contexte @code{Staff} ; d'autres propriétés
peuvent par contre être définies dans plusieurs contextes différents.
C'est le cas de la propriété @code{extraNatural} qui est définie par
\score {
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
}
>>
- \new Lyrics \lyricsto "altos" { \altoWords }
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Lyrics \lyricsto "altos" {
+ \altoWords
+ }
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
}
>>
- \new Lyrics \lyricsto "tenors" { \tenorWords }
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Lyrics \lyricsto "tenors" {
+ \tenorWords
+ }
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
\bassWords
}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
+ \new PianoStaff \with { instrumentName = #"Piano" }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with @{ instrumentName = #"Soprano" @}
+ <<
\new Voice = "sopranos" @{
\global
- \sopranoMusique
+ \sopranoMusic
@}
>>
\new Lyrics \lyricsto "sopranos" @{
- \sopranoParoles
+ \sopranoWords
@}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with @{ instrumentName = #"Alto" @}
+ <<
\new Voice = "altos" @{
\global
- \altoMusique
+ \altoMusic
@}
>>
\new Lyrics \lyricsto "altos" @{
- \altoParoles
+ \altoWords
@}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with @{ instrumentName = #"Tenor" @}
+ <<
\new Voice = "tenors" @{
\global
- \tenorMusique
+ \tenorMusic
@}
>>
\new Lyrics \lyricsto "tenors" @{
- \tenorParoles
+ \tenorWords
@}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with @{ instrumentName = #"Bass" @}
+ <<
\new Voice = "basses" @{
\global
- \bassMusique
+ \bassMusic
@}
>>
\new Lyrics \lyricsto "basses" @{
- \bassParoles
+ \bassWords
@}
->> % fin du ChoirStaff
+>> % end ChoirStaff
@end example
Il nous faut maintenant nous occuper de la partie de piano. Nous allons
piano} :
@example
-\new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+\new PianoStaff \with @{ instrumentName = #"Piano" @}
+<<
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
doubles chevrons gauche/droite puisqu'ils doivent s'empiler :
@example
-<< % combine ChoirStaff et PianoStaff l'un au-dessus de l'autre
+<< % combine ChoirStaff and PianoStaff one above the other
\new ChoirStaff <<
\new Staff = "sopranos" <<
\new Voice = "sopranos" @{
\global
- \sopranoMusique
+ \sopranoMusic
@}
>>
\new Lyrics \lyricsto "sopranos" @{
- \sopranoParoles
+ \sopranoWords
@}
\new Staff = "altos" <<
\new Voice = "altos" @{
\global
- \altoMusique
+ \altoMusic
@}
>>
\new Lyrics \lyricsto "altos" @{
- \altoParoles
+ \altoWords
@}
\new Staff = "tenors" <<
\clef "G_8" % tenor clef
\new Voice = "tenors" @{
\global
- \tenorMusique
+ \tenorMusic
@}
>>
\new Lyrics \lyricsto "tenors" @{
- \tenorParoles
+ \tenorWords
@}
\new Staff = "basses" <<
\clef "bass"
\new Voice = "basses" @{
\global
- \bassMusique
+ \bassMusic
@}
>>
\new Lyrics \lyricsto "basses" @{
- \bassParoles
+ \bassWords
@}
- >> % fin du ChoirStaff
+ >> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff = "upper" \superieur
- \new Staff = "lower" \inferieur
+ \new PianoStaff \with @{ instrumentName = #"Piano" @}
+ <<
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
>>
>>
@end example
\score {
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
\new Lyrics \lyricsto "altos" {
\altoWords
}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
\new Lyrics \lyricsto "tenors" {
\tenorWords
}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+ \new PianoStaff
+ \with { instrumentName = #"Piano " }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>