| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Voices contain music
Les chanteurs utilisent leur voix pour chanter ; il en va de même pour LilyPond. En fait, la musique de chacun des instruments d’une partition est contenue dans des voix (Voices en anglais), qui se trouvent être le concept fondamental de LilyPond.
| 3.2.1 J’entends des Voix | ||
| 3.2.2 Instanciation explicite des voix | ||
| 3.2.3 Voix et paroles |
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof I’m hearing Voices
Dans une partition gérée par LilyPond, le niveau le plus bas, ou bien élémentaire ou fondamental, est le « contexte de voix » – Voice context en anglais. Pour d’autres logiciels, on fait tantôt référence à la notion de « couche » ou de « calque ».
En réalité, le contexte de voix est le seul à pouvoir contenir de la musique. S’il n’est pas déclaré explicitement, il sera créé automatiquement comme nous l’avons vu au début de ce chapitre. Certains instruments, le hautbois par exemple, ne peuvent jouer qu’une seule note à la fois. Nous n’aurons besoin, pour ces instruments monodiques, que d’une seule voix. Les instruments qui, comme le piano, peuvent émettre plusieurs sons en même temps sont polyphoniques et nécessitent de recourir à plusieurs voix pour gérer efficacement l’alignement des notes et rythmes différents.
Si une voix unique peut tout à fait contenir plusieurs notes dans un accord, à partir de quand aurons-nous vraiment besoin de plusieurs voix ? Considérons déjà ces quatre accords :
\relative { \key g \major <d' g>4 <d fis> <d a'> <d g> }
Nous exprimons ici chacun des accords par l’utilisation de
chevrons gauche et droite simples, < … >, puisque nous
n’avons besoin que d’une seule voix. Supposons maintenant que le fa
dièse soit une croche, suivie d’un sol croche – une note de passage
vers le la ? Nous avons alors deux notes qui débutent au même moment,
mais dont la durée est différente : un ré noire et un fa dièse croche.
Comment coder cela ? Dans la mesure où toutes les notes d’un accord
doivent avoir la même durée, nous ne pouvons pas écrire un accord. Nous
ne pouvons pas non plus écrire deux notes séparées, puisqu’elles
débutent en même temps. Nous avons alors besoin de deux voix.
Voyons comment cela se pratique selon la grammaire de LilyPond.
Le plus sûr moyen de saisir un fragment où plusieurs voix cohabitent
sur la même portée, consiste à saisir chacune des voix séquentiellement
(avec { … }), puis à les combiner en simultané à l’aide
de doubles chevrons gauche/droite, << … >>. Les fragments
devront être séparés par une double oblique inversée, \\, pour
les affecter à des voix séparées. Dans le cas contraire, les notes
seraient toutes affectées à une même voix, ce qui pourrait générer des
erreurs. Cette manière de procéder est tout à fait indiquée dans le cas
d’une pièce homophonique ne comportant que quelques courts passages de
polyphonie.
Voici comment éclater les accords en deux voix, avec la note de passage et la liaison :
\relative { \key g \major % Voice = "1" Voice = "2" << { g'4 fis8( g) a4 g } \\ { d4 d d d } >> }
Notez que les hampes de la seconde voix sont dirigées vers le bas.
Autre exemple :
\key d \minor % Voice = "1" Voice = "2" << { r4 g g4. a8 } \\ { d,2 d4 g } >> | << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> | << { a2. r4 } \\ { fis2. s4 } >> |
Le recours à une construction << \\ >> particulière à chaque
mesure n’est pas nécessaire. Bien qu’on y gagne en lisibilité si chaque
mesure ne contient que quelques notes, il est plus judicieux de
carrément séparer chaque voix :
<< \key d \minor \relative { % Voice = "1" r4 g' g4. a8 | bes4 bes c bes | a2. r4 | } \\ \relative { % Voice = "2" d'2 d4 g | g4 g g8( a) g4 | fis2. s4 | } >>
Cet exemple ne comporte que deux voix, mais il peut être étendu pour
traiter trois voix ou plus en ajoutant autant de séparateurs \\
que de besoin.
Les contextes Voice portent les noms "1", "2", etc.
Les premiers contextes définissent les voix extrêmes, la plus
haute au contexte "1", le plus basse au contexte "2". Les
voix intermédiaires seront affectées aux contextes "3" et
"4". Pour chacun de ces contextes, le positionnement et
l’orientation des liaisons, hampes, nuances, etc. est définie
automatiquement.
\new Staff \relative { % Main voice c'16 d e f % Voice = "1" Voice = "2" Voice = "3" << { g4 f e } \\ { r8 e4 d c8~ } >> | << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> | }
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 << … >> à l’aide de la commande
\voices comme ici :
\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 } >> | }
Ces voix sont séparées de la voix principale, laquelle contient les
notes en dehors de la construction << … >> – que nous
appellerons construction simultanée. Les liaisons, de
prolongation ou non, ne peuvent relier des notes que si elles
appartiennent à la même voix ; elles ne peuvent ni pénétrer une
construction simultanée, ni en sortir. Inversement, les voix parallèles
issues de constructions simultanées apparaissant sur une même portée
appartiennent à la même voix. Les autres propriétés liées au contexte
de voix s’appliquent tout au long des constructions simultanées.
Reprenons notre exemple, en affectant une couleur et une allure
différentes aux notes de chacune des voix. Vous noterez qu’un
changement apporté à une voix ne se propage pas aux autres, et qu’il se
reporte jusqu’au bout, et que la voix aux triangles bleus comporte une
liaison de prolongation entre deux constructions.
\new Staff \relative { % Main voice c'16 d e f << % Bar 1 { \voiceOneStyle g4 f e } \\ { \voiceTwoStyle r8 e4 d c8~ } >> | << % Bar 2 % Voice 1 continues { d2 e } \\ % Voice 2 continues { c8 b16 a b8 g~ 2 } \\ { \voiceThreeStyle s4 b c2 } >> | }
Les commandes \voiceXXXStyle sont principalement dédiées à une
utilisation pédagogique, comme l’est ce document. Elles modifient la
couleur des hampes et ligatures et le style de tête des notes pour
permettre une meilleure distinction entre les différentes voix. La
première voix comporte des têtes en losange rouge, la deuxième en
triangle bleu, la troisième en cercle barré vert, la quatrième (non
utilisée ici) en croix magenta ; \voiceNeutralStyle (non utilisé
ici) revient au style par défaut. Nous verrons plus tard comment créer
de telles commandes. Voir Visibilité et couleur des objets et
Utilisation de variables dans les retouches.
La polyphonie ne modifie en rien la relation entre les notes au sein
d’un bloc \relative. Chaque note est calculée par rapport à
celle qui la précède, ou bien par rapport à la première note de l’accord
qui précède. Ainsi, dans
\relative c' { noteA << < noteB noteC > \\ noteD >> noteE }
|
noteB est relative à noteA
noteC est relative à noteB, pas à noteA
noteD est relative à noteB, pas à noteA ni
noteC
noteE est relative à noteD, pas à noteA
Une méthode alternative, et qui peut simplifier les choses si les notes
des différentes voix sont espacées, consiste à placer une commande
\relative au début de chacune des voix :
\relative { noteA … }
<<
\relative { < noteB noteC > … }
\\
\relative { noteD … }
>>
\relative { noteE … }
|
Pour finir, analysons le principe d’utilisation des voix dans une pièce complexe. Nous allons nous concentrer sur les deux premières mesures du second des Deux nocturnes, opus 32 de Chopin. Cet exemple nous servira à plusieurs reprises, y compris dans le chapitre suivant, pour illustrer certaines techniques de notation. Aussi, ne prêtez pas trop d’attention à ce qui pour l’instant pourrait vous paraître vraiment mystérieux dans le code, et intéressons-nous uniquement à ce qui concerne la musique et les voix – ce qui est plus compliqué sera décortiqué plus tard.
La direction des hampes sert souvent à indiquer dans la continuité deux lignes mélodiques simultanées. Ici, les hampes des notes les plus hautes vont vers le haut, et celles des notes plus basses vers le bas. C’est une première indication de ce que nous avons eu recours à plus d’une voix.
Mais le réel besoin de multiples voix se fait sentir dès lors que plusieurs notes qui débutent en même temps ont des durées différentes. C’est évident au troisième temps de la première mesure : le la bémol est une noire pointée, le fa une noire, et le ré bémol une blanche. On ne peut les grouper dans un accord, puisque toutes les notes composant un accord doivent être de même durée. On ne peut non plus les écrire séquentiellement, puisqu’elles débutent toutes au même instant. Ce fragment de mesure nécessite trois voix, et une bonne pratique voudrait que l’intégralité de la mesure soit sur trois voix, comme ci-dessous où nous avons une allure et une couleur différentes aux notes de chacune d’entre elles. Une fois de plus, nous reviendrons plus tard sur le code que vous ne comprendriez pas.
Essayons à présent de coder cette musique en partant de zéro. Comme
nous le verrons, certaines difficultés vont se présenter. Partons de ce
que nous avons appris : utilisons la construction << \\ >> pour
saisir la première mesure dans trois voix :
\new Staff \relative { \key aes \major << { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes } >> | <c ees aes c>1 | }
La direction des hampes est attribuée automatiquement : les voix
impaires portent des hampes vers le haut, les voix paires des hampes
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. Ceci pourrait s’obtenir à l’aide
d’un \\ supplémentaire, mais nous utiliserons plutôt la commande
\voices qui, par ailleurs, nous permettrait de saisir les voix
dans un autre ordre selon notre convenance :
\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 } \\ % Voice four { aes'2 f4 fes } >> | <c ees aes c>1 | }
Cette manipulation nous permet de régler la direction des hampes, mais
le positionnement horizontal des notes n’est pas satisfaisant. LilyPond
décale les notes des voix intermédiaires lorsque leur tête ou leur hampe
viendrait à chevaucher celles des voix extrêmes. Bien entendu, ce n’est
pas souhaitable dans le cas d’une partition pour piano. Dans d’autres
situations, les décalages que LilyPond applique peuvent ne pas éviter
certaines collisions. LilyPond met à notre disposition plusieurs moyens
d’ajuster le positionnement horizontal des notes. Nous ne sommes pas
encore tout à fait prêts pour voir comment corriger cela, aussi nous
examinerons ce problème dans un autre chapitre (voir la propriété
force-hshift dans Correction des collisions d’objets).
Note : Paroles et objets étendus (liaisons, soufflets, etc.) ne peuvent passer d’une voix à l’autre.
Manuel de notation : (notation)Plusieurs voix section ‘Plusieurs voix’ dans Manuel de notation.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Explicitly instantiating voices
Les contextes
(internals)Voice section ‘Voice’ dans Référence des propriétés internes peuvent être déclarés manuellement
dans un bloc << >> pour créer de la musique polyphonique, en
utilisant \voiceOne… jusqu’à \voiceFour pour
assigner des directions de hampes et un déplacement horizontal pour
chaque partie. Cette méthode apporte de la clarté pour des partitions
plus importantes puisqu’elle permet de bien séparer les voix et de leur
affecter un nom plus parlant.
En particulier, la construction << \\ >> que nous avons vue
précédemment :
\new Staff {
\relative {
<< { e'4 f g a } \\ { c,4 d e f } >>
}
}
|
équivaut à
\new Staff <<
\new Voice = "1" { \voiceOne \relative { e'4 f g a } }
\new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
>>
|
Toutes deux produiront
Les commandes \voiceXXX fixent la direction des hampes, des
liaisons de prolongation et de phrasé, des articulations, des
annotations, des points d’augmentation des notes pointées et des
doigtés. \voiceOne et \voiceThree font pointer ces objets
vers le haut, alors que \voiceTwo et \voiceFour les font
pointer vers le bas. Ces commandes génèrent par ailleurs un décalage
horizontal de chacune des voix pour éviter tout risque de chevauchement
entre plusieurs notes. La commande \oneVoice les ramène aux
critères normaux.
Voyons, à l’aide de ces exemples simples, les effets respectifs de
\oneVoice, \voiceOne et \voiceTwo sur les
annotations, liaisons de prolongation ou de phrasé, et sur les nuances.
\relative { % Default behavior or behavior after \oneVoice c'4 d8~ 8 e4( f | g4 a) b-> c | }
\relative { \voiceOne c'4 d8~ 8 e4( f | g4 a) b-> c | \oneVoice c,4 d8~ 8 e4( f | g4 a) b-> c | }
\relative { \voiceTwo c'4 d8~ 8 e4( f | g4 a) b-> c | \oneVoice c,4 d8~ 8 e4( f | g4 a) b-> c | }
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.
Une expression séquentielle qui apparaît en premier dans un << >>
– attention, pas dans une construction << \\ >> –
appartient à la voix principale. Ceci est utile lorsque des voix
supplémentaires apparaissent pendant que la voix principale est jouée.
Voici une meilleure réalisation de notre exemple. Les notes colorées et
en croix mettent en évidence le fait que la mélodie principale est
maintenant dans un seul contexte de voix, ce qui permet d’ajouter une
liaison de phrasé à l’ensemble.
\new Staff \relative { \voiceOneStyle % The following notes are homophonic c'16^( d e f % Start simultaneous section of three voices << % Continue the main voice in parallel { g4 f e | d2 e) | } % Initiate second voice \new Voice { % Set stems, etc., down \voiceTwo r8 e4 d c8~ | 8 b16 a b8 g~ 2 | } % Initiate third voice \new Voice { % Set stems, etc, up \voiceThree s2. | s4 b c2 | } >> }
La commande \voices peut aussi servir à maintenir une voix
principale dans une construction simultanée :
\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 | } >> } }
Dans certaines circonstances de polyphonie complexe, vous pourrez être amené à recourir à une voix temporaire, ce qui peut être une manière plus naturelle de saisir la musique :
\new Staff \relative { c'16^( d e f << { g4 f e | d2 e) | } \new Voice { \voiceTwo r8 e4 d c8~ | << { c8 b16 a b8 g~ 2 | } \new Voice { \voiceThree s4 b c2 | } >> } >> }
Cette manière de brièvement imbriquer des voix est bien utile pour de courts fragments de musique polyphonique. Mais lorsqu’une portée est très souvent polyphonique, on peut y gagner en clarté si l’on utilise plusieurs voix sur l’ensemble de cette portée et que l’on positionne des silences invisibles pour sauter les moments où il n’y a rien dans cette voix.
\new Staff \relative << % Initiate first voice \new Voice { \voiceOne c'16^( d e f g4 f e | d2 e2) | } % Initiate second voice \new Voice { % Set stems, etc, down \voiceTwo s4 r8 e4 d c8 ~ | 8 b16 a b8 g ~ 2 | } % Initiate third voice \new Voice { % Set stems, etc, up \voiceThree s1 | s4 b4 c2 | } >>
@translationof Note columns
Les notes rapprochées d’un accord, ou des notes de différentes voix qui tombent ensemble, seront rangées sur deux colonnes, voire plus, pour palier d’éventuels chevauchements des têtes. On appelle cela des empilements de notes. Chaque voix dispose de plusieurs empilements, et l’attribution d’un décalage à une voix en particulier s’appliquera à l’empilement en question s’il y avait risque de collision. Nous en avons une illustration à la deuxième mesure de l’exemple ci-dessus : le do de la deuxième voix est décalé à droite du ré de la première voix et, dans l’accord final, le do de la troisième voix est lui aussi décalé à droite des autres notes.
Les commandes \shiftOn, \shiftOnn, \shiftOnnn et
\shiftOff spécifient le degré nécessaire de décalage qui sera
appliqué aux notes ou accords de la voix en question afin d’éviter une
collision. Par défaut, les voix extérieures – normalement les
première et deuxième – se verront attribuer \shiftOff, alors
que les voix intérieures – trois et quatre – se verront attribuer
\shiftOn. Lorsqu’un décalage s’applique, les voix un et trois
iront vers la droite, et les voix deux et quatre vers la gauche.
\shiftOnn et \shiftOnnn définissent des degrés augmentés
de décalage auquel on peut devoir temporairement recourir dans des
situations complexes – voir Exemple concret.
Un empilement peut ne contenir qu’une note ou un accord dans une voix
aux hampes vers le haut, et une note ou un accord dans une voix
aux hampes vers le bas. Dans le cas où des notes, issues de deux voix
ayant toutes deux des hampes dans la même direction, se retrouvent au
même moment et qu’aucun décalage n’a été spécifié ou qu’ils sont
identiques, LilyPond vous le signalera par le message « Cette voix
requiert un \voiceXx ou un réglage \shiftXx ».
Manuel d’initiation : Déplacement d’objets
Manuel de notation : (notation)Plusieurs voix section ‘Plusieurs voix’ dans Manuel de notation.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Voices and vocals
La musique vocale est une gageure en soi : il nous faut combiner deux expressions différentes – des notes et des paroles.
Nous avons déjà abordé la commande \addlyrics{}, qui permet de
gérer des partitions simples. Cette technique est cependant
relativement limitée. Pour de la musique un peu plus compliquée, il
vous faudra contenir les paroles dans un contexte Lyrics, créé
par la commande \new Lyrics ; vous relierez ensuite ces paroles
aux notes grâce à la commande \lyricsto{} et au nom assigné à
la voix en question.
<< \new Voice = "one" { \relative { \autoBeamOff \time 2/4 c''4 b8. a16 | g4. f8 | e4 d | c2 | } } \new Lyrics \lyricsto "one" { No more let | sins and | sor -- rows | grow. | } >>
Notez bien que les paroles sont liées à un contexte de voix
(Voice), non à un contexte de portée (Staff). Il
est donc nécessaire de créer explicitement les contextes Staff
et Voice.
Si la ligature automatique que LilyPond applique par défaut est
pleinement adaptée en matière de musique instrumentale, il n’en va pas
de même dans le cas d’une musique associée à des paroles, et pour
laquelle soit les ligatures sont carrément absentes, soit elles servent
à indiquer un mélisme – plusieurs notes pour une même syllabe.
Dans l’exemple qui suit, nous utilisons la commande \autoBeamOff
afin de désactiver les ligatures automatiques.
Nous allons reprendre un extrait de Judas Maccabæus pour illustrer ce
que cette technique apporte en flexibilité. Nous commençons par
utiliser des variables – ou identificateurs – afin de séparer de la
structure de la portée aussi bien la musique que les paroles. Nous
ajoutons par la même occasion un crochet spécifique aux portées pour
chœur (ChoirStaff). Quant aux blocs de paroles, nous les faisons
précéder de la commande \lyricmode pour nous assurer qu’elles
seront interprétées comme telles, et non comme de la musique.
global = { \key f \major \time 6/8 \partial 8 } SopOneMusic = \relative { c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4 } SopOneLyrics = \lyricmode { Let | flee -- cy flocks the | hills a -- dorn, __ } SopTwoMusic = \relative { r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes' } SopTwoLyrics = \lyricmode { Let | flee -- cy flocks the | hills a -- dorn, } \score { \new ChoirStaff << \new Staff << \new Voice = "SopOne" { \global \SopOneMusic } \new Lyrics \lyricsto "SopOne" { \SopOneLyrics } >> \new Staff << \new Voice = "SopTwo" { \global \SopTwoMusic } \new Lyrics \lyricsto "SopTwo" { \SopTwoLyrics } >> >> }
Voici donc la structure de base valable pour toute partition vocale. On peut y ajouter d’autres portées si besoin est, d’autres voix à chaque portée, plusieurs couplets aux paroles, et les variables contenant la musique peuvent même être stockées dans des fichiers indépendants dès lors que leur longueur devient conséquente.
Voici maintenant la première ligne d’une hymne pour chœur à quatre voix mixtes, comportant quatre couplets. Les paroles sont ici identiques pour les quatre voix. Vous remarquerez le recours aux variables afin de séparer de la structure de portée aussi bien les notes que les paroles. Vous noterez aussi une variable particulière, que nous avons appelée « ArmureMetrique », et qui contient plusieurs commandes que nous utiliserons dans les deux portées. Dans de nombreux autres exemples, elle s’appelle « global ».
keyTime = { \key c \major \time 4/4 \partial 4 } SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g } AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e } TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 } BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 } VerseOne = \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, } VerseTwo = \lyricmode { O | Christ, whose voice the | wa -- ters heard, } VerseThree = \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood } VerseFour = \lyricmode { O | Tri -- ni -- ty of | love and pow'r } \score { \new ChoirStaff << \new Staff << \clef "treble" \new Voice = "Sop" { \voiceOne \keyTime \SopMusic } \new Voice = "Alto" { \voiceTwo \AltoMusic } \new Lyrics \lyricsto "Sop" { \VerseOne } \new Lyrics \lyricsto "Sop" { \VerseTwo } \new Lyrics \lyricsto "Sop" { \VerseThree } \new Lyrics \lyricsto "Sop" { \VerseFour } >> \new Staff << \clef "bass" \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic } \new Voice = "Bass" { \voiceTwo \BassMusic } >> >> }
Manuel de notation : (notation)Musique vocale section ‘Musique vocale’ dans Manuel de notation.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] |
Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.
Autres langues : English, català, česky, deutsch, español, magyar, italiano, 日本語, nederlands.
À propos de la sélection automatique de la langue.