GNU LilyPond – Manuel de notation: 1.6.1 Gravure des portées

### 1.6.1 Gravure des portées

Nous allons voir ici comment créer des portées et comment les regrouper.

#### Initialisation de nouvelles portées

Les portées – en anglais staff (staves au pluriel) – sont créées à l’aide des commandes `\new` ou `\context`. Pour de plus amples détails, consultez Création d’un contexte.

Le contexte de portée standard s’appelle `Staff` :

>     \new Staff { c4 d e f }

Le contexte `DrumStaff` crée une portée à cinq lignes correspondant à une batterie traditionnelle et chacun des instruments est représenté par un symbole spécifique. Les éléments sont saisis en mode batterie, initialisé par la commande `\drummode`, chaque composante étant spécifiée par son nom. Pour de plus amples détails, consultez Portées de percussion.

>     \new DrumStaff {
>       \drummode { cymc hh ss tomh }
>     }

Un `RhythmicStaff` est composé d’une portée à ligne unique chargée de présenter les valeurs rythmiques saisies. Seules sont imprimées les durées. Pour de plus amples détails, consultez Gravure de lignes rythmiques.

>     \new RhythmicStaff { c4 d e f }

Un `TabStaff` crée une portée de tablature correpondant aux six cordes d’une guitare standard. Pour de plus amples détails, consultez Tablatures par défaut.

>     \new TabStaff { c4 d e f }

Lilypond dispose aussi de deux contextes dédiés à la musique ancienne : `MensuralStaff` et `VaticanaStaff`. Ils sont abordés plus en détails au chapitre Contextes prédéfinis.

Le contexte `GregorianTranscriptionStaff` permet d’obtenir des éditions modernes du grégorien. Bien entendu, il est dépourvu de barres de mesure.

>     \new GregorianTranscriptionStaff { c4 d e f e d }

Vous pourrez toujours définir d’autres contextes de portée selon vos besoins, en suivant les indications fournies au chapitre Définition de nouveaux contextes.

#### Voir aussi

Glossaire musicologique : staff, portées.

Manuel de notation : Création d’un contexte, Portées de percussion, Gravure de lignes rythmiques, Tablatures par défaut, Contextes prédéfinis, Symbole de la portée, Contextes du chant grégorien, Les contextes de la musique mensurale, Définition de nouveaux contextes.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.

#### Regroupement de portées

LilyPond dispose de différents contextes permettant de regrouper des portées individuelles et d’obtenir ainsi des « systèmes ». Chacun de ces contextes définira le style de regoupement, avec son signe particulier en début de portée et ses règles de gestion des barres de mesure.

Lorsqu’aucun contexte particulier n’est spécifié, les propriétés suivantes s’appliqueront par défaut : les portées du groupe ne sont pas reliées, hormis par une simple ligne verticale en début de ligne, et les barres de mesure sont indépendantes.

>     <<
>       \new Staff { c1 c }
>       \new Staff { c1 c }
>     >>

Dans un `StaffGroup`, le groupe de portées est signifié par un crochet, et les barres de mesure sont d’un seul tenant.

>     \new StaffGroup <<
>       \new Staff { c1 c }
>       \new Staff { c1 c }
>     >>

Dans un `ChoirStaff`, le groupe de portées est signifié par un crochet sur la gauche, et les barres de mesure sont individuelles.

>     \new ChoirStaff <<
>       \new Staff { c1 c }
>       \new Staff { c1 c }
>     >>

Dans un `GrandStaff`, le groupe de portées est signifié par une accolade sur la gauche, et les barres de mesure sont d’un seul tenant.

>     \new GrandStaff <<
>       \new Staff { c1 c }
>       \new Staff { c1 c }
>     >>

Le contexte `PianoStaff` est indentique au `GrandStaff`, sauf qu’il gère automatiquement l’affichage du nom d’instrument – voir Noms d’instrument pour plus de détails.

>     \new PianoStaff <<
>       \set PianoStaff.instrumentName = #"Piano"
>       \new Staff { c1 c }
>       \new Staff { c1 c }
>     >>

Les barres de mesure au début de chaque système adoptent l’un des styles `SystemStartBar`, `SystemStartBrace` ou `SystemStartBracket`. Dans chaque contexte, seul l’un de ces styles est utilisé, et c’est la propriété `systemStartDelimiter` qui détermine lequel. Un quatrième style, `SystemStartSquare`, doit quant à lui être spécifié de manière explicite.

Vous pouvez aussi créer vos propres contextes de regroupement, comme l’explique Définition de nouveaux contextes.

#### Morceaux choisis

Indication de regroupement de portées par un rectangle

Un regroupement de portées sera indiqué par un simple rectangle – `SystemStartSquare` – en début de ligne dès lors que vous le mentionnerez explicitement au sein d’un contexte `StaffGroup` ou `ChoirStaffGroup`.

>     \score {
>       \new StaffGroup { <<
>       \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
>         \new Staff { c'4 d' e' f' }
>         \new Staff { c'4 d' e' f' }
>       >> }
>     }

Indicateur de regroupement et portée unique

Lorsque, dans des regoupements de type `ChoirStaff` ou `StaffGroup`, une seule portée est active, aucune indication n’est donnée en début de ligne. Surcharger la propriété adéquate permet de modifier ce comportement par défaut.

Notez bien que dans le cas des `PianoStaff` et `GrandStaff`, pour lesquels le délimiteur de système est une accolade et non un crochet, il ne s’agit pas de la même propriété – voir le deuxième système de l’exemple.

>     \markup \left-column {
>       \score {
>         \new StaffGroup <<
>           % Must be lower than the actual number of staff lines
>           \override StaffGroup.SystemStartBracket #'collapse-height = #1
>           \override Score.SystemStartBar #'collapse-height = #1
>           \new Staff {
>             c'1
>           }
>         >>
>         \layout { }
>       }
>       \null
>       \score {
>         \new PianoStaff <<
>           \override PianoStaff.SystemStartBrace #'collapse-height = #1
>           \override Score.SystemStartBar #'collapse-height = #1
>           \new Staff {
>             c'1
>           }
>         >>
>         \layout { }
>       }
>     }

Présentation à l’ancienne (barres de mesure entre les portées)

En musique mensurale, les barres de mesure ne traversent pas les portées. Pour obtenir ce résultat avec un `StaffGroup` plutôt qu’en utilisant un `ChoirStaff`, il faudra rendre « transparentes » les portions de barre qui recouvrent les portées.

>     global = {
>       \override Staff.BarLine #'transparent = ##t
>       s1 s
>       % the final bar line is not interrupted
>       \revert Staff.BarLine #'transparent
>       \bar "|."
>     }
>     \new StaffGroup \relative c'' {
>       <<
>         \new Staff { << \global { c1 c } >> }
>         \new Staff { << \global { c c } >> }
>       >>
>     }

#### Voir aussi

Glossaire musicologique : accolade, crochet, système.

Manuel de notation : Noms d’instrument, Définition de nouveaux contextes.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.

#### Problèmes connus et avertissements

Un `PianoStaff` ne peut contenir, par défaut, de `ChordNames`.

#### Imbrication de regroupements de portées

Les accolades et crochets qui délimitent les systèmes peuvent être imbriqués en profondeur. Chaque niveau inférieur aura son propre délimiteur, en plus de celui du niveau supérieur.

>     \new StaffGroup <<
>       \new Staff { c2 c | c2 c }
>       \new StaffGroup <<
>         \new Staff { g2 g | g2 g }
>         \new StaffGroup \with {
>           systemStartDelimiter = #'SystemStartSquare
>         }
>         <<
>           \new Staff { e2 e | e2 e }
>           \new Staff { c2 c | c2 c }
>         >>
>       >>
>     >>

Vous pouvez aussi créer vos propres contextes d’imbrication, comme l’explique Définition de nouveaux contextes.

#### Morceaux choisis

Imbrications de regroupements de portées

La propriété `systemStartDelimiterHierarchy` permet de créer des regroupements imbriqués complexes. La commande `\set StaffGroup.systemStartDelimiterHierarchy` prend en argument la liste alphabétique des sous-groupes à hiérarchiser. Chaque sous-groupe peut être affublé d’un délimiteur particulier. Chacun des regroupements intermédiaires doit être borné par des parenthèses. Bien que des éléments de la liste puissent être omis, le premier délimiteur embrassera toujours l’intégralité des portées. Vous disposez des quatre délimiteurs `SystemStartBar`, `SystemStartBracket`, `SystemStartBrace` et `SystemStartSquare`.

>     \new StaffGroup
>     \relative c'' <<
>       \set StaffGroup.systemStartDelimiterHierarchy
>         = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a
>                                  (SystemStartSquare b)  ) c ) d)
>       \new Staff { c1 }
>       \new Staff { c1 }
>       \new Staff { c1 }
>       \new Staff { c1 }
>       \new Staff { c1 }
>     >>

#### Voir aussi

Manuel de notation : Regroupement de portées, Noms d’instrument, Définition de nouveaux contextes.

Morceaux choisis : Notation sur la portée.

Référence des propriétés internes : StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.

#### Séparation des systèmes

Le nombre de systèmes peut varier d’une page à l’autre ; vous povez, en pareil cas, rendre plus évidente la séparation entre les systèmes en l’indiquant visuellement. Ce « séparateur » est absent par défaut, mais vous pouvez l’activer par une option au sein du bloc `\paper`.

>     \book {
>       \score {
>         \new StaffGroup <<
>           \new Staff {
>             \relative c'' {
>               c4 c c c
>               \break
>               c4 c c c
>             }
>           }
>           \new Staff {
>             \relative c'' {
>               c4 c c c
>               \break
>               c4 c c c
>             }
>           }
>         >>
>       }
>       \paper {
>         system-separator-markup = \slashSeparator
>         % following commands are needed only to format this documentation
>         paper-width = 100\mm
>         paper-height = 100\mm
>         tagline = ##f
>       }
>     }

#### Voir aussi

Manuel de notation : Mise en forme de la page.

Morceaux choisis : Notation sur la portée.

Autres langues : English, deutsch, español, 日本語.

#### LilyPond — Manuel de notation