[Racine][Table des matières][Index] |
LilyPond — Manuel de notation
Ce document constitue le manuel de notation de GNU LilyPond 2.22.2. Sa lecture requiert une familiarité avec le contenu présenté dans le Manuel d’initiation. |
1. Notation musicale générale | notation générale. | |
2. Notation spécialisée | notation à usage spécifique. | |
3. Généralités en matière d’entrée et sortie | généralités sur les fichiers sources et les sorties. | |
4. Gestion de l’espace | mise en page de la musique sur le papier. | |
5. Modification des réglages prédéfinis | ajustement de la gravure. | |
Annexes | ||
---|---|---|
A. Tables du manuel de notation | tables et diagrammes. | |
B. Aide-mémoire | résumé de la syntaxe de LilyPond. | |
C. GNU Free Documentation License | licence de ce document. | |
D. Index des commandes LilyPond | ||
E. Index de LilyPond |
Pour connaître la place qu’occupe ce manuel dans la documentation, consultez la page Manuels. Si vous ne disposez pas de certains manuels, la documentation complète se trouve sur https://lilypond.org/. |
[ << Top ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Top ] | [Plus haut: Top ] | [ Hauteurs > ] |
1. Notation musicale générale
Ce chapitre explique comment créer la notation musicale standard.
1.1 Hauteurs | écriture et gravure des hauteurs de note. | |
1.2 Rythme | écriture et gravure des durées. | |
1.3 Signes d’interprétation | ajout de signes d’exécution et d’interprétation. | |
1.4 Répétitions et reprises | différents types de répétitions de musique. | |
1.5 Notes simultanées | polyphonie et accords. | |
1.6 Notation sur la portée | gravure de la portée. | |
1.7 Annotations éditoriales | annotations d’édition ou à usage pédagogique. | |
1.8 Texte | ajout de texte à la partition. |
1.1 Hauteurs
Cette section détaille la façon d’indiquer la hauteur des notes, sous trois aspects : la saisie des hauteurs, la modification des hauteurs et les options de gravure.
1.1.1 Écriture des hauteurs de note | ||
1.1.2 Modification de plusieurs hauteurs | ||
1.1.3 Gravure des hauteurs | ||
1.1.4 Têtes de note |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Hauteurs ] | [Plus haut: Hauteurs ] | [ Hauteurs avec octave absolue > ] |
1.1.1 Écriture des hauteurs de note
Cette section explique la manière d’indiquer les hauteurs de note. Deux modes permettent d’indiquer l’octave des notes : le mode absolu, et le mode relatif. Ce dernier est le plus pratique lors de la saisie d’un fichier source au clavier de l’ordinateur.
Hauteurs avec octave absolue | ||
Octaves relatives | ||
Altérations | ||
Nom des notes dans d’autres langues |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Écriture des hauteurs de note ] | [Plus haut: Écriture des hauteurs de note ] | [ Octaves relatives > ] |
Hauteurs avec octave absolue
La hauteur s’écrit – à moins de préciser une autre langue – avec la
notation batave, en utilisant les lettres de a
à g
.
Les notes c
(do) et b
(si) sont écrites une octave sous le
do central.
{ \clef bass c4 d e f g4 a b c d4 e f g }
L’octave peut être précisée sous forme d’une série
d’apostrophes '
ou d’une série de virgules ,
.
Chaque '
hausse la note d’une octave ; chaque ,
baisse la
note d’une octave.
{ \clef treble c'4 e' g' c'' c'4 g b c' \clef bass c,4 e, g, c c,4 g,, b,, c, }
Les indications d’octave communes peuvent ne se mentionner qu’une fois,
en faisant suivre l’instruction \fixed
, placée avant la musique,
d’une hauteur de référence. Les hauteurs d’une section \fixed
ne
nécessitent des '
ou ,
que lorsqu’elles se trouvent
au-dessus ou au-dessous de l’octave de la hauteur de référence.
{ \fixed c' { \clef treble c4 e g c' c4 g, b, c } \clef bass \fixed c, { c4 e g c' c4 g, b, c } }
Les hauteurs d’une expression musicale venant après un \fixed
ne
seront en rien affectées par un éventuel \relative
qui la
contiendrait.
Voir aussi
Glossaire musicologique : Noms des notes.
Morceaux choisis : Hauteurs.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Hauteurs avec octave absolue ] | [Plus haut: Écriture des hauteurs de note ] | [ Altérations > ] |
Octaves relatives
Le mode d’écriture en octave absolue requiert d’indiquer l’octave de chaque note. Pour le mode d’écriture en octave relative, par contre, l’octave d’une note est déterminée par rapport à la note précédente : modifier l’octave d’une note aura des répercussions sur toutes les notes à venir.
Une musique peut être déclarée explicitement comme étant en notation
relative à l’aide de la commande \relative
:
\relative hauteur_de_référence expression_musicale
En mode relatif, chaque note est considérée comme étant le plus proche possible de celle qui la précède. L’octave des notes mentionnées dans expression_musicale va être calculée de la manière suivante :
- Si aucun signe de changement d’octave n’est utilisé, l’intervalle de base entre la note actuelle et la précédente sera toujours au plus d’une quarte. Cet intervalle est déterminé sans tenir compte des altérations.
-
Un signe de changement d’octave
'
ou,
peut être ajouté pour hausser ou baisser la note d’une octave par rapport à la hauteur calculée sans spécification. -
Ces signes de changement d’octave peuvent être multipliés. Par exemple,
''
ou,,
ajouteront une octave supplémentaire. -
La première hauteur de
expression_musicale
est déterminée relativement àhauteur_de_référence
. Cettehauteur_de_référence
s’exprime en octave absolue ; plusieurs options s’offrent à vous :- une octave de do (
c
) Un
c'
identifiant le do placé entre les portées d’un piano, il est de fait aisé de déterminer d’autres octaves dec
. Pour une musique qui commencerait par un sol dièse (gis
) au-dessus du do suraigu (c'''
), vous écririez quelque chose comme\relative c''' { gis' … }
- une octave de la première note de l’expression
Écrire
\relative gis'' { gis … }
permet de déterminer facilement la hauteur absolue de la première note de l’expression.- pas de hauteur de référence explicite
La fromulation
\relative { gis''' … }
) peut se voir comme une version abrégée de l’option précédente : la première note de l’expression est écrite en octave absolue. Cette option est équivalente à prendre unf
comme hauteur de référence.
La documentation de LilyPond utilise en règle générale la dernière option.
- une octave de do (
Voici le mode \relative
en action.
\relative { \clef bass c d e f g a b c d e f g }
On utilise les signes de changement d’octave pour les intervalles dépassant la quarte.
\relative { c'' g c f, c' a, e'' c }
Bien que ne comportant aucun signe de changement d’octave, une séquence de notes peut tout à fait couvrir un intervalle important.
\relative { c f b e a d g c }
Lorsque plusieurs blocs \relative
sont imbriqués, le bloc
\relative
inclus dispose de sa propre haueur de référence
indépendamment de celui qui l’englobe.
\relative { c' d e f \relative { c'' d e f } }
\relative
est sans effet sur un bloc \chordmode
.
\new Staff { \relative c''' { \chordmode { c1 } } \chordmode { c1 } }
\relative
n’est pas permis au sein d’un bloc \chordmode
.
Pour utiliser le mode d’octave relative dans de la musique transposée,
une clause \relative
additionnelle doit être placée au sein du
bloc \transpose
.
\relative { d' e \transpose f g { d e \relative { d' e } } }
Si l’expression précédente est un accord, c’est la première note de l’accord qui détermine l’emplacement de la première note du prochain accord. À l’intérieur de l’accord, les notes sont placées relativement à celle qui précède. Examinez avec attention l’exemple suivant, et tout particulièrement le positionnement des do.
\relative { c' <c e g> <c' e g'> <c, e, g''> }
Comme nous l’avons vu, l’octaviation est déterminée sans tenir compte des altérations. Ainsi un mi double-dièse qui suit un si naturel sera placé au-dessus de celui-ci, alors qu’un fa double-bémol se retrouvera en dessous. En d’autres termes, une quarte doublement augmentée demeure considérée comme un intervalle plus petit qu’une quinte diminuée, bien que la quarte doublement augmentée soit de sept demi-tons et la quinte diminuée de seulement six demi-tons.
\relative { c''2 fis c2 ges b2 eisis b2 feses }
Dans certaines situation complexes, il peut être souhaitable de revenir
à une hauteur déterminée sans tenir compte de ce qui se passait
auparavant, à l’aide d’un \resetRelativeOctave
:
\relative { << { c''2 d } \\ { e,,2 f } >> \resetRelativeOctave c'' c2 }
Voir aussi
Glossaire musicologique : quinte, intervalle, nom des notes.
Manuel de notation : Vérifications d’octave.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : RelativeOctaveMusic.
Altérations
Note : Les nouveaux utilisateurs sont parfois déroutés par la gestion
des altérations et de l’armure. Pour LilyPond, un nom de note spécifie
une hauteur ; l’armure et la clef ne feront que déterminer comment ces
hauteurs seront retranscrites. Un simple c
signifie tout
bonnement « do naturel » quelles que soient l’armure et la clef en
vigueur. Pour plus d’information, reportez-vous au chapitre
Hauteurs et armure.
Dans la notation par défaut, un dièse est formé en ajoutant
is
après le nom de note, un bémol en ajoutant
es
. Les double-dièses et double-bémols
sont obtenus en ajoutant respectivement isis
ou eses
au
nom de note. Ce sont les noms de note hollandais. Pour les autres
langues, consultez Nom des notes dans d’autres langues.
\relative c'' { ais1 aes aisis aeses }
Une hauteur naturelle se saisit comme un simple nom de note, sans suffixe. Un bécarre sera imprimé si besoin est, que ce soit pour annuler les effets d’un précédente altération accidentelle ou pour déroger à l’armure.
\relative c'' { a4 aes a2 }
Les demi-bémols et demi-dièses s’écrivent en ajoutant respectivement
eh
et ih
. Voici une série de dos altérés en hauteurs
croissantes :
\relative c'' { ceseh1 ces ceh c cih cis cisih }
Les micro-intervalles sont aussi exportés dans le fichier MIDI.
Normalement, les altérations sont imprimées automatiquement, mais il se
peut que vous vouliez les imprimer manuellement. On peut forcer
l’impression d’une altération, dite « de précaution », en ajoutant un
point d’exclamation !
après la hauteur de note. Une altération
entre parenthèses peut être obtenue en ajoutant un point
d’interrogation ?
après la hauteur de note.
\relative c'' { cis cis cis! cis? c c c! c? }
Lorsqu’une note est prolongée par une liaison de tenue, l’altération ne sera réimprimée que s’il y a un saut de ligne.
\relative c'' { cis1 ~ 1 ~ \break cis }
Morceaux choisis
Non répétition de l’altération après saut de ligne sur liaison de prolongation
Cet exemple illustre comment, lorsqu’une note affublée d’une altération accidentelle est prolongée, ne pas répéter cette altération après un saut de ligne.
\relative c'' { \override Accidental.hide-tied-accidental-after-break = ##t cis1~ cis~ \break cis }
Suppression des bécarres superflus
En accord avec les règles traditionnelles de l’écriture musicale, on
grave un bécarre avant un dièse ou un bémol si la note était auparavant
affublée d’un double-dièse ou double-bémol. Pour adopter un
comportement plus contemporain, la propriété extraNatural
du
contexte Staff
doit se voir attribuer la valeur ##f
(faux).
\relative c'' { aeses4 aes ais a \set Staff.extraNatural = ##f aeses4 aes ais a }
Voir aussi
Glossaire musicologique : dièse, bémol, double dièse, double bémol, Nom des notes, quart de ton.
Manuel d’initiation : Hauteurs et armure.
Manuel de notation : Altérations accidentelles automatiques, Altérations suggérées (musica ficta), Nom des notes dans d’autres langues.
Morceaux choisis : Hauteurs.
Références des propriétés internes : Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.
Problèmes connus et avertissements
Il n’y a pas de standard universellement accepté pour noter le bémol et demi (qui abaisse la hauteur trois quarts de ton), le symbole de LilyPond n’est donc conforme à aucun standard.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Altérations ] | [Plus haut: Écriture des hauteurs de note ] | [ Modification de plusieurs hauteurs > ] |
Nom des notes dans d’autres langues
Vous disposez de jeux prédéfinis de noms de note et altérations pour plusieurs autres langues. Pour les utiliser, il suffit de déclarer, en début de fichier, la langue que vous utilisez. Voici comment, par exemple, utiliser l’italien pour votre saisie :
\language "italiano" \relative { do' re mi sib }
Les langues disponibles ainsi que les noms de note utilisés sont les suivantes :
Lange
Nom des notes
nederlands
c
d
e
f
g
a
bes
b
català
ou
catalan
do
re
mi
fa
sol
la
sib
si
deutsch
c
d
e
f
g
a
b
h
english
c
d
e
f
g
a
bf
/b-flat
b
español
ou
espanol
do
re
mi
fa
sol
la
sib
si
français
do
ré
/re
mi
fa
sol
la
sib
si
italiano
do
re
mi
fa
sol
la
sib
si
norsk
c
d
e
f
g
a
b
h
português
or
portugues
do
re
mi
fa
sol
la
sib
si
suomi
c
d
e
f
g
a
b
h
svenska
c
d
e
f
g
a
b
h
vlaams
do
re
mi
fa
sol
la
sib
si
et les suffixes d’altération correspondants :
Langue
dièse
bémol
double dièse
double bémol
nederlands
is
es
isis
eses
català
ou
catalan
d
/s
b
dd
/ss
bb
deutsch
is
es
isis
eses
english
s
/-sharp
f
/-flat
ss
/x
/-sharpsharp
ff
/-flatflat
español
ou
espanol
s
b
ss
/x
bb
français
d
b
dd
/x
bb
italiano
d
b
dd
bb
norsk
iss
/is
ess
/es
ississ
/isis
essess
/eses
português
or
portugues
s
b
ss
bb
suomi
is
es
isis
eses
svenska
iss
ess
ississ
essess
vlaams
k
b
kk
bb
Notez qu’en hollandais, en allemand, en norvégien et en finnois, un
la altéré de bémol se note aes
et se
contracte en as
; pour le hollandais et le norvégien, LilyPond
accepte cependant les deux formes. Il en va de même pour es
et
ees
, aeses
et ases
, ainsi que pour eeses
et
eses
.
En allemand et en finnois, LilyPond fournit la forme plus couramment
utilisée de asas
pour ases
.
\relative c'' { a2 as e es a ases e eses }
Certaines musiques utilisent des microtonalités, pour lesquelles les altérations sont des fractions de dièse ou bémol « normaux ». Le tableau suivant répertorie les noms de note en quart de ton, tels que définis dans les fichiers linguistiques. Les préfixes semi- et sesqui- correspondent au demi- et trois demis.
Langue
semi-dièse
semi-bémol
sesqui-dièse
sesqui-bémol
nederlands
ih
eh
isih
eseh
català
or
catalan
qd
/qs
qb
tqd
/tqs
tqb
deutsch
ih
eh
isih
eseh
english
qs
qf
tqs
tqf
español
or
espanol
cs
cb
tcs
tcb
français
sd
sb
dsd
bsb
italiano
sd
sb
dsd
bsb
norsk
ih
eh
issih
/isih
esseh
/eseh
português
or
portugues
sqt
bqt
stqt
btqt
suomi
ih
eh
isih
eseh
svenska
ih
eh
issih
esseh
vlaams
hk
hb
khk
bhb
En allemand, les contractions de microtonalités sont identiques à celles des hauteurs normales indiquées ci-dessus.
\language "deutsch" \relative c'' { asah2 eh aih eisih }
La plupart des langues dont nous venons de parler correspondent à la musique classique occidentale au tempérament égal – le concept de Common Practice Period en anglais. LilyPond prend néanmoins en charge d’autres systèmes de notation, comme indiqué au chapitre Noms des notes et altérations non-occidentaux.
Voir aussi
Glossaire musicologique : Nom des notes, Common Practice Period.
Manuel de notation : Noms des notes et altérations non-occidentaux.
Fichiers d’initialisation : ‘scm/define-note-names.scm’.
Morceaux choisis : Hauteurs.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Nom des notes dans d'autres langues ] | [Plus haut: Hauteurs ] | [ Vérifications d'octave > ] |
1.1.2 Modification de plusieurs hauteurs
Cette partie traite de la manière de modifier les hauteurs de note.
Vérifications d’octave | ||
Transposition | ||
Inversion | ||
Rétrogradation | ||
Transformations modales |
Vérifications d’octave
Les tests d’octave rendent la correction d’erreurs d’octave plus facile
dans le mode d’octave relative
– un ,
ou
un '
oublié, ça n’arrive pas qu’aux autres !
Une note peut être suivie de =
apostrophes/virgules
pour indiquer à quelle octave absolue elle devrait être. Dans
l’exemple suivant, le premier d
générera un avertissement,
puisqu’on attend un d''
– intervalle inférieur à la quarte –
mais qu’on obtient un d'
. Sur la partition, l’octave sera
corrigée pour donner un d'
et la prochaine note sera calculée en
fonction de ce d'
et non de d''
.
\relative { c''2 d='4 d e2 f }
Il existe aussi une vérification d’octave qui ne produit pas de musique
imprimée, ayant pour syntaxe
\octaveCheck hauteur_référence
–
hauteur_référence
étant spécifiée en mode absolu. Cette
commande vérifie que l’intervalle entre la note qui précède et
hauteur_référence
est inférieur à la quinte comme il se
doit en mode relatif. Dans le cas contraire, un message sera émis.
Bien que la note précédente ne sera pas modifiée, les notes suivantes
seront positionnées relativement à la valeur corrigée.
\relative { c''2 d \octaveCheck c' e2 f }
Dans les deux mesures qui suivent, les premier et troisième
\octaveCheck
échouent, mais le deuxième est concluant.
\relative { c''4 f g f c4 \octaveCheck c' f \octaveCheck c' g \octaveCheck c' f }
Voir aussi
Morceaux choisis : Hauteurs.
Référence des propriétés internes : RelativeOctaveCheck.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Vérifications d'octave ] | [Plus haut: Modification de plusieurs hauteurs ] | [ Inversion > ] |
Transposition
Une expression musicale peut être transposée avec \transpose
.
En voici la syntaxe :
\transpose note_de_départ note_d_arrivée expression_musicale
Cela signifie que expression_musicale
est transposé de
l’intervalle séparant note_de_départ
et
note_d_arrivée
: toute note dont la hauteur était
note_de_départ
est changée en note_d_arrivée
; les
autres notes seront changées selon le même intervalle. Les deux
hauteurs s’expriment en octave absolue.
Note : La musique contenue dans un bloc \transpose
est en
octaves absolues, sauf à inclure dans ce même bloc une clause
\relative
.
Prenons comme exemple une pièce écrite en ré majeur. Si cette pièce est un peu trop basse pour l’interprète, elle peut être transposée en mi majeur. Vous noterez que l’armure est automatiquement modifiée.
\transpose d e { \relative { \key d \major d'4 fis a d } }
Regardons maintenant une partie écrite pour violon – un instrument en ut. Si cette partie doit être jouée par une clarinette en la (écrite à la tierce mineure supérieure, un do écrit donnant un la réel), la transposition suivante créera la partie appropriée.
\transpose a c' { \relative { \key c \major c'4 d e g } }
La présence de \key c \major
s’explique par le fait que, bien
que les notes soient effectivement transposées, l’armure ne sera
imprimée que dans la mesure où elle est explicitement mentionnée.
\transpose
fait la distinction entre les notes enharmoniques :
\transpose c cis
et \transpose c des
transposeront
la pièce un demi-ton plus haut, au détail près que la première version
écrira des dièses et la deuxième des bémols.
music = \relative { c' d e f } \new Staff { \transpose c cis { \music } \transpose c des { \music } }
On peut aussi utiliser \transpose
pour entrer des notes écrites
pour un instrument transpositeur. Normalement, les hauteurs dans
LilyPond sont écrites en ut, c’est à dire en sons réels, mais elles
peuvent être écrites dans un autre ton. Prenons l’exemple d’un morceau
pour trompette en si bémol commençant sur un ré à l’oreille ; on
pourrait écrire
musiqueEnSiBemol = { e4 … } \transpose c bes, \musiqueEnSiBemol
Pour imprimer cette musique en fa – et de ce fait produire une partie
de cor au lieu d’un conducteur en notes réelles – on utilisera un
deuxième \transpose
:
musiqueEnSiBemol = { e4 … } \transpose f c' { \transpose c bes, \musiqueEnSiBemol }
Pour plus d’information à ce sujet, consultez Instruments transpositeurs.
Morceaux choisis
Transposition et réduction du nombre d’altérations accidentelles
Cet exemple, grâce à un peu de code Scheme, donne la priorité aux enharmoniques afin de limiter le nombre d’altérations supplémentaires. La règle applicable est :
- Les altérations doubles sont supprimées
- Si dièse -> Do
- Mi dièse -> Fa
- Do bémol -> Si
- Fa bémol -> Mi
Cette façon de procéder aboutit à plus d’enharmoniques naturelles.
#(define (naturalize-pitch p) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, ;; for historical reasons (n (ly:pitch-notename p))) (cond ((and (> a 1) (or (eqv? n 6) (eqv? n 2))) (set! a (- a 2)) (set! n (+ n 1))) ((and (< a -1) (or (eqv? n 0) (eqv? n 3))) (set! a (+ a 2)) (set! n (- n 1)))) (cond ((> a 2) (set! a (- a 4)) (set! n (+ n 1))) ((< a -2) (set! a (+ a 4)) (set! n (- n 1)))) (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7)))) (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7)))) (ly:make-pitch o n (/ a 4)))) #(define (naturalize music) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map naturalize es))) (if (ly:music? e) (ly:music-set-property! music 'element (naturalize e))) (if (ly:pitch? p) (begin (set! p (naturalize-pitch p)) (ly:music-set-property! music 'pitch p))) music)) naturalizeMusic = #(define-music-function (m) (ly:music?) (naturalize m)) music = \relative c' { c4 d e g } \score { \new Staff { \transpose c ais { \music } \naturalizeMusic \transpose c ais { \music } \transpose c deses { \music } \naturalizeMusic \transpose c deses { \music } } \layout { } }
Voir aussi
Manuel de notation : Instruments transpositeurs, Inversion, Octaves relatives, Rétrogradation, Transformations modales.
Morceaux choisis : Hauteurs.
Référence des propriété internes : TransposedMusic.
Problèmes connus et avertissements
Si vous voulez utiliser en même temps \transpose
et
\relative
, vous devez mettre \transpose
en dehors de
\relative
, puisque \relative
n’aura aucun effet sur la
musique apparaissant dans un \transpose
.
La fonction \transpose
ne permet pas d’imprimer des altérations
triples ; elle les remplacera par un « équivalent enharmonique »
– par exemple ré bémol au lieu de mi triple bémol.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Transposition ] | [Plus haut: Modification de plusieurs hauteurs ] | [ Rétrogradation > ] |
Inversion
Une expression musicale peut s’inverser et être transposée à l’aide de l’instruction
\inversion hauteur-pivot hauteur-arrivée expression_musicale
L’expression_musicale
sera alors inversée, intervalle par
intervalle, puis transposée de telle sorte que
hauteur-pivot
devienne hauteur-arrivée
.
music = \relative { c' d e f } \new Staff { \music \inversion d' d' \music \inversion d' ees' \music }
Note : Le motif à inverser doit être exprimé en hauteur absolue, à
moins d’avoir été préalablement inclus explicitement dans un bloc
\relative
.
Voir aussi
Manuel de notation : Rétrogradation, Transformations modales, Transposition.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Inversion ] | [Plus haut: Modification de plusieurs hauteurs ] | [ Transformations modales > ] |
Rétrogradation
Une expression musicale peut se renverser et se présenter sous forme rétrograde :
music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 } \new Staff { \music \retrograde \music }
Problèmes connus et avertissements
La fonction \retrograde
est un outil plutôt simpliste. Dans la
mesure où de nombreux événements se reflètent au lieu d’être échangés,
les ajustements et indicateurs de positionnement à l’entame d’un objet
étendu devront être répétés à leur terminaison : ^(
devra se
terminer par ^)
, tout \<
ou \cresc
devra se
terminer par un \!
ou un \endcresc
et tout \>
ou
\decr
devra se terminer par un \enddecr
. Les dérogations
ou commandes modifiant les propriétés sur la durée peuvent avoir des
effets surprenants.
Voir aussi
Manuel de notation : Inversion, Transformations modales, Transposition.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Rétrogradation ] | [Plus haut: Modification de plusieurs hauteurs ] | [ Gravure des hauteurs > ] |
Transformations modales
Dans une composition basée sur une gamme, un même motif est transformé à plusieurs reprises et selon des schémas différents. Il peut être transposé pour partir de différents points de la gamme ou bien être inversé à partir d’une note pivot dans la gamme. Il peut aussi être renversé pour produire une rétrogradation.
Note : Toute note qui ne ferait pas partie de la gamme en question ne sera pas transformée.
Transposition modale
Un motif peut se transposer selon une gamme donnée :
\modalTranspose hauteur-départ hauteur-arrivée gamme motif
Les notes de motif seront décalées à l’intérieur de la gamme selon leur degré, déterminé par l’intervalle entre hauteur-départ et hauteur-arrivée :
diatonicScale = \relative { c' d e f g a b } motif = \relative { c'8 d e f g a b c } \new Staff { \motif \modalTranspose c f \diatonicScale \motif \modalTranspose c b, \diatonicScale \motif }
Il est ainsi possible de déterminer une gamme ascendante, quels qu’en soient l’amplitude et les différents intervalles :
pentatonicScale = \relative { ges aes bes des ees } motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> } \new Staff { \motif \modalTranspose ges ees' \pentatonicScale \motif }
L’utilisation de \modalTranspose
avec une gamme chromatique
produit les mêmes effets qu’un \transpose
, à ceci près que les
notes seront alors prédéterminées :
chromaticScale = \relative { c' cis d dis e f fis g gis a ais b } motif = \relative { c'8 d e f g a b c } \new Staff { \motif \transpose c f \motif \modalTranspose c f \chromaticScale \motif }
Inversion modale
Un motif peut s’inverser selon une certaine gamme et à partir d’un pivot déterminé, puis transposé, le tout en une seule opération :
\modalInversion hauteur-pivot hauteur-arrivée gamme motif
Les notes de motif se retrouvent au même degré par rapport à hauteur-pivot dans la gamme, toutefois dans le sens opposé, puis décalées dans cette même gamme de l’intervalle séparant hauteur-départ et hauteur-arrivée.
Il est donc possible de simplement inverser à partir d’une des notes de la gamme en donnant la même valeur à hauteur-départ et hauteur-arrivée :
octatonicScale = \relative { ees' f fis gis a b c d } motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 } \new Staff { \motif \modalInversion fis' fis' \octatonicScale \motif }
Pour permuter deux notes de la gamme, il suffit donc d’inverser à partir de l’une des notes et de transposer d’un degré de la gamme. Les deux notes spécifiées peuvent s’interpréter comme étant les bornes du pivot.
scale = \relative { c' g' } motive = \relative { c' c g' c, } \new Staff { \motive \modalInversion c' g' \scale \motive }
L’opération conjointe d’une inversion et d’une rétrogradation produit une rétrogradation inversée :
octatonicScale = \relative { ees' f fis gis a b c d } motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 } \new Staff { \motif \retrograde \modalInversion c' c' \octatonicScale \motif }
Voir aussi
Manuel de notation : Inversion, Rétrogradation, Transposition.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Transformations modales ] | [Plus haut: Hauteurs ] | [ Clefs > ] |
1.1.3 Gravure des hauteurs
Nous allons voir dans cette partie comment influer sur la gravure des hauteurs.
Clefs | ||
Armure | ||
Marques d’octaviation | ||
Instruments transpositeurs | ||
Altérations accidentelles automatiques | ||
Ambitus |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Gravure des hauteurs ] | [Plus haut: Gravure des hauteurs ] | [ Armure > ] |
Clefs
La clef indique quelles lignes de la portée correspondent à quelles hauteurs. En l’absence de commande explicite, LilyPond utilise par défaut la clef de sol.
c'2 c'
La clef se modifie à l’aide de la commande \clef
suivie d’un nom
approprié. Pour chacun des exemples suivants est indiquée la position
du do médium.
\clef treble c'2 c' \clef alto c'2 c' \clef tenor c'2 c' \clef bass c'2 c'
Les différents noms possibles sont répertoriés à l’annexe Styles de clef.
Des clefs spéciales, telles que celles rencontrées en musique ancienne, sont abordées dans Clefs anciennes et Clefs grégoriennes. La musique requérant des clefs de tablature est traitée dans Tablatures par défaut et Tablatures personnalisées.
Les citations peuvent demander une modification de clef à l’aide des
commandes \cueClef
et \cueDuringWithClef
– voir
Mise en forme d’une citation.
En ajoutant _8
ou ^8
au nom de la clef, celle-ci est
transposée à l’octave respectivement inférieure ou supérieure, et
_15
ou ^15
la transpose de deux octaves. D’autres nombres
entiers peuvent être utilisés selon les besoins. L’argument
clefname doit être mis entre guillemets lorsqu’il contient des
caractères supplémentaires. Par exemple,
\clef treble c'2 c' \clef "treble_8" c'2 c' \clef "bass^15" c'2 c' \clef "alto_2" c'2 c' \clef "G_8" c'2 c' \clef "F^5" c'2 c'
Une indication d’octaviation optionnelle s’obtient en entourant l’argument numérique par des parenthèses ou des crochets :
\clef "treble_(8)" c'2 c' \clef "bass^[15]" c'2 c'
Les hauteurs seront affichées comme si l’argument numérique n’avait pas été encadré de parenthèses ou crochets.
Lorsqu’un changement de clef intervient en même temps qu’un saut de ligne, la nouvelle clef est imprimée à la fois en fin de ligne et au début de la suivante. Vous pouvez toujours supprimer cette « clef de précaution ».
\clef treble { c'2 c' } \break \clef bass { c'2 c' } \break \clef alto \set Staff.explicitClefVisibility = #end-of-line-invisible { c'2 c' } \break \unset Staff.explicitClefVisibility \clef bass { c'2 c' } \break
Lorsqu’une clef a déjà été imprimée et qu’aucune autre clef n’a depuis
été imprimée, LilyPond ignorera toute réitération de la commande
\clef
. Forcer la réimpression de la clef s’obtient à l’aide de
la commande \set Staff.forceClef = ##t
.
\clef treble c'1 \clef treble c'1 \set Staff.forceClef = ##t c'1 \clef treble c'1
Pour être plus précis, la commande \clef
n’a pas pour fonction
d’imprimer une clef ; elle détermine ou modifie une propriété attachée
au graveur de clefs (le Clef_engraver
), qui décide de son propre
chef quand doit être affichée une clef dans la portée en cours. La
propriété forceClef
ne vient que forcer la décision de réimprimer
une fois la clef en un point donné.
Le symbole imprimé lors d’un changement de clef est plus petit que la clef initiale. La taille peut toutefois être ajustée.
\clef "treble" c'1 \clef "bass" c'1 \clef "treble" c'1 \override Staff.Clef.full-size-change = ##t \clef "bass" c'1 \clef "treble" c'1 \revert Staff.Clef.full-size-change \clef "bass" c'1 \clef "treble" c'1
Morceaux choisis
Affinage des propriétés d’une clef
Modifier le glyphe, la position de la clef ou son octaviation ne
changeront pas la position des notes ; il faut pour y parvenir modifier
aussi la position du do médium. La redéfinition préalable de
middleCClefPosition
permet de placer l’armure sur les bonnes
lignes. Le positionnement est relatif à la ligne médiane, un nombre
positif faisant monter, un nombre négatif abaissant.
Par exemple, la commande \clef "treble_8"
équivaut à définir
clefGlyph
, clefPosition
– qui contrôle la position
verticale de la clef – middleCPosition
et clefOctavation
.
Une nouvelle clef apparaîtra dès lors que l’une de ces propriétés, à
l’exception de middleCPosition
, aura été modifiée.
Les exemples qui suivent illustrent les différentes possibilités de définir ces propriétés manuellement. Sur la première ligne, la position relative des notes par rapport aux clefs est préservée, ce qui n’est pas le cas pour la deuxième ligne.
{ % The default treble clef \key f \major c'1 % The standard bass clef \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 \set Staff.middleCPosition = #6 \set Staff.middleCClefPosition = #6 \key g \major c'1 % The baritone clef \set Staff.clefGlyph = #"clefs.C" \set Staff.clefPosition = #4 \set Staff.middleCPosition = #4 \set Staff.middleCClefPosition = #4 \key f \major c'1 % The standard choral tenor clef \set Staff.clefGlyph = #"clefs.G" \set Staff.clefPosition = #-2 \set Staff.clefTransposition = #-7 \set Staff.middleCPosition = #1 \set Staff.middleCClefPosition = #1 \key f \major c'1 % A non-standard clef \set Staff.clefPosition = #0 \set Staff.clefTransposition = #0 \set Staff.middleCPosition = #-4 \set Staff.middleCClefPosition = #-4 \key g \major c'1 \break % The following clef changes do not preserve % the normal relationship between notes, key signatures % and clefs: \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 c'1 \set Staff.clefGlyph = #"clefs.G" c'1 \set Staff.clefGlyph = #"clefs.C" c'1 \set Staff.clefTransposition = #7 c'1 \set Staff.clefTransposition = #0 \set Staff.clefPosition = #0 c'1 % Return to the normal clef: \set Staff.middleCPosition = #0 c'1 }
Voir aussi
Manuel de notation : Clefs anciennes, Clefs grégoriennes, Mise en forme d’une citation, Notations anciennes, Tablatures par défaut, Tablatures personnalisées.
Fichiers d’initialisation : ‘scm/parser-clef.scm’.
Morceaux choisis: Hauteurs.
Référence des propriétés internes : Clef_engraver, Clef, ClefModifier, clef-interface.
Problèmes connus et avertissements
L’indicateur d’octaviation attaché à la clef est un objet graphique en
lui même. Par voie de conséquence, tout \override
affectant
l’objet Clef
devra être manuellement répercuté sur l’objet
ClefModifier
.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Clefs ] | [Plus haut: Gravure des hauteurs ] | [ Marques d'octaviation > ] |
Armure
Note : Les nouveaux utilisateurs sont parfois déroutés par la gestion
des altérations et de l’armure. Pour LilyPond, une hauteur n’est que du
matériau brut ; l’armure et la clef ne feront que déterminer
comment ce matériau sera retranscrit. Un simple c
signifie
tout bonnement « do naturel » quelles que soient l’armure et la
clef en question. Pour plus d’information, reportez-vous au chapitre
Hauteurs et armure.
L’armure indique la tonalité dans laquelle la pièce doit être jouée. Elle comprend un ensemble d’altérations (dièses ou bémols) à la clef, c’est-à-dire au début de la portée. Elle peut varier en cours de morceau.
On définit ou modifie l’armure avec la commande \key
:
\key hauteur mode
Ici, mode
doit être \major
ou \minor
afin
d’avoir respectivement hauteur-majeur ou hauteur-mineur.
Vous pouvez aussi avoir recours aux modes anciens que sont
\ionian
, \locrian
, \aeolian
, \mixolydian
,
\lydian
, \phrygian
et \dorian
.
\relative { \key g \major fis''1 f fis }
Rien n’empèche de définir d’autres modes, en listant l’altération de chacun des degrés de la gamme en partant du do.
freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL) (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT)) \relative { \key c \freygish c'4 des e f \bar "||" \key d \freygish d es fis g }
Les altérations à la clef peuvent s’imprimer à des octaves différents de
leur position traditionnelle ou à plusieurs octaves, à l’aide des
propriétés flat-positions
et sharp-positions
de l’objet
KeySignature
. Les entrées fournies à ces propriétés définissent
l’amplitude des positions sur la portée où les altérations seront
imprimées. Dans le cas où l’entrée est constituée d’une position
unique, les altérations seront placées à l’intérieur de l’octave
finissant à cette position sur la portée.
\override Staff.KeySignature.flat-positions = #'((-5 . 5)) \override Staff.KeyCancellation.flat-positions = #'((-5 . 5)) \clef bass \key es \major es g bes d' \clef treble \bar "||" \key es \major es' g' bes' d'' \override Staff.KeySignature.sharp-positions = #'(2) \bar "||" \key b \major b' fis' b'2
Morceaux choisis
Suppression des bécarres superflus lors d’un changement de tonalité
Après un changement de tonalité, un bécarre est imprimé pour annuler
toute altération précédente. Ce comportement s’annule en désactivant la
propriété printKeyCancellation
du contexte Staff
.
\relative c' { \key d \major a4 b cis d \key g \minor a4 bes c d \set Staff.printKeyCancellation = ##f \key d \major a4 b cis d \key g \minor a4 bes c d }
Armures inhabituelles
La commande \key
détermine la propriété keyAlterations
d’un
contexte Staff
. Des armures inhabituelles peuvent être spécifiées
en modifiant directement cette propriété.
Il s’agit en l’occurrence de définir une liste :
\set Staff.keyAlterations = #`(((octave . pas) . altération) ((octave . pas) . altération) …)
dans laquelle, et pour chaque élément, octave
spécifie l’octave
(0 pour celle allant du do médium au si supérieur), pas
la note
dans cette octave (0 pour do et 6 pour si), et altération
sera
,SHARP
ou ,FLAT
ou ,DOUBLE-SHARP
, etc. (attention à
la virgule en préfixe).
Une formulation abrégée – (pas . altération)
– signifie que
l’altération de l’élément en question sera valide quelle que soit
l’octave. En ce qui concerne les gammes microtonales dans lesquelles un
« dièse » n’est pas d’un centième, altération
se réfère à un
deux-centième de ton entier.
\include "arabic.ly" \relative do' { \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT) (1 . ,SEMI-FLAT) (2 . ,FLAT) (5 . ,FLAT) (6 . ,SEMI-FLAT)) %\set Staff.extraNatural = ##f re reb \dwn reb resd dod dob dosd \dwn dob | dobsb dodsd do do | }
Voir aussi
Glossaire musicologique : mode d’église, scordatura.
Manuel d’initiation : Hauteurs et armure.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : Key_engraver, Key_performer, KeyCancellation, KeyChangeEvent, KeySignature, key-signature-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Armure ] | [Plus haut: Gravure des hauteurs ] | [ Instruments transpositeurs > ] |
Marques d’octaviation
Les marques d’octaviation, Ottava, permettent d’introduire une
transposition spécifique d’une octave pour la portée en cours. C’est
la fonction ottava
qui s’en charge.
\relative c'' { a2 b \ottava #-2 a2 b \ottava #-1 a2 b \ottava #0 a2 b \ottava #1 a2 b \ottava #2 a2 b }
Par défaut s’imprimera un simple nombre en début de crochet. Ce réglage est modifiable afin d’obtenir un nombre ordinal dont l’abréviation peut se positionner en petite lettre haute ou en caractère normal (réglage par défaut auparavant) ; la graisse par défaut de ces caractères est elle aussi modifiable – voir Sélection de la fonte et de la taille.
L’exemple suivant illustre différentes options, ainsi que le moyen de retrouver le comportement par défaut.
\relative c'' { \ottava #1 a'2 b \ottava #2 a'2 b \bar "||" \set Staff.ottavationMarkups = #ottavation-ordinals \ottava #1 a,2 b \ottava #2 a'2 b \bar "||" \override Staff.OttavaBracket.font-series = #'medium \set Staff.ottavationMarkups = #ottavation-simple-ordinals \ottava #1 a,2 b \ottava #2 a'2 b \bar "||" \revert Staff.OttavaBracket.font-series \set Staff.ottavationMarkups = #ottavation-numbers \ottava #1 a,2 b \ottava #2 a'2 b }
Morceaux choisis
Modification du texte des marques d’octaviation
En interne, la fonction \ottava
détermine les propriétés
ottavation
(par ex. en "8va"
ou "8vb"
) et
middleCPosition
. Vous pouvez modifier le texte d’une marque
d’octaviation en définissant ottavation
après avoir fait appel à
ottava
.
Un texte bref est particulièrement utile lorsque l’octaviation est courte.
{ c'2 \ottava #1 \set Staff.ottavation = #"8" c''2 \ottava #0 c'1 \ottava #1 \set Staff.ottavation = #"Text" c''1 }
Ajout d’une indication d’octave pour une seule voix
Lorsque plusieurs voix cohabitent sur une même portée, déterminer
l’octaviation d’une voix affectera la position des notes de toutes les
voix, jusqu’à la fin du crochet d’octaviation. Si l’octaviation ne doit
s’appliquer qu’à une seule voix, les positionnements du do central
(propriété middleCPosition
) et du crochet d’octaviation peuvent
s’indiquer explicitement. Dans l’exemple suivant, le
middleCPosition
qui a normalement une valeur de 6 en clef de fa
– soit six crans au-dessus de la ligne médiane – est déterminé à
7 crans au-dessus (une octave) pour la durée de l’ottava.
{ \clef bass << { <g d'>1~ q2 <c' e'> } \\ { r2. \set Staff.ottavation = #"8vb" \once \override Staff.OttavaBracket.direction = #DOWN \set Voice.middleCPosition = #(+ 6 7) <b,,, b,,>4 ~ | q2 \unset Staff.ottavation \unset Voice.middleCPosition <c e>2 } >> }
Modification de la pente de l’extension d’octaviation
Il est possible d’adapter la pente d’une indication d’octaviation.
\relative c'' { \override Staff.OttavaBracket.stencil = #ly:line-spanner::print \override Staff.OttavaBracket.bound-details = #`((left . ((Y . 0) ; Change the integer here (attach-dir . ,LEFT) (padding . 0) (stencil-align-dir-y . ,CENTER))) (right . ((Y . 5) ; Change the integer here (padding . 0) (attach-dir . ,RIGHT) (text . ,(make-draw-dashed-line-markup (cons 0 -1.2)))))) \override Staff.OttavaBracket.left-bound-info = #ly:line-spanner::calc-left-bound-info-and-text \override Staff.OttavaBracket.right-bound-info = #ly:line-spanner::calc-right-bound-info \ottava #1 c1 c'''1 }
Voir aussi
Glossaire musicologique : octaviation.
Manuel de notation : Sélection de la fonte et de la taille.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.
Instruments transpositeurs
Lorsque l’on saisit une partition d’ensemble incluant des instruments transpositeurs, certaines parties peuvent être dans une autre tonalité que la tonalité de concert. Il faudra en pareil cas indiquer la tonalité spécifique de ces instruments transpositeurs, sous peine de fichier MIDI erroné et de citations incorrectes. Pour plus de détails sur les citations, consultez le chapitre Citation d’autres voix.
\transposition hauteur
La hauteur donnée en argument à \transposition
doit
correspondre à la note entendue lorsqu’un do
écrit sur la
portée est joué par l’instrument transpositeur. Cette hauteur doit être
mentionnée en mode absolu. Par exemple, lorsque
vous saisissez une partition en notes réelles, toutes les voix
devraient être en ut ; si un instrument joue un ton au dessus, il
faudra lui ajouter un \transposition d'
. La commande
\transposition
s’utilise si, et seulement si les notes à
saisir ne sont pas dans la tonalité de concert.
Voici un fragment pour violon et clarinette en si bémol (B-flat) pour lequel les parties respectives ont été recopiées à partir du conducteur. Les deux instruments sont à l’unisson.
\new GrandStaff << \new Staff = "violin" \with { instrumentName = "Vln" midiInstrument = "violin" } \relative c'' { % not strictly necessary, but a good reminder \transposition c' \key c \major g4( c8) r c r c4 } \new Staff = "clarinet" \with { instrumentName = \markup { Cl (B\flat) } midiInstrument = "clarinet" } \relative c'' { \transposition bes \key d \major a4( d8) r d r d4 } >>
La \transposition
peut évoluer au cours d’un morceau. Un
clarinettiste peut être amené à jongler avec une clarinette en la et
une autre en si bémol.
flute = \relative c'' { \key f \major \cueDuring "clarinet" #DOWN { R1 _\markup\tiny "clarinet" c4 f e d R1 _\markup\tiny "clarinet" } } clarinet = \relative c'' { \key aes \major \transposition a aes4 bes c des R1^\markup { muta in B\flat } \key g \major \transposition bes d2 g, } \addQuote "clarinet" \clarinet << \new Staff \with { instrumentName = "Flute" } \flute \new Staff \with { instrumentName = "Cl (A)" } \clarinet >>
Voir aussi
Glossaire musicologique : tonalité de concert, instrument transpositeur.
Manuel de notation : Citation d’autres voix, Transposition.
Morceaux choisis : Hauteurs.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Instruments transpositeurs ] | [Plus haut: Gravure des hauteurs ] | [ Ambitus > ] |
Altérations accidentelles automatiques
LilyPond dispose d’une fonction chargée de regrouper les règles suivant lesquelles s’impriment les altérations. Elle s’invoque de la manière suivante :
\new Staff << \accidentalStyle voice { … } >>
La règle de gestion des altérations s’applique par défaut au contexte
Staff
en cours, exception faite des styles piano
et
piano-cautionary
comme nous allons le voir. Cette fonction
accepte un éventuel argument supplémentaire chargé de spécifier
le champ d’action de la règle à suivre. À titre d’exemple, il faudra
utiliser, pour que toutes les portées d’un même système – contexte
StaffGroup
– soient soumises à la même règle :
\accidentalStyle StaffGroup.voice
Nous vous présentons ci-après les différentes règles d’altération prises en charge. Pour les besoins de la démonstration, nous partirons de l’exemple suivant :
musicA = { << \relative { cis''8 fis, bes4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\ \relative { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative { <fis a cis>8[ <fis a cis> \change Staff = up cis' cis \change Staff = down <fis, a> <fis a>] \showStaffSwitch \change Staff = up dis'4 | \change Staff = down <fis, a cis>4 gis <f a d>2 | } } } \new PianoStaff { << \new Staff = "up" { \accidentalStyle default \musicA } \new Staff = "down" { \accidentalStyle default \musicB } >> }
Notez bien que pour appliquer le même style aux deux portées, seules les dernières lignes de cet exemple nous intéressent.
\new PianoStaff { << \new Staff = "haut" { %%% voici la ligne à modifier en conséquence : \accidentalStyle Score.default \musicA } \new Staff = "bas" { \musicB } >> }
-
default
-
C’est la règle d’impression par défaut, qui se rapporte à l’usage en vigueur au XVIIIe siècle : les altérations accidentelles sont valables toute une mesure, et uniquement à leur propre octave. C’est la raison pour laquelle il n’y a pas de bécarre avant le si de la deuxième mesure, ni avant le dernier do.
-
voice
-
En principe, LilyPond se souvient de toutes les altérations présentes sur la portée (contexte
Staff
). Avec cette règle, cependant, les altérations sont indépendantes pour chacune des voix tout en obéissant à la règledefault
.Les altérations d’une voix sont de fait ignorées dans les autres voix, ce qui peut donner lieu à un résultat malencontreux. Dans l’exemple suivant, il est difficile de dire si le deuxième la est dièse ou naturel. La règle
voice
n’est donc à envisager que dans le cas de voix devant être lues par des musiciens différents. S’il s’agit d’un « conducteur », ou d’une portée destinée à un seul musicien, il vaut mieux utilisermodern
oumodern-cautionary
. -
modern
-
Cette règle est la plus courante au XXe siècle. Certains bécarres ne sont pas imprimés, comme il était d’usage lorsqu’une note diésée suit cette même note flanquée d’un double dièse, ou bien un bémol un double bémol. Le style
modern
suit la même règle que le styledefault
, avec deux additions afin de lever les ambiguïtés : lorsqu’une note non altérée apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution sont ajoutés. Dans l’exemple suivant, notez ainsi les deux bécarres dans la deuxième mesure de la main droite. -
modern-cautionary
-
Cette règle est équivalente à
modern
, mais les bécarres de précaution (absents dans la règledefault
) sont imprimés entre parenthèses. Ils peuvent aussi adopter une taille différente, au moyen de la propriétéfont-size
de l’objetAccidentalSuggestion
. -
modern-voice
-
Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix, mais les autres voix d’un même contexte
Staff
en tiennent compte cette fois. C’est pourquoi le la de la dernière mesure est affublé d’un bécarre bien qu’il y en ait déjà eu un dans la mesure précédente, et que le ré de la main gauche en ait un alors que le dièse qu’il avait auparavant concernait la main droite. -
modern-voice-cautionary
-
Cette règle est similaire à la précédente, mais les altérations de précaution (celles que n’aurait pas ajoutées
voice
), sont imprimées de façon particulière. On retrouve donc toutes les altérations qu’imprimeraitdefault
, mais certaines sont considérées comme étant « de précaution ». -
piano
-
Cette règle est communément employée pour les partitions de piano au XXe siècle. Très similaire à
modern
de par son comportement, elle s’en distingue en ce que les altérations tiennent compte des autres portées du contexteGrandStaff
ouPianoStaff
.Cette règle s’applique par défaut dans un
GrandStaff
et dans unPianoStaff
. -
piano-cautionary
-
Identique au style
piano
, mais les altérations de précaution sont imprimées différemment. -
choral
-
Cette règle est une combinaison des styles
modern-voice
etpiano
. Les altérations accidentelles sont indiquées aussi bien pour un chanteur qui suit seulement sa voix, que pour un lecteur suivant toutes les voix d’unChoirStaff
.Ce style d’altération s’applique, par défaut, au
ChoirStaff
en cours. -
choral-cautionary
-
Identique au style
choral
, mais les altérations de précaution sont imprimées différemment. -
neo-modern
-
Cette règle suit les pratiques de la musique contemporaine : les altérations accidentelles apparaissent comme dans le style
modern
, à ceci près qu’elles sont répétées dans la même mesure – sauf si elles concernent deux notes consécutives. -
neo-modern-cautionary
-
Identique au style
neo-modern
, mais les altérations de précaution sont imprimées entre parenthèses. Elles peuvent aussi adopter une taille différente, au moyen de la propriétéfont-size
de l’objetAccidentalSuggestion
. -
neo-modern-voice
-
Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix comme avec le style
neo-modern
mais les autres voix dans le même contexteStaff
en tiennent aussi compte. -
neo-modern-voice-cautionary
-
Cette règle est identique à
neo-modern-voice
, mais les altérations de précaution sont imprimées soit entre parenthèses (par défaut), soit en plus petit. -
dodecaphonic
-
Cette règle reproduit ce que certains compositeurs du début du XXe siècle ont introduit dans leur désir d’abolir la distinction entre les notes naturelles ou non. Ainsi, chaque note est affublée d’une altération, même si elle est naturelle.
-
dodecaphonic-no-repeat
-
Comme dans le cas du style
dodecaphonic
, chaque note est par défaut affublée d’une altération. Celle-ci sera toutefois omise lorsque la même hauteur est immédiatement répétée dans la même portée. -
dodecaphonic-first
-
Comme dans le cas du style
dodecaphonic
, chaque note est par défaut affublée d’une altération. Cette altération n’apparaîtra que pour la première occurrence dans la mesure et seront répétés en cas d’octave différente. -
teaching
-
Cette règle est à usage pédagogique : l’impression d’une simple gamme fera apparaître une altération de précaution pour toute note altérée. Les altérations accidentelles sont imprimées selon le style
modern
, et une altération de précaution est ajoutée pour chaque dièse ou bémol à la clef – sauf dans le cas de notes consécutives. -
no-reset
-
C’est la même règle que
default
, mais l’effet des altérations accidentelles ne cesse jamais, même dans les mesures suivantes. -
forget
-
Tout le contraire de
no-reset
: l’effet des altérations cesse aussitôt ; toutes les altérations, quelle que soit leur place dans la mesure, sont de ce fait imprimées en fonction de l’éventuelle armure.
Voir aussi
Morceaux choisis : Hauteurs.
Référence des propriétés internes : Accidental, Accidental_engraver, GrandStaff et PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement. accidental-suggestion-interface.
Problèmes connus et avertissements
Les notes simultanées sont considérées comme des évènements séquentiels.
Ceci implique que, dans un accord, les altérations accidentelles
seront imprimées comme si les notes de l’accord apparaissaient l’une
après l’autre, en fonction de l’ordre dans lequel elles ont été saisies
– ce qui peut poser problème lorsqu’au sein d’un accord certaines
altérations dépendent les unes des autres.
Ce problème est à résoudre manuellement, en insérant des !
et des ?
après les notes concernées, tel ‘<f! fis!>’.
L’absence d’altération de précaution est déterminée par l’examen de la
mesure précédente. Néanmoins, lorsqu’un bloc \alternative
suit
une section \repeat volta N
, la logique voudrait que
l’on regarde la dernière mesure jouée plutôt que la dernière
imprimée. Dans l’exemple qui suit, vous conviendrez que le do de
la seconde alternative ne nécessite pas son bécarre.
L’astuce suivante, qui définit temporairement le recours au style
forget
, permet d’obtenir quelque chose de présentable.
forget = #(define-music-function (music) (ly:music?) #{ \accidentalStyle forget #music \accidentalStyle modern #}) { \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 } \alternative { cis' \forget c' } }
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Altérations accidentelles automatiques ] | [Plus haut: Gravure des hauteurs ] | [ Têtes de note > ] |
Ambitus
L’ambitus est l’amplitude des hauteurs d’une voix donnée dans une partition. Ce terme peut aussi désigner la tessiture qu’un instrument est capable d’atteindre. Souvent, cet ambitus est imprimé au début des partitions vocales, afin que les exécutants puissent voir au premier coup d’œil s’ils sont en mesure de tenir la partie en question.
Pour exprimer l’ambitus d’une pièce, on indique avant la clef deux têtes de note représentant la hauteur la plus basse et la plus haute. Les éventuelles altérations accidentelles seront automatiquement ajoutées.
\layout { \context { \Voice \consists "Ambitus_engraver" } } \relative { aes' c e2 cis,1 }
Morceaux choisis
Un ambitus par voix
L’ambitus
peut être individualisé par voix. Il faut en pareil
cas éviter qu’ils se chevauchent.
\new Staff << \new Voice \with { \consists "Ambitus_engraver" } \relative c'' { \override Ambitus.X-offset = #2.0 \voiceOne c4 a d e f1 } \new Voice \with { \consists "Ambitus_engraver" } \relative c' { \voiceTwo es4 f g as b1 } >>
Ambitus sur plusieurs voix
Si plusieurs voix se trouvent sur une même portée, on peut attribuer le
graveur Ambitus_engraver
au contexte Staff
afin d’obtenir
l’ambitus sur toutes les voix cumulées, non d’une seule des voix actives.
\new Staff \with { \consists "Ambitus_engraver" } << \new Voice \relative c'' { \voiceOne c4 a d e f1 } \new Voice \relative c' { \voiceTwo es4 f g as b1 } >>
Réglage de l’affichage d’un ambitus
L’affichage d’un ambitus peut s’affiner pour répondre à vos préférences en matière d’esthétique.
\layout { \context { \Voice \consists "Ambitus_engraver" } } \new Staff { \time 2/4 % Default setting c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #0 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #1 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #1.5 c'4 g'' }
Ambitus après l’armure
L’ambitus se place par défaut à gauche de la clef. La fonction
\ambitusAfter
permet cependant de modifier ce positionnement ;
sa syntaxe est \ambitusAfter grob-interface
– voir
Graphical Object Interfaces pour une liste des valeurs de
grob-interface
possibles. L’un des cas d’usage est
d’insérer l’ambitus entre l’armure et la métrique.
\new Staff \with { \consists Ambitus_engraver } \relative { \ambitusAfter key-signature \key d \major es'8 g bes cis d2 }
Voir aussi
Glossaire musicologique : ambitus.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.
Problèmes connus et avertissements
LilyPond ne gère pas les collisions entre plusieurs ambitus présents sur une même portée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Ambitus ] | [Plus haut: Hauteurs ] | [ Têtes de note spécifiques > ] |
1.1.4 Têtes de note
Nous allons voir dans ce chapitre comment modifier l’aspect des têtes de note.
Têtes de note spécifiques | ||
Têtes de note avec nom de note | ||
Têtes de note à forme variable | ||
Improvisation |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Têtes de note ] | [Plus haut: Têtes de note ] | [ Têtes de note avec nom de note > ] |
Têtes de note spécifiques
L’apparence des têtes de note peut évoluer au cours de la partition :
\relative c'' { c4 b \override NoteHead.style = #'cross c4 b \revert NoteHead.style a b \override NoteHead.style = #'harmonic a b \revert NoteHead.style c4 d e f }
Pour une liste exhaustive des styles de tête de note, consultez Styles de tête de note.
Certains instruments utilisent des têtes de note différentes à des
fins spécifiques – des croix (style cross
) pour le
parlato des chanteurs ou les notes étouffées des guitares :
\relative { c''4 b \xNotesOn a b c4 b \xNotesOff c4 d }
Cette commande opère aussi bien sur des notes isolées qu’au sein d’un accord, dans une portée traditionnelle ou dans un contexte de tablature :
\relative { c''4 b \xNote { e f } c b < g \xNote c f > b }
Vous pouvez utiliser, en lieu et place de \xNote
,
\xNotesOn
et \xNotesOff
, les commandes
\deadNote
, \deadNotesOn
et \deadNotesOff
.
Il existe un raccourci pour les notes en losange :
\relative c'' { <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic }
Commandes prédéfinies
\harmonic
,
\xNotesOn
,
\xNotesOff
,
\xNote
.
Voir aussi
Manuel de notation : Indication des harmoniques et notes étouffées, Notes en accords, Styles de tête de note.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead. LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Têtes de note spécifiques ] | [Plus haut: Têtes de note ] | [ Têtes de note à forme variable > ] |
Têtes de note avec nom de note
Les notes « easy play » comportent le nom de la note à l’intérieur de la tête. On l’utilise dans des partitions pour débutants. L’impression doit être de plus grande taille, afin que les lettres soient lisibles. Voir à ce propos Définition de la taille de portée.
#(set-global-staff-size 26) \relative c' { \easyHeadsOn c2 e4 f g1 \easyHeadsOff c,1 }
Commandes prédéfinies
\easyHeadsOn
,
\easyHeadsOff
.
Morceaux choisis
Easy play – chiffres en lieu et place des lettres
En mode « easy play », les têtes de note utilisent la propriété
note-names
attachée à l’objet NoteHead
pour déterminer ce
qui apparaîtra dans la tête. Intervenir sur cette propriété permet
d’imprimer un chiffre correspondant au degré dans la gamme.
La création d’un graveur dédié permet de traiter toutes les notes.
#(define Ez_numbers_engraver (make-engraver (acknowledgers ((note-head-interface engraver grob source-engraver) (let* ((context (ly:translator-context engraver)) (tonic-pitch (ly:context-property context 'tonic)) (tonic-name (ly:pitch-notename tonic-pitch)) (grob-pitch (ly:event-property (event-cause grob) 'pitch)) (grob-name (ly:pitch-notename grob-pitch)) (delta (modulo (- grob-name tonic-name) 7)) (note-names (make-vector 7 (number->string (1+ delta))))) (ly:grob-set-property! grob 'note-names note-names)))))) #(set-global-staff-size 26) \layout { ragged-right = ##t \context { \Voice \consists \Ez_numbers_engraver } } \relative c' { \easyHeadsOn c4 d e f g4 a b c \break \key a \major a,4 b cis d e4 fis gis a \break \key d \dorian d,4 e f g a4 b c d }
Voir aussi
Manuel de notation : Définition de la taille de portée.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Têtes de note avec nom de note ] | [Plus haut: Têtes de note ] | [ Improvisation > ] |
Têtes de note à forme variable
En notation profilée, le profil d’une tête de note correspond à la fonction harmonique de cette note dans la gamme. Ce style de notation était très en vogue dans les recueils de chansons américains du XIXe siècle. Voici comment procéder :
\relative c'' { \aikenHeads c, d e f g2 a b1 c \break \aikenThinHeads c,4 d e f g2 a b1 c \break \sacredHarpHeads c,4 d e f g2 a b1 c \break \southernHarmonyHeads c,4 d e f g2 a b1 c \break \funkHeads c,4 d e f g2 a b1 c \break \walkerHeads c,4 d e f g2 a b1 c \break }
Les profils sont déterminés par la hauteur dans la gamme, le premier
degré étant défini par la commande \key
. Pour une tonalité
mineure, les degrés sont déterminés par rapport au relatif majeur :
\relative c'' { \key a \minor \aikenHeads a b c d e2 f g1 a \break \aikenHeadsMinor a,4 b c d e2 f g1 a \break \aikenThinHeadsMinor a,4 b c d e2 f g1 a \break \sacredHarpHeadsMinor a,2 b c d \break \southernHarmonyHeadsMinor a2 b c d \break \funkHeadsMinor a2 b c d \break \walkerHeadsMinor a2 b c d \break }
Commandes prédéfinies
\aikenHeads
,
\aikenHeadsMinor
,
\aikenThinHeads
,
\aikenThinHeadsMinor
,
\funkHeads
,
\funkHeadsMinor
,
\sacredHarpHeads
,
\sacredHarpHeadsMinor
,
\southernHarmonyHeads
,
\southernHarmonyHeadsMinor
,
\walkerHeads
,
\walkerHeadsMinor
.
Morceaux choisis
Variante fine des notes profilées Aiken
Les notes profilées Aiken, lorsqu’elles sont blanches, deviennent difficile à distinguer avec des tailles de portée réduites, notamment en présence de ligne supplémentaire. Perdant du blanc sur leur intérieur les fait alors ressembler à des noires.
\score { { \aikenHeads c''2 a' c' a % Switch to thin-variant noteheads \set shapeNoteStyles = ##(doThin reThin miThin faThin sol laThin tiThin) c'' a' c' a } } % END EXAMPLE
Profilage des notes selon leur degré dans la gamme
La propriété shapeNoteStyles
permet d’affecter un profil
particulier à chaque degré de la gamme – à partir de l’armure ou
de la propriété tonic
. Ses valeurs sont constituées d’une liste
de symboles, qu’il s’agisse de formes géométriques (triangle
,
cross
ou xcircle
) ou basés sur la tradition des graveurs
américains (avec quelques noms de note latins).
LilyPond dispose de deux raccourcis, \aikenHeads
et
\sacredHarpHeads
, permettant de reproduire d’anciens recueils de
chansons américaines.
L’exemple suivant montre plusieurs manières de profiler les têtes de note, ainsi que la capacité de transposer tout en respectant la fonction harmonique de chaque note dans la gamme.
fragment = { \key c \major c2 d e2 f g2 a b2 c } \new Staff { \transpose c d \relative c' { \set shapeNoteStyles = ##(do re mi fa #f la ti) \fragment } \break \relative c' { \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond) \fragment } }
Pour une liste exhaustive des styles de tête de note, consultez Styles de tête de note.
Voir aussi
Manuel de notation : Styles de tête de note.
Morceaux choisis : Hauteurs.
Référence des propriétés internes : note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Têtes de note à forme variable ] | [Plus haut: Têtes de note ] | [ Rythme > ] |
Improvisation
L’improvisation peut quelquefois s’indiquer à l’aide de notes de forme allongée (slash). L’interprète jouera alors les notes qu’il veut, en respectant toutefois le rythme affiché. Ces têtes de notes sont créées ainsi :
\new Voice \with { \consists "Pitch_squash_engraver" } \relative { e''8 e g a a16( bes) a8 g \improvisationOn e8 ~ 2 ~ 8 f4 f8 ~ 2 \improvisationOff a16( bes) a8 g e }
Commandes prédéfinies
\improvisationOn
,
\improvisationOff
.
Voir aussi
Morceaux choisis : Hauteurs.
Référence des propriétés internes : Pitch_squash_engraver, Voice, RhythmicStaff.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Improvisation ] | [Plus haut: Notation musicale générale ] | [ Écriture du rythme > ] |
1.2 Rythme
Cette section traite du rythme : durées, silences, barres de ligature et de mesure.
1.2.1 Écriture du rythme | ||
1.2.2 Écriture des silences | ||
1.2.3 Gravure du rythme | ||
1.2.4 Barres de ligature | ||
1.2.5 Mesures | ||
1.2.6 Fonctionnalités rythmiques particulières |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Rythme ] | [Plus haut: Rythme ] | [ Durées > ] |
1.2.1 Écriture du rythme
Durées | ||
N-olets | ||
Changement d’échelle des durées | ||
Liaisons de prolongation |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Écriture du rythme ] | [Plus haut: Écriture du rythme ] | [ N-olets > ] |
Durées
Dans les modes de notes, d’accords et de paroles, les durées sont
écrites avec des chiffres et des points : les durées sont indiquées par
leur valeur fractionnaire par rapport à la durée d’une ronde. Une noire,
par exemple, qui équivaut à un 1/4 de ronde – quarter note en
anglais – s’écrit 4
, alors qu’une blanche – half-note,
1/2 ronde – s’écrit 2
. Des durées plus courtes que la quintuple
croche – 1/128 de ronde – sont possibles, à condition de les
ligaturer – voir Ligatures.
Pour des notes plus longues qu’une ronde, vous devrez utiliser les
commandes \longa
pour une longue, et \breve
pour une
brève, aussi appelée carrée. Une note dont la durée est de quatre brèves
s’obtient par la commande \maxima
; celle-ci n’est toutefois
disponible que dans le cadre de la notation ancienne. Pour plus de
détails, voir Notations anciennes.
\relative { \time 8/1 c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Voici ces mêmes durées sans la fonction de ligature automatique.
\relative { \time 8/1 \autoBeamOff c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Lorsque une note ou un accord est suivi d’une succession de durées individuelles, celles-ci adopteront la ou les dernières hauteurs mentionnées.
\relative { \time 8/1 c'' \longa \breve 1 2 4 8 16 32 64 128 128 }
Si la durée d’une note n’est pas précisée, elle est alors assimilée à la
durée de la note précédente. La valeur par défaut pour la première note
est la noire (4
).
\relative { a' a a2 a a4 a a1 a }
Pour obtenir des notes pointées, ajoutez simplement un point (.
)
au chiffre. Les notes doublement pointées sont créées de la même façon.
\relative { a'4 b c4. b8 a4. b4.. c8. }
Les points sont normalement haussés pour éviter les lignes de portée, sauf dans certaines polyphonies. Des commandes prédéfinies permettent de manuellement forcer un positionnement particulier, comme indiqué au chapitre Direction et positionnement.
Certaines durées ne peuvent s’obtenir à partir de chiffres et de points, mais uniquement en « liant » deux ou plusieurs notes entre elles. Voir Liaisons de prolongation à ce sujet.
Quant à la manière de spécifier la durée des syllabes ou bien d’aligner des paroles par rapport aux notes, reportez vous au chapitre Musique vocale.
Espacer les notes selon leur durée relative est tout à fait possible. Pour plus de détails à ce sujet et sur les autres réglages propres à cette forme de notation, reportez vous à Notation proportionnelle.
Commandes prédéfinies
\autoBeamOn
,
\autoBeamOff
,
\dotsUp
,
\dotsDown
,
\dotsNeutral
.
Morceaux choisis
Brève alternative, avec deux barres verticales
Voici comment obtenir une brève – aussi appelée note carée – flanquée de deux barres verticales, au lieu d’une comme habituellement.
\relative c'' { \time 4/2 c\breve | \override Staff.NoteHead.style = #'altdefault b\breve \override Staff.NoteHead.style = #'baroque b\breve \revert Staff.NoteHead.style a\breve }
Spécification du nombre de points d’augmentation d’une note
Le nombre de points d’augmentation affectés à une note en particulier peut se modifier indépendamment des points placés après la note.
\relative c' { c4.. a16 r2 | \override Dots.dot-count = #4 c4.. a16 r2 | \override Dots.dot-count = #0 c4.. a16 r2 | \revert Dots.dot-count c4.. a16 r2 | }
Voir aussi
Glossaire musicologique : breve, longa, maxima, valeur des notes, Noms de durée (notes et silences).
Manuel de notation : Barres de ligature automatiques, Écriture des silences, Écriture du rythme, Hampes, Liaisons de prolongation, Ligatures, Musique vocale, Notations anciennes, Notation proportionnelle.
Morceaux choisis : Rythme.
Référence des propriétés internes : Dots, DotColumn.
Problèmes connus et avertissements
Il n’existe pas à proprement parler de limite (inférieure ou supérieure) en terme de durée d’un silence. Cependant, le nombre de glyphes disponibles ne couvre que les silences allant de 1 024e de pause (256e de soupir) à la maxime (valant huit pauses).
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Durées ] | [Plus haut: Écriture du rythme ] | [ Changement d'échelle des durées > ] |
N-olets
Les n-olets – triolets, quintolets, etc. – sont obtenus en multipliant la vitesse d’une expression musicale par une fraction.
\tuplet fraction { expression_musicale }
Le numérateur de cette fraction sera imprimé au-dessus ou au-dessous des notes, parfois avec un crochet. Le n-olet le plus courant est le triolet, dans lequel trois notes occupent la durée de deux.
\relative { a'2 \tuplet 3/2 { b4 4 4 } c4 c \tuplet 3/2 { b4 a g } }
Dans le cas d’une succession de n-olets, saisir la commande
\tuplet
pour chacun des n-olets devient vite fastidieux.
LilyPond vous permet de stipuler la durée de base d’un n-olet juste
avant l’expression musicale, de telle sorte que les n-olets seront
formés automatiquement :
\relative { g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } }
Des commandes prédéfinies permettent de déroger au positionnement automatique du crochet en surplomb ou au-dessous des notes :
\relative { \tupletUp \tuplet 3/2 { c''8 d e } \tupletNeutral \tuplet 3/2 { c8 d e } \tupletDown \tuplet 3/2 { f,8 g a } \tupletNeutral \tuplet 3/2 { f8 g a } }
Les n-olets peuvent être imbriqués ; par exemple,
\autoBeamOff c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 |
Lorsque, dans une imbrication, les n-olets débutent au même instant, il
vous faut recourir à la commande \tweak
– voir
La commande d’affinage \tweak
.
Le crochet de n-olet peut être remplacé par une liaison, à l’instar des éditions anciennes :
\relative { \tuplet 3/2 4 { \override TupletBracket.tuplet-slur = ##t c'4 e8 d4 f8 \override TupletBracket.bracket-visibility = ##t e f g f e d } c1 }
Un crochet sera imprimé en l’absence de ligature couvrant toute sa
longueur. Dans certains cas cependant, par exemple en présence d’une
liaison comme ci-dessus, il peut être préférable de modifier ce
comportement à l’aide de la propriété bracket-visibility
comme
indiqué dans les exemples qui suivent.
De manière générale, aussi bien les objets TupletBracket
que
TupletNumber
peuvent se masquer comme indiqué dans
Visibilité des objets ; on peut néanmoins interférer sur la durée
des notes sans imprimer de crochet, comme indiqué au chapitre
Changement d’échelle des durées.
Commandes prédéfinies
\tupletUp
,
\tupletDown
,
\tupletNeutral
.
Morceaux choisis
Plusieurs triolets avec une seule commande \tuplet
La propriété tupletSpannerDuration
spécifie la longueur voulue de
chaque crochet. Avec elle, vous pouvez faire plusieurs n-olets en ne
tapant \tuplet
qu’une fois, ce qui évite une longue saisie.
Il existe différents moyens de définir tupletSpannerDuration
. La
commande \tupletSpan
lui affecte une durée arbitraire qui sera
réinitialisée dès l’intervention d’une durée à \default
. Vous
pouvez aussi opter pour fournir un argument supplémentaire à la commande
\tuplet
.
\relative c' { \time 2/4 \tupletSpan 4 \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c } \tupletSpan \default \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c } \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c } }
Modifier l’apparence du chiffre de n-olet
LilyPond imprime par défaut le numérateur de la fraction fournie en
argument à la commande uplet
du côté du crochet de n-olet.
Il est toutefois possible d’imprimer la fraction entière num:den, voire de ne rien imprimer du tout.
\relative c'' { \tuplet 3/2 { c8 c c } \tuplet 3/2 { c8 c c } \override TupletNumber.text = #tuplet-number::calc-fraction-text \tuplet 3/2 { c8 c c } \omit TupletNumber \tuplet 3/2 { c8 c c } }
N-olets au chiffrage inhabituel
LilyPond sait aussi gérer des n-olets dont le chiffrage imprimé ne correspond pas exactement à la fraction de mesure à laquelle ils se réfèrent, tout comme ceux auxquels une valeur de note vient en complément du chiffre.
\relative c'' { \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes (ly:make-duration 2 1) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 (ly:make-duration 3 0) 4 (ly:make-duration 2 0)) \tuplet 3/2 { c4. c4. c4. c4. } }
Contrôle de l’impression des crochets de n-olet
Selon la tradition, les crochets indicateurs de n-olet sont toujours imprimés, sauf dans le cas où ils seraient de la même longueur qu’une ligature.
LilyPond permet, au travers de la propriété bracket-visibility
,
de contôler précisément leur affichage : déterminée à #t
, ils
seront toujours imprimés ; #f
permet de ne jamais les imprimer –
donc omettre l’objet TupletBracket
–, et #'if-no-beam
les
imprimera en l’absence de ligature (comportement par défaut).
music = \relative c'' { \tuplet 3/2 { c16[ d e } f8] \tuplet 3/2 { c8 d e } \tuplet 3/2 { c4 d e } } \new Voice { \relative c' { << \music s4^"default" >> \override TupletBracket.bracket-visibility = #'if-no-beam << \music s4^"'if-no-beam" >> \override TupletBracket.bracket-visibility = ##t << \music s4^"#t" >> \override TupletBracket.bracket-visibility = ##f << \music s4^"#f" >> \omit TupletBracket << \music s4^"omit" >> } }
Saut de ligne au milieu d’un n-olet avec ligature
Cet exemple peu académique démontre comment il est possible d’insérer un saut de ligne dans un n-olet portant une ligature. Ces ligatures doivent toutefois être explicites.
\layout { \context { \Voice % Permit line breaks within tuplets \remove "Forbid_line_break_engraver" % Allow beams to be broken at line breaks \override Beam.breakable = ##t } } \relative c'' { a8 \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } % Insert a manual line break within a tuplet \tuplet 3/2 { c[ b \bar "" \break a] } \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } c8 }
Voir aussi
Glossaire musicologique : triolet, n-olet, polymétrie.
Manuel d’initiation : Méthodes de retouche.
Manuel de notation :
Changement d’échelle des durées,
Direction et positionnement,
Gestion du temps,
La commande d’affinage \tweak
,
Notation polymétrique,
Visibilité des objets.
Morceaux choisis : Rythme.
Références des propriétés internes : TupletBracket, TupletNumber, TimeScaledMusic.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < N-olets ] | [Plus haut: Écriture du rythme ] | [ Liaisons de prolongation > ] |
Changement d’échelle des durées
La durée des notes, silences ou accords peut se modifier en lui
adjoignant une fraction N/D, donnant « *
N/D » – ou
« *
N » si D=1. Ce facteur peut aussi s’exprimer à
l’aide d’une expression Scheme évaluant à un nombre ou un temps musical
comme *#(ly:music-length musique)
. Cette solution est
pratique pour échelonner à une durée de ‘1’ et laisser une note ou
un silence multimesure s’étirer sur une longueur dérivée d’une variable
musicale.
L’ajout de ce facteur ne modifiera en rien l’apparence des notes ou
silences produits, mais affectera le positionnement de l’objet dans la
mesure, ainsi que le rendu MIDI. Cette fraction peut elle-même être
multipliée, ce qui donne quelque chose du style *M*N/D
. Ce
facteur d’échelonnement est partie intégrante de la durée : en l’absence
de durée explicite à la note suivante, cette durée échelonnée est
considérée comme valeur par défaut.
Dans l’exemple suivant, les trois premières notes prennent exactement deux temps, mais aucun triolet n’est imprimé.
\relative { \time 2/4 % Alter durations to triplets a'4*2/3 gis a % Normal durations a4 a % Double the duration of chord <a d>4*2 % Duration of quarter, appears like sixteenth b16*4 c4 }
La durée d’un silence invisible ou saut de notes (skip) peut
elle aussi être affectée d’un multiplicateur. Cette technique permet
tout simplement de sauter plusieurs mesures, comme par exemple un
s1*23
.
Il est tout à fait possible d’échelonner des fragments musicaux plus ou moins longs à l’aide d’une simple fraction, comme si chaque note, accord ou silence était affecté de ce même quotient. L’apparence de cette musique ne sera en rien modifiée ; seule la durée des notes est multipliée en interne par le facteur d’échelle donné – généralement numérateur/dénominateur. Voici un exemple illustrant la manière de comprimer ou étirer de la musique :
\relative { \time 2/4 % Durée normale <c'' a>4 c8 a % Musique échelonnée à 2/3 \scaleDurations 2/3 { <c a f>4. c8 a f } % Musique échelonnée par 2 \scaleDurations 2 { <c' a>4 c8 b } }
Cette technique est tout à fait appropriée à la notation polymétrique – voir Notation polymétrique.
Voir aussi
Manuel de notation : N-olets, Notation polymétrique, Silences invisibles.
Morceaux choisis : Rythme.
Problèmes connus et avertissements
Le calcul de la position au sein d’une mesure doit prendre en considération tous les facteurs d’échelonnement appliqués aux notes de cette mesure ainsi que tous les reliquats des mesures précédentes. Ce calcul utilise des nombres rationnels. Dès lors qu’un calcul recontrera un numérateur ou dénominateur intermédiaire d’une valeur supérieure à 2^30, LilyPond s’arrêtera à ce point précis sans pour autant signaler d’erreur.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Changement d'échelle des durées ] | [Plus haut: Écriture du rythme ] | [ Écriture des silences > ] |
Liaisons de prolongation
Une liaison de tenue (ou de prolongation) relie deux notes adjacentes de même hauteur. Dans les faits, elle prolonge la durée d’une note.
Note : Une liaison de tenue ne doit pas être confondue avec une liaison d’articulation ou de phrasé. Une liaison de tenue est un moyen parmi d’autres pour prolonger la durée d’une note, tout comme les points.
Une liaison de tenue s’indique au moyen d’un tilde (~
) qui
vient s’adjoindre à la première note de chacune des paires de
notes à lier. Ceci indique que la note en question sera liée à la
suivante, qui doit être de la même hauteur.
{ a'2~ 4~ 16 r r8 }
Les liaisons de tenue peuvent interpréter la « dernière hauteur explicite » d’une succession de durées :
{ a'2~ 4~ 16 r r8 }
Les liaisons de tenue sont utilisées soit lorsque la note dépasse de la mesure, soit quand les points ne suffisent pas à donner la bonne durée. Lorsque l’on utilise ces liaisons, les valeurs rythmiques les plus longues doivent s’aligner sur les subdivisions de la mesure, comme ici :
\relative { r8 c'4.~ 4 r4 | r8^"non" c2~ 8 r4 }
Lorsque l’on doit lier de nombreuses notes sur plusieurs mesures, il devient plus facile d’avoir recours à la division automatique des notes – voir Découpage automatique des notes. Ce procédé divise automatiquement les notes trop longues, et les lie par-delà les barres de mesure.
Quand une liaison de tenue se trouve entre deux accords, toutes les notes de même hauteur entre ces deux accords sont reliées. S’il n’y en a aucune, aucune liaison n’est créée. Il est également possible de lier partiellement deux accords, en mettant les liaisons à l’intérieur des accords.
\relative c' { <c e g>2~ 2 | <c e g>4~ <c e g c> <c~ e g~ b> <c e g b> | }
Lorsqu’une mesure « de seconde fois » après une reprise commence sur une note liée, la liaison doit être répétée, comme ici :
\relative { \repeat volta 2 { c'' g <c e>2~ } \alternative { % First alternative: following note is tied normally { <c e>2. r4 } % Second alternative: following note has a repeated tie { <c e>2\repeatTie d4 c } } }
Les liaisons « Laissez vibrer » (L.v.) sont utilisées pour le piano, la harpe et certains instruments de percussion. Elles indiquent à l’instrumentiste de laisser sonner la note ou l’accord au lieu de l’étouffer. Elles s’indiquent de la manière suivante :
<c' f' g'>1\laissezVibrer
Le positionnement vertical des liaisons de prolongation peut être affiné – voir à ce sujet les « commandes prédéfinies » et, pour de plus amples détails, Direction et positionnement.
Les liaisons de prolongation peuvent s’imprimer sous la forme de ligne continue, discontinue ou pointillée.
\relative c' { \tieDotted c2~ 2 \tieDashed c2~ 2 \tieHalfDashed c2~ 2 \tieHalfSolid c2~ 2 \tieSolid c2~ 2 }
Il est même possible d’en personnaliser l’allure :
\relative c' { \tieDashPattern #0.3 #0.75 c2~ 2 \tieDashPattern #0.7 #1.5 c2~ 2 \tieSolid c2~ 2 }
Que ce soit pour une tenue ou un phrasé, le motif d’une ligne discontinue formant une liaison se définit de la même manière. Pour de plus amples détails à ce sujet, reportez vous au chapitre Liaisons d’articulation.
Dans le cas où une liaison est recouverte par d’autres éléments de la portée, une adaptation des propriétés whiteout et layer permet d’obtenir une meilleure lisibilité.
\relative { \override Tie.layer = #-2 \override Staff.TimeSignature.layer = #-1 \override Staff.KeySignature.layer = #-1 \override Staff.TimeSignature.whiteout = ##t \override Staff.KeySignature.whiteout = ##t b'2 b~ \time 3/4 \key a \major b r4 }
Commandes prédéfinies
\tieUp
,
\tieDown
,
\tieNeutral
,
\tieDotted
,
\tieDashed
,
\tieDashPattern
,
\tieHalfDashed
,
\tieHalfSolid
,
\tieSolid
.
Morceaux choisis
Liaison de tenue et arpège
Les liaisons de tenue servent parfois à rendre un accord arpégé. Dans
ce cas, les notes liées ne sont pas toutes consécutives. Il faut alors
assigner à la propriété tieWaitForNote
la valeur #t
(true pour « vrai »). Cette même méthode peut servir, par
exemple, à lier un trémolo à un accord.
\relative c' { \set tieWaitForNote = ##t \grace { c16[ ~ e ~ g] ~ } <c, e g>2 \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1 e8 ~ c ~ a ~ f ~ <e' c a f>2 \tieUp c8 ~ a \tieDown \tieDotted g8 ~ c g2 }
Dessin à main levée de liaisons de tenue
Il est possible de graver manuellement les liaisons de tenue, en
modifiant la propriété tie-configuration
. Pour chaque paire, le
premier nombre indique la distance à la portée, en espaces de portée, et
le second la direction (1 pour haut, -1 pour bas).
Notez bien que LilyPond fait la distinction, au niveau du premier
nombre, entre valeur exacte et valeur inexacte. Dans le cas d’une valeur
exacte – autrement dit un entier ou une fraction comme (/ 4 5)
– celle-ci servira de position verticale brute, ensuite afinée par
LilyPond de sorte à éviter les lignes de la portée. Dans le cas d’une
valeur inexacte, tel un nombre à virgule flottante, c’est elle qui
servira à positionner verticalement, sans ajustement.
\relative c' { <c e g>2~ <c e g> \override TieColumn.tie-configuration = #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) <c e g>2~ <c e g> \override TieColumn.tie-configuration = #'((0 . 1) (-2 . 1) (-4 . 1)) <c e g>2~ <c e g> }
Voir aussi
Glossaire musicologique : liaison de tenue, laissez vibrer.
Manuel de notation : Découpage automatique des notes, Liaisons d’articulation.
Morceaux choisis : Rythme, Signes d’interprétation.
Référence des propriétés internes : LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie.
Problèmes connus et avertissements
Un changement de portée, lorsqu’une liaison de tenue est active, ne peut produire une liaison oblique.
Un changement de clef ou d’octave pendant une liaison de tenue produit un résultat indéfini. Dans ces cas là, il est préférable d’utiliser un legato.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Liaisons de prolongation ] | [Plus haut: Rythme ] | [ Silences > ] |
1.2.2 Écriture des silences
On saisit les silences dans une expression musicale tout comme les notes.
Silences | ||
Silences invisibles | ||
Silences valant une mesure |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Écriture des silences ] | [Plus haut: Écriture des silences ] | [ Silences invisibles > ] |
Silences
Les silences sont écrits comme des notes avec le nom de note r
–
premier caractère du mot rest. Les durées supérieures à la pause
s’indiquent à l’aide de commandes prédéfinies :
\new Staff { % These two lines are just to prettify this example \time 16/1 \omit Staff.TimeSignature % Print a maxima rest, equal to four breves r\maxima % Print a longa rest, equal to two breves r\longa % Print a breve rest r\breve r1 r2 r4 r8 r16 r32 r64 r128 }
Les pauses d’une mesure complète, qui sont placées au centre de la mesure, doivent être entrées comme des mesures de silence. Elles peuvent être utilisées pour une seule mesure comme pour plusieurs, et leur utilisation est expliquée à la rubrique Silences valant une mesure.
Pour spécifier explicitement la position verticale d’un silence, écrivez
une note suivie de \rest
. Un silence de même durée sera placé
à la position où serait imprimée la note. Cela rend plus facile la mise
en place de musique polyphonique, puisque le formateur automatique de
collision des silences laissera ces silences tranquilles.
\relative { a'4\rest d4\rest }
Morceaux choisis
Styles de silences
Les silences peuvent être gravés selon différents styles.
\new Staff \relative c { \omit Score.TimeSignature \cadenzaOn \override Staff.Rest.style = #'mensural r\maxima^\markup \typewriter { mensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \break \override Staff.Rest.style = #'neomensural r\maxima^\markup \typewriter { neomensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \break \override Staff.Rest.style = #'classical r\maxima^\markup \typewriter { classical } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \break \override Staff.Rest.style = #'z r\maxima^\markup \typewriter { z-style } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \break \override Staff.Rest.style = #'default r\maxima^\markup \typewriter { default } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 }
Voir aussi
Glossaire musicologique : breve, longa, maxima.
Manuel de notation : Silences valant une mesure.
Morceaux choisis : Rythme.
Référence des propriétés internes : Rest.
Problèmes connus et avertissements
Il n’existe pas à proprement parler de limite (inférieure ou supérieure) en terme de durée d’un silence. Cependant, le nombre de glyphes disponibles ne couvre que les silences allant du 1 024e de pause (256e de soupir) à la maxime (équivalant à huit pauses).
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Silences ] | [Plus haut: Écriture des silences ] | [ Silences valant une mesure > ] |
Silences invisibles
Un silence invisible – que l’on pourrait appeler un « saut » –
peut être entré comme une note avec le nom de note s
ou avec
\skip durée
:
\relative c'' { c4 c s c | s2 c | }
La syntaxe s
est seulement disponible pour les modes d’entrée
de notes et d’accords. Dans les autres situations, pour l’entrée de
paroles par exemple, vous devrez utiliser la commande \skip
, qui
requiert une durée explicite ; cette durée ne sera pas prise en
considération dès lors que les paroles suivent le rythme des notes de la
mélodie à laquelle vous les aurez associées à l’aide des commandes
\addlyrics
ou \lyricsto
.
<< { a'2 \skip2 a'2 a'2 } \new Lyrics { \lyricmode { foo2 \skip 1 bla2 } } >>
Gardez à l’esprit que \skip
est une commande, et de ce fait
n’affectera en rien la durée des notes qui suivent, contrairement à
un s
.
<< { \repeat unfold 8 { a'4 } } { a'4 \skip 2 a' | s2 a' } >>
La commande de saut génère simplement une case musicale vide. Le code
de saut s
crée tout de même les contextes Staff
et
Voice
lorsque nécessaire, à l’instar des notes ou des silences :
{ s1 s s }
Un \skip
ne fait que sauter du temps musical ; il ne produit
rien du tout, pas même un symbole transparent.
% This is valid input, but does nothing { \skip 1 \skip1 \skip 1 }
Voir aussi
Manuel d’initiation : Visibilité et couleur des objets.
Manuel de notation : Dictée à trous, Visibilité des objets.
Morceaux choisis : Rythme.
Référence des propriétés internes : SkipMusic.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Silences invisibles ] | [Plus haut: Écriture des silences ] | [ Gravure du rythme > ] |
Silences valant une mesure
Un silence valant une ou plusieurs mesures entières s’entre avec un
R
majuscule. Sa durée s’indique comme pour n’importe quelle note,
y compris un éventuel multiplicateur comme indiqué dans
Changement d’échelle des durées.
% Rest measures contracted to single measure \compressMMRests { R1*4 R1*24 R1*4 b'2^"Tutti" b'4 a'4 }
Cet exmple illustre aussi la manière de condenser une succession de mesures vides, comme indiqué dans Compression de mesures vides.
Ceci ne peut être utile que pour une mesure complètement vide. Sa durée doit donc correspondre à la longueur de la mesure telle que définie par la métrique. C’est la raison pour laquelle on utilisera aussi des points d’augmentation ou des fractions :
\compressMMRests { \time 2/4 R1 | R2 | \time 3/4 R2. | R2.*2 | \time 13/8 R1*13/8 | R1*13/8*12 | \time 10/8 R4*5*4 | }
Un R
qui s’étend sur une seule mesure s’imprime tantôt comme
une pause, tantôt comme une brève – ou « bâton de pause » – qui
sera centrée sur la mesure quelle qu’en soit la métrique :
\time 4/4 R1 | \time 6/4 R1*3/2 | \time 8/4 R1*2 |
Vous pouvez aussi ajouter du texte à un silence multimesure en
utilisant la syntaxe note-markup
(cf.
Mise en forme du texte).
\compressMMRests { \time 3/4 R2.*10^\markup { \italic "ad lib." } }
Note : C’est MultiMeasureRestText
qui créera le texte, et
MultiMeasureRestScript
pour les articulations, non
TextScript
ou Script
. Les commandes de dérogation ou de
redéfinition doivent s’adresser à l’objet concerné, comme vous pouvez le
constater dans l’exemple suivant.
% Ceci échouera : il y a erreur quant à l'objet spécifié \override TextScript.padding = #5 \override Script.color = #blue R1^"pas bon !" R1\fermata % Formulation correcte, qui fonctionnera \override MultiMeasureRestText.padding = #5 \override MultiMeasureRestScript.color = #blue R1^"ça marche !" R1\fermata
Un silence multimesure placé directement après une commande
\partial
risque fort de perturber le vérificateur de limites et
numéros de mesure.
Commandes prédéfinies
\textLengthOn
,
\textLengthOff
,
\compressMMRests
.
Morceaux choisis
Contrôle de la taille d’un silence multimesure
Les silences multimesure ont une largeur relative à leur durée totale,
contrôlée par MultiMeasureRest.space-increment
. Sa valeur par
défaut est fixée à 2.0
.
\relative c' { \compressEmptyMeasures R1*2 R1*4 R1*64 R1*16 \override Staff.MultiMeasureRest.space-increment = 2.5 R1*2 R1*4 R1*64 R1*16 }
Positionnement des silences multimesures
Si l’on peut positionner verticalement un silence simple en le rattachant à une note, il n’en va pas de même pour un silence multimesure. Néanmoins, et uniquement dans le cadre de musique polyphonique, les silences multimesures sont positionnés différemment selon qu’ils appartiennent à une voix au numéro pair ou impair. Le positionnement des silences multimesures peut se contrôler ainsi :
\relative c'' { % Multi-measure rests by default are set under the fourth line R1 % They can be moved using an override \override MultiMeasureRest.staff-position = #-2 R1 \override MultiMeasureRest.staff-position = #0 R1 \override MultiMeasureRest.staff-position = #2 R1 \override MultiMeasureRest.staff-position = #3 R1 \override MultiMeasureRest.staff-position = #6 R1 \revert MultiMeasureRest.staff-position \break % In two Voices, odd-numbered voices are under the top line << { R1 } \\ { a1 } >> % Even-numbered voices are under the bottom line << { a1 } \\ { R1 } >> % Multi-measure rests in both voices remain separate << { R1 } \\ { R1 } >> % Separating multi-measure rests in more than two voices % requires an override << { R1 } \\ { R1 } \\ \once \override MultiMeasureRest.staff-position = #0 { R1 } >> % Using compressed bars in multiple voices requires another override % in all voices to avoid multiple instances being printed \compressMMRests << \revert MultiMeasureRest.direction { R1*3 } \\ \revert MultiMeasureRest.direction { R1*3 } >> }
Ajout de texte à un silence multimesure
Lorsque du texte est attaché à un silence multimesure, il sera centré dans la mesure, au-dessus ou en dessous de la portée. Afin d’étirer la mesure dans le cas où ce texte est relativement long, il suffit d’insérer un accord vide auquel on attache le texte en question, avant le silence multimesure.
Le texte attaché à un silence invisible sera aligné sur la gauche de là où serait positionnée la note dans la mesure. Cependant, si la taille de la mesure est déterminée par la longueur du texte, il apparaîtra comme centré.
\relative c' { \compressMMRests { \textLengthOn <>^\markup { [MAJOR GENERAL] } R1*19 <>_\markup { \italic { Cue: ... it is yours } } <>^\markup { A } R1*30^\markup { [MABEL] } \textLengthOff c4^\markup { CHORUS } d f c } }
Voir aussi
Glossaire musicologique : silence multimesures.
Manuel de notation : Changement d’échelle des durées, Commentaires textuels, Compression de mesures vides, Durées, Mise en forme du texte, Texte.
Morceaux choisis : Rythme.
Référence des propriétés internes : MultiMeasureRest. MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.
Problèmes connus et avertissements
Vous ne pouvez pas utiliser de doigtés (par ex. R1*10-4
) pour
positionner des nombres au dessus d’un silence multimesure, le numéro
de doigt (4) risquant de chevaucher le nombre de mesures à compter (10).
Condenser plusieurs silences en un unique silence multimesure ne peut être automatisé.
Les silences multimesures peuvent générer des collisions avec d’autres silences.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Silences valant une mesure ] | [Plus haut: Rythme ] | [ Métrique > ] |
1.2.3 Gravure du rythme
Métrique | ||
Indication métronomique | ||
Levées | ||
Musique sans métrique | ||
Notation polymétrique | ||
Découpage automatique des notes | ||
Gravure de lignes rythmiques |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Gravure du rythme ] | [Plus haut: Gravure du rythme ] | [ Indication métronomique > ] |
Métrique
Le chiffre de mesure indique le mètre d’une pièce : une alternance régulière de temps forts et de temps faibles. Il est indiqué par une fraction au début de la portée :
\time 2/4 c''2 \time 3/4 c''2.
Les changements de métrique en cours de mesure sont abordés dans Levées.
La métrique est imprimée en début de morceau, et à chaque fois qu’elle est modifiée. Si cette modification intervient au niveau d’un saut de ligne, une métrique « de précaution » sera imprimée avant de passer à la ligne suivante. Ce comportement par défaut peut être modifié, comme indiqué au chapitre Visibilité des objets.
\relative c'' { \time 2/4 c2 c \break c c \break \time 4/4 c c c c }
Le symbole de métrique utilisé pour les mesures à 2/2 et 4/4 peut être changé pour un style numérique :
\relative c'' { % Default style \time 4/4 c1 \time 2/2 c1 % Change to numeric style \numericTimeSignature \time 4/4 c1 \time 2/2 c1 % Revert to default style \defaultTimeSignature \time 4/4 c1 \time 2/2 c1 }
Les métriques anciennes font l’objet d’un chapitre particulier.
En plus de déterminer la métrique qui sera imprimée, la commande
\time
réglera aussi les valeurs par défaut des propriétés
baseMoment
, beatStructure
et beamExceptions
correspondant à la métrique. Les valeurs prédéterminées par défaut de
ces différentes propriétés sont inscrites dans le fichier
‘scm/time-signature-settings.scm’.
La valeur par défaut de beatStructure
peut se voir aménagée dès
la commande \time
à l’aide d’un premier argument :
\score { \new Staff { \relative { \time 2,2,3 7/8 \repeat unfold 7 { c'8 } | \time 3,2,2 7/8 \repeat unfold 7 { c8 } | } } }
Les valeurs par défaut de toutes ces variables associées à la métrique,
y compris baseMoment
et beamExceptions
, peuvent se définir
en même temps. Ces valeurs peuvent se régler indépendamment pour
différentes métriques. Les valeurs adaptées ne seront effectives qu’à
partir du moment où interviendra une commande \time
de la valeur
de métrique correspondante :
\score { \relative c' { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | } }
\overrideTimeSignatureSettings
prend quatre arguments :
-
timeSignatureFraction
, une fraction indiquant la métrique pour laquelle ces valeurs doivent s’appliquer, -
baseMomentFraction
, une fraction comprenant les numérateur et dénominateur de la fraction indiquant la base de la pulsation, -
beatStructure
, une liste Scheme indiquant la structure de cette pulsation, en unité de base, -
beamExceptions
, une liste associative des règles de ligature pour cette métrique, en dehors de celles basées sur le temps comme indiqué à la rubrique Définition des règles de ligature automatique.
Vous pouvez revenir à tout moment aux réglages prédéterminés d’une métrique :
\score { \relative { \repeat unfold 8 { c'8 } | \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | \revertTimeSignatureSettings 4/4 \time 4/4 \repeat unfold 8 { c8 } | } }
Le fait de déplacer du contexte Score
au contexte Staff
à
la fois le Timing_translator
et le
Default_bar_line_engraver
permet d’obtenir des réglages
particuliers pour les différentes portées d’un regroupement :
\score { \new StaffGroup << \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 1,3 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } >> \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } }
Une autre méthode de modification de ces variables liées à la métrique, et qui évite sa réimpression au moment du changement, est indiquée à la rubrique Définition des règles de ligature automatique.
Commandes prédéfinies
\numericTimeSignature
,
\defaultTimeSignature
.
Morceaux choisis
Affichage seulement du numérateur d’une métrique (au lieu d’une fraction)
La métrique est parfois indiquée non pas par une fraction (par ex. 7/4)
mais simplement par son numérateur (7 dans ce cas). L’instruction
\override Staff.TimeSignature.style = #'single-digit
permet de
déroger au style par défaut de manière permanente – un
\revert Staff.TimeSignature.style
annulera ces modifications.
Lorsque cette métrique sous la forme d’un seul chiffre ne se présente
qu’une seule fois, il suffit de faire précéder l’instruction
\override
d’un simple \once
.
\relative c'' { \time 3/4 c4 c c % Change the style permanently \override Staff.TimeSignature.style = #'single-digit \time 2/4 c4 c \time 3/4 c4 c c % Revert to default style: \revert Staff.TimeSignature.style \time 2/4 c4 c % single-digit style only for the next time signature \once \override Staff.TimeSignature.style = #'single-digit \time 5/4 c4 c c c c \time 2/4 c4 c }
Voir aussi
Glossaire musicologique : métrique.
Manuel de notation : Définition des règles de ligature automatique, Gestion du temps, Métriques anciennes.
Installed Files: ‘scm/time-signature-settings.scm’.
Morceaux choisis : Rythme.
Références des propriétés internes : TimeSignature, Timing_translator.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Métrique ] | [Plus haut: Gravure du rythme ] | [ Levées > ] |
Indication métronomique
Une indication métronomique s’insère tout simplement comme ceci :
\relative { \tempo 4 = 120 c'2 d e4. d8 c2 }
Lorsque le réglage précis du métronome est laissé à l’appréciation de l’exécutant, vous pouvez cependant lui fournir une plage :
\relative { \tempo 4 = 40 - 46 c'4. e8 a4 g b,2 d4 r }
Vous pouvez préférer une indication textuelle :
\relative { \tempo "Allegretto" c''4 e d c b4. a16 b c4 r4 }
Lorsque vous combinez des indications métronomiques sous forme textuelle et numérique, l’indication numérique sera placée entre parenthèses :
\relative { \tempo "Allegro" 4 = 160 g'4 c d e d4 b g2 }
En matière d’indication textuelle, vous pouvez utiliser n’importe quel objet de type markup, comme ici :
\relative { \tempo \markup { \italic Faster } 4 = 132 a'8-. r8 b-. r gis-. r a-. r }
Mentionner une indication textuelle vide vous permet de mettre entre parenthèses l’indication numérique :
\relative { \tempo "" 8 = 96 d''4 g e c }
Dans le cas d’une partie où l’instrumentiste a de longs moments de
silence, les indications de tempo peuvent être fort rapprochées l’une de
l’autre. L’instruction \markLengthOn
permet de préserver
suffisamment d’espace horizontal de telle sorte que ces indications ne
se chevauchent ; l’instruction \markLengthOff
restaure le
comportement par défaut qui ignore les indications de tempo dans les
calculs d’espacement horizontal.
\compressMMRests { \markLengthOn \tempo "Molto vivace" R1*12 \tempo "Meno mosso" R1*16 \markLengthOff \tempo "Tranquillo" R1*20 }
Morceaux choisis
Impression du métronome et des repères sous la portée
Les indications de tempo et les marques de repère s’impriment par défaut
au-dessus de la portée. Le fait de régler en conséquence la propriété
direction
des objets MetronomeMark
et RehearsalMark
les placera au-dessous de la portée.
\layout { indent = 0 ragged-right = ##f } { % Metronome marks below the staff \override Score.MetronomeMark.direction = #DOWN \tempo 8. = 120 c''1 % Rehearsal marks below the staff \override Score.RehearsalMark.direction = #DOWN \mark \default c''1 }
Changement de tempo sans indication sur la partition
Vous pouvez indiquer un changement de tempo pour le fichier MIDI sans pour autant l’imprimer. Il suffit alors de le rendre invisible aux musiciens.
\score { \new Staff \relative c' { \tempo 4 = 160 c4 e g b c4 b d c \set Score.tempoHideNote = ##t \tempo 4 = 96 d,4 fis a cis d4 cis e d } \layout { } \midi { } }
Création d’une indication métronomique sous forme d’étiquette
Vous pouvez créer des indications de tempo sous la forme d’étiquettes textuelles – des objets markup –, notamment des équivalences. Cependant, elles n’apparaîtront pas dans le fichier MIDI.
\relative c' { \tempo \markup { \concat { ( \smaller \general-align #Y #DOWN \note {16.} #1 " = " \smaller \general-align #Y #DOWN \note {8} #1 ) } } c1 c4 c' c,2 }
Pour de plus amples détails, veuillez consulter Mise en forme du texte.
Voir aussi
Glossaire musicologique : métronome, indication métronomique, indication du tempo, marque de métronome.
Manuel de notation : Génération de fichiers MIDI, Mise en forme du texte.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : MetronomeMark.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Indication métronomique ] | [Plus haut: Gravure du rythme ] | [ Musique sans métrique > ] |
Levées
Les mesures incomplètes, telles que les anacrouses ou levées, doivent
être entrées avec la commande \partial
. La syntaxe de cette
commande est
\partial durée
Lorsque \partial
est utilisé en début de pièce, durée égale
la valeur rythmique précédant la première mesure.
\relative { \time 3/4 \partial 4. r4 e'8 | a4 c8 b c4 | }
Lorsque \partial
est utilisé après le début du morceau,
durée
égale la valeur rythmique restant dans la
mesure en cours. Ceci ne crée pas de nouveau numéro de mesure.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 9/8 d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" \time 12/8 \partial 4. c8( d) e | f2.~ 4 f8 a,( c) f | }
La commande \partial
est obligatoire lorsque la métrique
change en cours de mesure, mais peut aussi s’utiliser isolément.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 6/8 \partial 8 e'8 | a4 c8 b[ c b] | \partial 4 r8 e,8 | a4 \bar "||" \partial 4 r8 e8 | a4 c8 b[ c b] | }
La commande \partial
détermine la propriété
Timing.measurePosition
, nombre rationnel qui indique combien de
temps est déjà passé dans la mesure.
Voir aussi
Glossaire musicologique : anacrouse.
Manuel de notation : Notes d’ornement.
Morceaux choisis : Rythme.
Références des propriétés internes : Timing_translator.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Levées ] | [Plus haut: Gravure du rythme ] | [ Notation polymétrique > ] |
Musique sans métrique
En matière de musique mesurée, le positionnement des barres et la
numérotation sont calculés automatiquement. Ceci n’est pas souhaitable
dans le cas d’une musique non mesurée – les cadences par exemple – et
peut être désactivé à l’aide de la commande \cadenzaOn
, puis
réactivé par un \cadenzaOff
à l’endroit approprié.
\relative c'' { c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
La numérotation reprend dès la fin d’une cadence.
\relative c'' { % Show all bar numbers \override Score.BarNumber.break-visibility = #all-visible c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
Une cadence représente un fragment détaché de la notion de mesure, en
dépit des différentes commandes \bar
qu’il pourra comporter.
L’insertion d’une commande \bar
dans une cadence n’entame
pas de nouvelle mesure, même si une barre est imprimée. Ceci a
pour conséquence que toute altération supplémentaire par rapport à
l’armure – normalement en vigueur jusqu’à la fin de la mesure –
sera valide même après une barre insérée grâce à une instruction
\bar
. Toute altération ultérieure devra donc être rappelée
manuellement – voir Altérations.
\relative c'' { c4 d e d \cadenzaOn cis4 d cis d \bar "|" % First cis is printed without alteration even if it's after a \bar cis4 d cis! d \cadenzaOff \bar "|" }
L’instruction \cadenzaOn
désactive les ligatures automatiques ;
elles seront réactivées après un \cadenzaOff
. Toutes les
ligatures devront donc être indiquées de manière explicite tout au long
de la cadence – voir Barres de ligature manuelles).
\relative { \repeat unfold 8 { c''8 } \cadenzaOn cis8 c c c c \bar"|" c8 c c \cadenzaOff \repeat unfold 8 { c8 } }
Ces commandes prédéfinies affecteront toutes les portées de la
partition, même si vous ne les placez que dans un simple contexte
Voice
. Pour éviter ce désagrément, transférez le
Timing_translator
du contexte Score
au contexte
Staff
, comme indiqué au chapitre Notation polymétrique.
Commandes prédéfinies
\cadenzaOn
,
\cadenzaOff
.
Voir aussi
Glossaire musicologique : cadence.
Manuel de notation : Altérations, Barres de ligature manuelles, Notation polymétrique, Visibilité des objets.
Morceaux choisis : Rythme.
Problèmes connus et avertissements
Sauts de ligne ou de page ne peuvent intervenir qu’au niveau d’une barre de mesure. Si votre musique non mesurée s’étend sur plus d’une ligne, il vous faudra insérer des barres de mesure « invisibles » pour indiquer où des sauts de ligne peuvent prendre place :
\bar ""
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Musique sans métrique ] | [Plus haut: Gravure du rythme ] | [ Découpage automatique des notes > ] |
Notation polymétrique
LilyPond gère les métriques composites, aussi bien de manière explicite que de manière détournée – modification de l’indicateur de métrique et échelonnement de la durée des notes.
Métriques différentes et mesures d’égale longueur
Il suffit, pour obtenir cette forme de notation, de tout d’abord
affecter une même métrique aux différentes portées. Cette métrique sera
ensuite remplacée dans chacune des portées par un quotient fourni en
argument à la propriété timeSignatureFraction
. La durée des
notes sera enfin proratisée selon la métrique commune grâce à la
fonction \scaleDurations
.
L’exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et 10/8. Pour la deuxième portée les durées sont multipliées par 2/3 de telle sorte que 2/3 * 9/8 = 3/4 ; pour la troisième elles sont multipliées par 3/5, de telle sorte que 3/5 * 10/8 = 3/4. Les ligatures devront être explicites, la fonction d’échelonnement venant perturber les règles de ligature automatique.
\relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 10/8 \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c \tuplet 3/2 { c8[ c c] } c4 } } >>
Métriques différentes et mesures de longueur inégale
Il arrive aussi que chaque portée ait sa propre métrique. Vous y
parviendrez en déplaçant le Timing_translator
et le
Default_bar_line_engraver
dans le contexte Staff
.
\layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % Now each staff has its own time signature. \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 2/4 c4 c | c4 c | c4 c | } \new Staff { \time 3/8 c4. | c8 c c | c4. | c8 c c | } >>
Métriques complexes
Une métrique composite se crée à l’aide de la fonction
\compoundMeter
, en suivant la syntaxe :
\compoundMeter #'(liste de listes)
La construction la plus simple est constituée d’une seule liste, dans laquelle le dernier nombre indique le « dénominateur » de la métrique, les précédents représentent le « numérateur ».
\relative { \compoundMeter #'((2 2 2 8)) \repeat unfold 6 c'8 \repeat unfold 12 c16 }
Une métrique plus élaborée s’obtient en ajoutant d’autres listes. Bien entendu, les ligatures automatiques s’ajusteront aux différentes valeurs.
\relative { \compoundMeter #'((1 4) (3 8)) \repeat unfold 5 c'8 \repeat unfold 10 c16 } \relative { \compoundMeter #'((1 2 3 8) (3 4)) \repeat unfold 12 c'8 }
Voir aussi
Glossaire musicologique : polymétrie, métrique composite, métrique.
Manuel de notation : Changement d’échelle des durées, Barres de ligature automatiques, Barres de ligature manuelles, Métrique.
Morceaux choisis : Rythme.
Références des propriétés internes : TimeSignature, Timing_translator, Default_bar_line_engraver, Staff.
Problèmes connus et avertissements
Bien que les notes de différentes portées tombant au même moment seront positionnées horizontalement au même endroit, les barres de mesure (dans chacune des portées) peuvent causer un espacement incohérent pour chacune des différentes métriques.
L’utilisation d’un bloc midi
dans le cadre de musique
polymétrique peut entraîner des avertissements intempestifs quant au
contrôle des barres de mesure. Il est possible de s’en prémunir en
déplaçant, au sein du bloc midi
, le Timing_translator
du
contexte Score
au contexte Staff
.
\midi { \context { \Score \remove "Timing_translator" } \context { \Staff \consists "Timing_translator" } }
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Notation polymétrique ] | [Plus haut: Gravure du rythme ] | [ Gravure de lignes rythmiques > ] |
Découpage automatique des notes
On peut convertir automatiquement les notes longues en notes liées. Il
suffit pour cela de remplacer le graveur Note_heads_engraver
par le graveur Completion_heads_engraver
. Il en va de même
pour des silences ; le Completion_rest_engraver
devra
alors remplacer le Rest_engraver
. Dans l’exemple suivant, les
notes ou silences qui dépassent de la mesure sont divisés et au besoin
liés.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" } \relative { c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }
Ces graveurs divisent toutes les notes et silences qui débordent de la mesure, et insèrent des liaisons de prolongation. Dans la pratique, cette fonctionnalité permet de déboguer des partitions complexes : si les mesures ne sont pas entièrement remplies, alors les liaisons de prolongation montrent exactement la durée des décalages de mesure.
La propriété completionUnit
détermine la durée de référence pour
diviser les notes.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 9/8 g\breve. d''4. \bar "||" \set completionUnit = #(ly:make-moment 3 8) g\breve. d4. }
Ces graveurs découperont les notes de durée altérée, telles celles d’un triolet, en notes ayant le même facteur d’échelle que les otes saisies.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 2/4 r4 \tuplet 3/2 {g'4 a b} \scaleDurations 2/3 {g a b} g4*2/3 a b \tuplet 3/2 {g4 a b} r4 }
Voir aussi
Glossaire musicologique : liaison de tenue.
Manuel d’initiation : Ajout et suppression de graveurs, Tout savoir sur les graveurs.
Morceaux choisis : Rythme.
Références des propriétés internes : Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver.
Problèmes connus et avertissements
Pour rester cohérent avec le comportement précédent, les notes ou
silences d’une durée supérieure à la mesure, comme un c1*2
,
seront divisés sans être mis à l’échelle – on aura donc
{ c1 c1 }
. La propriété completionFactor
, qui contrôle
ce comportement, peut être désactivée (valorisée à #f
) pour
autoriser les notes ou silences divisés à adopter le facteur d’échelle
des durées saisies.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Découpage automatique des notes ] | [Plus haut: Gravure du rythme ] | [ Barres de ligature > ] |
Gravure de lignes rythmiques
Au moyen d’une portée rythmique – rhythmic staff en anglais – on peut montrer seulement le rythme d’une mélodie : toutes les notes sont ramenées à la même hauteur, sur une portée d’une seule ligne.
<< \new RhythmicStaff { \new Voice = "myRhythm" \relative { \time 4/4 c'4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >>
L’utilisation combinée du Pitch_squash_engraver
et de
\improvisationOn
permet d’afficher la structure rythmique d’une
grille d’accords :
<< \new ChordNames { \chordmode { c1 f g c } } \new Voice \with { \consists "Pitch_squash_engraver" } \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } >>
Une musique comportant des accords peut s’utiliser dans un
RhythmicStaff
, et avec lePitch_squash_engraver
, dès
lors que les accords sont auparavant réduits en notes uniques à
l’aide de la fonction musicale \reduceChords
:
\new RhythmicStaff { \time 4/4 \reduceChords { <c>2 <e>2 <c e g>2 <c e g>4 <c e g>4 } }
Commandes prédéfinies
\improvisationOn
,
\improvisationOff
.
Morceaux choisis
Rythmique et guitare
En matière de notation pour guitare, il arrive que soient indiqués les « coups de gratte » en plus de la mélodie, grilles d’accords et diagrammes de tablature.
\include "predefined-guitar-fretboards.ly" << \new ChordNames { \chordmode { c1 | f | g | c } } \new FretBoards { \chordmode { c1 | f | g | c } } \new Voice \with { \consists "Pitch_squash_engraver" } { \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } } \new Voice = "melody" { \relative c'' { c2 e4 e4 f2. r4 g2. a4 e4 c2. } } \new Lyrics { \lyricsto "melody" { This is my song. I like to sing. } } >>
Voir aussi
Morceaux choisis : Rythme.
Référence des propriétés internes : RhythmicStaff. Pitch_squash_engraver.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Gravure de lignes rythmiques ] | [Plus haut: Rythme ] | [ Barres de ligature automatiques > ] |
1.2.4 Barres de ligature
Barres de ligature automatiques | ||
Définition des règles de ligature automatique | ||
Barres de ligature manuelles | ||
Liens de croches en soufflet |
Barres de ligature automatiques
LilyPond décide automatiquement de la manière de grouper les notes et d’imprimer les ligatures.
\relative c'' { \time 2/4 c8 c c c \time 6/8 c8 c c c8. c16 c8 }
Lorsque ce comportement automatisé n’est pas satisfaisant, on peut définir des groupements manuellement – voir Barres de ligature manuelles. Dans le cas où le groupe de notes en question contient un silence, il est impératif d’indiquer explicitement les début et fin de la ligature.
Lorsque les ligatures automatiques ne sont pas nécessaires, il suffit de
désactiver la fonctionnalité par un \autoBeamOff
– réactivation
par \autoBeamOn
:
\relative c' { c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8 }
Note : Si des ligatures sont utilisées dans les paroles d’une chanson
(pour indiquer des mélismes), les ligatures automatiques doivent être
désactivées, avec \autoBeamOff
, et indiquées manuellement.
L’utilisation conjointe de \partCombine
et de
\autoBeamOff
peut produire des résultats quelque peu
surprenants ; ceci fait l’objet d’un exemple particulier à la
rubrique morceaux choisis.
Des règles de dérogation au comportement automatique par défaut sont possibles ; voir Définition des règles de ligature automatique.
Commandes prédéfinies
\autoBeamOff
,
\autoBeamOn
.
Morceaux choisis
Ligature au moment d’un saut de ligne
Il est normalement impensable qu’un saut de ligne tombe au milieu d’une ligature. LilyPond permet néanmoins de l’obtenir.
\relative c'' { \override Beam.breakable = ##t c8 c[ c] c[ c] c[ c] c[ \break c8] c[ c] c[ c] c[ c] c }
Ligature et directions de hampe inversées
LilyPond insère automatiquement des ligatures coudées – certaines
hampes vers le haut, d’autres vers le bas – lorsqu’il détecte un
intervalle important entre des têtes de notes. Ce comportement peut
être changé par l’intermédiaire de l’objet auto-knee-gap
–
défini par défaut à 5,5 espaces, plus la largeur et la pente de la
ligature en question.
{ f8 f''8 f8 f''8 \override Beam.auto-knee-gap = #6 f8 f''8 f8 f''8 }
PartCombine et autoBeamOff
La fonction \autoBeamOff
dans le cadre d’un \partCombine
agit de façon bien particulière ; c’est pourquoi il vaut mieux tout
d’abord recourir à
\set Staff.autobeaming = ##f
pour désactiver les ligatures automatiques pour l’ensemble de la portée concernée.
L’instruction \partCombine
fonctionne apparemment sur la base de
trois voix : solo hampes montantes, solo hampes descendantes et ensemble
hampes montantes.
Lorsque \autoBeamOff
apparaît dans le premier argument de la
combinaison, il s’applique à la voix active à ce moment précis, qu’il
s’agisse du solo hampes montantes ou du combiné hampes montantes.
Lorsqu’elle est introduite dans le second argument, la commande
\autoBeamOff
s’appliquera au solo hampes descendantes.
Vous devrez donc, afin que \autoBeamOff
soit pleinement
opérationnel dans le cadre d’un \partCombine
, l’introduire aux
trois niveaux.
{ %\set Staff.autoBeaming = ##f % turns off all autobeaming \partCombine { \autoBeamOff % applies to split up stems \repeat unfold 4 a'16 %\autoBeamOff % applies to combined up stems \repeat unfold 4 a'8 \repeat unfold 4 a'16 } { \autoBeamOff % applies to down stems \repeat unfold 4 f'8 \repeat unfold 8 f'16 | } }
Voir aussi
Manuel de notation : Barres de ligature manuelles, Définition des règles de ligature automatique.
Fichiers d’initialisation : ‘scm/auto-beam.scm’.
Morceaux choisis : Rythme.
Références des propriétés internes : Auto_beam_engraver, Beam_engraver, Beam. BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface.
Problèmes connus et avertissements
Les propriétés d’une ligature sont déterminées dès le début de sa construction ; toute adaptation qui interviendrait avant sa terminaison ne sera prise en compte qu’à l’occasion de la prochaine ligature.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Barres de ligature automatiques ] | [Plus haut: Barres de ligature ] | [ Barres de ligature manuelles > ] |
Définition des règles de ligature automatique
Lorsque la fonction de ligature automatique est active, le
positionnement des ligatures dépend des trois propriétés
baseMoment
, beatStructure
et beamExceptions
.
Les valeurs par défaut de ces variables peuvent s’adapter, comme indiqué
ci-après, ou bien carrément être modifiées – voir Métrique.
Dès lors qu’une règle affectant beamExceptions
est définie pour
la métrique en vigueur, c’est cette règle qui servira à déterminer le
placement des ligatures, ignorant les valeurs de baseMoment
et
beatStructure
.
En l’absence de règle affectant beamExceptions
pour la métrique
en vigueur, les ligatures seront déterminées par les réglages conjoints
de baseMoment
et beatStructure
.
Ligature basée sur baseMoment
et beatStructure
beamExceptions
dispose par défaut de règles pour les métriques
les plus courantes ; il est donc impératif de les invalider pour gérer
les ligatures automatiques à l’aide de baseMoment
et
beatStructure
. Les règles de beamExceptions
se
désactivent par un
\set Timing.beamExceptions = #'()
Lorsque beamExceptions
est défini à #'()
, que ce soit
explicitement ou en raison de l’absence de règles par défaut de
beamExceptions
pour la métrique en vigueur, la terminaison des
ligatures est directement liée à la pulsation telle que spécifiée par
les propriétés baseMoment
et beatStructure
. La propriété
beatStructure
est constituée d’une liste d’éléments Scheme qui
définit la longueur de chaque pulsation, prenant baseMoment
comme
unité. L’unité de base (le baseMoment
) correspond par défaut à
l’inverse du dénominateur de la métrique. D’autre part, chaque unité de
baseMoment
constitue par défaut une seule pulsation.
Notez bien la présence de valeurs distinctes de beatStructure
et
baseMoment
pour chaque métrique. Toute modification de ces
variables ne s’applique qu’à la métrique alors en vigueur, raison pour
laquelle elles doivent se placer à la suite de la commande \time
qui entame un fragment ayant une nouvelle métrique, non au préalable.
Les nouvelles valeurs affectées à une métrique particulière resteront en
vigueur et ré-instaurées si cette métrique réapparaît plus tard.
\relative c'' { \time 5/16 c16^"default" c c c c | % beamExceptions are unlikely to be defined for 5/16 time, % but let's disable them anyway to be sure \set Timing.beamExceptions = #'() \set Timing.beatStructure = 2,3 c16^"(2+3)" c c c c | \set Timing.beatStructure = 3,2 c16^"(3+2)" c c c c | }
\relative { \time 4/4 a'8^"default" a a a a a a a % Disable beamExceptions because they are definitely % defined for 4/4 time \set Timing.beamExceptions = #'() \set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a }
Les effets de règles de ligature peuvent être restreints à un contexte particulier. En l’absence de règle particulière déterminée dans un contexte de niveau inférieur, les règles définies au niveau directement supérieur s’appliqueront.
\new Staff { \time 7/8 % No need to disable beamExceptions % as they are not defined for 7/8 time \set Staff.beatStructure = 2,3,2 << \new Voice = one { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 f f f f f f } } >> }
Lorsque plusieurs voix cohabitent sur une même portée et que les règles
de ligature doivent s’appliquer sans distinction, il faut spécifier que
ces règles affectent le contexte Staff
:
\time 7/8 % rhythm 3-1-1-2 % Change applied to Voice by default -- does not work correctly % Because of autogenerated voices, all beating will % be at baseMoment (1 . 8) \set beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % Works correctly with context Staff specified \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
Vous pouvez ajuster la valeur de baseMoment
afin d’obtenir des
ligatures selon vos besoin. Notez cependant que la valeur de
beatStructure
devra être en corrélation avec cette nouvelle
valeur de baseMoment
.
\time 5/8 % No need to disable beamExceptions % as they are not defined for 5/8 time \set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = 7,3 \repeat unfold 10 { a'16 }
baseMoment
constitue un moment, autrement dit une unité
de durée musicale. La fonction Scheme ly:make-moment
est tout
particulièrement chargée de créer cette quantité de type moment –
voir Gestion du temps pour plus de précisions.
La pulsation – baseMoment en anglais – découle directement de
la métrique telle que définie par la commande \time
. Elle est
par défaut égale à un sur le dénominateur de la métrique. Les
exceptions à cette règle par défaut sont répertoriées dans le fichier
‘scm/time-signature-settings.scm’. Pour savoir comment jouer avec
la valeur de baseMoment
selon la métrique, reportez vous au
chapitre Métrique.
Les règles de ligature et de subdivision spécifiques sont enregistrées
dans la propriété beamExceptions
. Ses valeurs par défaut,
rangées par métrique et type de règle, sont répertoriées dans le
fichier ‘scm/time-signature-settings.scm’.
Ligature basée sur beamExceptions
Les règles spécifiques autres que celles concernant la terminaison des
ligatures sont gérées par la propriété beamExceptions
.
\relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | }
Note : La propriété beamExceptions
doit répertorier absolument
toutes les exceptions. Il n’est en effet pas possible d’en
ajouter, modifier ou supprimer a posteriori. Cela peut paraître
fastidieux, mais toutes les règles de ligature devraient être appréciées
avant de les spécifier.
Lorsqu’intervient un changement de métrique, les valeurs par défaut de
Timing.baseMoment
, Timing.beatStructure
et
Timing.beamExceptions
sont réinitialisées. Il suffit donc, pour
revenir aux règles de ligature par défaut d’un contexte Timing
,
de spécifier à nouveau la métrique.
\relative a' { \time 6/8 \repeat unfold 6 { a8 } % group (4 + 2) \set Timing.beatStructure = 4,2 \repeat unfold 6 { a8 } % go back to default behavior \time 6/8 \repeat unfold 6 { a8 } }
Les règles de ligature automatique par défaut sont répertoriées, par métrique, dans le fichier ‘scm/time-signature-settings.scm’. Les manières de déroger à ce comportement sont abordées au chapitre Métrique.
De nombreuses règles de ligature automatique comportent une clé
beamExceptions
. Par exemple, s’il n’y a que des croches dans une
mesure à 4/4, celles-ci seront réparties en deux groupes. Le fait de ne
pas réinitialiser beamExceptions
lors d’un aménagement de la
pulsation – l’élément beatStructure
– empêchera l’application
de cette dérogation.
\time 4/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = 3,3,2 % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c''8} | % This will beam (3 3 2) because we clear beamExceptions \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8}
De la même manière, les croches d’une mesure à 3/4 sont ligaturées sur
la mesure par défaut. Ligaturer sur le temps requiert un appel à
beamExceptions
.
\time 3/4 % by default we beam in (6) due to beamExceptions \repeat unfold 6 {a'8} | % This will beam (1 1 1) due to default baseMoment and beatStructure \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8}
Certaines partitions des périodes romantique ou classique font
apparaître des ligatures sur la moitié d’une mesure à 3/4 (ou à 3/8),
ce qui va à l’encontre de la règle établie – comme le fait remarquer
Gould à la page 153 de son ouvrage – puisque donne l’impression d’une
mesure à 6/8. Il en va de même pour une mesure à 3/8. La reproduction
d’un tel comportement se contrôle à l’aide de la propriété de contexte
beamHalfMeasure
, qui d’ailleurs ne sera effective que lorsque le
numérateur de la métrique est un 3.
\relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | }
Principes de la ligature automatique
Lorsqu’elle est activée, la gestion automatisée des ligatures est
directement liée aux propriétés baseMoment
, beatStructure
et beamExceptions
.
Les règles déterminant le positionnement des ligatures automatiques s’appliquent dans l’ordre suivant de priorité :
-
une ligature explicite – indiquée par
[…]
– sera toujours respectée ; sinon -
si une règle explicite de terminaison a été définie grâce à la propriété
beamExceptions
pour un type de ligature spécifique dans la métrique en cours, c’est elle qui s’appliquera ; sinon -
si une règle explicite de terminaison a été définie grâce à la propriété
beamExceptions
pour un type de ligature plus large, c’est elle qui s’appliquera ; sinon -
utilisation des valeurs de
baseMoment
etbeatStructure
pour regrouper les notes par des ligatures.
Le type de ligature correspond à la durée la plus courte dans le groupe.
Les règles de ligature par défaut sont répertoriées dans le fichier ‘scm/time-signature-settings.scm’.
Morceaux choisis
Subdivision des ligatures
Les ligatures d’une succession de notes de durée inférieure à la croche
ne sont pas subdivisées par défaut. Autrement dit, tous les traits de
ligature (deux ou plus) seront continus. Ce comportement peut être
modifié afin de diviser la ligature en sous-groupes grâce à la propriété
subdivideBeams
. Lorsqu’elle est activée, les ligatures seront
subdivisées selon un intervalle défini par baseMoment
; il n’y
aura alors plus que le nombre de traits de ligature déterminé entre
chaque sous-groupe. Si le groupe qui suit la division est plus court que
la valeur pour la métrique en cours – généralement lorsque la ligature
est incomplète –, le nombre de traits de ligature correspond au
regroupement de la bubdivision la plus longue. Cette restriction ne sera
toutefois pas appliquée dans le cas où ne reste qu’une note après la
division. Par défaut, baseMoment
fixe la valeur de référence par
rapport à la métrique en vigueur. Il faudra donc lui fournir, à l’aide
de la fonction ly:make-moment
, une fraction correspondant à la
durée du sous-groupe désiré comme dans l’exemple ci-dessous. Gardez à
l’esprit que, si vous venez à modifier baseMoment
, vous devrez
probablement adapter beatStrusture
afin qu’il reste en adéquation
avec les nouvelles valeurs de baseMoment
.
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set beam sub-group length to an eighth note \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = 4,4,4,4 c32[ c c c c c c c] % Shorten beam by 1/32 \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c c c] r32 % Shorten beam by 3/32 \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c] r16. r2 }
Ligature à la pulsation
Une sous-ligature tronquée peut pointer en direction de la pulsation à laquelle elle se rattache. Dans l’exemple suivant, la première ligature évite toute troncature (comportement par défaut), alors que la deuxième respecte rigoureusement la pulsation.
\relative c'' { \time 6/8 a8. a16 a a \set strictBeatBeaming = ##t a8. a16 a a }
Signes de direction, signes de sous-groupe
Les règles de ligature par mesure sont gérées par la propriété de
contexte beatStructure
. Ses valeurs par défaut sont répertoriées,
par métrique, dans le fichier scm/time-signature-settings.scm
.
Elles sont modifiables grâce à la commande \set
.
La fonction Scheme set-time-signature
permet quant à elle de
définir à la fois la métrique et la pulsation. Celle-ci prend trois
arguments : le nombre de pulsations, la durée de la pulsation et le
regroupement des pulsations dans la mesure. \time
et
set-time-signature
s’appliquent tous deux au contexte
Timing
; ils ne redéfiniront donc pas les valeurs de
beatStructure
ou baseMoment
lorsqu’elles sont modifiées
dans un contexte de niveau inférieur comme Voice
par exemple.
Si l’on fait appel au Measure_grouping_engraver
, la fonction
set-time-signature
créera aussi des symboles
MeasureGrouping
. Ces symboles aident à la lecture des œuvres
modernes à la rythmique complexe. Dans l’exemple qui suit, la mesure à
9/8 est divisée en 2, 2, 2 et 3, alors que la mesure à 5/8 répond aux
règles par défaut contenues dans le fichier
scm/time-signature-settings.scm
.
\score { \new Voice \relative c'' { \time 9/8 g8 g d d g g a( bes g) | \set Timing.beatStructure = 2,2,2,3 g8 g d d g g a( bes g) | \time 4,5 9/8 g8 g d d g g a( bes g) | \time 5/8 a4. g4 | } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Définition de règles de ligature pour la partition
Les règles de ligature définies au niveau du contexte Score
s’appliqueront à toutes les portées. Il est toutefois possible de
moduler au niveau Staff
ou Voice
:
\relative c'' { \time 5/4 % Set default beaming for all staves \set Score.baseMoment = #(ly:make-moment 1/8) \set Score.beatStructure = 3,4,3 << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \set Staff.beatStructure = 6,4 c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \set Voice.beatStructure = 6,4 a8 a a a a a a a a a } >> } >> }
Voir aussi
Manuel de notation : Métrique.
Fichiers d’initialisation : ‘scm/time-signature-settings.scm’.
Morceaux choisis : Rythme.
Référence des propriétés internes : Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface.
Problèmes connus et avertissements
Si une partition se termine alors qu’une ligature automatique est restée
inachevée, cette dernière ligature ne sera pas imprimée du tout. C’est
également valable dans le cas d’une musique polyphonique saisie avec la
syntaxe << … \\ … >>
, où une voix se terminerait
sans que la dernière ligature ne soit achevée. Le plus simple, en
pareil cas, est de spécifier manuellement les dernières ligatures.
Le traducteur Timing
est par défaut affecté au contexte
Score
. Définir la métrique dans une portée aura donc des effets
sur les ligatures de toutes les autres. Par voie de conséquence, la
définition de la métrique apparaissant dans une autre portée annulera
les aménagements précédemment apportés aux règles de ligature. Il est
donc préférable, pour éviter tout désagrément, de ne spécifier la
métrique que dans une seule portée.
<< \new Staff { \time 3/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >>
Vous pouvez adapter les règles de ligature par défaut pour une métrique particulière de telle sorte que ces règles que vous aurez définies soient toujours prises en compte. La modification des règles de ligature automatiques est abordée au chapitre Métrique.
<< \new Staff { \overrideTimeSignatureSettings 3/4 % timeSignatureFraction 1/8 % baseMomentFraction 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >>
Barres de ligature manuelles
Dans certaines situations, il peut s’avérer nécessaire de supplanter
l’algorithme de regroupement automatique des notes, par exemple pour
prolonger une ligature par-dessus un silence ou une barre de mesure, ou
bien pour suivre le rythme des paroles plutôt que celui des notes. Le
début et la fin de la ligature sont alors indiqués respectivement par
[
et ]
.
r4 r8[ g' a r] r8 g[ | a] r
Le positionnement des ligatures manuelles se détermine comme pour toute indication attachée à une note :
\relative { c''8^[ d e] c,_[ d e f g] }
Le fait d’affubler une note particulière d’un \noBeam
aura pour
effet de l’empêcher d’être ligaturée :
\relative { \time 2/4 c''8 c\noBeam c c }
Notes d’ornement et normales font l’objet d’un traitement distinct. Il est dont possible de ligaturer ou non des notes d’ornement sans gêner ce qui est en place au niveau de la notation normale.
\relative { c''4 d8[ \grace { e32 d c d } e8] e[ e \grace { f16 } e8 e] }
LilyPond peut déterminer automatiquement les sous-groupes à l’intérieur
d’un groupement de notes, bien que le résultat ne soit pas toujours
optimal. Les propriétés stemLeftBeamCount
et
stemRightBeamCount
permettent alors d’ajuster ce comportement.
Lorsque l’une ou l’autre de ces propriétés est définie, elle ne
s’applique qu’une seule fois, après quoi sa définition est effacée.
Dans l’exemple qui suit, le dernier fa
n’a de ligature
supplémentaire que sur sa gauche ; autrement dit, c’est la ligature
à la croche qui est importante.
\relative a' { a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f16 \set stemLeftBeamCount = #1 g16 a] }
Commandes prédéfinies
\noBeam
.
Morceaux choisis
Crochet rectiligne et débordement de ligature
En combinant stemLeftBeamCount
, stemRightBeamCount
et des
paires de []
, vous pourrez obtenir des crochets rectilignes et
des ligatures qui débordent à leurs extrémités.
Pour des crochets rectilignes à droite sur des notes isolées, il suffit
d’ajouter une paire d’indicateurs de ligature []
et de déterminer
stemLeftBeamCount
à zéro, comme dans l’exemple 1.
Pour des crochets rectiligne à gauche, c’est stemRightBeamCount
qu’il faudra déterminer (exemple 2).
Pour que les barres de ligature débordent sur la droite,
stemRightBeamCount
doit avoir une valeur positive ; pour un
débordement à gauche, c’est sur stemLeftBeamCount
qu’il faut
jouer. Tout ceci est illustré par l’exemple 3.
Il est parfois judicieux, lorsqu’une note est encadrée de silences, de
l’affubler de crochets rectilignes de part et d’autre. L’exemple 4
montre qu’il suffit d’adjoindre à cette note un []
.
(Notez bien que \set stemLeftBeamCount
sera toujours
synonyme de \once \set
. Autrement dit, la détermination
des ligatures n’est pas « permanente » ; c’est la raison pour
laquelle les crochets du 16[]
isolé du dernier exemple n’ont
rien à voir avec le \set
indiqué deux notes auparavant.)
\score { << % Example 1 \new RhythmicStaff { \set stemLeftBeamCount = #0 c16[] r8. } % Example 2 \new RhythmicStaff { r8. \set stemRightBeamCount = #0 16[] } % Example 3 \new RhythmicStaff { 16 16 \set stemRightBeamCount = #2 16 r r \set stemLeftBeamCount = #2 16 16 16 } % Example 4 \new RhythmicStaff { 16 16 \set stemRightBeamCount = #2 16 r16 16[] r16 \set stemLeftBeamCount = #2 16 16 } >> }
Voir aussi
Manuel de notation : Direction et positionnement, Notes d’ornement.
Morceaux choisis : Rythme.
Référence des propriétés internes : Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Barres de ligature manuelles ] | [Plus haut: Barres de ligature ] | [ Mesures > ] |
Liens de croches en soufflet
Les ligatures en soufflet permettent d’indiquer qu’un petit groupe de
notes se joue en accélérant ou en ralentissant sans pour autant
modifier le tempo du morceau. L’étendue du soufflet s’indique par
[
et ]
; son orientation est déterminée par la propriété
grow-direction
de l’objet Beam
.
Lorsque la sortie MIDI doit refléter les ritardando ou
accelerando indiqués par une ligature en soufflet, les notes
qui la composent doivent être regroupées dans une expression musicale
délimitée par des accolades, précédée de la commande
\featherDurations
. Cette commande détermine le ratio entre les
durées des premières et dernières notes du groupe en question.
Les crochets indiquent l’étendue de la ligature et les accolades les notes concernées par une modification de leur durée. Il s’agit en général du même groupe de notes, mais les deux commandes sont indépendantes l’une de l’autre.
Dans l’exemple ci-après, les huit doubles croches occupent exactement le même espace qu’une blanche, mais la première est moitié moins longue que la dernière et celles qui les séparent s’allongent peu à peu. Les quatre triples croches qui suivent vont s’accélérant, alors que les quatre dernières gardent un tempo régulier.
\relative c' { \override Beam.grow-direction = #LEFT \featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT \featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() { g32[ a b c] } }
Si le résultat imprimable ne reflète les durées que de manière approximative, la sortie MIDI sera quant à elle parfaitement « ponctuelle ».
Commandes prédéfinies
\featherDurations
.
Voir aussi
Morceaux choisis : Rythme.
Problèmes connus et avertissements
La commande \featherDurations
ne permet de traiter que de très
courts extraits, avec une faible amplitude.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Liens de croches en soufflet ] | [Plus haut: Rythme ] | [ Barres de mesure > ] |
1.2.5 Mesures
Barres de mesure | ||
Numéros de mesure | ||
Vérification des limites et numéros de mesure | ||
Indications de repère |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Mesures ] | [Plus haut: Mesures ] | [ Numéros de mesure > ] |
Barres de mesure
Les barres de mesures délimitent les mesures, mais peuvent aussi indiquer une reprise. En principe, elles sont insérées automatiquement en respectant la métrique en vigueur.
Il est possible de forcer l’impression d’une barre de mesure spéciale,
avec la commande \bar
– c’est d’ailleurs l’habitude en fin de
morceau, où l’on voit une double barre :
\relative { e'4 d c2 \bar "|." }
Rien ne s’oppose à ce que la dernière note d’une mesure ne s’arrête avant la barre de mesure ; on considère simplement qu’elle se prolonge sur la mesure suivante. Des débordements à répétition finissent par générer une musique comprimée ou qui sort de la page, pour la simple et bonne raison que les sauts de ligne automatiques ne peuvent intervenir qu’à la fin d’une mesure complète, autrement dit lorsque toutes les notes sont terminées avant la fin de la mesure.
Note : Une durée erronée peut empêcher les sauts de ligne, ce qui conduit à une musique compressée, voire à un débordement de la page.
Il est possible d’autoriser un saut de ligne même s’il n’y a pas de barre de mesure visible, en utilisant :
\bar ""
Ceci insérera une barre de mesure invisible, et permettra – sans pour autant le forcer – de sauter de ligne à cet endroit, sans incrémenter le numéro de mesure. Pour forcer le saut de ligne, référez vous à Sauts de ligne.
Cette barre invisible, ainsi que d’autres barres spéciales, peuvent être insérées manuellement n’importe où. Lorsqu’elles coïncident avec la fin d’une mesure, elles remplacent la simple barre que LilyPond aurait insérée automatiquement. Dans le cas contraire, la barre spécifiée s’insérera là où vous l’aurez positionnée.
Ces insertions n’affectent en rien le calcul du positionnement
automatique des barres de mesure à suivre ni les propriétés y afférentes
– numérotation, altérations accidentelles, sauts de ligne…
Lorsqu’une barre manuelle est insérée à l’endroit où viendrait se placer
une barre normale, seul l’effet visuel en sera modifié.
Vous disposez de deux types de barres simples et de cinq différentes doubles barres :
\relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 }
ainsi que d’une barre en pointillé et d’une discontinue :
\relative { f'1 \bar ";" g1 \bar "!" a1 }
et de neuf types de barre de reprise :
\relative { f'1 \bar ".|:" g1 \bar ":..:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":.|.:" d1 \bar "[|:" e1 \bar ":|][|:" f1 \bar ":|]" g1 \bar ":|." a1 }
De plus, une barre de mesure peut s’imprimer sous la forme d’une coche :
f'1 \bar "'" g'1
On rencontre habituellement ces signes dans le chant grégorien ; nous
vous invitons dans ce cadre particulier à plutôt utiliser
\divisioMinima
, comme indiqué au paragraphe Divisions du
chapitre consacré au grégorien.
LilyPond prend en charge la notation kiévienne, qui dispose d’une barre de mesure spécifique :
f'1 \bar "k"
De plus amples détails quant à cette forme de notation sont fournis à la rubrique Typographie de notation kiévienne.
L’insertion d’un segno directement sur la portée s’obtient à l’aide de trois types de barre de mesure, comme indiqué ci-dessous :
\relative c'' { c4 c c c \bar "S" c4 c c c \break \bar "S" c4 c c c \bar "S-|" c4 c c c \break \bar "S-|" c4 c c c \bar "S-S" c4 c c c \break \bar "S-S" c1 }
Bien que l’on puisse insérer des barres de reprise manuellement, LilyPond n’en déduira pas pour autant qu’il s’agit d’un passage à répéter. Il est préférable d’indiquer les passages répétés à l’aide des différentes commandes de reprise (voir Répétitions et reprises) qui se chargeront d’imprimer le type de barre approprié.
Dans les faits, un ".|:-||"
équivaut à un ".|:"
sauf s’il
intervient à un saut de ligne : une double barre sera alors
imprimée en fin de portée, et la barre de reprise au début de la
nouvelle.
\relative c'' { c4 c c c \bar ".|:-||" c4 c c c \break \bar ".|:-||" c4 c c c }
LilyPond dispose de six différents moyens de combiner une barre de reprise avec un segno :
\relative c'' { c4 c c c \bar ":|.S" c4 c c c \break \bar ":|.S" c4 c c c \bar ":|.S-S" c4 c c c \break \bar ":|.S-S" c4 c c c \bar "S.|:-S" c4 c c c \break \bar "S.|:-S" c4 c c c \bar "S.|:" c4 c c c \break \bar "S.|:" c4 c c c \bar ":|.S.|:" c4 c c c \break \bar ":|.S.|:" c4 c c c \bar ":|.S.|:-S" c4 c c c \break \bar ":|.S.|:-S" c1 }
Par ailleurs, la commande \inStaffSegno
crée une barre de mesure
surmontée d’un segno, et sait coopérer avec l’instruction
\repeat volta
– voir Répétitions courantes.
L’instruction \defineBarLine
permet de définir ses propres
types de barre de mesure, en respectant la syntaxe :
\defineBarLine type_de_barre #'(fin début extension)
Au-delà de type_de_barre (la chaîne de caractères qui sera utilisée pour faire appel à cette nouvelle barre), cette instruction prend trois valeurs : les deux premières déterminent l’apparence de la barre lorsqu’elle intervient sur un saut de ligne, auquel cas les premier et second glyphes indiqués s’imprimeront respectivement à la fin du système et au début du suivant. Le troisième glyphe indiqué n’est utile que dans le cas d’un système à plusieurs portées (voir Regroupement de portées) où il apparaîtra en tant qu’extension entre les portées.
Les variables fournies à \defineBarline
peuvent inclure la chaîne
vide ""
qui correspond à une barre invisible, ou bien être
valorisées à #f
– ce qui aura pour effet de n’imprimer aucune
barre.
Une fois la définition explicitée, la nouvelle barre s’utilise à
l’aide de \bar
type_de_barre.
Sont à ce jour disponibles dix éléments différents :
\defineBarLine ":" #'("" ":" "") \defineBarLine "=" #'("=" "" "") \defineBarLine "[" #'("" "[" "") \defineBarLine "]" #'("]" "" "") \new Staff { s1 \bar "|" s1 \bar "." s1 \bar "!" s1 \bar ";" s1 \bar ":" s1 \bar "k" s1 \bar "S" s1 \bar "=" s1 \bar "[" s1 \bar "]" s1 \bar "" }
Le type "="
fournit un double trait destiné à être utilisé
en combinaison avec un segno. Nous vous recommandons de
lui préférer \bar
"||" pour imprimer une simple
double barre fine.
Le signe "-"
permet d’annoter un type de barre de mesure
pour le distinguer lorsqu’il en existe plusieurs ayant la même
apparence mais au comportement différent en fin de ligne ou en
matière d’extension. Ce qui suit le "-"
n’est d’aucune
utilité dans la construction de la barre.
\defineBarLine "||-dashedSpan" #'("||" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-dashedSpan" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Par ailleurs, le caractère espace " "
permer de préserver
de l’espace et ainsi aligner correctement les différents tronçons
d’une barre d’un seul tenant entre les portées d’un système :
\defineBarLine ":|.-wrong" #'(":|." "" "|.") \defineBarLine ":|.-right" #'(":|." "" " |.") \new StaffGroup << \new Staff \relative c'' { c1 \bar ":|.-wrong" c1 \bar ":|.-right" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Un nouveau type de barre de mesure défini à l’aide de
\defineBarLine
peut même, à son tour, s’utiliser dans la
définition d’un autre. Une telle définition « imbriquée » autorise le
recours à des glyphes personnalisés là où ce ne serait en principe pas
possible, comme en fin de système :
\defineBarLine "||-dashEverywhere" #'("!!" "!!" "!!") \defineBarLine "||-advancedDashSpan" #'("||-dashEverywhere" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-advancedDashSpan" c1 \bar "||-advancedDashSpan" } \new Staff \relative c'' { c1 c1 c1 } >>
Si d’autres éléments étaient nécessaires, LilyPond dispose de moyens aisés pour les définir. Pour de plus amples informations quant à la manière de modifier ou ajouter des barres de mesure, consultez le fichier ‘scm/bar-line.scm’.
Dans une partition comprenant plusieurs portées, la commande \bar
placée sur une portée s’applique automatiquement à toutes les portées.
Les barres de mesure que l’on obtient alors sont d’un seul tenant sur
les portées d’un StaffGroup
, d’un PianoStaff
ou d’un
GrandStaff
.
<< \new StaffGroup << \new Staff \relative { e'4 d \bar "||" f4 e } \new Staff \relative { \clef bass c'4 g e g } >> \new Staff \relative { \clef bass c'2 c2 } >>
La commande ‘\bar type_de_barre’ sert de raccourci pour
‘\set Timing.whichBar = type_de_barre’. Dès que l’on définit
whichBar
, une barre de mesure est créée selon le style défini.
Le type de barre de mesure par défaut utilisé pour l’insertion
automatique est "|"
. Vous pouvez en changer à tout moment grâce
à ‘\set Timing.defaultBarType = type_de_barre’.
Voir aussi
Manuel de notation : Regroupement de portées, Répétitions et reprises, Sauts de ligne.
Fichiers d’initialisation : ‘scm/bar-line.scm’.
Morceaux choisis : Rythme.
Référence des propriétés internes :
BarLine (faisant partie du contexte Staff
),
SpanBar (sur plusieurs portées),
Timing_translator (pour les propriétés liées au temps).
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Barres de mesure ] | [Plus haut: Mesures ] | [ Vérification des limites et numéros de mesure > ] |
Numéros de mesure
Les numéros de mesure sont imprimés par défaut à chaque début de
ligne, sauf la première. Ce nombre est stocké par la propriété
currentBarNumber
qui sera mise à jour à chaque mesure. Vous
pouvez aussi le définir de manière arbitraire :
\relative c' { c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c }
Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu’en tête de chaque ligne. Pour y arriver, il faudra dans un premier
temps annuler le comportement par défaut afin que les numéros puissent
être imprimés ailleurs qu’en début de ligne. Tout ceci est contrôlé par
la propriété break-visibility
du BarNumber
. Elle se
compose de trois commutateurs – définis à « vrai » (#t
) ou
« faux » (#f
) – pour spécifier si le numéro de mesure est
visible ou non. Les valeurs sont rangées dans l’ordre suivant :
visible en fin de ligne
, visible en cours de ligne
et
visible en début de ligne
. Voici comment imprimer partout les
numéros de mesure :
\relative c' { \override Score.BarNumber.break-visibility = ##(#t #t #t) \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" c1 | c | c | c | \break c1 | c | c | c | }
Morceaux choisis
Afficher le numéro de la première mesure
Par défaut, LilyPond n’affiche pas le premier numéro de mesure s’il est
inférieur à 2. Le fait de définir barNumberVisibility
à
all-bar-numbers-visible
vous permettra d’imprimer n’importe quel
numéro pour la première mesure. Notez que l’impression d’un numéro
de mesure ne peut intervenir que s’il y a une barre. Aussi, pour
pouvoir le faire au début d’un morceau, devrez-vous ajouter une barre
vide avant la première note.
\layout { indent = 0 ragged-right = ##t } \relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible \bar "" c1 | d | e | f \break g1 | e | d | c }
Imprimer les numéros de mesure à intervalle régulier
Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu’en tête de chaque ligne seulement, en recourant à la propriété
barNumberVisibility
. Voici comment afficher le numéro toutes les
deux mesures sauf en fin de ligne.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c | c | c | c \break c1 | c | c | c | c }
Changement de la fréquence d’impression du numéro de mesure
La fonction de contexte set-bar-number-visibility
permet de
modifier la fréquence à laquelle les numéros de mesures s’impriment.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \context Score \applyContext #(set-bar-number-visibility 4) \repeat unfold 10 c'1 \context Score \applyContext #(set-bar-number-visibility 2) \repeat unfold 10 c }
Inscrire le numéro de mesure dans un cadre ou un cercle
Les numéros de mesure peuvent être encadrés ou entourés d’un cercle.
\relative c' { % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4) % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Draw a box round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \repeat unfold 5 { c1 } % Draw a circle round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \repeat unfold 4 { c1 } \bar "|." }
Numérotation des mesures et alternatives
Deux méthodes alternatives vous permettent de gérer la numérotation des mesures en cas de reprises.
\relative c'{ \set Score.alternativeNumberingStyle = #'numbers \repeat volta 3 { c4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 \break \set Score.alternativeNumberingStyle = #'numbers-with-letters \repeat volta 3 { c,4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 }
Alignement des numéros de mesure
Les numéros de mesure s’alignent en principe sur la droite de l’objet dont ils dépendent. C’est normalement le coin gauche de la portée ou, en cours de ligne, à gauche de la barre. Vous pouvez toutefois les centrer par rapport à la barre ou les afficher à droite de la barre.
\relative c' { \set Score.currentBarNumber = #111 \override Score.BarNumber.break-visibility = #all-visible % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c1 % Center-align bar numbers \override Score.BarNumber.self-alignment-X = #CENTER c1 | c1 % Left-align bar numbers \override Score.BarNumber.self-alignment-X = #LEFT c1 | c1 }
Suppression des numéros de mesure d’une partition
Désactiver le graveur concerné – Bar_number_engraver
–
donnera une partition – contexte Score
– sans numéros de
mesure.
\layout { \context { \Score \omit BarNumber % or: %\remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c }
Voir aussi
Morceaux choisis : Rythme.
Référence des propriétés internes : BarNumber, Bar_number_engraver.
Problèmes connus et avertissements
Les numéros de mesure peuvent entrer en collision avec les crochets d’un
StaffGroup. La propriété padding
– décalage
– de l’objet
BarNumber permet alors d’ajuster leur
positionnement.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Numéros de mesure ] | [Plus haut: Mesures ] | [ Indications de repère > ] |
Vérification des limites et numéros de mesure
Les tests de limite de mesure (ou tests de mesure) aident à détecter
les erreurs dans les durées. Un test de mesure s’écrit avec une barre
verticale, |
. Lors du traitement, elle doit correspondre à une
barre de mesure. Sinon, un avertissement est émis qui indique le numéro
de ligne où est détectée l’erreur. Dans l’exemple suivant, le deuxième
test de mesure signale une erreur.
\time 3/4 c2 e4 | g2 |
Des durées incorrectes font échouer les tests de mesure et peuvent souvent mettre la partition sens dessus dessous, particulièrement s’il s’agit de musique polyphonique. Vérifier les tests de mesure qui ont échoué et les durées incorrectes est un bon moyen de commencer à corriger sa partition.
Lorsque plusieurs tests successifs présentent un même décalage, seul le message d’avertissement concernant la première occurrence est affiché. L’origine du problème est de fait plus évidente.
Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
\lyricmode { \time 2/4 Twin -- kle | Twin -- kle }
Notez bien qu’en matière de paroles, le test est effectué à l’instant musical où la syllabe suivant la marque est traitée. Par voie de conséquence, lorsqu’une mesure débute par un silence, il n’y a pas moyen de positionner une syllabe à cet endroit, et LilyPond émettra un avertissement.
Il est aussi possible d’attribuer une autre valeur au symbole |
,
en assignant une expression musicale à "|"
. Dans l’exemple
suivant, le |
servira à insérer une double barre là où il
apparaît, au lieu de simplement vérifier que la fin de la mesure est
atteinte.
"|" = \bar "||" { c'2 c' | c'2 c' c'2 | c' c'2 c' }
Lorsque l’on recopie de longues pièces, il peut être utile de vérifier
que les numéros de mesure de LilyPond correspondent à l’original que
l’on recopie. Cela se fait avec \barNumberCheck
. Par exemple,
\barNumberCheck #123
affiche un avertissement lors du traitement si le numéro de mesure à ce
point (variable currentBarNumber
) n’est pas égal à 123.
Voir aussi
Morceaux choisis : Rythme.
Indications de repère
Indiquer un repère s’obtient grâce à la commande \mark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark \default }
Lorsque vous utilisez \mark \default
, le repère s’incrémente
automatiquement ; toutefois donner un nombre en argument permet de
spécifier manuellement le repère en question. La valeur à utiliser
est enregistrée dans la propriété rehearsalMark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
La lettre I n’est pas utilisée, conformément aux usages de la gravure. Cependant, vous pourrez intégrer la lettre I en utilisant l’une des commandes suivantes selon que ce repère doive être simple, inclus dans un rectangle ou dans un cercle :
\set Score.markFormatter = #format-mark-alphabet \set Score.markFormatter = #format-mark-box-alphabet \set Score.markFormatter = #format-mark-circle-alphabet
\relative c'' { \set Score.markFormatter = #format-mark-box-alphabet c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
Le style de repère est déterminé par la propriété markFormatter
.
Il s’agit d’une fonction qui prend en arguments le repère en cours (un
entier) ainsi que le contexte en cours, et retournera un objet de type
markup. Dans l’exemple qui suit, markFormatter
est réglé
pour une procédure type. Quelques mesures plus loin, son comportement
est modifié pour imprimer un repère encadré.
\relative c'' { \set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1 }
Le fichier ‘scm/translation-functions.scm’ comporte les
définitions de format-mark-letters
(comportement par défaut),
format-mark-box-letters
, format-mark-numbers
et
format-mark-box-numbers
. Vous pouvez vous en inspirer pour
d’autres fonctions de formatage.
format-mark-barnumbers
, format-mark-box-barnumbers
et
format-mark-circle-barnumbers
permettent d’imprimer le numéro
de mesure au lieu des compteurs alphabétique ou numérique.
On peut aussi spécifier manuellement une marque de repère :
\mark "A1"
Score.markFormatter
sera sans effet sur des repères ainsi
définis. Un \markup
peut néanmoins s’utiliser en argument.
\mark \markup { \box A1 }
Un \mark
peut contenir un glyphe musical tel que le signe
segno.
\relative c' { c1 \mark \markup { \musicglyph "scripts.segno" } c1 \mark \markup { \musicglyph "scripts.coda" } c1 \mark \markup { \musicglyph "scripts.ufermata" } c1 }
Pour connaître les différents symboles accessibles par
\musicglyph
, consultez La fonte Emmentaler.
Pour affiner le positionnement des repères, veuillez vous référer à
Mise en forme du texte, et tout particulièrement ce qui concerne
la break-alignable-interface
au chapitre
Alignement des objets.
Les définitions format-mark-numbers
et format-mark-letters
sont inscrites dan le fichier ‘scm/translation-functions.scm’.
Elles seront une source d’inspiration en matière de fonctions de
formatage.
Voir aussi
Manuel de notation : Alignement des objets, La fonte Emmentaler, Mise en forme du texte.
Fichiers d’initialisation : ‘scm/translation-functions.scm’.
Morceaux choisis : Rythme.
Référence des propriétés internes : MarkEvent, Mark_engraver, RehearsalMark.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Indications de repère ] | [Plus haut: Rythme ] | [ Notes d'ornement > ] |
1.2.6 Fonctionnalités rythmiques particulières
Notes d’ornement | ||
Alignement et cadences | ||
Gestion du temps |
Notes d’ornement
Les petites notes sont des ornements entièrement écrits. Leur taille est un peu plus petite que celle des notes normales et elles n’occupent pas de temps dans la mesure.
\relative { c''4 \grace b16 a4( \grace { b16 c16 } a2) }
Les plus courantes sont les acciaccatures, qui doivent se jouer très
vite, et qui s’écrivent sous forme d’une petite note barrée (sur la
hampe) et liée. L’appoggiature est une petite note non barrée, qui vole
une fraction à la durée de la note réelle qui la suit. LilyPond dispose
aussi, grâce à la fonction \slashedGrace
, d’une petite note
barrée et dépourvue de liaison, qui viendra s’insérer entre deux notes
déjà liées.
\relative { \acciaccatura d''8 c4 \appoggiatura e8 d4 \acciaccatura { g16 f } e2 \slashedGrace a,8 g4 \slashedGrace b16 a4( \slashedGrace b8 a2) }
Les petites notes se placent de façon synchrone entre les différentes portées. Dans l’exemple suivant, il y a deux petites double-croches pour chaque petite croche.
<< \new Staff \relative { e''2 \grace { c16 d e f } e2 } \new Staff \relative { c''2 \grace { g8 b } c2 } >>
La commande \afterGrace
sert à placer une petite note après une
note réelle – et non avant comme d’ordinaire. Cette commande
requiert deux arguments : la note réelle, et la ou les petites notes qui
s’y rattachent.
\relative { c''1 \afterGrace d1 { c16[ d] } c1 }
Les petites notes se placent alors après la note réelle. Leur positionnement est déterminé par une fraction de la durée de la note principale. Cette fraction, fixée par défaut à
afterGraceFraction = 3/4
peut être changée en début de fichier. Elle peut aussi se définir à la
suite de la commande afterGraceFraction
.
Dans l’exemple suivant, vous pouvez observer la différence entre le
comportement par défaut, à 15/16
et enfin à la moitié de la durée
de base.
<< \new Staff \relative { c''1 \afterGrace d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 15/16 d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 1/2 d1 { c16[ d] } c1 } >>
Les effets d’une commande \afterGrace
peuvent aussi s’obtenir à
l’aide de silences invisibles. Nous pourrions positionner ces petites
notes à sept huitièmes de la durée de la note de base :
\new Voice \relative { << { d''1^\trill_( } { s2 s4. \grace { c16 d } } >> c1) }
Les expressions \grace
obéissent à des règles typographiques
particulières, notamment en matière d’orientation et de taille des
objets. De ce fait, toute subtilité de mise en forme devra être
indiquée à l’intérieur de l’expression introduite par
\grace
; ces réglages additionnels doivent également être
désactivés dans cette même expression.
\new Voice \relative { \acciaccatura { \stemDown f''16-> \stemNeutral } g4 e c2 }
Morceaux choisis
Utilisation de hampe barrée pour une note normale
Le trait que l’on trouve sur les hampes des acciaccatures peut être appliqué dans d’autres situations.
\relative c'' { \override Flag.stroke-style = #"grace" c8( d2) e8( f4) }
Mise en forme des notes d’ornement
Il est possible de changer globalement la mise en forme des notes
d’ornement dans un morceau, au moyen des fonctions
add-grace-property
et remove-grace-property
.
Ici, par exemple, on ôte la définition de l’orientation des objets
Stem
pour toutes les petites notes, afin que les hampes ne soient
pas toujours orientées vers le haut, et on leur préfère des têtes en
forme de croix.
\relative c'' { \new Staff { $(remove-grace-property 'Voice 'Stem 'direction) $(add-grace-property 'Voice 'NoteHead 'style 'cross) \new Voice { \acciaccatura { f16 } g4 \grace { d16 e } f4 \appoggiatura { f,32 g a } e2 } } }
Redéfinition des réglages de mise en forme par défaut des notes d’ornement
Vous pouvez modifier les valeurs des variables startGraceMusic
,
stopGraceMusic
, startAcciaccaturaMusic
,
stopAcciaccaturaMusic
, startAppoggiaturaMusic
et
stopAppoggiaturaMusic
afin d’en personnaliser les effets. Pour
plus de détails, voir le fichier ‘ly/grace-init.ly’.
startAcciaccaturaMusic = { <>( \override Flag.stroke-style = #"grace" \slurDashed } stopAcciaccaturaMusic = { \revert Flag.stroke-style \slurSolid <>) } \relative c'' { \acciaccatura d8 c1 }
Positionnement des notes d’ornement avec espace flottant
Lorsqu’est activée la propriété strict-grace-spacing
,
l’espacement des notes d’ornement se fera de manière « élastique ».
Autrement dit, elles seront décollées de leur note de rattachement :
LilyPond commence par espacer les notes normales, puis les ornements
sont placés à la gauche de leur note de rattachement.
\relative c'' { << \override Score.SpacingSpanner.strict-grace-spacing = ##t \new Staff \new Voice { \afterGrace c4 { c16[ c8 c16] } c8[ \grace { b16 d } c8] c4 r } \new Staff { c16 c c c c c c c c4 r } >> }
Voir aussi
Glossaire musicologique : ornements, acciaccature, appoggiature.
Manuel de notation : Barres de ligature manuelles, Changement d’échelle des durées.
Fichiers d’initialisation : ‘ly/grace-init.ly’.
Morceaux choisis : Rythme.
Référence des propriétés internes : GraceMusic, Grace_auto_beam_engraver, Grace_beam_engraver, Grace_engraver, Grace_spacing_engraver.
Problèmes connus et avertissements
Un groupe de notes ligaturées constituant une acciaccatura apparaîtra comme une appoggiatura, c’est-à-dire sans trait.
La synchronisation des petites notes se fait de façon parfois surprenante, car les autres objets de la portée – barre de mesure, armure, etc. – sont eux aussi synchrones. Pensez-y lorsque vous mêlez des portées comprenant des petites notes et d’autres sans :
<< \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" d2. } >>
Il est possible de remédier à cela en insérant, sur les autres portées,
des silences invisibles dans une expression précédée de \grace
et
correspondant à la durée des petites notes :
<< \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" \grace s16 d2. } >>
Bien que la partie visible contient un \acciaccatura
ou un
\appoggiatura
, veillez bien à utiliser l’instruction
\grace
dans la partie invisible, au risque de voir apparaître un
tronçon de liaison connectant la petite note invisible à la note qui la
suit.
Seules des expressions musicales séquentielles peuvent être utilisées pour des petites notes ; il n’est pas possible d’imbriquer ni de juxtaposer des sections de petites notes, faute de quoi le traitement du code peut échouer ou produire des erreurs.
En ce qui concerne la sortie MIDI, les petites notes ont une durée du
quart de la valeur que vous leur attribuez. Par voie de conséquence, si
la durée globale d’une succession de petites notes venait à dépasser la
durée de la note qui précède, vous déclencheriez une erreur du type
« Going back in MIDI time
». Il vous faudra donc raccourcir les
petites notes. Par exemple,
c'8 \acciaccatura { c'8[ d' e' f' g'] }
deviendrait
c'8 \acciaccatura { c'16[ d' e' f' g'] }
ou bien modifier explicitement l’échelle des durées :
c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }
Voir Changement d’échelle des durées.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Notes d'ornement ] | [Plus haut: Fonctionnalités rythmiques particulières ] | [ Gestion du temps > ] |
Alignement et cadences
Dans un contexte orchestral, une cadence constitue un problème spécifique. Lors du montage d’une partition contenant une cadence, tous les autres instruments doivent sauter autant de notes que ce qu’en comporte la cadence, faute de quoi ils démarreraient trop tôt ou trop tard.
Les fonctions mmrest-of-length
ou skip-of-length
permettent de pallier ce problème. Ces fonctions Scheme prennent en
argument un fragment de musique, et génèrent un \skip
ou un
silence multimesure d’une durée correspondant à ce fragment.
MyCadenza = \relative { c'4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(mmrest-of-length MyCadenza) c'1 #(skip-of-length MyCadenza) c'1 } >>
Voir aussi
Glossaire musicologique : cadenza.
Morceaux choisis : Rythme.
Gestion du temps
Le temps est administré par le Timing_translator
, qui réside en
principe dans le contexte Score
. Un alias, Timing
, sera
ajouté au contexte auquel le Timing_translator
est rattaché.
Déclarer explicitement un contexte Voice
ou Staff
assure
l’existence de cet alias.
Timing
dispose des propriétés suivantes afin de garder trace du
minutage de la partition.
-
currentBarNumber
Le numéro de la mesure en cours. Un exemple d’utilisation se trouve au chapitre Numéros de mesure.
-
measureLength
La longueur de la mesure, dans la métrique en cours. Pour une mesure à 4/4, elle est de 1, et de 3/4 pour une mesure à 6/8. Sa valeur détermine où peut s’insérer une barre et comment seront générées les ligatures automatiques.
-
measurePosition
Le moment où l’on en est dans la mesure en cours. Cette quantité est remise à 0 dès lors qu’on dépasse
measureLength
; la variablecurrentBarNumber
est alors incrémentée.-
timing
Lorsqu’on lui assigne la valeur vrai, les valeurs ci-dessus mentionnées sont mises à jour à chaque pas. Fixée à faux, le graveur restera indéfiniment dans la mesure en cours.
Le calage peut être modifié en réglant explicitement l’une de ces
variables. Dans l’exemple qui suit, nous réglons la métrique à 4/4,
tout en fixant measureLength
à 5/4. Arrivé à 4/8 dans la
troisième mesure, nous avançons de 1/8, en assignant 5/8 à
measurePosition
, raccourcissant donc cette mesure d’une croche.
La barre de mesure suivante tombera donc à 9/8 et non à 5/8.
\new Voice \relative { \set Timing.measureLength = #(ly:make-moment 5/4) c'1 c4 | c1 c4 | c4 c \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | }
Comme le montre cet exemple, ly:make-moment n/d
construit une
durée de n/d fois une ronde. Par conséquent, ly:make-moment 1/8
correspond à une croche, et ly:make-moment 7/16
à la durée de
sept doubles croches.
Voir aussi
Manuel de notation : Musique sans métrique, Numéros de mesure.
Morceaux choisis : Rythme.
Références des propriétés internes : Timing_translator, Score
1.3 Signes d’interprétation
Ce chapitre traite des différentes indications d’interprétation que l’on peut trouver sur les partitions.
1.3.1 Signes d’interprétation attachés à des notes | ||
1.3.2 Signes d’interprétation sous forme de courbe | ||
1.3.3 Signes d’interprétation sous forme de ligne |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Signes d'interprétation ] | [Plus haut: Signes d'interprétation ] | [ Articulations et ornements > ] |
1.3.1 Signes d’interprétation attachés à des notes
Nous allons voir au cours de ces lignes comment ajouter aux notes des indications d’interprétation – articulation, ornementation, nuance – et aborderons la manière de générer vos propres signes.
Articulations et ornements | ||
Nuances | ||
Personnalisation des indications de nuance |
Articulations et ornements
Les différents symboles qui indiquent des ponctuations ou des modes de jeu différents s’ajoutent aux notes de la manière suivante :
note\nom
Les valeurs de nom sont répertoriées dans l’annexe Liste des signes d’articulation. En voici un exemple :
\relative { c''4\staccato c\mordent b2\turn c1\fermata }
Certains signes d’articulation disposent d’un raccourci. On les ajoute à chaque note au moyen d’un tiret suivi du caractère correspondant à l’articulation désirée. C’est entre autres le cas pour marcato, stopped, tenuto, staccatissimo, accent, staccato, et portato, comme l’illustre l’exemple ci-dessous.
\relative { c''4-^ c-+ c-- c-! c4-> c-. c2-_ }
Même si LilyPond place automatiquement ces symboles, selon les règles contenues dans le fichier ‘scm/script.scm’, il est possible de l’obliger à les positionner au-dessus ou en dessous de la note, comme indiqué au chapitre Direction et positionnement.
Les articulations sont des objets de type script
; les
propriétés de ces objets sont abordées plus en détail au chapitre
Script.
En dehors des articulations habituelles, vous pouvez adjoindre du texte – avec ou sans mise en forme – à n’importe quelle note. Voir à ce propos Commentaires textuels.
Pour plus d’information sur la manière d’ordonner Scripts
et
TextScripts
, consultez le chapitre
Positionnement des objets.
Morceaux choisis
Modification de la signification des raccourcis pour les signes d’articulation
Les raccourcis sont répertoriés dans le fichier
‘ly/script-init.ly’, dans lequel on retrouve les variables
dashHat
, dashPlus
, dashDash
, dashBang
,
dashLarger
, dashDot
et dashUnderscore
ainsi que
leur valeur par défaut. Ces valeurs peuvent être modifiées selon vos
besoins. Il suffit par exemple, pour affecter au raccourci -+
(dashPlus
) le symbole du trille en lieu et place du +
(caractère plus), d’assigner la valeur trill
à la variable
dashPlus
:
\relative c'' { c1-+ } dashPlus = "trill" \relative c'' { c1-+ }
Contrôle de l’ordre vertical des articulations et ornements
Les symboles s’ordonnent verticalement suivant la propriété
script-priority
. Plus sa valeur numérique est faible, plus le
symbole sera proche de la note. Dans l’exemple suivant, l’objet
TextScript
– le dièse – a d’abord la propriété la plus basse et
se voit donc placé au plus près de la note ; ensuite, c’est l’objet
Script
– le mordant – qui a la propriété la plus basse, et se
place alors sous le dièse. Lorsque deux objets ont la même priorité,
c’est l’ordre dans lequel ils sont indiqués qui détermine lequel sera
placé en premier.
\relative c''' { \once \override TextScript.script-priority = #-100 a2^\prall^\markup { \sharp } \once \override Script.script-priority = #-100 a2^\prall^\markup { \sharp } }
Création d’un groupetto retardé
Obtenir un groupetto retardé et dans lequel la note la plus basse
est altérée requiert quelques surcharges. La propriété
outside-staff-priority
doit être désactivée (#f
) pour
éviter qu’elle prenne le pas sur la propriété avoid-slur
.
L’ajustement du positionnement horizontal s’effectue en jouant sur les
fractions 2/3
et 1/3
.
\relative c'' { c2*2/3 ( s2*1/3\turn d4) r << { c4.( d8) } { s4 s\turn } >> \transpose c d \relative c'' << { c4.( d8) } { s4 \once \set suggestAccidentals = ##t \once \override AccidentalSuggestion.outside-staff-priority = ##f \once \override AccidentalSuggestion.avoid-slur = #'inside \once \override AccidentalSuggestion.font-size = -3 \once \override AccidentalSuggestion.script-priority = -1 \single \hideNotes b8-\turn \noBeam s8 } >> }
Voir aussi
Glossaire musicologique : accent, portato, staccato, tenuto.
Manuel d’initiation : Positionnement des objets.
Manuel de notation : Commentaires textuels, Direction et positionnement, Liste des signes d’articulation, Trilles.
Fichiers d’initialisation : ‘scm/script.scm’.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : Script, TextScript.
Nuances
À chaque nuance absolue correspond une commande qui peut être indiquée
après une note : c4\ff
par exemple. Les commandes de nuance
disponibles sont \ppppp
, \pppp
, \ppp
, \pp
,
\p
, \mp
, \mf
, \f
, \ff
, \fff
,
\ffff
, \fffff
, \fp
, \sf
, \sff
,
\sp
, \spp
, \sfz
, \rfz
et \n
. Les
nuances se placent aussi bien en dessous qu’au-dessus de la portée ;
pour plus d’information, consultez Direction et positionnement.
\relative c'' { c2\ppp c\mp c2\rfz c^\mf c2_\spp c^\ff }
Un crescendo est délimité par \<
et \!
, ou peut se
terminer par une commande de nuance explicite, ou bien un decrescendo ou
un nouveau crescendo. Il en va de même pour un diminuendo. Au lieu de
\<
et \>
, vous pouvez utiliser \cr
et \decr
,
tout comme \endcr
et \enddecr
au lieu de \!
,
auquel cas LilyPond n’imprimera pas de soufflet (hairpin en
anglais).
\relative c'' { c2\< c\! d2\< d\f e2\< e\> f2\> f\! e2\> e\mp d2\> d\> c1\! }
Un soufflet terminé par un simple \!
prendra fin sur la droite de
la tête de note à laquelle il est attaché. Dans le cas où il se termine
par l’intervention d’un autre soufflet (contraire ou non), il prendra
fin au milieu de la tête de note affublée d’un \<
ou
d’un \>
, et le nouveau soufflet débutera à l’extrémité droite de
cette même tête de note. Un soufflet se terminant sur le premier temps
d’une mesure s’arrêtera à la barre de mesure.
\relative { c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\! }
Il en va de même lorsqu’un soufflet est interrompu par une nuance explicite. Notez bien que la largeur occupée par cette nuance explicite influe sur la terminaison du soufflet :
\relative { c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a }
Les indications de nuance sont attachées aux notes ; aussi, lorsque l’on veut faire se succéder plusieurs nuances pendant une note tenue, il faudra avoir recours à des silences invisibles :
\relative { c''4\< c\! d\> e\! << f1 { s4 s4\< s4\> s4\! } >> }
On peut avoir recours à l’indication \espressivo
pour indiquer un
crescendo suivi d’un decrescendo sur une même note. Gardez à l’esprit
qu’il s’agit d’une articulation, et en aucun cas d’une nuance.
\relative { c''2 b4 a g1\espressivo }
La commande \cresc
permet d’indiquer textuellement le début d’un
crescendo. \decresc
ou \dim
marquent le début d’un
decrescendo. Les lignes d’extension sont gérées automatiquement.
\relative { g'8\cresc a b c b c d e\mf | f8\decresc e d c e\> d c b | a1\dim ~ | a2. r4\! | }
Une indication textuelle peut indiquer, au lieu d’un soufflet, un changement de nuance :
\relative c'' { \crescTextCresc c4\< d e f\! | \dimTextDecresc g4\> e d c\! | \dimTextDecr e4\> d c b\! | \dimTextDim d4\> c b a\! | \crescHairpin \dimHairpin c4\< d\! e\> d\! | }
Pour créer des indications de nuance qui restent alignées avec les nuances habituelles, reportez-vous au chapitre Personnalisation des indications de nuance.
Le positionnement vertical des nuances est géré par le DynamicLineSpanner.
L’utilisation d’un contexte Dynamics
permet de graver les nuances
sur leur propre ligne – Il suffit de placer des silences invisibles
pour gérer le temps. Bien que le contexte Dynamics
accepte des
notes pour indiquer les durées, celles-ci ne seront pas imprimées. Le
contexte Dynamics
peut aussi contenir des indications textuelles
avec ou sans extenseur, ainsi que les indications de pédale.
<< \new Staff \relative { c'2 d4 e | c4 e e,2 | g'4 a g a | c1 | } \new Dynamics { s1\< | s1\f | s2\dim s2-"rit." | s1\p | } >>
Commandes prédéfinies
\dynamicUp
,
\dynamicDown
,
\dynamicNeutral
,
\crescTextCresc
,
\dimTextDim
,
\dimTextDecr
,
\dimTextDecresc
,
\crescHairpin
,
\dimHairpin
.
Morceaux choisis
Soufflets et barres de mesure
En principe, un soufflet – (de)crescendo imprimé sous forme graphique –
commence au bord gauche de la note de départ, et se termine au
bord droit de la note d’arrivée. Cependant, si la note d’arrivée
est sur un premier temps, le soufflet s’arrêtera au niveau de la
barre de mesure qui la précède. Ce comportement peut être annulé
en assignant faux (#f
) à la propriété to-barline
.
\relative c'' { e4\< e2. e1\! \override Hairpin.to-barline = ##f e4\< e2. e1\! }
Ajustement de la longueur d’un soufflet
Si un soufflet est trop court, il suffit d’ajuster la propriété
minimum-length
de l’objet Hairpin
pour l’allonger.
\relative c'' { c4\< c\! d\> e\! << f1 { s4 s\< s\> s\! } >> \override Hairpin.minimum-length = #5 << f1 { s4 s\< s\> s\! } >> }
Déplacer les extrémités de soufflets
Les terminaisons des soufflets peuvent être décalées en jouant sur la
propriété shorten-pair
de l’objetHairpin
. Les valeurs
positives déplacent vers l’intérieur, les négatives vers l’extérieur.
Contrairement à la propriété minimum-length
, cette propriété
n’affecte que l’apparence du soufflet sans ajuster l’espacement
horizontal (y compris avec les nuances textuelles). Cette méthode est
donc appropriée aux situations dans lesquelles un soufflet requiert un
ajustement fin dans l’espace qui lui est alloué.
{ c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(2 . 2) c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(-2 . -2) c'1~\< c'2~ c'\! c'1~\p-\tweak shorten-pair #'(2 . 0)\< c'2~ c'\ffff }
Impression de soufflets « al niente »
Des crescendos ou decrescendos al niente peuvent être indiqués de
manière graphique, en assignant vrai (#t
) à la
propriété circled-tip
, ce qui affiche un cercle à leur extrémité.
\relative c'' { \override Hairpin.circled-tip = ##t c2\< c\! c4\> c\< c2\! }
Différents styles de soufflet
Les soufflets de nuance peuvent adopter des styles différents.
\relative c'' { \override Hairpin.stencil = #flared-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #constante-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #flared-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! \override Hairpin.stencil = #constante-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! }
Alignement vertical des nuances indications textuelles
Tous les objets DynamicLineSpanner
(soufflets ou nuances
textuelles) viennent s’aligner sur une ligne de référence placée, par
rapport à la portée, à au moins la valeur de 'staff-padding
sauf
lorsque d’autres éléments de notation les en éloignent plus. Les nuances
seront centrés sur une même ligne dès lors que 'staff-padding
aura été défini à une valeur suffisante.
C’est le même principe – en combinaison avec \textLengthOn
–
qui sert à aligner les indications textuelles sur une ligne de
référence.
music = \relative c' { a'2\p b\f e4\p f\f\> g, b\p c2^\markup { \huge gorgeous } c^\markup { \huge fantastic } } { \music \break \override DynamicLineSpanner.staff-padding = #3 \textLengthOn \override TextScript.staff-padding = #1 \music }
Masquage de l’extension des nuances textuelles
Les crescendos et decrescendos indiqués textuellement – tels que cresc. ou dim. – sont suivis de pointillés qui montrent leur étendue. On peut empêcher l’impression de ces pointillés.
\relative c'' { \override DynamicTextSpanner.style = #'none \crescTextCresc c1\< | d | b | c\! }
Modification du texte et de l’extension de nuances textuelles
Le texte par défaut des crescendos et decrescendos se change en
modifiant les propriétés de contexte crescendoText
et
decrescendoText
. L’aspect de la ligne d’extension est fonction
de la propriété style
du DynamicTextSpanner
. Sa valeur
par défaut est 'hairpin
, mais d’autres valeurs sont disponibles,
comme 'line
, 'dashed-line
et 'dotted-line
.
\relative c'' { \set crescendoText = \markup { \italic { cresc. poco } } \set crescendoSpanner = #'text \override DynamicTextSpanner.style = #'dotted-line a2\< a a2 a a2 a a2 a\mf }
Voir aussi
Glossaire musicologique : al niente, crescendo, decrescendo, soufflet.
Manuel d’initiation : Articulations et nuances.
Manuel de notation : Amélioration du rendu MIDI, Direction et positionnement, Gestion des nuances en MIDI, Personnalisation des indications de nuance.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : DynamicText, Hairpin, DynamicLineSpanner, Dynamics.
Personnalisation des indications de nuance
La manière la plus simple de personnaliser une indication de nuance
consiste à utiliser un objet \markup
.
moltoF = \markup { molto \dynamic f } \relative { <d' e>16_\moltoF <d e> <d e>2.. }
Vous pouvez créer des indications de nuance éditoriales (entre parenthèses ou crochets) grâce aux étiquettes (mode markup) ; la syntaxe en est abordée au chapitre Mise en forme du texte.
roundF = \markup { \center-align \concat { \bold { \italic ( } \dynamic f \bold { \italic ) } } } boxF = \markup { \bracket { \dynamic f } } \relative { c'1_\roundF c1_\boxF }
Grâce à la fonction make-dynamic-script
, vous pouvez créer de
nouvelles marques textuelles que vous combinerez avec les signes de
nuance.
sfzp = #(make-dynamic-script "sfzp") \relative { c'4 c c\sfzp c }
make-dynamic-script
accepte en argument tout objet de type
markup. Notez bien que la police des nuances ne contient que les
caractères f,m,p,r,s
et z
, et que les marques de nuance
possèdent des propriétés particulières et prédéfinies quant à leur
police. Aussi, lorsque vous créez du texte en pareille situation, nous
vous recommandons d’utiliser \normal-text
pour annuler ces
propriétés. L’intérêt majeur de recourir à la fonction
make-dynamic-script
plutôt qu’à un simple markup réside
dans l’assurance que ces objets personnalisés et les soufflets seront
alignés lorsqu’attachés à une même note.
roundF = \markup { \center-align \concat { \normal-text { \bold { \italic ( } } \dynamic f \normal-text { \bold { \italic ) } } } } boxF = \markup { \bracket { \dynamic f } } mfEspress = \markup { \center-align \line { \hspace #3.7 mf \normal-text \italic espress. } } roundFdynamic = #(make-dynamic-script roundF) boxFdynamic = #(make-dynamic-script boxF) mfEspressDynamic = #(make-dynamic-script mfEspress) \relative { c'4_\roundFdynamic\< d e f g,1~_\boxFdynamic\> g g'~\mfEspressDynamic g }
La construction d’une indication de nuance personnalisée peut aussi se faire en langage Scheme ; voir Construction d'un markup en Scheme pour en connaître les modalités.
moltoF = #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative { <d' e>16 <d e> <d e>2..\moltoF }
L’utilisation d’un \tweak
permettra d’aligner par la gauche
cette nuance textuelle sur la tête de note, plutôt qu’un centrage :
moltoF = \tweak DynamicText.self-alignment-X #LEFT #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative { <d' e>16 <d e> <d e>2..\moltoF <d e>1 }
L’utilisation des fontes en mode markup est abordée au chapitre Sélection de la fonte et de la taille.
Voir aussi
Manuel de notation : Amélioration du rendu MIDI, Gestion des nuances en MIDI, Mise en forme du texte, Sélection de la fonte et de la taille.
Morceaux choisis : Signes d’interprétation.
Manuel d’extension : Construction d'un markup en Scheme.
1.3.2 Signes d’interprétation sous forme de courbe
Ce chapitre traite des signes d’interprétation imprimés sous forme de courbe : liaisons d’articulation ou de phrasé, respirations, chutes et sauts.
Liaisons d’articulation | ||
Liaisons de phrasé | ||
Signes de respiration | ||
Chutes et sauts |
Liaisons d’articulation
Une liaison d’articulation indique que les notes doivent être jouées liées, ou legato. Ces liaisons s’indiquent au moyen de parenthèses.
Note : Lorsque la musique est polyphonique, la liaison doit se terminer dans la voix où elle a été entamée.
\relative { f''4( g a) a8 b( a4 g2 f4) <c e>2( <b d>2) }
Vous pouvez décider de l’orientation des liaisons par rapport à la portée, comme indiqué au chapitre Direction et positionnement.
Plusieurs liaisons peuvent intervenir simultanément ou concurremment, ce
qui requiert une attention spéciale. Dans la majorité des cas, la
liaison externe indique un phrasé, et un phrasé peut recouvrir plusieurs
liaisons d’articulation – voir Liaisons de phrasé. Dans le cas
où plusieurs liaisons d’articulation interviennent au sein d’un même
contexte Voice
, leurs début et fin doivent être labellisés par un
\=
suivi d’un identifiant (symbole ou entier positif).
\fixed c' { <c~ f\=1( g\=2( >2 <c e\=1) a\=2) > }
Une liaison est par défaut dessinée d’un trait plein. Il est aussi possible de l’imprimer sous la forme de tirets ou en pointillé :
\relative { c'4( e g2) \slurDashed g4( e c2) \slurDotted c4( e g2) \slurSolid g4( e c2) }
En utilisant \slurHalfDashed
, la première moitié de la liaison
aura un trait discontinu et continu pour la seconde. L’inverse
s’obtient avec \slurHalfSolid
.
\relative { c'4( e g2) \slurHalfDashed g4( e c2) \slurHalfSolid c4( e g2) \slurSolid g4( e c2) }
Vous pouvez même personnaliser la densité des tirets d’une liaison :
\relative { c'4( e g2) \slurDashPattern #0.7 #0.75 g4( e c2) \slurDashPattern #0.5 #2.0 c4( e g2) \slurSolid g4( e c2) }
Commandes prédéfinies
\slurUp
,
\slurDown
,
\slurNeutral
,
\slurDashed
,
\slurDotted
,
\slurHalfDashed
,
\slurHalfSolid
,
\slurDashPattern
,
\slurSolid
.
Morceaux choisis
Accords et double liaison d’articulation
Certains compositeurs utilisent deux liaisons lorsqu’ils veulent lier
des accords. Dans LilyPond, il faut pour cela activer la propriété
doubleSlurs
.
\relative c' { \set doubleSlurs = ##t <c e>4( <d f> <c e> <d f>) }
Positionnement d’une annotation à l’intérieur d’une liaison
Lorsqu’une annotation doit s’incrire à l’intérieur d’une liaison, la
propriété outside-staff-priority
doit être désactivée.
\relative c'' { \override TextScript.avoid-slur = #'inside \override TextScript.outside-staff-priority = ##f c2(^\markup { \halign #-10 \natural } d4.) c8 }
Dessin d’une liaison d’articulation au trait discontinu
Grâce à la propriété dash-definition
, une liaison d’articulation
peut être formée de traits discontinus variables. dash-definition
se compose d’une liste de segments-discontinus
(dash-elements). Chaque segment-discontinu
contient une
liste de paramètres qui déterminent le comportement du trait pour une
section de la liaison.
Cette liaison se définit selon le paramètre de Bézier t
qui est
compris entre 0 (l’extrémité gauche de la liaison) et 1 (l’extrémité
droite de la liaison). Chaque segment-discontinu
se composera
selon la liste (t-début t-fin segment-style segment-taille)
. La
portion de liaison allant de t-début
à t-fin
aura un trait
segment-style
de longueur segment-taille
.
segment-taille
est exprimé en espace de portée ; un
segment-style
à 1 donnera un trait plein.
\relative c' { \once \override Slur.dash-definition = #'((0 0.3 0.1 0.75) (0.3 0.6 1 1) (0.65 1.0 0.4 0.75)) c4( d e f) \once \override Slur.dash-definition = #'((0 0.25 1 1) (0.3 0.7 0.4 0.75) (0.75 1.0 1 1)) c4( d e f) }
Voir aussi
Glossaire musicologique : liaison.
Manuel d’initiation : Non-imbrication des crochets et liaisons.
Manuel de notation : Direction et positionnement, Liaisons de phrasé.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : Slur.
Liaisons de phrasé
Une liaison de phrasé relie plusieurs notes en délimitant une phrase
musicale. On indique les points de départ et d’arrivée avec \(
et \)
respectivement.
\relative { c''4\( d( e) f( e2) d\) }
D’un point de vue typographique, rien ne distingue une liaison de phrasé
d’une liaison d’articulation. Cependant, LilyPond les considère comme
des objets différents. Une commande \slurUp
n’affectera donc pas
une liaison de phrasé. Vous pouvez décider de l’orientation des
liaisons de phrasé par rapport à la portée, comme indiqué au chapitre
Direction et positionnement.
Plusieurs liaisons de phrasé peuvent intervenir en même temps, dès lors qu’elles sont labellisées, comme des liaisons normales – voir Liaisons d’articulation.
Une liaison est par défaut dessinée d’un trait plein. Il est aussi possible de l’imprimer sous la forme de tirets ou en pointillé :
\relative { c'4\( e g2\) \phrasingSlurDashed g4\( e c2\) \phrasingSlurDotted c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
En utilisant \phrasingslurHalfDashed
, la première moitié de la
liaison aura un trait discontinu et continu pour la seconde. L’inverse
s’obtient avec \phrasingslurHalfSolid
.
\relative { c'4\( e g2\) \phrasingSlurHalfDashed g4\( e c2\) \phrasingSlurHalfSolid c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
Vous pouvez même personnaliser la densité des tirets d’une liaison :
\relative { c'4\( e g2\) \phrasingSlurDashPattern #0.7 #0.75 g4\( e c2\) \phrasingSlurDashPattern #0.5 #2.0 c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
La personnalisation des lignes discontinues est identique pour les liaisons de phrasé et les liaisons d’articulation. Pour plus de détails, référez-vous aux morceaux choisis de la section Liaisons d’articulation.
Commandes prédéfinies
\phrasingSlurUp
,
\phrasingSlurDown
,
\phrasingSlurNeutral
,
\phrasingSlurDashed
,
\phrasingSlurDotted
,
\phrasingSlurHalfDashed
,
\phrasingSlurHalfSolid
,
\phrasingSlurDashPattern
,
\phrasingSlurSolid
.
Voir aussi
Manuel d’initiation : Non-imbrication des crochets et liaisons.
Manuel de notation : Direction et positionnement, Liaisons d’articulation.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : PhrasingSlur.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Liaisons de phrasé ] | [Plus haut: Signes d'interprétation sous forme de courbe ] | [ Chutes et sauts > ] |
Signes de respiration
Les indications de respiration sont indiquées par la commande
\breathe
.
{ c''2. \breathe d''4 }
Contrairement aux autres signes d’interprétation, une respiration n’est
pas associée à la note qui la précède ; il s’agit d’un événement musical
à part entière. Par voie de conséquence, toute autre marque attachée à
la note précédente, telle un crochet indiquant une ligature manuelle ou
une parenthèse indiquant une liaison, doit impérativement se placer
avant l’instruction \breathe
.
Un signe de respiration interrompt obligatoirement les ligatures, même automatiques. Pour passer outre ce fonctionnement, voir Barres de ligature manuelles.
\relative { c''8 \breathe d e f g2 }
LilyPond gère les divisiones, signes utilisés en notation ancienne pour indiquer les respirations. Pour de plus amples détails, voir Divisions.
Morceaux choisis
Modification de l’indicateur de respiration
On peut choisir le glyphe imprimé par cette commande, en modifiant la
propriété text
de l’objet BreathingSign
, pour lui affecter
n’importe quelle indication textuelle.
\relative c'' { c2 \override BreathingSign.text = \markup { \musicglyph "scripts.rvarcomma" } \breathe d2 }
Remplacement du signe de respiration par une coche
Les musiques vocales ou pour vents utilisent souvent une coche en tant que signe de respiration. Ceci indique une respiration qui enlève une fraction à la note précédente plutôt qu’une véritable pause comme le fait un signe sous forme de virgule. La coche peut être remontée un peu afin de l’isoler de la portée.
\relative c'' { c2 \breathe d2 \override BreathingSign.Y-offset = #2.6 \override BreathingSign.text = \markup { \musicglyph "scripts.tickmark" } c2 \breathe d2 }
Insertion d’une césure
Une surcharge de la propriété text
de l’objet
BreathingSign
permet de créer une marque de césure.
LilyPond dispose également d’une variante courbée.
\relative c'' { \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.straight" } c8 e4. \breathe g8. e16 c4 \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.curved" } g8 e'4. \breathe g8. e16 c4 }
Voir aussi
Glossaire musicologique : césure.
Manuel de notation : Divisions.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : BreathingEvent, BreathingSign, Breathing_sign_engraver.
Chutes et sauts
Des indications de désinence peuvent être obtenues au moyen de la
commande \bendAfter
. Leur direction s’indique au moyen des
signes plus (vers le haut) ou moins (vers le bas). Le chiffre indique
l’intervalle avec la note de départ.
\relative c'' { c2\bendAfter #+4 c2\bendAfter #-4 c2\bendAfter #+6.5 c2\bendAfter #-6.5 c2\bendAfter #+8 c2\bendAfter #-8 }
Morceaux choisis
Ajustement du galbe des chutes ou sauts
La propriété shortest-duration-space
peut devoir être retouchée
pour ajuster l’apparence des chutes ou sauts.
\relative c'' { \override Score.SpacingSpanner.shortest-duration-space = #4.0 c2-\bendAfter #5 c2-\bendAfter #-4.75 c2-\bendAfter #8.5 c2-\bendAfter #-6 }
Voir aussi
Glossaire musical : chute, saut.
Morceaux choisis : Signes d’interprétation.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Chutes et sauts ] | [Plus haut: Signes d'interprétation ] | [ Glissando > ] |
1.3.3 Signes d’interprétation sous forme de ligne
Cette partie traite de la manière de générer des signes d’interprétation d’aspect linéaire, tels les glissandos, arpèges et trilles.
Glissando | ||
Arpèges | ||
Trilles |
Glissando
Un glissando relie une hauteur à une autre en passant par chaque hauteur
intermédiaire. On l’obtient en accolant la commande \glissando
à
la première note.
\relative { g'2\glissando g' c2\glissando c, \afterGrace f,1\glissando f'16 }
Un glissando peut intervenir au moment d’un changement de portée :
\new PianoStaff << \new Staff = "right" { e'''2\glissando \change Staff = "left" a,,4\glissando \change Staff = "right" b''8 r | } \new Staff = "left" { \clef bass s1 } >>
Un glissando peut affecter des notes d’un accord. En dehors du cas où
les notes des deux accords sont reliées directement l’une à l’autre, les
relations s’établissent à l’aide de la commande \glissandoMap
;
les notes d’un accord sont numérotées à partir de zéro et dans leur
ordre d’apparition dans le fichier ‘.ly’.
\relative { <c' e>1\glissando g' | <c, e>1\glissando | <g' b> | \break \set glissandoMap = #'((0 . 1) (1 . 0)) <c, g'>1\glissando | <d a'> | \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2)) c1\glissando | <d f a> | \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1)) <f d a'>1\glissando | <c c'> | }
Un glissando est indiqué graphiquement, par une ligne ou des vaguelettes – voir Styles de ligne.
Morceaux choisis
Glissando contemporain
De nos jours, il peut arriver que la note d’arrivée d’un glissando soit absente de la partition. Pour ce faire, il vous faudra utiliser une cadence et « masquer » la note d’arrivée.
\relative c'' { \time 3/4 \override Glissando.style = #'zigzag c4 c \cadenzaOn c4\glissando \hideNotes c,,4 \unHideNotes \cadenzaOff \bar "|" }
Ajout de marques temporelles à un long glissando
Lorsqu’un glissando s’étend dans la durée, on trouve parfois des indications temporelles, matérialisées par des hampes sans tête de note. De telles hampes permettent aussi d’indiquer des éléments intermédiaires.
L’alignement des hampes avec la ligne de glissando peut requérir quelques aménagements.
glissandoSkipOn = { \override NoteColumn.glissando-skip = ##t \hide NoteHead \override NoteHead.no-ledgers = ##t } glissandoSkipOff = { \revert NoteColumn.glissando-skip \undo \hide NoteHead \revert NoteHead.no-ledgers } \relative c'' { r8 f8\glissando \glissandoSkipOn f4 g a a8\noBeam \glissandoSkipOff a8 r8 f8\glissando \glissandoSkipOn g4 a8 \glissandoSkipOff a8 | r4 f\glissando \< \glissandoSkipOn a4\f \> \glissandoSkipOff b8\! r | }
Saut de ligne et glissando
L’affectation de la valeur #t
à la propriété breakable
,
combinée à after-line-breaking
, permet la rupture d’une
indication de glissando lors d’un saut de ligne.
glissandoSkipOn = { \override NoteColumn.glissando-skip = ##t \hide NoteHead \override NoteHead.no-ledgers = ##t } \relative c'' { \override Glissando.breakable = ##t \override Glissando.after-line-breaking = ##t f1\glissando | \break a4 r2. | f1\glissando \once \glissandoSkipOn \break a2 a4 r4 | }
Rappel du glissando à l’occasion d’une alternative
Un glissando qui se prolonge sur plusieurs sections \alternative
peut se rappeler à l’aide d’une note d’ornement supplémentaire et
masquée, à laquelle sera attaché le départ du glissando, ce dans chaque
bloc \alternative
. Cette note d’ornement devrait avoir la même
hauteur que la note où commençait le glissando originel. Ceci est géré
par une fonction musicale qui prendra en argument la hauteur de la note
d’ornement.
Dans le cadre d’un musique polyphonique, il ne faudra pas oublier d’ajouter une note d’ornement dans toutes les autres voix afin de préserver la synchronisation.
repeatGliss = #(define-music-function (grace) (ly:pitch?) #{ % the next two lines ensure the glissando is long enough % to be visible \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \once \override Glissando.minimum-length = #3.5 \once \hideNotes \grace $grace \glissando #}) \score { \relative c'' { \repeat volta 3 { c4 d e f\glissando } \alternative { { g2 d } { \repeatGliss f g2 e } { \repeatGliss f e2 d } } } } music = \relative c' { \voiceOne \repeat volta 2 { g a b c\glissando } \alternative { { d1 } { \repeatGliss c \once \omit StringNumber e1\2 } } } \score { \new StaffGroup << \new Staff << \new Voice { \clef "G_8" \music } >> \new TabStaff << \new TabVoice { \clef "moderntab" \music } >> >> }
Voir aussi
Glossaire musicologique : glissando.
Manuel de notation : Styles de ligne.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : Glissando.
Problèmes connus et avertissements
Il n’est pas possible d’imprimer un texte (tel que gliss.) le long de la ligne de glissando.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Glissando ] | [Plus haut: Signes d'interprétation sous forme de ligne ] | [ Trilles > ] |
Arpèges
On peut indiquer qu’un accord doit être arpégé en lui accolant la
commande \arpeggio
:
\relative { <c' e g c>1\arpeggio }
LilyPond dispose de différents graphismes pour indiquer un arpège ;
\arpeggioNormal
reviendra au style par défaut.
\relative { <c' e g c>2\arpeggio \arpeggioArrowUp <c e g c>2\arpeggio \arpeggioArrowDown <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio }
Ces commandes prédéfinies modifient en interne la propriété
'arpeggio-direction
; leur définition complète se trouve dans le
fichier ‘ly/property-init.ly’.
Des crochets indiquent que l’accord devra être plaqué et non arpégé :
\relative { <c' e g c>2 \arpeggioBracket <c e g c>2\arpeggio \arpeggioParenthesis <c e g c>2\arpeggio \arpeggioParenthesisDashed <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio }
Ces commandes prédéfinies apportent une dérogation à la propriété
'stencil
de l’objet Arpeggio
et peuvent aussi adapter son
'X-extent
(en la matière son étendue horizontale, de telle sorte
qu’il n’entre pas en collision avec d’autres objets).
Les indications d’arpeggio peuvent se présenter sous la forme de ligne
discontinue à l’aide de la propriété 'dash-definition
. Pour
plus de détails à ce propos, consultez Liaisons d’articulation.
Un arpège peut parfois s’écrire de manière explicite, à l’aide de liaisons de tenue. Pour plus d’information, voir Liaisons de prolongation.
Commandes prédéfinies
\arpeggio
,
\arpeggioArrowUp
,
\arpeggioArrowDown
,
\arpeggioNormal
,
\arpeggioBracket
,
\arpeggioParenthesis
\arpeggioParenthesisDashed
.
Morceaux choisis
Arpège distribué sur une partition pour piano
Dans une double portée pour piano (PianoStaff
), un arpège peut
s’étendre sur les deux portées grâce à la propriété
PianoStaff.connectArpeggios
.
\new PianoStaff \relative c'' << \set PianoStaff.connectArpeggios = ##t \new Staff { <c e g c>4\arpeggio <g c e g>4\arpeggio <e g c e>4\arpeggio <c e g c>4\arpeggio } \new Staff { \clef bass \repeat unfold 4 { <c,, e g c>4\arpeggio } } >>
Arpège distribué pour un autre contexte que le piano
Il est possible de distribuer un arpège sur plusieurs portées d’un
système autre que le PianoStaff
dès lors que vous incluez le
Span_arpeggio_engraver
au contexte Score
.
\score { \new ChoirStaff { \set Score.connectArpeggios = ##t << \new Voice \relative c' { <c e>2\arpeggio <d f>2\arpeggio <c e>1\arpeggio } \new Voice \relative c { \clef bass <c g'>2\arpeggio <b g'>2\arpeggio <c g'>1\arpeggio } >> } \layout { \context { \Score \consists "Span_arpeggio_engraver" } } }
Arpège distribué sur plusieurs voix
Affecter le graveur Span_arpeggio_engraver
au contexte de la
portée (Staff
) permet de distribuer un arpège sur plusieurs
voix.
\new Staff \with { \consists "Span_arpeggio_engraver" } \relative c' { \set Staff.connectArpeggios = ##t << { <e' g>4\arpeggio <d f> <d f>2 } \\ { <d, f>2\arpeggio <g b>2 } >> }
Voir aussi
Glossaire musicologique : arpeggio.
Manuel de notation : Liaisons d’articulation, Liaisons de prolongation.
Fichiers d’initialisation : ‘ly/property-init.ly’.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : Arpeggio, PianoStaff, Slur.
Problèmes connus et avertissements
Les commandes prédéfinies telle que \arpeggioArrowUp
s’appliquent
uniquement au contexte en cours ; elles n’affecteront donc pas un arpège
s’étendant sur d’autres voix ou portées. En pareil cas, ces commandes
demandent à être utilisées au sein d’une section \context
dans le
bloc \layout
ou bien avec une clause \with
comme indiqué
dans Modification des réglages par défaut d’un contexte. Il peut
être judicieux, au lieu d’utiliser ces raccourcis prédéfinis,
d’introduire une dérogation aux propriétés concernées de l’objet
Arpeggio
directement dans le contexte approprié, comme par exemple
\override Staff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
pour que le crochet d’arpège couvre plusieurs voix au niveau
Staff
, ou
\override PianoStaff.Arpeggio.arpeggio-direction = #UP
pour obtenir un arpège à terminaison en flêche (pointant vers le haut)
couvrant les portées d’un contexte PianoStaff
.
Il est impossible de mêler au même instant, dans un contexte
PianoStaff
, des lignes d’arpèges connectées et d’autres
non connectées.
La manière simple de créer des lignes d’arpège sous forme de parenthèse n’est pas opérationnelle pour des arpèges inter-portées ; voir Hampes et changements de portée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Arpèges ] | [Plus haut: Signes d'interprétation sous forme de ligne ] | [ Répétitions et reprises > ] |
Trilles
Les trilles brefs s’indiquent comme n’importe quelle ponctuation, avec
un simple \trill
; voir Articulations et ornements.
Les trilles plus longs sont délimités par \startTrillSpan
et
\stopTrillSpan
:
\relative { d''1\startTrillSpan d1 c2\stopTrillSpan r2 }
Lorsqu’un saut de ligne intervient alors qu’une prolongation de trille est présente, l’indication de trille et sa prolongation sont rappelées sur la première note de la nouvelle ligne :
\relative { d''1\startTrillSpan \break d1 c2\stopTrillSpan r2 }
Lorsque des trilles interviennent sur une succession de hauteurs
différentes, point n’est besoin d’expliciter la commande
\stopTrillSpan
puisque l’apparition d’un nouveau trille
interrompt de fait celui qui le précédait :
\relative { d''1\startTrillSpan d1 b1\startTrillSpan d2\stopTrillSpan r2 }
Dans l’exemple suivant, un trille se combine avec des notes d’ornement. La syntaxe d’une telle construction ainsi que le moyen de positionner les notes d’ornement avec précision est expliquée au chapitre Notes d’ornement.
\relative { d''1~\afterGrace d1\startTrillSpan { c32[ d]\stopTrillSpan } e2 r2 }
Les trilles qui font intervenir une hauteur précise peuvent être
indiqués par la commande pitchedTrill
. Le premier argument est
la note réelle ; le second est une hauteur qui sera imprimée comme une
tête de note noire entre parenthèses.
\relative { \pitchedTrill e''2\startTrillSpan fis d2 c2\stopTrillSpan }
L’altération de cette hauteur explicite sera indiquée automatique pour le premier trille d’une mesure, même s’il s’agit d’un bécarre.
{ \key d \major \pitchedTrill d'2\startTrillSpan cis d\stopTrillSpan \pitchedTrill d2\startTrillSpan c d\stopTrillSpan \pitchedTrill d2\startTrillSpan e d\stopTrillSpan }
L’impression de l’altération (sur la même note dans la même mesure)
devra être forcée en ajoutant un !
à la note considérée.
\relative { \pitchedTrill eis''4\startTrillSpan fis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan cis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis! eis4\stopTrillSpan }
Commandes prédéfinies
\startTrillSpan
,
\stopTrillSpan
.
Voir aussi
Glossaire musicologique : trille.
Manuel de notation : Articulations et ornements, Notes d’ornement.
Morceaux choisis : Signes d’interprétation.
Référence des propriétés internes : TrillSpanner.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Trilles ] | [Plus haut: Notation musicale générale ] | [ Répétition d'un long passage > ] |
1.4 Répétitions et reprises
La répétition est une notion essentielle en musique, et il existe de nombreuses façons de mettre en œuvre et noter ce concept. LilyPond prend en charge les types de répétition suivants :
-
volta
Le passage répété n’est pas développé, mais il est encadré par des barres de reprise et peut se terminer par plusieurs fins alternatives – ou volte – imprimées de gauche à droite sous des crochets. Lorsque la répétition commence au début de la pièce, aucune barre de reprise n’est gravée au début de la partition. Il s’agit de la notation courante des reprises avec fins alternatives.
-
unfold
La musique répétée est développée dans la partition autant de fois qu’indiqué. Ceci est particulièrement utile pour de la musique répétitive.
-
percent
Des barres obliques ou signes de pourcentage indiquent la répétition de temps ou de mesures.
-
tremolo
Ce type permet de réaliser des trémolos sous forme de liens de croches.
1.4.1 Répétition d’un long passage | ||
1.4.2 Autres types de répétition |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions et reprises ] | [Plus haut: Répétitions et reprises ] | [ Répétitions courantes > ] |
1.4.1 Répétition d’un long passage
Cette section présente la syntaxe des répétitions longues – c’est-à-dire plusieurs mesures. Ces répétitions peuvent prendre deux formes : encadrées par des barres de reprises, ou bien développées dans la partition. Les barres et autres signes de reprise peuvent être contrôlés manuellement.
Répétitions courantes | ||
Indications de reprise manuelles | ||
Répétitions explicites |
Répétitions courantes
On peut indiquer une répétition de la façon suivante :
\repeat volta nombre_de_fois expression_musicale
où expression_musicale
représente ce qui doît être répété.
Les reprises courantes, sans alternative, s’indiquent comme ceci :
\relative { \repeat volta 2 { c''4 d e f } c2 d \repeat volta 2 { d4 e f g } }
Aucun « début » de reprise n’est indiqué par défaut pour la première
mesure d’un morceau. Vous pouvez cependant ajouter une barre de reprise
avec un \bar ".|:"
avant la première note.
\relative { \repeat volta 2 { \bar ".|:" c''4 d e f } c2 d \repeat volta 2 { d4 e f g } }
On peut ajouter une fin alternative à l’aide de la commande
\alternative
. Chaque alternative
est une expression
musicale en elle-même ; il faudra donc les regrouper par des accolades.
\repeat volta nombre_de_fois expression_musicale \alternative { { expression_musicale } }
Si l’on donne trop peu d’alternatives en regard du nombre de fois où le passage doit être rejoué, la première alternative sera jouée plusieurs fois.
Voici une simple reprise avec une fin alternative :
\relative { \repeat volta 2 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } } c1 }
Et une répétition avec plusieurs alternatives :
\relative { \repeat volta 3 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } { a2 g | } } c1 }
Note : Lorsqu’il y a plus d’une alternative, prenez garde à ce qu’aucun caractère n’apparaisse entre l’accolade fermant une alternative et l’accolade ouvrant la suivante, au risque de ne pas obtenir le nombre voulu d’alternatives.
Note : Une clause \relative
ne doit jamais se trouver à
l’intérieur d’une section \repeat
: vous aurez
immanquablement des portées parasites. Voir
Apparition d'une portée supplémentaire.
Lorsqu’une reprise sans fin alternative débute au milieu d’une mesure,
elle devrait se terminer aussi au milieu d’une mesure, de telle sorte
que les mesures soient complètes. En pareil cas, les indications de
reprise ne constituent pas des barres de mesure à proprement parler ; il
n’est donc pas nécessaire de faire appel à la commande \partial
ou à des contrôles d’intégrité de mesure.
c'4 e g \repeat volta 4 { e4 | c2 e | g4 g g } g4 | a2 a | g1 |
Il est possible de créer des reprises en début de morceau avec une
levée. Le cas est similaire à ce que nous venons de voir. Toutefois,
l’utilisation d’un \partial
est ici nécessaire pour respecter
cette entame.
\partial 4 \repeat volta 4 { e'4 | c2 e | g4 g g } g4 | a2 a | g1 |
Des liaisons de tenue peuvent être ajoutées à toute alternative :
\relative { c''1 \repeat volta 2 { c4 d e f~ } \alternative { { f2 d } { f2\repeatTie f, } } }
La commande \inStaffSegno
permet de générer une barre de mesure
composite par l’adjonction d’un symbole de segno à une barre de
reprise créée par une commande \repeat volta
. Qu’il s’agisse
d’un début, d’une fin ou d’une double reprise, le type de barre est
automatiquement sélectionné. L’indication « D.S. » devra cependant être
ajouté manuellement.
En dehors de toute reprise :
\relative { e'1 \inStaffSegno f2 g a b c1_"D.S." \bar "|." }
Au début d’une reprise :
\relative { e'1 \repeat volta 2 { \inStaffSegno % start repeat f2 g a b } c1_"D.S." \bar "|." }
En fin de reprise :
\relative { e'1 \repeat volta 2 { f2 g a b \inStaffSegno % end repeat } f2 g a b c1_"D.S." \bar "|." }
Entre deux reprises :
\relative { e'1 \repeat volta 2 { f2 g a b } \inStaffSegno % double repeat \repeat volta 2 { f2 g a b } c1_"D.S." \bar "|." }
Des symboles alternatifs de barre de mesure sont aussi accessibles, dans
un contexte Score
, à l’aide des propriétés segnoType
,
startRepeatSegnoType
, endRepeatSegnoType
ou
doubleRepeatSegnoType
selon les besoins. Ces types de barre
alternative doivent être choisis parmi les types prédéfinis ou
préalablement créés à l’aide d’une commande \defineBarLine
–
voir Barres de mesure.
\defineBarLine ":|.S[" #'(":|." "S[" "") \defineBarLine "]" #'("]" "" "") \relative { e'1 \repeat volta 2 { f2 g a b \once \set Score.endRepeatSegnoType = ":|.S[" \inStaffSegno } f2 g \bar "]" a b c1_"D.S." \bar "|." }
Morceaux choisis
Diminution de la taille du crochet d’alternative
Les crochets indiquant les fins alternatives s’étalent tout au long de
celles-ci. On peut les raccourcir en jouant sur la propriété
voltaSpannerDuration
. Dans l’exemple suivant, le crochet ne se
prolonge que sur une mesure à 3/4.
\relative c'' { \time 3/4 c4 c c \set Score.voltaSpannerDuration = #(ly:make-moment 3/4) \repeat volta 5 { d4 d d } \alternative { { e4 e e f4 f f } { g4 g g } } }
Ajout du crochet de reprise à d’autres portées
D’ordinaire, le graveur Volta_engraver
réside dans le contexte
Score
; les crochets précédant une reprise s’impriment donc
seulement au-dessus de la portée du haut. On peut ajuster cela en
déplaçant ce graveur vers les contextes de portée (Staff
) qui
doivent comporter ces crochets.
<< \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } >>
Succession de reprises et style de barre par défaut
LilyPond dispose de trois différents styles de barre pour indiquer une
succession de reprises. Vous devez opter pour un style par défaut, à
l’aide de la propriété doubleRepeatType
.
\relative c'' { \repeat volta 1 { c1 } \set Score.doubleRepeatType = #":..:" \repeat volta 1 { c1 } \set Score.doubleRepeatType = #":|.|:" \repeat volta 1 { c1 } \set Score.doubleRepeatType = #":|.:" \repeat volta 1 { c1 } }
Numérotation des mesures et alternatives
Deux méthodes alternatives vous permettent de gérer la numérotation des mesures en cas de reprises.
\relative c'{ \set Score.alternativeNumberingStyle = #'numbers \repeat volta 3 { c4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 \break \set Score.alternativeNumberingStyle = #'numbers-with-letters \repeat volta 3 { c,4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 }
Voir aussi
Glossaire musicologique : répétition, volta.
Manuel de notation : Barres de mesure, Gestion du temps, Modification des greffons de contexte, Modification des liaisons.
Fichiers d’initialisation : ‘ly/engraver-init.ly’.
Morceaux choisis : Répétitions.
Référence des propriétés internes : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.
Problèmes connus et avertissements
L’extension d’une liaison à partir d’un bloc \repeat
sur un bloc
\alternative
n’est possible que pour la première alternative.
L’aspect visuel d’une liaison se continuant dans les autres
alternatives, peut être simulé à l’aide de la commande
\repeatTie
lorsqu’elle s’arrête sur sa première note –
méthode qui cependant ne fonctionne pas pour un TabStaff
.
D’autres moyens existent pour indiquer la prolongation d’une
liaison sur des alternatives, y compris dans un TabStaff
,
en suivant les préceptes donnés à la rubrique
Modification des liaisons.
Selon le même principe, une liaison ne saurait partir de la fin d’une alternative pour se terminer au début de la reprise.
L’extension d’un glissando à partir d’un bloc \repeat
sur
un bloc \alternative
n’est possible que pour la première
alternative. L’aspect visuel d’un glissando se continuant dans
les autres alternatives peut être simulé à l’aide d’un glissando
partant d’une note d’ornement supplémentaire et masquée. Un
exemple se trouve à la rubrique Glissando.
Le développement, à l’aide de la commande \unfoldRepeats
, d’une
répétition qui commence sur une mesure incomplète et contient un bloc
alternative
avec modification de la propriété
measureLength
entraînera des messages d’erreur concernant le
placement des barres de mesure.
Des reprises imbriquées telles que
\repeat … \repeat … \alternative
présentent une ambiguïté, dans la mesure où l’on ne sait à quelle
section \repeat
attribuer la section \alternative
. Pour
résoudre cette ambiguïté, il convient de toujours insérer la commande
\alternative
à l’intérieur de la section \repeat
. Il est
préférable, dans une telle situation, d’utiliser des accolades pour plus
de clarté.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions courantes ] | [Plus haut: Répétition d'un long passage ] | [ Répétitions explicites > ] |
Indications de reprise manuelles
Note : Les méthodes présentées dans les lignes qui suivent ne
devraient servir à indiquer que des constructions de répétition
inhabituelles. En règle générale, il vaut mieux recourir à la fonction
\repeat
pour créer une reprise ou bien insérer la barre de
mesure adéquate. Pour plus d’information, voir le chapitre
Barres de mesure.
La propriété repeatCommands
sert à contrôler la mise en forme des
reprises. On la définit par une suite de commandes de reprise Scheme.
-
start-repeat
Pour imprimer une barre de reprise
.|:
\relative { c''1 \set Score.repeatCommands = #'(start-repeat) d4 e f g c1 }
Traditionnellement, on n’imprime pas de signe de reprise en début de morceau.
-
end-repeat
Pour imprimer une barre de reprise
:|.
\relative { c''1 d4 e f g \set Score.repeatCommands = #'(end-repeat) c1 }
-
(volta nombre) … (volta #f)
Pour obtenir un crochet indiquant le numéro de l’alternative. Pour que le crochet s’imprime effectivement, il faut spécifier explicitement l’endroit où il doit se terminer.
\relative { f''4 g a b \set Score.repeatCommands = #'((volta "2")) g4 a g a \set Score.repeatCommands = #'((volta #f)) c1 }
Plusieurs commandes de reprise peuvent intervenir au même moment :
\relative { f''4 g a b \set Score.repeatCommands = #'((volta "2, 5") end-repeat) g4 a g a c1 \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat) b1 \set Score.repeatCommands = #'((volta #f)) }
Le crochet indiquant une alternative peut contenir aussi du texte. Il peut s’agir d’un ou plusieurs nombres ou bien d’une indication textuelle (markup) – voir Mise en forme du texte. Le plus simple, dans le cas d’une indication textuelle, est de tout d’abord définir ce markup, puis de l’inclure dans une liste Scheme.
voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } } \relative { c''1 \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat) c4 b d e \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat) f1 \set Score.repeatCommands = #'((volta #f)) }
Voir aussi
Manuel de notation : Barres de mesure, Mise en forme du texte.
Morceaux choisis : Répétitions.
Référence des propriétés internes : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.
Répétitions explicites
Adjoindre à la commande \repeat
l’opion unfold
permet de
s’affranchir de ressaisir de la musique répétitive. En voici la
syntaxe :
\repeat unfold nombre_de_fois expression_musicale
Le contenu de expression_musicale sera donc expansé autant de fois que stipulé par nombre_de_fois.
\relative { \repeat unfold 2 { c''4 d e f } c1 }
Dans certains cas, et tout particulièrement dans un contexte
\relative
, la fonction \repeat unfold
ne revient pas à
écrire littéralement la même expression musicale plusieurs fois.
Ainsi :
\repeat unfold 2 { a'4 b c }
n’est pas équivalent à
a'4 b c | a'4 b c
Une répétition expansée peut aussi avoir une fin alternative :
\relative { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } } c1 }
Si l’on donne trop peu d’alternatives en regard du nombre de fois où le passage doit être rejoué, la première alternative sera jouée plusieurs fois.
\relative { \repeat unfold 4 { c''4 d e f } \alternative { { c2 g' } { c,2 b } { e2 d } } c1 }
S’il y a par contre plus d’alternatives que de répétitions, les alternatives superflues seront tout simplement ignorées et ne seront pas imprimées.
\relative { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } { e2 d } } c1 }
Vous pouvez imbriquer plusieurs fonctions unfold
, qu’elles
comportent ou non des fins alternatives :
\relative { \repeat unfold 2 { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } } } c1 }
Une construction en accord peut se répéter à l’aide du symbole q
– voir Répétition d’accords.
Note : L’insertion d’un \relative
dans une section
\repeat
sans déclaration explicite du contexte Voice
génèrera une portée supplémentaire – voir
Apparition d'une portée supplémentaire.
Voir aussi
Manuel de notation : Répétition d’accords.
Morceaux choisis : Répétitions.
Référence des propriétés internes : RepeatedMusic, UnfoldedRepeatedMusic.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions explicites ] | [Plus haut: Répétitions et reprises ] | [ Répétitions de mesure > ] |
1.4.2 Autres types de répétition
Nous abordons ici les reprises de courte durée. Il en existe deux formes, à savoir la répétition d’une même note sur quelques mesures – représentée par une barre oblique ou le signe pourcent – et les trémolos.
Répétitions de mesure | ||
Répétitions en trémolo |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Autres types de répétition ] | [Plus haut: Autres types de répétition ] | [ Répétitions en trémolo > ] |
Répétitions de mesure
Le style de « reprise en pourcent » sert à répéter une séquence de notes. Elle sera imprimée une fois, puis remplacée par un symbole spécial.
En voici la syntaxe :
\repeat percent nombre expression_musicale
Les séquences inférieures à une mesure sont remplacées par une barre oblique.
\relative c'' { \repeat percent 4 { c128 d e f } \repeat percent 4 { c64 d e f } \repeat percent 5 { c32 d e f } \repeat percent 4 { c16 d e f } \repeat percent 4 { c8 d } \repeat percent 4 { c4 } \repeat percent 2 { c2 } }
Les séquences d’une ou deux mesures sont remplacées par un symbole qui ressemble au symbole de pourcentage.
\relative c'' { \repeat percent 2 { c4 d e f } \repeat percent 2 { c2 d } \repeat percent 2 { c1 } }
\relative { \repeat percent 3 { c''4 d e f | c2 g' } }
Les séquences inférieures à la mesure et qui contiennent des durées différentes sont remplacées par un double symbole de pourcentage.
\relative { \repeat percent 4 { c''8. <d f>16 } \repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } }
Morceaux choisis
Compteur de répétition en pourcent
Les répétitions de plus de deux mesures sont surmontées d’un compteur,
si l’on active la propriété countPercentRepeats
comme le montre
l’exemple suivant :
\relative c'' { \set countPercentRepeats = ##t \repeat percent 4 { c1 } }
Affichage du numéro de répétition en pourcent
Le numéro de mesure répétée sera imprimé à intervalle régulier si vous
déterminez la propriété de contexte repeatCountVisibility
.
\relative c'' { \set countPercentRepeats = ##t \set repeatCountVisibility = #(every-nth-repeat-count-visible 5) \repeat percent 10 { c1 } \break \set repeatCountVisibility = #(every-nth-repeat-count-visible 2) \repeat percent 6 { c1 d1 } }
Répétition en pourcent isolée
Des symboles de pourcentage isolés peuvent aussi être obtenus au moyen d’un silence multimesure dont on modifie l’aspect :
makePercent = #(define-music-function (note) (ly:music?) "Make a percent repeat the same length as NOTE." (make-music 'PercentEvent 'length (ly:music-length note))) \relative c'' { \makePercent s1 }
Voir aussi
Glossaire musicologique : percent repeat, simile.
Morceaux choisis : Répétitions.
Référence des propriétés internes : RepeatSlash, RepeatSlashEvent, DoubleRepeatSlash, PercentRepeat, PercentRepeatCounter, PercentRepeatedMusic, Percent_repeat_engraver, DoublePercentEvent, DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeatCounter, PercentRepeatedMusic. Double_percent_repeat_engraver, Slash_repeat_engraver.
Problèmes connus et avertissements
Les répétitions en pourcent ne peuvent contenir rien d’autre que le signe pourcent lui-même ; en particulier, les changements de métrique ne seront pas répété.
\repeat percent 3 { \time 5/4 c2. 2 \time 4/4 2 2 }
Tout changement de métrique ou insertion d’une commande \partial
devra impérativement se traîter sous forme de construction parallèle,
en dehors de la répétition en pourcentage :
<< \repeat percent 3 { c2. 2 2 2 } \repeat unfold 3 { \time 5/4 s4*5 \time 4/4 s1 } >>
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions de mesure ] | [Plus haut: Autres types de répétition ] | [ Notes simultanées > ] |
Répétitions en trémolo
Il y a deux formes de trémolo : la répétition alernative de deux notes ou accords, et la répétition rapide d’une seule note ou d’un accord. Lorsqu’il est constitué d’une alternance répétitive, le trémolo s’indique en ajoutant des barres de ligature entre les deux notes ou accords concernés. Lorsqu’il s’agit d’une répétition rapide, des barres de ligature penchées sont ajoutées à la note en question.
On peut placer une notation de trémolo entre deux notes, avec la
commande \repeat
suivie du style trémolo :
\relative c'' { \repeat tremolo 8 { c16 d } \repeat tremolo 6 { c16 d } \repeat tremolo 2 { c16 d } }
La syntaxe de \repeat tremolo
requiert expressément deux notes
encadrées par des accolades, et le nombre de répétitions exprimé en
durée d’une note (pointée ou non). Ainsi, dans l’exemple ci-dessus,
\repeat tremolo 7
est valide car correspond à une note
doublement pointée, à l’inverse de \repeat tremolo 9
.
La durée d’un trémolo est égale à la durée de l’expression entre
accolades multipliée par le nombre de fois à répéter :
\repeat tremolo 8 { c16 d16 }
correspond donc à la valeur d’une
ronde, et sera représenté par deux rondes séparées par des barres de
trémolo.
On peut indiquer de la même manière un trémolo sur une seule note, qu’il faudra alors laisser sans accolades :
\repeat tremolo 4 c'16
Le même résultat s’obtient en faisant suivre la note considérée
de deux points et d’un nombre (note:nombre
).
Le nombre en question correspond à la valeur de la subdivision ;
il doit être au moins de 8, auquel cas la hampe sera barrée par un
seul trait de ligature. Si ce nombre est omis, la dernière valeur sera
utilisée.
\relative { c''2:8 c:32 c: c: }
Morceaux choisis
Trémolo et changement de portée
Dans la mesure où \repeat tremolo
requiert deux arguments
musicaux pour un trémolo d’accords, la note ou l’accord de la portée
opposée doit être encadré par des accolades et se voir adjoindre la
commande \change Staff
.
\new PianoStaff << \new Staff = "up" \relative c'' { \key a \major \time 3/8 s4. } \new Staff = "down" \relative c'' { \key a \major \time 3/8 \voiceOne \repeat tremolo 6 { <a e'>32 { \change Staff = "up" \voiceTwo <cis a' dis>32 } } } >>
Voir aussi
Morceaux choisis : Répétitions.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétitions en trémolo ] | [Plus haut: Notation musicale générale ] | [ Monophonie > ] |
1.5 Notes simultanées
La notion musicale de polyphonie fait référence au fait d’avoir plus d’une voix simultanément dans une pièce. Dans LilyPond, la notion de polyphonie fait référence au fait d’avoir plus d’une voix sur la même portée.
1.5.1 Monophonie | ||
1.5.2 Plusieurs voix |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Notes simultanées ] | [Plus haut: Notes simultanées ] | [ Notes en accords > ] |
1.5.1 Monophonie
Nous allons voir ici comment gérer plusieurs notes simultanées dans une même voix.
Notes en accords | ||
Répétition d’accords | ||
Expressions simultanées | ||
Clusters |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Monophonie ] | [Plus haut: Monophonie ] | [ Répétition d'accords > ] |
Notes en accords
Un accord est formé en mettant une série de hauteurs entre <
et >
. Un accord peut être suivi d’une durée comme une simple
note.
\relative { <a' c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16 }
Un accord peut être suivi d’une indication d’articulation comme une simple note.
\relative { <a' c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^! <g c e>16-. }
Certaines notes, au sein même d’un accord, peuvent être affectées d’une articulation ou d’un ornement :
\relative { <a' c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4 <a-+ c-->8. <g\fermata c e\turn>16 }
Certains éléments de notation, tels que nuances et soufflets ne peuvent se rattacher qu’à un accord et non aux notes qui le composent, sous peine de ne les voir s’imprimer. D’autres éléments, tels que doigtés ou liaisons, seront placés différemment selon qu’ils sont rattachés à des notes composant un accord, à un accord dans sa globalité ou à des notes individuelles.
\relative { <a'\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>) <a c e>\< <a c e> <a c e>\! }
Un accord peut se voir comme un conteneur de notes, articulations et autres éléments rattachés. Par voie de conséquence, un accord dépourvu de note n’a pas de durée ; toute articulation qui lui serait attachée interviendra au même moment que la note ou l’accord qui le suit et lui sera donc combiné – pour des combinaisons plus complexes, voir Expressions simultanées.
\relative { \grace { g'8( a b } <> ) \p \< -. -\markup \italic "sempre staccato" \repeat unfold 4 { c4 e } c1\f }
Les accords peuvent être saisis en mode relatif. Dans un accord, l’octave de chaque hauteur saisie est fonction de la précédente, à l’exception de la première qui, elle, sera positionnée en fonction de la première hauteur mentionnée dans l’accord précédent ou de la note individuelle précédente. Les autres notes au sein de l’accord se positionnent relativement à la précédente dans cet accord.
\relative { <a' c e>1 <f a c> <a c e> <f' a c> <b, e b,> }
Pour plus d’information à propos des accords, voir Notation des accords.
Voir aussi
Glossaire musicologique : accord.
Manuel d’initiation : Combinaison de notes en accords.
Manuel de notation : Articulations et ornements, Notation des accords. Octaves relatives, Plusieurs voix.
Morceaux choisis : Notes simultanées.
Problèmes connus et avertissements
Un accord comportant plus de deux notes dans le même « espace de portée » – tel que ‘<e f! fis!>’ – conduit immanquablement à des chevauchements. En fonction de la situation, un meilleur rendu peut nécessiter de recourir à
- l’utilisation temporaire de Plusieurs voix, ‘<< f! \\ <e fis!> >>’,
- une transcription enharmonique d’une ou plusieurs hauteurs, ‘<e f ges>’, ou
- des Clusters.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Notes en accords ] | [Plus haut: Monophonie ] | [ Expressions simultanées > ] |
Répétition d’accords
Dans le but de vous épargner de la saisie, LilyPond dispose d’un
raccourci – symbolisé par la lettre q
– qui a pour effet de
répéter le dernier accord saisi :
\relative { <a' c e>1 q <f a c>2 q }
À l’instar de n’importe quel accord, le symbole de répétition peut être affublé d’une durée, de signes d’articulation, markups, liaisons, ligatures… En fait, c’est la structure du dernier accord qui est dupliquée.
\relative { <a' c e>1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall }
Dans la mesure où le symbole de répétition d’accord enregistre la structure du dernier accord construit, il est tout à fait possible de l’utiliser même après une succession de notes individuelles et de silences :
\relative { <a' c e>1 c'4 q2 r8 q8 | q2 c, | }
Le symbole de répétition d’accord ne prend en charge que les hauteurs, en aucun cas les nuances, articulations ou ornementations, qu’elles aient été attachées aux notes le composant ou à l’ensemble.
\relative { <a'-. c\prall e>1\sfz c'4 q2 r8 q8 | q2 c, | }
Le seul moyen de les reproduire consiste à utiliser explicitement la
fonction \chordRepeats
, en lui adjoignant un argument
supplémentaire qui recense les types d’événement à répéter et qui
seraient absents de l’accord construit par un q
.
\relative { \chordRepeats #'(articulation-event) { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } | q2 c, | }
Comme vous pouvez le constater, l’utilisation de \chordRepeats
au
sein d’un bloc \relative
ne produit pas le résultat
escompté : les événements de l’accord expansés sont identiques à la
saisie traditionnelle d’un accord, ce qui a pour conséquence que l’octave
affectée par \relative
repose sur le contexte en cours.
Dans la mesure où l’imbrication de clauses \relative
n’est pas
source d’interférence, l’ajout d’un \relative
à ce qui sera
concerné par l’instruction \chordRepeats
permet d’établir une
relation d’octave entre les accords dès avant leur expansion. Dans le
cas présent, l’intégralité du bloc \relative
intérieur n’affecte
en rien ce qui l’entoure, ce qui explique la spécification d’octave
attachée à la dernière note :
\new Voice \relative { \chordRepeats #'(articulation-event) \relative { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } | q2 c'' | }
Les interactions avec \relative
ne se produisent que lors d’un
appel explicite de \chordRepeats
: l’expansion implicite en
début de saisie intervient à un moment où toutes les instances de
\relative
ont déjà été interprétées.
Voir aussi
Manuel de notation : Articulations et ornements, Notation des accords.
Fichiers d’initialisation : ‘ly/chord-repetition-init.ly’.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Répétition d'accords ] | [Plus haut: Monophonie ] | [ Clusters > ] |
Expressions simultanées
Lorsqu’une ou plusieurs expressions musicales sont encadrées par des doubles chevrons, elles sont considérées comme étant simultanées. Si la première expression débute par une note unique ou si l’intégralité de l’expression simultanée est explicitement rattachée à une voix en particulier, elle sera placée sur une seule portée. Dans le cas contraire, les éléments d’une expression simultanée seront placés sur des portées distinctes.
Voici deux exemples d’expression simultanée sur une même portée :
\new Voice { % explicit single voice << \relative { a'4 b g2 } \relative { d'4 g c,2 } >> }
\relative { % single first note a' << \relative { a'4 b g } \relative { d'4 g c, } >> }
Cette manière de procéder est utile lorsque les éléments de l’expression
ont des rythmes identiques. Dès que vous tenterez d’attacher sur une
même hampe des notes de durée différente, vous générerez des erreurs.
Notes, articulations et modifications de propriétés au sein d’un même
Voice
sont enregistrées et gravées selon l’ordre musical :
\relative { <a' c>4-. <>-. << c a >> << { c-. <c a> } { a s-. } >> }
La présence de plusieurs hampes, ligatures, durées ou propriétés au même instant musical nécessite l’utilisation de plusieurs voix.
Dans l’exemple suivant, l’expression simultanée génère implicitement plusieurs portées :
% no single first note << \relative { a'4 b g2 } \relative { d'4 g2 c,4 } >>
En pareil cas, des rythmes différents ne sont source d’aucun problème puisqu’ils sont interprétés dans des voix différentes.
Problèmes connus et avertissements
Des notes, bien qu’appartenant à des voix différentes, mais dont les hampes ont la même orientation, peuvent se retrouver au même endroit sur la portée, ce quelque soit le décalage que vous auriez pu leur appliquer. Ceci ne manque pas de faire apparaître un message
warning: This voice needs a \voiceXx or \shiftXx setting en français : Avertissement : Cette voix requiert un voiceXx ou un réglage \shiftXx
lors de la compilation. Le déclenchement de cet avertissement peut être désactivé par une clause
\override NoteColumn.ignore-collision = ##t
Ceci n’aura pas pour seule conséquence que ce message ne sera plus émis ; les procédures d’évitement de collision de quelqu’ordre que ce soit seront désactivées, ce qui peut conduire à quelques effets inattendus (voir aussi Problèmes connus et avertissements à la rubrique Résolution des collisions).
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Expressions simultanées ] | [Plus haut: Monophonie ] | [ Plusieurs voix > ] |
Clusters
Un cluster indique un agrégat de sons. On peut le représenter par une
plage limitée par un ambitus (notes extrêmes). On obtient une
telle notation en appliquant la fonction \makeClusters
à une
séquence d’accords, comme
\relative \makeClusters { <g' b>2 <c g'> }
Des notes ordinaires et des clusters peuvent cohabiter sur une même portée, y compris simultanément – en pareil cas, rien ne sera fait pour tenter d’empêcher les chevauchements entre notes et clusters.
Voir aussi
Glossaire musicologique : cluster.
Morceaux choisis : Notation simultanée.
Référence des propriétés internes : ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver.
Problèmes connus et avertissements
L’apparence d’un cluster sera extrêmement resserrée s’il ne comporte au moins deux accords.
Dans la mesure où un cluster ne possède pas de hampe, il n’y a aucun moyen d’en connaître la durée ; cependant la longueur du signe imprimé dépend directement de la durée affectée aux accords qui le définissent.
Seul un silence peut séparer deux clusters.
Les clusters ne sont pas reproduits en MIDI.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Clusters ] | [Plus haut: Notes simultanées ] | [ Polyphonie sur une portée > ] |
1.5.2 Plusieurs voix
Nous allons nous intéresser, dans les paragraphes qui suivent, à la gestion de notes simultanées réparties sur plusieurs voix ou plusieurs portées.
Polyphonie sur une portée | ||
Styles de voix | ||
Résolution des collisions | ||
Fusion de silences | ||
Regroupement automatique de parties | ||
Saisie de musique en parallèle |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Plusieurs voix ] | [Plus haut: Plusieurs voix ] | [ Styles de voix > ] |
Polyphonie sur une portée
Instanciation explicite des voix
La manière la plus facile d’entrer des fragments avec plus d’une voix sur une portée est la suivante :
\new Staff << \new Voice = "first" \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d } \new Voice= "second" \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >>
Vous constaterez que les voix sont créées explicitement et qu’elles
sont nommées. Les commandes \voiceOne
… \voiceFour
déterminent les voix de telle sorte que les première et troisième
auront des hampes vers le haut, et les deuxième et quatrième vers le
bas. D’autre part, les notes des troisième et quatrième voix seront
quelque peu décalées, tout comme leurs silences, afin d’éviter les
collisions. La commande \oneVoice
permet de retrouver les
réglages par défaut.
Polyphonie temporaire
Un fragment temporairement polyphonique se construit de la manière suivante :
<< { \voiceOne ... } \new Voice { \voiceTwo ... } >> \oneVoice
En fait, la première expression d’une polyphonie temporaire reste dans
le même contexte Voice
que celui existant auparavant et qui
perdurera après ce fragment. Les autres expressions entre doubles
chevrons seront assignées à des voix temporaires distinctes. C’est la
raison pour laquelle les paroles qui suivaient la voix avant la
polyphonie continueront à le faire durant ce passage polyphonique et
après lui :
\relative << \new Voice = "melody" { a'4 << { \voiceOne g f } \new Voice { \voiceTwo d2 } >> \oneVoice e4 } \new Lyrics \lyricsto "melody" { This is my song. } >>
Vous remarquerez que les commandes \voiceOne
et \voiceTwo
permettent d’obtenir des réglages différents pour chacune des voix.
La construction avec un double antislash
Une construction de la forme << {…} \\ {…} >>
,
dans laquelle plusieurs expressions sont séparées par des doubles
obliques inversées, se comporte différemment de celle sans séparateur :
tous les membres de cette construction seront assignés à de
nouveaux contextes de voix. Ces contextes de voix, créés implicitement,
portent les noms "1"
, "2"
, etc. Dans chacun de ces
contextes, le positionnement des liaisons, la direction des hampes, etc.
sont réglés de manière appropriée. En voici un exemple :
<< \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d } \\ \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >>
Cette syntaxe peut être utilisée dans la mesure où la création puis la
disparition de voix temporaires sont sans conséquence. Les réglages de
ces voix créées implicitement sont les mêmes que si elles avaient été
créées à l’aide des commandes \voiceOne
à \voiceFour
, dans
leur ordre d’apparition.
Dans l’exemple qui suit, la voix intermédiaire a des hampes vers le
haut. Nous la plaçons donc en troisième position, de telle sorte
qu’elle adopte les réglages de \voiceThree
qui correspondent à ce
que nous voulons. Grâce à des espaces invisibles, nous évitons de
surcharger la portée avec des demis soupirs.
<< \relative { r8 g'' g g g f16 ees f8 d } \\ \relative { ees'8 r ees r d r d r } \\ \relative { d''8 s c s bes s a s } >>
En dehors des cas les plus simples, nous vous invitons à toujours créer les contextes de voix de manière explicite. Voir à ce sujet Contextes et graveurs et Instanciation explicite des voix.
Ordre des voix
L’ordre dans lequel doivent apparaître les voix d’une construction simultanée suit le schéma suivant :
Voix 1 : la plus haute Voix 2 : la plus basse Voix 3 : deuxième plus haute Voix 4 : deuxième plus basse Voix 5 : troisième plus haute Voix 6 : troisième plus basse etc.
Cette présentation en entonnoir peut sembler quelque peu contre-intuitive ; elle simplifie cependant grandement le processus de mise en forme. Vous noterez que les hampes des voix au numéro impair vont vers le haut, celles des voix paires vers le bas :
\new Staff << \time 2/4 { f''2 } % 1: highest \\ { c'2 } % 2: lowest \\ { d''2 } % 3: second-highest \\ { e'2 } % 4: second-lowest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest >>
La commande \voices
permet de gérer l’ordre de saisie des voix :
\new Staff \voices 1,3,5,6,4,2 << \time 2/4 { f''2 } % 1: highest \\ { d''2 } % 3: second-highest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest \\ { e'2 } % 4: second-lowest \\ { c'2 } % 2: lowest >>
Note : Paroles et objets étendus (liaisons, soufflets, etc.) ne peuvent passer d’une voix à l’autre.
Identité rythmique
Lorsque l’on doit saisir des fragments de musique parallèle qui ont le même rythme, on peut les combiner dans un contexte de voix unique et par voie de conséquence former des accords. Il suffit pour cela de les regrouper dans une construction de musique simultanée simple au sein d’une voix explicite :
\new Voice << \relative { e''4 f8 d e16 f g8 d4 } \relative { c''4 d8 b c16 d e8 b4 } >>
Prenez garde que les différents éléments doivent impérativement avoir la même structure rythmique, sous peine de ligature aléatoire et de messages d’avertissement.
Commandes prédéfinies
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
,
\oneVoice
.
Voir aussi
Manuel d’initiation : Instanciation explicite des voix, Les voix contiennent la musique.
Manuel de notation : Hampes, Portées de percussion, Silences invisibles.
Morceaux choisis : Notation simultanée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Polyphonie sur une portée ] | [Plus haut: Plusieurs voix ] | [ Résolution des collisions > ] |
Styles de voix
Opter pour des couleurs et des têtes de notes spécifiques selon la voix permet de les identifier plus facilement :
<< \relative { \voiceOneStyle d''4 c2 b4 } \\ \relative { \voiceTwoStyle e'2 e } \\ \relative { \voiceThreeStyle b2. c4 } \\ \relative { \voiceFourStyle g'2 g } >>
La commande \voiceNeutralStyle
permet de revenir à une
présentation normale.
Commandes prédéfinies
\voiceOneStyle
,
\voiceTwoStyle
,
\voiceThreeStyle
,
\voiceFourStyle
,
\voiceNeutralStyle
.
Voir aussi
Manuel d’initiation : Autres sources de documentation, J'entends des Voix.
Morceaux choisis : Notation simultanée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Styles de voix ] | [Plus haut: Plusieurs voix ] | [ Fusion de silences > ] |
Résolution des collisions
Les notes de hauteur identique appartenant à des voix différentes, même si leur hampe sont opposées, verront leur tête automatiquement fusionner. Les notes dont la tête diffère ou bien qui ont la hampe dans la même direction ne seront pas automatiquement fusionnées. Les silences, lorsqu’ils sont dans une autre voix et à l’opposé des hampes seront décalés verticalement. Vous constaterez, dans l’exemple suivant, que la fusion échoue aux premier et troisième temps de la première mesure, ainsi qu’au premier temps de la deuxième mesure.
<< \relative { c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
Cependant, vous pouvez fusionner une tête de blanche avec une tête de croche – jamais avec une noire. Les têtes du premier temps de la première mesure ont bien fusionné :
<< \relative { \mergeDifferentlyHeadedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
De même, vous pouvez fusionner les têtes de notes pointées et non pointées comme au troisième temps de la première mesure :
<< \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
Lorsque trois notes ou plus s’agglutinent dans un même empilement,
\mergeDifferentlyHeadedOn
ne peut mener à bien la fusion des deux
notes qui devraient l’être. Pour obtenir une fusion optimale, appliquez
un décalage (\shift
) à la note qui ne devrait pas fusionner.
Ici, on applique un \shiftOn
pour décaler le sol de
l’empilement ; le rendement de \mergeDifferentlyHeadedOn
est
alors comme il faut.
<< \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 \shiftOn g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
La commande \shiftOn
permet, sans pour autant le forcer, un
décalage des notes d’une voix en particulier. Une note ou un accord
appartenant à cette voix ne seront décalés que si leur hampe menaçait
d’entrer en collision avec une hampe appartenant à une autre voix allant
dans la même direction. La commande \shiftOff
interdit
l’apparition de décalage.
Les voix externes – habituellement les voix une et deux – sont
affectées de \shiftOff
, alors que les voix internes – trois et
quatre – sont affectées de \shiftOn
. Lorsqu’un décalage
intervient, les notes dont les hampes sont ascendantes (voix impaire)
iront vers la droite, et les notes à hampe descendante (voix paire)
iront vers la gauche.
Voici un exemple qui vous permettra de bien visualiser ce qui se passe en interne.
Note : Lorsqu’il y a trois voix ou plus, prenez garde au fait que l’ordre d’apparition des voix dans votre fichier ne correspond pas à l’ordre vertical des voix tel qu’il apparaîtra sur la portée.
\new Staff \relative { %% saisie abrégée << { f''2 } % 1 : extrême haute \\ { g,2 } % 2 : extrême basse \\ { d'2 } % 3 : intermédiaire haute \\ { b2 } % 4 : intermédiaire basse >> %% expansion en interne de ce qui précède << \new Voice = "1" { \voiceOne \shiftOff f'2 } \new Voice = "2" { \voiceTwo \shiftOff g,2 } \new Voice = "3" { \voiceThree \shiftOn d'2 } % décale à droite \new Voice = "4" { \voiceFour \shiftOn b2 } % décale à gauche >> }
Les commandes \shiftOnn
et \shiftOnnn
sont des niveaux
supplémentaires de décalage qui peuvent s’adopter temporairement dans
certaines situations complexes – voir
Exemple concret.
Les têtes de notes ne fusionneront que dans la mesure où leur hampe sont opposées – implicitement parce qu’appartenant aux voix une ou deux, ou bien explicitement.
Commandes prédéfinies
\mergeDifferentlyDottedOn
,
\mergeDifferentlyDottedOff
,
\mergeDifferentlyHeadedOn
,
\mergeDifferentlyHeadedOff
.
\shiftOn
,
\shiftOnn
,
\shiftOnnn
,
\shiftOff
.
Morceaux choisis
Ajout de voix pour éviter les collisions
Dans certains cas de musique polyphonique complexe, une voix
supplémentaire peut permettre d’éviter les risques de collision.
Lorsque quatre voix parallèles ne suffisent pas, la fonction Scheme
context-spec-music
permet d’ajouter encore d’autres voix.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << \new Voice { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \new Voice { \voiceTwo d,2 d4 cis2 d4 bes2 } \new Voice { \voiceThree f'2 bes4 a2 a4 s2 } \new Voice { \voiceFive s2 g4 g2 f4 f2 } >> }
Déplacement des notes pointées dans une polyphonie
Une note pointée appartenant à la voix supérieure d’une portée
polyphonique sera par défaut décalée vers la droite afin d’éviter les
collisions avec les autres voix. Ce comportement peut être outrepassé à
l’aide de la propriété prefer-dotted-right
de
NoteCollision
.
\new Staff \relative c' << { f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##f f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##t f2. f4 } \\ { e4 e e e e e e e e e e e } >>
Décalage horizontal forcé
Quand LilyPond est dépassé, la propriété force-hshift
de l’objet
NoteColumn
et des silences à hauteur déterminée peuvent s’avérer
utiles pour dicter au programme les choix de placement. On travaille ici
en espace de portée.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn.force-hshift = #1.7 <b f'>2 } >>
Voir aussi
Glossaire musicologique : polyphonie.
Manuel d’initiation : Exemple concret, Les voix contiennent la musique, Notes simultanées.
Morceaux choisis : Notation simultanée.
Référence des propriétés internes : NoteColumn, NoteCollision, RestCollision.
Problèmes connus et avertissements
Une clause \override NoteColumn.ignore-collision = ##t
aura
pour effet une fusion incorrecte des têtes de note différentes à partir
de voix différentes.
\mergeDifferentlyHeadedOn << \relative { c'16 a' b a } \\ \relative { c'2 } >> \override NoteColumn.ignore-collision = ##t << \relative { c'16 a' b a } \\ \relative { c'2 } >>
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Résolution des collisions ] | [Plus haut: Plusieurs voix ] | [ Regroupement automatique de parties > ] |
Fusion de silences
Il est d’usage, lorsque plusieurs voix cohabitent, de fusionner les
silences qui apparaissent simultanément dans différentes parties. Ceci
peut s’obtenir à l’aide du Merge_rests_engraver
.
voiceA = \relative { d''4 r d2 | R1 | } voiceB = \relative { fis'4 r g2 | R1 | } \score { << \new Staff \with { instrumentName = "unmerged" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> \new Staff \with { instrumentName = "merged" \consists "Merge_rests_engraver" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> >> }
La propriété de contexte suspendRestMerging
, lorsque activée par
un ##t
, permet de suspendre temporairement la fusion des
silences.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Fusion de silences ] | [Plus haut: Plusieurs voix ] | [ Saisie de musique en parallèle > ] |
Regroupement automatique de parties
Le regroupement automatique de parties vous permet de fusionner deux pupitres sur une seule portée, ceci dans le but de créer des partitions d’orchestre. Lorsque les deux parties sont identiques sur une certaine durée, une seule s’affiche. Lorsqu’elles diffèrent, deux voix séparées apparaissent, avec des hampes dont la direction est gérée automatiquement. Vous pouvez aussi identifier et faire ressortir les solos et parties a due.
Voici la syntaxe qui permet de combiner des parties :
\partCombine expression_musicale_1 expression_musicale_2
L’exemple suivant illustre les fonctionnalités élémentaires du combinateur de parties : positionner les parties sur une portée, gérer la direction des hampes et de la polyphonie. Les identifiants sont les mêmes pour la combinaison et les parties séparées.
instrumentOne = \relative { c'4 d e f | R1 | d'4 c b a | b4 g2 f4 | e1 | } instrumentTwo = \relative { R1 | g'4 a b c | d4 c b a | g4 f( e) d | e1 | } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partCombine \instrumentOne \instrumentTwo >>
Les notes de la troisième mesure n’apparaissent qu’une seule fois,
alors qu’elles ont été spécifiées deux fois (une fois dans chacune des
parties). La direction des hampes et des liaisons de tenue ou de phrasé
est gérée automatiquement, selon qu’il s’agisse d’un solo ou d’un
unisson. La première partie, dont le contexte s’appellera one
,
aura toujours ses hampes dirigées vers le haut et sera notée « Solo »,
alors que la deuxième, appelée two
, aura des hampes vers le bas
et sera notée « Solo II ». Les parties à l’unisson seront par défaut
estampillées d’un « a2 ».
Par défaut, le combinateur fusionnera deux notes de même hauteur en une
note a due, regroupera en accord les notes de même rythme et
dont l’intervalle est inférieur à une neuvième, enfin isolera les notes
séparées de plus d’une neuvième (ou si les voix se croisent) dans des
voix distinctes. Ceci peut s’adapter à l’aide d’une paire de nombres
fournie en argument optionnel à la commande \partCombine
: le
premier nombre spécifie l’intervalle à partir duquel les notes seront
combinées (0 par défaut) et le second celui à partir duquel les notes
seront placées dans des voix séparées. Un second élément de cette paire
à zéro obligera le combinateur à séparer les notes dès la seconde ; s’il
est à un, elles seront séparées à partir de la tierce, et ainsi de
suite.
instrumentOne = \relative { a4 b c d | e f g a | b c d e | } instrumentTwo = \relative { c'4 c c c | c c c c | c c c c | } << \new Staff \partCombine \instrumentOne \instrumentTwo \new Staff \partCombine #'(2 . 3) \instrumentOne \instrumentTwo >>
LilyPond interprète dans un contexte Voice
chacun des arguments
fournis à \partCombine
. Si vous travaillez avec des octaves
relatives, spécifiez \relative
dans chacune des expressions
musicales, comme ceci :
\partCombine \relative … expression_musicale_1 \relative … expression_musicale_2
Une section \relative
à l’extérieur du \partCombine
restera sans effet sur les hauteurs de
expression_musicale_1
ou de
expression_musicale_2
.
En matière d’édition professionnelle, les voix sont souvent maintenues
séparément et sur une durée conséquente, bien que les notes des
différentes voix soient les mêmes et pourraient donc être présentées à
l’unisson. Dans la mesure où \partCombine
considère les notes
séparément, combiner des notes en accord ou indiquer un solo ne serait
pas optimal en pareil cas. LilyPond dispose alors de certaines
commandes qui permettent d’influencer le comportement de la fonction
\partCombine
. Ces commandes peuvent se voir préfixées d’un
\once
de sorte à n’affecter que la note qui les suit
directement dans l’expression musicale.
-
\partCombineApart
maintient les notes dans des voix séparées même si elles peuvent se combiner en accord ou en unisson. -
\partCombineChords
combine les notes en accords. -
\partCombineUnisono
combine les voix en un « unisson ». -
\partCombineSoloI
affiche exclusivement la première voix et l’affuble d’un « Solo ». -
\partCombineSoloII
affiche exclusivement la deuxième voix et l’affuble d’un « Solo ». -
\partCombineAutomatic
annule les effets des dérogations précédentes et active le comportement standard de la fonction\partCombine
.
instrumentOne = \relative c' { \partCombineApart c2^"apart" e | \partCombineAutomatic e2^"auto" e | \partCombineChords e'2^"chord" e | \partCombineAutomatic c2^"auto" c | \partCombineApart c2^"apart" \once \partCombineChords e^"chord once" | c2 c | } instrumentTwo = \relative { c'2 c | e2 e | a,2 c | c2 c' | c2 c | c2 c | } << \new Staff { \instrumentOne } \new Staff { \instrumentTwo } \new Staff { \partCombine \instrumentOne \instrumentTwo } >>
Utilisation de \partCombine
et paroles
La commande \partCombine
n’est pas conçue pour traiter des
paroles ; si l’une des voix est explicitement nommée, afin de lui
adjoindre des paroles, le combinateur de parties cessera de fonctionner.
Toutefois, le recours à un contexte NullVoice
permet d’obtenir
les effets escomptés – voir Polyphonie et paroles communes.
Morceaux choisis
Combinaison de deux parties sur une même portée
L’outil de combinaison de parties (la commande \partCombine
)
permet d’avoir deux parties différentes sur une même portée. LilyPond
ajoute automatiquement des indications textuelles, telles que « solo »
ou « a2 ». Si votre intention n’est que de fusionner les parties, sans
ajouter de texte, assignez faux à la propriété
printPartCombineTexts
. Dans le cas de partitions vocales, et
plus particulièrement d’hymnes, ces « solo/a2 » ne sont d’aucune
utilité, aussi vaut-il mieux les désactiver. Dans le cas où il y aurait
alternance entre solo et tutti, il vaut mieux faire appel
à de la musique polyphonique standard.
Voici trois moyens d’imprimer deux parties sur une même portée : en
polyphonie normale, avec \partCombine
sans indication
supplémentaire, et avec \partCombine
commentée.
%% Combining pedal notes with clef changes musicUp = \relative c'' { \time 4/4 a4 c4.( g8) a4 | g4 e' g,( a8 b) | c b a2. } musicDown = \relative c'' { g4 e4.( d8) c4 | r2 g'4( f8 e) | d2 \stemDown a } \score { << \new Staff \with { instrumentName = "Standard polyphony" } << \musicUp \\ \musicDown >> \new Staff \with { instrumentName = "PartCombine without text" printPartCombineTexts = ##f } \partCombine \musicUp \musicDown \new Staff \with { instrumentName = "PartCombine with text" } \partCombine \musicUp \musicDown >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar.collapse-height = #30 } } }
Modification des indications de parties combinées
Lorsque vous regroupez automatiquement des parties, vous pouvez modifier le texte qui sera affiché pour les solos et pour les parties à l’unisson :
\new Staff << \set Staff.soloText = #"girl" \set Staff.soloIIText = #"boy" \set Staff.aDueText = #"together" \partCombine \relative c'' { g4 g r r a2 g } \relative c'' { r4 r a( b) a2 g } >>
Voir aussi
Glossaire musicologique : a due, partie.
Manuel de notation : Écriture de parties séparées.
Morceaux choisis : Notation simultanée.
Référence des propriétés internes : PartCombineMusic, Voice.
Problèmes connus et avertissements
Les différentes commandes \partCombine…
ne prennent en
charge que deux voix. De la même manière, le combinateur n’est pas
conçu pour travailler avec des paroles ; il s’arrête dès qu’il est
explicitement fait appel à l’une des voix pour y attacher des paroles.
\partCombine…
ne peut s’inscrire ni dans un bloc
\tuplet
ni dans un bloc \relative
.
Lorsque printPartCombineTexts
est actif et que les deux voix
jouent souvent les mêmes notes, le combinateur peut afficher a2
plus d’une fois par mesure.
\partCombine
n’examine que l’attaque des notes. Il n’est donc
pas en mesure de déterminer si une note attaquée précédemment est encore
jouée ou non, ce qui peut engendrer quelques problèmes, entre autres des
indications de « Solo » ou « Unison » incorrectement placées.
\partCombine
conserve les objets étendus (liaisons, soufflets,
etc.) dans la même voix de sorte à éviter qu’ils soient improprement ou
pas du tout imprimés lorsque leur départ ou terminaison est dans une
voix différente.
En interne, \partCombine
interprète les deux arguments en tant
que Voice
s, dénommées one
et two
, puis décide de
quand les parties seront fusionnées. Par conséquent, si les arguments
changent pour d’autres noms de contexte Voice
, les
événements qu’ils contiendraient seront ignorés.
Certaines considérations apparaissent aussi dans les chapitres Tablatures par défaut et Barres de ligature automatiques.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Regroupement automatique de parties ] | [Plus haut: Plusieurs voix ] | [ Notation sur la portée > ] |
Saisie de musique en parallèle
On peut écrire plusieurs voix de façon entremêlée. La fonction
\parallelMusic
prend en charge une liste des variables à créer,
ainsi qu’une expression musicale. Le contenu des différentes mesures de
l’expression musicale deviennent les valeurs des variables respectives
que vous pourrez ensuite utiliser pour imprimer la partition.
Note : Les contrôles de barre de mesure |
sont obligatoires et
les mesures doivent être de longueur identique.
\parallelMusic voiceA,voiceB,voiceC { % Bar 1 r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' | r16 e'8.~ 4 r16 e'8.~ 4 | c'2 c'2 | % Bar 2 r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' | r16 d'8.~ 4 r16 d'8.~ 4 | c'2 c'2 | } \new StaffGroup << \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass \voiceC } >>
Vous pouvez travailler en mode relatif. Notez cependant que la commande
\relative
n’apparaît pas au sein du bloc \parallelMusic
.
Le calcul des hauteurs relatives s’effectue voix par voix, et non au fil
des lignes saisies ; en d’autres termes, les notes de la
voiceA
ignorent tout de celles de la voiceB
.
\parallelMusic voiceA,voiceB,voiceC { % Bar 1 r8 g16 c e g, c e r8 g,16 c e g, c e | r16 e8.~ 4 r16 e8.~ 4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ 4 r16 d8.~ 4 | c2 c | } \new StaffGroup << \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >> \new Staff \relative c' { \clef bass \voiceC } >>
Ceci fonctionne bien avec la musique pour piano. L’exemple suivant affecte quatre mesures à quatre variables :
global = { \key g \major \time 2/4 } \parallelMusic voiceA,voiceB,voiceC,voiceD { % Bar 1 a8 b c d | d4 e | c16 d e fis d e fis g | a4 a | % Bar 2 e8 fis g a | fis4 g | e16 fis g a fis g a b | a4 a | % Bar 3 ... } \score { \new PianoStaff << \new Staff { \global << \relative c'' \voiceA \\ \relative c' \voiceB >> } \new Staff { \global \clef bass << \relative c \voiceC \\ \relative c \voiceD >> } >> }
Voir aussi
Manuel d’initiation : Organisation du code source avec des variables.
Morceaux choisis : Notation simultanée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Saisie de musique en parallèle ] | [Plus haut: Notation musicale générale ] | [ Gravure des portées > ] |
1.6 Notation sur la portée
Cette section aborde les détails de gravure de la portée, la réalisation de partitions comprenant plusieurs portées et l’ajout d’indications globales d’exécution, présentes sur certaines portées seulement.
1.6.1 Gravure des portées | ||
1.6.2 Modification de portées individuelles | ||
1.6.3 Écriture de parties séparées |
1.6.1 Gravure des portées
Nous allons voir ici comment créer des portées et comment les regrouper.
Initialisation de nouvelles portées | ||
Regroupement de portées | ||
Imbrication de regroupements de portées | ||
Séparation des systèmes |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Gravure des portées ] | [Plus haut: Gravure des portées ] | [ Regroupement de portées > ] |
Initialisation de nouvelles portées
Les portées – en anglais staff (staves
au pluriel) – sont créées à l’aide des commandes \new
ou
\context
. Pour de plus amples détails, consultez
Création et référencement d’un contexte.
Le contexte de portée standard s’appelle Staff
:
\new Staff \relative { c''4 d e f }
Le contexte DrumStaff
crée une portée à cinq lignes correspondant
à une batterie traditionnelle et chacun des instruments est représenté
par un symbole spécifique. Les éléments sont saisis en mode batterie,
initialisé par la commande \drummode
, chaque composante étant
spécifiée par son nom. Pour de plus amples détails, consultez
Portées de percussion.
\new DrumStaff { \drummode { cymc hh ss tomh } }
Un RhythmicStaff
est composé d’une portée à ligne unique chargée
de présenter les valeurs rythmiques saisies. Seules sont imprimées les
durées. Pour de plus amples détails, consultez
Gravure de lignes rythmiques.
\new RhythmicStaff { c4 d e f }
Un TabStaff
crée une portée de tablature correspondant aux six
cordes d’une guitare standard. Pour de plus amples détails, consultez
Tablatures par défaut.
\new TabStaff \relative { c''4 d e f }
LilyPond dispose aussi de deux contextes dédiés à la musique
ancienne : MensuralStaff
et VaticanaStaff
. Ils sont
abordés plus en détails au chapitre Contextes prédéfinis.
Le contexte GregorianTranscriptionStaff
permet d’obtenir des
éditions modernes du grégorien. Bien entendu, il est dépourvu de barres
de mesure.
\new GregorianTranscriptionStaff \relative { c''4 d e f e d }
Vous pourrez toujours définir d’autres contextes de portée selon vos besoins, en suivant les indications fournies au chapitre Définition de nouveaux contextes.
Voir aussi
Glossaire musicologique : staff, portées.
Manuel de notation : Contextes de musique mensurale, Contextes du chant grégorien, Contextes prédéfinis, Création et référencement d’un contexte, Définition de nouveaux contextes, Gravure de lignes rythmiques, Portées de percussion, Symbole de la portée, Tablatures par défaut.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.
Regroupement de portées
LilyPond dispose de différents contextes permettant de regrouper des portées individuelles et d’obtenir ainsi des « systèmes ». Chacun de ces contextes définira le style de regroupement, avec son signe particulier en début de portée et ses règles de gestion des barres de mesure.
Lorsqu’aucun contexte particulier n’est spécifié, les propriétés suivantes s’appliqueront par défaut : les portées du groupe ne sont pas reliées, hormis par une simple ligne verticale en début de ligne, et les barres de mesure sont indépendantes.
<< \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
Dans un StaffGroup
, le groupe de portées est signifié par un
crochet, et les barres de mesure sont d’un seul tenant.
\new StaffGroup << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
Dans un ChoirStaff
, le groupe de portées est signifié par un
crochet sur la gauche, et les barres de mesure sont individuelles.
\new ChoirStaff << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
Dans un GrandStaff
, le groupe de portées est signifié par une
accolade sur la gauche, et les barres de mesure sont d’un seul tenant.
\new GrandStaff << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
Le contexte PianoStaff
est identique au GrandStaff
, sauf
qu’il gère automatiquement l’affichage du nom d’instrument – voir
Noms d’instrument pour plus de détails.
\new PianoStaff \with { instrumentName = "Piano" } << \new Staff \relative { c''1 c } \new Staff \relative { \clef bass c1 c } >>
Les barres de mesure au début de chaque système adoptent l’un des styles
SystemStartBar
, SystemStartBrace
ou
SystemStartBracket
. Dans chaque contexte, seul l’un de ces
styles est utilisé, et c’est la propriété systemStartDelimiter
qui détermine lequel. Un quatrième style, SystemStartSquare
,
doit quant à lui être spécifié de manière explicite.
Vous pouvez aussi créer vos propres contextes de regroupement, comme l’explique Définition de nouveaux contextes.
Morceaux choisis
Indication de regroupement de portées par un rectangle
Un regroupement de portées sera indiqué par un simple rectangle
– SystemStartSquare
– en début de ligne dès lors que vous le
mentionnerez explicitement au sein d’un contexte StaffGroup
ou
ChoirStaff
.
\score { \new StaffGroup { << \set StaffGroup.systemStartDelimiter = #'SystemStartSquare \new Staff { c'4 d' e' f' } \new Staff { c'4 d' e' f' } >> } }
Indicateur de regroupement et portée unique
Lorsque, dans des regroupements de type ChoirStaff
ou
StaffGroup
, une seule portée est active, aucune indication n’est
donnée en début de ligne. Affecter à la propriété collapse-height
un nombre de lignes inférieur à celui de la portée permet de modifier ce
comportement par défaut.
Notez bien que dans le cas des PianoStaff
et GrandStaff
,
pour lesquels le délimiteur de système est une accolade et non un
crochet, il ne s’agit pas de la même propriété – voir le deuxième
système de l’exemple.
\score { \new StaffGroup << % Must be lower than the actual number of staff lines \override StaffGroup.SystemStartBracket.collapse-height = #4 \override Score.SystemStartBar.collapse-height = #4 \new Staff { c'1 } >> } \score { \new PianoStaff << \override PianoStaff.SystemStartBrace.collapse-height = #4 \override Score.SystemStartBar.collapse-height = #4 \new Staff { c'1 } >> }
Présentation à l’ancienne (barres de mesure entre les portées)
En musique mensurale, les barres de mesure ne traversent pas les
portées. Pour obtenir ce résultat avec un StaffGroup
plutôt qu’en
utilisant un ChoirStaff
, il faudra masquer les portions de barre
qui recouvrent les portées à l’aide d’un \hide
.
global = { \hide Staff.BarLine s1 s % the final bar line is not interrupted \undo \hide Staff.BarLine \bar "|." } \new StaffGroup \relative c'' { << \new Staff { << \global { c1 c } >> } \new Staff { << \global { c c } >> } >> }
Voir aussi
Glossaire musicologique : accolade, crochet, système.
Manuel de notation : Définition de nouveaux contextes, Noms d’instrument.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Regroupement de portées ] | [Plus haut: Gravure des portées ] | [ Séparation des systèmes > ] |
Imbrication de regroupements de portées
Les accolades et crochets qui délimitent les systèmes peuvent être imbriqués en profondeur. Chaque niveau inférieur aura son propre délimiteur, en plus de celui du niveau supérieur.
\new StaffGroup << \new Staff \relative { c''2 c | c2 c } \new StaffGroup << \new Staff \relative { g'2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff \relative { e'2 e | e2 e } \new Staff \relative { c'2 c | c2 c } >> >> >>
Vous pouvez aussi créer vos propres contextes d’imbrication, comme l’explique Définition de nouveaux contextes.
Morceaux choisis
Imbrications de regroupements de portées
La propriété systemStartDelimiterHierarchy
permet de créer des
regroupements imbriqués complexes. La commande
\set StaffGroup.systemStartDelimiterHierarchy
prend en
argument la liste alphabétique des sous-groupes à hiérarchiser. Chaque
sous-groupe peut être affublé d’un délimiteur particulier. Chacun des
regroupements intermédiaires doit être borné par des parenthèses. Bien
que des éléments de la liste puissent être omis, le premier délimiteur
embrassera toujours l’intégralité des portées. Vous disposez des quatre
délimiteurs SystemStartBar
, SystemStartBracket
,
SystemStartBrace
et SystemStartSquare
.
\new StaffGroup \relative c'' << \override StaffGroup.SystemStartSquare.collapse-height = #4 \set StaffGroup.systemStartDelimiterHierarchy = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a (SystemStartSquare b) ) c ) d) \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } >>
Voir aussi
Manuel de notation : Définition de nouveaux contextes, Noms d’instrument, Regroupement de portées.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
Séparation des systèmes
Le nombre de systèmes peut varier d’une page à l’autre ; vous
pouvez, en pareil cas, rendre plus évidente la séparation entre les
systèmes en l’indiquant visuellement. Ce « séparateur » est absent par
défaut, mais vous pouvez l’activer par une option au sein du bloc
\paper
.
\book { \score { \new StaffGroup << \new Staff { \relative { c''4 c c c \break c4 c c c } } \new Staff { \relative { c''4 c c c \break c4 c c c } } >> } \paper { system-separator-markup = \slashSeparator % following commands are needed only to format this documentation paper-width = 100\mm paper-height = 100\mm tagline = ##f } }
Voir aussi
Manuel de notation : Mise en forme de la page.
Morceaux choisis : Notation sur la portée.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Séparation des systèmes ] | [Plus haut: Notation sur la portée ] | [ Symbole de la portée > ] |
1.6.2 Modification de portées individuelles
Cette section explique le réglage de la gravure de chaque portée, comme la taille de portée ou le nombre de lignes ; sont aussi décrits la suspension et la reprise de portées, ainsi que les portées d’ossia.
Symbole de la portée | ||
Portées d’ossia | ||
Masquage de portées |
Symbole de la portée
Les commandes \stopStaff
et \startStaff
permettent
respectivement de clôturer et (re)démarrer une portée n’importe où dans
une partition.
\relative { \stopStaff f''4 d \startStaff g, e f'4 d \stopStaff g, e f'4 d \startStaff g, e }
Commandes prédéfinies
\startStaff
,
\stopStaff
.
Les notes, nuances, etc. sont regroupées dans un assemblage de lignes
horizontales, que l’on nomme la portée (en anglais staff, et
staves au pluriel). Dans LilyPond, ces lignes sont dessinées au
moyen d’un objet graphique (grob) à part entière, nommé
StaffSymbol
– symbole de portée. Modifier les propriétés d’un
StaffSymbol
changera l’apparence de la portée, dès lors qu’elles
auront été définies avant de créer la portée en question.
Vous pouvez modifier le nombre de lignes d’une portée :
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-count = #2 \startStaff g, e | f'4 d \stopStaff \revert Staff.StaffSymbol.line-count \startStaff g, e | }
Le positionnement de chacune des lignes de la portée est modifiable.
Une liste de nombres détermine le positionnement de chaque ligne.
Le 0
correspond à la ligne médiane d’une portée habituelle, pour
laquelle la liste est donc (-4 -2 0 2 4)
.
Une ligne sera donc imprimée pour chaque valeur exprimée ; le nombre de
lignes, ainsi que leur position dans la portée, peut donc se modifier à
l’aide d’une seule commande.
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e | }
Afin de préserver l’orientation habituelle des hampes – ascendantes dans la partie inférieure de la portée, descendantes dans la partie supérieure – la ligne (ou l’interligne) centrale de la portée personnalisée devra être en phase avec avec la ligne médiane d’une portée classique (0). La position de la clef et celle du do médium demanderont parfois un ajustement afin d’être en phase avec cette nouvelle portée. Pour plus d’explications, reportez-vous aux exemples du chapitre Clefs.
Lorsque vous modifierez l’épaisseur des lignes, gardez à l’esprit que les lignes supplémentaires et les hampes seront aussi modifiées.
\new Staff \with { \override StaffSymbol.thickness = #3 } { e4 d c b }
L’épaisseur des lignes supplémentaires (ledger lines) peut être déterminée indépendamment des lignes de la portée.
\new Staff \with { \override StaffSymbol.thickness = #2 \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4) } \relative { f'''4 a, a,, f }
La première valeur est multipliée par l’épaisseur de ligne de portée, la seconde par l’espace d’interligne ; ces deux valeurs sont alors combinées pour donner la nouvelle épaisseur des lignes supplémentaires.
L’emplacement des lignes supplémentaires est réglable :
\new Staff \with { \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6) } \relative { f'''4 a, a,, f }
Vous pouvez faire apparaître des lignes supplémentaires additionnelles au-dessus ou en dessous des têtes de note selon leur positionnement relatif aux autres notes, qu’elles aient ou non elles-mêmes des lignes supplémentaires.
\new Staff \with { \override StaffSymbol.ledger-extra = #4 } \relative { f'''4 a, d, f, }
Des lignes supplémentaires peuvent apparaître y compris au sein d’une
portée, notamment lorsque vous l’avez personnalisée. L’exemple suivant
illustre deux cas de figure quant au positionnement des lignes
supplémentaires selon que la propriété legder-position
est
définie explicitement ou non. La présence du \stopStaff
est ici
rendue nécessaire pour annuler les effets de la commande
\override
qui s’applique à l’intégralité du StaffSymbol
.
\override Staff.StaffSymbol.line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g
Modifier l’équidistance des lignes de la portée affectera aussi les lignes supplémentaires.
\new Staff \with { \override StaffSymbol.staff-space = #1.5 } \relative { f'''4 d, g, e, }
Morceaux choisis
Empâtement de certaines lignes d’une portée
Vous pourriez avoir envie, dans un but pédagogique, de rendre certaines
lignes d’une portée plus épaisses que les autres, comme la ligne médiane,
ou bien pour mettre en exergue la ligne portant la clef de sol. Il
suffit pour cela d’ajouter une ligne qui sera accolée à celle qui doit
être mise en évidence, grâce à la propriété line-positions
de
l’objet StaffSymbol
.
{ \override Staff.StaffSymbol.line-positions = #'(-4 -2 -0.2 0 0.2 2 4) d'4 e' f' g' }
Voir aussi
Glossaire musicologique : ligne, ligne supplémentaire, portée.
Manuel de notation : Clefs.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : StaffSymbol, staff-symbol-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Symbole de la portée ] | [Plus haut: Modification de portées individuelles ] | [ Masquage de portées > ] |
Portées d’ossia
Une portée d’ossia – ou de variante – s’obtient en créant, à l’endroit approprié, une nouvelle portée simultanée :
\new Staff \relative { c''4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 }
L’exemple ci-dessus n’est probablement pas ce qui vous conviendra le plus. Afin que cette ossia se place au-dessus de la portée à laquelle elle se réfère, étant par ailleurs dépourvue de métrique et de clef, et d’une taille légèrement inférieure, vous devrez avoir recours à quelques retouches. Le manuel d’initiation aborde une technique particulière pour obtenir ce résultat, au chapitre Expressions musicales imbriquées.
L’exemple qui suit utilise, pour aligner la portée d’ossia, la propriété
alignAboveContext
. Cette méthode est tout à fait appropriée
lorsqu’il y a un nombre restreint d’ossias.
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
Dans le cas où de nombreux et courts fragments d’ossia affecteraient
une même portée, il est judicieux de créer un contexte Staff
vide
auquel sera attribué un identifiant. Il suffira alors, pour
entamer un fragment d’ossia, de « faire appel » à ce contexte grâce
aux commandes \startStaff
et \stopStaff
. Vous vous
rendrez compte à l’utilisation des avantages que procure cette façon de
procéder, bien plus que dans l’exemple suivant.
<< \new Staff = "ossia" \with { \remove "Time_signature_engraver" \hide Clef \magnifyStaff #2/3 } { \stopStaff s1*6 } \new Staff \relative { c'4 b c2 << { e4 f e2 } \context Staff = "ossia" { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = "ossia" { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >>
Vous pourriez aussi recourir à la commande \RemoveAllEmptyStaves
pour créer votre portée d’ossia. Cependant, cette méthode reste limitée
à l’apparition de ces ossias en début de ligne. Pour plus d’information
au sujet de la commande \RemoveAllEmptyStaves
, reportez-vous au
chapitre Masquage de portées.
<< \new Staff = "ossia" \with { \remove "Time_signature_engraver" \hide Clef \magnifyStaff #2/3 \RemoveAllEmptyStaves } \relative { R1*3 c''4 e8 d c2 } \new Staff \relative { c'4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >>
Morceaux choisis
Positionnement d’une ossia et des paroles
Cet exemple illustre la manière de positionner une portée d’ossia et
des paroles à l’aide des propriétés de contexte alignBelowContext
et alignAboveContext
.
\paper { ragged-right = ##t } \relative c' << \new Staff = "1" { c4 c s2 } \new Staff = "2" { c4 c s2 } \new Staff = "3" { c4 c s2 } { \skip 2 << \lyrics { \set alignBelowContext = #"1" lyrics4 below } \new Staff \with { alignAboveContext = #"3" fontSize = #-2 \override StaffSymbol.staff-space = #(magstep -2) \remove "Time_signature_engraver" } { \tuplet 6/4 { \override TextScript.padding = #3 c8[^"ossia above" d e d e f] } } >> } >>
Voir aussi
Glossaire musicologique : ossia, portée, Frenched staff.
Manuel d’initiation : Expressions musicales imbriquées, Longueur et épaisseur des objets, Taille des objets.
Manuel de notation : Masquage de portées.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : StaffSymbol.
Masquage de portées
Désactiver le graveur Staff_symbol_engraver
dans un contexte
Staff
permet de masquer des lignes. La commande
\stopStaff
aura le même effet.
\new Staff \with { \remove "Staff_symbol_engraver" } \relative { a''8 f e16 d c b a2 }
L’instruction \RemoveEmptyStaves
placée dans un bloc
\layout
ou dans une clause \with
affectant une portée
particulière, aura pour effet de masquer toute portée qui ne contient
rien. Dans les partitions d’orchestre, les portées qui n’ont que des
silences sont habituellement masquées afin de gagner de la place. Ce
style d’édition s’appelle en anglais « Frenched Score ». Cette
fonctionnalité masque et supprime toutes les portées vides d’une
partition, hormis celles du premier système. Le premier système sera
lui aussi concerné dès lors que sera utilisée l’instruction
\RemoveAllEmptyStaves
.
\layout { \context { \Staff \RemoveEmptyStaves } } \relative << \new Staff { e'4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >>
Une portée est considérée comme vide dès lors qu’elle ne contient que
des silences multimesures, des silences visibles ou invisibles (ou
d’espacement – les \skip) ou bien une combinaison de ces
éléments. Tous les autres objets musicaux, ceux qui font qu’une
portée ne sera pas considérée vide, sont répertoriés dans la propriété
de contexte keepAliveInterfaces
telle que définie dans le fichier
‘ly/engraver-init.ly’.
\RemoveEmptyStaves
et \RemoveAllEmptyStaves
sont tous deux
des racourcis prédéfinis qui déterminent les propriétés telles que
remove-empty
et remove-first
, attachées à l’objet
VerticalAxisGroup
, comme indiqué dans
Identificateurs de modification de contexte.
Le Keep_alive_together_engraver
permet de masquer l’intégralité
d’un regroupement de portées plutôt que des portées individuelles. Il
est normalement attaché au contexte PianoStaff
: un système
pianistique sera masqué uniquement dans le cas où les deux portées qui
le composent sont vides. De la même manière, il est d’usage pour un
conducteur d’orchestre de masquer les regroupements de portées plutôt
que de manière individuelle. Ceci s’obtient en ajoutant le
Keep_alive_together_engraver
au regroupement de portées
considéré, comme indiqué dans
Modification des greffons de contexte – voir
Regroupement de portées pour leur dénomination.
\layout { \context { \StaffGroup \RemoveEmptyStaves \consists "Keep_alive_together_engraver" } }
Dans l’exemple suivant, les portées des instruments à vent sont absentes du deuxième système, alors que celle de la contrebasse demeure présente puisqu’elle est rattachée au regroupement des cordes qui, elles, continuent de jouer.
En interne, le Keep_alive_together_engraver
recourt à la
propriété remove-layer
du VerticalAxisGroup
d’une portée
pour décider de son impression lorsqu’elle est considérée vide. Cette
propriété peut aussi se définir manuellement, auquel cas elle agit sous
forme d’index de priorité : des valeurs proches de zéro seront
prioritaires sur celles plus élevées, ce qui aura pour conséquence de
masquer d’abord les portées dont le remove-layer
est plus grand.
Ceci se révèle tout particulièrement utile pour une « division » de portée, lorsque plusieurs parties indépendantes – voir Écriture de parties séparées – doivent momentanément se répartir sur plusieurs portées. Dans l’exemple qui suit, deux parties sont réparties sur trois portées ; ces trois portées n’apparaissent toutefois jamais simultanément :
-
au premier système, une seule d’entre elles est affichée, dans la mesure
où la propriété
keepAliveInterfaces
a été réglée sur une liste vide – de fait, les deux autres portées sont considérées comme vides et donc masquées, en dépit de ce qu’elles pourraient contenir ; -
lorsque cette propriété est désactivée – et retrouve donc ses réglages
par défaut – elle n’empêche plus les deux autres portées d’être
affichées. Cependant, et parce que le réglage de leur
remove-layer
est inférieur à celui de la portée unique, ces deux portées seront alors imprimées à la place.
De telles substitutions ne s’appliquent pas seulement aux notes, accords ou autres éléments musicaux intervenant dès après le nouveau réglage, mais à l’intégralité du système où il est mentionné.
\layout { short-indent = 2\cm indent = 3\cm \context { \Staff keepAliveInterfaces = #'() } } violI = { \repeat unfold 24 { d'4 } \once \unset Staff.keepAliveInterfaces <d' g''>2 \repeat unfold 14 { d'4 } \bar "|." } violII = { \repeat unfold 24 { g4 } <g d'>2 \repeat unfold 14 { g4 } \bar "|." } \new StaffGroup \with { \consists "Keep_alive_together_engraver" } << \new Staff \with { instrumentName = "Violins" shortInstrumentName = "V I & II" \override VerticalAxisGroup.remove-layer = 2 } << \violI \\ \violII >> \new Staff \with { instrumentName = "Violin I" shortInstrumentName = "V I" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violI \new Staff \with { instrumentName = "Violin II" shortInstrumentName = "V II" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violII >>
\RemoveAllEmptyStaves
permet aussi de gérer des fragments d’ossia
attachés à une portée. Pour plus de détails, voir Portées d’ossia.
Commandes prédéfinies
\RemoveEmptyStaves
,
\RemoveAllEmptyStaves
,
Voir aussi
Glossaire musicologique : Frenched staff.
Manuel d’initiation : Visibilité et couleur des objets.
Manuel de notation : Dictée à trous, Identificateurs de modification de contexte, Modification des greffons de contexte, Modification des réglages par défaut d’un contexte, Portées d’ossia, Regroupement de portées, Silences invisibles, Symbole de la portée, Visibilité des objets.
Fichiers d’initialisation : ‘ly/engraver-init.ly’.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : Axis_group_engraver, ChordNames, FiguredBass, Keep_alive_together_engraver. Lyrics, Staff, Staff_symbol_engraver, VerticalAxisGroup.
Problèmes connus et avertissements
Supprimer le Staff_symbol_engraver
aura pour effet de masquer les
barres de mesure. Forcer leur visibilité peut entraîner des problèmes
de formatage. En pareil cas il vaut mieux, au lieu de supprimer le
graveur, recourir aux dérogations suivantes :
\omit StaffSymbol \override NoteHead.no-ledgers = ##t
En ce qui concerne les désagréments et messages liés à l’utilisation de
l’instruction \RemoveEmptyStaves
, consultez
Modification des réglages par défaut d’un contexte.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Masquage de portées ] | [Plus haut: Notation sur la portée ] | [ Noms d'instrument > ] |
1.6.3 Écriture de parties séparées
Nous allons voir, au fil des lignes qui suivent, comment préparer un « matériel » pour orchestre ou ensemble musical, ce qui requiert souvent d’insérer des noms d’instrument dans une partition. Nous aborderons aussi la citation d’autres voix, et comment la mettre en forme, ainsi que le moyen de contracter une succession de mesures vides dans une partition de pupitre.
Par ailleurs, une méthode pour gérer la division d’un pupitre est abordée à la rubrique Masquage de portées.
Noms d’instrument | ||
Citation d’autres voix | ||
Mise en forme d’une citation | ||
Compression de mesures vides |
Noms d’instrument
Dans un conducteur, les noms d’instrument sont portés en regard de
chacune des portées, qu’il s’agisse d’un contexte Staff
,
PianoStaff
, StaffGroup
, GrandStaff
ou
ChoirStaff
. La première ligne affichera la valeur de
instrumentName
, et les suivantes celle de
shortInstrumentName
.
\new Staff \with { instrumentName = "Violin " shortInstrumentName = "Vln. " } \relative { c'4.. g'16 c4.. g'16 \break | c1 | }
Le recours à la commande \markup
permet de construire des noms
d’instrument particuliers, tels que
\new Staff \with { instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } } \relative { c''4 c,16 d e f g2 }
Lorsque plusieurs contextes de portée sont regroupés, les noms
d’instrument, que ce soit sous leur forme développée ou abrégée, sont
par défaut centrés. Si l’un d’entre eux est libellé sur plusieurs
lignes, il faudra recourir à l’instruction \center-column
:
<< \new Staff \with { instrumentName = "Flute" } { f2 g4 f } \new Staff \with { instrumentName = \markup { \center-column { "Clarinet" \line { "in B" \smaller \flat } } } } { c4 b c2 } >>
Lorsque le nom d’un instrument est relativement long, il est judicieux
d’augmenter les retraits – indent – au sein du bloc
\layout
à l’aide des commandes indent
et
short-indent
. Pour plus de plus amples détails sur ces réglages,
reportez-vous au chapitre Variables d’indentation et de décalage.
<< \new Staff \with { instrumentName = "Alto Flute in G" shortInstrumentName = "Flt." } \relative { f''2 g4 f \break g4 f g2 } \new Staff \with { instrumentName = "Clarinet" shortInstrumentName = "Clar." } \relative { c''4 b c2 \break c2 b4 c } >> \layout { indent = 3.0\cm short-indent = 1.5\cm }
Des noms d’instrument peuvent s’utiliser dans d’autres contextes, tels
que ChordNames
ou FiguredBass
, dès lors qu’on leur adjoint
le graveur Instrument_name_engraver
. Pour de plus amples
informations sur la manière d’activer ou désactiver un graveur, voir
Modification des greffons de contexte.
Le nom abrégé d’un instrument (shortInstrumentName
) peut changer
en cours de morceau, en même temps que les autres réglages propres au
nouvel instrument. Notez cependant que la valeur de
instrumentName
ne s’affichera que sur la première portée :
prepPiccolo = <>^\markup \italic { muta in Piccolo } prepFlute = <>^\markup \italic { muta in Flauto } setPiccolo = { <>^\markup \bold { Piccolo } \transposition c'' } setFlute = { <>^\markup \bold { Flute } \transposition c' } \new Staff \with { instrumentName = "Flute" shortInstrumentName = "Flt." } \relative { g'1 g g g \break g1 g \prepPiccolo R R \break \set Staff.instrumentName = "Piccolo" \set Staff.shortInstrumentName = "Picc." \setPiccolo g1 g g g \break g1 g \prepFlute R R \break \set Staff.instrumentName = "Flute" \set Staff.shortInstrumentName = "Flt." \setFlute g1 g g g }
Voir aussi
Manuel de notation : Modification des greffons de contexte, Variables d’indentation et de décalage.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : InstrumentName, PianoStaff, Staff.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Noms d'instrument ] | [Plus haut: Écriture de parties séparées ] | [ Mise en forme d'une citation > ] |
Citation d’autres voix
Il est assez courant qu’une voix soit doublée par une autre. Par exemple, les premiers et seconds violons peuvent jouer les mêmes notes durant un moment. LilyPond gère parfaitement ces situations où une voix est la réplique d’une autre, sans devoir ressaisir la musique en question.
L’instruction \addQuote
, placée au niveau le plus haut – c’est à
dire en dehors de tout bloc de musique – définit la musique dont il
sera possible de répliquer des fragments.
Au cours d’une partie, des extraits de répliques peuvent être cités en
utilisant la commande \quoteDuring
. Cette commande prend deux
arguments : le nom de la voix reproduite, tel que défini par
\addQuote
, et une expression musicale qui indique la durée de
cette citation.
fluteNotes = \relative { a'4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Si l’expression musicale utilisée pour \quoteDuring
contenait
autre chose que du silence, il en résulterait une situation
polyphonique, ce qui n’est pas le but recherché :
fluteNotes = \relative { a'4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "flute" { e4 r8 ais b4 a } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Lorsqu’une commande \unfoldRepeats
est requise dans une
expression musicale de telle sorte que la musique soit réimprimée par
\quoteDuring
, l’instruction \addQuote
doit elle-mêeme
contenir la commande \unfoldRepeats
:
fluteNotes = \relative { \repeat volta 2 { a'4 gis g gis } } oboeNotesDW = \relative { \repeat volta 2 \quoteDuring "incorrect" { s1 } } oboeNotesW = \relative { \repeat volta 2 \quoteDuring "correct" { s1 } } \addQuote "incorrect" { \fluteNotes } \addQuote "correct" { \unfoldRepeats \fluteNotes } \score { \unfoldRepeats << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe (incorrect)" } \oboeNotesDW \new Staff \with { instrumentName = "Oboe (correct)" } \oboeNotesW >> }
L’instruction \quoteDuring
prendra en compte les réglages d’une
commande \transposition
, qu’elle apparaisse au niveau de la voix
répliquée ou dans celle qui réplique.
clarinetNotes = \relative c'' { \transposition bes \key d \major b4 ais a ais | cis4^"quoted" r8 bis\p b4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "clarinet" { s1 } } \addQuote "clarinet" { \clarinetNotes } \score { << \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
LilyPond répliquera, par défaut, tous les éléments – articulations,
nuances, markups, etc. La propriété quotedEventTypes
permet de définir plus précisément quels éléments de la voix originelle
seront reproduits.
fluteNotes = \relative { a'2 g2 | b4\<^"quoted" r8 ais a4\f( c->) } oboeNotes = \relative { c''2. b4 | \quoteDuring "flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \set Score.quotedEventTypes = #'(note-event articulation-event crescendo-event rest-event slur-event dynamic-event) \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Les citations peuvent être « balisées » par un nom particulier afin de les utiliser de différentes manières. Pour de plus amples détails à ce propos, consultez le chapitre Utilisation de balises.
Voir aussi
Manuel de notation : Instruments transpositeurs, Utilisation de balises.
Fichiers d’initialisation : ‘scm/define-event-classes.scm’.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : Music classes, QuoteMusic, Voice.
Problèmes connus et avertissements
Seul le contenu de la première Voice
rencontrée dans la
partie marquée d’une commande \addQuote
pourra être retenu. Par
voie de conséquence, musique
ne saurait comprendre de
\new
ou une instance \context Voice
qui la ferait
passer à une autre voix.
Citer des notes d’ornement ne fonctionne pas, et peut même entraîner un blocage de LilyPond.
Citer des triolets imbriqués peut entraîner un résultat de piètre qualité.
Mise en forme d’une citation
Le moyen le plus simple pour mettre en forme des notes provenant d’une
autre voix consiste à déclarer explicitement un contexte CueVoice
au sein de la voix où elle apparaît.
\relative { R1 << { e'2\rest r4. e8 } \new CueVoice { \stemUp d'8^"flute" c d e fis2 } >> d,4 r a r }
L’instruction \cueClef
, utilisée conjointement à un contexte
CueVoice
explicite permet d’indiquer la clef, dans une taille
réduite, propre à la voix citée. Le retour à la clef d’origine
s’effectue à l’aide de l’instruction \cueClefUnset
.
\relative { \clef "bass" R1 << { e'2\rest r4. \cueClefUnset e,8 } \new CueVoice { \cueClef "treble" \stemUp d''8^"flute" c d e fis2 } >> d,,4 r a r }
Notez que les deux instructions \cueClef
et \cueClefUnset
sont disponibles si nécessaire en dehors d’un CueVoice
.
\relative { \clef "bass" R1 \cueClef "treble" d''8^"flute" c d e fis2 \cueClefUnset d,,4 r a r }
Lorsque la situation est plus complexe, instrument transpositeur ou
citations de plusieurs sources, vous disposez des instructions
\cueDuring
et \cueDuringWithClef
, versions spécifiques de
la commande \quoteDuring
– voir la rubrique précédente
(Citation d’autres voix).
Leur syntaxe est :
\cueDuring origine #position musique
et
\cueDuringWithClef origine #position #clef musique
Des mesures issues de la partie d’origine
seront recopiées
dans un contexte de CueVoice
et synchronisées avec
musique
– habituellement un silence. L’apparition des
petites notes initialise une polyphonie temporaire pour la portée
concernée. L’argument position
détermine si ces petites
notes seront attachées à la première ou à la seconde voix – UP
pour la première, DOWN
pour la seconde.
fluteNotes = \relative { r2. c''4 | d8 c d e fis2 | g2 d | } oboeNotes = \relative c'' { R1 <>^\markup \tiny { flute } \cueDuring "flute" #UP { R1 } g2 c, } \addQuote "flute" { \fluteNotes } \new Staff { \oboeNotes }
La propriété quotedCueEventTypes
permet de définir précisément
quels éléments de la voix originelle seront reproduits. Sa valeur par
défaut est '(note-event rest-event tie-event beam-event
tuplet-span-event)
. LilyPond reproduira donc les notes, silences,
liaisons de prolongation, ligatures et n-olets, mais pas les
articulations, annotations ni nuances.
Note : Dans l’exemple précédent, il était nécessaire de déclarer
explicitement le contexte Voice
, sinon l’intégralité de
l’expression musicale se serait retrouvée dans le contexte
CueVoice
.
oboeNotes = \relative { r2 r8 d''16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event dynamic-event slur-event) \cueDuring "oboe" #UP { R1 } g2 c, }
Le nom de l’instrument qui est répliqué peut s’indiquer à l’aide d’un markup. Par ailleurs, si la citation nécessite l’apparition d’une clef différente, celle-ci devra être introduite manuellement, tout comme l’originale qui devra être rappelée en fin de citation.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \clef treble <>^\markup \tiny { flute } \cueDuring "flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes }
L’instruction \cueDuringWithClef
se chargera quant à elle, et
grâce à un argument supplémentaire, de gérer le changement de clef
nécessaire à la citation et le retour à la clef originelle.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 <>^\markup { \tiny "flute" } \cueDuringWithClef "flute" #UP "treble" { R1 } g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes }
L’instruction \cueDuring
, à l’instar de la commande
\quoteDuring
, tient compte des instruments transpositeurs. La
citation s’effectue aux hauteurs correspondant à l’instrument où elles
apparaissent.
L’instruction \transposedCueDuring
est particulièrement adaptée
pour des instrument ayant une tessiture éloignée, comme dans le cas d’un
piccolo cité dans une partie de clarinette basse. Sa syntaxe est
identique à celle de \cueDuring
, à ceci près qu’elle nécessite un
argument supplémentaire afin de spécifier la transposition à effectuer
en hauteur absolue.
piccoloNotes = \relative { \clef "treble^8" R1 c'''8 c c e g2 c4 g g2 } bassClarinetNotes = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring "piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccoloNotes } << \new Staff \piccoloNotes \new Staff \bassClarinetNotes >>
La commande killCues
permet de supprimer les notes d’une
citation. Ceci est utile lorsque cette citation n’est pas imprimée dans
le conducteur entre autres. killCues
supprimera les notes et
autres événements pris en charge par \cueDuring
. Pour les
autres annotations telles que changement de clef ou instrument concerné,
faites appel à des balises – voir Utilisation de balises à ce
sujet.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \tag #'part { \clef treble <>^\markup \tiny { flute } } \cueDuring "flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } \new StaffGroup << \new Staff { \fluteNotes } \new Staff { \removeWithTag #'part { \killCues { \bassoonNotes } } } >>
Voir aussi
Manuel de notation : Citation d’autres voix, Citation-repère, Clefs, Instruments transpositeurs, Noms d’instrument, Utilisation de balises.
Morceaux choisis : Notation sur la portée.
Référence des propriétés internes : CueVoice, Voice.
Problèmes connus et avertissements
La commande \cueDuring
ne sait pas gérer les collisions de
silence entre les contextes Voice
et CueVoice
.
Dans le cadre d’un \cueDuringWithClef
ou d’un
\transposedCueDuring
, l’argument supplémentaire doit intervenir
après l’origine et la position.
Compression de mesures vides
Toutes les mesures sont par défaut imprimées, même si elles sont vides ; ceci peut se produire dans le cas où un événement rythmique (note, silence ou saut) dure au point de s’étaler sur plusieurs mesures. Ce comportement peut se modifier de sorte que les mesures vides sont compressées en une seule mesure comme ici (la deuxième partie de cet exemple, où les mesures sont expansées, retrouve en fait le comportement par défaut) :
\override Score.BarNumber.break-visibility = ##(#f #t #t) \time 2/4 \compressEmptyMeasures c'1 d'1. e'\breve \bar "||" \expandEmptyMeasures c'1 d'1. e'\breve
Bien que la syntaxe de cette notation soit correcte, elle peut être déroutante d’un point de vue musical, ce qu’illustre l’exemple ci-dessus. C’est pourquoi l’impression des numéros de mesure devient nécessaire, en suivant la syntaxe indiquée dans Utilisation de break-visibility.
Une telle notation peut toutefois s’avérer utile lorsqu’elle s’applique à des silences valant une mesure. Un silence de plusieurs mesures sera alors affiché sous la forme d’une seule mesure contenant un symbole de silence multimesure surplombé du nombre de mesures de silence :
% Comportement par défaut \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % Mesures de silence comprimées en une seule mesure \compressEmptyMeasures r1 | R1*17 | R1*4 | \expandEmptyMeasures % Mesures de silence à nouveau expansées \time 3/4 R2.*2 |
Contrairement à \compressEmptyMeasures
, la fonction musicale
\compressMMRests
s’applique exclusivement aux silences tout en
laissant les autres événements expansés. En sa qualité de fonction, et
non de réglage de propriété, sa syntaxe diffère quelque peu, en ceci
qu’elle doit être suivie d’une expression musicale :
\compressMMRests { % Les silences sont comprimés… R1*7 % … mais les notes peuvent s'étaler sur plusieurs mesures. g'1 a'1*2 d'1 R1*2 }
Toutes les commandes décrites dans ces paragraphes reposent en fait sur
la propriété interne skipBars
, qui se définit au sein du contexte
Score
comme indiqué dans La commande de fixation \set
.
Commandes prédéfinies
\compressEmptyMeasures
,
\expandEmptyMeasures
,
\compressMMRests
.
Morceaux choisis
Dénombrer une unique mesure de silence
Les silences multimesures affichent leur longueur sauf s’il n’y a qu’une
seule mesure. Ceci peut se modifier en réglant
restNumberThreshold
.
{ \compressEmptyMeasures R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 0 R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 10 R1 R1*10 R1*11 }
Modifier l’apparence d’un silence multimesure
Dans le cas où ce silence dure moins de dix mesures, LilyPond imprime sur
la portée des « silences d’église » – Kirchenpause en
allemand – et qui sont une simple suite de rectangles. La propriété
expand-limit
permet d’obtenir un silence unique :
\relative c'' { \compressMMRests { R1*2 | R1*5 | R1*9 \override MultiMeasureRest.expand-limit = #3 R1*2 | R1*5 | R1*9 } }
Voir aussi
Manuel de notation :
La commande de fixation \set
,
Silences valant une mesure,
Utilisation de break-visibility.
Référence des propriétés internes : MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Compression de mesures vides ] | [Plus haut: Notation musicale générale ] | [ Dans la portée > ] |
1.7 Annotations éditoriales
Ce chapitre traite de la manière de modifier l’apparence des notes dans un but pédagogique ou d’analyse.
1.7.1 Dans la portée | ||
1.7.2 Hors de la portée |
1.7.1 Dans la portée
Nous allons voir ici comment mettre en exergue certains éléments à l’intérieur même de la portée.
Indication de la taille de fonte musicale | ||
Doigtés | ||
Dictée à trous | ||
Coloration d’objets | ||
Parenthèses | ||
Hampes |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Dans la portée ] | [Plus haut: Dans la portée ] | [ Doigtés > ] |
Indication de la taille de fonte musicale
Note :
Pour les tailles de police textuelle, voir
Sélection de la fonte et de la taille.
Pour la taille des portées, voir
Définition de la taille de portée.
Pour les petites notes, voir
Mise en forme d’une citation.
Pour les variantes, voir Portées d’ossia.
Le plus sûr moyen de régler la taille des éléments de notation sans
modifier la taille de la portée consiste à utiliser la commande
\magnifyMusic
:
\new Staff << \new Voice \relative { \voiceOne <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8 } \new Voice \relative { \voiceTwo \magnifyMusic 0.63 { \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) r32 c'' a c a c a c r c a c a c a c r c a c a c a c a c a c a c a c } } >>
La présence d’un \override
dans cet exemple permet de
contourner une bogue – voir « Problèmes connus et avertissements » en
fin de section.
Dans le cas de fusion d’une tête de note normale avec une autre de taille inférieure, la taille de la petite note peut nécessiter une réinitialisation – à l’aide d’un ‘\once \normalsize’ – de telle sorte que les hampes et altérations s’alignent correctement :
\new Staff << \key fis \minor \mergeDifferentlyDottedOn \new Voice \relative { \voiceOne \magnifyMusic 0.63 { \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d' \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis' \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis' \once \normalsize a, a' bis, d cis b \once \normalsize gis gis') } } \new Voice \relative { \voiceTwo cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16 } >>
La commande \magnifyMusic
n’est pas conçue pour gérer les
citations, notes d’ornement ou portées d’ossia – des moyens
spécifiques sont déjà disponibles en la matière. Elle est par contre
tout à fait adaptée dans le cas d’un instrument particulier disposant de
sa propre portée là où des notes d’ornement seraient inappropriées,
comme pour une pseudo-cadence ou les exemples ci-dessus. L’attribution
d’une valeur de 0,63 à \magnifyMusic
duplique les dimensions d’un
contexte CueVoice
.
Note : La commande \magnifyMusic
n’est pas censée
intervenir en complément d’une modification de la taille de portée –
voir Définition de la taille de portée.
Redimmensionnement individuel d’objets de rendu
L’ajustement de la propriété font-size
à l’aide des commandes
\tweak
ou \override
permet de retailler un objet de rendu
particulier :
\relative { % resize a note head <f' \tweak font-size -4 b e>-5 % resize a fingering bes-\tweak font-size 0 -3 % resize an accidental \once \override Accidental.font-size = -4 bes!-^ % resize an articulation \once \override Script.font-size = 4 bes!-^ }
La valeur par défaut de font-size
est mentionnée, pour chaque
objet de rendu, dans la référence des propriétés internes. La propriété
font-size
ne peut intervenir que pour les objets qui utilisent
des polices, autrement dit ceux qui disposent de l’interface de rendu
font-interface
. L’abence de font-size
dans la liste des
« réglages par défaut » d’un objet signifie qu’elle est de 0 – voir
All layout objects (Tous les objets de rendu).
La propriété fontSize
La propriété fontSize
d’un contexte a pour effet de définir la
taille proportionnelle de tout élément de notation basé sur un
glyphe dans ce contexte :
\relative { \time 3/4 d''4---5 c8( b a g) | \set fontSize = -6 e'4-- c!8-4( b a g) | \set fontSize = 0 fis4---3 e8( d) fis4 | g2. }
La valeur de fontSize
est un nombre indiquant la taille
relative par rapport à la hauteur standard de la portée en cours.
La valeur par défaut de fontSize
est de 0. Un pas de six
aboutit exactement au doublement de la taille ; un pas de moins
six la réduit de moitié. Chaque incrément correspond à une
augmentation d’environ 12 % de la taille de la police.
La fonction Scheme magnification->font-size
permet de
s’affranchir de l’échelle logarithmique peu intuitive des unités
de la propriété font-size
. Ainsi, l’ajustement à 75 % de
la notation musicale par rapport à la taille de la portée peut se
libeller :
\set fontSize = #(magnification->font-size 0.75)
La fonction Scheme magstep
quant à elle effectue
l’inverse : elle convertit le nombre affecté à font-size
en
facteur d’échelle.
La propriété fontSize
affecte uniquement les éléments de
notation reposant sur des glyphes, tels les têtes de note,
altérations, scripts, etc. Elle n’aura aucun effet sur la taille
de la portée, la hauteur des hampes ou la longueur des ligatures
ni sur l’espacement horizontal. L’échelonnement des hampes,
ligature et espacement horizontal, couplé à la taille de la
notation (sans modification de la taille de la portée), s’obtient
à l’aide de la commande \magnifyMusic
comme nous venons de
le voir. La modification de l’ensemble, y compris la taille de
portée, est abordé dans Définition de la taille de portée.
Dès lors que la propriété de contexte fontSize
est
définie, sa valeur est ajoutée individuellement à la valeur de la
propriété de grob font-size
des objets de
rendu. Ceci peut être source de confusion lorsque des propriétés
font-size
individuelles sont réglées alors que
fontSize
est déjà fixé :
% the default font-size for NoteHead is 0 % the default font-size for Fingering is -5 c''4-3 \set fontSize = -3 % the effective font size for NoteHead is now -3 % the effective font size for Fingering is now -8 c''4-3 \override Fingering.font-size = 0 % the effective font size for Fingering is now -3 c''4-3
LilyPond dispose d’un certain nombre de raccourcis :
Commande | Équivalent | Taille relative |
\teeny | \set fontSize = -3 | 71 % |
\tiny | \set fontSize = -2 | 79 % |
\small | \set fontSize = -1 | 89 % |
\normalsize | \set fontSize = 0 | 100 % |
\large | \set fontSize = 1 | 112 % |
\huge | \set fontSize = 2 | 126 % |
\relative c'' { \teeny c4.-> d8---3 \tiny c4.-> d8---3 \small c4.-> d8---3 \normalsize c4.-> d8---3 \large c4.-> d8---3 \huge c4.-> d8---3 }
Pour changer la taille des caractères, LilyPond met à l’échelle la fonte
dont la taille est la plus proche de la taille voulue. La taille
standard (pour laquelle font-size = 0
) dépend de la hauteur
de la portée. À une portée de 20 points correspond une police de
11 points.
Commandes prédéfinies
\magnifyMusic
,
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
.
Voir aussi
Manuel de notation : Définition de la taille de portée, Mise en forme d’une citation, Portées d’ossia, Sélection de la fonte et de la taille.
Fichiers d’initialisation : ‘ly/music-functions-init.ly’, ‘ly/property-init.ly’.
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : font-interface.
Problèmes connus et avertissements
Deux bogues actuellement répertoriés font obstacle à un espacement
horizontal correct avec \magnifyMusic
. La seule façon de les
contourner n’est cependant pas garantie dans toutes les situations.
Dans l’exemple suivant, il vous faudra adapter la valeur de la variable
mag. Vous pourriez aussi tenter de supprimer une ou les deux
commandes \newSpacingSection
, ou les commandes \override
et \revert
:
\magnifyMusic mag { \newSpacingSection \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag) [musique] \newSpacingSection \revert Score.SpacingSpanner.spacing-increment }
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Indication de la taille de fonte musicale ] | [Plus haut: Dans la portée ] | [ Dictée à trous > ] |
Doigtés
Les doigtés peuvent être indiqués comme suit : note-chiffre_du_doigt
\relative { c''4-1 d-2 f-4 e-3 }
Pour les substitutions de doigts, on a recours à une indication
textuelle (commande \markup
) de doigté (commande \finger
).
\relative { c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3" }
La commande \thumb
peut être utilisée pour indiquer, par exemple
dans une partition de violoncelle, si une note doit être jouée avec le
pouce (thumb en anglais).
\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }
Les doigtés des accords peuvent être saisis note par note, en les indiquant après chaque hauteur de note.
\relative { <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5> }
Les indications de doigtés peuvent se placer au-dessus ou en dessous de la portée – voir Direction et positionnement à ce sujet.
Morceaux choisis
Contrôler la position des doigtés dans un accord
Le positionnement des doigtés peut être contrôlé de manière très
précise. Afin que l’orientation soit prise en compte, il est nécessaire
d’utiliser une syntaxe d’accord < >
, même s’il ne s’agit que
d’une seule note. Le positionnement des numéros de corde et doigtés main
droite se règle de manière analogue.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 \set stringNumberOrientations = #'(up left down) <f\3 a\2 c\1>1 \set strokeFingerOrientations = #'(down right up) <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 > }
Impression des doigtés à l’intérieur de la portée
L’empilement des indications de doigté se fait par défaut à l’extérieur de la portée. Il est néanmoins possible d’annuler ce comportement. Une attention particulière doit toutefois être portée dans les cas où doigté et hampe vont dans la même direction : les indications de doigté n’évitent les hampe qu’en présence de ligature. Ce réglage peut s’adapter pour éviter toutes les hampes ou aucune d’elles. L’exemple suivant illustre ces deux options, ainsi que la manière de revenir au comportement par défaut.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering.staff-padding = #'() <c-1 e-2 g-3 b-5>4 g'-0 a8[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##f a[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##t a[-1 b]-2 g-0 r \override Fingering.add-stem-support = #only-if-beamed a[-1 b]-2 g-0 r }
Voir aussi
Manuel de notation : Direction et positionnement.
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Fingering, Fingering_engraver, fingering-event, FingeringEvent, New_fingering_engraver.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Doigtés ] | [Plus haut: Dans la portée ] | [ Coloration d'objets > ] |
Dictée à trous
Les notes masquées – ou invisibles ou encore transparentes – sont utiles dans le cadre d’exercices de théorie ou de composition.
\relative { c''4 d \hideNotes e4 f \unHideNotes g a \hideNotes b \unHideNotes c }
Têtes de note, hampes, crochets et silences sont invisibles. Une ligature sera invisible si elle démarre sur une note invisible. Les objets de notation attachés à une note invisible ne seront pas masqués pour autant.
\relative c'' { e8(\p f g a)-- \hideNotes e8(\p f g a)-- }
Commandes prédéfinies
\hideNotes
,
\unHideNotes
.
Voir aussi
Manuel d’initiation : Visibilité et couleur des objets.
Manuel de notation : Masquage de portées, Silences invisibles, Visibilité des objets.
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Note_spacing_engraver, NoteSpacing.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Dictée à trous ] | [Plus haut: Dans la portée ] | [ Parenthèses > ] |
Coloration d’objets
Des objets peuvent être colorisés individuellement. Une liste des noms des couleurs disponibles se trouve à l’annexe Liste des couleurs.
\override NoteHead.color = #red c''4 c'' \override NoteHead.color = #(x11-color 'LimeGreen) d'' \override Stem.color = "deepskyblue" e''
En plus du jeu limité de couleurs de base prédéfini sous forme de
variable – voir les « couleurs normales » dans Liste des couleurs
– n’importe quelle couleur peut être spécifiée sous forme de chaîne,
qu’il s’agisse d’un nom de couleur prédéfini dans le style
CSS ou d’un code hexadécimal
préfixé d’un #
(le tout entre guillemets informatiques) :
\override NoteHead.color = "lightsalmon" \override Flag.color = "#E30074" \override Beam.color = "#5e45ad" \override Rest.color = "#3058" g'8 \huge r4 a'16 f'
Lorsque ce code couleur comporte un canal alpha pour la transparence, spécifier un code sur huit caractères "#RRGGBBAA", ou sa forme abrégée "#RGBA", produira ses effets pour une sortie SVG, mais pas pour du PostScript ni du PDF. Dans l’exemple précédent, on peut voir à travers le silence dès lors qu’il est compilé avec le moteur SVG, comme expliqué dans Formats de sortie alternatifs.
De manière différente, l’intégralité de la palette des couleurs
définies pour X11
est accessible par la fonction Scheme x11-color
. Cette fonction
prend en argument une expression symbolique de la forme
'DarkSeaGreen4
ou bien une chaîne de caractères comme
"DarkSeaGreen4"
. La première formulation est à la fois plus
rapide à écrire et aussi plus efficace. Néanmoins, la deuxième forme
permet d’accéder aux noms composés des couleurs de X11 comme ici
"dark sea green 4"
.
Lorsque la fonction x11-color
ne trouve pas le paramètre fourni,
elle revient à la couleur par défaut, le noir. Le problème ressort de
façon évidente au vu de la partition finale.
\new Staff \with { instrumentName = \markup { \with-color #(x11-color 'red) "Clarinet" } } \relative c'' { \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2) gis8 a \override Beam.color = #(x11-color "medium turquoise") gis a \override Accidental.color = #(x11-color 'DarkRed) gis a \override NoteHead.color = #(x11-color "LimeGreen") gis a % this is deliberate nonsense; note that the stems remain black \override Stem.color = #(x11-color 'Boggle) b2 cis }
Un autre moyen consiste à fournir à la fonction Scheme rgb-color
les composantes de la couleur exacte au format rouge-vert-bleu
(RGB) – chacune étant exprimée en en fraction de 256 (le 0.5 de
l’exemple suivant correspond à 128). ainsi qu’éventuellement un nombre
définissant le niveau de transparence. Une fois de plus, cette
transparence n’est effective que dans le cadre du format SVG, où la clef
de l’extrait ci-dessous sera affectée.
\new Staff \with { instrumentName = \markup { \with-color #(x11-color 'red) "Clarinet" } \override Clef.color = #(rgb-color 0 0 0 0.5) } \relative c'' { \override Stem.color = #(rgb-color 0 0 0) gis8 a \override Stem.color = #(rgb-color 1 1 1) gis8 a \override Stem.color = #(rgb-color 0 0 0.5) gis4 a }
Voir aussi
Manuel de notation :
La commande d’affinage \tweak
,
Liste des couleurs.
Morceaux choisis : Annotations éditoriales.
Problèmes connus et avertissements
Une couleur x11 n’aura pas forcément le même rendu qu’une couleur normale ayant un nom similaire.
Les couleurs de X11 ne sont pas toutes perceptibles dans un navigateur internet. Aussi nous vous recommandons, dans le cadre d’une présentation multimédia, d’utiliser des couleurs CSS.
Vous ne pouvez pas coloriser individuellement des notes à l’intérieur
d’un accord avec \override
. Si besoin est, utilisez
\tweak
ou \single\override
devant la note en question.
Pour plus de détails, consultez La commande d’affinage \tweak
.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Coloration d'objets ] | [Plus haut: Dans la portée ] | [ Hampes > ] |
Parenthèses
Des objets peuvent être mis entre parenthèses en saisissant
\parenthesize
juste avant l’événement musical. Si l’instruction
préfixe un accord, chaque note le composant se présentera entre
parenthèses. Vous pouvez aussi mettre individuellement entre
parenthèses les notes d’un accord.
\relative { c''2 \parenthesize d c2 \parenthesize <c e g> c2 <c \parenthesize e g> }
Les objets autres que des notes peuvent aussi être entre parenthèses.
En ce qui concerne les articulations, l’instruction \parenthesize
doit cependant être précédée d’un tiret.
\relative { c''2-\parenthesize -. d c2 \parenthesize r }
Voir aussi
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Parenthesis_engraver, ParenthesesItem, parentheses-interface.
Problèmes connus et avertissements
Lorsqu’un accord est mis entre parenthèses, celles-ci s’appliquent individuellement à chacune des notes le composant, alors qu’on attendrait une seule paire de parenthèses encadrant tout l’accord.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Parenthèses ] | [Plus haut: Dans la portée ] | [ Hors de la portée > ] |
Hampes
Dès qu’une note est rencontrée, un objet Stem
se crée
automatiquement. Pour les rondes et les silences, ils sont aussi
créés, mais en mode invisible.
L’orientation des hampes peut être définie manuellement – voir Direction et positionnement à ce sujet.
Commandes prédéfinies
\stemUp
,
\stemDown
,
\stemNeutral
.
Morceaux choisis
Direction par défaut des hampes de la ligne médiane
La direction des hampes des notes placées sur la ligne médiane de la
portée est gérée par la propriété neutral-direction
de l’objet
Stem
.
\relative c'' { a4 b c b \override Stem.neutral-direction = #up a4 b c b \override Stem.neutral-direction = #down a4 b c b }
Changement automatique de l’orientation de hampe de la note médiane selon la mélodie
Afin de suivre la ligne mélodique, LilyPond peut inverser l’orientation
de hampe de la note médiane, dès lors qu’aura été ajouté au contexte de
voix le graveur Melody_engraver
et adaptée la propriété
neutral-direction
de l’objet Stem
.
\relative c'' { \time 3/4 a8 b g f b g | c b d c b c | } \layout { \context { \Voice \consists "Melody_engraver" \autoBeamOff \override Stem.neutral-direction = #'() } }
Voir aussi
Manuel de notation : Direction et positionnement.
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Stem_engraver, Stem, stem-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Hampes ] | [Plus haut: Annotations éditoriales ] | [ Nom des notes > ] |
1.7.2 Hors de la portée
Nous allons nous intéresser ici à souligner des éléments inscrits dans la portée par des éléments qui lui seront externes.
Nom des notes | ||
Info-bulle | ||
Quadrillage temporel | ||
Crochets d’analyse |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Hors de la portée ] | [Plus haut: Hors de la portée ] | [ Info-bulle > ] |
Nom des notes
Le nom des notes peut s’imprimer sous forme de texte à l’aide du contexte
NoteNames
. Utilisé conjointement à une portée standard, chaque
hauteur sera synchronisée avec son nom, qu’il soit imprimé au-dessus ou
en dessous de la portée.
\language "italiano" melody = \relative do'' { fad2 si,8 dod re mi fad4. re8 fad2 } << \new NoteNames { \melody } \new Staff { \key si \minor \melody } \new NoteNames { \set printNotesLanguage = "deutsch" \set printAccidentalNames = ##f \melody } >>
Le nom des notes est imprimé par défaut dans la langue utilisée pour la
saisie ; la propriété printNotesLanguage
permet cependant de
sélectionner l’une des autres langues disponibles – voir
Nom des notes dans d’autres langues. La présentation des
altérations se gère à l’aide de la propriété
printAccidentalNames
.
L’utilisation conjointe de ces deux propriétés et l’activation de
printOctaveNames
donnera une représentation comparable à la
syntaxe de saisie de LilyPond. Pour une représentation plus généraliste,
on peut utiliser des numéros d’octave.
melody = \relative c'' { fis2 b,8 cis d e fis4. d8 fis2 } << \new NoteNames { \set printOctaveNames = ##t \set printAccidentalNames = #'lily \melody } \new Staff { \key b \minor \melody } \new NoteNames { \set printOctaveNames = #'scientific \melody } >>
La propriété noteNameSeparator
définit comment les accords seront
représentés. D’autres fonctions de formatage peuvent se définir en tant
que noteNameFunction
. Une telle fonction doit attendre une
hauteur (pitch
) et un contexte en tant qu’arguments même si l’un
peut être ignoré.
somechords = \relative c' { <b d fis>2 <b cis e g> <b d fis> q } << \new NoteNames { \set noteNameSeparator = "+" \somechords } \new Staff { \key b \minor \somechords } \new NoteNames { \set noteNameFunction = #(lambda (pitch ctx) (alteration->text-accidental-markup (ly:pitch-alteration pitch))) \somechords } >>
Voir aussi
Manuel de notation : Nom des notes dans d’autres langues.
Référence des propriété internes : NoteName, NoteNames, Note_name_engraver.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Nom des notes ] | [Plus haut: Hors de la portée ] | [ Quadrillage temporel > ] |
Info-bulle
Vous pouvez marquer et nommer des éléments de notation à l’aide de bulles. L’objectif premier de cette fonctionnalité est d’expliquer la notation.
En voici un exemple :
\new Voice \with { \consists "Balloon_engraver" } \relative c'' { \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" } r <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2. }
Vous disposez de deux fonctions musicales, balloonGrobText
et
balloonText
. balloonGrobText
prend en argument l’objet
graphique à agrémenter et s’utilise comme \once \override
.
balloonText
, quant à lui, s’utilise comme une simple articulation
et fonctionne comme \tweak
pour attacher du texte à l’une des
notes d’un accord. Les autres arguments sont le décalage et le texte de
la bulle.
Les info-bulles n’ont aucune influence sur l’espacement des notes ; on peut toutefois le gérer ainsi :
\new Voice \with { \consists "Balloon_engraver" } \relative c'' { \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Je suis un silence" } r \balloonLengthOn <c, g'-\balloonText #'(-2 . -2) \markup { "Je suis une tête de note" } c>2. }
Commandes prédéfinies
\balloonLengthOn
,
\balloonLengthOff
.
Voir aussi
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Balloon_engraver, BalloonTextItem, balloon-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Info-bulle ] | [Plus haut: Hors de la portée ] | [ Crochets d'analyse > ] |
Quadrillage temporel
Vous pouvez tracer des lignes entre les portées, synchronisées avec les notes.
LilyPond a recours à deux graveurs distincts afin d’afficher le
quadrillage : le Grid_point_engraver
se charge de déterminer
l’envergure du crochet, alors que le Grid_line_span_engraver
se
consacrera au tracé des lignes. Les lignes sont par défaut centrées
horizontalement sous les notes et alignées sur la gauche des têtes. La
propriété gridInterval
spécifie quant à elle l’espace de temps
entre chaque ligne.
\layout { \context { \Staff \consists "Grid_point_engraver" %% active les guides gridInterval = #(ly:make-moment 1/4) } \context { \Score \consists "Grid_line_span_engraver" %% centre les lignes guides horizontalement sous les notes } } \score { \new ChoirStaff << \new Staff \relative { \stemUp c''4. d8 e8 f g4 } \new Staff \relative { %% centre les lignes guides verticalement \clef bass \stemDown c4 g' f e } >> }
Morceaux choisis
Apparence du quadrillage temporel
Modifier certaines des propriétés du quadrillage temporel aura pour effet d’en changer l’apparence.
\score { \new ChoirStaff << \new Staff { \relative c'' { \stemUp c'4. d8 e8 f g4 } } \new Staff { \relative c { % this moves them up one staff space from the default position \override Score.GridLine.extra-offset = #'(0.0 . 1.0) \stemDown \clef bass \once \override Score.GridLine.thickness = #5.0 c4 \once \override Score.GridLine.thickness = #1.0 g'4 \once \override Score.GridLine.thickness = #3.0 f4 \once \override Score.GridLine.thickness = #5.0 e4 } } >> \layout { \context { \Staff % set up grids \consists "Grid_point_engraver" % set the grid interval to one quarter note gridInterval = #(ly:make-moment 1/4) } \context { \Score \consists "Grid_line_span_engraver" % this moves them to the right half a staff space \override NoteColumn.X-offset = #-0.5 } } }
Voir aussi
Morceaux choisis : Annotations éditoriales.
Référence des propriétés internes : Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Quadrillage temporel ] | [Plus haut: Hors de la portée ] | [ Texte > ] |
Crochets d’analyse
On utilise des crochets en analyse musicale, pour indiquer la structure d’une pièce.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative { c''2\startGroup d\stopGroup }
Les crochets d’analyses sont susceptibles d’être imbriqués :
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative { c''4\startGroup\startGroup d4\stopGroup e4\startGroup d4\stopGroup\stopGroup }
Morceaux choisis
Crochets d’analyse au-dessus de la portée
Les crochets d’analyse viennent par défaut se positionner au-dessous de la portée. L’exemple suivant vous indique comment les faire apparaître en surplomb de la portée.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { \once \override HorizontalBracket.direction = #UP c2\startGroup d2\stopGroup }
Crochet d’analyse avec texte
Du texte peut venir s’ajouter aux crochets d’analyse grâce à la
propriété texte
de l’objet graphique
HorizontalBracketText
. Plusieurs crochets présents en un même
moment requièrent d’utiliser la commande \tweak
. Le texte ajouté
sera répété, entre parenthèse, après un saut de ligne.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" \override HorizontalBracket.direction = #UP } } { \once\override HorizontalBracketText.text = "a" c''\startGroup d''\stopGroup \once\override HorizontalBracketText.text = "a'" e''\startGroup d''\stopGroup | c''-\tweak HorizontalBracketText.text \markup \bold \huge "b" \startGroup -\tweak HorizontalBracketText.text "a" \startGroup d''\stopGroup e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup\stopGroup | c''-\tweak HorizontalBracketText.text foo \startGroup d'' e'' f'' | \break g'' a'' b'' c'''\stopGroup }
Voir aussi
Référence des propriétés internes : Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Staff.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Crochets d'analyse ] | [Plus haut: Notation musicale générale ] | [ Ajout de texte > ] |
1.8 Texte
Nous allons voir ici comment insérer du texte dans une partition, ainsi que différentes manières de le mettre en forme.
1.8.1 Ajout de texte | ||
1.8.2 Mise en forme du texte | ||
1.8.3 Fontes |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Texte ] | [Plus haut: Texte ] | [ Vue d'ensemble des objets textuels > ] |
1.8.1 Ajout de texte
Cette partie constitue une introduction aux différentes manières d’ajouter du texte à une partition.
Note : Pour écrire des accents et autres caractères spéciaux, il suffit de les insérer directement dans votre fichier LilyPond. Ce fichier devra être sauvegardé avec l’encodage UTF-8. Pour plus d’informations, voir Codage du texte.
Vue d’ensemble des objets textuels | ||
Commentaires textuels | ||
Indication textuelle avec extension | ||
Indications textuelles | ||
Texte indépendant |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Ajout de texte ] | [Plus haut: Ajout de texte ] | [ Commentaires textuels > ] |
Vue d’ensemble des objets textuels
Les objets textuels se saisissent soit comme de simples chaînes de
caractères entre quillemets informatique, soit dans un bloc
\markup
qui acceptte une mise en forme fine du texte et des
réhaussements graphiques comme indiqué dans
Mise en forme du texte.
En tant que tels, les blocs markup peuvent s’utiliser :
-
dans tout objet
TextScript
attaché à des notes par-
,^
ou_
; voir see Commentaires textuels ; - en tant que bandeau (spanner) lorsqu’une indication se prolongge sur plusieurs temps ou mesures ; voir Indication textuelle avec extension ;
-
dans toute marque affichée au-dessus de la partition, tels les objets
RehearsalMark
ouMetronomeMark
introduits respectivement par les mots-clé\mark
ou\tempo
; voir Indications textuelles ; -
en tant que bloc markup indépendant, saisi en dehors de tout bloc
\score
– dans ce cas précis la commande\markup {...}
est obligatoire et ne saurait être remplacée par du simple texte borné par des guillemets informatiques ; voir Texte indépendant ; -
dans toute définition qu sein d’un bloc
\header
(par ex.title
,subtitle
,composer
), ou dans des éléments spécifiques au bloc\paper
tel queevenHeaderMarkup
pour les numéros de page. Ceci est abordé dans Titres et entêtes.
De nombreux autres objets basés sur du texte peuvent se saisir sous forme de bloc markup même si ce n’esp pas leur usage premier.
-
Les doigtés peuvent se remplacer par des blocs de markup dès lors
qu’ils sont introduits par la commande
\finger
; voir Doigtés. -
Les syllabes des paroles peuvent être formatées avec une commande
\markup
; voir Vue d’ensemble de la musique vocale. - Les noms des accords sont en fait définis sous forme de blocs de markup et peuvent donc être redéfinis de la même manière pour adapter les modificateurs d’accord ou les exceptions ; voir Gravure des accords.
-
Les nuances se saisissent de la manière la plus simple. Il est néanmoins
possible de définir sa
propre indication sous forme d’objet markup. Certaines nuances, comme
un crescendo, sont affichés sous forme de bandeau et peuvent être
redéfinies au travers de certaines propriétés telle que
crescendoText
; voir Nuances. - Des objets moins courants sont constitués de blocs markup, tels les indications en Info-bulle.
Il est en fait possible d’utiliser \markup
pour personnaliser
l’apparence de pratiquement n’importe quel objet graphique (grob)
en appliquant une dérogation soit à sa propriété text
s’il en
dispose ou de sa propriété stencil
. Une partie de la logique qui
rend ceci possible est expliquée dans
Flexibilité architecturale.
L’exemple qui suit illustre l’ubiquité des blocs markup non seulement comme les objets ci-dessus présentés, mais aussi en remplaçant des objets musicaux par des objets textuels de différentes manières.
\header { title = \markup "Header" } dyn = #(make-dynamic-script #{ \markup \text "DynamicText" #}) \markup \box "Top-level markup" \score { << \new ChordNames \with { majorSevenSymbol = \markup "majorSevenSymbol" } \chordmode { c1:maj7 } \new Staff { \tempo \markup "MetronomeMark" \mark \markup \smaller "RehearsalMark" \once \override TupletNumber.text = \markup "TupletNumber" \tuplet 3/2 { \once \override NoteHead.stencil = #ly:text-interface::print \once \override NoteHead.text = \markup \lower #0.5 "NoteHead" c''8^\markup \italic "TextScript" a'\finger \markup \text "Fingering" \once \override Rest.stencil = #(lambda (grob) (grob-interpret-markup grob #{ \markup "Rest" #})) r } } \new Lyrics \lyricmode { \markup \smallCaps "LyricText" 1 } \new Dynamics { s1\dyn } >> }
Voir aussi
Manuel de notation : Commentaires textuels, Doigtés, Gravure des accords, Indication textuelle avec extension, Indications textuelles, Info-bulle, Mise en forme du texte, Nuances, Personnalisation des indications de nuance, Texte indépendant, Vue d’ensemble de la musique vocale.
Essai sur la gravure musicale automatisée : Flexibilité architecturale.
Morceaux choisis : Text.
Commentaires textuels
Vous pouvez ajouter à une partition des indications sous forme textuelle, comme dans l’exemple suivant. Ces indications se placeront manuellement au-dessus ou au-dessous de la portée selon la syntaxe utilisée – cf. Direction et positionnement.
\relative { a'8^"pizz." g f e a4-"scherz." f }
Cette syntaxe est en fait un raccourci. Des constructions plus
élaborées d’annotation peuvent être obtenues en ayant recours à un bloc
\markup
et selon les préceptes énoncés dans
Mise en forme du texte.
\relative { a'8^\markup { \italic pizz. } g f e a4_\markup { \tiny scherz. \bold molto } f }
Par défaut, ces indications n’affectent en rien l’espacement des notes. Leur longueur peut néanmoins être prise en considération : dans l’exemple qui suit, le premier commentaire n’influe pas sur l’espacement, à l’inverse du second.
\relative { a'8^"pizz." g f e \textLengthOn a4_"scherzando" f }
En plus d’indications textuelles, les notes peuvent se voir attacher des articulations, comme indiqué au chapitre Articulations et ornements.
Pour de plus amples détails sur la manière de combiner indications textuelles et articulations, reportez-vous au chapitre Positionnement des objets.
Commandes prédéfinies
\textLengthOn
,
\textLengthOff
.
Voir aussi
Manuel d’initiation : Positionnement des objets.
Manuel de notation : Articulations et ornements, Direction et positionnement, Mise en forme du texte.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Problèmes connus et avertissements
S’assurer que tous les éléments textuels et les paroles respectent les marges du document requiert des calculs relativement lourds ; vous pouvez toutefois vous en affranchir en ajoutant
\override Score.PaperColumn.keep-inside-line = ##f
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Commentaires textuels ] | [Plus haut: Ajout de texte ] | [ Indications textuelles > ] |
Indication textuelle avec extension
Certaines indications d’interprétation comme rallentando, accelerando ou trilles, s’inscrivent textuellement et se prolongent sur plusieurs notes à l’aide d’une ligne pleine, pointillée ou ondulée. Ces objets, que l’on appelle « extenseurs », se dessinent entre deux notes à l’aide de la syntaxe suivante :
\relative { \override TextSpanner.bound-details.left.text = "rit." b'1\startTextSpan e,\stopTextSpan }
Le texte à imprimer est spécifié en tant que propriété de l’objet
TextSpanner
. Il apparaîtra par défaut en italique ;
cependant, rien ne s’oppose à un autre graphisme dès lors que vous
faites appel à un bloc \markup
–
voir Mise en forme du texte.
\relative { \override TextSpanner.bound-details.left.text = \markup { \upright "rit." } b'1\startTextSpan c e,\stopTextSpan }
Le style de ligne se définit lui aussi comme une propriété de l’objet. Les détails concernant la syntaxe à utiliser sont expliqués au chapitre Styles de ligne.
Commandes prédéfinies
\textSpannerUp
,
\textSpannerDown
,
\textSpannerNeutral
.
Morceaux choisis
Extensions de nuance postfix
Les lignes d’extension des commandes \cresc
, \dim
et
\decresc
peuvent désormais être personnalisées facilement sous
forme d’opérateurs postfix. Soufflets et (de)crescendos peuvent
cohabiter. \<
et \>
produiront par défaut des soufflets,
alors que \cresc
, etc. produiront une indication textuelle avec
extension.
% Some sample text dynamic spanners, to be used as postfix operators crpoco = #(make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text "cresc. poco a poco") \relative c' { c4\cresc d4 e4 f4 | g4 a4\! b4\crpoco c4 | c4 d4 e4 f4 | g4 a4\! b4\< c4 | g4\dim a4 b4\decresc c4\! }
Personnalisation des extenseurs de nuance postfix
Il s’agit de fonctions postfix pour personnaliser l’extension des
crescendos textuels. L’extension devrait débuter sur la première note
de la mesure. Il faut utiliser -\mycresc
– comme une
articulation – sous peine que le départ de l’extension n’apparaisse
qu’à la note suivante.
% Two functions for (de)crescendo spanners where you can explicitly % give the spanner text. mycresc = #(define-music-function (mymarkup) (markup?) (make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) mydecresc = #(define-music-function (mymarkup) (markup?) (make-music 'DecrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) \relative c' { c4-\mycresc "custom cresc" c4 c4 c4 | c4 c4 c4 c4 | c4-\mydecresc "custom decresc" c4 c4 c4 | c4 c4\! c4 c4 }
Voir aussi
Manuel de notation : Mise en forme du texte, Nuances, Styles de ligne.
Morceaux choisis : Texte, Signes d’interprétation.
Référence des propriétés internes : TextSpanner.
Problèmes connus et avertissements
LilyPond ne peut traiter qu’un seul extenseur à la fois par voix.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Indication textuelle avec extension ] | [Plus haut: Ajout de texte ] | [ Texte indépendant > ] |
Indications textuelles
La commande \mark
est tout d’abord conçue pour les
Indications de repère.
\relative { \mark "Verse" c'2 g' \bar "||" \mark "Chorus" g2 c, \bar "|." }
Cette syntaxe rend possible l’adjonction de n’importe quel texte à une
barre de mesure. Ce texte peut être mis en forme de différentes
manières dès lors qu’est utilisé un bloc \markup
, comme indiqué
au chapitre Mise en forme du texte.
\relative { <c' e>1 \mark \markup { \italic { colla parte } } <d f>2 <e g> <c f aes>1 }
Elle peut aussi servir à insérer des signes de coda ou de
segno, ou bien un point d’orgue, au-dessus d’une
barre de mesure. Couplez-la alors à la commande \markup
pour
avoir accès au symbole approprié, selon les indications contenues au
chapitre Notation musicale dans du texte formaté.
\relative { <bes' f>2 <aes d> \mark \markup { \musicglyph "scripts.ufermata" } <e g>1 }
Le résultat de \mark
n’apparaîtra que sur la portée supérieure
d’un système. Si vous introduisez la commande \mark
au moment
d’une barre de mesure, la marque se placera au-dessus de la barre. Si
vous y faites appel au milieu d’une mesure, cette marque sera
positionnée entre les notes. Si elle intervient en début de ligne,
elle sera placée juste avant la première note de cette portée. Enfin,
une marque qui tomberait sur un saut de ligne sera imprimée au début
de la ligne suivante.
\relative c'' { \mark "Allegro" c1 c \mark "assai" \break c c }
Commandes prédéfinies
\markLengthOn
,
\markLengthOff
.
Morceaux choisis
Indication d’un repère en fin de ligne
Les indications de repère peuvent s’imprimer à la fin d’une ligne plutôt qu’en tête de la suivante. L’alignement sur la barre de mesure devra alors s’effectuer par l’extrémité droite de l’indication.
\relative c'' { g2 c d,2 a' \once \override Score.RehearsalMark.break-visibility = #end-of-line-visible \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark "D.C. al Fine" \break g2 b, c1 \bar "||" }
Impression des indications sur toutes les portées d’un système
Bien que ces indications textuelles ne soient habituellement imprimées qu’au niveau de la portée supérieure d’un système, leur affectation peut être répercutée à chacune des portées.
\score { << \new Staff { c''1 \mark "molto" c'' } \new Staff { c'1 \mark "molto" c' } >> \layout { \context { \Score \remove "Mark_engraver" \remove "Staff_collecting_engraver" } \context { \Staff \consists "Mark_engraver" \consists "Staff_collecting_engraver" } } }
Voir aussi
Manuel de notation : Indications de repère, La fonte Emmentaler, Mise en forme du texte, Notation musicale dans du texte formaté.
Morceaux choisis: Texte.
Référence des propriétés internes : MarkEvent, Mark_engraver, RehearsalMark.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Indications textuelles ] | [Plus haut: Ajout de texte ] | [ Mise en forme du texte > ] |
Texte indépendant
Un bloc \markup
peut exister en lui-même, indépendamment de tout
bloc \score
, et venir en préambule par exemple – voir le
chapitre Structure de fichier à ce propos.
\markup { Tomorrow, and tomorrow, and tomorrow... }
De cette manière, vous pouvez insérer du texte en dehors de la musique. Ceci devient particulièrement utile lorsque le fichier source contient plusieurs morceaux. Pour plus d’informations à ce propos, reportez-vous au chapitre Plusieurs partitions dans un même ouvrage.
\score { c'1 } \markup { Tomorrow, and tomorrow, and tomorrow... } \score { c'1 }
Les blocs de textes peuvent s’étendre sur plusieurs pages, ce qui permet de générer des ouvrages complets uniquement grâce à LilyPond. Cette fonctionnalité, ainsi que la syntaxe appropriée, est abordée plus en détail au chapitre Texte avec sauts de page.
Commandes prédéfinies
\markup
,
\markuplist
.
Morceaux choisis
Bloc de texte indépendant sur deux colonnes
L’utilisation de la commande \markup
permet de distribuer un bloc
de texte indépendant sur plusieurs colonnes.
\markup { \fill-line { \hspace #1 \column { \line { O sacrum convivium } \line { in quo Christus sumitur, } \line { recolitur memoria passionis ejus, } \line { mens impletur gratia, } \line { futurae gloriae nobis pignus datur. } \line { Amen. } } \hspace #2 \column \italic { \line { O sacred feast } \line { in which Christ is received, } \line { the memory of His Passion is renewed, } \line { the mind is filled with grace, } \line { and a pledge of future glory is given to us. } \line { Amen. } } \hspace #1 } }
Voir aussi
Manuel de notation : Mise en forme du texte, Plusieurs partitions dans un même ouvrage, Structure de fichier, Texte avec sauts de page.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Texte indépendant ] | [Plus haut: Texte ] | [ Introduction au formatage de texte > ] |
1.8.2 Mise en forme du texte
Nous allons voir dans les lignes qui suivent la manière de mettre en
forme du texte à l’aide de la syntaxe propre au mode \markup
.
Introduction au formatage de texte | ||
Sélection de la fonte et de la taille | ||
Alignement du texte | ||
Éléments graphiques dans du texte formaté | ||
Notation musicale dans du texte formaté | ||
Texte avec sauts de page |
Introduction au formatage de texte
La commande \markup
permet d’ajouter du texte et dispose de sa
propre syntaxe que nous appellerons le « mode markup ». De tels
blocs peuvent s’utiliser partout, comme indiqué dans
Vue d’ensemble des objets textuels.
La syntaxe du mode markup n’est pas différente de celle des
autres modes de LilyPond : une expression \markup
est bornée
par des accolades { … }
. Un mot unique sera
considéré comme une expression minimale, et n’aura donc pas besoin
d’être mis entre accolades.
Contrairement aux indications simples, du type "entre guillemets", les
blocs \markup
peuvent contenir des expressions imbriquées ou
d’autres commandes markup, dès lors qu’elles sont précédées du
caractère \
. Ces commandes n’affecteront que la première
expression qui les suit.
\relative { a'1-\markup intenso a2^\markup { poco \italic più forte } c e1 d2_\markup { \italic "string. assai" } e b1^\markup { \bold { molto \italic agitato } } c }
Un bloc \markup
peut contenir du texte entre guillemets. De
telles chaînes seront considérées comme des expressions textuelles
minimales ; à ce titre, toute commande de type markup ou
tout caractère spécial – tel un \
ou un #
–
sera imprimé littéralement et sans influer sur le formatage du texte.
Il est de ce fait possible d’imprimer des guillemets
informatiques "
dès lors qu’ils sont précédés d’une oblique
inverse.
\relative { a'1^"\italic markup..." a_\markup { \italic "... imprime des lettres en \"italique\" !" } a a }
Une liste de mots, pour pouvoir être traitée en tant qu’expression
distincte, doit être bornée par des "
ou précédée d’une commande.
La manière de définir les expressions markup aura une influence
sur la manière dont elles seront empilées, centrées ou alignées. Dans
l’exemple qui suit, la deuxième expression \markup
est traitée
tout comme la première :
\relative c'' { c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "bbb c" } } }
Vous pouvez stocker les étiquettes textuelles en tant que variables, et attacher ces identificateurs à des notes, comme ici :
allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 }
Pour une liste des différentes commandes spécifiques au mode
\markup
, consultez l’annexe Commandes pour markup (en
anglais).
Le fonctionnement interne de ces commandes et la façon d’en implémenter
de nouveaux est abordée dans
Fonctions pour markups.
Voir aussi
Manuel de notation : Commandes pour markup, Vue d’ensemble des objets textuels.
Manuel d’extension des fonctionnalités : Fonctions pour markups
Fichiers d’initialisation : ‘scm/markup.scm’.
Morceaux choisis : Texte.
Problèmes connus et avertissements
Les messages d’erreur de syntaxe en mode markup sont peu explicites.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Introduction au formatage de texte ] | [Plus haut: Mise en forme du texte ] | [ Alignement du texte > ] |
Sélection de la fonte et de la taille
Le mode markup autorise des changements élémentaires de la fonte :
\relative { d''1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r }
La taille des caractères se modifie, relativement à la taille globale des portées, de différentes manières.
Vous pouvez adopter l’une des tailles prédéfinies, comme ici :
\relative b' { b1_\markup { \huge Sinfonia } b1^\markup { \teeny da } b1-\markup { \normalsize camera } }
Vous pouvez la modifier relativement à sa valeur précédente :
\relative b' { b1_\markup { \larger Sinfonia } b1^\markup { \smaller da } b1-\markup { \magnify #0.6 camera } }
Vous pouvez l’augmenter ou la diminuer par rapport à la taille globale de portée :
\relative b' { b1_\markup { \fontsize #-2 Sinfonia } b1^\markup { \fontsize #1 da } b1-\markup { \fontsize #3 camera } }
Vous pouvez lui attribuer une valeur arbitraire quelle que soit la taille de portée globale :
\relative b' { b1_\markup { \abs-fontsize #20 Sinfonia } b1^\markup { \abs-fontsize #8 da } b1-\markup { \abs-fontsize #14 camera } }
Lorsque le texte comporte des espaces, mieux vaut le borner par des guillemets informatiques ; s’en suivra une meilleure adéquation entre la taille des espaces et celle des autres caractères :
\markup \fontsize #6 \bold { Sinfonia da camera } \markup \fontsize #6 \bold { "Sinfonia da camera" }
Vous pouvez imprimer du texte en indice ou en exposant. Celui-ci sera dans une taille plus petite, mais rien ne s’oppose à ce que vous lui affectiez un taille normale :
\markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } }
Le mode markup vous permet de sélectionner d’autres familles de fontes. Par défaut, LilyPond utilise une police avec empattement, du type roman, et tout changement doit être explicite. Dans la dernière ligne de l’exemple qui suit, vous noterez qu’il n’y a aucune différence entre les premier et deuxième mots.
\markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \roman Valentine and Proteus. } } }
Certaines familles de police spécifiques aux nombres ou aux nuances par exemple, ne disposent pas de tous les caractères, comme nous l’avons vu dans les chapitres Personnalisation des indications de nuance et Indications de reprise manuelles.
Lorsqu’un changement survient au milieu d’un mot, il se peut qu’un espacement supplémentaire apparaisse. Il suffit en pareil cas de concaténer les différents éléments :
\markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } }
Une liste des différentes commandes permettant de changer de fonte ou d’utiliser des fontes personnalisées est disponible à l’annexe Font.
Pour savoir comment personnaliser des fontes, reportez-vous au chapitre Fontes.
Commandes prédéfinies
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
,
\smaller
,
\larger
.
Voir aussi
Manuel de notation : Fonte, Fontes, Indications de reprise manuelles, Personnalisation des indications de nuance.
Fichiers d’initialisation : ‘scm/define-markup-commands.scm’.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Problèmes connus et avertissements
Le recours aux commandes \teeny
, \tiny
, \small
,
\normalsize
, \large
et \huge
produiront des
espacements nettement moins réguliers que si vous utilisez
\fontsize
.
Alignement du texte
Cette partie traite de la manière de positionner du texte en mode markup. On déplace l’intégralité d’un objet markup en utilisant la syntaxe décrite au chapitre Déplacement d'objets.
Les objets de type markup peuvent s’aligner de différentes manières. Une indication textuelle est par défaut alignée sur son extrémité gauche. Dans l’exemple qui suit, il n’y a aucune différence entre les deux premiers markups. Cet exemple indique aussi différentes syntaxes permettant pour les commandes d’alignement.
\relative { d''1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup \right-align { poco } }
L’alignement horizontal peut être ajusté à l’aide d’une valeur numérique :
\relative { a'1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco } }
Enfin, les mots et tout autre objet peuvent se déplacer en les faisant précéder d’un décalage. Un décalage négatif est possible, ce qui aura pour effet de déplacer les objets qui le suivent dans la direction opposée. Bien que le décalage soit normalement invisible, des commandes spécifiques permettent de le mettre en évidence dans l’exemple ci-dessous :
\relative { d''1-\markup { poco } f d-\markup { \with-color #darkred \box \hspace #4 poco } f d-\markup { \with-color #darkred \box \hspace #-4 poco } f d-\markup { \with-color #darkred \box \hspace #10 poco } }
Certains objets possèdent leurs propres procédures d’alignement, qui annuleront toute spécification d’alignement que vous pourriez leur affecter. La solution consiste alors à déplacer l’intégralité de ces objets markup, comme indiqué par exemple au chapitre Indications textuelles.
L’alignement vertical est quant à lui un peu plus compliqué. Comme nous l’avons vu ci-avant, les objets markup peuvent être déplacés dans leur intégralité. Il est néanmoins possible de déplacer certains éléments spécifiques au sein d’un bloc markup. En pareil cas, l’élément à déplacer doit être précédé d’un « point d’ancrage » – un autre élément du markup ou un objet invisible. L’exemple qui suit illustre ces deux possibilités. Vous noterez par ailleurs que le dernier markup, dépourvu de point d’ancrage, n’est de ce fait pas déplacé.
\relative { d'2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \lower #4 \bold { Très modéré } } a d,^\markup \raise #4 \italic { Une forêt. } a'4 a g2 a }
Certaines commandes permettent de régler l’alignement des objets textuels en mode markup, tant au niveau horizontal que vertical.
\relative { d'2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup \translate-scaled #'(-1 . 2) \teeny { "Une forêt." } a'4 a g2 a }
Ici aussi, un décalage (positif ou négatif) constitue un moyen efficace de positionner verticalement des objets empilés dans un markup :
\relative { d'2^\markup { Acte I \column { \with-color #darkred \box \vspace #-1 "Scène 1" } } a' g_\markup \column { \with-color #darkred \box \vspace #1 "Très modéré" } a d,^\markup \column { "Une forêt." \with-color #darkred \box \vspace #2 } a'4 a g2 a }
Un objet de type markup peut contenir plusieurs lignes de texte. Dans l’exemple suivant, chaque élément ou expression ira se placer sur sa propre ligne, tantôt alignée à gauche, tantôt centrée.
\markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } }
Pareillement, une liste d’éléments ou d’expressions sera répartie sur une ligne entière, voire même centrée sur toute la page s’il n’y a qu’un seul élément. De telles expressions peuvent à leur tour contenir du texte multiligne ou une autre expression markup.
\markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } }
Les éléments peuvent se répartir sur une largeur spécifiée par une
dérogation à la propriété line-width
. Celle-ci est réglé par
défaut à #f
, autrement dit l’entièreté de la ligne :
\markup { \column { \fill-line { left center right } \null \override #'(line-width . 30) \fill-line { left center right } } }
Les indications textuelles, lorsqu’elles sont relativement longues, peuvent se répartir sur plusieurs lignes en fonction de la largeur de ligne. Le texte sera alors soit aligné à gauche, soit justifié, comme le montre l’exemple suivant :
\markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } }
Une liste des différentes commandes permettant d’aligner du texte en mode markup est disponible à l’annexe Align.
Voir aussi
Manuel d’initiation : Déplacement d'objets.
Manuel de notation : Alignement, Indications textuelles.
Fichiers d’initialisation : ‘scm/define-markup-commands.scm’.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Éléments graphiques dans du texte formaté
Vous pouvez, grâce au mode markup, ajouter divers objets graphiques à votre partition.
Certaines commandes de markup permettent d’ornementer des éléments textuels avec des graphismes, à l’instar de l’exemple suivant :
\markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } }
Certaines directives peuvent nécessiter d’accroître l’espacement autour du texte – voir l’annexe Align pour une liste des différentes commandes particulières au mode markup ainsi que leur description.
\markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \box \pad-around #3 "String quartet keeps very even time." }
Vous pouvez imprimer certains graphismes ou symboles sans qu’il n’y ait de texte. Ces objets peuvent même se combiner, à l’instar de n’importe quelle expression markup.
\markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } }
Des fonctionnalités graphiques avancées vous permettent même d’inclure
dans une partition un fichier image converti au format PostScript
encapsulé (extension eps
), ou bien de tracer un graphique
directement dans le fichier source à partir d’instructions PostScript
pures. Nous vous conseillons, en pareil cas, de toujours spécifier les
dimensions du dessin, comme dans ce qui suit :
c'1^\markup { \combine \epsfile #X #10 "./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript " -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c'
L’annexe Graphic répertorie les différentes commandes en matière de graphisme.
Voir aussi
Manuel de notation : Alignement, Annotations éditoriales, Dimensions, Graphique.
Fichiers d’initialisation : ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Notation musicale dans du texte formaté
Divers éléments de notation peuvent orner une partition, au moyen d’un objet markup.
Notes et altérations sont données à l’aide d’instructions markup :
a'2 a'^\markup { \note {4} #1 = \note-by-number #1 #1 #1.5 } b'1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a'1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b'
Le mode markup permet d’accéder à d’autres objets de notation :
\relative { g1 bes ees\finger \markup \tied-lyric "4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 } }
En règle générale, tout symbole musical peut être inclus dans un markup, comme le montre l’exemple qui suit. Ces différents symboles sont répertoriés dans l’annexe La fonte Emmentaler.
\relative { c''2 c'^\markup { \musicglyph "eight" } c,4 c,8._\markup { \musicglyph "clefs.G_change" } c16 c2^\markup { \musicglyph "timesig.neomensural94" } }
La rubrique Tout savoir sur les fontes contient d’autres informations sur l’impression de glyphes non alphabétiques, tels que des crochets ou accolades.
Le mode markup supporte aussi les diagrammes spécifiques à certains instruments :
\relative { c''1^\markup { \fret-diagram-terse "x;x;o;2;3;2;" } c^\markup { \harp-pedal "^-v|--ov^" } c c^\markup { \combine \musicglyph "accordion.discant" \combine \raise #0.5 \musicglyph "accordion.dot" \raise #1.5 \musicglyph "accordion.dot" } }
La documentation sur ces diagrammes se trouve à l’annexe Instrument Specific Markup.
Rien ne s’oppose à ce qu’une étiquette ne comporte une partition.
\relative { c'4 d^\markup { \score { \relative { c'4 d e f } \layout { } } } e f | c d e f }
Les différentes commandes markup relatives à la notation musicale sont répertoriées à l’annexe Music.
Voir aussi
Manuel de notation : La fonte Emmentaler, Musique, Tout savoir sur les fontes.
Fichiers d’initialisation : ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
Problèmes connus et avertissements
L’espacement vertical d’un \score
contenu dans un objet
markup se contrôle par la propriété baseline-skip
. Tout
réglage au sein d’un bloc \paper
est ignoré.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Notation musicale dans du texte formaté ] | [Plus haut: Mise en forme du texte ] | [ Fontes > ] |
Texte avec sauts de page
Alors que \markup
s’utilise pour traiter un bloc de texte
insécable, \markuplist
permet, employé en tête de partition,
d’obtenir un bloc de lignes réparties différemment et, le cas échéant,
sur plusieurs pages.
\markuplist { \justified-lines { Un long texte constitué de lignes justifiées. ... } \wordwrap-lines { Un autre grand paragraphe. ... } ... }
Cette syntaxe prend en charge une liste de markups ; il peut s’agir
- d’une suite de commandes générant à leur tour des lignes de texte,
- d’une liste de lignes de texte,
- d’une liste d’étiquettes.
Les différentes commandes permettant de générer des listes de lignes se trouve dans l’annexe Commandes pour liste de markups (en anglais).
Commandes prédéfinies
\markuplist
.
Voir aussi
Manuel de notation : Commandes pour liste de markups.
Manuel d’extension : Définition d'une nouvelle commande de liste de markups.
Fichiers d’initialisation : ‘scm/define-markup-commands.scm’.
Morceaux choisis : Texte.
Référence des propriétés internes : TextScript.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Texte avec sauts de page ] | [Plus haut: Texte ] | [ Tout savoir sur les fontes > ] |
1.8.3 Fontes
Ce chapitre est consacré aux fontes et polices de caractère, à leur gestion. Vous y apprendrez aussi comment changer de fonte en cours de partition.
Tout savoir sur les fontes | ||
Attribution d’une fonte en particulier | ||
Choix des fontes par défaut |
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Fontes ] | [Plus haut: Fontes ] | [ Attribution d'une fonte en particulier > ] |
Tout savoir sur les fontes
La gestion des fontes est assurée par plusieurs bibliothèques : FontConfig se charge de répertorier les différentes fontes disponibles ; quant à Pango, elle se charge plus particulièrement de leur rendu.
En sus de celles déjà installées sur le système, d’autres fontes peuvent s’ajouter au répertoire de FonConfig, ce qui les rendra donc disponibles pour les partitions LilyPond, à l’aide des commandes suivantes :
#(ly:font-config-add-font "chemin/au/fichier-fonte.otf") #(ly:font-config-add-directory "chemin/au/dossier/")
Le chemin fourni à ces deux commandes peut être absolu ou relatif, ce qui permet de compiler une partition sur n’importe quel système dans la mesure où les fichiers de fontes concernés sont transmis avec les fichiers sources de la partition.
Une fois qu’elles ont été détectées, les fontes se sélectionnent selon
les méthodes indiquées dans Attribution d’une fonte en particulier
et Choix des fontes par défaut. Dès lors que la liste affichée est
exhaustive, l’instruction #(ly:font-config-display-fonts)
permettra de vérifier quelles fontes auront été détectées ainsi que leur
nom exact, celui-ci pouvant être différent du nom du fichier.
Les fontes musicales peuvent se décrire comme un jeu de glyphes
spécifiques regroupés dans plusieurs familles. L’exemple qui suit
montre la syntaxe à utiliser pour accéder, en mode markup, aux
différents glyphes Feta
non textuels de LilyPond.
a'1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup "brace120" \override #'(font-encoding . fetaText) \column { 1 3 sf } \override #'(font-encoding . fetaMusic) \lookup "noteheads.s0petrucci" } }
Tous ces glyphes, à l’exception des accolades qui sont regroupées dans
fetaBraces
, sont accessibles avec la syntaxe indiquée dans
Notation musicale dans du texte formaté.
Une remarque s’impose au sujet des glyphes contenus dans
fetaBraces
: chacun d’eux est formé du mot brace auquel
est accolé un numéro d’ordre. Lorsque vous désirez imprimer une
accolade, vous devez la « chercher » par son numéro d’ordre – d’où la
fonction \lookup
de l’exemple ci-dessus –, tout en sachant qu’il
est compris entre 0
(la plus petite) et 575
(la plus
grande). Vous serez souvent amené à procéder par tâtonnement pour
arriver au résultat optimal. Par ailleurs, fetaBraces
ne comporte
que des accolades ouvrantes. Pour obtenir une accolade fermante, il
suffit d’appliquer une rotation au glyphe sélectionné, comme indiqué à
la rubrique Rotation des objets.
Vous disposez de trois familles de fontes textuelles : roman pour la police sérif ou avec empattement, une police sans empattement (sans sérif) et une police à chasse fixe (monospace ou typewriter).
Pour le moteur svg
:
Famille | Fonte par défaut |
---|---|
roman | serif |
sans | sans-serif |
typewriter | monospace |
serif
, sans-serif
et monospace
sont des
generic-family
au titre des spécifications SVG et CSS.
Pour les autres moteurs :
Famille | Fonte par défaut (alias) | Listes de définition des alias |
---|---|---|
roman | LilyPond Serif | C059, Century SchoolBook URW, Century Schoolbook L, TeX Gyre Schola, DejaVu Serif, ..., serif |
sans | LilyPond Sans Serif | Nimbus Sans, Nimbus Sans L, TeX Gyre Heros, DejaVu Sans, ..., sans-serif |
typewriter | LilyPond Monospace | Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, TeX Gyre Cursor, DejaVu Sans Mono, ..., monospace |
Il est à noter que les fontes URW distribuées avec LilyPond (« C059 », « Nimbus Mono PS » et « Nimbus Sans ») disposent d’une particularité : par défaut, et en complément des ligatures standard telles que « fl » ou « ffi », elles substituent la chaîne « Nr. » par le caractère « Numero Sign » (U+2116) dès lors que le script « latn » est sélectionné. On peut toutefois s’en préserver temporairement par l’insertion d’un caractère de largeur nulle et non jointant (zero-width non-joiner ZWNJ, U+200C) entre les caractères « N » et « r ». Les lignes ci-dessous auront pour conséquence que LilyPond insérera toujours un caractère ZWNJ.
\paper { #(add-text-replacements! `(("Nr." . ,(format #f "N~ar." (ly:wide-char->utf-8 #x200C))))) }
LilyPond Serif
, LilyPond Sans Serif
et LilyPond
Monospace
sont des alias de fonte définis dans le fichier de
configuration de FontConfig spécifique à LilyPond
00-lilypond-fonts.conf
. Lorsqu’un caractère est absent de la
première fonte listée, il sera remplacé par celui de la fonte suivante.
Pour plus de détails sur les définitions des alias, consultez le fichier
00-lilypond-fonts.conf
dans le répertoire d’installation.
Chaque famille dispose en principe de différents styles et niveaux de
gras. L’exemple qui suit illustre la manière de changer la famille, le
style, la graisse ou la taille. Notez bien que l’argument fourni à
font-size
correspond à la correction à apporter à la taille par
défaut.
\override Score.RehearsalMark.font-family = #'typewriter \mark \markup "Ouverture" \override Voice.TextScript.font-shape = #'italic \override Voice.TextScript.font-series = #'bold d''2.^\markup "Allegro" \override Voice.TextScript.font-size = #-3 c''4^smaller
Cette syntaxe s’applique aussi en mode markup, bien que celui-ci dispose d’une syntaxe allégée comme nous l’avons vu dans Sélection de la fonte et de la taille :
\markup { \column { \line { \override #'((font-shape . italic) (font-size . 4)) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } }
Le recours aux fontes OpenType permet d’utiliser certaines fonctionnalités de ces fontes. Toutefois, les fontes OpenType ne disposent pas toutes de l’intégralité de ces fonctionnalités. Dans le cas où la fonctionnalité demandée n’est pas disponible dans la fonte choisie, cette fonctionnalité est tout bonnement ignorée. Les exemples ci-dessous utilisent TeX Gyre Schola.
% Vraies petites capitales \markup { \override #'(font-name . "TeX Gyre Schola") Style normal : Hello HELLO } \markup { \override #'(font-name . "TeX Gyre Schola") \caps { Petites capitales : Hello } } \markup { \override #'(font-name . "TeX Gyre Schola") \override #'(font-features . ("smcp")) { Vraies petites capitales : Hello } } % Styles numériques \markup { \override #'(font-name . "TeX Gyre Schola") Style numérique normal : 0123456789 } \markup { \override #'(font-name . "TeX Gyre Schola") \override #'(font-features . ("onum")) { Style numérique ancien : 0123456789 } } % Alternatives stylistiques \markup { \override #'(font-name . "TeX Gyre Schola") \override #'(font-features . ("salt 0")) { Alternative stylistique 0 : εφπρθ } } \markup { \override #'(font-name . "TeX Gyre Schola") \override #'(font-features . ("salt 1")) { Alternative stylistique 1 : εφπρθ } } % Fonctionnalités multiples \markup { \override #'(font-name . "TeX Gyre Schola") \override #'(font-features . ("onum" "smcp" "salt 1")) { Fonctionnalités multiples : Hello 0123456789 εφπρθ } }
Une liste exhaustive des fonctionnalités des fontes OpenType est disponible à l’adresse https://www.microsoft.com/typography/otspec/featurelist.htm
Les différents types de fonctionnalité des fontes OpenType sont recensées dans le message http://lists.gnu.org/archive/html/lilypond-devel/2017-08/msg00004.html
En plus de pouvoir jongler entre les différentes fontes prédéfinies, LilyPond vous permet d’en utiliser d’autres, ce qui fait l’objet des deux prochaines parties : Attribution d’une fonte en particulier et Choix des fontes par défaut.
Voir aussi
Manuel de notation : La fonte Emmentaler, Notation musicale dans du texte formaté, Rotation des objets, Sélection de la fonte et de la taille, Fonte.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Tout savoir sur les fontes ] | [Plus haut: Fontes ] | [ Choix des fontes par défaut > ] |
Attribution d’une fonte en particulier
Vous pouvez utiliser n’importe quelle police installée sur votre système, dès lors qu’elle est accessible par Fontconfig et que vous respectez la syntaxe suivante :
\override Staff.TimeSignature.font-name = "Bitstream Charter" \override Staff.TimeSignature.font-size = #2 \time 3/4 a'1_\markup { \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold") { Vera Oblique Bold } }
font-name peut se décrire sous la forme d’une liste de polices séparées par une virgule, une espace et une liste de styles. Dès lors que la police présente dans la liste est installée et comporte le glyphe requis, elle sera utilisée ; c’est la suivante dans la liste qui sera utilisée dans le cas contraire.
LilyPond, lancé avec l’option suivante, affiche la liste de toutes les polices disponibles sur votre machine :
lilypond -dshow-available-fonts
Voir aussi
Manuel de notation : Choix des fontes par défaut, Tout savoir sur les fontes.
Morceaux choisis : Texte.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Notation spécialisée >> ] |
[ < Attribution d'une fonte en particulier ] | [Plus haut: Fontes ] | [ Notation spécialisée > ] |
Choix des fontes par défaut
Vous pouvez tout à fait préférer un autre jeu de polices par défaut que celui de LilyPond. Il vous faudra alors spécifier les différentes familles, en respectant l’ordre roman, sans empattement et monospace, comme dans l’exemple suivant ; ces fontes seront automatiquement mises à l’échelle de la taille globale des portées. Tout comme indiqué dans Attribution d’une fonte en particulier, il peut s’agir d’une liste de polices séparées par une virgule, à ceci près qu’il n’est pas possible de spécifier de style. Pour plus d’explications sur les fontes, relisez Tout savoir sur les fontes.
\paper { #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans,Nimbus Sans L" "Luxi Mono" (/ staff-height pt 20))) } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } }
Note : make-pango-font-tree
réinitialise les fontes musicales à
leur valeur par défaut, à savoir Emmentaler.
La syntaxe suivante permet de substituer une fonte particulière tout en
laissant les autres à leur valeur par défaut. L’exemple ci-dessous
produit les mêmes effets que celui utilisant
make-pango-font-tree
. De même qu’avec
make-pango-font-tree
, il est possible de fournir une liste de
fontes séparées par une virgule pour les catégories roman
,
sans
et typewriter
. Dès lors que la taille de portée reste
à sa valeur par défaut de 20 pt, l’instruction
#:factor (/ staff-height pt 20)
n’est pas nécessaire.
\paper { #(define fonts (set-global-fonts #:roman "Times New Roman" #:sans "Nimbus Sans,Nimbus Sans L" #:typewriter "Luxi Mono" ; inutile si taille de portée par défaut #:factor (/ staff-height pt 20) )) }
Il est aussi posible de substituer les fontes musicales. L’exemple ci-dessous produit les mêmes effets que ceux qui précèdent dans la mesure où les fontes musicales sont fixées à leur valeur par défaut. Pour de plus amples informations, voir Changement des fontes musicales.
\paper { #(define fonts (set-global-fonts #:music "emmentaler" ; défaut #:brace "emmentaler" ; défaut #:roman "Times New Roman" #:sans "Nimbus Sans,Nimbus Sans L" #:typewriter "Luxi Mono" ; inutile si taille de portée par défaut #:factor (/ staff-height pt 20) )) }
En tout état de cause, tout appel à set-global-fonts
réinitialise
aussi bien les fontes musicales que les fontes textuelles. Dès lors que
l’une de ces catégories n’est pas mentionnée sera utilisée la fonte par
défaut y afférente.
Par ailleurs, chaque appel à set-global-fonts
affecte les fontes
du bloc \book
qui le suit ; chaque bloc \book
consécutif
peut donc disposer de son propre jeu de fontes grâce à un simple appel à
set-global-fonts
, comme ici :
\paper { #(define fonts (set-global-fonts … )) } \book { … } \paper { #(define fonts (set-global-fonts … )) } \book { … }
Voir aussi
Manuel de notation : Attribution d’une fonte en particulier, Fonte, Changement des fontes musicales, Sélection de la fonte et de la taille, Tout savoir sur les fontes.
[ << Notation musicale générale ] | [Racine][Table des matières][Index] | [ Généralités en matière d'entrée et sortie >> ] |
[ < Choix des fontes par défaut ] | [Plus haut: Top ] | [ Musique vocale > ] |
2. Notation spécialisée
Ce chapitre explique comment créer la notation musicale spécifique à certains intruments ou certaines époques.
Bien que la musique orchestrale ou d’ensemble de fasse pas l’objet d’une partie distincte, un certain nombre de notions couramment utilisées dans ces types de partitions est abordé dans Références en matière d’opéra et musique de scène.
2.1 Musique vocale
Ce chapitre traite de la musique vocale : comment la saisir et comment s’assurer que les paroles s’alignent avec les notes de la mélodie correspondante.
2.1.1 Vue d’ensemble de la musique vocale
En complément de généralités, ce sous-chapitre aborde quelques styles particuliers en terme de musique vocale.
Références en matière de musique vocale
Graver de la musique vocale soulève plusieurs problèmes ; ils sont abordés soit dans ce chapitre, soit dans d’autres parties de la documentation de LilyPond.
- La plupart du temps, les paroles ne sont constituées que de texte simple. Cette forme de notation est abordée dans Écriture de chants simples.
-
La musique vocale nécessite souvent de recourir au mode
markup
, aussi bien pour des paroles que pour d’autres éléments textuels comme le nom des personnages. Cette syntaxe est expliquée dans Introduction au formatage de texte. - L’impression d’un ambitus – ou tessiture – que l’on trouve en tête de certaines partitions, est abordée dans Ambitus.
- Les indications de nuance viennent, par défaut, se placer sous la portée. Il en va différemment pour la musique vocale, de telle sorte qu’elles ne soient pas mélangées avec les paroles. Ceci fait l’objet de la rubrique Mise en forme d’une partition chorale.
Voir aussi
Glossaire musicologique : ambitus.
Manuel d’initiation : Écriture de chants simples.
Manuel de notation : Ambitus, Introduction au formatage de texte, Mise en forme d’une partition chorale.
Morceaux choisis : Musique vocale.
Saisie des paroles
Il existe un mode de saisie spécialement adapté aux paroles. On
l’introduit avec le mot-clé \lyricmode
, ou en utilisant
\addlyrics
ou \lyricsto
. Ce mode permet de saisir
des paroles ainsi que leur ponctuation, de telle sorte que le
caractère a
ne sera plus interprété comme une note, un
la pour les latinistes, mais comme une syllabe. Les
syllabes sont saisies comme des notes, mais les hauteurs sont alors
remplacées par du texte. Exemple avec une comptine anglaise :
\lyricmode { Three4 blind mice,2 three4 blind mice2 }
Il y a deux manières principales de préciser la place exacte des
syllabes : soit en spécifiant explicitement la durée de chaque
syllabe – comme dans l’exemple ci-dessus – soit en alignant
automatiquement les paroles sur les notes d’une mélodie ou d’une voix en
utilisant \addlyrics
ou \lyricsto
. La première méthode
est abordée plus en détail à la rubrique
Durée explicite des syllabes, la deuxième à la rubrique
Durée automatique des syllabes.
Dans les paroles, un mot ou une syllabe commence par une lettre de l’alphabet, et se termine par une espace. Toute syllabe doit donc être séparée d’une autre par une espace, tout autre caractère – chiffre ou ponctuation – étant considéré comme partie intégrante de cette même syllabe. L’exemple suivant comporte une faute de frappe évidente :
\lyricmode { lah lah lah}
la dernière syllabe contient une }
; il y a de fait un
défaut de parité avec l’accolade ouvrante, et la compilation échouera
fort probablement. Prenez dès à présent l’habitude de toujours encadrer
d’espaces une accolade :
\lyricmode { lah lah lah }
Pour utiliser des lettres accentuées ou des caractères spéciaux – cœurs ou guillemets inversés par exemple – il suffit de les insérer dans le fichier et de veiller à le sauvegarder avec le codage UTF-8. Voir à ce sujet Caractères spéciaux pour plus de détails.
\relative { d''8 c16 a bes8 f ees' d c4 } \addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }
Pour utiliser des guillemets informatiques standard, faites-les précéder d’une barre oblique inverse et encadrez d’une paire de guillemets la syllabe ainsi composée :
\relative { \time 3/4 e'4 e4. e8 d4 e d c2. } \addlyrics { "\"I" am so lone- "ly\"" said she }
Expliquer exactement comment LilyPond repère le début d’un mot en mode
paroles (Lyrics) est quelque peu compliqué. En mode
Lyrics, un mot peut commencer par : tout caractère
alphabétique, _
, ?
, !
, :
, '
, un des
codes de contrôle ^A
à ^F
et ^Q
à ^W
,
^Y
, ^^
, tout caractère ASCII de code strictement supérieur
à 127, ou enfin l’un des symboles `
, '
, "
ou ^
, s’il est précédé d’une barre oblique inverse.
LilyPond permet de contrôler très finement le rendu des paroles grâce au
mode \markup
, utilisable y compris au sein du mode
\lyricmode
. Des explications complètes sont disponibles au
chapitre Mise en forme du texte.
Morceaux choisis
Mise en forme individuelle de syllabes
Le mode markup permet d’individualiser la mise en forme de certaines syllabes.
mel = \relative c'' { c4 c c c } lyr = \lyricmode { Lyrics \markup { \italic can } \markup { \with-color #red contain } \markup { \fontsize #8 \bold Markup! } } << \new Voice = melody \mel \new Lyrics \lyricsto melody \lyr >>
Voir aussi
Manuel d’initiation : Chansons
Manuel de notation : Caractères spéciaux, Durée automatique des syllabes, Durée explicite des syllabes, Fontes, Mise en forme du texte, Modes de saisie.
Référence des propriétés internes : LyricText.
Alignement des paroles sur la mélodie
Les paroles sont interprétées à partir à partir du mode
\lyricmode
et imprimées dans un contexte Lyrics
– voir
Tout savoir sur les contextes.
\new Lyrics \lyricmode { … }
Deux variantes à \lyricmode
permettent de plus d’associer
un contexte pour synchroniser les syllabes à la musique. La plus
commode consiste à ajouter un \addlyrics
directement après
le contenu musical du contexte Voice
qui devrait se
synchroniser avec le contexte Lyrics
alors implicitement
créé. L’instruction \lyricsto
est plus versatile en ceci
qu’elle requiert de spécifier à la fois le contexte Voice
associé et de créer explicitement un contexte Lyrics
pour
contenir les paroles. Pour de plus amples détails, voir
Durée automatique des syllabes.
Vous disposez de deux méthodes pour aligner des paroles sur une mélodie :
-
Les paroles peuvent s’aligner automatiquement, la durée des syllabes
étant déterminée à partir d’un contexte de voix ou, dans certaines
circonstances, une mélodie associée, grâce aux commandes
\addlyrics
et\lyricsto
ou en définissant la propriétéassociatedVoice
. Ceci est détaillé à la rubrique Durée automatique des syllabes.<< \new Staff << \time 2/4 \new Voice = "one" \relative { \voiceOne c''4 b8. a16 g4. r8 a4 ( b ) c2 } \new Voice = "two" \relative { \voiceTwo s2 s4. f'8 e4 d c2 } >> % takes durations and alignment from notes in "one" \new Lyrics \lyricsto "one" { Life is __ _ love, live __ life. } % takes durations and alignment from notes in "one" initially % then switches to "two" \new Lyrics \lyricsto "one" { No more let \set associatedVoice = "two" % must be set one syllable early sins and sor -- rows grow. } >>
La première ligne de paroles est saisie selon la méthode la plus simple.
Vous pouvez constater, dans la deuxième ligne, que les paroles s’alignent selon les durées d’une voix différente. Ceci est particulièrement utile lorsque le texte s’agence différemment selon les couplets et que les durées sont accessibles grâce à des contextes
Voice
particuliers. Pour de plus amples détails, rendez-vous à la rubrique Couplets. -
Les paroles s’aligneront indépendamment de la valeur des notes dès lors
que vous utiliserez le mode
\lyricmode
et affecterez explicitement leur durée à chaque syllabe.<< \new Voice = "one" \relative { \time 2/4 c''4 b8. a16 g4. f8 e4 d c2 } % uses previous explicit duration of 2; \new Lyrics \lyricmode { Joy to the earth! } % explicit durations, set to a different rhythm \new Lyrics \lyricmode { Life4 is love,2. live4 life.2 } >>
La première ligne de paroles ne s’aligne pas vraiment sur les notes parce qu’aucune durée n’a été spécifiée. En fait, LilyPond adopte la dernière durée mentionnée, un 2, et l’applique à chaque mot.
La deuxième ligne illustre la manière d’aligner des paroles sans tenir compte de la durée des notes. Cette façon de procéder permet de traiter un alignement différent selon les couplets lorsqu’il n’y a pas moyen de déduire les durées à partir d’un contexte musical ; la rubrique Durée explicite des syllabes aborde ceci plus en détails. Cette technique permet aussi d’ajouter des dialogues, comme indiqué à la rubrique Dialogue et musique.
Voir aussi
Manuel d’initiation : Alignement des paroles sur une mélodie.
Référence des propriétés internes : Lyrics.
Durée automatique des syllabes
Les paroles peuvent être automatiquement alignées sous une mélodie, de trois manières différentes :
-
en utilisant la commande
\lyricsto
pour spécifier le contexte de voix qui contient la mélodie, -
en introduisant les paroles par la commande
\addlyrics
, placée juste après le contexteVoice
qui contient la mélodie, -
en définissant la propriété
associatedVoice
pour synchroniser les paroles avec un autre contexte de voix, ce à n’importe quel moment.
Ces trois méthodes permettent d’ajouter les traits d’union séparant les syllabes d’un même mot ainsi que d’indiquer la tenue de la dernière syllabe. Ceci fait l’objet de la rubrique Traits d’union et de prolongation.
Le contexte Voice
contenant la mélodie sur laquelle les paroles
vont s’aligner doit rester actif, au risque de voir la suite du texte
disparaître. Ceci peut se produire lorsqu’il y a des moments où l’on ne
chante pas. La rubrique Conservation d’un contexte vous indiquera
comment maintenir un contexte actif.
Utilisation de \lyricsto
Vous pouvez aligner automatiquement des paroles sous une mélodie en
spécifiant à l’aide de la commande \lyricsto
le contexte de voix
qui contient cette mélodie :
<< \new Voice = "melodie" \relative { a'1 a4. a8 a2 } \new Lyrics \lyricsto "melodie" { Ce sont les mots } >>
Cette commande adapte les paroles aux notes de la voix (contexte
Voice
dans le jargon LilyPond) melodie. Ce contexte
Voice
doit exister avant l’affectation des paroles par
\lyricsto
. La commande \lyricsto
introduit
automatiquement le mode \lyricmode
. Les paroles viendront par
défaut se placer en dessous des notes. Pour un autre positionnement,
voir Positionnement vertical des paroles.
Utilisation de \addlyrics
La commande \addlyrics
n’est en fait qu’une manière plus aisée
d’écrire de la musique vocale dans une structure LilyPond plus complexe.
{ MUSIQUE } \addlyrics { PAROLES }
revient au même que
\new Voice = "blah" { MUSIQUE } \new Lyrics \lyricsto "blah" { PAROLES }
En voici un exemple :
{ \time 3/4 \relative { c'2 e4 g2. } \addlyrics { play the game } }
On peut ajouter davantage de couplets en multipliant le nombre de
sections \addlyrics
.
{ \time 3/4 \relative { c'2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu } }
Cependant, la commande \addlyrics
ne peut pas gérer les
constructions polyphoniques et ne permet pas d’associer des
paroles à un contexte TabVoice
. Dans ces cas là, mieux vaut
employer \lyricsto
.
Utilisation de associatedVoice
La propriété associatedVoice
permet de basculer de mélodie pour
la synchronisation des paroles. Elle s’emploie de la manière suivante :
\set associatedVoice = "lala"
La valeur que vous attribuez à cette propriété (ici "lala"
)
doit désigner un contexte Voice
nommé, sans quoi les mélismes
ne seront pas imprimés correctement.
Voici un exemple de cette manière de procéder :
<< \new Staff << \time 2/4 \new Voice = "one" \relative { \voiceOne c''4 b8. a16 g4. r8 a4 ( b ) c2 } \new Voice = "two" \relative { \voiceTwo s2 s4. f'8 e8 d4. c2 } >> % takes durations and alignment from notes in "one" initially % then switches to "two" \new Lyrics \lyricsto "one" { No more let \set associatedVoice = "two" % must be set one syllable early sins and sor -- rows grow. } >>
Voir aussi
Manuel de notation : Conservation d’un contexte, Traits d’union et de prolongation.
Durée explicite des syllabes
On peut aussi se passer de \addlyrics
, \lyricsto
et
associatedVoice
pour saisir des paroles. Dans ce cas, les
syllabes sont entrées comme des notes – du texte remplaçant les
hauteurs – ce qui veut dire que vous devez définir leur durée
explicitement.
Les traits d’union seront imprimés entre les syllabes, à l’inverse des mélismes puisqu’il n’y a pas de voix associée.
Voici deux illustrations de cette technique :
<< \new Voice = "melody" { \time 3/4 c''2 a f f e e } \new Lyrics \lyricmode { c4. -- a -- f -- f -- e2. -- e } >>
<< \new Staff { \relative { c''2 c2 d1 } } \new Lyrics { \lyricmode { I2 like4. my8 cat!1 } } \new Staff { \relative { c'8 c c c c c c c c8 c c c c c c c } } >>
Cette manière de procéder est tout à fait adaptée lorsqu’un fond musical accompagne des dialogues – voir Dialogue et musique.
Les syllabes seront alignées selon la dérogation apportée à la propriété
self-alignment-X
:
<< \new Voice = "melody" \relative { \time 3/4 c'2 e4 g2 f } \new Lyrics \lyricmode { \override LyricText.self-alignment-X = #LEFT play1 a4 game4 } >>
Voir aussi
Manuel de notation : Dialogue et musique.
Référence des propriétés internes : Lyrics, Voice.
Plusieurs syllabes sur une note
Pour attribuer plus d’une syllabe à une même note, vous pouvez soit les
mettre entre guillemets, soit utiliser le caractère souligné (_
)
pour obtenir une espace, ou bien encore utiliser un tilde (~
)
pour obtenir une liaison entre les syllabes.
{ \relative { \autoBeamOff r8 b' c fis, fis c' b e, } \addlyrics { % Ensure hyphens are visible \override LyricHyphen.minimum-distance = #1.0 Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da } \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da } \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da } }
Voir aussi
Référence des propriétés internes : LyricCombineMusic.
Plusieurs notes pour une même syllabe
Parfois, tout particulièrement en musique médiévale ou baroque, plusieurs notes correspondent à une même syllabe. Ces vocalises sont appelées mélismes. La syllabe à vocaliser est traditionnellement alignée par la gauche sur la première note du mélisme.
Lorsqu’un mélisme tombe sur une syllabe autre que la dernière d’un mot,
un trait d’union étiré, indiqué par un double tiret --
dans
le fichier source, reliera cette syllabe à la suivante.
Lorsqu’un mélisme tombe sur la dernière syllabe d’un mot ou que ce mot
n’en comporte qu’une, l’usage est d’indiquer la « tenue » jusqu’à la
dernière note de la vocalise. Ceci s’obtient en ajoutant un double
caractère souligné __
après cette syllabe.
Vous disposez de cinq méthodes pour indiquer la présence d’un mélisme :
-
Une liaison de prolongation constitue de fait un mélisme :
<< \new Voice = "melody" \relative { \time 3/4 f''4 g2 ~ | 4 e2 ~ | 8 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ } >>
-
LilyPond considère une liaison d’articulation comme un mélisme – il
s’étendra de la première à la dernière note couverte par cette
liaison. Il s’agit là de la façon traditionnelle de saisir des
paroles :
<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 ( f e f ) e8 ( d e2 ) } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ } >>
Notez bien qu’une liaison de phrasé – indiquée par
\(…\)
– n’a aucune incidence sur la gestion des mélismes. -
LilyPond considère des notes regroupées par une ligature manuelle comme
un mélisme, si tant est que la procédure de ligature automatique a été
désactivée – voir Définition des règles de ligature automatique.
<< \new Voice = "melody" \relative { \time 3/4 \autoBeamOff f''4 g8[ f e f] e2. } \new Lyrics \lyricsto "melody" { Ky -- ri -- e } >>
Ceci ne peut, vous en conviendrez, prendre en compte des durées plus longues que la croche.
-
LilyPond considère un groupe de notes non liées, mais encadrées par
\melisma
et\melismaEnd
, comme constituant un mélisme :<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 \melisma f e f \melismaEnd e2. } \new Lyrics \lyricsto "melody" { Ky -- ri -- e } >>
-
Vous pouvez indiquer un mélisme directement dans les paroles, à l’aide
d’un caractère souligné simple
_
pour chaque note faisant partie de la vocalise :<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 f e f e8 d e2 } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ _ _ e __ _ _ } >>
Vous pouvez totalement désactiver l’interprétation des liaisons de
prolongation ou d’articulation et des ligatures apparaissant dans une
mélodie comme fait générateur d’un mélisme. Il suffit en ce cas de
définir melismaBusyProperties
:
<< \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() c'4 d ( e ) g8 [ f ] f4 ~ 4 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e e -- le -- i -- son } >>
Certains réglages de melismaBusyProperties
permettent de prendre
en compte ou non les liaisons de tenue, les liaisons d’articulation et
les ligatures dans la détection automatique des mélismes – voir
melismaBusyProperties
à la rubrique
propriétés de contexte ajustables (en anglais).
Dans le cas où les indications de mélisme doivent être totalement
ignorées, il vous faudra alors activer ignoreMelismata
– voir
Rythme différent selon le couplet.
Lorsque, dans un passage où la propriété melismaBusyProperties
est active, survient un mélisme, vous pouvez l’indiquer dans les paroles
par un simple caractère souligné pour chaque note à inclure :
<< \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() c'4 d ( e ) g8 [ f ] ~ 4 ~ f } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ e __ _ _ _ } >>
Commandes prédéfinies
\autoBeamOff
,
\autoBeamOn
,
\melisma
,
\melismaEnd
.
Voir aussi
Glossaire musicologique : melisma.
Manuel d’initiation : Alignement des paroles sur une mélodie.
Manuel de notation : Alignement des paroles sur la mélodie, Définition des règles de ligature automatique, Durée automatique des syllabes, Rythme différent selon le couplet.
Référence des propriétés internes : Tunable context properties.
Problèmes connus et avertissements
Certains mélismes ne sont pas détectés automatiquement ; vous devrez alors prolonger vous-même les syllabes concernées à l’aide d’un double caractère souligné.
Traits d’union et de prolongation
Un mélisme sur la dernière syllabe d’un mot est indiqué par une longue ligne horizontale basse s’étirant jusqu’à la syllabe suivante. Une telle ligne, que nous appellerons prolongateur ou extenseur, s’obtient en saisissant ‘ __ ’ (notez les espaces entourant le double caractère souligné).
Note : Dans une partition, les mélismes, ou vocalises, sont matérialisés par une ligne de prolongation. On l’indique par un double caractère souligné. Lorsqu’ils sont assez courts, ces mélismes peuvent s’indiquer par un souligné unique, ce qui aura pour effet de sauter une note à chaque fois et de ne pas imprimer de ligne.
Un trait d’union séparant deux syllabes d’un même mot s’obtient en saisissant ‘ -- ’ (notez les espaces entourant le tiret double). Ce trait d’union sera centré entre les deux syllabes et sa longueur sera proportionnelle à l’espace les séparant.
Dans les partitions très serrées, les traits d’union peuvent ne pas être
imprimés. Cet inconvénient peut être contrôlé par les propriétés
minimum-distance
pour gérer l’espace minimum entre deux syllabes,
et minimum-length
, seuil en deçà duquel il n’y a pas de trait
d’union, toutes deux attachées à l’objet LyricHyphen
.
Un trait d’union ne sera pas, par défaut, imprimé après un saut de ligne
lorsque le nouveau système débute sur une nouvelle syllabe. Basculer la
propriété after-line-breaking
à #t
permet de répéter le
trait d’union en pareille situation.
Voir aussi
Référence des propriétés internes : LyricExtender, LyricHyphen
Changement graduel de voyelle
Un changement graduel de voyelle (ou une consonne maintenue) peut
s’indiquer en ajoutant une flêche entre les syllabes, à l’aide de la
commande \vowelTransition
– voir Gould p. 452–453. La flêche
indique la longueur de la transition et sera par défaut toujours
affichée – de l’espace sera ajouté en cas d’espacement contraint. Une
liaison de tenue ou de vocalise indique une absence d’articulation si ce
n’est un changement de voyelle. La taille minimale de la flêche se règle
à l’aide de la propriété minimum-length
de l’objet
VowelTransition
.
{ c'2 c' \set melismaBusyProperties = #'() c'2 ~ c' \time 3/2 d'4( e' f' e' f'2 e'2.) } \addlyrics { Ah \vowelTransition oh, ah \vowelTransition oh, ah \vowelTransition _ _ _ _ oh. }
Voir aussi
Glossaire musicologique : vowel transition.
Référence des propriétés internes : VowelTransition.
2.1.2 Situations particulières en matière de paroles
Travail avec des paroles et variables | ||
Positionnement vertical des paroles | ||
Positionnement horizontal des syllabes | ||
Paroles et reprises | ||
Paroles alternatives | ||
Polyphonie et paroles communes |
Travail avec des paroles et variables
Vous pouvez créer des variables pour contenir les paroles, dès lors que vous faites appel au mode approprié :
musicOne = \relative { c''4 b8. a16 g4. f8 e4 d c2 } verseOne = \lyricmode { Joy to the world, the Lord is come. } \score { << \new Voice = "one" { \time 2/4 \musicOne } \new Lyrics \lyricsto "one" { \verseOne } >> }
La fonction \lyricmode
permet de définir une variable pour
les paroles. Point n’est besoin de spécifier les durées si vous
utilisez \addlyrics
ou \lyricsto
lorsque vous y faites
référence.
Pour une organisation différente ou plus complexe, mieux vaut
commencer par créer et alimenter les variables contenant mélodies et
paroles, puis définir la hiérarchie des portées et des lignes de
paroles, et enfin combiner correctement mélodies et paroles à l’aide de
la commande \context
. Vous serez ainsi assuré que la voix à
laquelle il est fait référence par \lyricsto
aura bien été
préalablement définie, comme dans l’exemple suivant :
sopranoMusic = \relative { c''4 c c c } contraltoMusic = \relative { a'4 a a a } sopranoWords = \lyricmode { Sop -- ra -- no words } contraltoWords = \lyricmode { Con -- tral -- to words } \score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \sopranoMusic } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \new Staff { \new Voice = "contraltos" { \contraltoMusic } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { \sopranoWords } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { \contraltoWords } } >> }
Voir aussi
Manuel de notation : Positionnement vertical des paroles.
Référence des propriétés internes : LyricCombineMusic, Lyrics.
Positionnement vertical des paroles
Selon le type de musique, les paroles apparaîtront au-dessus ou au-dessous d’une portée ou bien entre deux portées. Positionner des paroles en dessous de la portée à laquelle elles se rattachent est de loin la chose la plus simple : il suffit de mentionner le contexte de paroles après le contexte de portée :
\score { << \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics { \lyricsto "melody" { Here are the words } } >> }
Positionner les paroles au-dessus de la portée se fait de deux manières différentes, le plus simple étant d’utiliser la même syntaxe que ci-dessus, à ceci près que la ligne de paroles sera positionnée de manière explicite :
\score { << \new Staff = "staff" { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" } { \lyricsto "melody" { Here are the words } } >> }
Autre façon de procéder, cette fois-ci en deux étapes. Nous commençons
par déclarer un contexte Lyrics
que nous laissons vide, puis
les contextes Staff
et Voice
. Dans un deuxième temps,
nous ajoutons l’instruction \context
et la commande
\lyricsto
pour affecter les paroles au contexte de voix en
question. Voici comment cela se présente :
\score { << \new Lyrics = "lyrics" \with { % lyrics above a staff should have this override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \context Lyrics = "lyrics" { \lyricsto "melody" { Here are the words } } >> }
Lorsque deux voix sont isolées chacune sur une portée, vous pouvez placer les paroles entre les deux portées en utilisant l’une des méthodes que nous venons de voir. En voici un exemple, basé sur la deuxième méthode :
\score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \relative { c''4 c c c } } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \with { % lyrics above a staff should have this override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "contraltos" { \relative { a'4 a a a } } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { Sop -- ra -- no words } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { Con -- tral -- to words } } >> }
Vous pouvez générer d’autres combinaisons de paroles et portées à partir de ces exemples, ou en examinant ce qui figure à la rubrique Modèles pour ensemble vocal du manuel d’initiation.
Morceaux choisis
Espacement des paroles selon les pratiques de la version 2.12
Le moteur d’espacement vertical des paroles a évolué avec la version 2.14. Celles-ci peuvent donc se retrouver positionnées différemment.
Le moteur adoptera les usages de la version 2.12 une fois que vous aurez
réglé certaines propriétés des contextes Lyric
et Staff
.
global = { \key d \major \time 3/4 } sopMusic = \relative c' { % VERSE ONE fis4 fis fis | \break fis4. e8 e4 } altoMusic = \relative c' { % VERSE ONE d4 d d | d4. b8 b4 | } tenorMusic = \relative c' { a4 a a | b4. g8 g4 | } bassMusic = \relative c { d4 d d | g,4. g8 g4 | } words = \lyricmode { Great is Thy faith -- ful -- ness, } \score { \new ChoirStaff << \new Lyrics = sopranos \new Staff = women << \new Voice = "sopranos" { \voiceOne \global \sopMusic } \new Voice = "altos" { \voiceTwo \global \altoMusic } >> \new Lyrics = "altos" \new Lyrics = "tenors" \new Staff = men << \clef bass \new Voice = "tenors" { \voiceOne \global \tenorMusic } \new Voice = "basses" { \voiceTwo \global \bassMusic } >> \new Lyrics = basses \context Lyrics = sopranos \lyricsto sopranos \words \context Lyrics = altos \lyricsto altos \words \context Lyrics = tenors \lyricsto tenors \words \context Lyrics = basses \lyricsto basses \words >> \layout { \context { \Lyrics \override VerticalAxisGroup.staff-affinity = ##f \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } \context { \Staff \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } } }
Voir aussi
Manuel d’initiation : Modèles pour ensemble vocal.
Manuel de notation : Création et référencement d’un contexte, Ordonnancement des contextes.
Positionnement horizontal des syllabes
La propriété minimum-distance
de l’objet LyricSpace
permet d’accroître l’espacement des paroles.
\relative c' { c c c c \override Lyrics.LyricSpace.minimum-distance = #1.0 c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext }
Pour que ce réglage s’applique à toute la partition, définissez-le
dans le bloc \layout
.
\score { \relative { c' c c c c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } \layout { \context { \Lyrics \override LyricSpace.minimum-distance = #1.0 } } }
Morceaux choisis
Alignement des syllabes
L’alignement horizontal des paroles peut se gérer à l’aide de la
propriété self-alignment-X
de l’objet LyricText
.
Les valeurs -1
ou LEFT
produiront un alignement par la
gauche, les valeurs 0
ou CENTER
un alignement centré, et
les valeurs 1
ou RIGHT
un alignement par la droite.
\layout { ragged-right = ##f } \relative c'' { c1 c1 c1 } \addlyrics { \once \override LyricText.self-alignment-X = #LEFT "This is left-aligned" \once \override LyricText.self-alignment-X = #CENTER "This is centered" \once \override LyricText.self-alignment-X = #1 "This is right-aligned" }
Problèmes connus et avertissements
L’assurance que tous les scripts textuels et les paroles resteront bien à l’intérieur des marges requiert des ressources non négligeables. Afin de réduire le temps de traitement, vous pouvez désactiver cette fonctionnalité en ajoutant
\override Score.PaperColumn.keep-inside-line = ##f
Pour s’assurer que les paroles ne seront pas traversées par des barres de mesure, il faut ajouter
\layout { \context { \Lyrics \consists "Bar_engraver" \consists "Separating_line_group_engraver" \hide BarLine } }
Paroles et reprises
La répétition de fragments musicaux est abordée de manière détaillée dans un chapitre spécifique. Nous nous intéresserons ici aux moyens d’ajouter des paroles à des reprises.
Reprises simples
Les paroles attachées à un fragment musical répété devraient adopter rigoureusement la même construction que la musique, si tant est qu’elles ne diffèrent pas d’une fois sur l’autre.
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- ed twice. } } } >> }
Les mots seront alors correctement répétés si la reprise est développée.
\score { \unfoldRepeats { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- ed twice. } } } >> } }
Lorsque la reprise est développée et que les paroles diffèrent, saisissez le texte normalement :
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat unfold 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. The first time words. Sec -- ond time words. } } >> }
Lorsque les paroles diffèrent pour une reprise non développée –
utilisation de volta
au lieu de unfold
– les paroles en
question doivent être saisies dans des contextes Lyrics
séparés ; ils seront combinés dans une section parallèle :
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics \lyricsto "melody" { Not re -- peat -- ed. << { The first time words. } \new Lyrics { \set associatedVoice = "melody" Sec -- ond time words. } >> } >> }
Et ce quel que soit le nombre de « couplets » :
\score { << \new Staff { \new Voice = "singleVoice" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics \lyricsto "singleVoice" { Not re -- peat -- ed. << { The first time words. } \new Lyrics { \set associatedVoice = "singleVoice" Sec -- ond time words. } \new Lyrics { \set associatedVoice = "singleVoice" The third time words. } >> The end sec -- tion. } >> }
Cependant, lorsque la partition comporte plusieurs portées, cas typique
d’un ChoirStaff
, les paroles des deuxième et troisième couplets
seront repoussées sous la dernière portée. L’instruction
alignBelowContext
permet alors de les repositionner correctement :
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics = "firstVerse" \lyricsto "melody" { Not re -- peat -- ed. << { The first time words. } \new Lyrics = "secondVerse" \with { alignBelowContext = "firstVerse" } { \set associatedVoice = "melody" Sec -- ond time words. } \new Lyrics = "thirdVerse" \with { alignBelowContext = "secondVerse" } { \set associatedVoice = "melody" The third time words. } >> The end sec -- tion. } \new Voice = "harmony" { \relative { f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 } } >> }
Reprises avec alternative
Les paroles d’un fragment répété, lorsqu’elles sont identiques et
qu’aucune alternative ne débute par un silence, peuvent adopter la même
construction que la musique. Ceci permet par ailleurs une expansion
correcte à la fois de la musique et des paroles lors de l’utilisation de
\unfoldRepeats
.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b } \alternative { { b b } { b c } } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- } \alternative { { ed twice. } { ed twice. } } } } >> }
Cette identité de structure n’est toutefois pas possible lorsque les
paroles sont différentes ou que l’un des blocs \alternative
débute par un silence. Des instructions \skip
devront venir
s’insérer dans les paroles pour « sauter » les notes des alternatives
qui ne les concernent pas.
N’utilisez pas de simple caractère souligné pour sauter une note. N’oubliez pas qu’un caractère souligné indique un mélisme ; la syllabe précédente sera donc alignée à gauche.
Note : La commande \skip
doit comporter une durée quelle
qu’elle soit – elle sera toujours ignorée lorsque les paroles sont
associées à une mélodie à l’aide de \addlyrics
ou
\lyricsto
. Chaque \skip
correspond à une seule
note quelle qu’en soit la durée.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b } \alternative { { b b } { b c } } c4 c } } } \new Lyrics { \lyricsto "melody" { The first time words. \repeat unfold 2 { \skip 1 } End here. } } \new Lyrics { \lyricsto "melody" { Sec -- ond \repeat unfold 2 { \skip 1 } time words. } } >> }
Lorsqu’une note se prolonge sur les alternatives, la tenue est
indiquée normalement pour la première alternative, et à l’aide de
l’instruction \repeatTie
pour les suivantes. Cette liaison
« de répétition » pose problème en matière d’alignement des paroles
puisque la longueur de l’alternative est accrue en raison de la liaison.
D’autre part, une liaison de prolongation crée un mélisme qui sera effectif pour la première alternative, mais pas pour les autres. La solution pour « recaler » les paroles consiste à désactiver temporairement la détection automatique de mélismes et insérer des « blancs ».
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \set melismaBusyProperties = #'() \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } \unset melismaBusyProperties c4 c } } } \new Lyrics { \lyricsto "melody" { \repeat volta 2 { Here's a __ } \alternative { { \skip 1 verse } { \skip 1 sec } } ond one. } } >> }
Notez bien que l’utilisation conjointe de \unfoldRepeats
et de
\repeatTie
entraîne l’impression d’une double liaison, sauf à
supprimer les \repeatTie
.
Lorsque les paroles sont différentes sur le fragment répété, la
construction avec \repeat
est inefficace ; vous devrez alors
insérer des blancs :
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Here's a __ verse. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Here's one \repeat unfold 2 { \skip 1 } more to sing. } } >> }
Les indications de mélisme et traits d’union en début d’alternative doivent être insérées manuellement :
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Here's a __ verse. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Here's "a_" \skip 1 "_" sec -- ond one. } } >> }
Voir aussi
Manuel de notation : Conservation d’un contexte, Répétitions et reprises.
Paroles alternatives
Il arrive parfois, dans un fragment répété, qu’une note soit divisée pour répondre au texte. Vous pouvez indiquer cette adaptation rythmique en désactivant temporairement la détection automatique des mélismes tout en spécifiant ces mélismes au niveau des paroles :
\score { << \new Voice = "melody" { \relative c' { \set melismaBusyProperties = #'() \slurDown \slurDashed e4 e8 ( e ) c4 c | \unset melismaBusyProperties c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "melody" { We will _ } >> }
En donnant un nom à chaque voix et en leur attribuant spécifiquement des paroles, vous pourrez traiter le cas où notes et rythme diffèrent d’une fois sur l’autre :
\score { << \new Voice = "melody" { \relative { << { \voiceOne e'4 e8 e } \new Voice = "splitpart" { \voiceTwo c4 c } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "splitpart" { We will } >> }
Il n’est pas rare, en musique chorale, qu’une voix se divise pendant
plusieurs mesures. Bien qu’une construction du type
<< {…} \\ {…} >>
, où deux expressions musicales
(ou plus) séparées par des doubles obliques inversées peuvent sembler
être le moyen adéquat de définir cette division, toutes les
expressions qu’elle contient seront assignées à de nouveaux
contextes de voix, ce qui aura pour effet qu’aucune parole ne leur sera
affectée – les paroles sont attachées au contexte de voix initial. Il
vaut mieux construire ce passage comme une polyphonie temporaire – voir
Polyphonie sur une portée.
Polyphonie et paroles communes
Lorsque deux voix au rythme différent partagent les mêmes paroles, l’alignement des syllabes sur l’une des voix peut gêner la lecture de l’autre voix. Par exemple, la deuxième extension de syllabe ci-dessous est trop courte puisque les paroles ne sont alignées que sur la voix du haut :
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice = "sopranoVoice" { \voiceOne \soprano } \new Voice { \voiceTwo \alto } \new Lyrics \lyricsto "sopranoVoice" \words >>
Le résultat attendu sera obtenu grâce à l’alignement des paroles sur un
contexte NullVoice
supplémentaire, celui-ci contenant une
combinaison judicieuse des deux voix. Les notes du contexte
NullVoice
, bien que n’apparaissant pas sur la version imprimable,
peuvent servir à aligner correctement les syllabes :
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } aligner = \relative { b'8( c d c) b( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice { \voiceOne \soprano } \new Voice { \voiceTwo \alto } \new NullVoice = "aligner" \aligner \new Lyrics \lyricsto "aligner" \words >>
Cette façon de procéder permet par ailleurs d’utiliser la fonction
\partCombine
qui, normalement, ne peut s’utiliser avec des
paroles :
soprano = \relative { b'8( c d c) d2 } alto = \relative { g'2 b8( a g a) } aligner = \relative { b'8( c d c) b( a g a) } words = \lyricmode { la __ la __ } \new Staff << \new Voice \partCombine \soprano \alto \new NullVoice = "aligner" \aligner \new Lyrics \lyricsto "aligner" \words >>
Problèmes connus et avertissements
La commande \addlyrics
ne peut traiter que des paroles attachées
à un contexte Voice
; elle ne peut donc s’utiliser avec un
NullVoice
.
La fonction \partCombine
est abordée en détails dans
Regroupement automatique de parties.
Pour finir, cette méthode est aussi utilisable lorsque les voix sont sur des portées différentes, et ne se limite pas à deux voix :
soprano = \relative { b'8( c d c) d2 } altoOne = \relative { g'2 b8( a b4) } altoTwo = \relative { d'2 g4( fis8 g) } aligner = \relative { b'8( c d c) d( d d d) } words = \lyricmode { la __ la __ } \new ChoirStaff \with { \accepts NullVoice } << \new Staff \soprano \new NullVoice = "aligner" \aligner \new Lyrics \lyricsto "aligner" \words \new Staff \partCombine \altoOne \altoTwo >>
2.1.3 Couplets
[ << Notation spécialisée ] | [Racine][Table des matières][Index] | [ Généralités en matière d'entrée et sortie >> ] |
[ < Couplets ] | [Plus haut: Couplets ] | [ Indication de nuance dans les couplets > ] |
Numérotation des couplets
On peut ajouter un numéro aux couplets en définissant la variable
stanza
:
\new Voice \relative { \time 3/4 g'2 e4 a2 f4 g2. } \addlyrics { \set stanza = "1. " Hi, my name is Bert. } \addlyrics { \set stanza = "2. " Oh, ché -- ri, je t'aime }
Ces numéros se placeront juste avant le début de la première syllabe. Deux lignes de couplet peuvent aussi être regroupées, par exemple dans le cas d’une reprise avec des paroles différentes.
leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup "brace80" } stanzaOneOne = \lyricmode { \set stanza = \markup { \column { \vspace #.33 "1. "} \leftbrace } Child, you’re mine and I love you. Lend thine ear to what I say. } stanzaOneThree = \lyricmode { Child, I have no great -- er joy Than to have you walk in truth. } \new Voice { \repeat volta 2 { c'8 c' c' c' c' c' c'4 c'8 c' c' c' c' c' c'4 } } \addlyrics { \stanzaOneOne } \addlyrics { \stanzaOneThree }
Indication de nuance dans les couplets
Lorsque des couplets ont des nuances différentes, vous pouvez ajouter
une nuance en regard de chacun d’eux. L’objet StanzaNumber
contient tout ce qui se place avant les paroles du couplet. Pour des
raisons techniques, vous devrez définir la variable stanza
en
dehors du mode \lyricmode
.
text = { \set stanza = \markup { \dynamic "ff" "1. " } \lyricmode { Big bang } } << \new Voice = "tune" { \time 3/4 g'4 c'2 } \new Lyrics \lyricsto "tune" \text >>
[ << Notation spécialisée ] | [ |