Les constituants de la gravure (Essai sur la gravure musicale automatisée)

#### Les constituants de la gravure

Si le processus de formatage se charge de décider où positionner les symboles, encore faudrait-il savoir quels symboles doivent apparaître – ou bien, quelle notation utiliser.

La notation musicale constitue une forme d’enregistrement de la musique qui a d’ailleurs évolué sur un millier d’années. La forme que nous utilisons de nos jours remonte au début de la Renaissance. Bien que ses fondements n’aient pas changé – des têtes de note réparties sur une portée à cinq lignes –, certains détails sont apparus qui permettent de rendre compte des apports de la notation contemporaine. La notation musicale couvre cinq siècles de musique, allant de la simple monodie à de gigantesques contrepoints orchestraux.

Comment intégrer un tel monstre aux si nombreux visages ? Notre solution est de clairement distinguer la notation – quels symboles utiliser – de la gravure – où les placer. Pour appréhender la notation, nous l’avons disséquée en éléments simples (et programmables) : chaque type de symbole est géré par un module – ou greffon – différent. Tous ces modules sont entièrement configurables et indépendants, chacun pouvant être développé et amélioré séparément. Nous appelons ces modules des graveurs (engravers en anglais), par analogie avec ces professionnels qui mettent en forme graphiquement les idées musicales.

Le module le plus basique, qu’on appelle `Note_heads_engraver`, crée les têtes de notes :

Puis le module `Staff_symbol_engraver` génère les objets représentant les lignes de portée :

le module `Clef_engraver` fournit au `Note_heads_engraver` la hauteur à laquelle doit être placée chaque tête de note :

et, enfin, les hampes et leurs crochets sont gérés par le `Stem_engraver` :

Le module `Stem_engraver` est appelé dès qu’une tête de note apparaît. Pour chaque note rencontrée – ou groupe de notes s’il s’agit d’un accord –, un objet hampe est créé et attaché à la tête de note. Si l’on ajoute les modules en charge des ligatures, des liaisons, des accents, des barres de mesure, de la métrique et de l’armure, nous avons tout ce qui est nécessaire à une partition.

Le principe décrit plus haut fonctionne très bien pour de la musique monophonique, mais qu’en est-il de la polyphonie ? Dans ce cas, plusieurs voix peuvent partager la même portée :

Ici, la portée et les altérations sont partagées mais les hampes, liaisons, liens, etc. dépendent de chaque voix. De plus, les graveurs doivent être regroupés. Les graveurs de têtes de note, hampes, liaisons, etc. sont donc inclus dans un groupe appelé Voice context (contexte de voix), alors que l’armure, les altérations, les barres de mesures, etc. sont placées dans un groupe Staff context (contexte de portée). Dans le cas d’une polyphonie, un contexte de portée contient plusieurs contextes de voix. De même, plusieurs contextes de portée peuvent être assemblés dans un contexte de partition (Score context) :

#### Voir aussi

Référence des propriétés internes : Contexts.

#### Essai sur la gravure musicale automatisée v2.26.0 (stable-branch).

- 1 La gravure musicale
  - 1.1 L’histoire de LilyPond
  - 1.2 La gravure en détails
    - Fontes et polices
    - Espacement
    - Lignes supplémentaires
    - Tailles
    - La raison de tous ces efforts
  - 1.3 La gravure automatisée
    - Concours de beauté
    - Modélisation et banc d’essai
    - Règles de formatage
  - 1.4 De la théorie à la pratique
    - Représentation de la musique
    - Les constituants de la gravure
    - Flexibilité architecturale
  - 1.5 Démonstration par l’exemple
  - 1.6 Comparatif (BWV 861)
- 2 Références bibliographiques
  - 2.1 Bibliographie succincte
  - 2.2 Bibliographie développée
- Appendix A GNU Free Documentation License
- Appendix B Index