@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: c8296cf3183f30e17e4d5f0501cf1462b71ec546
+ Translation of GIT committish: 3ff93fbd01133506d14c929740bd26b34f59c5b4
- 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..
+ 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.19.2"
+@c \version "2.19.22"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
exemple est un préambule à notre propos.
@funindex \book
-@funindex book
@funindex \score
-@funindex score
@cindex book, livre, ouvrage
@cindex livre
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
@}
@}
@}
@end example
@funindex \header
-@funindex header
@funindex \layout
-@funindex layout
@funindex \midi
-@funindex midi
@cindex header
@cindex en-tête
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
@cindex implicite, bloc book
@funindex \book
-@funindex book
Vous pouvez tout à fait mentionner plusieurs blocs @code{\score}. Ils
seront traités comme autant de partitions indépendantes qui seront
tous les modèles, vous trouverez :
@example
-melodie = \relative c' @{
- c4 a b c
+melodie = \relative @{
+ c'4 a b c
@}
\score @{
@translationof Score is a (single) compound musical expression
@funindex \score
-@funindex score
@cindex partition
@cindex bloc score, contenu
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 }
peut débuter avant l'insertion d'une ligature manuelle et s'arrêter
avant la fin de la ligature :
-@lilypond[quote,verbatim,ragged-right,relative=2]
-g8\( a b[ c b\) a] g4
+@lilypond[quote,verbatim,ragged-right]
+\relative { g'8\( a b[ c b\) a] g4 }
@end lilypond
De manière générale, différents types de crochets, notamment s'ils
qui s'étendent sur un triolet, lui-même lié à un quintolet agrémenté
d'une liaison de phrasé se poursuivant (lignes 3 et 4).
-@lilypond[quote,verbatim,ragged-right,relative=1]
-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.\)
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ 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
accord, à partir de quand aurons-nous vraiment besoin de plusieurs
voix ? Considérons déjà ces quatre accords :
-@lilypond[quote,verbatim,ragged-right,relative=1]
-\key g \major
-<d g>4 <d fis> <d a'> <d g>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key g \major
+ <d' g>4 <d fis> <d a'> <d g>
+}
@end lilypond
Nous exprimons ici chacun des accords par l'utilisation de
Voici comment éclater les accords en deux voix, avec la note de passage
et la liaison :
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key g \major
-% Voice "1" Voice "2"
-<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key g \major
+ % Voice = "1" Voice = "2"
+ << { g'4 fis8( g) a4 g } \\ { d4 d d d } >>
+}
@end lilypond
Notez que les hampes de la seconde voix sont dirigées vers le bas.
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\key d \minor
-% Voice "1" Voice "2"
+% Voice = "1" Voice = "2"
<< { r4 g g4. a8 } \\ { d,2 d4 g } >> |
<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
<< { a2. r4 } \\ { fis2. s4 } >> |
mesure ne contient que quelques notes, il est plus judicieux de
carrément séparer chaque voix :
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key d \minor
-<< {
- % Voice "1"
- r4 g g4. a8 |
- bes4 bes c bes |
- a2. r4 |
-} \\ {
- % Voice "2"
- d,2 d4 g |
- g4 g g8( a) g4 |
- fis2. s4 |
-} >>
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \key d \minor
+ \relative { % Voice = "1"
+ r4 g' g4. a8 |
+ bes4 bes c bes |
+ a2. r4 |
+ } \\
+ \relative { % Voice = "2"
+ d'2 d4 g |
+ g4 g g8( a) g4 |
+ fis2. s4 |
+ }
+>>
@end lilypond
@cindex voix, nommage
automatiquement.
@lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
% Main voice
- c16 d e f
- % Voice "1" Voice "2" Voice "3"
+ 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~ 2 } \\ { s4 b c2 } >> |
}
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
@code{\relative} au début de chacune des voix :
@example
-\relative c' @{ noteA @dots{} @}
+\relative @{ noteA @dots{} @}
<<
- \relative c'' @{ < noteB noteC > @dots{} @}
+ \relative @{ < noteB noteC > @dots{} @}
\\
- \relative g' @{ noteD @dots{} @}
+ \relative @{ noteD @dots{} @}
>>
-\relative c' @{ noteE @dots{} @}
+\relative @{ 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
@translationof Explicitly instantiating voices
@funindex \voiceOne
-@funindex voiceOne
@funindex \voiceTwo
-@funindex voiceTwo
@funindex \voiceThree
-@funindex voiceThree
@funindex \voiceFour
-@funindex voiceFour
@funindex \oneVoice
-@funindex oneVoice
@funindex \new Voice
@cindex Voice, création de contextes
@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~ 8 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~ 8 e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
c,4 d8~ 8 e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
\voiceTwo
- c4 d8~ 8 e4( f | g4 a) b-> c |
+ c'4 d8~ 8 e4( f | g4 a) b-> c |
\oneVoice
c,4 d8~ 8 e4( f | g4 a) b-> c |
}
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
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 {
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 {
@cindex décalage, commandes
@funindex \shiftOff
-@funindex shiftOff
@funindex \shiftOn
-@funindex shiftOn
@funindex \shiftOnn
-@funindex shiftOnn
@funindex \shiftOnnn
-@funindex shiftOnnn
Les notes rapprochées d'un accord, ou des notes de différentes voix qui
tombent ensemble, seront rangées sur deux colonnes, voire plus, pour
@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.
@funindex \new Lyrics
@funindex \lyricsto
-@funindex lyricsto
@funindex Lyrics
@cindex Lyrics, création d'un contexte
@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" {
@cindex ligatures et paroles
@funindex \autoBeamOff
-@funindex autoBeamOff
Si la ligature automatique que LilyPond applique par défaut est
pleinement adaptée en matière de musique instrumentale, il n'en va pas
@funindex \new ChoirStaff
@funindex ChoirStaff
@funindex \lyricmode
-@funindex lyricmode
@cindex structure d'une partition vocale
@cindex chœur, partie de
@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.~ 4
+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, }
notation. Par exemple, voici un fragment de partition, précédé du code
qui l'engendre :
-@lilypond[quote,verbatim,relative=2]
-cis4 cis2. | a4 a2. |
+@lilypond[quote,verbatim]
+\relative { cis''4 cis2. | a4 a2. | }
@end lilypond
Si le code est assez austère, dans la partition ont été ajoutés un
@translationof Creating contexts
@funindex \new
-@funindex new
@cindex nouveaux contextes
@cindex contextes, création de
\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
@cindex modification des propriétés d'un contexte
@funindex \set
-@funindex set
@funindex \unset
-@funindex unset
Les contextes gèrent les différentes valeurs des nombreuses
@emph{propriétés} qui leur sont attachées. Beaucoup d'entre elles
@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
rapport à la valeur par défaut, non par rapport à la dernière valeur
définie.
-@lilypond[quote,verbatim,ragged-right,relative=1]
-c4 d
-% make note heads smaller
-\set fontSize = #-4
-e4 f |
-% make note heads larger
-\set fontSize = #2.5
-g4 a
-% return to default size
-\unset fontSize
-b4 c |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ c'4 d
+ % make note heads smaller
+ \set fontSize = #-4
+ e4 f |
+ % make note heads larger
+ \set fontSize = #2.5
+ g4 a
+ % return to default size
+ \unset fontSize
+ b4 c |
+}
@end lilypond
Nous venons de voir comment déterminer la valeur de différents types de
@translationof Setting context properties with @code{\with}
@funindex \with
-@funindex with
@cindex propriétés d'un contexte, définition avec \with
@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
}
}
>>
@cindex propriétés d'un contexte, définition avec \context
@funindex \context
-@funindex context
Vous pouvez régler les valeurs des propriétés de contexte en une seule
fois pour tous les contextes d'un même type, par exemple tous les
@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
}
}
>>
@cindex graveurs, suppression
@funindex \consists
-@funindex consists
@funindex \remove
-@funindex remove
Nous avons vu que chaque contexte met en œuvre plusieurs graveurs, et
que chacun de ces graveurs est chargé de générer une composante
\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
}
}
>>
@translationof Changing all contexts of the same type
@funindex \layout
-@funindex layout
Les exemples ci-dessus nous ont montré comment ajouter ou retirer des
graveurs à des contextes individuels. Nous pourrions aussi ajouter ou
\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
renommons @code{texte} en @code{sopranoParoles}. Attention à bien
renommer les deux occurrences de chacune de ces dénominations :
c'est-à-dire la définition de départ, où l'on trouve
-@code{melodie = \relative c' @{ }, et l'endroit où cette dénomination
+@code{melodie = \relative @{ }, et l'endroit où cette dénomination
est utilisée, dans la section @code{\score}.
Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de fa,
@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 |
}
@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 |
}
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~ 16 f ees d c8 d~ d c~ |
+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~ 16 b c g a8 g~ 16 g aes ees |
+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 {
+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
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" b a b
\padText #2.6
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}.