[ << Pitches ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Top ] | [ > ] |
Rhythms
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < Rhythms ] | [Plus haut: Rhythms ] | [ > ] |
Coexistence de ligatures et liaisons avec des rythmes comprenant des n-olets
La syntaxe de LilyPond demande parfois un positionnement inhabituel des parenthèses, crochets, etc. qui peuvent s’entrelacer.
Par exemple, le crochet ouvrant une ligature manuelle se place à la suite de la note de départ et sa durée, non pas avant. De même, le crochet fermant se place à la fin de la ligature, y compris lorsque la dernière note se trouve incluse dans un n-olet.
Cet extrait illustre la manière de combiner ligatures manuelles, liaisons d’articulation, de prolongation ou de phrasé, avec des n-olets bornées par des accolades.
{ r16[ g16 \tuplet 3/2 { r16 e'8] } g16( a \tuplet 3/2 { b d e') } g8[( a \tuplet 3/2 { b d') e'] ~ } \time 2/4 \tuplet 5/4 { e'32\( a b d' e' } a'4.\) }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Ajout de parties de batterie
Grâce à la puissance des outils préconfigurés tels que la fonction
\drummode
et le contexte DrumStaff
, la saisie de parties
pour percussions est extrêmement simplifiée : chaque composant d’une
batterie trouve sa place sur une portée dédiée (avec une clef
particulière) et les têtes de note sont spécifiques à chaque élément.
Il est également possible d’affecter un symbole particulier à chaque
élément, tout comme de restreindre le nombre de lignes de la portée.
drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh hhc8 hho hhc8 hh16 hh hhc4 r4 r2 } drl = \drummode { bd4 sn8 bd bd4 << bd ss >> bd8 tommh tommh bd toml toml bd tomfh16 tomfh } timb = \drummode { timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb } \score { << \new DrumStaff \with { instrumentName = "timbales" drumStyleTable = #timbales-style \override StaffSymbol.line-count = #2 \override BarLine.bar-extent = #'(-1 . 1) } << \timb >> \new DrumStaff \with { instrumentName = "drums" } << \new DrumVoice { \stemUp \drh } \new DrumVoice { \stemDown \drl } >> >> \layout { } \midi { \tempo 4 = 120 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Ajustement de l’espacement des notes d’ornement
La propriété spacing-increment
de Score.GraceSpacing
permet d’ajuster l’espacement d’un groupe de notes d’ornement.
graceNotes = { \grace { c4 c8 c16 c32 } c8 } \relative c'' { c8 \graceNotes \override Score.GraceSpacing.spacing-increment = #2.0 \graceNotes \revert Score.GraceSpacing.spacing-increment \graceNotes }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Appoggiature avant une barre de mesure
Par défaut, appogiatures et autres notes d’ornement sur le premier temps d’une mesure s’impriment après la barre. Elles peuvent toutefois précéder la barre grâce à l’insertion d’une barre invisible puis d’une visible, comme indiqué ici.
{ R1 %% default \appoggiatura d''8 c''4 r2. %% cheated \appoggiatura { \bar "" d''8 \bar "|" } c''4 r2. }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Subdivision de ligatures automatiques
Dès lors que la propriété subdivideBeams
aura été activée, une
ligature sera subdivisée selon les préceptes de beatLength
.
\new Staff { \relative c'' { << { \voiceOne \set subdivideBeams = ##t b32[ a g f c' b a g b32^"subdivide beams" a g f c' b a g] } \new Voice { \voiceTwo b32_"default"[ a g f c' b a g b32 a g f c' b a g] } >> \oneVoice \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 b32^"baseMoment 1 8"[ a g f c' b a g] \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = 4,4,4,4 b32^"baseMoment 1 16"[ a g f c' b a g] } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Changement automatique des durées
shiftDurations
permet de modifier la longueur des notes d’un
morceau.
Cette instruction prend deux arguments : un coefficient d’échelonnement (une puissance de deux) et un nombre de points d’augmentation (entier positif).
\paper { indent = 0 } music = \relative c'' { a1 b2 c4 d8 r } \score { \new Voice { \time 4/2 \music \time 4/4 \shiftDurations #1 #0 { \music } \time 2/4 \shiftDurations #2 #0 { \music } \time 4/1 \shiftDurations #-1 #0 { \music } \time 8/1 \shiftDurations #-2 #0 { \music } \time 6/2 \shiftDurations #0 #1 { \music } \time 7/2 \shiftDurations #0 #2 { \music } } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } >> } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 | }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 { } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Modifier l’apparence du chiffre de n-olet
LilyPond imprime par défaut le numérateur de la fraction fournie en
argument à la commande \tuplet
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 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Modification de la métrique au sein d’un fragment polymétrique à l’aide de \scaleDurations
La propriété measureLength
, conjointement avec
measurePosition
, détermine l’endroit où une barre de mesure est
requise. L’utilisation d’un \scaleDurations
a l’inconvénient
que l’échelonnement des durées rend compliqués les changements de
métrique. Il est nécessaire en pareil cas de définir manuellement
measureLength
, avec un appel à ly:make-moment
. Le second
argument devra être identique au deuxième argument de
\scaleDurations
.
\layout { \context { \Score \remove "Timing_translator" } \context { \Staff \consists "Timing_translator" } } << \new Staff { \scaleDurations 8/5 { \time 6/8 \set Timing.measureLength = #(ly:make-moment 6/5) b8 b b b b b \time 2/4 \set Timing.measureLength = #(ly:make-moment 4/5) b4 b } } \new Staff { \clef bass \time 2/4 c2 d e f } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Notation pour psalmodie
Ce style de notation permet d’indiquer la mélodie d’une psalmodie lorsque les strophes sont de longueur inégale.
stemOff = \hide Staff.Stem stemOn = \undo \stemOff \score { \new Staff \with { \remove "Time_signature_engraver" } { \key g \minor \cadenzaOn \stemOff a'\breve bes'4 g'4 \stemOn a'2 \section \stemOff a'\breve g'4 a'4 \stemOn f'2 \section \stemOff a'\breve^\markup { \italic flexe } \stemOn g'2 \fine } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Métrique décomposée
Des métriques telles que « 5/8 » peuvent s’interpréter sous une forme décomposée – « 3/8 + 2/8 » par exemple – qui combine plusieurs métriques.
LilyPond est capable de rendre ce type de notation, plus facile à lire et à interpréter, en imprimant cette métrique composite et en adaptant les règles de ligature automatique en conséquence.
\relative c' { \compoundMeter #'((2 8) (3 8)) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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" } } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Adaptation de l’alignement des numéros de mesure
L’alignement des numéros de mesure par la gauche peut générer des problèmes de chevauchement, notamment avec les crochets de regroupement de portées.
L’exemple ci-dessous offre une solution en alignant par la droite le numéro de la mesure suivant un saut de ligne.
consistentlyLeftAlignedBarNumbers = { \override Score.BarNumber.break-visibility = #end-of-line-invisible \override Score.BarNumber.self-alignment-X = #(lambda (grob) (let ((break-dir (ly:item-break-dir grob))) (if (= break-dir RIGHT) RIGHT LEFT))) } \new ChoirStaff << \new Staff { \relative c' { \set Score.barNumberVisibility = #(every-nth-bar-number-visible 3) \bar "" \consistentlyLeftAlignedBarNumbers \set Score.currentBarNumber = #112 \repeat unfold 8 { R1 } \break \repeat unfold 9 { R1 } \break \repeat unfold 7 { R1 } } } \new Staff { \relative c' { \repeat unfold 24 { R1 } } } >> \layout { indent = #0 ragged-right = ##t ragged-last = ##t }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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' { \override Score.TextMark.non-musical = ##f \textMark "default" \music \override TupletBracket.bracket-visibility = #'if-no-beam \textMark \markup \typewriter "'if-no-beam" \music \override TupletBracket.bracket-visibility = ##t \textMark \markup \typewriter "#t" \music \override TupletBracket.bracket-visibility = ##f \textMark \markup \typewriter "#f" \music \omit TupletBracket \textMark \markup \typewriter "omit" \music } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Cow and ride bell example
Two different bells, entered with ’cb’ (cowbell) and ’rb’ (ridebell).
\paper { tagline = ##f } #(define mydrums '((ridebell default #f 3) (cowbell default #f -2))) \new DrumStaff \with { instrumentName = #"Different Bells" } \drummode { \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \set DrumStaff.clefPosition = 0.5 \override DrumStaff.StaffSymbol.line-positions = #'(-2 3) \override Staff.BarLine.bar-extent = #'(-1.0 . 1.5) \time 2/4 rb8 8 cb8 16 rb16-> ~ | 16 8 16 cb8 8 | }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Impression de trémolo avec ligature flottante
Lorsque la durée totale d’un trémolo est inférieure à la noire, égale
une blanche, ou bien entre une blanche et une ronde, il est d’usage que
toutes les ligatures soient en contact avec les hampes. Certains styles
de gravure font cependant apparaître des ligatures détachées, centrées
entre les hampes. Pour ce type de trémolo, le nombre de hampes
flottantes se gère au travers de la propriété gap-count
de
l’objet Beam
, et l’écart entre ligature et hampe se définit par
la propriété gap
.
\relative c'' { \repeat tremolo 8 { a32 f } \override Beam.gap-count = #1 \repeat tremolo 8 { a32 f } \override Beam.gap-count = #2 \repeat tremolo 8 { a32 f } \override Beam.gap-count = #3 \repeat tremolo 8 { a32 f } \override Beam.gap-count = #3 \override Beam.gap = #1.33 \repeat tremolo 8 { a32 f } \override Beam.gap = #1 \repeat tremolo 8 { a32 f } \override Beam.gap = #0.67 \repeat tremolo 8 { a32 f } \override Beam.gap = #0.33 \repeat tremolo 8 { a32 f } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 c'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 } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Fixation arbitraire du numéro de repère de départ
Voici comment initialiser arbitrairement une indication automatique de repère, qu’elle soit alphabétique ou numérique :
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark #14 c1 \mark \default c1 \mark \default c1 \mark \default c1 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Génération de crochets personnalisés
Une fonction Scheme personnalisée permet de redéfinir la propriété
stencil
de l’objet Flag
, de sorte à modifier le glyphe
utilisé pour les crochets de croche.
#(define-public (weight-flag grob) (let* ((stem-grob (ly:grob-parent grob X)) (log (- (ly:grob-property stem-grob 'duration-log) 2)) (is-up? (eqv? (ly:grob-property stem-grob 'direction) UP)) (yext (if is-up? (cons (* log -0.8) 0) (cons 0 (* log 0.8)))) (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext)) (stroke-style (ly:grob-property grob 'stroke-style)) (stroke-stencil (if (equal? stroke-style "grace") (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4) empty-stencil))) (ly:stencil-add flag-stencil stroke-stencil))) % Create a flag stencil by looking up the glyph from the font #(define (inverted-flag grob) (let* ((stem-grob (ly:grob-parent grob X)) (dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u")) (flag (retrieve-glyph-flag "" dir "" grob)) (line-thickness (ly:staff-symbol-line-thickness grob)) (stem-thickness (ly:grob-property stem-grob 'thickness)) (stem-width (* line-thickness stem-thickness)) (stroke-style (ly:grob-property grob 'stroke-style)) (stencil (if (null? stroke-style) flag (add-stroke-glyph flag stem-grob dir stroke-style ""))) (rotated-flag (ly:stencil-rotate-absolute stencil 180 0 0))) (ly:stencil-translate rotated-flag (cons (- (/ stem-width 2)) 0)))) snippetexamplenotes = { \autoBeamOff c'8 d'16 c'32 d'64 \acciaccatura {c'8} d'64 } { \time 1/4 \textMark "Normal flags" \snippetexamplenotes \textMark "Custom flag: inverted" \override Flag.stencil = #inverted-flag \snippetexamplenotes \textMark "Custom flag: weight" \override Flag.stencil = #weight-flag \snippetexamplenotes \textMark "Revert to normal" \revert Flag.stencil \snippetexamplenotes }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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. } } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Indication personnalisée d’une polymétrie complexe
Bien que la métrique complexe ne soit pas l’élément primordial de cet exemple, elle permet d’indiquer la pulsation de cette pièce qui, par ailleurs, constitue le canevas d’une chanson traditionnelle des Balkans.
melody = \relative c'' { \key g \major \compoundMeter #'((3 8) (2 8) (2 8) (3 8) (2 8) (2 8) (2 8) (2 8) (3 8) (2 8) (2 8)) c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4 c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break } drum = \new DrumStaff \drummode { \repeat volta 2 { bd4.^\markup { Drums } sn4 bd \bar ";" sn4. bd4 sn \bar ";" bd sn bd4. sn4 bd } } \new Staff \with { instrumentName = \markup { \concat { "B" \flat " Sop." } } } { \melody \drum }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
High and Low woodblock example
Two Woodblocks, entered with ’wbh’ (high woodblock) and ’wbl’ (low woodblock). The length of the barline has been altered with an \override command otherwise it would be too short. The positions of the two stafflines also have to be explicitly defined.
\paper { tagline = ##f } % These lines define the position of the woodblocks in the stave; % if you like, you can change it or you can use special note heads % for the woodblocks. #(define mydrums '((hiwoodblock default #f 3) (lowoodblock default #f -2))) woodstaff = { % This defines a staff with only two lines. % It also defines the positions of the two lines. \override Staff.StaffSymbol.line-positions = #'(-2 3) % This is necessary; if not entered, % the barline would be too short! \override Staff.BarLine.bar-extent = #'(-1.0 . 1.5) % small correction for the clef: \set DrumStaff.clefPosition = 0.5 } \new DrumStaff { % with this you load your new drum style table \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \woodstaff \drummode { \time 2/4 wbl8 16 16 8-> 8 | wbl8 16 16-> ~ 16 16 r8 | } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Recours à la propriété transparent
pour rendre des objets invisibles
Une modification de la propriété transparent
permet d’imprimer un
objet « à l’encre sympathique » : l’objet n’est pas affiché bien que tous
ses attributs soient préservés. L’objet en question occupe donc sa
place, est pris en compte lors de collisions, et peut se voir attaché
liaisons ou ligatures.
Cet exemple illustre la manière de connecter deux voix par une liaison de prolongation. Les liaisons de prolongation ne peuvent normalement intervenir que dans la même voix. Dès lors que la liaison est entamée dans une autre voix et que la première hampe ascendante est rendue transparente dans cette même voix, la liaison semble passer d’une voix à l’autre.
\relative { \time 2/4 << { \once \hide Stem \once \override Stem.length = #8 b'8 ~ 8\noBeam \once \hide Stem \once \override Stem.length = #8 g8 ~ 8\noBeam } \\ { b8 g g e } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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) }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Contrôle manuel du positionnement des ligatures
Le positionnement et la pente des ligatures peuvent être contrôlés
manuellement à l’aide d’une adaptation de la propriété positions
de l’objet Beam
.
\relative c' { \time 2/4 % from upper staff-line (position 2) to center (position 0) \override Beam.positions = #'(2 . 0) c8 c % from center to one above center (position 1) \override Beam.positions = #'(0 . 1) c8 c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Fusion de silences multimesures dans une partie polyphonique
Dans le cadre d’un portée polyphonique, les silences multimesures sont positionnés différemment selon la voix à laquelle ils appartiennent. Le réglage suivant permet néanmoins de les imprimer sur une même ligne.
normalPos = \revert MultiMeasureRest.direction { << { c''1 R1 c''1 \normalPos R1 } \\ { c'1 R1 c'1 \normalPos R1 } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Modification de la longueur d’un crochet de n-olet
Les crochets indiquant un n-olet peuvent être prolongés jusqu’à un élément de rupture ou jusqu’à la note suivante. LilyPond termine un crochet de n-olet sur la droite de sa dernière tête de note par défaut ; un crochet de pleine longueur s’étendra plus avant, soit jusqu’à la note suivante et en traversant tous les éléments non rythmiques, soit sur tout l’espace précédant le prochain élément de notation, que ce soit une clef, une métrique, une armure ou une autre note. L’exemple suivant illustre la manière d’activer ces deux fonctionnalités.
\new RhythmicStaff { % Set tuplets to be extendable... \set tupletFullLength = ##t % ...to cover all items up to the next note \set tupletFullLengthNote = ##t \time 2/4 \tuplet 3/2 { c4 4 4 } % ...or to cover just whitespace \set tupletFullLengthNote = ##f \time 4/4 \tuplet 5/4 { 4 1 } \time 3/4 2. }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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. } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 | } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Exemple pour percussions
Ce court exemple est tiré de « L’histoire du Soldat » de Stravinsky.
#(define mydrums '((bassdrum default #f 4) (snare default #f -4) (tambourine default #f 0))) global = { \time 3/8 s4. \time 2/4 s2*2 \time 3/8 s4. \time 2/4 s2 } drumsA = { \context DrumVoice << { \global } { \drummode { \autoBeamOff \stemDown sn8 \stemUp tamb s8 | sn4 \stemDown sn4 | \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 | \stemDown sn8 \stemUp tamb s8 | \stemUp sn4 s8 \stemUp tamb } } >> } drumsB = { \drummode { s4 bd8 s2*2 s4 bd8 s4 bd8 s8 } } \layout { indent = 40 \context { \DrumStaff drumStyleTable = #(alist->hash-table mydrums) } } \score { \new StaffGroup << \new DrumStaff \with { instrumentName = \markup \center-column { "Tambourine" "et" "caisse claire s. timbre" } } \drumsA \new DrumStaff \with { instrumentName = "Grosse Caisse" } \drumsB >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Positionnement des ligatures de notes d’ornement à la hauteur de celles des notes normales
La ligature de notes se trouvant sur des lignes supplémentaires est généralement centrée sur la portée. Les notes d’ornement ayant une hampe raccourcie, leur ligature peut se retrouver en dehors de la portée lorsqu’elles sont sur des lignes supplémentaires. LilyPond permet de rallonger les hampes en pareil cas.
\relative c { f8[ e] \grace { f8[ e] \override Stem.no-stem-extend = ##f f8[ e] \revert Stem.no-stem-extend } f8[ e] }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Positionnement de points d’orgue en opposition sur une barre de mesure
Dans l’extrait suivant est construite une commande qui permet d’imprimer un point d’orgue à la fois en surplomb et en dessous d’une barre de mesure. Dans le cas où il n’y aurait normalement pas de barre à cet endroit, sera ajoutée une double barre. Sémantiquement, cette commande constuit une césure plus longue que la normale, ce qui pourrait être considéré comme un usage abusif selon le cas.
twoWayFermata = { \once \set Staff.caesuraType = #'((underlying-bar-line . "||")) \once \set Staff.caesuraTypeTransform = ##f \caesura ^\fermata _\fermata } music = { f'1 \twoWayFermata R1 f'2 \twoWayFermata f'2 R1 b'1 \twoWayFermata \fine } \new GrandStaff << \new Staff \music \new Staff \music >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Préservation de l’indication de n-olet lors d’un repère final
L’ajout d’une marque-repère en fin de pièce peut entraîner la perte de
la dernière indication de n-olet. La désactivation de
TupletBracket.full-length-to-extent
pallie ce problème.
% due to issue 2362 a long mark such as % \textEndMark "Composed Feb 2007 - Feb 2008" % cannot be used here. \new Staff { \set tupletFullLength = ##t \time 1/8 \tuplet 3/2 8 { c'16 c' c' c' c' c' c' c' c' } \tweak direction #DOWN \textEndMark "1234" } \new Staff { \set tupletFullLength = ##t \override TupletBracket.full-length-to-extent = ##f \time 1/8 \tuplet 3/2 8 { c'16 c' c' c' c' c' c' c' c' } \tweak direction #DOWN \textEndMark "1234" }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 % 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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Impression du numéro des mesures tronquées
L’objet BarNumber
(numéro de mesure) n’est pas répété en début de
ligne pour une mesure tronquée. Il apparaîtra, entre parenthèses, dès
lors que la propriété barNumberVisibility
sera affublée de
first-bar-number-invisible-save-broken-bars
.
\layout { \context { \Score barNumberVisibility = #first-bar-number-invisible-save-broken-bars \override BarNumber.break-visibility = ##(#f #t #t) } } \relative c' { c1 | d | e | f2 \bar "" \break fis | g1 | e2 \bar "" \break <>^"reenabled default" % back to default - % \unset Score.barNumberVisibility would do so as well \set Score.barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers es | d1 | c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 "|." }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Impression du numéro de mesure selon modulo-bar-number-visible
Lorsque le reste de la division du numéro de la mesure courante par le
premier argument de modulo-bar-number-visible
égale le deuxième
argument, LilyPond imprime le BarNumber
.
Ceci permet d’imprimer le numéro de mesure à un intervalle donné, par exemple :
-
(modulo-bar-number-visible 3 2)
-> affichage à 2, 5, 8… -
(modulo-bar-number-visible 4 2)
-> affichage à 2, 6, 10… -
(modulo-bar-number-visible 3 1)
-> affichage à 3, 5, 7… -
(modulo-bar-number-visible 5 2)
-> affichage à 2, 7, 12…
\layout { \context { \Score \override BarNumber.break-visibility = ##(#f #t #t) barNumberVisibility = #(modulo-bar-number-visible 3 2) } } \relative c' { c1 | d | e | f \break g1 | e | d | c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Impression de musique aux métriques différentes
Bien qu’ayant des métriques bien différentes, les deux parties ci-dessous présentées restent synchrones.
Les barres de mesure ne peuvent plus être gérées au niveau du contexte
Score
; le Timing_translator
doit être déplacé du contexte
Score
au contexte Staff
afin de permettre des barres de
mesure individualisées.
Le Bar_number_engraver
devra lui aussi être déplacé, puisqu’il
dépend de propriétés attachées au Timing_translator
, afin de
numéroter les mesures. L’utilisation d’un bloc \with
dans la
portée concernée permettra un affichage des numéros de mesure.
\paper { indent = #0 ragged-right = ##t } global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } } \layout { \context { \Score \remove "Timing_translator" \remove "Bar_number_engraver" \override SpacingSpanner.uniform-stretching = ##t \override SpacingSpanner.strict-note-spacing = ##t proportionalNotationDuration = #(ly:make-moment 1/64) } \context { \Staff \consists "Timing_translator" } \context { \Voice \remove "Forbid_line_break_engraver" tupletFullLength = ##t } } Bassklarinette = \new Staff \with { \consists "Bar_number_engraver" barNumberVisibility = #(every-nth-bar-number-visible 2) \override BarNumber.break-visibility = #end-of-line-invisible } << \global { \bar "|" \clef treble \time 3/8 d''4. \bar "|" \time 3/4 r8 des''2( c''8) \bar "|" \time 7/8 r4. ees''2 ~ \bar "|" \time 2/4 \tupletUp \tuplet 3/2 { ees''4 r4 d''4 ~ } \bar "|" \time 3/8 \tupletUp \tuplet 4/3 { d''4 r4 } \bar "|" \time 2/4 e''2 \bar "|" \time 3/8 es''4. \bar "|" \time 3/4 r8 d''2 r8 \bar "|" } >> Perkussion = \new StaffGroup << \new Staff << \global { \bar "|" \clef percussion \time 3/4 r4 c'2 ~ \bar "|" c'2. \bar "|" R2. \bar "|" r2 g'4 ~ \bar "|" g'2. ~ \bar "|" g'2. } >> \new Staff << \global { \bar "|" \clef percussion \time 3/4 R2. \bar "|" g'2. ~ \bar "|" g'2. \bar "|" r4 g'2 ~ \bar "|" g'2 r4 \bar "|" g'2. } >> >> \score { << \Bassklarinette \Perkussion >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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.
\layout { indent = 0 ragged-right = ##t } \relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible c1 | d | e | f \break g1 | e | d | c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Printing tuplet brackets on the note head side
Whichever option you choose for controlling the tuplet bracket
visibility, it will show or hide the tuplet bracket irrespectively
of tuplet bracket placement (stem side or note head side).
However, when placing the tuplet bracket on the note head side some
authors recommend always printing the tuplet bracket. The option
visible-over-note-heads
can be used to achieve this.
music = \relative c'' { \tupletNeutral \tuplet 3/2 { c16[ d e } f8] \tupletUp \tuplet 3/2 { c8 d e } } \new Voice { \relative c' { \time 2/4 \override TupletBracket.visible-over-note-heads = ##t \override Score.TextMark.non-musical = ##f { \textMark \markup "default" \music } \override TupletBracket.bracket-visibility = #'if-no-beam { \textMark \markup \typewriter "'if-no-beam" \music } } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Redéfinition des réglages de mise en forme par défaut des notes d’ornement
Les réglages par défaut des notes d’ornement sont stockés dans les variables suivantes :
startGraceMusic stopGraceMusic startAcciaccaturaMusic stopAcciaccaturaMusic startAppoggiaturaMusic stopAppoggiaturaMusic
Ces variables sont définies dans le fichier ‘ly/grace-init.ly’. Amender leur définition permet d’en varier les effets.
startAcciaccaturaMusic = { <>( \override Flag.stroke-style = #"grace" \slurDashed } stopAcciaccaturaMusic = { \revert Flag.stroke-style \slurSolid <>) } \relative c'' { \acciaccatura d8 c1 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Suppression de la partie interportée des barres de mesure d’un regroupement autre que ChoirStaff
Les barres de mesure des regroupements StaffGroup
,
PianoStaff
et GrandStaff
sont par défaut d’un seul tenant.
La portion entre les portées – l’objet SpanBar
– peut néanmoins
être supprimée, portée par portée.
\relative c' { \new StaffGroup << \new Staff { e1 | e \once \override Staff.BarLine.allow-span-bar = ##f e1 | e | e } \new Staff { c1 | c | c \once \override Staff.BarLine.allow-span-bar = ##f c1 | c } \new Staff { a1 | a | a | a | a } >> }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Annulation des règles de ligature par défaut
Pour obtenir des ligatures en groupes de 3-4-3-2
croches, dans
une mesure à 12/8, il faudra préalablement annuler les réglages par
défaut relatifs à 12/8, puis ajouter les règles adaptées :
\relative c'' { \time 12/8 % Default beaming a8 a a a a a a a a a a a % Set new values for beam endings \set Score.beatStructure = 3,4,3,2 a8 a a a a a a a a a a a }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Barres rythmiques
Il arrive, dans une feuille de chant « simple », que les notes soient remplacées par une « pulsation » et que la structure de la chanson soit indiquée par les accords au-dessus des mesures. Ceci peut être utile lorsque l’on crée ou retranscrit la structure d’une chanson, ainsi que pour donner au guitariste et musiciens de jazz une pseudo partition.
Le fonctionnement standard d’un \repeat percent
n’est pas ici
applicable puisque le premier temps doit être une note ou un silence.
Le code ci-dessous propose deux alternatives à ce problème en
redéfinissant l’aspect d’un silence. Si la durée d’un temps ne
correspond pas à la noire, le r4
inclus dans la définition devra
être remplacé par un silence de durée appropriée.
% Macro to print single slash rs = { \once \override Rest.stencil = #ly:percent-repeat-interface::beat-slash \once \override Rest.thickness = #0.48 \once \override Rest.slope = #1.7 r4 } % Function to print a specified number of slashes comp = #(define-music-function (count) (integer?) #{ \override Rest.stencil = #ly:percent-repeat-interface::beat-slash \override Rest.thickness = #0.48 \override Rest.slope = #1.7 \repeat unfold $count { r4 } \revert Rest.stencil #} ) \score { \relative c' { c4 d e f | \rs \rs \rs \rs | \comp #4 | } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Sauts de notes en mode paroles
La syntaxe s
qui permet de « faire un saut dans le temps » n’est
disponible qu’en mode notes et en mode accords. Dans les autres
situations, comme en mode paroles par exemple, la commande \skip
produit les mêmes effets.
<< \relative c'' { a1 | a } \new Lyrics \lyricmode { \skip 1 bla1 } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Sauts de notes en mode paroles (2)
Sachant qu’un s
au sein d’un bloc \lyricmode
est
interprété non comme de l’espace mais comme une syllabe, l’utilisation
de paires de guillemets informatiques (""
) ou un caractère
souligné simple (_
) permet de « sauter » une note.
<< \relative c'' { a4 b c d } \new Lyrics \lyricmode { a4 "" _ gap } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Moignons de hampe
Certaines conventions en matière de notation autorisent les ligatures à enjamber des silences. Dans certains cas, des moignons de hampe accrochés à la ligature offrent une meilleure visibilité du rythme ; certaines éditions modernes vont même alors jusqu’à omettre le silence.
Cet exemple illustre la progression : notation traditionnelle, ligature
enjambant le silence, silence surplombé d’un moignon et enfin seule une
hampe tronquée. Les moignons s’obtiennent par amendement de la
propriété stemlet-length
de l’objet Stem
, alors que les
silences sont masqués par activation de la propriété de transparence.
Les markups ajoutés au code ci-dessous mettent en exergue les différentes notations.
\paper { ragged-right = ##f } { c'16^\markup { traditional } d' r f' g'16[^\markup { beams over rests } f' r d'] % N.B. use Score.Stem to set for the whole score. \override Staff.Stem.stemlet-length = #0.75 c'16[^\markup { stemlets over rests } d' r f'] g'16[^\markup { stemlets and no rests } f' \once \hide Rest r16 d'] }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Exemple pour tam-tam
Un simple exemple pour tam-tam, saisi « tt ».
#(define mydrums '((tamtam default #f 0))) \new DrumStaff \with { instrumentName = #"Tamtam" } \drummode { \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \override Staff.StaffSymbol.line-positions = #'( 0 ) \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5) tt 1 \pp \laissezVibrer }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Tambourine example
A tambourine example, entered ’tamb’
\paper { tagline = ##f } #(define mydrums '((tambourine default #f 0))) \new DrumStaff \with { instrumentName = #"Tambourine" } \drummode { \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \override Staff.StaffSymbol.line-positions = #'( 0 ) \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5) \time 6/8 tamb8. 16 8 8 8 8 | tamb4. 8 8 8 | % the trick with the scaled duration and the shorter rest % is neccessary for the correct ending of the trill-span! tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan | }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Encadrement sur trois côtés
Voici comment construire une commande de markup chargée d’agrémenter du texte ou autre annotation, d’une bordure sur trois côtés.
% New command to add a three sided box, with sides north, west and south % Based on the box-stencil command defined in scm/stencil.scm % Note that ";;" is used to comment a line in Scheme #(define-public (NWS-box-stencil stencil thickness padding) "Add a box around STENCIL, producing a new stencil." (let* ((x-ext (interval-widen (ly:stencil-extent stencil X) padding)) (y-ext (interval-widen (ly:stencil-extent stencil Y) padding)) (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext)) (x-rule (make-filled-box-stencil (interval-widen x-ext thickness) (cons 0 thickness)))) ;; (set! stencil (ly:stencil-combine-at-edge stencil X 1 y-rule padding)) (set! stencil (ly:stencil-combine-at-edge stencil X LEFT y-rule padding)) (set! stencil (ly:stencil-combine-at-edge stencil Y UP x-rule 0.0)) (set! stencil (ly:stencil-combine-at-edge stencil Y DOWN x-rule 0.0)) stencil)) % The corresponding markup command, based on the \box command defined % in scm/define-markup-commands.scm #(define-markup-command (NWS-box layout props arg) (markup?) #:properties ((thickness 0.1) (font-size 0) (box-padding 0.2)) "Draw a box round @var{arg}. Looks at @code{thickness}, @code{box-padding} and @code{font-size} properties to determine line thickness and padding around the markup." (let ((pad (* (magstep font-size) box-padding)) (m (interpret-markup layout props arg))) (NWS-box-stencil m thickness pad))) % Test it: \relative c' { c1^\markup { \NWS-box ABCD } c1^\markup { \NWS-box \note {4} #1.0 } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Métrique entre parenthèses
Une métrique peut être mise entre parenthèses.
\relative c'' { \override Staff.TimeSignature.stencil = #(lambda (grob) (bracketify-stencil (ly:time-signature::print grob) Y 0.1 0.2 0.1)) \time 2/4 a4 b8 c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Métrique entre parenthèses – méthode 3
Autre manière de mettre la métrique entre parenthèses.
\relative c'' { \override Staff.TimeSignature.stencil = #(lambda (grob) (parenthesize-stencil (ly:time-signature::print grob) 0.1 0.4 0.4 0.1 )) \time 2/4 a4 b8 c }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 (le chiffre 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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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 } } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Personnalisation de la métrique
Il est possible de définir de nouveaux styles de métrique. La métrique de la deuxième mesure devrait être sens dessus dessous sur les deux portées.
#(add-simple-time-signature-style 'topsy-turvy (lambda (fraction) (make-rotate-markup 180 (make-compound-meter-markup fraction)))) << \new Staff { \time 3/4 f'2. \override Score.TimeSignature.style = #'topsy-turvy \time 3/4 R2. \bar "|." } \new Staff { R2. e'' } >>
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
Crochets de style alternatif
Une dérogation à la propriété stencil
de l’objet Flag
permet aux croches et notes de durée inférieure d’adopter une autre
forme de crochet. Sont disponibles les variantes
modern-straight-flag
, old-straight-flag
et
flat-flag
.
testnotes = { \autoBeamOff c8 d16 c32 d64 \acciaccatura { c8 } d64 r4 } \score { \relative c' { \time 2/4 \testnotes \override Flag.stencil = #modern-straight-flag \testnotes \override Flag.stencil = #old-straight-flag \testnotes \override Flag.stencil = #flat-flag \testnotes \revert Flag.stencil \testnotes } \layout { indent = 0 \context { \Score \override NonMusicalPaperColumn.line-break-permission = ##f } } }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ > ] |
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) }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ Expressive marks > ] |
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 }
[ << Rhythms ] | [Racine][Table des matières] | [ Expressive marks >> ] |
[ < ] | [Plus haut: Rhythms ] | [ Expressive marks > ] |