[ << 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.
Le type d’objet graphique créé par une articulation dépend de ce à quoi il est attaché.
-
Attachées à des notes ou des silences ordinaires, les articulations
créent des objets
script
. -
Attachées à des silences multimesures, les articulations créent des objets
MultiMeasureRestScript
.
\override Score.Script.color = #(universal-color 'vermillion) \override Score.MultiMeasureRestScript.color = #(universal-color 'blue) \override Score.CaesuraScript.color = #(universal-color 'orange) a'2\fermata r\fermata R1\fermata g'2 \caesura \fermata f'2
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 la
fraction 2/3
.
\relative c'' { \after 2*2/3 \turn c2( d4) r | \after 4 \turn c4.( d8) \after 4 { \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 \once \hideNotes cis8\turn \noBeam } d4.( e8) }
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 : CaesuraScript, MultiMeasureRestScript, 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 à la commande \after
qui permet aussi de
gérer le différé des articulations et scripts textuels :
<< \relative { \after 2 \< c'1 d4\f\> e f g \after 2. \pp c,1 \after 2. \fermata e \after 2. ^"Fine." f } \relative { \repeat unfold 12 c'4 c c c c\fermata c c c c } >>
Plusieurs instances de \after
peuvent se succéder afin de graver
plusieurs indications pour une note. Ceci est particulièrement utile
lorsqu’il faut ajouter un crescendo et un decrescendo à une même note :
\relative { c''4\< d\! e\> c\! \after 4 \< \after 2\> \after 2. \! f1 \textLengthOn \after 4 \> \after 2. ^"hush!" c1 g4\pp }
Lorsque la première d’une succession d’indications sur une même note
coïncide avec son attaque, il est judicieux de l’attacher à un accord
vide <>
; les indications seront alors saisies selon leur ordre
d’apparition :
{ <>\< \after 4 \> \after 2 \! c'1 % plus facile à écrire et lire que : \after 4 \> \after 2 \! c'1\< }
On peut aussi 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 \after 2. \espressivo c }
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.
<< { \after 4 \< \after 2 \> \after 2. \! f'1 \override Hairpin.minimum-length = #8 \after 4 \< \after 2 \> \after 2. \! f'1 } { \repeat unfold 8 c'4 } >>
Alignement des bornes de soufflet relativement aux NoteColumn
s
Les terminaisons des soufflets peuvent s’aligner sur la gauche, au
centre ou sur la droite des grobs NoteColumn
à l’aide
d’une dérogation à la propriété endpoint-alignments
–
LEFT
, CENTER
ou RIGHT
– sous forme de paire
représentant les extrémités gauche et droite du soufflet. Les
endpoint-alignments
devraient être des directions (soit
-1, 0 ou 1), les autres valeurs entraînant l’émission d’un
avertissement. L’extrémité droite d’un soufflet se terminant sur un
silence ne sera pas affectée et s’alignera toujours sur le bord gauche
de ce silence.
{ c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #'(1 . -1) c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #`(,LEFT . ,CENTER) c'2\< <c' d'>\! | }
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 et 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
'dashed-line
, mais d’autres valeurs sont disponibles, comme
'line
, 'dotted-line
et 'none
.
\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.