@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 8df40d45e4366f4e9baa2cec3b7eb38b6482150f
+ Translation of GIT committish: ab336761427b7214e133ff06b3592afa75eda1cf
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.16.0"
+@c \version "2.19.2"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
@section Organisation des fichiers LilyPond
@translationof How LilyPond input files work
-La mise en forme des fichiers d'entrée de LilyPond est vraiment
-peu astreignante, afin d'offrir assez de souplesse aux utilisateurs
-expérimentés pour qu'ils puissent organiser leurs fichiers comme
-ils l'entendent. Cependant, les nouveaux utilisateurs peuvent parfois
-se perdre en raison de cette souplesse. Cette section présente
-sommairement l'organisation du code LilyPond, en privilégiant
-la simplicité au détriment de certains détails. Vous trouverez une
-description plus complète dans @ruser{Structure de fichier}.
+La mise en forme des fichiers d'entrée de LilyPond est vraiment peu
+astreignante, afin d'offrir assez de souplesse aux utilisateurs
+expérimentés pour qu'ils puissent organiser leurs fichiers comme ils
+l'entendent. Cependant, les nouveaux utilisateurs peuvent parfois se
+perdre en raison de cette souplesse. Cette section présente sommairement
+l'organisation du code LilyPond, en privilégiant la simplicité au
+détriment de certains détails. Vous trouverez une description plus
+complète dans @ruser{Structure de fichier}.
@menu
* Introduction à la structure de fichier LilyPond::
\version @w{"@version{}"}
\header @{ @}
\score @{
- @var{...expression musicale composite...} % c'est là qu'est la musique !
+ @var{ @dots{} expression musicale composite @dots{} } % c'est là qu'est la musique !
\layout @{ @}
\midi @{ @}
@}
@example
@{
\new StaffGroup <<
- @var{...collez ici la partition complète d'un opéra de Wagner...}
+ @var{ @dots{} collez ici la partition complète d'un opéra de Wagner@dots{} }
>>
@}
@end example
expliquons-le en une ligne :
@quotation
-@emph{Un bloc @code{\score} doit commencer par une et une seule
-expression musicale.}
+@emph{Un bloc @code{\score} doit contenir une et une seule expression
+musicale.}
@end quotation
@noindent
@multitable @columnfractions .3 .7
@headitem Type de crochet
@tab Fonction
-@item @code{@{ .. @}}
+@item @code{@{ @dots{} @}}
@tab Délimite un segment de musique séquentielle
-@item @code{< .. >}
+@item @code{< @dots{} >}
@tab Délimite les notes d'un accord
-@item @code{<< .. >>}
+@item @code{<< @dots{} >>}
@tab Délimite des sections simultanées
-@item @code{( .. )}
+@item @code{( @dots{} )}
@tab Marque le début et la fin d'une liaison
-@item @code{\( .. \)}
+@item @code{\( @dots{} \)}
@tab Marque le début et la fin d'une liaison de phrasé
-@item @code{[ .. ]}
+@item @code{[ @dots{} ]}
@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 x/y @{..@}}, ou
-encore les notes d'ornement avec @code{\grace@{..@}}.
+(@code{~}), les marques de nolet avec @code{\times x/y @{ @dots{} @}},
+ou encore les notes d'ornement avec @code{\grace@{ @dots{} @}}.
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
-obligatoirement dans l'ordre exactement inverse à celles d'ouverture.
-Ceci @strong{doit} être rigoureusement respecté pour les trois 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
+@code{<< [ @{ ( @dots{} ) @} ] >>}, 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 @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
@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
d'une liaison de phrasé se poursuivant (lignes 3 et 4).
@lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
@end 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 @code{@{...@}}), puis à les combiner en simultané à l'aide de
-doubles chevrons gauche/droite, @code{<<...>>}. Les fragments
+(avec @code{@{ @dots{} @}}), puis à les combiner en simultané à l'aide
+de doubles chevrons gauche/droite, @code{<< @dots{} >>}. 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 pourrait générer des
c16 d e f
% Voice "1" Voice "2" Voice "3"
<< { g4 f e } \\ { r8 e4 d c8~ } >> |
- << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
+ << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
}
@end lilypond
Ces voix sont séparées de la voix principale, laquelle contient les
-notes en dehors de la construction @code{<<...>>} -- que nous
+notes en dehors de la construction @code{<< @dots{} >>} -- 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 ; elles ne peuvent ni pénétrer une
{ d2 e }
\\
% Voice 2 continues
- { c8 b16 a b8 g~ g2 }
+ { c8 b16 a b8 g~ 2 }
\\
{
\voiceThreeStyle
@code{\relative} au début de chacune des voix :
@example
-\relative c' @{ noteA ... @}
+\relative c' @{ noteA @dots{} @}
<<
- \relative c'' @{ < noteB noteC > ... @}
+ \relative c'' @{ < noteB noteC > @dots{} @}
\\
- \relative g' @{ noteD ... @}
+ \relative g' @{ noteD @dots{} @}
>>
-\relative c' @{ noteE ... @}
+\relative c' @{ noteE @dots{} @}
@end example
Pour finir, analysons le principe d'utilisation des voix dans une pièce
\\ % Voice two
{
% Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'ignore-collision = ##t
+ \once \override NoteColumn.ignore-collision = ##t
<ees, c>2
- \once \override NoteColumn #'force-hshift = #0.5
+ \once \override NoteColumn.force-hshift = #0.5
des2
}
\\ % No voice three
\\ % Voice four
{
- \override NoteColumn #'force-hshift = #0
+ \override NoteColumn.force-hshift = #0
aes'2 f4 fes
}
>> |
\\ % Voice two
{ \voiceTwoStyle
% Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'ignore-collision = ##t
+ \once \override NoteColumn.ignore-collision = ##t
<ees, c>2
- \once \override NoteColumn #'force-hshift = #0.5
+ \once \override NoteColumn.force-hshift = #0.5
des2
}
\\ % No Voice three (we want stems down)
\\ % Voice four
{ \voiceThreeStyle
- \override NoteColumn #'force-hshift = #0
+ \override NoteColumn.force-hshift = #0
aes'2 f4 fes
}
>> |
@lilypond[quote,ragged-right,verbatim]
\relative c' {
% Default behavior or behavior after \oneVoice
- c4 d8~ d e4( f | g4 a) b-> c |
+ c4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
\relative c' {
\voiceOne
- c4 d8~ d e4( f | g4 a) b-> c |
+ c4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
- c,4 d8~ d e4( f | g4 a) b-> c |
+ c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
\relative c' {
\voiceTwo
- c4 d8~ d e4( f | g4 a) b-> c |
+ c4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
- c,4 d8~ d e4( f | g4 a) b-> c |
+ c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
\new Voice {
% Set stems, etc., down
\voiceTwo
- r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
+ r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
}
% Initiate third voice
\new Voice {
\voiceTwo
r8 e4 d c8~ |
<<
- { c8 b16 a b8 g~ g2 | }
+ { c8 b16 a b8 g~ 2 | }
\new Voice {
\voiceThree
s4 b c2 |
\new Voice {
% Set stems, etc, down
\voiceTwo
- s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
+ s4 r8 e4 d c8 ~ | 8 b16 a b8 g ~ 2 |
}
% Initiate third voice
\new Voice {
d'empilements en conflit}.
@seealso
+Manuel d'initiation :
+@ref{Déplacement d'objets}
+
Manuel de notation :
@ruser{Plusieurs voix}.
global = { \key f \major \time 6/8 \partial 8 }
SopOneMusic = \relative c'' {
- c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
+ c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
}
SopOneLyrics = \lyricmode {
Let | flee -- cy flocks the | hills a -- dorn, __
@seealso
Manuel de notation :
-@ruser{Création d'un contexte}.
+@ruser{Création et référencement d'un contexte}.
@node Tout savoir sur les graveurs
@tab Grave les clefs
@item Completion_heads_engraver
@tab Divise les notes qui dépassent de la mesure
-@item New_dynamic_engraver
+@item Dynamic_engraver
@tab Crée les soufflets et textes de nuance
@item Forbid_line_break_engraver
@tab Empêche un saut de ligne si un élément musical est toujours actif
>>
@end lilypond
-Autre exemple, si la propriété @code{clefOctavation} est déterminée au
-niveau du contexte @code{Score}, elle modifiera la valeur de l'octave en
-cours pour toutes les portées actives ; cette valeur sera considérée
-comme étant la nouvelle valeur par défaut pour toutes les portées à
-venir.
+Autre exemple, si la propriété @code{clefTransposition} est déterminée
+au niveau du contexte @code{Score}, elle modifiera la valeur de la
+transposition en cours pour toutes les portées actives ; cette valeur
+sera considérée comme étant la nouvelle valeur par défaut pour toutes
+les portées à venir.
La commande opposée, @code{\unset}, efface la propriété du contexte ; la
plupart des propriétés reviennent de ce fait à leur valeur par défaut.
de spécifier les valeurs d'une propriété pour la durée de vie du
contexte. Lorsque vous créez un contexte à l'aide de la commande
@code{\new}, vous pouvez la faire suivre immédiatement d'un bloc
-@code{\with @{ .. @}} qui contiendra les réglages des différentes
+@code{\with @{ @dots{} @}} qui contiendra les réglages des différentes
propriétés. Ainsi, si nous voulions par exemple annuler l'impression
des bécarres supplémentaires sur la durée d'une portée, nous
écririons :
@end lilypond
@seealso
-Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
-@ref{Portée unique}.
+Les patrons originaux sont disponibles à l'annexe
+@ref{Modèles pour portée unique}.
@node Partition pour chœur à quatre voix mixtes
}
@end lilypond
-Aucun des modèles ne permet d'arriver exactement à cette mise en forme.
-Celui qui s'en rapprocherait le plus est @qq{SATB vocal score and
-automatic piano reduction} -- voir @ref{Ensemble vocal} -- mais encore
-faudrait-il en modifier la mise en forme et refaire la partie de piano
-qui n'est plus une simple reprise des parties vocales. Les variables
-qui gèrent la musique et les paroles du chœur ne nécessitent pas de
-modification, mais il nous faut d'autres variables pour la réduction de
-piano.
+@warning{Cette présentation s'obtient facilement à l'aide du gabarit
+préprogrammé @code{satb.ly} -- voir @ref{Gabarits préprogrammés}. Il
+masque, dans un but de simplification, totalement la structure des
+contextes nécessaires et les génère automatiquement. Pour les besoins
+de la démonstration et à titre didactique nous procèderons ici pas à
+pas, ce gabarit préprogrammé ne correspondant pas forcément à vos
+attentes.}
+
+Le gabarit qui se rapprocherait le plus de cette mise en forme est
+@ref{Partition pour chœur SATB avec réduction pour piano} -- voir
+@ref{Modèles pour ensemble vocal} -- mais encore faudrait-il en
+modifier la mise en forme et refaire la partie de piano qui n'est
+plus une simple reprise des parties vocales. Les variables qui
+gèrent la musique et les paroles du chœur ne nécessitent pas de
+modification, mais il nous faut d'autres variables pour la
+réduction de piano.
L'ordre dans lequel apparaissent les contextes dans le @code{ChoirStaff}
du modèle ne correspond pas à ce que nous voyons ci-dessus. Il nous
\new PianoStaff <<
\new Staff = "ManuelUn" <<
\new Voice @{
- \ManuelUnVoixUnMusique
+ \ManuelUnVoixUnMusique
@}
\new Voice @{
\ManuelUnVoixDeuxMusique
\ManuelUnVoixDeuxMusique
@}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualDeux" <<
+ \new Staff = "ManuelDeux" <<
\new Voice @{
\ManuelDeuxMusique
@}
>>
@end example
-La construction en simultané -- @code{<<...>>} -- n'est pas strictement
-obligatoire pour les portées manuel deux et pédalier, qui ne contiennent
-chacune qu'une seule expression musicale ; mais cela ne mange pas de
-pain, et c'est une bonne habitude que de toujours encadrer par des
-doubles chevrons gauche/droite ce qui suit une commande
+La construction en simultané -- @code{<< @dots{} >>} -- n'est pas
+strictement obligatoire pour les portées manuel deux et pédalier, qui ne
+contiennent chacune qu'une seule expression musicale ; mais cela ne
+mange pas de pain, et c'est une bonne habitude que de toujours encadrer
+par des doubles chevrons gauche/droite ce qui suit une commande
@code{\new Staff} au cas où il y aurait plusieurs voix. Il en va
autrement pour les contextes @code{Voice} : ils doivent être toujours
-suivis d'accolades -- @code{@{...@}} -- au cas où vous auriez employé
-plusieurs variables qui doivent intervenir consécutivement.
+suivis d'accolades -- @code{@{ @dots{} @}} -- au cas où vous auriez
+employé plusieurs variables qui doivent intervenir consécutivement.
Ajoutons donc cette structure au bloc @code{\score}, tout en fignolant
l'indentation. Nous en profitons pour ajouter les clefs appropriées,
valeurs par défaut de la propriété @code{staff-staff-spacing} dans le
fichier @file{scm/define-grobs.scm}, en examinant la définition du
@emph{grob} @code{VerticalAxisGroup}. La valeur que nous affecterons à
-@code{stretchability} est celle que contient la définition du contexte
+@code{stretchability} est celle que contient la définition du contexte
@code{PianoStaff} telle qu'elle apparaît dans le fichier
@file{ly/engraver-init.ly}).
@}
>> % fin du contexte de la portée ManuelUn
\new Staff = "ManuelDeux" \with @{
- \override VerticalAxisGroup
- #'staff-staff-spacing #'stretchability = 5
+ \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
@} <<
\ArmureMetrique
\clef "bass"
d2 c |
}
ManualOneVoiceTwoMusic = \relative c' {
- ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
- c8 c4 b8 c8. g16 c b c d |
+ ees16 d ees8~ 16 f ees d c8 d~ d c~ |
+ 8 c4 b8 c8. g16 c b c d |
}
ManualTwoMusic = \relative c' {
- c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+ c16 b c8~ 16 b c g a8 g~ 16 g aes ees |
+ f16 ees f d g aes g f ees d ees8~ 16 f ees d |
}
PedalOrganMusic = \relative c {
- r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+ r8 c16 d ees d ees8~ 16 a, b g c b c8 |
r16 g ees f g f g8 c,2 |
}
}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" \with {
- \override VerticalAxisGroup
- #'staff-staff-spacing #'stretchability = 5
+ \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
} <<
\keyTime
\clef "bass"
@lilypond[quote,verbatim,ragged-right]
dolce = \markup { \italic \bold dolce }
-padText = { \once \override TextScript #'padding = #5.0 }
+padText = { \once \override TextScript.padding = #5.0 }
fthenp =_\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
violin = \relative c'' @{
\repeat volta 2 @{
c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
- \once \override TextScript #'padding = #5.0
+ \once \override TextScript.padding = #5.0
c4.^"hi there!" d8 e' f g d |
c,4.\markup @{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
(parser location padding)
(number?)
#{
- \once \override TextScript #'padding = #padding
+ \once \override TextScript.padding = #padding
#})
\relative c''' {
}
>>
@end lilypond
-