[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Clusters ] | [Plus haut: Notes simultanées ] | [ Polyphonie sur une portée > ] |
1.5.2 Plusieurs voix
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.
Polyphonie sur une portée | ||
Styles de voix | ||
Résolution des collisions | ||
Fusion de silences | ||
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 ] | [ Styles de voix > ] |
Polyphonie sur une portée
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 :
\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. } >>
Vous constaterez que les voix sont créées explicitement et qu’elles
sont nommées. Les commandes \voiceOne
… \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 \oneVoice
permet de retrouver les
réglages par défaut.
N’oubliez pas que Voice
est un contexte de bas niveau –
voir Contextes de bas niveau – les voix. Dans le cadre d’un
TabStaff
, il faudrait donc utiliser un TabVoice
.
Polyphonie temporaire
Un fragment temporairement polyphonique se construit de la manière suivante :
<< { \voiceOne ... } \new Voice { \voiceTwo ... } >> \oneVoice
En fait, la première expression d’une polyphonie temporaire reste dans
le même contexte 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 :
\relative << \new Voice = "melody" { a'4 << { \voiceOne g f } \new Voice { \voiceTwo d2 } >> \oneVoice e4 } \new Lyrics \lyricsto "melody" { This is my song. } >>
Vous remarquerez que les commandes \voiceOne
et \voiceTwo
permettent d’obtenir des réglages différents pour chacune des voix.
Dans un TabStaff
doit être utilisé un TabVoice
.
Lorsque la même musique doit apparaître à la fois dans un
Staff
et dans un TabStaff
, il est possible de
recourir au contexte générique Bottom
– voir
Contextes de bas niveau – les voix.
mus = \relative \new Bottom = "melody" { a'4 << { \voiceOne g f } \new Bottom { \voiceTwo d2 } >> \oneVoice e4 } << \new Staff \mus \new Lyrics \lyricsto "melody" { This is my song. } >> << \new TabStaff \mus \new Lyrics \lyricsto "melody" { This is my song. } >>
La construction avec un double antislash
Une construction de la forme << {…} \\ {…} >>
,
dans laquelle plusieurs expressions sont séparées par des doubles
obliques inversées, se comporte différemment de celle sans séparateur :
tous les membres de cette construction seront assignés à de
nouveaux contextes Bottom
du même type, à savoir Voice
ou
TabVoice
. Ces nouveaux contextes Bottom
, créés
implicitement, portent les noms "1"
, "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 :
<< \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d } \\ \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >>
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 \voiceOne
à \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 \voiceThree
qui correspondent à ce
que nous voulons. Grâce à des espaces invisibles, nous évitons de
surcharger la portée avec des demis soupirs.
<< \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 } >>
En dehors des cas les plus simples, nous vous invitons à toujours créer les contextes de voix de manière explicite. Voir à ce sujet Contextes et graveurs et Instanciation explicite des voix.
Ordre des voix
L’ordre dans lequel doivent apparaître les voix d’une construction simultanée suit le schéma suivant :
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.
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 :
\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 >>
La commande \voices
permet de gérer l’ordre de saisie des voix :
\new Staff \voices 1,3,5,6,4,2 << \time 2/4 { f''2 } % 1: highest \\ { d''2 } % 3: second-highest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest \\ { e'2 } % 4: second-lowest \\ { c'2 } % 2: lowest >>
Note : Paroles et objets étendus (liaisons, soufflets, etc.) ne peuvent passer d’une voix à l’autre.
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 :
\new Voice << \relative { e''4 f8 d e16 f g8 d4 } \relative { c''4 d8 b c16 d e8 b4 } >>
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.
Commandes prédéfinies
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
,
\oneVoice
.
Voir aussi
Manuel d’initiation : Instanciation explicite des voix, Les voix contiennent la musique.
Manuel de notation : Hampes, Portées de percussion, Silences invisibles.
Morceaux choisis : Notation simultanée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Polyphonie sur une portée ] | [Plus haut: Plusieurs voix ] | [ Résolution des collisions > ] |
Styles de voix
Opter pour des couleurs et des têtes de notes spécifiques selon la voix permet de les identifier plus facilement :
<< \relative { \voiceOneStyle d''4 c2 b4 } \\ \relative { \voiceTwoStyle e'2 e } \\ \relative { \voiceThreeStyle b2. c4 } \\ \relative { \voiceFourStyle g'2 g } >>
La commande \voiceNeutralStyle
permet de revenir à une
présentation normale.
Commandes prédéfinies
\voiceOneStyle
,
\voiceTwoStyle
,
\voiceThreeStyle
,
\voiceFourStyle
,
\voiceNeutralStyle
.
Voir aussi
Manuel d’initiation : Autres sources de documentation, J'entends des Voix.
Morceaux choisis : Notation simultanée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Styles de voix ] | [Plus haut: Plusieurs voix ] | [ Fusion de silences > ] |
Résolution des collisions
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.
<< \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 } >>
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é :
<< \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 } >>
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 :
<< \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 } >>
Lorsque trois notes ou plus s’agglutinent dans un même empilement,
\mergeDifferentlyHeadedOn
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 fusionner.
Ici, on applique un \shiftOn
pour décaler le sol de
l’empilement ; le rendement de \mergeDifferentlyHeadedOn
est
alors comme il faut.
<< \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 } >>
La commande \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 \shiftOff
interdit
l’apparition de décalage.
Les voix externes – habituellement les voix une et deux – sont
affectées de \shiftOff
, alors que les voix internes – trois et
quatre – sont affectées de \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.
Note : 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.
\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 >> }
Les commandes \shiftOnn
et \shiftOnnn
sont des niveaux
supplémentaires de décalage qui peuvent s’adopter temporairement dans
certaines situations complexes – voir
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.
Commandes prédéfinies
\mergeDifferentlyDottedOn
,
\mergeDifferentlyDottedOff
,
\mergeDifferentlyHeadedOn
,
\mergeDifferentlyHeadedOff
.
\shiftOn
,
\shiftOnn
,
\shiftOnnn
,
\shiftOff
.
Morceaux choisis
Ajout de voix pour éviter les collisions
Dans certains cas de musique polyphonique complexe, une voix
supplémentaire peut permettre d’éviter les risques de collision.
Lorsque quatre voix parallèles ne suffisent pas, la fonction Scheme
context-spec-music
permet d’ajouter encore d’autres voix.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << \new Voice { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \new Voice { \voiceTwo d,2 d4 cis2 d4 bes2 } \new Voice { \voiceThree f'2 bes4 a2 a4 s2 } \new Voice { \voiceFive s2 g4 g2 f4 f2 } >> }
Déplacement des notes pointées dans une polyphonie
Une note pointée appartenant à la voix supérieure d’une portée
polyphonique sera par défaut décalée vers la droite afin d’éviter les
collisions avec les autres voix. Ce comportement peut être outrepassé à
l’aide de la propriété prefer-dotted-right
de
NoteCollision
.
\new Staff \relative c' << { f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##f f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##t f2. f4 } \\ { e4 e e e e e e e e e e e } >>
Décalage horizontal forcé
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. On travaille ici
en espace de portée.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn.force-hshift = #1.7 <b f'>2 } >>
Voir aussi
Glossaire musicologique : polyphonie.
Manuel d’initiation : Exemple concret, Les voix contiennent la musique, Notes simultanées.
Morceaux choisis : Notation simultanée.
Référence des propriétés internes : NoteColumn, NoteCollision, RestCollision.
Problèmes connus et avertissements
Une clause \override NoteColumn.ignore-collision = ##t
aura
pour effet une fusion incorrecte des têtes de note différentes à partir
de voix différentes.
\mergeDifferentlyHeadedOn << \relative { c'16 a' b a } \\ \relative { c'2 } >> \override NoteColumn.ignore-collision = ##t << \relative { c'16 a' b a } \\ \relative { c'2 } >>
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Résolution des collisions ] | [Plus haut: Plusieurs voix ] | [ Regroupement automatique de parties > ] |
Fusion de silences
Il est d’usage, lorsque plusieurs voix cohabitent, de fusionner les
silences qui apparaissent simultanément dans différentes parties. Ceci
peut s’obtenir à l’aide du Merge_rests_engraver
.
voiceA = \relative { d''4 r d2 | R1 | } voiceB = \relative { fis'4 r g2 | R1 | } \score { << \new Staff \with { instrumentName = "unmerged" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> \new Staff \with { instrumentName = "merged" \consists Merge_rests_engraver } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> >> }
La propriété de contexte suspendRestMerging
, lorsque activée par
un #t
, permet de suspendre temporairement la fusion des
silences.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Fusion de silences ] | [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 expression_musicale_1 expression_musicale_2
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.
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 >>
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 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 ». 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 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 \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.
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 >>
LilyPond interprète dans un contexte Voice
chacun des arguments
fournis à \partCombine
. Si vous travaillez avec des octaves
relatives, spécifiez \relative
dans chacune des expressions
musicales, comme ceci :
\partCombine \relative … expression_musicale_1 \relative … expression_musicale_2
Une section \relative
à l’extérieur du \partCombine
restera sans effet sur les hauteurs de
expression_musicale_1
ou de
expression_musicale_2
.
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ù \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
\partCombine
. Ces commandes peuvent se voir préfixées d’un
\once
de sorte à n’affecter que la note qui les suit
directement dans l’expression musicale.
-
\partCombineApart
maintient les notes dans des voix séparées même si elles peuvent se combiner en accord ou en unisson. -
\partCombineChords
combine les notes en accords. -
\partCombineUnisono
combine les voix en un « unisson ». -
\partCombineSoloI
affiche exclusivement la première voix et l’affuble d’un « Solo ». -
\partCombineSoloII
affiche exclusivement la deuxième voix et l’affuble d’un « Solo ». -
\partCombineAutomatic
annule les effets des dérogations précédentes et active le comportement standard de la fonction\partCombine
.
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 } >>
Utilisation de \partCombine
et paroles
La commande \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 NullVoice
permet d’obtenir
les effets escomptés – voir Polyphonie et paroles communes.
Morceaux choisis
Combinaison de deux parties sur une même portée
L’outil de combinaison de parties (la commande \partCombine
)
permet d’avoir deux parties différentes sur une même portée. LilyPond
ajoute automatiquement des indications textuelles, telles que « solo »
ou « a2 ». Si votre intention n’est que de fusionner les parties, sans
ajouter de texte, assignez faux à la propriété
printPartCombineTexts
.
Dans le cas de partitions vocales, et plus particulièrement d’hymnes, ces « solo/a2 » ne sont d’aucune utilité, aussi vaut-il mieux les désactiver. Dans le cas où il y aurait alternance entre solo et tutti, il vaut mieux faire appel à de la musique polyphonique standard.
Voici trois moyens d’imprimer deux parties sur une même portée : en
polyphonie normale, avec \partCombine
sans indication
supplémentaire, et avec \partCombine
commentée.
%% Combining pedal notes with clef changes musicUp = \relative c'' { \time 4/4 a4 c4.( g8) a4 | g4 e' g,( a8 b) | c b a2. } musicDown = \relative c'' { g4 e4.( d8) c4 | r2 g'4( f8 e) | d2 \stemDown a } \score { << \new Staff \with { instrumentName = "Standard polyphony" } << \musicUp \\ \musicDown >> \new Staff \with { instrumentName = "PartCombine without text" printPartCombineTexts = ##f } \partCombine \musicUp \musicDown \new Staff \with { instrumentName = "PartCombine with text" } \partCombine \musicUp \musicDown >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar.collapse-height = #30 } } }
Modification des indications de parties combinées
Lorsque vous regroupez automatiquement des parties, vous pouvez modifier le texte qui sera affiché pour les solos et pour les parties à l’unisson :
\new Staff << \set Staff.soloText = #"girl" \set Staff.soloIIText = #"boy" \set Staff.aDueText = #"together" \partCombine \relative c'' { g4 g r r a2 g } \relative c'' { r4 r a( b) a2 g } >>
Voir aussi
Glossaire musicologique : a due, partie.
Manuel de notation : Écriture de parties séparées.
Morceaux choisis : Notation simultanée.
Référence des propriétés internes : PartCombineMusic, Voice.
Problèmes connus et avertissements
Les différentes commandes \partCombine…
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.
\partCombine…
ne peut s’inscrire ni dans un bloc
\tuplet
ni dans un bloc \relative
.
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
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.
\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, \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.
Certaines considérations apparaissent aussi dans les chapitres Tablatures par défaut et Barres de ligature automatiques.
[ << 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. La fonction
\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.
Note : Les contrôles de barre de mesure |
sont obligatoires et
les mesures doivent être de longueur identique.
\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 } >>
Vous pouvez travailler en mode relatif. Notez cependant que la commande
\relative
n’apparaît pas au sein du bloc \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
voiceA
ignorent tout de celles de la voiceB
.
\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 } >>
Ceci fonctionne bien avec la musique pour piano. L’exemple suivant affecte quatre mesures à quatre variables :
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 >> } >> }
Voir aussi
Manuel d’initiation : Organisation du code source avec des variables.
Morceaux choisis : Notation simultanée.
[ << 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 > ] |