@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
Translation of GIT committish: ee20a00bbe6704553bb1f761899a727fc150ab46
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
@c \version "2.13.36"
@c Translators: Frédéric Chiasson, Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Jean-Charles Malahieude, John Mandereau
@node Notes simultanées
@section Notes simultanées
@translationof Simultaneous notes
@lilypondfile[quote]{simultaneous-headword.ly}
La notion musicale de polyphonie fait référence au fait d'avoir plus
d'une voix simultanément dans une pièce. Dans LilyPond, la notion de
polyphonie fait référence au fait d'avoir plus d'une voix sur la même
portée.
@menu
* Monophonie::
* Plusieurs voix::
@end menu
@node Monophonie
@subsection Monophonie
@translationof Single voice
Nous allons voir ici comment gérer plusieurs notes simultanées dans un
même voix.
@menu
* Notes en accords::
* Répétition d'accords::
* Expressions simultanées::
* Clusters::
@end menu
@node Notes en accords
@unnumberedsubsubsec Notes en accords
@translationof Chorded notes
@cindex accords
@cindex chevrons
@funindex <
@funindex >
@funindex <...>
Un accord est formé en mettant une série de hauteurs entre @code{<}
et @code{>}. Un accord peut être suivi d'une durée comme une simple
note.
@lilypond[verbatim,quote,relative=2]
1 2 4 8. 16
@end lilypond
Un accord peut être suivi d'une indication d'articulation comme une
simple note.
@lilypond[verbatim,quote,relative=2]
1\fermata 2-> 4\prall 8.^| 16-.
@end lilypond
Certaines notes, au sein même d'un accord, peuvent être affectées d'une
articulation ou d'un ornement@tie{}:
@lilypond[verbatim,quote,relative=2]
1 c-^ e>2 4 8. 16
@end lilypond
Certains éléments de notation, tels que nuances, soufflets et liaisons,
ne peuvent se rattacher qu'à l'accord et non aux notes qui le composent,
sous peine de ne les voir s'imprimer.
@lilypond[verbatim,quote,relative=2]
1 \f ( ) \< \!
@end lilypond
@cindex accord et mode relatif
@cindex mode relatif et accord
Les accords peuvent être saisis en mode relatif. Dans un accord,
l'octave de chaque hauteur saisie est fonction de la précédente, à
l'exception de la première qui, elle, sera positionnée en fonction de la
première hauteur mentionnée dans l'accord précédent ou de la note
individuelle précédente. Les autres notes au sein de l'accord se
positionnent relativement à la précédente.
@lilypond[verbatim,quote,relative=2]
1
@end lilypond
Pour plus d'information à propos des accords, voir
@ref{Notation des accords}.
@seealso
Glossaire musical :
@rglosnamed{chord,accord}.
Manuel d'initiation :
@rlearning{Combinaison de notes en accords}.
Manuel de notation :
@ref{Notation des accords}.
@ref{Articulations et ornements},
@ref{Octaves relatives}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notes simultanées}.
@node Répétition d'accords
@unnumberedsubsubsec Répétition d'accords
@translationof Chord repetition
Dans le but de vous épargner de la saisie, LilyPond dispose d'un
raccourci -- symbolisé par la lettre @code{q} -- qui a pour effet de
répéter le dernier accord saisi@tie{}:
@lilypond[verbatim,quote,relative=2]
1 q 2 q
@end lilypond
À l'instar de n'importe quel accord, le symbole de répétition peut être
affublé d'une durée, de signes d'articulation, @emph{markups}, liaisons,
ligatures@dots{} En fait, c'est la structure du dernier accord qui est
dupliquée.
@lilypond[verbatim,quote,relative=2]
1\p^"text" q2\<( q8)[-| q8.]\! q16-1-2-3 q8\prall
@end lilypond
Dans la mesure où le symbole de répétition d'accord enregistre la
structure du dernier accord construit, il est tout à fait possible de
l'utiliser même après une succession de notes individuelles et de
silences@tie{}:
@lilypond[verbatim,quote,relative=2]
1 c4 q2 r8 q8
@end lilypond
ILe symbole de répétition d'accord ne prend en charge que les hauteurs,
en aucun cas les nuances, articulation ou ornementations, qu'elles
aient été attachées aux notes le composant ou à l'ensemble.
@lilypond[verbatim,quote,relative=2]
1\sfz c4 q2 r8 q8
@end lilypond
@seealso
Manuel de notation :
@ref{Notation des accords},
@ref{Articulations et ornements}.
Fichiers d'initialisation :
@file{ly/chord-repetition-init.ly}.
@node Expressions simultanées
@unnumberedsubsubsec Expressions simultanées
@translationof Simultaneous expressions
Lorsqu'une ou plusieurs expressions musicales sont encadrées par des
doubles chevrons, elles sont considérées comme étant simultanées. Si la
première expression débute par une note unique ou si l'intégralité de
l'expression simultanée est explicitement rattachée à une voix en
particulier, elle sera placée sur une seule portée. Dans le cas
contraire, les éléments d'une expression simultanée seront placés sur
des portées distinctes.
Voici deux exemples d'expression simultanée sur une même portée@tie{}:
@lilypond[quote,verbatim,relative=2]
\new Voice { % explicit single voice
<< { a4 b g2 } { d4 g c,2 } >>
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
% single first note
a << { a4 b g } { d4 g c, } >>
@end lilypond
Cette manière de procéder est utile lorsque les éléments de l'expression
ont des rythmes identiques. Dès que vous tenterez d'attacher sur une
même hampe des notes de durée différente, vous générerez des erreurs.
Dans l'exemple suivant, l'expression simultanée génère implicitement
plusieurs portées@tie{}:
@lilypond[quote,verbatim,relative=2]
% no single first note
<< { a4 b g2 } { d4 g2 c,4 } >>
@end lilypond
En pareil cas, des rythmes différents ne sont source d'aucun problème.
@node Clusters
@unnumberedsubsubsec Clusters
@translationof Clusters
@cindex cluster
@funindex \makeClusters
@funindex makeClusters
Un cluster indique un agrégat de sons. On peut le représenter par une
plage limitée par un ambitus (notes extrêmes). On obtient une telle
notation en appliquant la fonction @code{makeClusters} à une séquence
d'accords, comme
@lilypond[quote,relative=2,verbatim]
\makeClusters { 2 }
@end lilypond
Des notes ordinaires et des clusters peuvent cohabiter sur une même
portée, y compris simultanément -- en pareil cas, rien ne sera fait
pour tenter d'empécher les chevauchements entre notes et clusters.
@seealso
Glossaire musicologique :
@rglos{cluster}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
Référence des propriétés internes :
@rinternals{ClusterSpanner},
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
@knownissues
L'apparence d'un cluster sera extrèmement resserrée s'il ne comporte au
moins deux accords.
Dans la mesure où un cluster ne possède pas de hampe, il n'y a aucun
moyen d'en connaître la durée@tie{}; cependant la longueur du signe
imprimé dépend directement de la durée affectée aux accords qui le
définissent.
Seul un silence peut séparer deux clusters.
Les clusters ne sont pas reproduits en MIDI.
@node Plusieurs voix
@subsection Plusieurs voix
@translationof Multiple voices
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.
@menu
* Polyphonie sur une portée::
* Styles de voix::
* Résolution des collisions::
* Regroupement automatique de parties::
* Saisie de musique en parallèle::
@end menu
@node Polyphonie sur une portée
@unnumberedsubsubsec Polyphonie sur une portée
@translationof Single-staff polyphony
@cindex polyphonie, portée simple
@cindex voix
@cindex paroles assignées à une voix
@funindex \voiceOne
@funindex voiceOne
@funindex \voiceOne ... \voiceFour
@funindex Voice
@funindex \oneVoice
@funindex oneVoice
@strong{@i{Instanciation explicite des voix}}
La manière la plus facile d'entrer des fragments avec plus d'une voix
sur une portée est est la suivante@tie{}:
@lilypond[quote,relative=3,verbatim]
\new Staff <<
\new Voice = "first"
{ \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
\new Voice= "second"
{ \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>
@end lilypond
@noindent
Vous constaterez que les voix sont créées explicitement et qu'elles
sont nommées. Les commandes @code{\voiceOne} @dots{} @code{\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 @code{\oneVoice} permet de retrouver les
réglages par défaut.
@strong{@i{Polyphonie temporaire}}
Un fragment temporairement polyphonique se construit de la manière
suivante@tie{}:
@example
<< @{ \voiceOne ... @}
\new Voice @{ \voiceTwo ... @}
>> \oneVoice
@end example
@noindent
En fait, la première expression d'une polyphonie temporaire reste dans
le même contexte @code{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.
@lilypond[quote, verbatim, relative=2]
<<
\new Voice = "melody" {
a4
<<
{
\voiceOne
g f
}
\new Voice {
\voiceTwo
d2
}
>>
\oneVoice
e4
}
\new Lyrics \lyricsto "melody" {
This is my song.
}
>>
@end lilypond
@noindent
Vous remarquerez que les commandes @code{\voiceOne} et @code{\voiceTwo}
permettent d'obtenir des réglages différents pour chacune des voix.
@strong{@i{La construction avec un double antislash}}
@cindex couches
@cindex calques
@funindex \\
Une construction de la forme @code{<< @{...@} \\ @{...@} >>}, dans
laquelle plusieurs expressions sont séparées par des doubles obliques
inversées, se comporte différemment de celle sans séparateurs@tie{}:
@strong{tous} les membres de cette contruction seront assignés à de
nouveaux contextes de voix. Ces contextes de voix, créés implicitement,
portent les noms @code{"1"}, @code{"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@tie{}:
@lilypond[quote,relative=3,verbatim]
<<
{ r8 r16 g e8. f16 g8[ c,] f e16 d }
\\
{ d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>
@end lilypond
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ême que si elles avaient été
créées à l'aide des commandes @code{\voiceOne} à @code{\voiceFour}, dans
leur ordre d'apparition.
Dans l'exemple qui suit, la voix intermédiaire à des hampes vers le
haut. Nous la plaçons donc en troisième position, de telle sorte
qu'elle adopte les réglages de @code{\voiceThree} qui correspondent à ce
que nous voulons. Grâce à des espaces invisibles, nous évitons de
surcharger la portée avec des demis soupirs.
@lilypond[quote,relative=3,verbatim]
<<
{ r8 g g g g f16 ees f8 d }
\\
{ ees,8 r ees r d r d r }
\\
{ d'8 s c s bes s a s }
>>
@end lilypond
En dehors des cas les plus simples, nous vous invitons à toujours créer
les contextes de voix de manière explicite. Voir à ce sujet
@rlearning{Contextes et graveurs} et
@rlearning{Instanciation explicite des voix}.
@strong{@i{Identité rythmique}}
Lorsque l'on doît 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@tie{}:
@lilypond[quote,relative=2,verbatim]
\new Voice <<
{ e4 f8 d e16 f g8 d4 }
{ c4 d8 b c16 d e8 b4 }
>>
@end lilypond
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.
@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
@endpredefined
@seealso
Manuel d'initiation :
@rlearning{Les voix contiennent la musique},
@rlearning{Instanciation explicite des voix}.
Manuel de notation :
@ref{Portées de percussion},
@ref{Silences invisibles},
@ref{Hampes}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
@node Styles de voix
@unnumberedsubsubsec Styles de voix
@translationof Voice styles
@cindex voix, styles
@cindex styles de voix
@cindex colorier des voix
@cindex têtes de note, styles
@funindex \voiceOneStyle
@funindex \voiceTwoStyle
@funindex \voiceThreeStyle
@funindex \voiceFourStyle
@funindex \voiceNeutralStyle
Opter pour des couleurs et des têtes de notes spécifiques selon la voix
permet de les identifier plus facliement@tie{}:
@lilypond[quote,relative=2,verbatim]
<<
{ \voiceOneStyle d4 c2 b4 }
\\
{ \voiceTwoStyle e,2 e }
\\
{ \voiceThreeStyle b2. c4 }
\\
{ \voiceFourStyle g'2 g }
>>
@end lilypond
La commande @code{\voiceNeutralStyle} permet de revenir à la
présentation normale.
@predefined
@code{\voiceOneStyle},
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
@endpredefined
@seealso
Manuel d'initiation :
@rlearning{J'entends des Voix},
@rlearning{Autres sources de documentation}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
@node Résolution des collisions
@unnumberedsubsubsec Résolution des collisions
@translationof Collision resolution
@cindex fusion de notes
@cindex collision de notes
@cindex collisions
@cindex shift note
@cindex multiples voix
@cindex voix multiples
@cindex polyphonie
@cindex décélage de voix
@cindex voix, décalage
@cindex silences, décalage automatique
@funindex \shiftOn
@funindex shiftOn
@funindex \shiftOnn
@funindex shiftOnn
@funindex \shiftOnnn
@funindex shiftOnnn
@funindex \shiftOff
@funindex shiftOff
@funindex \mergeDifferentlyDottedOn
@funindex mergeDifferentlyDottedOn
@funindex \mergeDifferentlyDottedOff
@funindex mergeDifferentlyDottedOff
@funindex \mergeDifferentlyHeadedOn
@funindex mergeDifferentlyHeadedOn
@funindex \mergeDifferentlyHeadedOff
@funindex mergeDifferentlyHeadedOff
Les notes de hauteur identique appartenant à des voix différentes, même
si leur hampe sont opposées, verront leur tête automatiquement
fusionnées. 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 mesur, ainsi qu'au premier temps de la deuxième mesure.
@lilypond[quote,verbatim,relative=2]
<<
{
c8 d e d c d c4
g'2 fis
} \\ {
c2 c8. b16 c4
e,2 r
} \\ {
\oneVoice
s1
e8 a b c d2
}
>>
@end lilypond
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 sont bien fusionnées@tie{}:
@lilypond[quote,verbatim,relative=2]
<<
{
\mergeDifferentlyHeadedOn
c8 d e d c d c4
g'2 fis
} \\ {
c2 c8. b16 c4
e,2 r
} \\ {
\oneVoice
s1
e8 a b c d2
}
>>
@end lilypond
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@tie{}:
@lilypond[quote,relative=2,verbatim]
<<
{
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c8 d e d c d c4
g'2 fis
} \\ {
c2 c8. b16 c4
e,2 r
} \\ {
\oneVoice
s1
e8 a b c d2
}
>>
@end lilypond
Lorsque trois notes ou plus s'agglutinent dans un même empilement,
@code{\mergeDifferentlyHeadedOn} ne peut mener à bien la fusion des deux
notes qui devraient l'être. Pour obtenir une fusion optimale, appliquez
un décalage (@code{\shift}) à la note qui ne devrait pas fusionner.
Ici, on applique un @code{\shiftOn} pour décaler le @notation{sol} de
l'empilement@tie{}; le rendement de @code{\mergeDifferentlyHeadedOn} est
alors comme il faut.
@lilypond[quote,relative=2,verbatim]
<<
{
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
c8 d e d c d c4
\shiftOn
g'2 fis
} \\ {
c2 c8. b16 c4
e,2 r
} \\ {
\oneVoice
s1
e8 a b c d2
}
>>
@end lilypond
Les commandes @code{\shiftOn}, @code{\shiftOnn}, et @code{\shiftOnnn}
déterminent le niveau de décalage des accords de la voix en cours.
Les voix externes -- habituellement, les voix une et deux -- sont
affectées de @code{\shiftOff}, alors que les voix internes -- trois et
quatre -- sont affectées de @code{\shiftOn}. @code{\shiftOnn} et
@code{\shiftOnnn} sont des niveaux supplémentaires de décalage.
Les têtes de notes ne seront fusionnées que dans la mesure où leur
hampe sont opposées -- implicitement parce qu'appartenant aux voix une
ou deux, ou bien explicitement.
@predefined
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\mergeDifferentlyHeadedOff}.
@code{\shiftOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{additional-voices-to-avoid-collisions.ly}
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
@seealso
Glossaire musicologique :
@rglosnamed{polyphony,polyphonie}.
Manuel d'initiation :
@rlearning{Notes simultanées},
@rlearning{Les voix contiennent la musique},
@rlearning{Exemple concret}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
Référence des propriétés internes :
@rinternals{NoteColumn},
@rinternals{NoteCollision},
@rinternals{RestCollision}.
@knownissues
@ignore
@c TODO investigate! Sometimes it works, sometimes not. --FV
The requirements for successfully merging different note heads that
are at the same time differently dotted are not clear.
@end ignore
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 @ref{Clusters}.
@node Regroupement automatique de parties
@unnumberedsubsubsec Regroupement automatique de parties
@translationof Automatic part combining
@cindex regroupement automatique de parties
@cindex parties, combiner des
@cindex a due
@cindex solo
@funindex \partcombine
@funindex partcombine
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 @emph{a due}.
Voici la syntaxe qui permet de combiner des parties@tie{}:
@example
\partcombine @var{expression_musicale_1} @var{expression_musicale_2}
@end example
L'exemple suivant illustre les fonctionnalités élémentaires du
combinateur de parties@tie{}: positionner les parties sur une portée,
gérer la direction des hampes et de la polyphonie. Les identificateurs
sont les mêmes pour la combinaison que pour les parties séparées.
@lilypond[quote,verbatim]
instrumentOne = \relative c' {
c4 d e f
R1
d'4 c b a
b4 g2 f4
e1
}
instrumentTwo = \relative g' {
R1
g4 a b c
d c b a
g f( e) d
e1
}
<<
\new Staff \instrumentOne
\new Staff \instrumentTwo
\new Staff \partcombine \instrumentOne \instrumentTwo
>>
@end lilypond
Les notes de la troisième mesure n'apparaîssent qu'une seule fois,
alors qu'elles ont été spécifiés 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 @code{one},
aura toujours ses hampes dirigées vers le haut et sera notée @qq{Solo},
alors que la deuxième, appelée @code{two}, aura des hampes vers le bas
et sera notée @qq{Solo@tie{}II}. Les parties à l'unisson seront
estampillées d'un @qq{a2} par défaut.
LilyPond interprète dans un contexte @code{Voice} chacun des arguments
fournis à @code{\partcombine}. Si vous travaillez avec des octaves
relatives, spécifiez @code{\relative} dans chacune des expressions
musicales, comme ceci@tie{}:
@example
\partcombine
\relative @dots{} @var{expression_musicale_1}
\relative @dots{} @var{expression_musicale_2}
@end example
@noindent
Une section @code{\relative} à l'extérieur du @code{\partcombine}
restera sans effet sur les hauteurs de
@code{@var{expression_musicale_1}} ou de
@code{@var{expression_musicale_2}}.
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{combining-two-parts-on-the-same-staff.ly}
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-partcombine-texts.ly}
@seealso
Glossaire musicologique :
@rglos{a due},
@rglosnamed{part,partie}.
Manuel de notation :
@ref{Écriture de parties séparées}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.
Référence des propriétés internes :
@rinternals{PartCombineMusic},
@rinternals{Voice}.
@knownissues
@code{\partcombine} ne prend en charge que deux voix.
Lorsque @code{printPartCombineTexts} est actif et que les deux voix
jouent souvent les mêmes notes, le combinateur peut afficher @code{a2}
plus d'une fois par mesure.
@code{\partcombine} ne peut s'inscrire dans un bloc @code{\times}.
@code{\partcombine} ne peut s'inscrire dans un bloc @code{\relative}.
En interne, @code{\partcombine} interprète les deux arguments en tant
que @code{Voice}s, dénommées @code{one} et @code{two}, puis décide de
quand les parties seront fusionnées. Par conséquent, si les arguments
changent pour d'autres noms de contexte @rinternals{Voice}, les
événements qu'ils contiendraient seront ignorés. De la même manière, le
combinateur n'est pas conçu pour travailler avec des paroles@tie{}; il
s'arrête dès qu'il est explicitement fait appel à l'une des voix pour y
attacher des paroles.
@code{\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.
@node Saisie de musique en parallèle
@unnumberedsubsubsec Saisie de musique en parallèle
@translationof Writing music in parallel
@cindex écrire la musique en parallèle
@cindex musique en parallèle
@cindex musique entremêlée
@funindex \parallelMusic
@funindex parallelMusic
On peut écrire plusieurs voix de façon entremêlée. La fonction
@code{\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.
@warning{Les contrôles de barre de mesure @code{|} sont obligatoires et
le mesures doivent être de longueur identique.}
@lilypond[quote,verbatim]
\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.~ e'4 r16 e'8.~ e'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.~ d'4 r16 d'8.~ d'4 |
c'2 c'2 |
}
\new StaffGroup <<
\new Staff << \voiceA \\ \voiceB >>
\new Staff { \clef bass \voiceC }
>>
@end lilypond
Vous pouvez travailler en mode relatif. Notez cependant que la commande
@code{\relative} n'apparaît pas au sein du bloc @code{\parallelMusic}.
Le calcul des hauteurs relatives s'effectue voix par voix, et non au fil
des lignes saisies@tie{}; en d'autres termes, les notes de la
@code{voiceA} ignorent tout de celles de la @code{voiceB}.
@lilypond[quote,verbatim]
\parallelMusic #'(voiceA voiceB voiceC) {
% Bar 1
r8 g16 c e g, c e r8 g,16 c e g, c e |
r16 e8.~ e4 r16 e8.~ e4 |
c2 c |
% Bar 2
r8 a,16 d f a, d f r8 a,16 d f a, d f |
r16 d8.~ d4 r16 d8.~ d4 |
c2 c |
}
\new StaffGroup <<
\new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
\new Staff \relative c' { \clef bass \voiceC }
>>
@end lilypond
Ceci fonctionne bien avec la musique pour piano. L'exemple suivant
affecte quatre mesures à quatre variables@tie{}:
@lilypond[quote,verbatim]
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
>>
}
>>
}
@end lilypond
@seealso
Manuel d'initiation :
@rlearning{Organisation du code source avec des variables}.
Morceaux choisis :
@rlsrnamed{Simultaneous notes,Notation simultanée}.