5.1.1 Tout savoir sur les contextes
Les contextes sont hiérarchisés :
Définitions de la sortie – hiérarchie des contextes
Les lignes qui suivent traitent de l’intérêt des définitions de sorties lorsque l’on travaille avec les contextes. Des exemples de définitions seront présentés plus avant – voir Modification de tous les contextes d’un même type.
Alors que la musique écrite dans un fichier fait référence à des types
ou noms de contexte, les contextes ne sont effectivement créés que
lorsque la musique est interprétée. LilyPond interprète la musique sous
le contrôle d’une « définition de sortie », voire différemment selon
le cas, et génère ainsi différents résultats. La définition de sortie
appropriée pour une sortie imprimable est spécifiée à l’aide d’un
\layout
.
Une définition de sortie beaucoup plus simple sera utilisée pour
produire une sortie MIDI, spécifiée à l’aide d’un \midi
.
LilyPond utilise en interne plusieurs autres définitions de sortie,
notamment dans le cadre du combinateur automatique de parties (voir
Regroupement automatique de parties) ou la reproduction d’extraits
(voir Citation d’autres voix).
Les définitions de sortie ont pour objet non seulement de définir la
relation entre les contextes, mais aussi leurs réglages par défaut. Si
la plupart des adaptations prennent habituellement place au sein d’un
bloc \layout
, les réglages affectant le Midi ne seront effectifs
que s’ils interviennent au sein d’un bloc \midi
.
Certains réglages affectent plusieurs sorties : par exemple, lorsque
autoBeaming
est désactivé dans un contexte, les ligatures sont
considérées comme marquant un mélisme dans le but de faire correspondre
la musique aux paroles comme indiqué dans
Durée automatique des syllabes. Cette correspondance est
respectée autant à l’écrit qu’à l’oral. Des modifications apportées à
autoBeaming
par une définition de contexte au sein d’un bloc
\layout
ne seront pas reportées dans le bloc \midi
correspondant ; paroles et musique ne seront alors plus synchrones dans
le fichier Midi.
Voir aussi
Fichiers d’initialisation : ‘ly/engraver-init.ly’, ‘ly/performer-init.ly’.
Score – le père de tous les contextes
Il s’agit en l’occurrence du contexte le plus élevé, autrement dit le plus important, en matière de notation. En effet, c’est au niveau de la partition – score en anglais – que se gèrent le temps et la tonalité ; c’est donc là qu’il faut s’assurer que les différents éléments, tels les clefs, métriques et armures sont bien répercutés sur toutes les portées.
Dès lors que LilyPond rencontre un bloc \score {…}
se crée implicitement un contexte Score
.
Contextes de haut niveau – les systèmes
De nombreuses partitions sont écrites sur plus d’une portée. Ces portées peuvent être regroupées de différentes manières.
StaffGroup
Le groupe de portées est attaché par un crochet et les barres de mesure
sont d’un seul tenant, de la première à la dernière portée. Le
StaffGroup
constitue le regroupement le plus simple.
ChoirStaff
Ce regroupement est identique au StaffGroup
, à ceci près que les
barres de mesure ne traversent pas l’espace inter-portées.
GrandStaff
Le groupe de portées est attaché par une accolade sur la gauche et les barres de mesure sont d’un seul tenant.
PianoStaff
Ce regroupement est identique au GrandStaff
, à ceci près que le
nom de l’instrument sera directement attaché au système.
Contextes de niveau intermédiaire – les portées
Staff
La portée prend en charge les clefs, barres de mesure, armures et les
altérations accidentelles. Un contexte Staff
peut contenir
plusieurs contextes Voice
.
RhythmicStaff
De même nature qu’un Staff
, ce contexte est destiné à n’imprimer
que du rythme. Quelle que soit la hauteur, les notes seront imprimées
sur une même et unique ligne ; la sortie MIDI rendra les hauteurs
saisies.
TabStaff
Ce contexte permet de générer des tablatures. La mise en forme par défaut correspond à une tablature pour guitare, sur six lignes.
DrumStaff
Contexte dévolu tout spécialement aux parties de percussion ; il
peut contenir plusieurs DrumVoice
.
VaticanaStaff
Identique au contexte Staff
, à ceci près qu’il est tout
particulièrement adapté au grégorien.
MensuralStaff
Identique au contexte Staff
, à ceci près qu’il est tout
particulièrement adapté au style mensural de musique ancienne.
Contextes de bas niveau – les voix
Les contextes de niveau « voix » initialisent un certain nombre de
propriétés et activent les graveurs appropriés. Un contexte de bas
niveau est un contexte n’ayant aucun contexte enfant – ou
defaultchild
. Bien qu’ils puissent accepter ou contenir des
sous-contextes, ceux-ci devront être libellés et créés explicitement.
Voice
Correspond à une voix positionnée sur une portée. Le contexte
Voice
s’occupe des indications de nuance, des hampes, des
ligatures, des scripts placés au-dessus ou au-dessous de la portée, des
différentes liaisons et des silences. Lorsque plusieurs voix doivent
cohabiter sur la même portée, il est indispensable de les instancier
explicitement.
VaticanaVoice
Fonctionnant comme le contexte Voice
, il est tout
particulièrement destiné à gérer le grégorien.
MensuralVoice
Fonctionnant comme le contexte Voice
, il est tout
particulièrement adapté aux musiques anciennes.
Lyrics
Correspond à une voix contenant des paroles. Le contexte Lyrics
gère l’impression d’une ligne de paroles.
DrumVoice
Contexte de voix dévolu à une portée de percussions.
FiguredBass
Contexte prenant en charge les objets BassFigure
– la basse
chiffrée – créés à partir de ce qui a été saisi en mode
\figuremode
.
TabVoice
Contexte de voix dévolu au contexte TabStaff
, il est
habituellement créé implicitement.
CueVoice
Contexte de voix utilisé essentiellement dans le cadre de citations ajoutées à une portée – voir Mise en forme d’une citation –, il est habituellement créé implicitement.
ChordNames
Permet d’imprimer des noms d’accord.