@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...collez ici la partition complète d'un opéra de Wagner...}
>>
@}
@cindex mise en forme
@cindex midi
+@noindent
Gardez à l'esprit que ces trois commandes -- @code{\header},
-@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
-toutes les commandes débutant par une oblique inversée (@emph{backshash}
-pour @code{\}), @emph{elles ne constituent pas} des expressions
-musicales et ne seront donc pas interprétées comme telles. Elles
-peuvent de ce fait être mentionnées à l'intérieur du bloc @code{\score},
-tout comme à l'extérieur. En réalité, ces commandes sont la plupart du
-temps indépendantes du bloc @code{\score} -- par exemple, la commande
-@code{\header} intervient bien souvent avant le bloc @code{\score} tout
-simplement parce que les en-têtes apparaissent au début de la partition.
-C'est donc l'un des raccourcis que LilyPond prendra en considération.
+@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
+toutes les commandes débutant par une oblique inversée @code{\}
+(@emph{backslash} en anglais), @strong{elles ne constituent pas} des
+expressions musicales et ne peuvent pas faire partie d'expressions
+musicales. Elles peuvent de ce fait être placées à l'intérieur du
+bloc @code{\score}, ou bien à l'extérieur. En réalité, ces commandes
+sont la plupart du temps indépendantes du bloc @code{\score} -- par
+exemple, la commande @code{\header} intervient souvent avant le bloc
+@code{\score}, comme le montre l'exemple ci-dessus.
Les deux autres commandes -- @code{\layout @{ @}} et @code{\midi @{@}}
-que nous n'avons pas détaillées pour l'instant -- auront respectivement
+-- que nous n'avons pas détaillées pour l'instant, auront respectivement
pour effet, lorsqu'elles interviennent, de produire une sortie
imprimable et un fichier MIDI. Nous nous y intéressons plus
-particulièrement dans le manuel de notation, aux chapitres @ruser{Score
-layout} et @ruser{Creating MIDI files}.
+particulièrement dans le manuel de notation, aux chapitres
+@ruser{Score layout} et @ruser{Creating MIDI files}.
@cindex scores, multiples
@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}. Pour
plus de détails, voir @ref{Saving typing with variables and functions}.
-@seealso
+@seealso
Pour une description complète du format des fichiers d'entrée, voir
@ruser{File structure}.
diable peut-on savoir quoi mettre après @code{\score} ?
En fait, nous ne l'avons pas éludée du tout : le grand mystère est
-tout simplement qu'il n'y a @emph{pas} de mystère. Allez,
+tout simplement qu'@strong{il n'y a pas} de mystère. Allez,
expliquons-le en une ligne :
@quotation
@example
\score @{
@{ % cette accolade marque le début de l'expression musicale
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insérez ici l'intégralité d'un opéra de Wagner...}
>>
@} % cette accolade marque la fin de l'expression musicale
@end example
Un opéra de Wagner multiplierait facilement la longueur de ce manuel
-par deux ou trois, alors faisons-le en version chant/piano. On n'a
-plus besoin d'une partition d'orchestre --- @code{GrandStaff}, qui sert
-à regrouper les portées au moyen d'une accolade sur la gauche --- donc
-laissons cela de côté. Par contre, un chanteur et un piano
-@emph{pourraient} nous être utiles.
+par deux ou trois, alors contentons-nous d'une voix et d'un piano. On
+n'a plus besoin d'une partition d'orchestre --- @emph{i.e.} des
+portées regroupées en @code{StaffGroup} --- donc laissons cela de
+côté. Par contre, nous voulons bien une voix et un piano.
@example
\score @{
Mais si l'on procédait ainsi, la section @code{\score} deviendrait
vite assez touffue, et très rapidement on ne s'y retrouverait plus.
C'est pourquoi on utilisera plutôt des variables, ou identificateurs.
-avec quelques notes de plus, nous pourrions avoir :
+Avec quelques notes de plus, nous pourrions avoir :
@lilypond[verbatim,quote,ragged-right]
melody = \relative c'' { r4 d8\noBeam g, c4 r }
assurez-vous que chaque élément d'un même niveau a le même décalage
horizontal dans votre éditeur de texte !
-@seealso
+@seealso
Manuel de notation : @ruser{Structure of a score}.
@item @code{< .. >}
@tab Délimite les notes d'un accord
@item @code{<< .. >>}
- @tab Délimite des sections simultanées
+ @tab Délimitent des sections simultanées
@item @code{( .. )}
- @tab Marquent le début et la fin d'une liaison
+ @tab Marque le début et la fin d'une liaison
@item @code{\( .. \)}
- @tab Marquent le début et la fin d'une liaison de phrasé
+ @tab Marque le début et la fin d'une liaison de phrasé
@item @code{[ .. ]}
- @tab Marquent le début et la fin d'une ligature manuelle
+ @tab Marque le début et la fin d'une ligature manuelle
@end multitable
D'autres constructions permettent d'obtenir des lignes regroupant ou en
-travers des notes : les liaisons de prolongation (indiquées par un
-tilde, @code{~}), les marques de nolet avec
-@code{\times@tie{}x/y@tie{}@{..@}} ou
+travers des notes : les liaisons de prolongation indiquées par un
+tilde (@code{~}), les marques de nolet avec
+@code{\times@tie{}x/y@tie{}@{..@}}, ou
encore les notes d'ornement avec @code{\grace@{..@}}.
En dehors de LilyPond, l'imbrication correcte de différents types de
crochets exige un strict respect des conventions, telles que
-@code{<< [ @{ ( .. ) @} ] >>}, où les marques de fermeture interviennent
+@code{<<@tie{}[@tie{}@{@tie{}(@tie{}..@tie{})@tie{}@}@tie{}]@tie{}>>},
+où les marques de fermeture interviennent
obligatoirement dans l'ordre exactement inverse à celles d'ouverture.
Ceci @strong{doit} être rigoureusement respecté pour les trois
-types de crochets utilisés pour @emph{délimiter} comme l'indique le
+types de crochets utilisés pour @strong{délimiter} comme l'indique le
tableau ci-dessus.
Une telle rigueur dans l'imbrication n'est @strong{pas} requise pour les
-types de crochets dont la fonction est de @emph{marquer}, selon le
+types de crochets dont la fonction est de @strong{marquer}, selon le
tableau ci-dessus, lorsqu'il sont utilisés en combinaison avec des
liaisons de prolongation ou des nolets. En effet, il ne s'agit pas
de crochets ayant pour fonction de borner quelque chose ; ils agissent
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 @code{@{...@}}), puis à les combiner en simultané à l'aide de
-doubles chevrons geuche/droite, @code{<<...>>}. Les fragments
+doubles chevrons gauche/droite, @code{<<...>>}. Les fragments
devront être séparés par une double oblique inversée, @code{\\}, 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
}
@end lilypond
-Ces voix sont séparées de la voix principale laquelle contient les notes en
+Ces voix sont séparées de la voix principale, laquelle contient les notes en
dehors de la construction @code{<< .. >>} -- que nous appellerons
@emph{construction simultanée}. Les liaisons, de prolongation ou non,
ne peuvent relier des notes que si elles appartiennent à la même voix ;
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
+triangle bleu, la troisième en cercle barré vert, la quatrième (non
utilisée ici) en croix magenta ; @code{\voiceNeutralStyle} (non utilisé
ici) revient au style par défaut. Nous verrons plus tard comment créer
de telles commandes.
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.
+bas. C'est une première indication 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
+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 motes de chacune
+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.
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é
-@code{force-hshift} dans @ref{Fixing overlapping notation}).
+@code{force-hshift} dans @ref{Fixing overlapping notation}).
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
critères normaux.
Voyons, à l'aide de ces exemples simples, les effets respectifs de
-@code{\oneVoice}, @code{\voiceOne} et @code{voiceTwo} sur les
+@code{\oneVoice}, @code{\voiceOne} et @code{\voiceTwo} sur les
annotations, liaisons de prolongation ou de phrasé, et sur les nuances.
@lilypond[quote,ragged-right,verbatim]
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
+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 @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, et
@code{\shiftOff} spécifient le degré nécessaire de décalage qui sera
-appliqué aux notes au accords de la voix en question afin d'éviter une
+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 @code{\shiftOff}, alors que
les voix intérieures -- trois et quatre -- se verront attribuer
@code{\shiftOnn} et @code{\shiftOnnn} définissent des degrés augmentés
de décalage auquel on peut devoir temporairement recourir dans des
-situations complexes -- voir Real music example
-@ref{Real music example}.
+situations complexes -- voir @ref{Real music example}.
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
identiques, LilyPond vous le signalera par le message @qq{Trop
d'empilements en conflit}.
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
@end lilypond
Notez bien que les paroles sont liées à un contexte de voix
-(@code{Voice}), @emph{non} à un contexte de portée (@code{Staff}). Il
+(@code{Voice}), @strong{non} à un contexte de portée (@code{Staff}). Il
est donc nécessaire de créer explicitement les contextes @code{Staff}
et @code{Voice}.
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 afin de séparer de la structure d'une portée
+utiliser des variables 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
(@code{ChoirStaff}). Quant aux blocs de paroles, nous les faisons
One two three four five six
}
\score {
- \new Choirstaff {
+ \new ChoirStaff {
\new Staff <<
\new Voice = "verse" {
\versenotes \break
<<
\refrainnotesA
\new Lyrics \lyricsto verse @{
- \refrainwordsA
+ \refrainparolesA
@}
\new Staff <<
\new Voice = "refrainB" @{
\refrainnotesB
@}
\new Lyrics \lyricsto "refrainB" @{
- \refrainwordsB
+ \refrainparolesB
@}
>>
>>
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Vocal music}.
En plus des contextes @code{Score,} @code{Staff} et @code{Voice} sont
disponibles d'autres contextes intermédiaires entre les niveaux
partition et portée, chargés de gérer certains regroupement, tels que
-@code{PianoStaff} ou @code{ChoirStaff}. Sont aussi disponibles d'autres
+@code{PianoStaff} ou @code{ChoirStaff}. Vous disposez aussi d'autres
contextes de portée ou de voix alternatifs, ainsi que des contextes
spécifiques pour les paroles, les percussions, les tablatures
-d'instruments frettés, la basse chifrée, etc.
+d'instruments frettés, la basse chiffrée, etc.
Le nom de chacun des contextes est formé d'un ou plusieurs mots aux
-initiales en majuscule et directements accolés les uns aux autres sans
+initiales en majuscule et directement accolés les uns aux autres sans
ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Manuel de notation : @ruser{Contexts explained}.
Nous verrons plus avant comment le résultat de LilyPond peut changer
lorsqu'on modifie l'action des graveurs.
-@seealso
+@seealso
Références internes : @rinternals{Engravers and Performers}.
@tab @code{50}
@item doubleSlurs
@tab Booléen
- @tab Si vrai, imprime les liaisons au-dessous et au-dessus des notes
+ @tab Si vrai, imprime les liaisons au-dessous @strong{et} au-dessus des notes
@tab @code{#t}, @code{#f}
@item instrumentName
@tab Texte
saisir deux signes dièse -- par exemple @code{##t}.
Avant de déterminer l'une de ces propriétés, nous devons savoir dans
-quel contexte elles interviennent. Si cela est bien souvent évident, il
+quel contexte elle intervient. Si cela est bien souvent évident, il
peut arriver que cela tourne au cauchemar. Lorsque vous ne spécifiez
pas le bon contexte, aucun message d'erreur ne s'affiche et l'effet
attendu n'est pas au rendez-vous. Par exemple, le @code{instrumentName}
est inconnu de LilyPond, rien ne se passera. Certains éditeurs de texte
disposent d'une prise en charge spécifique aux fichiers source LilyPond,
à l'instar de LilyPondTool couplé à JEdit et qui documente les noms des
-pripriétés dans une infobulle lorsque vous les survolez à la souris, ou
+propriétés dans une infobulle lorsque vous les survolez à la souris, ou
les souligne différemment s'ils sont inconnus, comme ConTEXT. Dans le
cas où votre éditeur ne dispose pas de ces fonctionnalités, nous vous
recommandons de vérifier le nom des propriétés que vous manipulez dans
@end lilypond
Nous venons de voir comment déterminer la valeur de différents types de
-propriétés. N'oubliez pas que les nombres, entiers ou réels, doivent
+propriété. N'oubliez pas que les nombres, entiers ou réels, doivent
être précédés d'un signe dièse (@code{#}) et les valeurs vrai ou faux de
deux signes dièse -- respectivement ##t et ##f --. Une valeur textuelle
doit être encadrée de guillemets anglais, @code{``@dots{ }''}, bien que,
chacun des contextes en particulier grâce à un bloc @code{\with} ou bien
une commande @code{\set} au fil des notes.
-@seealso
+@seealso
Manuel de notation : @ruser{Changing context default settings},
@ruser{The set command}.
Références internes : @rinternals{Contexts},
@rinternals{Tunable context properties}.
+
@node Adding and removing engravers
@subsection Adding and removing engravers
d'un type particulier si vous insérez les commandes @code{\set} dans un
bloc @code{\context}.
-@seealso
+@seealso
Manuel de notation : @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
Commencez par le modèle qui vous semblera le plus proche de ce à quoi
vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce
-pour soprano et violoncelle : dans ce cas, l'on pourrait commencer par les
+pour soprano et violoncelle : dans ce cas, on pourrait commencer par les
@qq{notes et paroles}, pour la partie de soprano.
@example
@end example
On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
-c'est dela section @code{melodie}. De même, on n'a pas besoin de deux
-sections @code{\score} --- si nous les gardions toutes les deux, on
-obtiendrait deux parties séparées ; mais nous voulons un vrai duo, avec
-les deux parties ensemble. Dans la section @code{\score}, on n'a pas
-besoin non plus de deux @code{\layout} ni de deux @code{\midi}.
+c'est de la section @code{melodie}. De même, on n'a pas besoin de deux sections
+@code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
+parties séparées ; mais nous voulons un vrai duo, avec les deux
+parties ensemble. Dans la section @code{\score}, on n'a pas besoin
+non plus de deux @code{\layout} ni de deux @code{\midi}.
Si on se contente de couper et coller les sections @code{melodie}, on se
retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
}
@end lilypond
-@seealso
+@seealso
Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
@ref{Single staff}.
@example
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\new Voice @{ \ManuelUnVoixUnMusique @}
\new Voice @{ \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManuelDeux" <<
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de portée ManuelDeux
>> % fin du contexte PianoStaff
Négliger ceci nous renverrait une erreur, et personne n'est à l'abri de
cette faute ! Pour preuve, il vous suffit de copier l'exemple complet en
fin de chapitre, de supprimer ces @code{<<} et @code{>>}, et de le
-compiler, pour savoir de quoi il retourne.
+compiler, pour voir de quoi il retourne.
@example
<< % Système pianistique et portée de pédalier sont synchrones
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\new Voice @{ \ManuelUnVoixUnMusique @}
\new Voice @{ \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManualDeux" <<
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de portée ManuelDeux
>> % fin du contexte PianoStaff
- \new Staff = "PedalOrgan" <<
+ \new Staff = "PedalierOrgue" <<
\new Voice @{ \PedalierOrgueMusique @}
>>
>>
\score @{
<< % Système pianistique et portée de pédalier sont synchrones
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\TimeKey % définition de la métrique et de l'armure
\clef "treble"
\new Voice @{ \voiceOne \ManuelUnVoixUnMusique @}
\new Voice @{ \voiceTwo \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de la portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManuelDeux" <<
\TimeKey
\clef "bass"
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de la portée ManuelDeux
>> % fin du contexte PianoStaff
- \new Staff = "PedalOrgan" <<
+ \new Staff = "PedalierOrgue" <<
\TimeKey
\clef "bass"
\new Voice @{ \PedalierOrgueMusique @}