@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 44c3a53cb34d08a57838ae56c407216277e4c3f0
+ Translation of GIT committish: 1d859642df3a961f6675a70387069cbaa56d8ce9
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.17.6"
+@c \version "2.19.22"
@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 @{ @}
@}
simpliste. LilyPond considère
@example
-\relative c'' @{
- c4 a d c
+\relative @{
+ c''4 a d c
@}
@end example
\score @{
\new Staff @{
\new Voice @{
- \relative c'' @{
- c4 a b c
+ \relative @{
+ c''4 a b c
@}
@}
@}
@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
imprimable et un fichier MIDI. Nous nous y intéressons plus
particulièrement dans le manuel de notation, aux chapitres
@ruser{Mise en forme de la partition} et
-@ruser{Création de fichiers MIDI}.
+@ruser{Génération de fichiers MIDI}.
@cindex partitions multiples
@cindex book, bloc implicite
tous les modèles, vous trouverez :
@example
-melodie = \relative c' @{
- c4 a b c
+melodie = \relative @{
+ c'4 a b c
@}
\score @{
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
commencer à écrire
@example
-\relative c'' @{
- r4 d8\noBeam g, c4 r
+\relative @{
+ r4 d''8\noBeam g, c4 r
@}
@end example
Avec quelques notes de plus et une clef de fa, nous pourrions avoir :
@lilypond[verbatim,quote,ragged-right]
-melody = \relative c'' { r4 d8\noBeam g, c4 r }
+melody = \relative { r4 d''8\noBeam g, c4 r }
text = \lyricmode { And God said, }
-upper = \relative c'' { <g d g,>2~ <g d g,> }
-lower = \relative c { b2 e2 }
+upper = \relative { <g' d g,>2~ <g d g,> }
+lower = \relative { b,2 e2 }
\score {
<<
@lilypond[verbatim,quote,ragged-right]
\new Staff {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f c c }
@lilypond[verbatim,quote,ragged-right]
\new Staff = "main" {
- \relative g' {
- r4 g8 g c4 c8 d |
+ \relative {
+ r4 g'8 g c4 c8 d |
e4 r8
<<
{ f c c }
@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 n-olet avec @code{\tuplet 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,
+combinaison avec des liaisons de prolongation ou des n-olets. En effet,
il ne s'agit pas de crochets ayant pour fonction de borner quelque
chose ; ils agissent plutôt comme marquant le début de quelque chose et
sa fin.
@end lilypond
De manière générale, différents types de crochets, notamment s'ils
-indiquent des nolets, liaisons de prolongation ou notes d'ornement,
+indiquent des n-olets, liaisons de prolongation ou notes d'ornement,
peuvent se mélanger entre eux. L'exemple suivant montre une ligature
qui se prolonge sur un triolet (ligne 1), puis une liaison qui se
prolonge sur un triolet (ligne 2) et enfin une ligature et une liaison
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
automatiquement.
@lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
% Main voice
- c16 d e f
+ c'16 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
liaison de prolongation entre deux constructions.
@lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
% Main voice
- c16 d e f
+ c'16 d e f
<< % Bar 1
{
\voiceOneStyle
{ 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
@c The following should appear as music without code
@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<< % Voice one
- { c2 aes4. bes8 }
+ { c''2 aes4. bes8 }
\\ % Voice two
{
% Ignore these for now - they are explained in Ch 4
@c The following should appear as music without code
@c The three voice styles should be defined in -init
@lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
{ % Voice one
\voiceOneStyle
- c2 aes4. bes8
+ c''2 aes4. bes8
}
\\ % Voice two
{ \voiceTwoStyle
saisir la première mesure dans trois voix :
@lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<<
- { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
+ { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
>> |
<c ees aes c>1 |
}
plaçant la musique dans la voix 4 grâce à un @code{\\} supplémentaire :
@lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
\key aes \major
<< % Voice one
- { c2 aes4. bes8 }
+ { c''2 aes4. bes8 }
\\ % Voice two
{ <ees, c>2 des }
\\ % Omit Voice three
@example
\new Staff @{
- \relative c' @{
- << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+ \relative @{
+ << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
@}
@}
@end example
@example
\new Staff <<
- \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
- \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+ \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
+ \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
>>
@end example
@c The following example should not display the code
@lilypond[ragged-right,quote]
\new Staff <<
- \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
- \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+ \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
+ \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
>>
@end lilypond
annotations, liaisons de prolongation ou de phrasé, et sur les nuances.
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
% Default behavior or behavior after \oneVoice
- c4 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' {
+\relative {
\voiceOne
- c4 d8~ d e4( f | g4 a) b-> c |
+ c'4 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' {
+\relative {
\voiceTwo
- c4 d8~ d e4( f | g4 a) b-> c |
+ c'4 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
liaison de phrasé à l'ensemble.
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
\voiceOneStyle
% The following notes are homophonic
- c16^( d e f
+ c'16^( d e f
% Start simultaneous section of three voices
<<
% Continue the main voice in parallel
\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 {
plus naturelle de saisir la musique :
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
- c16^( d e f
+\new Staff \relative {
+ c'16^( d e f
<<
{ g4 f e | d2 e) | }
\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 |
voix.
@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' <<
+\new Staff \relative <<
% Initiate first voice
\new Voice {
\voiceOne
- c16^( d e f g4 f e | d2 e2) |
+ c'16^( d e f g4 f e | d2 e2) |
}
% Initiate second voice
\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 {
@code{\shiftOff} spécifient le degré nécessaire de décalage qui sera
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
+première et deuxième -- se verront attribuer @code{\shiftOff}, alors
+que les voix intérieures -- trois et quatre -- se verront attribuer
@code{\shiftOn}. Lorsqu'un décalage s'applique, les voix un et trois
iront vers la droite, et les voix deux et quatre vers la gauche.
aux hampes vers le bas. Dans le cas où des notes, issues de deux voix
ayant toutes deux des hampes dans la même direction, se retrouvent au
même moment et qu'aucun décalage n'a été spécifié ou qu'ils sont
-identiques, LilyPond vous le signalera par le message @qq{Trop
-d'empilements en conflit}.
+identiques, LilyPond vous le signalera par le message « Cette voix
+requiert un @code{@bs{}voiceXx} ou un réglage @code{@bs{}shiftXx} ».
@seealso
+Manuel d'initiation :
+@ref{Déplacement d'objets}
+
Manuel de notation :
@ruser{Plusieurs voix}.
@lilypond[quote,verbatim]
<<
\new Voice = "one" {
- \relative c'' {
+ \relative {
\autoBeamOff
\time 2/4
- c4 b8. a16 | g4. f8 | e4 d | c2 |
+ c''4 b8. a16 | g4. f8 | e4 d | c2 |
}
}
\new Lyrics \lyricsto "one" {
@lilypond[quote,verbatim]
global = { \key f \major \time 6/8 \partial 8 }
-SopOneMusic = \relative c'' {
- c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
+SopOneMusic = \relative {
+ c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
}
SopOneLyrics = \lyricmode {
Let | flee -- cy flocks the | hills a -- dorn, __
}
-SopTwoMusic = \relative c' {
- r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
+SopTwoMusic = \relative {
+ r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
}
SopTwoLyrics = \lyricmode {
Let | flee -- cy flocks the | hills a -- dorn,
@lilypond[quote,verbatim]
keyTime = { \key c \major \time 4/4 \partial 4 }
-SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 }
VerseOne =
\lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
\key g \minor
\clef "treble"
\new Voice { % create voice for RH notes
- \relative c'' { % start of RH notes
- d4 ees16 c8. |
+ \relative { % start of RH notes
+ d''4 ees16 c8. |
d4 ees16 c8. |
} % end of RH notes
} % end of RH voice
\clef "bass"
\new Voice { % create LH voice one
\voiceOne
- \relative g { % start of LH voice one notes
+ \relative { % start of LH voice one notes
g8 <bes d> ees, <g c> |
g8 <bes d> ees, <g c> |
} % end of LH voice one notes
} % end of LH voice one
\new Voice { % create LH voice two
\voiceTwo
- \relative g { % start of LH voice two notes
+ \relative { % start of LH voice two notes
g4 ees |
g4 ees |
} % end of LH voice two notes
@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
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Staff.instrumentName = #"Soprano"
- c4 c
+ c''4 c
}
- \new Staff \relative c' {
+ \new Staff \relative {
\set instrumentName = #"Alto" % Wrong!
- d4 d
+ d'4 d
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
- aeses2 aes
+ \new Staff \relative {
+ aeses'2 aes
}
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Staff.extraNatural = ##f
- aeses2 aes
+ aeses'2 aes
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
- \new Staff \relative c'' {
- aeses2 aes
+ \new Staff \relative {
+ aeses'2 aes
}
- \new Staff \relative c'' {
+ \new Staff \relative {
\set Score.extraNatural = ##f
- aeses2 aes
+ aeses'2 aes
}
>>
@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 :
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
\new Staff \with { extraNatural = ##f } {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
>>
@lilypond[verbatim,quote]
\score {
\new Staff {
- \relative c'' {
- cisis4 e d cis
+ \relative {
+ cisis''4 e d cis
}
}
\layout {
\score {
<<
\new Staff {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
\new Staff {
- \relative c'' {
- gisis4 gis aeses aes
+ \relative {
+ gisis'4 gis aeses aes
}
}
>>
\new Staff \with {
\remove "Staff_symbol_engraver"
}
-\relative c' {
- c4 d
+\relative {
+ c'4 d
\set fontSize = #-4 % make note heads smaller
e4 f |
\set fontSize = #2.5 % make note heads larger
\new Voice \with {
\consists "Ambitus_engraver"
} {
- \relative c'' {
+ \relative {
\voiceOne
- c4 a b g
+ c''4 a b g
}
}
\new Voice {
- \relative c' {
+ \relative {
\voiceTwo
- c4 e d f
+ c'4 e d f
}
}
>>
}
<<
\new Voice {
- \relative c'' {
+ \relative {
\voiceOne
- c4 a b g
+ c''4 a b g
}
}
\new Voice {
- \relative c' {
+ \relative {
\voiceTwo
- c4 e d f
+ c'4 e d f
}
}
>>
\score {
<<
\new Staff {
- \relative c'' {
- c4 a b g
+ \relative {
+ c''4 a b g
}
}
\new Staff {
- \relative c' {
- c4 a b g
+ \relative {
+ c'4 a b g
}
}
\new Staff {
\clef "G_8"
- \relative c' {
- c4 a b g
+ \relative {
+ c'4 a b g
}
}
\new Staff {
\clef "bass"
- \relative c {
+ \relative {
c4 a b g
}
}
@example
\version @w{"@version{}"}
-melodie = \relative c' @{
+melodie = \relative @{
\clef "treble"
\key c \major
\time 4/4
@example
\version @w{"@version{}"}
-melodie = \relative c' @{
+melodie = \relative @{
\clef "treble"
\key c \major
\time 4/4
@example
\version @w{"@version{}"}
-sopranoMusique = \relative c' @{
+sopranoMusique = \relative @{
\clef "treble"
\key c \major
\time 4/4
Laaa Siii Dooo Rééé
@}
-violoncelleMusique = \relative c @{
+violoncelleMusique = \relative @{
\clef "bass"
\key c \major
\time 4/4
soprano et violoncelle au complet :
@lilypond[quote,verbatim,ragged-right,addversion]
-sopranoMusic = \relative c' {
+sopranoMusic = \relative {
\clef "treble"
\key c \major
\time 4/4
Aaa Bee Cee Dee
}
-celloMusic = \relative c {
+celloMusic = \relative {
\clef "bass"
\key c \major
\time 4/4
@lilypond[quote,ragged-right]
global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
\clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+ r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
Wor -- thy | is the lamb | that was slain |
}
-altoMusic = \relative a' {
+altoMusic = \relative {
\clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+ r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
}
altoWords = \sopranoWords
-tenorMusic = \relative c' {
+tenorMusic = \relative {
\clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+ r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
-bassMusic = \relative c' {
+bassMusic = \relative {
\clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+ r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
-upper = \relative a' {
+upper = \relative {
\clef "treble"
\global
- r4 <a d fis>2 <a e' a>4 |
+ r4 <a' d fis>2 <a e' a>4 |
<d fis d'>4. <d fis d'>8 <a d a'>2 |
<g cis g'>4 <a d fis> <a cis e>2 |
}
-lower = \relative c, {
+lower = \relative {
\clef "bass"
\global
- <d d'>4 <d d'>2 <cis cis'>4 |
+ <d, d'>4 <d d'>2 <cis cis'>4 |
<b b'>4. <b' b'>8 <fis fis'>2 |
<e e'>4 <d d'> <a' a'>2 |
}
}
@end lilypond
-Aucun des modèles ne permet d'arriver exactement à cette mise en forme.
-Celui qui s'en rapprocherait le plus est
+@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
@lilypond[quote,verbatim,ragged-right,addversion]
global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
\clef "treble"
- r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+ r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
Wor -- thy | is the lamb | that was slain |
}
-altoMusic = \relative a' {
+altoMusic = \relative {
\clef "treble"
- r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+ r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
}
altoWords = \sopranoWords
-tenorMusic = \relative c' {
+tenorMusic = \relative {
\clef "G_8"
- r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+ r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
-bassMusic = \relative c' {
+bassMusic = \relative {
\clef "bass"
- r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+ r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
-upper = \relative a' {
+upper = \relative {
\clef "treble"
\global
- r4 <a d fis>2 <a e' a>4 |
+ r4 <a' d fis>2 <a e' a>4 |
<d fis d'>4. <d fis d'>8 <a d a'>2 |
<g cis g'>4 <a d fis> <a cis e>2 |
}
-lower = \relative c, {
+lower = \relative {
\clef "bass"
\global
- <d d'>4 <d d'>2 <cis cis'>4 |
+ <d, d'>4 <d d'>2 <cis cis'>4 |
<b b'>4. <b' b'>8 <fis fis'>2 |
<e e'>4 <d d'> <a' a'>2 |
}
\new PianoStaff <<
\new Staff = "ManuelUn" <<
\new Voice @{
- \ManuelUnVoixUnMusique
+ \ManuelUnVoixUnMusique
@}
\new Voice @{
\ManuelUnVoixDeuxMusique
>>
@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}).
composer = "J S Bach"
}
keyTime = { \key c \minor \time 4/4 }
-ManualOneVoiceOneMusic = \relative g' {
- g4 g f ees |
+ManualOneVoiceOneMusic = \relative {
+ g'4 g f ees |
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 |
+ManualOneVoiceTwoMusic = \relative {
+ ees'16 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 ees8~ ees16 f ees d |
+ManualTwoMusic = \relative {
+ c'16 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 |
+PedalOrganMusic = \relative {
+ r8 c16 d ees d ees8~ 16 a, b g c b c8 |
r16 g ees f g f g8 c,2 |
}
Jusqu'à maintenant, vous avez vu ce type de code :
@lilypond[quote,verbatim,ragged-right]
-hornNotes = \relative c'' { c4 b dis c }
+hornNotes = \relative { c''4 b dis c }
\score {
{
\hornNotes
musique minimaliste :
@lilypond[quote,verbatim,ragged-right]
-fragmentA = \relative c'' { a4 a8. b16 }
-fragmentB = \relative c'' { a8. gis16 ees4 }
+fragmentA = \relative { a'4 a8. b16 }
+fragmentB = \relative { a'8. gis16 ees4 }
violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
sous le nom de variables, macros, ou commandes (définies par
l'utilisateur) -- pour des retouches :
-@c TODO Avoid padtext - not needed with skylining
@lilypond[quote,verbatim,ragged-right]
dolce = \markup { \italic \bold dolce }
-padText = { \once \override TextScript.padding = #5.0 }
+centerText = { \once \override TextScript.self-alignment-X = #CENTER }
+
fthenp =_\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
-violin = \relative c'' {
+violin = \relative {
\repeat volta 2 {
- c4._\dolce b8 a8 g a b |
- \padText
- c4.^"hi there!" d8 e' f g d |
- c,4.\fthenp b8 c4 c-. |
+ c''4._\dolce b8 a8 g a b |
+ \centerText
+ c4.^"hi there!" d8 e f g d |
+ c4.\fthenp b8 c4 c-. |
}
}
{
\violin
}
- \layout { ragged-right = ##t }
}
@end lilypond
lire, et particulièrement la dernière ligne.
@example
-violin = \relative c'' @{
+violin = \relative @{
\repeat volta 2 @{
- c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
- \once \override TextScript.padding = #5.0
- c4.^"hi there!" d8 e' f g d |
- c,4.\markup @{
+ c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
+ \once \override TextScript.self-alignment-X = #CENTER
+ c4.^"hi there!" d8 e f g d |
+ c4._\markup @{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
@}
b8 c4 c-. |
@}
@end example
-@c TODO Replace the following with a better example -td
-@c Skylining handles this correctly without padText
-
Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
-rencontre @code{\padText}, il le remplace par le contenu que nous lui
-avons défini -- c'est-à-dire le contenu à droite de @code{padText=}.
+rencontre @code{\centerText}, il le remplace par le contenu que nous lui
+avons défini -- c'est-à-dire le contenu à droite de @code{centerText=}.
LilyPond gère également des substitutions non-statiques -- vous
pouvez les voir comme des fonctions.
@lilypond[quote,verbatim,ragged-right]
padText =
#(define-music-function
- (parser location padding)
+ (padding)
(number?)
#{
\once \override TextScript.padding = #padding
#})
-\relative c''' {
- c4^"piu mosso" b a b |
+\relative {
+ c''4^"piu mosso" b a b
\padText #1.8
- c4^"piu mosso" d e f |
+ c4^"piu mosso" b a b
\padText #2.6
- c4^"piu mosso" fis a g |
+ c4^"piu mosso" b a b
}
@end lilypond
partie suivante pour un duo cor/@/basson.
@example
-notesCor = \relative c @{
+notesCor = \relative @{
\time 2/4
r4 f8 a | cis4 f | e d |
@}
transposition est visible comme suit :
@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\transpose f c' \relative {
\time 2/4
r4 f8 a | cis4 f | e d |
}
multimesures, l'indique alors. On l'obtient par un @code{R} majuscule,
suivi d'une durée : @code{1} pour une pause, @code{2} pour une
demi-pause, etc. Cette durée peut être multipliée pour établir de plus
-longs silences. Par exemple, le silence suivant dure 3 mesures à 2/4.
+longs silences. Par exemple, le silence suivant dure trois mesures
+à 2/4.
@example
R2*3
@end example
Dans une partie séparée, les silences multimesure sont compressés.
-Il faut pour cela définir la propriété @code{skipBars} à @qq{vrai} :
+LilyPond dispose d'une commande à cet effet :
@example
-\set Score.skipBars = ##t
+\compressMMRests @{ ... @}
@end example
-@noindent
-Cette commande assigne la valeur @qq{vrai} -- @emph{true} en anglais, et
-@code{#t} dans le langage Scheme -- à cette propriété dans le contexte
-@code{Score}. Si l'on ajoute dans la musique ci-dessus le silence
-multimesure et cette option, on obtient le résultat suivant :
+Si l'on ajoute dans la musique ci-dessus le silence multimesure et cette
+instruction, on obtient le résultat suivant :
@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\compressMMRests \transpose f c' \relative {
\time 2/4
- \set Score.skipBars = ##t
R2*3 |
r4 f8 a | cis4 f | e d |
}
ce qui équivaut à
@lilypond[quote,ragged-right]
-\relative c <<
+\relative <<
\new Staff {
\clef "treble"
\time 2/4
>>
@end lilypond
+@seealso
+Manuel d'initiation :
+@ref{Organisation du code source avec des variables}.
+
+Manuel de notation :
+@ruser{Écriture de parties séparées},
+@ruser{Insertion de fichiers LilyPond},
+@ruser{Silences valant une mesure},
+@ruser{Transposition}.