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.


LilyPond — Manuel de notation v2.23.82 (branche de développement).