[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Clusters ] | [ Plus haut: Notes simultanées ] | [ Polyphonie basique > ] |
1.5.2 Plusieurs voix
Polyphonie basique | ||
Résolution des collisions | ||
Regroupement automatique de parties | ||
Saisie de musique en parallèle |
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Plusieurs voix ] | [ Plus haut: Plusieurs voix ] | [ Résolution des collisions > ] |
Polyphonie basique
La manière la plus facile d’entrer des fragments avec plus d’une voix
sur une portée est d’entrer chaque voix comme une suite de notes
— entre accolades : {...}
— puis de les combiner simultanément,
en séparant les voix avec \\
\new Staff \relative c' { c16 d e f << { g4 f e | d2 e2 } \\ { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\ { s2. | s4 b4 c2 } >> }
Le séparateur permet aux contextes
Voice1
d’être identifiés. Les contextes de voix portent les noms "1"
,
"2"
, etc. Dans chacun de ces contextes, la direction verticale
des liaisons, hampes, etc. est réglée de manière appropriée.
Ces voix sont toutes distinctes de la voix qui contient les notes en
dehors de la construction << \\ >>
. On doit le prendre en compte
lorsqu’on fait des changements au niveau des voix. Cela veut aussi dire
que les liaisons de prolongation et d’articulation ne peuvent ni entrer
ni sortir de la construction << \\ >>
. À l’inverse, des voix
parallèles venant de constructions << \\ >>
séparées sur la même
portée sont dans les mêmes voix. Voici le même exemple, avec des
couleurs et têtes de note différentes pour chaque voix. Notez que le
changement de style de tête de note n’affecte pas l’intérieur des
constructions << \\ >>
. Aussi, le changement à la deuxième voix
dans la première construction << \\ >>
l’affecte aussi dans la
deuxième construction << \\ >>
, et la voix est liée entre les
deux constructions.
\new Staff \relative c' { \override NoteHead #'style = #'cross \override NoteHead #'color = #red c16 d e f << { g4 f e } \\ { \override NoteHead #'style = #'triangle \override NoteHead #'color = #blue r8 e4 d c8 ~ } >> | << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { \override NoteHead #'style = #'slash \override NoteHead #'color = #green s4 b4 c2 } >> }
La polyphonie ne change pas la relation des notes dans un bloc
\relative { }
. Chaque note est calculée en fonction de la note
qui la précède immédiatement, sans tenir compte des différentes voix.
\relative { noteA << noteB \\ noteC >> noteD }
noteC
est calculé relativement à noteB
, non pas à
noteA
; noteD
est calculé relativement à noteC
, non
pas à noteB
ou noteA
.
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Polyphonie basique ] | [ Plus haut: Plusieurs voix ] | [ Regroupement automatique de parties > ] |
Résolution des collisions
D’ordinaire, les têtes de notes pointées et non-pointées ne sont pas
fusionnées, mais lorsque la propriété merge-differently-dotted
de
l’objet
NoteCollision est définie, elles se trouvent
fusionnées :
\new Voice << { g8 g8 \override Staff.NoteCollision #'merge-differently-dotted = ##t g8 g8 } \\ { g8.[ f16] g8.[ f16] } >>
De même, vous pouvez fusionner une tête de blanche avec une tête de
croche, en définissant merge-differently-headed
\new Voice << { c8 c4. \override Staff.NoteCollision #'merge-differently-headed = ##t c8 c4. } \\ { c2 c2 } >>
LilyPond décale aussi verticalement les silences à l’opposé des hampes, par exemple
\new Voice << c''4 \\ r4 >>
Lorsque trois notes ou plus s’agglutinent dans un même empilement,
merge-differently-headed
ne peut mener à bien la fusion des deux
notes qui devraient l’être. Pour obtenir une fusion optimale, appliquez
un décalage (\shift
) à la note qui ne devrait pas s’empiler.
Dans la première mesure de l’exemple suivant,
merge-differently-headed
ne fonctionne pas — la tête de la
blanche est noire. Dans la seconde mesure, \shiftOn
s’applique
pour sortir le sol (g
) de l’alignement, et
merge-differently-headed
fonctionne correctement.
\override Staff.NoteCollision #'merge-differently-headed = ##t << { d=''2 g2 } \\ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\ { \voiceFour e,,2 e'2} >> << { d'=''2 \shiftOn g2 } \\ { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\ { \voiceFour e,,2 e'2} >>
Commandes prédéfinies
\oneVoice
,
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
.
\shiftOn
,
\shiftOnn
,
\shiftOnnn
,
\shiftOff
: toutes ces commandes précisent le degré de décalage
des notes de la voix courante. Les voix externes — habituellement,
les voix une et deux — ont \shiftOff
, alors que les voix
internes — trois et quatre — ont \shiftOn
. \shiftOnn
et \shiftOnnn
sont des niveaux supplémentaires de décalage.
Quand LilyPond est dépassé, la propriété force-hshift
de l’objet
NoteColumn, et des silences à hauteur déterminée, peuvent
s’avérer utiles pour dicter au programme les choix de placement.
\relative << { <d g> <d g> } \\ { <b f'> \once \override NoteColumn #'force-hshift = #1.7 <b f'> } >>
Voir aussi
Référence du programme : les objets appropriés pour résoudre les collisions sont NoteCollision et RestCollision.
Problèmes connus et avertissements
Quand merge-differently-headed
est utilisé avec une croche ou
une valeur plus courte à hampe vers le haut, et une blanche hampe vers
le bas, la croche se retrouve à la mauvaise place.
Il n’y a aucune prise en charge des agrégats dans lesquels une même note apparaît avec différentes altérations. Il est conseillé d’avoir recours aux enharmoniques, ou d’utiliser la notation spécifique de cluster — voir Clusters.
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Résolution des collisions ] | [ Plus haut: Plusieurs voix ] | [ Saisie de musique en parallèle > ] |
Regroupement automatique de parties
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 a due.
Voici la syntaxe qui permet de combiner des parties :
\partcombine musicexpr1 musicexpr2
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.
\new Staff \partcombine \relative g' { g g a( b) c c r r } \relative g' { g g r4 r e e g g }
Le premier sol
n’apparaît qu’une seule fois, alors qu’il a été
spécifié 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 one
, aura toujours
ses hampes dirigées vers le haut et sera notée ‘Solo’, alors que la
deuxième, appelée two
, aura des hampes vers le bas et sera
notée ‘Solo II’.
Si votre intention n’est que de fusionner les parties, sans ajouter de
texte, assignez faux à la propriété printPartCombineTexts
.
\new Staff << \set Staff.printPartCombineTexts = ##f \partcombine \relative g' { g a( b) r } \relative g' { g r4 r f } >>
Le texte imprimé pour les sections solo ou à l’unisson se règle par
les propriétés soloText
, soloIIText
, et aDueText
.
\new Staff << \set Score.soloText = #"ichi" \set Score.soloIIText = #"ni" \set Score.aDueText = #"tachi" \partcombine \relative g' { g4 g a( b) r } \relative g' { g4 g r r f } >>
LilyPond interprète dans un contexte
Voice les
arguments fournis à \partcombine
. Si vous travaillez avec des
octaves relatives, spécifiez \relative
dans chacune des
expressions musicales, comme ceci :
\partcombine \relative … musicexpr1 \relative … musicexpr2
Une section \relative
en dehors de \partcombine
sera
sans effet sur les hauteurs de musicexpr1 et musicexpr2.
Voir aussi
Référence du programme : PartCombineMusic.
Problèmes connus et avertissements
Lorsque printPartCombineTexts
est actif et que les deux voix
jouent souvent les mêmes notes, le combinateur peut afficher a2
plus d’une fois par mesure.
\partcombine
ne peut s’inscrire dans un bloc \times
.
\partcombine
ne peut s’inscrire dans un bloc \relative
.
En interne, \partcombine
interprète les deux arguments en tant
que Voice
s, dénommées one
et two
, puis décide de
quand les parties seront fusionnées. Par conséquent, si les arguments
changent pour d’autres noms de contexte
Voice, les
événements qu’ils contiendraient seront ignorés.
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Regroupement automatique de parties ] | [ Plus haut: Plusieurs voix ] | [ Notation sur la portée > ] |
Saisie de musique en parallèle
On peut écrire plusieurs voix de façon entremêlée :
\parallelMusic #'(voiceA voiceB) { r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] | c'2 c'2 | r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] | c'2 c'2 | } \new StaffGroup << \new Staff \new Voice \voiceA \new Staff \new Voice \voiceB >>
Ceci fonctionne bien avec la musique pour piano :
music = { \key c \major \time 4/4 \parallelMusic #'(voiceA voiceB voiceC voiceD) { % Bar 1 r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] | c'2 c'2 | r8 a16[ d'] f'[ a d' f'] r8 a16[ d'] f'[ a d' f'] | c2 c2 | % Bar 2 a'8 b' c'' d'' e'' f'' g'' a'' | d'4 d' d' d' | c16 d e f d e f g e f g a f g a b | a,4 a,4 a,4 a,4 | % Bar 3 ... } } \score { \new PianoStaff << \music \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass << \voiceC \\ \voiceD >> } >> }
Notes de bas de page
[1] Ces voix polyphoniques sont parfois appelées « couches » ou « calques » dans d’autres logiciels de notation.
[ << Notation musicale générale ] | [Racine][Table des matières][Index][ ? ] | [ Notation spécialisée >> ] | ||
[ < Regroupement automatique de parties ] | [ Plus haut: Plusieurs voix ] | [ Notation sur la portée > ] |