Suivant : Instanciation explicite des voix, Haut : Les voix contiennent la musique
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. On dit en pareil cas qu'il s'agit de musique monophonique, et nous n'aurons alors besoin que d'une seule voix. Les intruments qui, comme le piano, peuvent émettre plusieurs sons en même temps, nécessitent de recourir à plusieurs voix pour gérer efficacement l'alignement des notes et rythmes différents.
Si une voix unique peut tout à fat contenir plusieurs notes dans un accord, à partir de quand aurons-nous vraiment besoin de plusieurs voix ? Considérons déjà ces quatre accords :
\key g \major <d g>4 <d fis> <d a'> <d g>
Nous exprimons ici chacun des accords par l'utilisation de
symboles inférieur et supérieur 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
symboles supérieur et inférieur doubles, <<...>>
. 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 pourait générer des
erreurs. Cette manière de procéder est tout à fait indiquée dans le cas
d'une pièce ne comportant que quelques courts passages de polyphonie.
Voici comment éclater les accords en deux voix, avec la note de passage et la liaison :
\key g \major % Voice "1" Voice "2" << { g4 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 << { % Voice "1" r4 g g4. a8 | bes4 bes c bes | a2. r4 | } \\ { % 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.
Pour chacun de ces contextes, la direction et l'orientation des
liaisons, hampes, nuances, etc. est définie automatiquement.
\new Staff \relative c' { % Voix principale c16 d e f % Voice "1" Voice "2" Voice "3" << { g4 f e } \\ { r8 e4 d c8 ~ } >> | << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> | }
Ces voix sont séparées de la voix principale qui 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 contruction 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 c' { % Voix principale c16 d e f << % Mesure 1 { \voiceOneStyle g4 f e } \\ { \voiceTwoStyle r8 e4 d c8 ~ } >> << % Mesure 2 % La voix 1 continue { d2 e2 } \\ % La voix 2 continue { c8 b16 a b8 g ~ g2 } \\ { \voiceThreeStyle s4 b4 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 cercles 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 c' { noteA ... } << \relative c'' { < noteB noteC > ... } \\ \relative g' { noteD ... } >> \relative c' { 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 incation 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 ecrire 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 motes 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 c'' { \key aes \major << { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 } >> <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 :
\new Staff \relative c'' { \key aes \major << % Voix un { c2 aes4. bes8 } \\ % Voix deux { aes2 f4 fes } \\ % Pas de Voix trois \\ % Voix quatre { <ees c>2 des2 } >> | <c ees aes c>1 | }
Cette manipulation nous permet de régler la direction des hampes, mais engendre un problème que l'on rencontre parfois avec de multiples voix, à savoir que les hampes d'une voix peuvent chevaucher les têtes de note des autres voix. En matière de mise en forme des notes, LilyPond tolère que des notes ou accords appartenant à deux voix se retrouvent dans le même empilement de notes (note column en anglais) si tant est que ces hampes vont dans des directions opposées ; néanmoins les notes des troisième et quatrième voix seront décalées si nécessaire pour éviter que les têtes ne se chevauchent. Cela marche plutôt bien, mais dans notre exemple, les notes de la voix la plus basse ne sont vraiment pas correctement placées. 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).
Manuel de notation : Plusieurs voix.
Cette page documente LilyPond-2.11.58 (branche de développement).
Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs
Vos suggestions à propos de la documentation sont les bienvenues.