[ << 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 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 } >> }
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 2/1 { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT \featherDurations 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 >> ] |
[ < Barres de ligature manuelles ] | [Plus haut: Barres de ligature ] | [ Mesures > ] |