| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Horizontal spacing
| 4.5.1 Généralités sur l’espacement horizontal | ||
| 4.5.2 Changement d’espacement en cours de partition | ||
| 4.5.3 Modification de l’espacement horizontal | ||
| 4.5.4 Largeur de ligne | ||
| 4.5.5 Notation proportionnelle |
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Horizontal spacing overview
Le moteur d’espacement traduit les différences de durée en distances
étirables (springs pour ressorts) de différentes longueurs. Des
durées importantes prennent ainsi plus de place que des durées moins
longues. Les durées les plus courtes se verront attribuer un espace
fixe, contrôlé par la propriété shortest-duration-space de
l’objet
(internals)SpacingSpanner section ‘SpacingSpanner’ dans Référence des propriétés internes. Au plus la durée s’allonge, au
plus elle prendra d’espace : le doublement d’une durée attribuera à
la note un espace fixé d’après la propriété spacing-increment.
L’exemple suivant comporte des blanches, des noires et un certain nombre de croches. La croche est suivie d’un espace de la largeur d’une tête de note ; pour la noire, cet espace est de deux têtes ; il est de trois pour la blanche.
\relative c' { c2 c4. c8 c4. c8 c4. c8 c8 c c4 c c }
spacing-increment est normalement défini à 1,2 espace de
portée – ce qui correspond à peu près à la largeur d’une tête de note
– et shortest-duration-space à 2,0. La note la plus courte
s’étendra donc sur l’équivalent de 2,4 espaces de portée (deux fois le
spacing-increment). Le point de départ de cet espace se situe à
l’extrémité gauche du symbole ; la note la plus courte est donc
suivie en général d’un espace égal à la largeur d’une tête de note.
Si l’on suit à la lettre ce qui précède, ajouter une simple triple croche à une partition qui comporte déjà des croches et des doubles augmentera considérablement son volume : la durée la plus courte n’est plus la double mais la triple croche, ce qui aura pour conséquence d’ajouter une largeur de tête à chacune des notes. Pour s’affranchir de cet effet quelque peu pervers, la durée la plus courte prise en considération au niveau de l’espacement n’est pas la note la plus brève de la partition, mais celle qui apparaît le plus souvent.
La courte durée la plus fréquente est déterminée à partir de la note la plus courte de chaque mesure. C’est elle qui servira de base pour l’espacement, à cette nuance près que la plus courte durée ne saurait être strictement supérieure à la croche.
Ces durées peuvent être adaptées. Vous pouvez définir la durée de base
pour les espacements grâce à la propriété
common-shortest-duration de l’objet
(internals)SpacingSpanner section ‘SpacingSpanner’ dans Référence des propriétés internes.
La durée maximale de cet étalon, normalement la croche, est gérée par la
propriété base-shortest-duration.
Les notes plus courtes que la note témoin sont suivies d’un espace proportionnel à la durée témoin. Si donc nous ajoutions quelques doubles croches à l’exemple précédent, elles seraient suivies d’une demie largeur de tête :
\relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }
Comme le met en évidence notre Essai sur la gravure musicale
automatisée, la direction des hampes peut influencer l’espacement – voir
(essay)Espacement section ‘Espacement’ dans Essai et s’ajuster à l’aide de la propriété
stem-spacing-correction de l’objet
(internals)NoteSpacing section ‘NoteSpacing’ dans Référence des propriétés internes créé
pour chaque contexte
(internals)Voice section ‘Voice’ dans Référence des propriétés internes.
L’objet StaffSpacing, généré au niveau d’un contexte
(internals)Staff section ‘Staff’ dans Référence des propriétés internes, possède une même propriété qui contrôlera
l’espacement hampe-barre de mesure.
L’exemple suivant montre ces adaptations, tout d’abord selon les réglages par défaut, puis avec des corrections forcées.
L’espacement spécifique à la notation proportionnelle fait l’objet d’une (notation)Notation proportionnelle section ‘rubrique dédiée’ dans Manuel de notation.
Essai sur la gravure musicale automatisée : (essay)Espacement section ‘Espacement’ dans Essai.
Morceaux choisis : (snippets)Spacing section ‘Espacements’ dans Morceaux choisis.
Référence des propriétés internes : (internals)SpacingSpanner section ‘SpacingSpanner’ dans Référence des propriétés internes, (internals)NoteSpacing section ‘NoteSpacing’ dans Référence des propriétés internes, (internals)StaffSpacing section ‘StaffSpacing’ dans Référence des propriétés internes, (internals)NonMusicalPaperColumn section ‘NonMusicalPaperColumn’ dans Référence des propriétés internes.
Il n’existe pas de mécanisme simple et efficace qui permette de forcer manuellement l’espacement. La solution ci-dessous permet cependant « d’aérer » artificiellement une partition ; il vous suffit d’ajuster la valeur du décalage (padding) autant que de besoin.
\override Score.NonMusicalPaperColumn.padding = #10 |
Il n’y a aucun moyen de diminuer l’espacement.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof New spacing section
Il arrive, au cours d’un même mouvement, qu’une nouvelle partie modifie
substantiellement la notion de valeur brève et valeur longue. La
commande newSpacingSection permet alors de réinitialiser les
paramètres d’espacement.
Dans l’exemple qui suit, le changement de métrique marque le début d’une nouvelle partie ; remarquez comme les doubles-croches sont alors automatiquent un peu plus espacées :
\time 2/4 c4 c8 c c8 c c4 c16[ c c8] c4 \newSpacingSection \time 4/16 c16[ c c8]
La commande \newSpacingSection crée un nouvel objet
SpacingSpanner à cet instant musical. Si toutefois les
ajustements apportés à l’espacement automatique ne se révélent pas
satisfaisants, ils peuvent s’adapter à l’aide d’\overrides. Ces
amendements doivent intervenir au même moment que la commande
\newSpacingSection ; ils produiront leurs effets jusqu’à ce
qu’ils soient à nouveau modifiés par une nouvelle section, comme ici :
\relative c' { \time 4/16 c16[ c c8] \newSpacingSection \override Score.SpacingSpanner.spacing-increment = #2 c16[ c c8] \newSpacingSection \revert Score.SpacingSpanner.spacing-increment c16[ c c8] }
Morceaux choisis : (snippets)Spacing section ‘Espacements’ dans Morceaux choisis.
Référence des propriétés internes : (internals)SpacingSpanner section ‘SpacingSpanner’ dans Référence des propriétés internes.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Changing horizontal spacing
| Étirement uniforme des n-olets | ||
| Espacement strict des notes |
Vous pouvez influencer l’espacement horizontal à l’aide de la propriété
base-shortest-duration. Comparons les deux partitions qui
suivent, toutes deux montrant la même musique. La première partition
applique les réglages par défaut, alors que la seconde bénéficie d’un
ajustement de la propriété base-shortest-duration. Au plus la
valeur de ly:make-moment est grande, au plus la musique sera
resserrée. En effet, ly:make-moment construit une durée :
1 4 est plus long que 1 16.
\score {
\relative {
g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
}
}
|
\score {
\relative {
g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
}
\layout {
\context {
\Score
\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
}
}
}
|
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Uniform stretching of tuplets
L’espacement au sein d’un n-olet dépend par défaut d’un certain nombre de
facteurs qui ne sont pas liés à la durée (altération, changement de
clef, etc.). Score.SpacingSpanner.uniform-stretching
permet d’ignorer ces symboles et, par voie de conséquence, de forcer
l’espacement sur la simple durée. Notez bien que cette propriété
s’appliquera à toute la partition, puisque mentionnée au sein d’un bloc
\layout.
\score { << \new Staff \relative c' { \tuplet 5/4 { c8 c c c c } c8 c c c } \new Staff \relative c' { c8 c c c \tuplet 5/4 { c8 c c c c } } >> \layout { \context { \Score \override SpacingSpanner.uniform-stretching = ##t } } }
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Strict note spacing
L’activation du commutateur strict-note-spacing permet d’espacer
les notes sans tenir compte des clefs, barres de mesure ou notes
d’ornement qui pourraient apparaître :
\override Score.SpacingSpanner.strict-note-spacing = ##t \new Staff \relative { c''8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
Morceaux choisis : (snippets)Spacing section ‘Espacements’ dans Morceaux choisis.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Line width
Deux réglages de base ont une influence considérable sur
l’espacement : line-width et indent. Tous deux se
placent dans le bloc \layout. Ils contrôleront la longueur des
lignes et l’indentation de la première.
L’activation du commutateur ragged-right au sein du bloc
\layout permet de terminer les systèmes naturellement plutôt que
de les voir s’étirer sur toute la largeur de la page. Cette option est
particulièrement utile lorsque vous traitez de courts fragments, ou bien
pour vérifier ce que donnerait l’espacement naturel. Bien qu’il soit
désactivé par défaut, il sera activé si la partition ne comporte qu’un
seul système.
Le fonctionnement de l’option ragged-last est en tout point
identique à celui de ragged-right, à ceci près qu’il ne concerne
que la dernière ligne de la partition. Il n’y a pas de restriction
quant à cette ligne. Il en va de même que pour le formatage d’un
paragraphe de texte, la dernière ligne s’arrête au dernier caractère.
\layout {
indent = #0
line-width = #150
ragged-last = ##t
}
|
Morceaux choisis : (snippets)Spacing section ‘Espacements’ dans Morceaux choisis.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Racine] | [Table des matières] | [Index] | [ ? ] |
@translationof Proportional notation
LilyPond prend en charge la notation proportionnelle. Il s’agit dans ce cas de représenter la notation selon un espacement strictement relatif aux durées. Ce type d’espacement pourrait se comparer à l’utilisation de papier millimétré pour positionner les notes au fil de la portée. Certaines œuvres de la fin du XXe siècle et à l’aube du XXIe utilisent cette proportionnalité dans le but de clarifier des structures rythmiques complexes, d’aider au positionnement d’indications temporelles ou autres éléments graphiques directement dans la partition.
LilyPond met à votre disposition cinq réglages différents, qui peuvent s’utiliser conjointement ou individuellement, aux fins de mettre au point cette notation proportionnelle.
proportionalNotationDuration
uniform-stretching
strict-note-spacing
\remove "Separating_line_group_engraver"
\override PaperColumn.used = ##t
Nous allons examiner, dans les différents exemples qui suivent, les effets de ces réglages et comment ils interagissent.
Commençons par cette mesure toute simple qui utilise l’espacement classique et justifiée à gauche.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> }
Vous constatez que la blanche qui entame la mesure prend moins de la moitié de l’espace. De même, les doubles croches et le quintolet de doubles (donc des vingtièmes de ronde) qui terminent cette mesure n’en occupent pas la moitié de l’espace horizontal.
En matière de gravure traditionnelle, cet espacement correspond tout à fait à nos attentes, puisque nous pouvons rogner de l’espace sur la blanche et ainsi gagner en largeur sur toute la mesure qui fait une ronde.
Par contre, si nous avons besoin d’insérer une indication temporelle ou
un autre graphisme en surplomb ou en dessous de notre partition, nous
aurons besoin de la notation proportionnelle. Celle-ci s’active en
définissant la propriété proportionalNotationDuration.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/20) } } }
La blanche du début et les notes plus rapides de la deuxième moitié de la mesure occupent maintenant exactement le même espace horizontal. Nous pourrions donc y insérer, au-dessus ou au-dessous, une indication temporelle ou autre graphisme.
proportionalNotationDuration est une propriété attachée au
contexte Score. Rappelez-vous que vous pouvez régler les
propriétés d’un contexte à trois différents endroits de votre
fichier : dans un bloc \with, dans un bloc \context
ou au beau milieu de la musique à l’aide de la commande \set.
Vous pouvez donc définir proportionalNotationDuration selon l’une
de ces trois façons, à l’instar de n’importe quelle définition de
contexte.
La propriété proportionalNotationDuration prend en unique
argument la durée de référence qui servira de base pour espacer toute la
musique. La fonction Scheme make-moment intégrée à LilyPond
prend deux arguments : un numérateur et un dénominateur qui
représentent une fraction de ronde. L’appel de
(ly:make-moment 1/20) produit donc une durée de référence
égale à un vingtième de ronde. Vous pourriez tout aussi bien utiliser
(ly:make-moment 1/16), (ly:make-moment 1/8) ou
(ly:make-moment 3/97).
Se pose alors le problème de fournir la juste durée de référence à
proportionalNotationDuration. Il faut en l’occurrence procéder par
tâtonnement, en commençant par une valeur proche de la note la plus
rapide (la durée la plus courte) du morceau. Au plus la durée de
référence est petite, au plus la musique sera étalée ; à l’inverse,
une durée de référence élevée produira une musique resserrée.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/8) } } } \score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/16) } } } \score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/32) } } }
Vous ne manquerez pas de noter qu’une durée de référence trop grande, comme la croche pour la première ligne, a pour conséquence de resserrer la musique, ce qui peut aboutir à des chevauchements de têtes. Vous remarquez aussi que, par principe, la notation proportionnelle occupe beaucoup plus d’espace horizontal que l’espacement traditionnel. La notation proportionnelle met en évidence le rythme au détriment de l’espacement horizontal.
Examinons à présent le moyen d’optimiser l’espacement de n-olets en tuilage.
Reprenons notre exemple de départ, avec son espacement traditionnel, et ajoutons lui une portée incluant un autre type de n-olet.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> }
L’espacement est loin d’être idéal, pour la simple raison que
l’espacement régulier des notes de la portée inférieure ne s’étire pas
uniformément. Il est vrai que de telles constructions complexes en
n-olets sont assez rares en gravure traditionnelle, ce qui explique que
les règles qu’elle applique peuvent amener à ce résultat. Le recours à
proportionalNotationDuration permet d’arranger les choses.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/20) } } }
Cependant, si l’on observe de près, il est évident que les notes de la
deuxième moitié du ennaolet ont tendance à s’espacer légèrement plus que
celles de la première moitié. Afin d’uniformiser cet étalement, nous
allons activer le uniform-stretching, propriété attachée au
SpacingSpanner.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> \layout { \context { \Score proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } }
L’espacement sur les deux portées est maintenant correct, les relations rythmiques sont clairement perceptibles, et nous pourrions y insérer une indication temporelle ou autre graphisme selon notre envie.
Notez bien que la prise en charge de la notation proportionnelle par
LilyPond demande que, dans chaque partition, soit activée la propriété
uniform-stretching du SpacingSpanner. Dans le cas
contraire, utiliser proportionalNotationDuration aura pour
conséquence, entre autres, un espacement erroné lorsque vous y aurez
inséré des silences invisibles skip.
Le SpacingSpanner est en fait un objet graphique abstrait attaché
au contexte Score. Tout comme pour la propriété
proportionalNotationDuration, les réglages du
SpacingSpanner peuvent se faire à trois différents endroits de
votre fichier : dans un bloc \with, dans un bloc
\context ou au beau milieu de la musique à l’aide de la
commande \set.
Gardez bien à l’esprit qu’il n’y a qu’un seul SpacingSpanner par
Score. Il s’ensuit que uniform-stretching est soit
activé, soit désactivé, et dans tous les cas pour l’intégralité de la
partition. Vous pourriez toutefois avoir besoin de modifier ce
comportement en cours de partition, et recourir alors à l’instruction
\newSpacingSection – pour de plus amples détails, voir la
rubrique Changement d’espacement en cours de partition.
Intéressons-nous maintenant au Separating_line_group_engraver,
qui est désactivé pour la plupart des partitions en notation
proportionnelle. Voici ce qui apparaît dans une partition
traditionnelle : il y a toujours un « espace préservé » juste
avant la première note de chaque portée.
\paper { indent = #0 } \new Staff { c'1 \break c'1 }
Cet espace, géré par le Separating_line_group_engraver, est aussi
présent lorsqu’intervient un changement de métrique, d’armure ou de
clef. Désactiver le Separating_line_group_engraver revient à
réduire cet espace à zéro.
\paper { indent = #0 } \new Staff \with { \remove "Separating_line_group_engraver" } { c'1 \break c'1 }
Les éléments non musicaux tels que métrique, armure, clef et altérations, posent problème lorsqu’on travaille en notation proportionnelle. Bien qu’aucune notion de durée ne leur soit attachée, ces éléments « consomment » de l’espace. Différentes approches permettent cependant de gérer ce problème.
Éviter les problèmes d’espacement avec l’armure est chose aisée : il suffit qu’il n’y en ait pas ! C’est bien souvent le cas en musique contemporaine, où l’on trouve le plus d’ouvrages en notation proportionnelle. Il en va de même pour la métrique, et tout particulièrement lorsque la partition comporte un quadrillage temporel ou autres graphismes. L’absence de métrique reste cependant exceptionnelle et la plupart des partitions en notation proportionnelle laissent apparaître quelques métriques. Il est par contre pratiquement impossible de se passer de clef et d’altération.
L’une des options permettant de s’affranchir de l’espacement dû aux
éléments non musicaux consiste en l’activation de la propriété
strict-note-spacing attachée au SpacingSpanner. Observons
les deux portées suivantes :
\new Staff { \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 8 8 \clef alto d' 2 } \new Staff { \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 8 8 \clef alto d' 2 }
Toutes deux affichent un espacement proportionnel. Cependant, la
première ligne laisse apparaître un espacement plus lâche en raison de
la présence d’un changement de clef. En ce qui concerne la deuxième
ligne, l’espacement est strictement observé dès lors que la propriété
strict-note-spacing a préalablement été activée. Comme vous
pouvez le constater, l’activation de strict-note-spacing a pour
conséquence que l’algorithme d’espacement ignore tout bonnement la
largeur des métriques, armures, clefs et altérations.
En plus de ceux que nous venons de voir, vous trouverez d’autres réglages en usage dans la notation proportionnelle comme, entre autres,
\override SpacingSpanner.strict-grace-spacing = ##t
\set tupletFullLength = ##t
\override Beam.breakable = ##t
\override Glissando.breakable = ##t
\override TextSpanner.breakable = ##t
\remove "Forbid_line_break_engraver" (dans un contexte de voix)
Ces différents réglages permettent un espacement strict des notes d’ornement, d’étendre les indications de n-olet afin d’indiquer de façon évidente leurs bornes et d’autoriser le tronçonnement des extenseurs à l’occasion d’un saut de ligne ou de page. Nous vous renvoyons aux différentes rubriques associées du manuel pour chacun de ces réglages.
Manuel de notation : Changement d’espacement en cours de partition.
Morceaux choisis : (snippets)Spacing section ‘Espacements’ dans Morceaux choisis.
| [ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] |
Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.
Autres langues : English, català, deutsch, español, italiano, 日本語.
À propos de la sélection automatique de la langue.