GNU LilyPond – Manuel de notation: 1.1.3 Gravure des hauteurs

### 1.1.3 Gravure des hauteurs

Nous allons voir dans cette partie comment influer sur la gravure des hauteurs.

#### Clefs

La clef indique quelles lignes de la portée correspondent à quelles hauteurs. Elle peut changer au fil du morceau, comme dans l’exemple suivant qui indique le do médium dans différentes clefs :

>     \clef treble
>     c2 c
>     \clef alto
>     c2 c
>     \clef tenor
>     c2 c
>     \clef bass
>     c2 c

LilyPond met à votre disposition d’autres clefs :

>     \clef french
>     c2 c
>     \clef soprano
>     c2 c
>     \clef mezzosoprano
>     c2 c
>     \clef baritone
>     c2 c

>     \break

>     \clef varbaritone
>     c2 c
>     \clef subbass
>     c2 c
>     \clef percussion
>     c2 c

>     \break

>     \clef G   % synonym for treble
>     c2 c
>     \clef F   % synonym for bass
>     c2 c
>     \clef C   % synonym for alto
>     c2 c

En ajoutant `_8` ou `^8` au nom de la clé, celle-ci est transposée à l’octave respectivement inférieure ou supérieure, et `_15` ou `^15` la transpose de deux octaves. D’autres nombres entiers peuvent être utilisés selon les besoins. L’argument clefname doit être mis entre guillemets lorsqu’il contient des caractères supplémentaires. Par exemple,

>     \clef treble
>     c2 c
>     \clef "treble_8"
>     c2 c
>     \clef "bass^15"
>     c2 c
>     \clef "alto_2"
>     c2 c
>     \clef "G_8"
>     c2 c
>     \clef "F^5"
>     c2 c

Il existe d’autres clefs, destinées à un usage particulier. Voir à ce sujet Notations anciennes Tablatures par défaut et Tablatures personnalisées.

#### Morceaux choisis

Affinage des propriétés d’une clef

La commande `\clef "treble_8"` équivaut à définir `clefGlyph`, `clefPosition` – qui contrôle la position verticale de la clé – `middleCPosition` et `clefOctavation`. Une clé est imprimée lorsque l’une de ces propriétés, hormis `middleCPosition`, est modifiée. Les exemples suivant font apparaître des possibilités de réglage manuel de ces propriétés.

Modifier le glyphe, la position de la clef ou son octaviation ne changera pas la position des notes ; il faut pour y parvenir modifier aussi la position du do médium. Le positionnement est relatif à la ligne médiane, un nombre positif faisant monter, chaque ligne ou interligne comptant pour 1. La valeur de `clefOctavation` devrait être de 7, -7, 15 ou -15, bien que rien ne vous empêche de lui affecter une autre valeur.

Lorsqu’un changement de clef intervient en même temps qu’un saut de ligne, la nouvelle clef est imprimer à la fois en fin de ligne et au début de la suivante. Vous pouvez toujours supprimer cette « clef de précaution » en affectant la valeur `end-of-line-invisible` à la propriété `explicitClefVisibility` du contexte `Staff`. Le comportement par défaut sera réactivé par `\unset Staff.explicitClefVisibility`.

Les exemples qui suivent illustrent les différentes possibilités de définir ces propriétés manuellement. Sur la première ligne, la position relative des notes par rapport aux clefs sont préservées, ce qui n’est pas le cas pour la deuxième ligne.

>     \layout { ragged-right = ##t }

>     {
>       % The default treble clef
>       c'1
>       % The standard bass clef
>       \set Staff.clefGlyph = #"clefs.F"
>       \set Staff.clefPosition = #2
>       \set Staff.middleCPosition = #6
>       c'1
>       % The baritone clef
>       \set Staff.clefGlyph = #"clefs.C"
>       \set Staff.clefPosition = #4
>       \set Staff.middleCPosition = #4
>       c'1
>       % The standard choral tenor clef
>       \set Staff.clefGlyph = #"clefs.G"
>       \set Staff.clefPosition = #-2
>       \set Staff.clefOctavation = #-7
>       \set Staff.middleCPosition = #1
>       c'1
>       % A non-standard clef
>       \set Staff.clefPosition = #0
>       \set Staff.clefOctavation = #0
>       \set Staff.middleCPosition = #-4
>       c'1 \break

>       % The following clef changes do not preserve
>       % the normal relationship between notes and clefs:

>       \set Staff.clefGlyph = #"clefs.F"
>       \set Staff.clefPosition = #2
>       c'1
>       \set Staff.clefGlyph = #"clefs.G"
>       c'1
>       \set Staff.clefGlyph = #"clefs.C"
>       c'1
>       \set Staff.clefOctavation = #7
>       c'1
>       \set Staff.clefOctavation = #0
>       \set Staff.clefPosition = #0
>       c'1

>       % Return to the normal clef:

>       \set Staff.middleCPosition = #0
>       c'1
>     }

#### Voir aussi

Manuel de notation : Notations anciennes, Tablatures par défaut, Tablatures personnalisées.

Morceaux choisis: Hauteurs.

Référence des propriétés internes : Clef_engraver, Clef, OctavateEight, clef-interface.

#### Armure

Note : Les nouveaux utilisateurs sont parfois déroutés par la gestion des altérations et de l’armure. Pour LilyPond, une hauteur n’est que du matériau brut ; l’armure et la clef ne feront que déterminer comment ce matériau sera retranscrit. Un simple `c` signifie tout bonnement « do naturel » quelles que soient l’armure et la clef en question. Pour plus d’information, reportez-vous au chapitre Altérations et armure.

L’armure indique la tonalité dans laquelle la pièce doit être jouée. Elle comprend un ensemble d’altérations (dièses ou bémols) à la clef, c’est-à-dire au début de la portée. Elle peut varier en cours de morceau.

On définit ou modifie l’armure avec la commande `\key`

>     \key hauteur mode

Ici, `mode` doit être `\major` ou `\minor` afin d’avoir respectivement hauteur-majeur ou hauteur-mineur. Vous pouvez aussi avoir recours aux modes anciens que sont `\ionian`, `\locrian`, `\aeolian`, `\mixolydian`, `\lydian`, `\phrygian` et `\dorian`.

>     \key g \major
>     fis1
>     f
>     fis

#### Morceaux choisis

Suppression des bécarres superflus après un changement de tonalité

Après un changement de tonalité, un bécarre est imprimé pour annuler toute altération précédente. Ceci peut être supprimé en réglant à `"false"` la propriété `printKeyCancellation` du contexte `Staff`.

>     \relative c' {
>       \key d \major
>       a4 b cis d
>       \key g \minor
>       a4 bes c d
>       \set Staff.printKeyCancellation = ##f
>       \key d \major
>       a4 b cis d
>       \key g \minor
>       a4 bes c d
>     }

Armures inhabituelles

La commande `\key` détermine la propriété `keySignature` d’un contexte `Staff`.

Des armures inhabituelles peuvent être spécifiées en modifiant directement cette propriété. Il s’agit en l’occurence de définir une liste :

`\set Staff.keySignature = #`(((octave . pas) . altération) ((octave . pas) . altération) …)`

dans laquelle, et pour chaque élément, `octave` spécifie l’octave (0 pour celle allant du do médium au si supérieur), `pas` la note dans cette octave (0 pour do et 6 pour si), et `altération` sera `,SHARP ,FLAT ,DOUBLE-SHARP` etc. (attention à la virgule en préfixe).

Une formulation abrégée – `(pas . altération)` – signifie que l’altération de l’élément en question sera valide quel que soit l’octave.

Voici, par exemple, comment générer une gamme par ton :

>     \relative c' {
>       \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
>                                    ((0 . 5) . ,FLAT)
>                                    ((0 . 3) . ,SHARP))
>       c4 d e fis
>       aes4 bes c2
>     }

#### Voir aussi

Glossaire musicologique : mode d’église, scordatura.

Manuel d’initiation : Altérations et armure.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-cancellation-interface, key-signature-interface.

#### Marques d’octaviation

Les marques d’octaviation, Ottava, permettent d’introduire une transposition spécifique d’une octave pour la portée en cours. C’est la fonction `ottava` qui s’en charge.

>     a2 b
>     \ottava #-2
>     a2 b
>     \ottava #-1
>     a2 b
>     \ottava #0
>     a2 b
>     \ottava #1
>     a2 b
>     \ottava #2
>     a2 b

#### Morceaux choisis

Texte des marques d’octaviation

En interne, la fonction `\ottava` détermine les propriétés `ottavation` (p.ex. en `"8va"` ou `"8vb"`) et `centralCPosition`. Vous pouvez modifier le texte d’une marque d’octaviation en définissant `ottavation` après avoir fait appel à `ottava` :

>     {
>       \ottava #1
>       \set Staff.ottavation = #"8"
>       c''1
>       \ottava #0
>       c'1
>       \ottava #1
>       \set Staff.ottavation = #"Text"
>       c''1
>     }

#### Voir aussi

Glossaire musicologique : octaviation.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.

#### Instruments transpositeurs

Lorsque l’on saisit une partition d’ensemble incluant des instruments transpositeurs, certaines parties peuvent être dans une autre tonalité que la tonalité de concert. Il faudra en pareil cas indiquer la tonalité spécifique de ces instruments transpositeurs, sous peine de fichier MIDI erroné et de citations incorrectes. Pour plus de détails sur les citations, consultez le chapitre Citation d’autres voix.

>     \transposition hauteur

La hauteur donnée en argument à `\transposition` doit correspondre à la note entendue lorsqu’un `do` écrit sur la portée est joué par l’instrument transpositeur. Cette hauteur doit être mentionnée en mode absolu. Par exemple, lorsque vous saisissez une partition en notes réelles, toutes les voix devraient être en ut ; si un instrument joue un ton au dessus, il faudra lui ajouter un `\transposition d'`. La commande `\transposition` s’utilise si et seulement si les notes à saisir ne sont pas dans la tonalité de concert.

Voici un fragment pour violon et clarinette en si bémol (B-flat) pour lequel les parties respectives ont été recopiées à partir du conducteur. Les deux instruments sont à l’unisson.

>     \new GrandStaff <<
>       \new Staff = "violin" {
>         \relative c'' {
>           \set Staff.instrumentName = #"Vln"
>           \set Staff.midiInstrument = #"violin"
>           % not strictly necessary, but a good reminder
>           \transposition c'

>           \key c \major
>           g4( c8) r c r c4
>         }
>       }
>       \new Staff = "clarinet" {
>         \relative c'' {
>           \set Staff.instrumentName = \markup { Cl (B\flat) }
>           \set Staff.midiInstrument = #"clarinet"
>           \transposition bes

>           \key d \major
>           a4( d8) r d r d4
>         }
>       }
>     >>

La `\transposition` peut évoluer au cours d’un morceau. Un clarinettiste peut être amené à jongler entre une clarinette en la et une autre en si bémol.

>     \set Staff.instrumentName = #"Cl (A)"
>     \key a \major
>     \transposition a
>     c d e f
>     \textLengthOn
>     s1*0^\markup { Switch to B\flat clarinet }
>     R1

>     \key bes \major
>     \transposition bes
>     c2 g

#### Voir aussi

Glossaire musicologique : tonalité de concert, instrument transpositeur.

Manuel de notation : Citation d’autres voix, Transposition.

Morceaux choisis : Hauteurs.

#### Altérations accidentelles automatiques

LilyPond dispose d’une fonction chargée de regrouper les règles suivant lesquelles s’impriment les altérations. Elle s’invoque de la manière suivante :

>     \new Staff <<
>       #(set-accidental-style 'voice)
>       { … }
>     >>

La règle de gestion des altérations s’applique par défaut au contexte `Staff` en cours, exception faite des styles `piano` et `piano-cautionary` comme nous allons le voir. Cette fonction accepte un éventuel argument supplémentaire chargé de spécifier le champ d’action de la règle à suivre. À titre d’exemple, il faudra utiliser, pour que toutes les portées d’un même système – contexte `StaffGroup` – soient soumises à la même règle :

>     #(set-accidental-style 'voice 'StaffGroup)

Nous vous présentons ci-après les différentes régles d’altération prises en charge. Pour les besoins de la démonstration, nous partirons de l’exemple suivant :

>     musicA = {
>       <<
>         \relative c' {
>           cis'8 fis, d'4 <a cis>8 f bis4 |
>           cis2. <c, g'>4 |
>         }
>         \\
>         \relative c' {
>           ais'2 cis, |
>           fis8 b a4 cis2 |
>         }
>       >>
>     }

>     musicB = {
>       \clef bass
>       \new Voice {
>         \voiceTwo \relative c' {
>           <fis, a cis>8 <fis a cis>
>           \change Staff = up
>           cis' cis
>           \change Staff = down
>           <fis, a> <fis a>
>           \showStaffSwitch
>           \change Staff = up
>           dis'4 |
>           \change Staff = down
>           <fis, a cis>4 gis <f a d>2 |
>         }
>       }
>     }

>     \new PianoStaff {
>       <<
>         \context Staff = "up" {
>           #(set-accidental-style 'default)
>           \musicA
>         }
>         \context Staff = "down" {
>           #(set-accidental-style 'default)
>           \musicB
>         }
>       >>
>     }

Notez bien que pour appliquer le même style aux deux portées, seules les dernières lignes de cet exemple nous intéressent.

>     \new PianoStaff {
>       <<
>         \context Staff = "haut" {
>           %%% voici la ligne à modifier en conséquence :
>           #(set-accidental-style 'default 'Score)
>           \musicA
>         }
>         \context Staff = "bas" {
>           \musicB
>         }
>       >>
>     }

`default`

  C’est la règle d’impression par défaut, qui se rapporte à l’usage en vigueur au XVIIIe siècle : les altérations accidentelles sont valables tout une mesure, et uniquement à leur propre octave. C’est la raison pour laquelle il n’y a pas de bécarre avant le si de la deuxième mesure, ni avant le dernier do.

`voice`

  En principe, LilyPond se souvient de toutes les altérations présentes sur la portée (contexte `Staff`). Avec cette règle, cependant, les altérations sont indépendantes pour chacune des voix tout en obéissant à la règle `default`.

  Les altérations d’une voix sont de fait ignorées dans les autres voix, ce qui peut donner lieu à un résultat malencontreux. Dans l’exemple suivant, il est difficile de dire si le deuxième la est dièse ou naturel. La règle `voice` n’est donc à envisager que dans le cas de voix devant être lues par des musiciens différents. S’il s’agit d’un « conducteur », ou d’une portée destinée à un seul musicien, il vaut mieux utiliser `modern` ou `modern-cautionary`.

`modern`

  Cette règle est la plus courante au XXe siècle. Les altérations accidentelles sont imprimées comme avec le style `default`, mais lorsqu’une note non-altérée apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution sont ajoutés. Dans l’exemple suivant, notez ainsi les deux bécarres dans la deuxième mesure de la main droite.

`modern-cautionary`

  Cette règle est équivalente à `modern`, mais les bécarres de précaution (absents dans la règle `default`) sont imprimés de façon particulière : soit plus petit, soit (par défaut) entre parenthèses – il est possible de le définir au moyen de la propriété `cautionary-style` de l’objet `AccidentalSuggestion`.

`modern-voice`

  Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix, mais les autres voix d’un même contexte `Staff` en tiennent compte cette fois. C’est pourquoi le la de la dernière mesure est affublé d’un bécarre bien qu’il y en ait déjà eu un dans la mesure précédente, et que le ré de la main gauche en ait un alors qu’il avait auparavant concerné la main droite.

`modern-voice-cautionary`

  Cette régle est similaire à la précédente, mais les altérations de précaution (celles que n’aurait pas ajoutées `voice`), sont imprimées de façon particulière. On retrouve donc toutes les altérations qu’imprimerait `default`, mais certaines sont considérées comme étant « de précaution ».

`piano`

  Cette règle est communément employée pour les partitions de piano au XXe siècle. Très similaire à `modern` de par son comportement, elle s’en distingue en ce que les altérations tiennent compte des autre portées du contexte `GrandStaff` ou `PianoStaff`.

  Cette règle s’applique par défaut dans un `GrandStaff` et dans un `PianoStaff`.

`piano-cautionary`

  Identique au style `piano`, mais les altérations de précaution sont imprimées différemment.

`neo-modern`

  Cette règle suit les pratiques de la musique contemporaine : les altérations accidentelles apparaîssent comme dans le style `modern`, à ceci près qu’elles sont répétées dans la même mesure – sauf si elles concernent deux notes consécutives.

`neo-modern-cautionary`

  Identique au style `neo-modern`, mais les altérations de précaution sont imprimées différemment.

`neo-modern-voice`

  Cette règle sert aux altérations dans de la musique polyphonique destinée autant à des musiciens différents qu’à quelqu’un qui lirait l’ensemble des voix. Les altérations sont imprimées voix par voix comme avec le style `neo-modern` mais les autres voix dans le même contexte `Staff` en tiennent aussi compte.

`neo-modern-voice-cautionary`

  Cette règle est indentique à `neo-modern-voice`, mais les altérations de précaution sont imprimées soit entre parenthèses (par défaut), soit en plus petit.

`dodecaphonic`

  Cette règle reproduit ce que certains compositeurs du début du XXe siècle ont introduit dans leur désir d’abolir la distinction entre les notes naturelles ou non. Ainsi, chaque note est affublée d’une altération, même si elle est naturelle.

`teaching`

  Cette règle est à usage pédagogique : l’impression d’une simple gamme fera apparaître une altération de précaution pour toute note altérée. Les altérations accidentelles sont imprimées selon le style `modern`, et une altération de précaution est ajoutée pour chaque dièse ou bémol à la clef – sauf dans le cas de notes consécutives.

`no-reset`

  C’est la même règle que `default`, mais l’effet des altérations accidentelles ne cesse jamais, même dans les mesures suivantes.

`forget`

  Tout le contraire de `no-reset` : l’effet des altérations cesse aussitôt ; toutes les altérations, quelque soit leur place dans la mesure, sont de ce fait imprimées en fonction de l’éventuelle armure. À l’inverse du style `dodecaphonic`, aucun bécarre ne sera ici imprimé.

#### Voir aussi

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Accidental, Accidental_engraver, GrandStaff et PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement. accidental-suggestion-interface.

#### Problèmes connus et avertissements

Les notes simultanées sont considérées comme des évènements séquentiels. Ceci implique que, dans un accord, les altérations accidentelles seront imprimées comme si les notes de l’accord apparaissaient l’une après l’autre, en fonction de l’ordre dans lequel elles ont été saisies – ce qui peut poser problème lorsqu’au sein d’un accord certaines altérations dépendent les unes des autres. Ce problème est à résoudre manuellement, en insérant des `!` et des `?` après les notes concernées.

L’absence d’altération de précaution est déterminée par l’examen de la mesure précédente. Néanmoins, lorsqu’un bloc `\alternative` suit une section `\repeat volta N`, la logique voudrait que l’on regarde la dernière mesure jouée plutôt que la dernière imprimée. Dans l’exemple qui suit, vous conviendrez que le do de la seconde alternative ne nécessite pas son bécarre.

L’astuce suivante, qui définit temporairement le recours au style `forget`, permet d’obtenir quelque chose de présentable.

>     forget = #(define-music-function (parser location music) (ly:music?) #{
>       #(set-accidental-style 'forget)
>       $music
>       #(set-accidental-style 'modern)
>     #})
>     {
>       #(set-accidental-style 'modern)
>       \time 2/4
>       \repeat volta 2 {
>         c'2
>       }
>       \alternative {
>          cis'
>          \forget c'
>       }
>     }

#### Ambitus

L’ambitus est l’amplitude des hauteurs d’une voix donnée dans une partition. Ce terme peut aussi désigner la tessiture qu’un instrument est capable d’atteindre. Souvent, cet ambitus est imprimé au début des partitions vocales, afin que les exécutants puissent voir au premier coup d’œil s’ils sont en mesure de tenir la partie en question.

Pour exprimer l’ambitus d’une pièce, on indique avant la clef deux notes représentant la hauteur la plus basse et la plus haute. Les éventuelles altérations accidentelles seront automatiquement ajoutées.

>     \layout {
>       \context {
>         \Voice
>         \consists "Ambitus_engraver"
>       }
>     }

>     \relative c'' {
>       aes c e2
>       cis,1
>     }

#### Morceaux choisis

Un ambitus par voix

L’`ambitus` peut être individualisé par voix. Il faut en pareil cas éviter qu’ils se chevauchent.

>     \new Staff <<
>       \new Voice \with {
>         \consists "Ambitus_engraver"
>       } \relative c'' {
>         \override Ambitus #'X-offset = #2.0
>         \voiceOne
>         c4 a d e
>         f1
>       }
>       \new Voice \with {
>         \consists "Ambitus_engraver"
>       } \relative c' {
>         \voiceTwo
>         es4 f g as
>         b1
>       }
>     >>

Ambitus sur plusieurs voix

Si plusieurs voix se trouvent sur une même portée, on peut attribuer le graveur `Ambitus_engraver` au contexte `Staff` afin d’obtenir l’ambitus de toutes les voix cumulées, non d’une seule des voix actives.

>     \new Staff \with {
>       \consists "Ambitus_engraver"
>       }
>     <<
>       \new Voice \relative c'' {
>         \voiceOne
>         c4 a d e
>         f1
>       }
>       \new Voice \relative c' {
>         \voiceTwo
>         es4 f g as
>         b1
>       }
>     >>

Réglage de l’affichage d’un ambitus

L’affichage d’un ambitus peut s’affiner pour répondre à vos préférences en matière d’esthétique.

>     \layout {
>       \context {
>         \Voice
>         \consists "Ambitus_engraver"
>       }
>     }

>     \new Staff {
>       \time 2/4
>       % Default setting
>       c'4 g''
>     }

>     \new Staff {
>       \time 2/4
>       \override AmbitusLine #'gap = #0
>       c'4 g''
>     }

>     \new Staff {
>       \time 2/4
>       \override AmbitusLine #'gap = #1
>       c'4 g''
>     }

>     \new Staff {
>       \time 2/4
>       \override AmbitusLine #'gap = #1.5
>       c'4 g''
>     }

#### Voir aussi

Glossaire musicologique : ambitus.

Morceaux choisis : Hauteurs.

Référence des propriétés internes : Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.

#### Problèmes connus et avertissements

LilyPond ne gère pas les collisions entre plusieurs ambitus présents sur une même portée.

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

#### LilyPond — Manuel de notation