GNU LilyPond — Manuel de notation

Ce document est également disponible au format PDF, et en pages HTML séparées.

Ce fichier documente GNU LilyPond.

Copyright © 1999–2009 par les auteurs

The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts.

La traduction de la notice de droits d’auteur ci-dessous vise à faciliter sa compréhension par le lecteur non anglophone, mais seule la notice en anglais a valeur légale.

Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU de documentation libre, version 1.1 ou tout autre version ultérieure publiée par la Free Software Foundation, “sans aucune section invariante”. Une copie de la licence est fournie à la section “Licence GNU de documentation libre”.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled “GNU Free Documentation License”.

Ce document constitue le manuel de notation de GNU LilyPond 2.12.2. Pour connaître la place qu’occupe ce manuel dans la documentation, consultez À propos de la documentation.

Vous pouvez obtenir plus d’informations sur http://www.lilypond.org/. Ce site contient des copies en ligne de ce manuel, ainsi qu’une documentation supplémentaire.

Nous souhaitons dédier ce programme à tous les amis que nous avons rencontrés par la musique.

Han-Wen et Jan


1. Notation musicale générale

Ce chapitre explique comment créer la notation musicale standard.


1.1 Hauteurs

[image of music]

Cette section détaille la façon d’indiquer les hauteurs de notes, sous trois aspects : la saisie des hauteurs, la modification des hauteurs et les options de gravure.


1.1.1 Écriture des hauteurs de note

Cette section explique la manière d’indiquer les hauteurs de note. Il y a deux modes d’indiquer l’octave des notes : le mode absolu, et le mode relatif. Le dernier est le plus pratique lors de la saisie d’un fichier source au clavier de l’ordinateur.


Hauteurs avec octave absolue

La hauteur s’écrit — à moins de préciser une autre langue — avec la notation anglaise, en utilisant les lettres a à g. Une gamme ascendante de do majeur s’écrit

\clef bass
c d e f g a b c'

[image of music]

La note c est écrite une octave sous le do central.

\clef treble
c1
\clef bass
c1

[image of music]

L’octave peut être précisée sous forme d’une série d’apostrophes ‘'’ ou d’une série de virgules ‘,’. Chaque ‘'’ hausse la note d’une octave, chaque ‘,’ baisse la note d’une octave.

\clef treble
c' c'' e' g d'' d' d c
\clef bass
c, c,, e, g d,, d, d c

[image of music]

Il existe une autre méthode pour préciser à quelle octave se situe la note à graver ; cette méthode demande moins d’indications d’octave (' ou ,) — voir Octaves relatives.


Octaves relatives

On spécifie les octaves en ajoutant ' et , aux noms de hauteurs. En recopiant de la musique, on a vite fait de mettre une note à la mauvaise octave, et ce genre d’erreur est difficile à retrouver. Le mode d’écriture \relative prévient ces erreurs dans la mesure où elles deviennent beaucoup plus évidentes : une seule erreur décale le reste de la pièce à une mauvaise octave.

\relative startpitch musicexpr

ou

\relative musicexpr

c' est utilisé par défaut si aucune hauteur de départ n’est définie.

L’octave des notes mentionnées dans musicexpr va être calculée de la manière suivante : si aucun signe de changement d’octave n’est utilisé, l’intervalle de base entre la note actuelle et la précédente sera toujours au plus d’une quarte. Cet intervalle est déterminé sans tenir compte des altérations ; ainsi un fisis après un ceses sera placé au-dessus du ceses. En d’autres termes, une quarte doublement augmentée demeure considérée comme un intervavlle plus petit qu’une quinte diminuée, bien que la quarte doublement augmentée soit de sept demi-tons et la quinte diminuée de seulement six demi-tons.

Les signes de changement d’octave ' et , peuvent être ajoutés pour hausser ou baisser la note d’une octave supplémentaire. Lorsque l’on entre en mode \relative, une hauteur absolue de départ peut être spécifiée, et agira dès lors comme si elle précédait la première note de musicexpr. Si aucune hauteur de départ n’est spécifiée, le do central sert de point de départ.

Voici le mode \relative en action.

\relative c'' {
  b c d c b c bes a
}

[image of music]

On utilise les signes de changement d’octave pour les intervalles dépassant la quarte.

\relative c'' {
  c g c f, c' a, e''
}

[image of music]

Si l’expression précédente est un accord, c’est la première note de l’accord qui détermine l’emplacement de la première note du prochain accord.

\relative c' {
  c <c e g>
  <c' e g>
  <c, e' g>
}

[image of music]

La hauteur après \relative contient un nom de note.

La conversion en mode \relative n’affectera pas les sections \transpose, \chordmode ou \relative situées dans son argument. Pour utiliser \relative dans de la musique transposée, un code \relative additionnel doit être placé dans \transpose.


Altérations

Dans la notation par défaut, un dièse est formé en ajoutant -is après le nom de note, un bémol en ajoutant -es. Les double-dièses et double-bémols sont obtenus en ajoutant -isis ou -eses au nom de note.

a2 ais a aes
a2 aisis a aeses

[image of music]

Ce sont les noms de note hollandais. En hollandais, on élide aes pour écrire as, mais les deux formes sont acceptées. De manière similaire, on accepte aussi bien es que ees.

a2 as e es

[image of music]

Un bécarre annule l’effet d’une altération, qu’elle soit accidentelle ou à l’armure. Cependant, dans la syntaxe des noms de note, les bécarres ne s’écrivent pas avec un suffixe ; un simple nom de note donnera une note bécarre.

a4 aes a2

[image of music]

LilyPond interprète l’entrée d e f comme « imprimer un ré naturel, un mi naturel et un fa naturel », sans tenir compte de l’armure. Pour plus d’information à propos de la distinction entre le contenu musical et sa représentation, voir Altérations et armure.

\key d \major
d e f g
d e fis g

[image of music]

Les demi-bémols et demi-dièses s’écrivent en ajoutant respectivement -eh et -ih. Voici une série de dos altérés en hauteurs croissantes :

ceseh1 ces ceh c cih cis cisih

[image of music]

Les micro-intervalles sont aussi exportés dans le fichier MIDI.

Normalement, les altérations sont imprimées automatiquement, mais il se peut que vous vouliez les imprimer manuellement. On peut forcer l’impression d’une altération , dite « de précaution », en ajoutant un point d’exclamation ‘!’ après la hauteur de note. Une altération entre parenthèses peut être obtenue en ajoutant un point d’interrogation ‘?’ après la hauteur de note. Ces signes peuvent aussi être utilisés pour imprimer des bécarres.

cis cis cis! cis? c c? c! c

[image of music]

Morceaux choisis

En accord avec les règles standards de l’écriture musicale, on grave un bécarre avant un dièse ou un bémol si on a besoin d’annuler une altération précédente. Pour modifier ce comportement, assignez la propriété extraNatural du contexte Staff à la valeur ##f (faux).

\relative c'' {
  aeses4 aes ais a
  \set Staff.extraNatural = ##f
  aeses4 aes ais a
}

[image of music]

Voir aussi

Référence du programme : LedgerLineSpanner, NoteHead.

L’impression automatique des altérations peut être affinée de plusieurs manières. Pour plus d’information, voir Altérations accidentelles automatiques.

Problèmes connus et avertissements

Il n’y a pas de standard universellement accepté pour noter le bémol et demi (qui abaisse la hauteur trois quarts de ton), le symbole de LilyPond n’est donc conforme à aucun standard.


Noms de note dans d’autres langues

Vous disposez de jeux prédéfinis de noms de notes pour plusieurs autres langues. Pour les utiliser, incluez le fichier d’initialisation spécifique à la langue voulue. Par exemple, pour les langues romanes, ajoutez \include "italiano.ly" au début du fichier source. Les fichiers de langues disponibles ainsi que les noms de notes utilisés sont les suivants :

                       Noms de note              dièse       bémol      double          double
                                                                        dièse           bémol
nederlands.ly  c   d   e   f   g   a   bes b   -is         -es          -isis           -eses
english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat     -ss/-x/         -ff/
                                                                        -sharpshsarp    -flatflat
deutsch.ly     c   d   e   f   g   a   b   h   -is         -es          -isis           -eses
norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es     -ississ/-isis   -essess/-eses
svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess         -ississ         -essess
italiano.ly    do  re  mi  fa  sol la  sib si  -d          -b           -dd             -bb
catalan.ly     do  re  mi  fa  sol la  sib si  -d/-s       -b           -dd/-ss         -bb
espanol.ly     do  re  mi  fa  sol la  sib si  -s          -b           -ss             -bb

Notez qu’en hollandais, en allemand, en norvégien et en suédois, un ‘la’ altéré de bemol se note aes et aeses. Ces formes sont contractées en as et ases (ou plus communément asas). Dans certains fichiers linguistiques, seules ces formes abrégées ont été définies ; ceci s’applique aussi aux suffixes pour les quarts de ton.

Certaines musiques utilisent des microtonalités, pour lesquelles les altérations sont des fractions de dièse ou bémol « normaux ». Le tableau suivant répertorie les noms de note en quart de ton, tels que définis dans plusieurs fichiers linguistiques. Les préfixes ‘semi-’ et ‘sesqui-’ correspondent au ‘demi-’ et ‘trois demis’. À noter qu’aucune définition n’existe à ce jour pour le norvégien, le suédois, le catalan et l’espagnol.

                        Noms de note           semi-   semi-  sesqui-  sesqui-
                                               dièse   bémol  dièse    bémol

nederlands.ly  c   d   e   f   g   a   bes b   -ih     -eh    -isih    -eseh
english.ly     c   d   e   f   g   a   bf  b   -qs     -qf    -tqs     -tqf
deutsch.ly     c   d   e   f   g   a   b   h   -ih     -eh    -isih    -eseh
norsk.ly       c   d   e   f   g   a   b   h   
svenska.ly     c   d   e   f   g   a   b   h   
italiano.ly    do  re  mi  fa  sol la  sib si  -sd     -sb    -dsd     -bsb
catalan.ly     do  re  mi  fa  sol la  sib si  
espanol.ly     do  re  mi  fa  sol la  sib si  

1.1.2 Modification de plusieurs hauteurs


Vérifications d’octave

Les tests d’octave rendent la correction d’erreurs d’octave plus facile dans le mode d’octave relative : une note peut être suivie de =apostrophes/virgules pour indiquer à quelle octave absolue elle devrait être. Dans l’exemple suivant,

\relative c'' { c='' b=' d,='' }

le d générera un avertissement, puisqu’on attend un d'' mais qu’on obtient un d' — il n’y a qu’une tierce entre b' et d''. Sur la partition, l’octave sera corrigée pour donner un d'' et la prochaine note sera calculée en fonction de d'' et non de d'.

Il existe aussi une vérification d’octave qui ne produit pas de musique imprimée, ayant pour syntaxe

\octaveCheck hauteur

Cette commande vérifie que la hauteur considérée sans apostrophe ni virgule et comme hauteur relative, est la même que la hauteur absolue considérée avec ses éventuelles apostrophes ou virgules. Sinon, un avertissement est émis et l’octave est corrigée. La hauteur n’est pas considérée comme une note, et donc n’est pas imprimée.

Dans l’exemple ci-dessous, le premier test réussit, puisque le e — dans le mode relative — est au plus à une quarte de a'. Cependant, le deuxième test produit un avertissement, puisque le e est à quinte de b'. Le message d’avertissement est émis, et l’octave est corrigée afin que les notes suivantes soient à nouveau à la bonne octave.

\relative c' {
  e
  \octaveCheck a'
  \octaveCheck b'
}

L’octave d’une note qui suit un test d’octave est déterminée selon la note précédente. Dans l’exemple suivant, la dernière note est un a', au-dessus du do central. Cela veut dire que le test \octaveCheck réussit, et peut donc être enlevé sans changer le résultat sur la partition.

\relative c' {
  e
  \octaveCheck b
  a
}

[image of music]


Transposition

Une expression musicale peut être transposée avec \transpose. Voici la syntaxe :

\transpose note_de départ note_d_arrivée musicexpr

Cela signifie que musicexpr est transposé d’un intervalle entre les notes note_de_départ et note_d_arrivée : toute note dont la hauteur était note_de_départ est changée en note_d_arrivée.

Prenons comme exemple une pièce écrite en ré majeur. Si cette pièce est un peu trop basse pour l’interprète, elle peut être transposée en mi majeur avec

\transpose d e …

Regardons maintenant une partie écrite pour violon — un instrument en ut). Si cette partie doit être jouée par une clarinette en la (écrite à la tierce mineure supérieure, un do écrit donnant un la réel), la transposition suivante créera la partie appropriée.

\transpose a c …

\transpose fait la distinction entre les notes enharmoniques : \transpose c cis et \transpose c des transposeront la pièce un demi-ton plus haut. Mais la première version écrira des dièses et la deuxième des bémols.

mus = { \key d \major cis d fis g }
\new Staff {
  \clef "F" \mus
  \clef "G"
  \transpose c g' \mus
  \transpose c f' \mus
}

[image of music]

On peut aussi utiliser \transpose pour entrer des notes écrites pour un instrument transpositeur. Normalement, les hauteurs dans LilyPond sont écrites en ut, i.e. en sons réels, mais elles peuvent être écrites dans un autre ton. Quand, par exemple, on écrit pour une trompette en si bémol, commençant sur ré note réelle, on pourrait écrire

\transpose c bes { e4 … }

Pour imprimer cette musique en si bémol à nouveau — et de ce fait produire une partie de trompette, au lieu d’un conducteur en notes réelles, on utilisera un deuxième transpose

\transpose bes c { \transpose c bes { e4 … } }

Voir aussi

Référence du programme : TransposedMusic.

Exemples : Hauteurs.

Problèmes connus et avertissements

Si vous voulez utiliser en même temps \transpose et \relative, vous devez mettre \transpose en dehors de \relative, puisque \relative n’aura aucun effet sur la musique apparaissant dans un \transpose.


1.1.3 Gravure des hauteurs


Clefs

La clé indique quelles lignes de la portée correspondent à telles hauteurs. Elle est réglée par la commande \clef.

{ c''2 \clef alto g'2 }

[image of music]

Les clés prises en charge sont

Clef

Position

treble, violin, G, G2

Clé de sol 2e ligne

alto, C

Clé d’ut 3e ligne

tenor

Clé d’ut 4e ligne

bass, F

Clé de fa 4e ligne

french

Clé de sol 1e ligne

soprano

Clé d’ut 1e ligne

mezzosoprano

Clé d’ut 2e ligne

baritone

Clé d’ut 5e ligne

varbaritone

Clé de fa 3e ligne

subbass

Clé de fa 5e ligne

percussion

Clé de percussion

tab

Clé de tablature

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. L’argument clefname doit être mis entre guillemets lorsqu’il contient un caractère « souligné » ou des chiffres. Par exemple,

\clef "G_8" c4

[image of music]

Propriétés couramment modifiées

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 est changée. Les exemples suivant font apparaître des possibilités de réglage manuel de ces propriétés.

{
  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  c'4
  \set Staff.clefGlyph = #"clefs.G"
  c'4
  \set Staff.clefGlyph = #"clefs.C"
  c'4
  \set Staff.clefOctavation = #7
  c'4
  \set Staff.clefOctavation = #0
  \set Staff.clefPosition = #0
  c'4
  \clef "bass"
  c'4
  \set Staff.middleCPosition = #4
  c'4
}

[image of music]

Voir aussi

Dans ce manuel : Notes d’ornement.

Référence du programme : Clefs.


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 clé, c’est-à-dire au début de la portée.

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

\key hauteur type

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

Cette commande fixe la propriété de contexte Staff.keySignature. Des armures inhabituelles peuvent être spécifiées en modifiant directement cette propriété.

Les nouveaux utilisateurs s’embrouillent souvent dans les altérations et les armures, car des notes naturelles prennent ou non un bécarre selon l’armure. Pour plus d’informations, voir Altérations ou Altérations et armure.

\key g \major
f1
fis

[image of music]

Propriétés couramment modifiées

Un bécarre est imprimé pour annuler toute altération précédente. Ceci peut être supprimé en réglant la propriété Staff.printKeyCancellation.

\key d \major
a b cis d
\key g \minor
a bes c d
\set Staff.printKeyCancellation = ##f
\key d \major
a b cis d
\key g \minor
a bes c d

[image of music]

Voir aussi

Référence du programme : KeyCancellation, KeySignature.


Marques d’octavation

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.

\relative c''' {
  a2 b
  \ottava #1
  a b
  \ottava #0
  a b
}

[image of music]

La fonction ottava peut aussi prendre en argument les valeurs -1 (pour 8va bassa), 2 (pour 15ma — 2 octaves) ou -2 (pour 15ma bassa). En interne, cette fonction 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'''
}

[image of music]

Voir aussi

Référence du programme : OttavaBracket.

Problèmes connus et avertissements

ottava gère difficilement les changements de clé qui pourraient intervenir alors qu’elle est effective.


Instruments transpositeurs

Vous pouvez spécifier la tonalité d’un instrument transpositeur, ce qui est le cas pour de nombreux instruments à vent comme la clarinette (si bémol, la ou mi bémol), le cor (fa), ou la trompette (si bémol, ut, ré ou mi bémol).

Cette transposition s’indique après le mot-clé \transposition.

\transposition bes   %% clarinette en si bémol

Cette commande détermine la propriété instrumentTransposition, dont la valeur sera utilisée pour le fichier MIDI et en cas de citation. Elle n’affecte en rien la manière dont les notes seront imprimées sur la portée. Référez-vous à la section Transposition pour obtenir un autre résultat.

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. Par exemple, lorsque vous saisissez une partition en notes réelles, toutes les voix devraient être en ut ; pour les instruments transpositeurs, il faudra procéder de cette manière :

clarinet = {
  \transposition c'
  ...
}
saxophone = {
  \transposition c'
  ...
}

Lorsque vous entrez de la musique à partir d’une partie transposée, utilisez la commande \transposition. Si l’on prend l’exemple des parties de cor, leur tonalité change souvent au cours d’un morceau ; en recopiant cette partie, utilisez \transposition ainsi :

\transposition d'
c'4^"en ré"
...
\transposition g'
c'4^"en sol"
...

Altérations accidentelles automatiques

Une fonction a été créée pour regrouper les règles suivant lesquelles s’impriment les altérations. Elle s’invoque de la manière suivante :

#(set-accidental-style 'REGLE)

Cette fonction prend pour argument le nom de la règle d’altérations, auquel peut s’ajouter, comme argument facultatif, le contexte devant être affecté :

#(set-accidental-style 'REGLE #('CONTEXTE#))

Si aucun contexte n’est spécifié, le contexte Staff sera affecté ; cependant on peut souhaiter l’appliquer au contexte Voice en lieu et place.

Les régles d’altérations suivantes sont possibles :

default

C’est la règle d’impression par défaut, qui se rapporte à l’usage en vigueur au XVIIIème siècle : les altérations accidentelles sont valables toute une mesure, et uniquement à leur propre octave.

[image of music]

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.

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

De ce fait, les altérations d’une voix sont 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.

[image of music]

La règle voice n’est à 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 XXème 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.

[image of music]

modern-cautionary

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

[image of music]

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, dans le même contexte Staff, en tiennent compte cette fois.

[image of music]

modern-voice-cautionary

Cette régle est similaire à la précédente, mais les altérations de précautions (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 ».

[image of music]

piano

Cette règle est adaptée aux contextes GrandStaff – ce qui n’empêche pas de devoir la spécifier pour chaque portée individuelle au sein du contexte GrandStaff.

\new GrandStaff { <<
  \new Staff = "up" { <<
    #(set-accidental-style 'piano)
    { … }
  >> }
  \new Staff = "down"{ <<
    #(set-accidental-style 'piano)
  { … }
  >> }
>> }

Cette règle est communément employée pour les partitions de piano au XXème 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.

[image of music]

piano-cautionary

Identique à #(set-accidental-style 'piano), mais les altérations de précaution sont imprimées différemment.

[image of music]

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.

[image of music]

forget

Tout le contraire de no-reset: l’effet des altérations cesse aussitôt, et de ce fait, toutes les altérations, quelque soit leur place dans la mesure, sont imprimées, en fonction de l’éventuelle armure.

[image of music]

Voir aussi

Référence du programme : Accidental_engraver, Accidental, AccidentalSuggestion et AccidentalPlacement.

Problèmes connus et avertissements

Les notes simultanées sont considérées comme des évènements séquentiels. Ce qui implique que, dans un accord, les altérations accidentelles seront imprimées comme si les notes de l’accords apparaissaient une par une, en fonction de l’ordre dans lequels 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.


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’oeil s’ils sont en mesure de tenir la partie en question.

Pour exprimer l’ambitus d’une pièce, on indique avant la clé deux notes représentant la hauteur la plus basse et la plus haute. Pour imprimer cet ambitus, il faut ajouter le graveur Ambitus_engraver au contexte Voice. Ainsi,

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

donne pour résultat

[image of music]

Si plusieurs voix se trouvent sur une même portée, on peut attribuer le graveur Ambitus_engraver au contexte Staff plutôt qu’au contexte Voice ; l’ambitus affiché sera alors celui de toutes les voix cumulées, non d’une seule des voix actives.

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

[image of music]

Cet exemple met en œuvre une fonctionnalité avancée :

\override Ambitus #'X-offset = #-1.0

Ce réglage déplace l’ambitus vers la gauche. Le même résultat aurait pu être obtenu avec extra-offset, mais alors le système de mise en forme n’aurait pas attribué d’espace supplémentaire pour l’objet déplacé.

Voir aussi

Référence du programme : Ambitus, AmbitusLine, AmbitusNoteHead, AmbitusAccidental.

Exemples : Hauteurs, Musique vocale.

Problèmes connus et avertissements

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


1.1.4 Têtes de note


Têtes de note spécifiques

Certains instruments utilisent des têtes de note différentes à des fins spécifiques — des croix pour le ‘parlato’ des chanteurs ou les notes étouffées des guitares ; des losanges pour les harmoniques des cordes. Il existe un raccourci (\harmonic) pour les notes en losange ; pour les autres styles de tête, il vous faudra jouer avec la propriété NoteHead.

c4 d
\override NoteHead #'style = #'cross
e f
\revert NoteHead #'style
e d <c f\harmonic> <d a'\harmonic>

[image of music]

Pour une liste exhaustive des styles de tête de note, consultez Styles de tête de note.

Voir aussi

Référence du programme : NoteHead.


Têtes de note avec nom de note

Les notes ‘easy play’ comportent le nom de la note à l’intérieur de la tête. On l’utilise dans des partitions pour débutants.

  \easyHeadsOn
  c'2 e'4 f' | g'1

[image of music]

La commande \easyHeadsOn remplace tous les réglages de l’objet NoteHead. L’impression doit être de plus grande taille, afin que les lettres soient lisibles. Voir à ce propos Définition de la taille de portée.

Commandes prédéfinies

\easyHeadsOn.


Têtes de note à forme variable

En notation profilée, le profil d’une tête de note correspond à la fonction harmonique de cette note dans la gamme. Ce style de notation était très en vogue dans les recueils de chansons américains du XIXe siècle.

Des notes profilées sont produites après activation de \aikenHeads ou \sacredHarpHeads, selon le style.

  \aikenHeads
  c8 d4 e8 a2 g1
  \sacredHarpHeads
  c8 d4. e8 a2 g1

[image of music]

Les profils sont déterminés par la hauteur dans la gamme, le premier degré étant défini par la commande \key.

Les notes profilées sont mises en œuvre par la propriété shapeNoteStyles, dont les valeurs sont constituées d’une liste de symboles. Le n-ième élément indique le style à utiliser pour le n-ième degré de la gamme. Toutes les combinaisons sont possibles :

  \set shapeNoteStyles  = #'#(cross triangle fa #f mensural xcircle diamond)
  c8 d4. e8 a2 g1

[image of music]


Improvisation

L’improvisation peut quelquefois s’indiquer à l’aide de notes de forme allongée (slash). Ces têtes de notes sont créées par l’adjonction du graveur Pitch_squash_engraver au contexte Voice, de telle sorte que la commande

\set squashedPosition = #0
\override NoteHead #'style = #'slash

active les notes penchées.

Vous disposez des raccourcis \improvisationOn et son corollaire \improvisationOff pour cette séquence, comme l’illustre l’exemple ci dessous.

\new Voice \with {
  \consists Pitch_squash_engraver
} \transpose c c' {
  e8 e g a a16(bes)(a8) g \improvisationOn
  e8
  ~e2~e8 f4 fis8
  ~fis2 \improvisationOff a16(bes) a8 g e
}

[image of music]


1.2 Rythme

[image of music]

Cette section traite du rythme : durées, silences, barres de ligature et de mesure.


1.2.1 Écriture du rythme


Durées

Dans les modes de notes, d’accords et de paroles, les durées sont écrites avec des chiffres et des points : les durées sont indiquées par leur valeur fractionnaire par rapport à la durée d’une ronde. Une noire, par exemple, qui équivaut à un 1/4 de ronde — « quarter note » en anglais — s’écrit 4, alors qu’une blanche — « half-note », 1/2 ronde — s’écrit 2. Pour des notes plus longues qu’une ronde, vous devrez utiliser les commandes \longa pour une longue, et \breve pour une brève, aussi appelée carrée.

c'\breve
c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
r\longa r\breve
r1 r2 r4 r8 r16 r32 r64 r64

[image of music]

Si la durée n’est pas précisée, elle est alors assimilée à la durée précédente. La valeur par défaut pour la première note est une noire (4).

{ a a a2 a a4 a a1 a }

[image of music]

Pour obtenir des notes pointées, ajoutez simplement un point (‘.’) au chiffre. Les notes doublement pointées sont créées de la même façon.

a'4 b' c''4. b'8 a'4. b'4.. c''8.

[image of music]

Commandes prédéfinies

Les points sont normalement haussés pour éviter les lignes de portées, sauf dans certaines polyphonies. Les commandes suivantes peuvent être utilisées pour demander manuellement une orientation particulière des points.

\dotsUp, \dotsDown, \dotsNeutral.

Voir aussi

Référence du programme : Dots, DotColumn.


Nolets

Les nolets — triolets, quintolets, etc. — sont obtenus en multipliant toutes les durées d’une expression musicale par une fraction.

\times fraction expr_musique

La durée de expr_musique sera multipliée par la fraction. Le dénominateur de la fraction sera imprimé au-dessus des notes, parfois avec un crochet. Le nolet le plus courant est le triolet, dans lequel 3 notes ont la durée de 2, et où les notes durent donc 2/3 de leur valeur écrite.

g'4 \times 2/3 {c'4 c' c'} d'4 d'4

[image of music]

Les nolets peuvent être imbriqués ; par exemple,

\override TupletNumber #'text = #tuplet-number::calc-fraction-text
\times 4/6 {
  a4 a
  \times 3/5 { a a a a a }
}

[image of music]

Commandes prédéfinies

\tupletUp, \tupletDown, \tupletNeutral.

Propriétés couramment modifiées

La propriété tupletSpannerDuration spécifie la longueur voulue de chaque crochet. Avec elle, vous pouvez faire plusieurs nolets en ne tapant \times qu’une fois, ce qui évite une longue saisie. Dans le prochain exemple, deux triolets sont imprimés avec une seule fonction \times.

\set tupletSpannerDuration = #(ly:make-moment 1 4)
\times 2/3 { c8 c c c c c }

[image of music]

Pour plus d’information sur make-moment, voir Gestion du temps.

L’apparence du chiffre est déterminée par la propriété text dans TupletNumber. La valeur par défaut imprime seulement le dénominateur, mais si elle est définie par la fonction tuplet-number::calc-fraction-text, la fraction entière num:den sera imprimée à la place.

Pour éviter d’imprimer les chiffres des nolets, utilisez

\times 2/3 { c8 c c } \times 2/3 { c8 c c }
\override TupletNumber #'transparent = ##t
\times 2/3 { c8 c c } \times 2/3 { c8 c c }

[image of music]

Utilisez la fonction \tweak pour définir une priorité dans le cas de nolets imbriqués débutant au même moment. Dans cet exemple, \tweak spécifie un texte sous forme de fraction pour le TupletNumber externe et de dénominateur pour les trois triolets internes.

\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \times 4/3 {
     \tweak #'text #tuplet-number::calc-denominator-text
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}

[image of music]

Ici, \tweak et \override agissent de concert pour spécifier le positionnement du TupletBracket. Le premier \tweak positionne le TupletBracket du nolet externe au dessus de la portée. Le second \tweak positionne le TupletBracket du premier triolet interne au dessous de la portée. Notez que cette paire de fonctions \tweak n’affecte que le triolet extérieur et le premier des trois triolets imbriqués parce qu’ils commencent au même instant musical. Nous utilisons \override de manière tout à fait normale, pour forcer le positionnement du TupletBracket des deuxième et troisième triolets en dessous de la portée.

\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \tweak #'direction #up
  \times 4/3 {
     \tweak #'direction #down
     \times 2/3 { c'8[ c'8 c'8] }
     \override TupletBracket #'direction = #down
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}

[image of music]

Les crochets de nolets peuvent aller jusqu’aux prémisses de la mesure suivante, ou à la prochaine note.

[image of music]

Voir aussi

Référence du programme : TupletBracket, TupletNumber, TimeScaledMusic.


Changement d’échelle des durées

Vous pouvez altérer la durée des notes en leur joignant une fraction N/M, donnant ‘*N/M’ — ou ‘*N’ si M=1. Ceci n’affectera pas l’apparence des notes ou silences produits.

Dans l’exemple suivant, les trois premières notes prennent exactement deux temps, mais aucun triolet n’est imprimé.

\time 2/4
a4*2/3 gis4*2/3 a4*2/3
a4 a4 a4*2
b16*4 c4

[image of music]

Voir aussi

Dans ce manuel : Nolets.


Liaisons de prolongation

Une liaison de tenue (ou de prolongation) relie deux notes adjacentes de même hauteur. Dans les faits, elle prolonge la durée d’une note, et ne doit donc pas être confondue avec les liaisons d’articulation ou de phrasé. Une liaison de tenue est indiquée au moyen d’un tilde ‘~’.

e' ~ e' <c' e' g'> ~ <c' e' g'>

[image of music]

Quand une liaison de tenue se trouve entre deux accords, toutes les notes de même hauteur entre ces deux accords sont reliées. S’il n’y en a aucune, aucune liaison n’est créée. Il est également possible de lier partiellement deux accords, en mettant les liaisons à l’intérieur des accords.

<c~ e g~ b> <c e g b>

[image of music]

Une liaison de tenue est un moyen parmi d’autres pour prolonger la durée d’une note, tout comme les points. L’exemple suivant montre deux manières de matérialiser exactement la même idée :

[image of music]

Les liaisons de tenues sont utilisées soit lorsque la note dépasse de la mesure, soit quand les points ne suffisent pas à donner la bonne durée. Lorsque l’on utilise ces liaisons, les valeurs rythmiques les plus longues doivent s’aligner sur les subidivisions de la mesure, comme ici :

[image of music]

Lorsque l’on doit lier de nombreuses notes sur plusieurs mesures, il devient plus facile d’avoir recours à la division automatique des notes — voir Découpage automatique des notes. Ce procédé divise automatiquement les notes trop longues, et les lie par-delà les barres de mesure.

Lorsqu’une mesure de seconde fois après une reprise commence sur une note liée, la liaison doit être répétée. C’est à cela que sert la commande \repeatTie :

[image of music]

Les liaisons « Laissez vibrer » (L.V.) sont utilisées pour le piano, la harpe, et certains instruments de percussion. Elles indiquent à l’instrumentiste de laisser sonner la note ou l’accord au lieu de l’étouffer. Cet effet s’obtient avec la commande \laissezVibrer.

<c f g>\laissezVibrer

[image of music]

Propriétés couramment modifiées

Les liaisons de tenue servent parfois à rendre un accord arpégé. Dans ce cas, les notes liées ne sont pas toutes consécutives. Il faut alors assigner à la propriété tieWaitForNote la valeur vrai (‘t’ pour ‘true’). Cette même méthode peut servir, par exemple, à lier un trémolo à un accord.

\set tieWaitForNote = ##t
\grace { c16[~ e~ g]~ } <c, e g>2
\repeat tremolo 8 { c32~ c'~ } <c c,>1
e8~ c~ a~ f~ <e' c a f>2

[image of music]

Il est possible de graver manuellement les liaisons de tenue, en modifiant la propriété tie-configuration. Pour chaque paire, le premier nombre indique la distance à la portée, en espaces de portée, et le second la direction (1 pour haut, -1 pour bas).

<c e g>2~ <c e g> |
\override TieColumn #'tie-configuration =
  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
<c e g>~ <c e g> |

[image of music]

Commandes prédéfinies

\tieUp, \tieDown, \tieNeutral, \tieDotted, \tieDashed, \tieSolid.

Voir aussi

Glossaire musical : liaison de prolongation, laissez vibrer.

Dans ce manuel : Découpage automatique des notes.

Référence du programme : Tie, TieColumn, LaissezVibrerTie, LaissezVibrerTieColumn.

Problèmes connus et avertissements

Un changement de portée, lorsqu’une liaison de tenue est active, ne peut produire une liaison oblique.

Le changement de clé ou d’octave pendant une liaison de tenue produit un résultat indéfini. Dans ces cas-là, il est préférable d’utiliser un legato.


1.2.2 Écriture des silences


Silences

Les silences sont écrits comme des notes avec le nom de note r.

r1 r2 r4 r8

[image of music]

Les pauses d’une mesure complète, qui sont placées au centre de la mesure, doivent être entrées comme des mesures de silence. Elles peuvent être utilisées pour une seule mesure comme pour plusieurs, et leur utilisation est expliquée dans la section Silences valant une mesure.

Pour spécifier explicitement la position verticale d’un silence, écrivez une note suivie de \rest. Un silence sera placé à la position où serait imprimée la note.

a'4\rest d'4\rest

[image of music]

Cela rend plus facile la mise en place de la musique polyphonique, puisque le formateur automatique de collision des silences laissera ces silences tranquilles.

Voir aussi

Référence du programme : Rest.


Silences invisibles

Un silence invisible — que l’on pourrait appeler un « saut » — peut être entré comme une note avec le nom de note ‘‘s’’ ou avec \skip durée

a4 a4 s4 a4 \skip 1 a4

[image of music]

La syntaxe s est seulement disponible pour les modes d’entrée de notes et d’accords. Dans d’autres situations, pour l’entrée de paroles par exemple, vous devrez utiliser la commande \skip.

<<
  \relative { a'2 a2 }
  \new Lyrics \lyricmode { \skip 2 bla2 }
>>

[image of music]

La commande de saut génère simplement une case musicale vide. Elle ne produit rien sur la partition, pas même un symbole transparent. Le code de saut s crée tout de même une Staff et une Voice lorsque nécessaire, tout comme les commandes de note et de silence. Ainsi, le code suivant aboutit à une portée vide.

{ s4 }

[image of music]

Le fragment { \skip 4 } produirait une page vide.

Voir aussi

Référence du programme : SkipMusic.


Silences valant une mesure

Un silence valant une ou plusieurs mesures entières s’entre avec un ‘R’ majuscule. Ceci ne peut être utile que pour une mesure complètement vide, et pour générer des parties séparées : ce silence sera alors répété sur autant de mesures que nécessaire, ou bien imprimé une seule fois. La répétition est contrôlée par la propriété Score.skipBars. Au cas où ce commutateur est défini comme vrai (lettre ##t pour ‘true’), les mesures vides ne seront pas répétées, et le nombre exact de mesures sera ajouté.

\time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
\set Score.skipBars = ##t R1*17 R1*4

[image of music]

Le 1 de R1 est le même que celui utilisé pour la durée des notes. Vous devrez donc, si le morceau n’est pas à 4/4, stipuler un autre durée, qui pourra contenir des points d’augmentation ou être libellé sous forme de fraction :

\set Score.skipBars = ##t
\time 3/4
R2. | R2.*2
\time 13/8
R1*13/8
R1*13/8*12 |
\time 10/8 R4*5*4 |

[image of music]

Un R qui s’étend sur une seule mesure s’imprime tantôt comme une pause, tantôt comme une brève, et sera centré sur la mesure quelle que soit la métrique.

Dans le cas où ce silence ne dure que quelques mesures, LilyPond imprime sur la portée des « silences d’église  », simple suite de rectangles. La propriété MultiMeasureRest.expand-limit permet d’obtenir un silence unique.

\set Score.skipBars = ##t
R1*2 | R1*5 | R1*9
\override MultiMeasureRest #'expand-limit = 1
R1*2 | R1*5 | R1*9

[image of music]

Vous pouvez aussi ajouter du texte à un silence multi-mesures en utilisant la syntaxe note-markup (cf. Mise en forme du texte). La variable \fermataMarkup permet d’ajouter un point d’orgue.

\set Score.skipBars = ##t
\time 3/4
R2.*10^\markup { \italic "ad lib." }
R2.^\fermataMarkup

[image of music]

Attention ! c’est MultiMeasureRestText qui créera le texte, et non TextScript.

\override TextScript #'padding = #5
R1^"low"
\override MultiMeasureRestText #'padding = #5
R1^"high"

[image of music]

Pour aligner votre texte sur le début de la mesure, rattachez-le à un silence invisible de longueur zéro comme ceci :

s1*0^"Allegro"
R1*4

Voir aussi

Référence du programme : MultiMeasureRestMusic, MultiMeasureRest.

L’objet de rendu MultiMeasureRestNumber traite les nombres, et MultiMeasureRestText le texte ajouté par l’utilisateur.

Problèmes connus et avertissements

Vous ne pouvez pas utiliser de doigtés (p.ex. R1-4) pour positionner des nombres au dessus d’un silence multi-mesures, ni modifier la hauteur.

Condenser plusieurs silences en un unique silence multi-mesures ne peut être automatisé. Les silences multi-mesures peuvent générer des collisions avec d’autres silences.

Pensez à indiquer explicitement la durée de la note qui suit un silence multi-mesures, car elle sera par défaut égale à la durée totale des mesures à compter. Ainsi, dans l’exemple ci-après, les deux do dièses vaudront chacun quatre mesures à 4/4.

R1*4 cis cis

Lorsque skipBars est activé, le résultat semblera correct, mais la numérotation des mesures sera suspendue.


1.2.3 Gravure du rythme


Métrique

Le chiffre de mesure indique le mètre d’une pièce : une alternance régulière de temps forts et de temps faibles. Il est indiqué par une fraction au début de la portée.

Le chiffre de mesure est réglé par la commande \time.

\time 2/4 c'2 \time 3/4 c'2.

[image of music]

Propriétés couramment modifiées

Le symbole imprimé peut être modifié avec la propriété style. En la réglant sur #'(), une fraction sera utilisée pour les chiffres de mesure 4/4 et 2/2.

\time 4/4 c'1
\time 2/2 c'1
\override Staff.TimeSignature #'style = #'()
\time 4/4 c'1
\time 2/2 c'1

[image of music]

Il y a bien d’autres options pour sa mise en place. Voir Métriques anciennes pour plus d’exemples.

\time définit les propriétés timeSignatureFraction, beatLength et measureLength dans le contexte Timing, qui en principe est assimilé à Score. La propriété measureLength détermine où des barres de mesure doivent être insérées, et comment les groupements de notes doivent être gérés. La modification de la valeur de timeSignatureFraction donne également lieu à l’impression d’un symbole.

Plus d’options sont accessibles au moyen de la fonction Scheme set-time-signature. De concert avec le Measure_grouping_engraver, elle crée les signes de MeasureGrouping, qui facilitent la lecture de musiques modernes, complexes rythmiquement. Dans l’exemple suivant, les mesures à 9/8 sont subdivisées en (2 2 2 3), ce qui est donné comme argument à la commande set-time-signature, en troisième position.

\score {
  \relative c'' {
    #(set-time-signature 9 8 '(2 2 2 3))
    g8[ g] d[ d] g[ g] a8[( bes g]) |
    #(set-time-signature 5 8 '(3 2))
    a4. g4
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Voir aussi

Référence du programme : TimeSignature et Timing_translator.

Exemples : Rythme.

Problèmes connus et avertissements

Le groupement automatique des ligatures n’utilise pas les groupements spécifiés par set-time-signature.


Levées

Les mesures incomplètes, telles que les anacrouses ou levées, doivent être entrées avec la commande

\partial 16*5 c16 cis d dis e | a2. c,4 | b2

[image of music]

La syntaxe de cette commande est

\partial durée

durée étant la valeur rythmique devant être ajoutée avant la mesure suivante.

Le programme traduit cette commande en

\set Timing.measurePosition = -durée

La propriété measurePosition contient un nombre rationnel qui indique, à ce point précis, où l’on en est de la mesure. Notez qu’il peut s’agir d’un nombre négatif ; \partial 4 signifie, pour le programme : « Dans cette mesure, il reste juste une noire ».

Problèmes connus et avertissements

Cette commande ne prend pas en compte les notes d’ornement ou appoggiatures au début de la musique. Lorsqu’un morceau commence par une levée et avec des petites notes, la commande \partial devrait être placée après celles-ci.

\grace f16
\partial 4
g4
a2 g2

[image of music]

\partial n’est destiné à être utilisé qu’en début de pièce. Si on l’utilise ailleurs qu’au début, des messages d’erreurs peuvent s’afficher.


Musique sans métrique

Les barres de mesure et les numéros de mesure sont calculés automatiquement, ce qui n’est pas souhaitable dans le cas d’une musique non mesurée — les cadences, par exemple. Les commandes \cadenzaOn et \cadenzaOff permettent de désactiver et de rétablir la métrique automatique.

c4 d e d
\cadenzaOn
c4 c d8 d d f4 g4.
\cadenzaOff
\bar "|"
d4 e d c

[image of music]

Problèmes connus et avertissements

LilyPond ne change de ligne ou de page qu’au niveau des barres de mesure. Si votre musique non mesurée dure plus d’une ligne, il vous faudra insérer des barres de mesure invisibles, pour indiquer à quels endroit un saut de ligne peut intervenir.

\bar ""

Notation polymétrique

LilyPond ne gère pas les métriques composites de manière explicite, mais on peut contourner ce problème. Dans l’exemple suivant, l’indicateur de métrique est obtenu grâce à une étiquette textuelle. Cette étiquette vient s’insérer dans l’objet graphique (grob) TimeSignature.

% Create 9/8 split into 2/4 + 5/8
tsMarkup = \markup {
  \override #'(baseline-skip . 2) \number {
    \column { "2" "4" }
    \vcenter "+"
    \bracket \column { "5" "8" }
  }
}

{
  \override Staff.TimeSignature #'stencil =
    #ly:text-interface::print
  \override Staff.TimeSignature #'text = #tsMarkup
  \time 9/8
  c'2 \bar ":" c'4 c'4.
  c'2 \bar ":" c'4 c'4.
}

[image of music]

Compound time signatures

Odd 20th century time signatures (such as "5/8") can often be played as compound time signatures (e.g. "3/8 + 2/8"), which combine two or more inequal metrics. LilyPond can make such music quite easy to read and play, by explicitly printing the compound time signatures and adapting the automatic beaming behavior. (Graphic measure grouping indications can also be added; see the appropriate snippet in this database.)

#(define ((compound-time one two num) grob)
  (grob-interpret-markup grob
    (markup #:override '(baseline-skip . 0) #:number
      (#:line (
          (#:column (one num))
          #:vcenter "+"
          (#:column (two num))))
      )))

\relative c' {
  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
  \time 5/8
  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

Il arrive aussi que chaque portée ait sa propre métrique. Vous y parviendrez en déplaçant le Timing_translator dans le contexte Staff.

\layout {
  \context { \Score
     \remove "Timing_translator"
     \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }

}

Maintenant, chacune des portées dispose de sa propre métrique.

<<
  \new Staff {
    \time 3/4
    c4 c c | c c c |
  }
  \new Staff {
    \time 2/4
    c4 c | c c | c c
  }
  \new Staff {
    \time 3/8
    c4. c8 c c c4. c8 c c
  }
>>

[image of music]

Une autre forme de notation polymétrique consiste dans le fait que des notes aient une durée relative différente selon la portée.

Vous pouvez créer une telle notation en définissant une métrique commune à toutes les portées, que vous proratiserez manuellement selon le cas en utilisant timeSignatureFraction pour obtenir la division adéquate pour chaque portée. Les durées, dans chacune des portées, seront alors échelonnées par rapport à la métrique commune. L’échelle de représentation se règle avec \scaleDurations — qui fonctionne comme \times, sans toutefois créer de crochet. La syntaxe appropriée est :

\scaleDurations #'(numérateur . dénominateur) exprmusicale

L’exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et 10/8. Pour la deuxième portée, les durées sont multipliées par 2/3, de telle sorte que 2/3 * 9/8 = 3/4 ; pour la troisième, elles sont multipliées par 3/5, de telle sorte que 3/5 * 10/8 = 3/4.

\relative c' { <<
  \new Staff {
    \time 3/4
    c4 c c | c c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(9 . 8)
    \scaleDurations #'(2 . 3)
      \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(10 . 8)
    \scaleDurations #'(3 . 5) {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] }
      | c4. c4. \times 2/3 { c8 c c } c4
    }
  }
>> }

[image of music]

Voir aussi

Exemples : Rythme.

Problèmes connus et avertissements

L’utilisation de métriques différentes en parallèle entraine un alignement vertical. De ce fait, les barres de mesure ont tendance à fausser l’espacement régulier.


Découpage automatique des notes

On peut convertir automatiquement les notes longues en notes liées. Il faut pour cela remplacer le graveur Note_heads_engraver par le graveur Completion_heads_engraver. Dans les exemples suivants, les notes dépassant de la mesure sont divisées et liées.

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} {
  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
}

[image of music]

Ce graveur divise toutes les notes qui sortent de la mesure, et insère des liaisons de prolongation. Une utilisation posible consiste à déboguer des partitions complexes : si les mesures ne sont pas entièrement remplies, alors les liaisons de prolongation montrent exactement la durée des décalages de mesure.

Si vous voulez permettre un saut de ligne aux barres de mesure où Completion_heads_engraver divise les notes, vous devez aussi enlever Forbid_line_break_engraver.

Problèmes connus et avertissements

Bien que toutes les durées — particulièrement celles contenant des nolets — ne puissent pas être représentées exactement avec des notes normales et des points, le graveur n’insèrera pas de nolets.

Completion_heads_engraver affecte seulement les notes, il ne divise pas les silences.

Voir aussi

Référence du programme : Completion_heads_engraver.


Gravure de lignes rythmiques

Au moyen d’une portée rythmique – ‘rhythmic staff’ en anglais – on peut montrer seulement le rythme d’une mélodie : toutes les notes sont ramenées à la même hauteur, sur une portée d’une seule ligne.

\new RhythmicStaff {
  \time 4/4
  c4 e8 f g2 | r4 g r2 | g1:32 | r1 |
}

[image of music]

Voir aussi

Référence du programme : RhythmicStaff.


1.2.4 Barres de ligature


Barres de ligature automatiques

LilyPond décide automatiquement de la manière de grouper les notes et d’imprimer les ligatures.

\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8

[image of music]

Lorsque ce comportement automatisé n’est pas satisfaisant, on peut définir des groupements manuellement — voir section suivante — ou personnaliser les groupements automatiques — voir Définition des règles de ligature automatique.

La commande \noBeam peut servir à empêcher des notes individuelles d’être rattachées aux autres.

\time 2/4 c8 c\noBeam c c

[image of music]

Voir aussi

Référence du programme : Beam.


Définition des règles de ligature automatique

Dans les métriques courantes, les ligatures automatiques peuvent commencer sur n’importe quelle note, mais ne peuvent se terminer qu’à certains points précis dans la mesure : sur une pulsation, ou après toute durée spécifiée par les propriétés nommées autoBeamSettings. Ces propriétés consistent en une liste de règles relatives au début ou à la fin des ligatures. Par défaut, elles sont définies dans le fichier ‘scm/auto-beam.scm’.

On peut ajouter à cette liste une nouvelle règle, au moyen de la commande

#(override-auto-beam-setting '(extrémité p q n m) a b [contexte])

Par exemple, si l’on veut que les ligatures s’achèvent toujours après la première noire :

#(override-auto-beam-setting '(end * * * *) 1 4)

On peut obliger une règle de ligatures à ne s’appliquer qu’à des groupes dont la note la plus brève est d’une valeur précise :

\time 2/4
#(override-auto-beam-setting '(end 1 16 * *) 1 16)
a16 a a a a a a a |
a32 a a a a16 a a a a a |
#(override-auto-beam-setting '(end 1 32 * *) 1 16)
a32 a a a a16 a a a a a |

[image of music]

On peut obliger une règle de ligatures à ne s’appliquer que pour un chiffre de mesure précis :

\time 5/8
#(override-auto-beam-setting '(end * * 5 8) 2 8)
c8 c d d d
\time 4/4
e8 e f f e e d d
\time 5/8
c8 c d d d

[image of music]

Enfin, on peut désactiver une règle de ligatures au moyen du réglage suivant :

#(revert-auto-beam-setting '(extrémité p q n m) a b [contexte])

extrémité, p, q, n, m, a, b et contexte étant les mêmes que plus haut. Il est même possible de désactiver des règles que l’on n’a pas explicitement créées : les règles par défaut, qui se trouvent dans le fichier ‘scm/auto-beam.scm’.

\time 4/4
a16 a a a a a a a a a a a a a a a
#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
a16 a a a a a a a a a a a a a a a

[image of music]

La commande revert-auto-beam-setting requiert exactement les mêmes arguments que la règle d’origine. En d’autres termes, les étoiles ne seront pas prises en compte ici.

\time 1/4
#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
a16 a a a
#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % ceci ne désactive pas la règle !
a a a a
#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % ceci marche
a a a a

[image of music]

Si, dans une mesure à 5/4, l’on veut que les ligatures soient regroupées temps par temps, il est nécessaire d’indiquer toutes les terminaisons de ligatures.

#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
…

La même syntaxe peut servir à définir les points de départ des ligatures. Dans l’exemple suivant, les ligatures automatiques ne peuvent se terminer que sur une noire pointée.

#(override-auto-beam-setting '(end * * * *) 3 8)
#(override-auto-beam-setting '(end * * * *) 1 2)
#(override-auto-beam-setting '(end * * * *) 7 8)

Dans une mesure à 4/4, cela implique que les ligatures ne peuvent se terminer que sur la troisième croche, ou sur le quatrième temps (après la valeur de deux fois trois croches).

Si une ligature se fait de manière inattendue, pensez à vérifer les règles automatiques dans le fichier ‘scm/auto-beam.scm’ pour rechercher d’éventuels conflits, dans la mesure ou les règles par défaut s’ajoutent à vos propres règles. Il est alors nécessaire de désactiver toute règle par défaut conduisant à des ligatures indésirables.

Ainsi, pour obtenir des ligatures en groupes de (3 4 3 2) croches, dans une mesure à 12/8, il faudra préalablement utiliser :

%%% annulons les réglages par défaut relatifs à 12/8, dans scm/auto-beam.scm 
#(revert-auto-beam-setting '(end * * 12 8) 3 8)
#(revert-auto-beam-setting '(end * * 12 8) 3 4)
#(revert-auto-beam-setting '(end * * 12 8) 9 8)

%%% puis ajoutons nos propres règles
#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
#(override-auto-beam-setting '(end 1 8 12 8) 10 8)

Si des ligatures sont utilisées dans les paroles d’une chanson (pour indiquer des mélismes), les ligatures automatiques doivent être désactivées, avec \autoBeamOff.

Commandes prédéfinies

\autoBeamOff, \autoBeamOn.

Propriétés couramment modifiées

Les groupes de notes reliées par les ligatures peuvent être spécifiés au moyen de la propriété beatGrouping.

\time 5/16
\set beatGrouping = #'(2 3)
c8[^"(2+3)" c16 c8]
\set beatGrouping = #'(3 2)
c8[^"(3+2)" c16 c8]

[image of music]

Problèmes connus et avertissements

Si une partition se termine alors qu’une ligature automatique est restée inachevée, cette dernière ligature ne sera pas imprimée du tout. C’est également valable dans le cas d’une musique polyphonique, saisie avec la syntaxe << … \\ … >>, où une voix se terminerait sans que la dernière ligature soit achevée.


Barres de ligature manuelles

Dans certaines situations, il peut s’avérer nécessaire de supplanter l’algorithme de groupement automatique des notes, par exemple pour prolonger une ligature par-dessus un silence ou une barre de mesure. Le début et la fin de la ligature sont alors indiqués par [ et ].

{
  r4 r8[ g' a r8] r8 g[ | a] r8
}

[image of music]

Propriétés couramment modifiées

LilyPond peut déterminer automatiquement les sous-groupes à l’intérieur d’un groupement de notes, bien que le résultat ne soit pas toujours optimal. Les propriétés stemLeftBeamCount et stemRightBeamCount permettent alors d’ajuster ce comportement. Lorsque l’une ou l’autre de ces propriétés est définie, elle ne s’applique qu’une seule fois, après quoi sa définition est effacée.

{
   f8[ r16
      f g a]
   f8[ r16
   \set stemLeftBeamCount = #1
      f g a]
}

[image of music]

La propriété subdivideBeams sert à grouper les double-croches ou les valeurs plus brèves pulsation par pulsation, la pulsation étant définie par la propriété beatLength.

c16[ c c c c c c c]
\set subdivideBeams = ##t
c16[ c c c c c c c]
\set Score.beatLength = #(ly:make-moment 1 8)
c16[ c c c c c c c]

[image of music]

Pour plus d’information sur make-moment, voir Gestion du temps.

Lorsqu’une ligature franchit une barre de mesure, le saut de ligne est en principe interdit à cet endroit. Ce comportement peut être outrepassé en définissant breakable.

LilyPond insère automatiquement des ligatures coudées — certaines notes vers le haut, d’autres vers le bas — lorsqu’il détecte un espace important entre des têtes de notes. Ce comportement peut être changé par l’intermédiaire de l’objet auto-knee-gap

Problèmes connus et avertissements

Les ligatures coudées à cheval sur deux portées ne peuvent être employées en même temps que des portées invisibles. Voir Masquage de portées.

Les ligatures peuvent entrer en collision avec des symboles entourant les notes, contrairement aux textes ou aux altérations.


Liens de croches en soufflet

Les ligatures en soufflet s’obtiennent en définissant la propriété grow-direction d’une barre de ligature. La fonction \featherDurations sert à ajuster la durée des notes.

\override Beam #'grow-direction = #LEFT
\featherDurations #(ly:make-moment 5 4) 
{
  c16[ c c c c c c]
}

[image of music]

Problèmes connus et avertissements

La commande \featherDurations ne permet de traiter que de très courts extraits.


1.2.5 Barres de mesure


Barres de mesure

Les barres de mesures délimitent les mesures, mais peuvent aussi indiquer une reprise. En principe, elles sont insérées automatiquement, et les sauts de ligne ne peuvent avoir lieu qu’au niveau de ces barres.

Il est possible de forcer l’impression d’une barre de mesure spéciale, avec la commande \bar :

c4 \bar "|:" c4

[image of music]

Les styles de barres de mesure disponibles sont

En plus de cela, on peut demander "||:", qui équivaut à "|:", mais qui donnera, en cas de saut de ligne, une double barre en fin de ligne, et une barre de reprise au début de la ligne suivante.

Il est possible d’autoriser un saut de ligne même s’il n’y a pas de barre de mesure visible, en utilisant :

\bar ""

Ceci insérera une barre de mesure invisible, et permettra de sauter de ligne à cet endroit, sans incrémenter le numéro de mesure.

Dans une partition comprenant plusieurs portées, la commande \bar placée sur une portée s’applique automatiquement à toutes les portées. Les barres de mesure que l’on obtient alors sont d’un seul tenant sur les portées d’un StaffGroup, d’un PianoStaff ou d’un GrandStaff.

<<
  \new StaffGroup <<
    \new Staff {
      e'4 d'
      \bar "||"
      f' e'
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>

[image of music]

Propriétés couramment modifiées

La commande \bar bartype sert de raccourci pour \set Timing.whichBar = bartype. Dès que l’on définit whichBar, une barre de mesure est créée selon le style défini.

Dès que la propriété whichBar est définie, une barre de mesure est créée. À chaque début de mesure, elle prend la valeur de Timing.defaultBarType. La valeur de repeatCommands sert à remplacer les barres de mesure par défaut.

Nous vous invitons à utiliser \repeat pour indiquer les reprises. Voyez à ce sujet Répétitions et reprises.

Voir aussi

Dans ce manuel : Répétitions et reprises, Regroupement de portées.

Référence du programme : BarLine (faisant partie du contexte Staff), SpanBar (sur plusieurs portées).


Numéros de mesure

Les numéros de mesure sont imprimés par défaut à chaque début de ligne. Ce nombre est stocké par la propriété currentBarNumber qui sera mis à jour à chaque mesure.

\repeat unfold 4 {c4 c c c} \break
\set Score.currentBarNumber = #50
\repeat unfold 4 {c4 c c c}

[image of music]

L’impression d’un numéro de mesure ne peut intervenir que s’il y a une barre. Aussi, pour pouvoir le faire au début d’un morceau, devrez-vous ajouter une barre vide :

\set Score.currentBarNumber = #50
\bar ""
\repeat unfold 4 {c4 c c c} \break
\repeat unfold 4 {c4 c c c}

[image of music]

Vous pouvez imprimer un numéro de mesure à intervalles réguliers plutôt qu’en tête de chaque ligne. C’est ce qu’illustre l’exemple suivant.

\override Score.BarNumber #'break-visibility = #'#(#f #t #t)
\set Score.currentBarNumber = #11
\bar ""  % Permit first bar number to be printed
% Print a bar number every second measure
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
c1 c c c c
\break
c c c c c

[image of music]

Désactiver le graveur concerné — Bar_number_engraver — donnera une partition sans numéros de mesure.

\layout {
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}
\relative c''{
c4 c c c \break
c4 c c c
}

[image of music]

Voir aussi

Référence du programme : BarNumber.

Exemples : Notation sur la portée.

Problèmes connus et avertissements

Les numéros de mesure peuvent entrer en collision avec les crochets de StaffGroup. La propriété padding — décalage — de l’objet BarNumber permet alors d’ajuster leur positionnement.


Vérification des limites et numéros de mesure

Les tests de limites de mesure (ou tests de mesure) aident à détecter les erreurs dans les durées. Un test de mesure s’écrit avec une barre verticale, ‘|’. Lors du traitement, elle doit correspondre à une barre de mesure. Sinon, un avertissement est émis. Dans l’exemple suivant, le deuxième test de mesure signale une erreur.

\time 3/4 c2 e4 | g2 |

Le test de mesure peut être aussi utilisé dans les paroles, par exemple :

\lyricmode {
 \time 2/4
 Twin -- kle | Twin -- kle
}

Des durées incorrectes font échouer les tests de mesure, et peuvent souvent mettre la partition sens dessus dessous, particulièrement s’il s’agit de musique polyphonique. Vérifier les tests de mesure qui ont échoué et les durées incorrectes est un bon moyen de commencer à corriger sa partition.

Il est aussi possible d’attribuer une autre valeur au symbole |, en assignant une expression musicale à pipeSymbol,

pipeSymbol = \bar "||"

{ c'2 c' | c'2 c' }

[image of music]

Lorsque l’on recopie de longues pièces, il peut être utile de vérifier que les numéros de mesures de LilyPond correspondent à l’original que l’on recopie. Cela se fait avec \barNumberCheck. Par exemple,

\barNumberCheck #123

affiche un avertissement lors du traitement si le numéro de mesure à ce point (variable currentBarNumber) n’est pas 123.


Indications de repère

Indiquer un repère s’obtient grâce à la commande \mark.

c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default

[image of music]

La lettre ‘I’ n’est pas utilisée, conformément aux usages de la gravure. Cependant, vous pourrez intégrer la lettre ‘I’ en utilisant

\set Score.markFormatter = #format-mark-alphabet

Lorsque vous utilisez \mark \default, le repère s’incrémente automatiquement ; toutefois donner un nombre en argument permet de spécifier manuellement le repère en question. La valeur à utiliser est enregistrée dans la propriété rehearsalMark.

Le style du repère est déterminé par la propriété markFormatter. Il s’agit d’une fonction qui prend en arguments le repère en cours (un entier) ainsi que le contexte en cours, et retournera un objet de type étiquette. Dans l’exemple qui suit, markFormatter est réglé pour une procédure type. Quelques mesure plus loin, son comportement est modifié pour imprimer un repère encadré.

\set Score.markFormatter = #format-mark-numbers
c1 \mark \default
c1 \mark \default
\set Score.markFormatter = #format-mark-box-numbers
c1 \mark \default
c1 \mark \default
c1

[image of music]

Le fichier ‘scm/translation-functions.scm’ comporte les définitions de format-mark-numbers (comportement par défaut), format-mark-box-numbers, format-mark-letters et format-mark-box-letters. Vous pouvez vous en inspirer pour d’autres fonctions de formatage.

format-mark-barnumbers, format-mark-box-barnumbers et format-mark-circle-barnumbers permettent d’imprimer le numéro de mesure au lieu des compteurs alphabétique ou numérique.

On peut aussi spécifier manuellement une marque de repère :

\mark "A1"

Score.markFormatter sera sans effet sur des repères ainsi définis. Un \markup peut néanmoins s’utiliser en argument.

\mark \markup{ \box A1 }

Un \mark peut contenir un glype musical tel que le signe segno.

c1 \mark \markup { \musicglyph #"scripts.segno" }
c1 \mark \markup { \musicglyph #"scripts.coda" }
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1

[image of music]

Pour connaître les différents symboles accessibles par \musicglyph, consultez La fonte Feta.

Pour affiner le positionnement des repères, veuillez vous référer à Indications textuelles.

Voir aussi

Dans ce manuel : Indications textuelles.

Référence du programme : RehearsalMark.

Fichiers d’initialisation : ‘scm/translation-functions.scm’ contient les définitions de format-mark-numbers et format-mark-letters. Elles seront source d’inspiration pour d’autres fonctions de formatage.

Exemples : Rythme, Signes d’interprétation.


1.2.6 Fonctionnalités rythmiques particulières


Notes d’ornement

Les petites notes sont des ornements entièrement écrits. Les plus courantes sont les accacciatures, qui doivent se jouer très vite, et qui s’écrivent sous forme d’une petite note barrée (sur la hampe) et liée. L’appoggiature est une petite note non barrée, qui vole une fraction à la durée de la note réelle qui la suit.

Ces petites notes sont entrées avec les commandes \acciaccatura et \appoggiatura, comme le montre l’exemple suivant :

b4 \acciaccatura d8 c4 \appoggiatura e8 d4
\acciaccatura { g16[ f] } e4

[image of music]

Ce sont là deux formes spéciales de la commande \grace, qui prend en charge toutes les petites notes. Si on la fait suivre d’une expression musicale, un groupe de petites notes sera créé, sans impact sur la métrique.

c4 \grace c16 c4
\grace { c16[ d16] } c2 c4

[image of music]

Contrairement à \acciaccatura ou \appoggiatura, la commande \grace ne provoque pas de liaison.

La durée des petites notes est interprétée par le programme en fonction d’un deuxième compteur de temps, le chronomètre grace. Chaque instant est défini par deux nombres rationnels : le premier compte les durées réelles, le second compte la durée des petites notes. Reprenons l’exemple ci-dessus en y ajoutant ces couples de nombres :

[image of music]

Les petites notes se placent de façon synchrone entre les différentes portées. Dans l’exemple suivant, il y a deux petites double-croches pour chaque petite croche.

<< \new Staff { e4 \grace { c16[ d e f] } e4 }
   \new Staff { c4 \grace { g8[ b] } c4 } >>

[image of music]

La commande \afterGrace sert à placer une petite note après une note réelle — et non avant comme d’ordinaire. Cette commande requiert deux arguments : la note réelle, et la ou les petites notes qui suivent.

c1 \afterGrace d1 { c16[ d] } c4

[image of music]

Les petites notes se placent alors aux 3/4 de la durée de la note réelle. Cette fraction peut être changée en définissant afterGraceFraction ; ainsi,

#(define afterGraceFraction (cons 7 8))

placera la petite note à 7/8 de la note réelle.

On peut obtenir le même effet manuellement, de la façon suivante :

\new Voice {
  << { d1^\trill_( }
     { s2 \grace { c16[ d] } } >>
  c4)
}

[image of music]

Le silence invisible peut être plus ou moins long — ici c’est une demi-pause — afin d’ajuster l’espace entre la note réelle et les petites notes.

Les expressions \grace obéissent à des règles typographiques particulières, notamment pour régler l’orientation et la taille des objets. De ce fait, toute subtilité de mise en forme devra être indiquée à l’intérieur de l’expression introduite par \grace :

\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4
}

[image of music]

Tous les réglages ajoutés doivent également être désactivés dans cette même expression.

Il est possible de changer globalement la mise en forme des petites notes dans un morceau, au moyen de la fonction add-grace-property. Ici, par exemple, on ôte la définition de l’orientation des objets Stem pour toutes les petites notes, afin que les hampes ne soient pas toujours orientées vers le haut.

\new Staff {
 #(add-grace-property 'Voice 'Stem 'direction '())
 …
}

Il est par ailleurs possible de modifier les variables startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic, et stopAppoggiaturaMusic. Pour plus de détails, voir le fichier ‘ly/grace-init.ly’.

Le trait que l’on trouve sur les hampes des accacciatures peut être appliqué dans d’autres situations en définissant
\override Stem #'stroke-style = #"grace".

Propriétés couramment modifiées

Il est possible de forcer l’élasticité de l’espacement des notes d’agrément.

<<
  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
  \new Staff {
    c4
    \afterGrace c4 { c16[ c8 c16] }
    c4 r
  }
  \new Staff {
    c16 c c c c c c c c4 r
  }
>>

[image of music]

Voir aussi

Référence du programme : GraceMusic.

Problèmes connus et avertissements

Une partition commençant par une expression \grace doit faire intervenir la commande \new Voice, sans quoi la note réelle et la petite note se retrouveront sur des portées différentes.

La synchronisation des petites notes se fait de façon parfois surprenante, car les autres objets de la portée — barres de mesure, armures, etc. — sont eux aussi synchrones. Pensez-y lorsque vous mélez des portées comprenant des petites notes et d’autres sans :

<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" d4 } >>

[image of music]

Il est possible de remédier à cela en insérant sur les autres portées des silences invisibles dans une expression précédée de \grace, correspondant à la durée des petites notes.

<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" \grace s16 d4 } >>

[image of music]

Seules des expressions musicales séquentielles peuvent être utilisées pour des petites notes ; il n’est pas possible d’imbriquer ni de juxtaposer des sections de petites notes, faute de quoi le traitement du code peut échouer ou produire des erreurs.


Alignement et cadences

Dans un contexte orchestral, une cadence constitue un problème spécifique. Lors du montage d’une partition contenant une cadence, tous les autres instruments doivent sauter autant de notes que ce qu’en comporte la cadence, faute de quoi il démarreraient trop tôt ou trop tard.

Les fonctions mmrest-of-length ou skip-of-length permettent de résoudre ce problème. Ces fonctions Scheme prennent en argument un fragment de musique, et génèrent un \skip ou un silence multi-mesures d’une durée correspondant à ce fragment. L’exemple qui suit illustre l’utilisation de mmrest-of-length.

cadenza = \relative c' {
  c4 d8 << { e f g } \\ { d4. } >>
  g4 f2 g4 g
}

\new GrandStaff <<
  \new Staff { \cadenza c'4 }
  \new Staff {
    #(ly:export (mmrest-of-length cadenza))
    c'4
  }
>>

[image of music]


Gestion du temps

Le temps est administré par le Time_signature_engraver, qui réside en principe dans le contexte Score. Sa gestion traite les variables suivantes :

currentBarNumber

Le numéro de mesure.

measureLength

La longueur de la mesure, dans la métrique en cours. Pour une mesure à 4/4, elle est de 1, et de 3/4 pour une mesure à 6/8.

measurePosition

Le moment où l’on en est dans la mesure en cours. Cette quantité est remise à 0 dès lors qu’on dépasse measureLength ; la variable currentBarNumber est alors incrémentée.

timing

Lorsqu’on lui assigne la valeur vrai, les valeurs ci-dessus mentionnées sont mises à jour à chaque pas. Fixée à faux, le graveur restera indéfiniment dans la mesure en cours.

Le calage peut être modifié en réglant explicitement l’une de ces variables. Dans l’exemple qui suit, nous réglons la métrique à 4/4, tout en fixant measureLength à 5/4. Un peu plus loin, nous raccourcissons la mesure de 1/8, en assignant 7/8 à measurePosition, alors que nous en sommes à 2/4 dans la mesure ; la barre de mesure tombera donc à 2/4 + 3/8. Les 3/8 résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés à 7/8 de la mesure ; donc 10/8 - 7/8 = 3/8.

\set Score.measureLength = #(ly:make-moment 5 4)
c1 c4
c1 c4
c4 c4
\set Score.measurePosition = #(ly:make-moment 7 8)
b8 b b
c4 c1

[image of music]

Comme le montre cet exemple, ly:make-moment n m construit une durée de n/m fois une ronde. Par conséquent, ly:make-moment 1 8 correspond à une croche, et ly:make-moment 7 16 à la durée de sept doubles croches.


1.3 Signes d’interprétation

[image of music]


1.3.1 Indications attachées à des notes


Articulations et ornements

Différents symboles peuvent être ajoutés au-dessus ou au-dessous des notes pour indiquer des ponctuations ou des modes de jeu différents. On les ajoute à chaque note au moyen d’un tiret suivi du caractère correspondant à l’articulation désirée. En voici une démonstration :

Il est possible de changer la signification de ces raccourcis : voir des exemples dans ‘ly/script-init.ly’.

Même si LilyPond place automatiquement ces symboles, il est possible de l’obliger à les placer au-dessus ou en-dessous de la note, tout comme d’autres objets, en utilisant respectivement ^ et _.

c''4^^ c''4_^

[image of music]

On peut ajouter d’autres symboles, avec la syntaxe note\symbole. Ici encore, on peut forcer leur orientation avec ^ and _.

c\fermata c^\fermata c_\fermata

[image of music]

Voici la liste exhaustive des symboles :

[image of music]

Propriétés couramment modifiées

Les symboles s’ordonnent verticalement suivant la propriété script-priority. Plus sa valeur numérique est faible, plus le symbole sera proche de la note. Dans l’exemple suivant, l’objet TextScript — le dièse — a d’abord la propriété la plus basse, et il est donc placé plus près de la note ; ensuite c’est l’objet Script qui a la propriété la plus basse, et il se place alors sous le dièse. Lorsque deux objets ont la même priorité, c’est l’ordre dans lequel ils sont indiqués qui détermine lequel sera placé en premier.

\once \override TextScript #'script-priority = #-100
a4^\prall^\markup { \sharp }

\once \override Script #'script-priority = #-100
a4^\prall^\markup { \sharp }

[image of music]

Voir aussi

Référence du programme : Script.

Problèmes connus et avertissements

Ces symboles sont présents sur la partition imprimée, mais n’ont pas d’effet sur le rendu de la musique en MIDI.


Nuances

À chaque nuance absolue correspond une commande, qui peut être indiquée après une note : c4\ff par exemple. Les commandes de nuances disponibles sont \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fp, \sf, \sff, \sp, \spp, \sfz, et \rfz.

c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz

[image of music]

Un crescendo est délimité par \< et \!, ou peut se terminer par une commande de nuance. Au lieu de \< ou \>, on peut aussi utiliser \cr et \decr. Ces indications sont attachées aux notes ; aussi si l’on veut faire se succéder plusieurs nuances pendant une note tenue, il faudra avoir recours à des silences invisibles :

c\< c\! d\> e\!
<< f1 { s4 s4\< s4\! \> s4\! } >>

[image of music]

En principe, un soufflet — (de)crescendo imprimé sous forme graphique – commence au bord gauche de la note de départ, et se termine au bord droit de la note d’arrivée. Cependant, si la note d’arrivée est sur un premier temps, le soufflet s’arrêtera au niveau de la barre de mesure qui la précède. Ce comportement peut être annulé en assignant faux (lettre ‘f’) à la propriété hairpinToBarline :

On peut avoir recours à l’indication \espressivo pour indiquer un crescendo puis un decrescendo sur une seule note.

c2 b4 a g1\espressivo

[image of music]

Cependant, ces deux indications graphiques peuvent se trouver très comprimées horizontalement. Pour les rallonger, on peut modifier la propriété minimum-length de Voice.Hairpin Voice étant le contexte, et Hairpin l’objet affecté. Par exemple :

\override Voice.Hairpin #'minimum-length = #5

Des crescendos ou decrescendos al niente peuvent être indiqués de manière graphique, en assignant vrai (lettre ‘t’) à la propriété circled-tip, ce qui affiche un cercle à leur extrémité.

\override Hairpin #'circled-tip = ##t
c2\< c\!
c4\> c\< c2\!

[image of music]

Au lieu d’une notation graphique des crescendos, on peut utiliser une notation textuelle.

\crescTextCresc
c\< d e f\!
\crescHairpin
e\> d c b\!
\dimTextDecresc
c\> d e f\!
\dimTextDim
e\> d c b\!

[image of music]

On peut même définir ses propres indications textuelles :

\set crescendoText = \markup { \italic "cresc. poco" }
\set crescendoSpanner = #'text
a'2\< a a a\!\mf

[image of music]

Pour créer des indications de nuances qui restent alignées avec les nuances habituelles, voir Personnalisation des indications de nuance.

Le positionnement vertical des nuances est géré par le DynamicLineSpanner.

Propriétés couramment modifiées

Des nuances différentes situées — ou commençant — sur une même note seront alignées verticalement. Pour aligner des nuances qui ne se situeraient pas sur une même note, il est possible d’augmenter la propriété staff-padding.

\override DynamicLineSpanner #'staff-padding = #4

Cette propriété peut aussi servir à régler des problèmes de collision entre des nuances et d’autres objets.

Les crescendos ou decrescendos qui aboutissent sur la première note d’une nouvelle ligne ne sont imprimés que jusqu’à la fin de la ligne précédente. Ce comportement peut être outrepassé en définissant :

\override Score.Hairpin #'after-line-breaking = ##t

Les crescendos et decrescendos indiqués textuellement — tels que cresc. ou dim. — sont suivis de pointillés qui montrent leur étendue. On peut empêcher l’impression de ces pointillés avec :

\override DynamicTextSpanner #'dash-period = #-1.0

Commandes prédéfinies

\dynamicUp, \dynamicDown, \dynamicNeutral.

Voir aussi

Référence du programme : DynamicText, Hairpin.

Le placement vertical de ces éléments graphiques est géré par le DynamicLineSpanner.


Personnalisation des indications de nuance

Grâce à la commande make-dynamic-script, vous pouvez créer de nouvelles marques textuelles de nuances que vous combinerez éventuellement avec les signes de nuances. Notez bien que la police des nuances en contient que les caractères f,m,p,r,s and z.

Certains composants, tels que les marques de nuances, possèdent des propriétés particulières et prédéfinies quant à leur police. Lorsque vous créez du texte en pareille situation, nous vous recommandons d’utiliser normal-text pour annuler ces propriétés. Voir Text markup commands pour plus de détails.

sfzp = #(make-dynamic-script "sfzp")
\relative c' {
  c4 c c\sfzp c
}

[image of music]

Vous pouvez aussi encadrer les nuances entre parenthèses ou entre crochets. Ceci est souvent utilisé pour ajouter des nuances propres à une édition donnée.

rndf = \markup{ \center-align {\line { \bold{\italic (}
  \dynamic f \bold{\italic )} }} }
boxf = \markup{ \bracket { \dynamic f } }
{ c'1_\rndf c'1_\boxf }

[image of music]


1.3.2 Courbes


Liaisons d’articulation

Une liaison d’articulation indique que les notes doivent être jouées liées, ou legato. Ces liaisons s’indiquent au moyen de parenthèses.

f( g a) a8 b( a4 g2 f4)
<c e>2( <b d>2)

[image of music]

On peut indiquer l’orientation des liaisons suivantes avec \slurDIR, DIR pouvant être Up pour une liaison vers le haut, Down pour une liaison vers le bas, ou Neutral pour laisser LilyPond décider.

Il existe également un raccourci pratique pour forcer l’orientation d’une seule liaison. Il suffit pour cela d’ajouter _ ou ^ avant d’ouvrir une parenthèse.

c4_( c) c^( c)

[image of music]

Une seule liaison d’articulation peut être imprimée à la fois. S’il est nécessaire d’imprimer une liaison plus longue, englobant des liaisons plus courtes, utilisez des Liaisons de phrasé.

Propriétés couramment modifiées

Certains auteurs utilisent deux liaisons lorsqu’ils veulent lier des accords. Dans LilyPond, il faut pour cela assigner vrai (‘true’) la propriété doubleSlurs :

\set doubleSlurs = ##t
<c e>4 ( <d f> <c e> <d f> )

[image of music]

Commandes prédéfinies

\slurUp, \slurDown, \slurNeutral, \slurDashed, \slurDotted, \slurSolid.

Voir aussi

Référence du programme : Slur.


Liaisons de phrasé

Une liaison de phrasé relie plusieurs notes en délimitant une phrase musicale. On indique les points de départ et d’arrivée avec \( et \) respectivement.

\time 6/4 c'\( d( e) f( e) d\)

[image of music]

D’un point de vue typographique, rien ne distingue une liaison de phrasé d’une liaison d’articulation. Cependant, LilyPond les considère comme des objets différents. Une commande \slurUp n’affectera donc pas une liaison de phrasé : il faut plutôt utiliser \phrasingSlurUp, \phrasingSlurDown ou \phrasingSlurNeutral.

Il n’est pas possible d’avoir plusieurs liaisons de phrasé en même temps.

Commandes prédéfinies

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral.

Voir aussi

Référence du programme : PhrasingSlur.


Signes de respiration

Les indications de respiration sont indiquées par la commande \breathe.

c'4 \breathe d4

[image of music]

Propriétés couramment modifiées

On peut choisir le glyphe imprimé par cette commande, en modifiant la propriété text de l’objet BreathingSign, pour lui affecter n’importe quelle indication textuelle. Par exemple :

c'4
\override BreathingSign #'text
  = #(make-musicglyph-markup "scripts.rvarcomma")
\breathe
d4

[image of music]

Voir aussi

Référence du programme : BreathingSign.

Exemples : Winds.


Chutes et sauts

Des indications de désinence peuvent être obtenues au moyen de la commande \bendAfter :

[image of music]


1.3.3 Lignes


Glissando

Un glissando relie une hauteur à une autre en passant par chaque hauteur intermédiaire. Il est indiqué graphiquement, par une ligne ou des vaguelettes entre ces deux notes. On l’obtient en accolant la commande \glissando à la première note.

c2\glissando c'
\override Glissando #'style = #'zigzag
c2\glissando c,

[image of music]

Propriétés couramment modifiées

I = \once \override NoteColumn #'ignore-collision = ##t

\relative <<
  { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
  { \oneVoice \I c2 \glissando \I d, }
>>

[image of music]

Voir aussi

Référence du programme : Glissando.

Exemples : Signes d’interprétation.

Problèmes connus et avertissements

Il n’est pas possible d’imprimer un texte (tel que gliss.) le long de la ligne de glissando.


Arpèges

On peut indiquer qu’un accord doit être arpégé en lui accolant la commande \arpeggio :

<c e g c>\arpeggio

[image of music]

Pour spécifier qu’un autre accord doit être plaqué et non arpégé, on peut remplacer ce signe par un crochet :

\arpeggioBracket
<c' e g c>\arpeggio

[image of music]

Le sens de l’arpège est parfois indiqué par une pointe de flèche au bout de la vaguelette :

\new Voice {
  \arpeggioArrowUp
  <c e g c>\arpeggio
  \arpeggioArrowDown
  <c e g c>\arpeggio
}

[image of music]

Propriétés couramment modifiées

Quand un arpège couvre plusieurs portées, il est possible d’indiquer l’arpège sur chacune des portées, puis de relier la ligne de vaguelettes en assignant vrai à la propriété connectArpeggios, par exemple dans le contexte PianoStaff :

\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff { <c' e g c>\arpeggio }
  \new Staff { \clef bass <c,, e g>\arpeggio }
>>

[image of music]

Commandes prédéfinies

\arpeggio, \arpeggioArrowUp, \arpeggioArrowDown, \arpeggioNormal, \arpeggioBracket.

Voir aussi

Dans ce même manuel : Liaisons de prolongation, pour noter explicitement des arpèges.

Référence du programme : Arpèges.

Problèmes connus et avertissements

Il est impossible de mêler au même instant, dans un contexte PianoStaff, des lignes d’arpèges connectées et d’autres non connectées.


Trilles

Les trilles brefs s’indiquent comme n’importe quelle ponctuation : voir Articulations et ornements.

Les trilles plus longs sont délimités par \startTrillSpan et \stopTrillSpan :

\new Voice {
  << { c1 \startTrillSpan }
     { s2. \grace { d16[\stopTrillSpan e] } } >>
  c4 }

[image of music]

Les trilles qui font intervenir une hauteur précise peuvent être indiqués par la commande pitchedTrill.

\pitchedTrill c4\startTrillSpan fis
f\stopTrillSpan

[image of music]

Le premier argument est la note réelle ; le second est une hauteur qui sera imprimée comme une tête de note noire entre parenthèses.

Commandes prédéfinies

\startTrillSpan, \stopTrillSpan.

Voir aussi

Référence du programme : TrillSpanner.


1.4 Répétitions et reprises

[image of music]

La répétition est une notion essentielle en musique, et il existe de nombreuses façons de mettre en œuvre et noter ce concept. LilyPond prend en charge les types de répétition suivants :

volta

Le passage répété n’est pas développé , mais il est encadré par des barres de reprises, et peut se terminer par plusieurs fins alternatives — ou volte — imprimées de gauche à droite sous des crochets. Lorsque la répétition commence au début de la pièce, aucune barre de reprise n’est gravée au début de la partition. Il s’agit de la notation courante des reprises avec fins alternatives.

unfold

La musique répétée est développée dans la partition autant de fois qu’indiqué. Ceci est particulièrement utile pour de la musique répétitive.

percent

Des barres obliques ou signes de pourcentage indiquent la répétition de temps ou de mesures, imprimés sous la forme de signes de pourcentage.

tremolo

Ce type permet de réaliser des trémolos sous forme de liens de croches.


1.4.1 Répétition d’un long passage

Cette section présente la syntaxe des répétitions longues — c’est-à-dire plusieurs mesures. Ces répétitions peuvent prendre deux formes : encadrées par des barres de reprises, ou bien développées dans la partition. Les barres et autres signe de reprise peuvent être contrôlés manuellement.


Types de répétitions

On peut indiquer des répétitions des façons suivantes :

bar

baz


Syntaxe des répétitions

Tous les différents types de reprise se spécifient dans LilyPond avec une même construction syntaxique, qui est :

\repeat type_de_la_reprise nombre_de_répétitions expression_à_répéter

On peut ajouter, pour indiquer une fin alternative :

\alternative {
 alternative1
 alternative2
 alternative3
 …
}

chaque alternative étant une expression musicale. Si l’on donne trop peu d’alternatives en regard du nombre de fois où le passage doit être rejoué, la première alternative sera jouée plusieurs fois.

Les reprises courantes s’indiquent comme ceci :

c1
\repeat volta 2 { c4 d e f }
\repeat volta 2 { f e d c }

[image of music]

Et avec des fins alternatives :

c1
\repeat volta 2 {c4 d e f}
\alternative { {d2 d} {f f,} }

[image of music]

Il est possible de créer des répétitions avec une levée.

\new Staff {
  \partial 4 e |
  \repeat volta 4 { c2 d2 | e2 f2 | }
  \alternative { { g4 g g e } { a a a a | b2. } }
}

[image of music]

ou

\new Staff {
  \partial 4 
  \repeat volta 4 { e | c2 d2 | e2 f2 | }
  \alternative { { \partial 4*3 g4 g g } { a a a a | b2. } }
}

[image of music]

Des liaisons de tenue peuvent être ajoutées à toute alternative :

c1
\repeat volta 2 {c4 d e f ~ }
\alternative { {f2 d} {f\repeatTie f,} }

[image of music]

On peut raccourcir les crochets indiquant les fins alternatives, en définissant la propriété voltaSpannerDuration. Dans l’exemple suivant, le crochet ne se prolonge que sur une mesure à 3/4.

\relative c''{
  \time 3/4
  c c c
  \set Staff.voltaSpannerDuration = #(ly:make-moment 3 4)
  \repeat volta 5 { d d d }
  \alternative { { e e e f f f }
  { g g g } }
}

[image of music]

Si l’on souhaite à la fois terminer une ligne par une double barre et débuter la ligne suivante avec une section reprise, on peut utiliser

… \bar "||:" \break
\repeat volta 2 { …

Consultez Barres de mesure pour plus d’informations.

Voir aussi

Program reference: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, et UnfoldedRepeatedMusic.

Exemples

Les crochets précédant une reprise s’impriment d’ordinaire seulement au-dessus de la portée du haut. On peut ajuster cela en déplaçant le graveur Volta_engraver vers les contextes de portée (Staff) qui doivent comporter ces crochets ; voir Modification des greffons de contexte, et Répétitions et reprises.

Problèmes connus et avertissements

Des reprises imbriquées telles que

\repeat …
\repeat …
\alternative

présentent une ambiguïté, dans la mesure où l’on ne sait à quelle section \repeat attribuer la section \alternative. Pour résoudre cette ambiguïté, il convient de toujours insérer la commande \alternative à l’intérieur de la section \repeat. Il est préférable, dans une telle situation, d’utiliser des accolades pour plus de clarté.

Lorsqu’une alternative commence, les informations de métrique sont perdues, il faut donc les rappeler après une reprise, par exemple en définissant Score.measurePosition ou en invoquant la commande \partial. De même, aucune liaison (de tenue ou autre) n’est répétée.

Les crochets qui indiquent les alternatives ne sont pas alignés verticalement.


Commandes de reprise manuelles

La propriété repeatCommands sert à contrôler la mise en forme des reprises. On la définit par une suite de commandes de reprise Scheme.

start-repeat

Pour imprimer une barre de reprise |:

end-repeat

Pour imprimer une barre de reprise :|

(volta texte)

Pour imprimer un crochet indiquant une alternative. L’argument texte mentionné dans le crochet peut être n’importe quelle chaîne de caractères ou indication textuelle — voir Mise en forme du texte. Attention cependant à changer la police, car la police employée par défaut pour les chiffres ne contient aucun caractère alphabétique.

(volta #f)

Pour terminer un crochet indiquant une alternative.

c4
  \set Score.repeatCommands = #'((volta "93") end-repeat)
c4 c4
  \set Score.repeatCommands = #'((volta #f))
c4 c4

[image of music]

Voir aussi

Référence du programme : VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, et UnfoldedRepeatedMusic.


1.4.2 Autres types de répétition


Répétition en trémolo

On peut placer une notation de trémolo entre deux notes, avec la commande \repeat suivie du style trémolo :

\new Voice \relative c' {
  \repeat tremolo 8 { c16 d16 }
  \repeat tremolo 4 { c16 d16 }
  \repeat tremolo 2 { c16 d16 }
}

[image of music]

On peut aussi indiquer un trémolo sur une seule note, qu’il faudra alors laisser sans accolades.

\repeat tremolo 4 c'16

[image of music]

La subdivision des trémolos aboutit à un résultat semblable : voir Subdivision de trémolos.

Voir aussi

Dans ce manuel : Subdivision de trémolos, Répétitions et reprises.

Référence du programme : Beam, StemTremolo.


Subdivision de trémolos

Un trémolo peut être indiqué sur une seule note, en la faisant suivre de deux points et d’un nombre :

note:[nombre].

Le nombre en question correspond à la valeur de la subdivision ; il doit être au moins de 8, auquel cas la hampe sera barrée par un seul trait de ligature. Si ce nombre est omis, la dernière valeur — telle que mémorisée dans tremoloFlags — sera utilisée.

c'2:8 c':32 | c': c': |

[image of music]

Problèmes connus et avertissements

Les trémolos entrés de cette manière ne sont pas rendus dans le fichier MIDI.

Voir aussi

Dans ce manuel : Répétition en trémolo.

Référence du programme : StemTremolo.


Répétitions de mesure

Le style de « reprise en pourcent » sert à répéter une séquence de notes. Elle sera imprimée une fois, puis remplacée par un symbole spécial. Les séquences d’une ou deux mesures sont remplacées par un symbole qui ressemble au symbole de pourcentage, tandis que les séquences inférieures à une mesure sont remplacées par une barre oblique. Toutes ces répétitions doivent être déclarées dans un contexte Voice.

\new Voice \relative c' {
  \repeat percent 4 { c4 }
  \repeat percent 2 { c2 es2 f4 fis4 g4 c4 }
}

[image of music]

Les répétitions de plus de 2 mesures sont surmontées d’un compteur, si l’on assigne vrai (lettre ‘t’) à la propriété countPercentRepeats.

\new Voice {
\set countPercentRepeats = ##t
  \repeat percent 4 { c1 }
}

[image of music]

Des symboles de pourcentage isolés peuvent aussi être obtenus, au moyen d’un silence multi-mesures dont on modifie l’aspect :

\override MultiMeasureRest #'stencil
  = #ly:multi-measure-rest::percent
R1

[image of music]

Voir aussi

Référence du programme : RepeatSlash, PercentRepeat, DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeatCounter, PercentRepeatedMusic.


1.5 Notes simultanées

[image of music]

La notion musicale de polyphonie fait référence au fait d’avoir plus d’une voix simultanément dans une pièce. Dans LilyPond, la notion de polyphonie fait référence au fait d’avoir plus d’une voix sur la même portée.


1.5.1 Monophonie


Notes en accords

Un accord est formé en mettant une série de hauteurs entre < et >. Un accord peut être suivi d’une durée et d’indications d’articulation, comme une simple note.

<c e g>4 <c>8

[image of music]

Pour plus d’information à propos des accords, voir Notation des accords.


Clusters

Un cluster indique un agrégat de sons. On peut le représenter par une plage limitée par un ambitus (notes extrêmes). On obtient une telle notation en appliquant la fonction makeClusters à une séquence d’accords, comme

\makeClusters { <c e > <b f'> }

[image of music]

Des notes ordinaires et des clusters peuvent cohabiter sur une même portée, y compris simultanément — en pareil cas, rien ne sera fait pour tenter d’empécher les chevauchements entre notes et clusters.

Voir aussi

Référence du programme : ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver.

Exemples : Notes simultanées.

Problèmes connus et avertissements

Les expressions musicales du type << { g8 e8 } a4 >> ne seront pas imprimées de façon acceptable. utilisez plutôt <g a>8 <e a>8 .


1.5.2 Plusieurs voix


Polyphonie basique

La manière la plus facile d’entrer des fragments avec plus d’une voix sur une portée est d’entrer chaque voix comme une suite de notes — entre accolades : {...} — puis de les combiner simultanément, en séparant les voix avec \\

\new Staff \relative c' {
  c16 d e f
  <<
    { g4 f e | d2 e2 } \\
    { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
    { s2. | s4 b4 c2 }
  >>
}

[image of music]

Le séparateur permet aux contextes Voice1 d’être identifiés. Les contextes de voix portent les noms "1", "2", etc. Dans chacun de ces contextes, la direction verticale des liaisons, hampes, etc. est réglée de manière appropriée.

Ces voix sont toutes distinctes de la voix qui contient les notes en dehors de la construction << \\ >>. On doit le prendre en compte lorsqu’on fait des changements au niveau des voix. Cela veut aussi dire que les liaisons de prolongation et d’articulation ne peuvent ni entrer ni sortir de la construction << \\ >>. À l’inverse, des voix parallèles venant de constructions << \\ >> séparées sur la même portée sont dans les mêmes voix. Voici le même exemple, avec des couleurs et têtes de note différentes pour chaque voix. Notez que le changement de style de tête de note n’affecte pas l’intérieur des constructions << \\ >>. Aussi, le changement à la deuxième voix dans la première construction << \\ >> l’affecte aussi dans la deuxième construction << \\ >>, et la voix est liée entre les deux constructions.

\new Staff \relative c' {
  \override NoteHead #'style = #'cross
  \override NoteHead #'color = #red
  c16 d e f
  <<
    { g4 f e } \\
    { \override NoteHead #'style = #'triangle
      \override NoteHead #'color = #blue
    r8 e4 d c8 ~ }
  >> |
  <<
    { d2 e2 } \\
    { c8 b16 a b8 g ~ g2 } \\
    { \override NoteHead #'style = #'slash 
      \override NoteHead #'color = #green
      s4 b4 c2 }
  >>
}

[image of music]

La polyphonie ne change pas la relation des notes dans un bloc \relative { }. Chaque note est calculée en fonction de la note qui la précède immédiatement, sans tenir compte des différentes voix.

\relative { noteA << noteB \\ noteC >> noteD }

noteC est calculé relativement à noteB, non pas à noteA ; noteD est calculé relativement à noteC, non pas à noteB ou noteA.


Résolution des collisions

D’ordinaire, les têtes de notes pointées et non-pointées ne sont pas fusionnées, mais lorsque la propriété merge-differently-dotted de l’objet NoteCollision est définie, elles se trouvent fusionnées :

\new Voice << {
  g8 g8
  \override Staff.NoteCollision
    #'merge-differently-dotted = ##t
  g8 g8
} \\ { g8.[ f16] g8.[ f16] } >>

[image of music]

De même, vous pouvez fusionner une tête de blanche avec une tête de croche, en définissant merge-differently-headed

\new Voice << {
  c8 c4.
  \override Staff.NoteCollision
    #'merge-differently-headed = ##t
c8 c4. } \\ { c2 c2 } >>

[image of music]

LilyPond décale aussi verticalement les silences à l’opposé des hampes, par exemple

\new Voice << c''4 \\ r4 >>

[image of music]

Lorsque trois notes ou plus s’agglutinent dans un même empilement, merge-differently-headed ne peut mener à bien la fusion des deux notes qui devraient l’être. Pour obtenir une fusion optimale, appliquez un décalage (\shift) à la note qui ne devrait pas s’empiler. Dans la première mesure de l’exemple suivant, merge-differently-headed ne fonctionne pas — la tête de la blanche est noire. Dans la seconde mesure, \shiftOn s’applique pour sortir le sol (g) de l’alignement, et merge-differently-headed fonctionne correctement.

\override Staff.NoteCollision #'merge-differently-headed = ##t
<<
  { d=''2 g2 } \\
  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
  { \voiceFour e,,2 e'2}
>>
<<
  { d'=''2 \shiftOn g2 } \\ 
  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
  { \voiceFour e,,2 e'2}
>>

[image of music]

Commandes prédéfinies

\oneVoice, \voiceOne, \voiceTwo, \voiceThree, \voiceFour.

\shiftOn, \shiftOnn, \shiftOnnn, \shiftOff : toutes ces commandes précisent le degré de décalage des notes de la voix courante. Les voix externes — habituellement, les voix une et deux — ont \shiftOff, alors que les voix internes — trois et quatre — ont \shiftOn. \shiftOnn et \shiftOnnn sont des niveaux supplémentaires de décalage.

Quand LilyPond est dépassé, la propriété force-hshift de l’objet NoteColumn, et des silences à hauteur déterminée, peuvent s’avérer utiles pour dicter au programme les choix de placement.

\relative <<
{
  <d g>
  <d g>
} \\ {
  <b f'>
  \once \override NoteColumn #'force-hshift = #1.7
  <b f'>
} >>

[image of music]

Voir aussi

Référence du programme : les objets appropriés pour résoudre les collisions sont NoteCollision et RestCollision.

Problèmes connus et avertissements

Quand merge-differently-headed est utilisé avec une croche ou une valeur plus courte à hampe vers le haut, et une blanche hampe vers le bas, la croche se retrouve à la mauvaise place.

Il n’y a aucune prise en charge des agrégats dans lesquels une même note apparaît avec différentes altérations. Il est conseillé d’avoir recours aux enharmoniques, ou d’utiliser la notation spécifique de cluster — voir Clusters.


Regroupement automatique de parties

Le regroupement automatique de parties vous permet de fusionner deux pupitres sur une seule portée, ceci dans le but de créer des partitions d’orchestre. Lorsque les deux parties sont identiques sur une certaine durée, une seule s’affiche. Lorsqu’elles diffèrent, deux voix séparées apparaissent, avec des hampes dont la direction est gérée automatiquement. Vous pouvez aussi identifier et faire ressortir les solos et parties a due.

Voici la syntaxe qui permet de combiner des parties :

\partcombine musicexpr1 musicexpr2

L’exemple suivant illustre les fonctionnalités élémentaires du combinateur de parties : positionner les parties sur une portée, gérer la direction des hampes et de la polyphonie.

\new Staff \partcombine
  \relative g' { g g a( b) c c r r }
  \relative g' { g g r4 r e e g g }

[image of music]

Le premier sol n’apparaît qu’une seule fois, alors qu’il a été spécifié deux fois (une fois dans chacune des parties). La direction des hampes et des liaisons de tenue ou de phrasé est gérée automatiquement, selon qu’il s’agisse d’un solo ou d’un unisson. La première partie, dont le contexte s’appellera one, aura toujours ses hampes dirigées vers le haut et sera notée ‘Solo’, alors que la deuxième, appelée two, aura des hampes vers le bas et sera notée ‘Solo II’.

Si votre intention n’est que de fusionner les parties, sans ajouter de texte, assignez faux à la propriété printPartCombineTexts.

\new Staff <<
  \set Staff.printPartCombineTexts = ##f
  \partcombine
    \relative g' { g a( b) r }
    \relative g' { g r4 r f }
>>

[image of music]

Le texte imprimé pour les sections solo ou à l’unisson se règle par les propriétés soloText, soloIIText, et aDueText.

\new Staff <<
  \set Score.soloText = #"ichi"
  \set Score.soloIIText = #"ni"
  \set Score.aDueText = #"tachi"
  \partcombine
    \relative g' { g4 g a( b) r }
    \relative g' { g4 g r r f }
>>

[image of music]

LilyPond interprète dans un contexte Voice les arguments fournis à \partcombine. Si vous travaillez avec des octaves relatives, spécifiez \relative dans chacune des expressions musicales, comme ceci :

\partcombine
  \relative … musicexpr1
  \relative … musicexpr2

Une section \relative en dehors de \partcombine sera sans effet sur les hauteurs de musicexpr1 et musicexpr2.

Voir aussi

Référence du programme : PartCombineMusic.

Problèmes connus et avertissements

Lorsque printPartCombineTexts est actif et que les deux voix jouent souvent les mêmes notes, le combinateur peut afficher a2 plus d’une fois par mesure.

\partcombine ne peut s’inscrire dans un bloc \times.

\partcombine ne peut s’inscrire dans un bloc \relative.

En interne, \partcombine interprète les deux arguments en tant que Voices, dénommées one et two, puis décide de quand les parties seront fusionnées. Par conséquent, si les arguments changent pour d’autres noms de contexte Voice, les événements qu’ils contiendraient seront ignorés.


Saisie de musique en parallèle

On peut écrire plusieurs voix de façon entremêlée :

\parallelMusic #'(voiceA voiceB) {
  r8     g'16[ c''] e''[ g' c'' e''] r8     g'16[ c''] e''[ g' c'' e''] |
  c'2                                c'2                                |
  r8     a'16[ d''] f''[ a' d'' f''] r8     a'16[ d''] f''[ a' d'' f''] |
  c'2                                c'2                                |
}
\new StaffGroup <<
  \new Staff \new Voice \voiceA
  \new Staff \new Voice \voiceB
>>

[image of music]

Ceci fonctionne bien avec la musique pour piano :

music = {
  \key c \major
  \time 4/4
  \parallelMusic #'(voiceA voiceB voiceC voiceD) {
    % Bar 1
    r8  g'16[ c''] e''[ g' c'' e''] r8  g'16[ c''] e''[ g' c''
e''] |
    c'2                                 c'2 |
    r8  a16[ d'] f'[ a d' f']       r8  a16[ d'] f'[ a d' f'] |
    c2                                  c2 |

    % Bar 2
    a'8 b'      c'' d''    e'' f''    g'' a'' |
    d'4         d'         d'         d' |
    c16 d e f   d e f g    e f g a    f g a b |
    a,4         a,4        a,4        a,4 |

    % Bar 3 ...
  }
}

\score {
  \new PianoStaff <<
    \music
    \new Staff <<
      \voiceA \\
      \voiceB
    >>
    \new Staff {
      \clef bass
      <<
        \voiceC \\
        \voiceD
      >>
    }
  >>
}

[image of music]


1.6 Notation sur la portée

[image of music]

Cette section aborde les détails de gravure de la portée, la réalisation de partitions avec plusieurs portées et l’ajout d’indications globales d’exécution, présentes sur certaines portées seulement.


1.6.1 Gravure des portées


Initialisation de nouvelles portées


Regroupement de portées

De nombreuses partitions sont écrites sur plusieurs portées. Ces portées peuvent être regroupées de quatre manières différentes.

Voir aussi

Les barres de mesure au début de chaque système prennent l’un des styles SystemStartBar, SystemStartBrace, SystemStartBracket. Dans chaque contexte, seul l’un de ces styles est utilisé, et c’est la propriété systemStartDelimiter qui détermine lequel.

Propriétés couramment modifiées

Les accolades et crochets délimitant les systèmes peuvent être imbriqués en profondeur,

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

[image of music]


Imbrication de regroupements de portées


1.6.2 Modification de portées individuelles

Cette section explique le réglage de la gravure de chaque portée, comme la taille de portée ou le nombre de lignes ; sont aussi décrits la suspension et la reprise de portées et les portées d’ossia.


Symbole de la portée

Les notes, nuances, etc. sont regroupés dans un assemblage de lignes horizontales, que l’on nomme la portée (en anglais « staff », et « staves » au pluriel). Dans LilyPond, ces lignes sont dessinées au moyen d’un objet de mise en forme à part entière, nommé staff symbol — symbole de portée.

L’aspect du symbole de portée peut être modifié selon différentes propriétés, telles que le nombre de lignes, leur épaisseur, ou leur éloignement.

De plus, la portée peut commencer et s’arrêter où l’on veut, grâce aux commandes \startStaff et \stopStaff.

b4 b
\override Staff.StaffSymbol #'line-count = 2
\stopStaff \startStaff
b b
\revert Staff.StaffSymbol #'line-count
\stopStaff \startStaff
b b

[image of music]

Cette manière de procéder peut être utilisée pour introduire des « ossias », ou dans des partitions à nombre de portées variable, comme sur l’exemple suivant :

Voir aussi

Référence du programme : StaffSymbol.

Exemples : Notation sur la portée.


Portées d’ossia


Masquage de portées

Dans les partitions d’orchestre, les portées qui n’ont que des silences sont habituellement masquées afin de gagner de la place. Ce style d’édition s’appelle en anglais « French Score ». Cette fonctionnalité est activée par défaut dans les contextes Lyrics, ChordNames et FiguredBass. Lorsque des lignes appartenant à ces contextes se retrouvent vides après placement des sauts de ligne, elles sont effacées.

En ce qui concerne les portées normales, il existe un contexte Staff spécifique qui permet d’arriver à ce résultat : les portées ne contenant rien ou uniquement des silences multi-mesures seront retirées. La définition de ce contexte est enregistrée dans la variable \RemoveEmptyStaffContext. Voyez comment la deuxième portée disparaît du deuxième système :

\layout {
  \context { \RemoveEmptyStaffContext }
}

{
  \relative c' <<
    \new Staff { e4 f g a \break c1 }
    \new Staff { c4 d e f \break R1 }
  >>
}

[image of music]

Le premier système comportera absolument toutes les portées. Si vous voulez masquer les portées vides y compris pour le premier système, vous devrez assigner vrai à la propriété remove-first dans VerticalAxisGroup.

\override Score.VerticalAxisGroup #'remove-first = ##t

Pour masquer d’autres types de contextes, vous pouvez utiliser \AncientRemoveEmptyStaffContext ou \RemoveEmptyRhythmicStaffContext.

Une application particulière de cette fonctionnalité est la création d’une ossia — variante d’une partie de la mélodie — affichée à l’aide d’une portée supplémentaire.


1.6.3 Écriture de parties séparées


Indications métronomiques

Le métronome se règle de la manière suivante,

\tempo durée = par minute

Les indications métronomiques seront interprétées, dans le fichier MIDI, comme des changements de tempo. Ils seront imprimés sur la partition comme ici :

\tempo 8.=120 c''1

[image of music]

Propriétés couramment modifiées

Vous pouvez indiquer un changement de tempo pour le fichier MIDI sans pour autant l’imprimer. Il suffit alors de le rendre invisible pour l’impression :

\once \override Score.MetronomeMark #'transparent = ##t

Vous pouvez imprimer d’autres indications métronomiques, telles que des équivalences, en utilisant ce type d’étiquette textuelle :

c4^\markup {
  (
  \smaller \general-align #Y #DOWN \note #"16." #1
  =
  \smaller \general-align #Y #DOWN \note #"8" #1
  ) }

[image of music]

Pour plus de détails, voir Mise en forme du texte.

Voir aussi

Référence du programme : MetronomeMark.

Problèmes connus et avertissements

Les risques de collision ne sont pas vérifiés. Dans le cas où il y aurait des notes au dessus de la portée ou d’autres objets (articulations, liaisons, texte, etc), l’indication métronomique peut venir en surimpression. Augmentez alors le décalage de cette indication par rapport à la portée :

\override Score.MetronomeMark #'padding = #2.5

Noms d’instrument

Dans un conducteur, les noms d’instrument sont portés en regard de chacune des portées.

Ce résultat s’obtient en spécifiant Staff.instrumentName et Staff.shortInstrumentName, ou PianoStaff.instrumentName et PianoStaff.shortInstrumentName. L’argument textuel apparaîtra avant le début de la portée. La première ligne affichera instrumentName, et les suivantes shortInstrumentName.

\set Staff.instrumentName = #"Ploink "
\set Staff.shortInstrumentName = #"Plk "
c1
\break
c''

[image of music]

Le recours à la commande \markup permet de construire des noms d’instruments particuliers, tels que

\set Staff.instrumentName = \markup {
  \column { "Clarinetti"
            \line { "in B" \smaller \flat } } }
c''1

[image of music]

Si vous centrez le nom d’un instrument, il faudra le faire pour tous

{ <<
\new Staff {
  \set Staff.instrumentName = \markup {
    \center-column { "Clarinetti"
      \line { "in B" \smaller \flat } } }
  c''1
}
\new Staff {
  \set Staff.instrumentName = \markup{ \center-align { Vibraphone }}
  c''1
}
>>
}

[image of music]

Losque le nom d’un instrument est relativement long, il est judicieux d’augmenter le retrait — indent — au sein du bloc \layout.

Procédez comme suit pour centrer des noms d’instruments tout en préservant un décalage par rapport à la portée :

\new StaffGroup \relative
<<
  \new Staff {
    \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
    c1 c1
  }
  \new Staff {
    \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
    c1 c1
  }
>>

[image of music]

Des noms d’instruments peuvent s’utiliser dans d’autres contextes, tels que GrandStaff, ChoirStaff, ou StaffGroup, à condition de leur affecter le graveur approprié :

\layout{
  \context {\GrandStaff \consists "Instrument_name_engraver"}
}

Pour de plus amples informations sur la manière d’activer ou désactiver un graveur, voir Modification des greffons de contexte.

Vous pouvez changer d’instrument en cours de morceau :

\set Staff.instrumentName = #"First"
\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
\set Staff.instrumentName = #"Second"
\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break

[image of music]

Voir aussi

Référence du programme : InstrumentName.


Citation d’autres voix

Grâce aux citations de répliques, vous pouvez insérer directement dans une partie des fragments d’une autre partie. Avant qu’une partie ne puisse être mentionnée ailleurs, elle doit être considérée comme reproductible. C’est le but de la commande \addQuote.

\addQuote nom musique

Ici, nom représente une chaîne d’identification, et musique n’importe quelle musique. Voici un exemple de \addQuote :

\addQuote clarinet \relative c' {
  f4 fis g gis
}

Vous devez placer cette commande au niveau le plus haut, c’est à dire en dehors de tout bloc de musique.

Après avoir fait appel à \addquote, la citation interviendra en utilisant \quoteDuring ou \cueDuring :

\quoteDuring #nom musique

Au cours d’une partie, des extraits de répliques peuvent être cités en utilisant la commande \quoteDuring.

\quoteDuring #"clarinet" { s2. }

Cela citera trois noires (la durée de s2.) appartenant à la voix clarinette précédemment générée.

Plus précisément, on s’arrête à cet instant de la partie en cours d’impression, et l’on extrait les notes à ce même instant dans la voix citée — celle qui contient \addQuote. C’est la raison pour laquelle l’argument de \addQuote doit englober toute la voix en question, y compris les éventuels silences à son début.

Les citations tiennent compte des transpositions, aussi bien celle de l’instrument d’origine que celle de la partie où elle intervient, dans la mesure où elles sont spécifiées par la commande \transposition.

\addQuote clarinet \relative c' {
  \transposition bes
  f4 fis g gis
}

{
  e'8 f'8 \quoteDuring #"clarinet" { s2 }
}

[image of music]

Le type d’événements pris en charge pour la citation peut se régler avec la propriété quotedEventTypes. Par défaut, sa valeur est fixée à (note-event rest-event), ce qui signifie que seuls les notes et silences seront mentionnés par \quoteDuring. Définir

\set Staff.quotedEventTypes =
       #'(note-event articulation-event dynamic-event)

reproduira les notes (mais pas les silences), ainsi que les scripts et nuances.

Problèmes connus et avertissements

Seul le contenu de la première Voice rencontrée dans la partie marquée d’une commande \addQuote pourra être retenu. Par voie de conséquence, music ne saurait comprendre de \new ou une instance context Voice qui la ferait passer à une autre voix.

Citer des notes d’ornement ne fonctionne pas, et peut même entraîner un blocage de LilyPond.

Citer des triolets imbriqués peut entraîner un résultat de médiocre qualité.

Voir aussi

Dans ce manuel : Instruments transpositeurs.

Exemples : Notation sur la portée.

Référence du programme : QuoteMusic.


Mise en forme d’une citation

La section précédente indiquait comment insérer des notes d’une autre voix. Nous allons maintenant voir une fonction musicale avancée, \cueDuring, qui facilite le formatage des petites notes.

Sa syntaxe est :

  \cueDuring #nom #updown musique

Des notes issues de la partie nom s’insèreront dans une Voice nommée cue, simultanément avec musique — habituellement un silence. L’apparition des petites notes initialise une polyphonie temporaire pour la portée concernée. L’argument updown détermine si ces petites notes seront attachées à la première ou à la seconde voix.

smaller = {
  \set fontSize = #-2
  \override Stem #'length-fraction = #0.8
  \override Beam #'thickness = #0.384
  \override Beam #'length-fraction = #0.8
}

\addQuote clarinet \relative {
  R1*20
  r2 r8 c' f f
}

\new Staff \relative  <<

  % setup a context for cue notes.
  \new Voice = "cue" { \smaller \skip 1*21 }

  \set Score.skipBars = ##t

  \new Voice {
    R1*20
    \cueDuring #"clarinet" #UP {
      R1
    }
    g4 g2.
  }
>>

[image of music]

Quelques indications pour une citation efficace :

La macro \transposedCueDuring est particulièrement adaptée pour des instrument ayant une tessiture éloignée, comme dans le cas d’un piccolo cité dans une partie de contrebasson.

picc = \relative c''' {
  \clef "treble^8"
  R1 |
  c8 c c e g2 |
  a4 g g2 |
}
\addQuote "picc" { \picc }

cbsn = \relative c, {
  \clef "bass_8"
  c4 r g r
  \transposedCueDuring #"picc" #UP c,, { R1 } |
  c4 r g r |
}

<<
  \context Staff = "picc" \picc
  \context Staff = "cbsn" \cbsn
>>

[image of music]


1.7 Notation éditoriale

[image of music]


1.7.1 Dans la portée


Indication de la taille de fonte musicale

Le plus sûr moyen de régler la taille de la police, quelque soit le contexte, consiste à définir la propriété fontSize.

c8
\set fontSize = #-4
c f
\set fontSize = #3
g

[image of music]

Ceci ne modifiera en rien la taille des différents symboles tels que ligatures ou liaisons.

En interne, la propriété fontSize d’un contexte aura pour effet de définir la propriété font-size pour tous les objets de rendu. La valeur de font-size est un entier représentant la taille proportionnellement à la hauteur standard de la portée en cours. Chaque incrément correspond à une augmentation d’environ 12 % de la taille de la police. Un pas de six aboutit exactement au doublement de la taille. La fonction Scheme magstep convertit le nombre affecté à font-size en facteur d’échelle. Vous pouvez aussi définir directement la propriété font-size de manière à n’affecter seulement que certains objets de rendu.

c8
\override NoteHead #'font-size = #-4
c f
\override NoteHead #'font-size = #3
g

[image of music]

Pour changer la taille des symboles musicaux (police Feta), LilyPond met à l’échelle la fonte dont la taille est la plus proche de la taille voulue — cf. Définition de la taille de portée. La taille standard, pour laquelle font-size vaut 0, dépend de la hauteur de la portée. À une portée de 20 points correspond une police de 10 points.

La propriété font-size ne peut intervenir que pour les objets qui utilisent des polices, autrement dit ceux qui disposent de l’interface de rendu font-interface.

Commandes prédéfinies

Les commandes suivantes définissent fontSize pour la voix en cours : \tiny, \small, \normalsize.


Doigtés

Les doigtés peuvent être indiqués comme suit :

note-chiffre_du_doigt

Pour les substitutions de doigts, on a recours à une indication textuelle (commande \markup) de doigté (commande \finger).

c4-1 c-2 c-3 c-4
c^\markup { \finger "2 - 3" }

[image of music]

La commande \thumb peut être utilisée pour indiquer, par exemple dans une partition de violoncelle, si une note doit être jouée avec le pouce (‘thumb’ en anglais).

<a_\thumb a'-3>8 <b_\thumb b'-3>

[image of music]

Les doigtés des accords peuvent être saisis note par note, en les indiquant après chaque hauteur de note.

< c-1 e-2 g-3 b-5 >4

[image of music]

Propriétés couramment modifiées

On peut contrôler précisément les doigtés des accords en réglant la propriété fingeringOrientations.

\set fingeringOrientations = #'(left down)
<c-1 es-2 g-4 bes-5 > 4
\set fingeringOrientations = #'(up right down)
<c-1 es-2 g-4 bes-5 > 4

[image of music]

Cette propriété permet également, dans de la musique monophonique, d’indiquer des doigtés très proches des têtes de notes.

\set fingeringOrientations = #'(right)
<es'-2>4

[image of music]

Morceaux choisis

Avoiding collisions with chord fingerings

Fingerings and string numbers applied to individual notes will automatically avoid beams and stems, but this is not true by default for fingerings and string numbers applied to the individual notes of chords. The following example shows how this default behavior can be overridden.

\relative c' {
  \set fingeringOrientations = #'(up)
  \set stringNumberOrientations = #'(up)
  \set strokeFingerOrientations = #'(up)
  
  % Default behavior
  r8
  <f c'-5>8
  <f c'\5>8
  <f c'-\rightHandFinger #2 >8
  
  % Corrected to avoid collisions
  r8
  \override Fingering #'add-stem-support = ##t
  <f c'-5>8
  \override StringNumber #'add-stem-support = ##t
  <f c'\5>8
  \override StrokeFinger #'add-stem-support = ##t
  <f c'-\rightHandFinger #2 >8
}

[image of music]

Voir aussi

Référence du programme : Doigtés.

Exemples : Notation éditoriale.


Dictée à trous

Les notes masquées — ou invisibles ou encore transparentes — sont utiles dans le cadre d’exercices de théorie ou de composition.

c4 d4
\hideNotes
e4 f4
\unHideNotes
g4 a

[image of music]


Coloration d’objets

Des objets peuvent être colorisés individuellement. Une listes des noms des couleurs disponibles se trouvent à l’annexe Liste des couleurs.

\override NoteHead #'color = #red
c4 c
\override NoteHead #'color = #(x11-color 'LimeGreen)
d
\override Stem #'color = #blue
e

[image of music]

L’intégralité de la palette des couleurs définies pour X11 est accessible par la fonction Scheme x11-color. Cette fonction prend en argument une expression symbolique

\override Beam #'color = #(x11-color 'MediumTurquoise)

ou une chaîne de caractères

\override Beam #'color = #(x11-color "MediumTurquoise")

La première formulation est à la fois plus rapide à écrire et aussi plus efficace. Néanmoins, la deuxième forme permet d’accéder aux noms composés des couleurs de X11.

\override Beam #'color = #(x11-color "medium turquoise")

Lorsque la fonction x11-color ne trouve pas le paramètre fourni, elle revient à la couleur par défaut, le noir. Le problème ressort de façon évidente au vu de la partition finale.

L’exemple suivant illustre l’utilisation de la fonction x11-color. Notez que, après avoir été définie à (x11-color ’Boggle), la couleur des hampes repasse au noir.

{
  \override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
  \set Staff.instrumentName = \markup {
    \with-color #(x11-color 'navy) "Clarinet"
  }
  \time 2/4
  gis''8 a''
  \override Beam #'color = #(x11-color "medium turquoise")
  gis'' a''
  \override NoteHead #'color = #(x11-color "LimeGreen")
  gis'' a''
  \override Stem #'color = #(x11-color 'Boggle)
  gis'' a''
}

[image of music]

Voir aussi

Annexes : Liste des couleurs.

Problèmes connus et avertissements

Les couleurs de X11 ne sont pas toutes perceptibles dans un navigateur internet. Aussi nous vous recommandons, dans le cadre d’une présentation multimedia, d’utiliser des couleurs de base.

Une couleur x11 n’aura pas forcément le même rendu qu’une couleur normale ayant un nom similaire.

Vous ne pouvez pas coloriser des notes à l’intérieur d’un accord avec \override. si besoin est, utilisez \tweak. Pour plus de détails, consultez La commande \tweak.


Parenthèses

Des objets peuvent être mis entre parenthèses en saisissant \parenthesize juste avant l’événement musical.

<
  c
  \parenthesize d
  g
>4-\parenthesize -.

[image of music]

Ceci n’est opérationnel que dans le cadre d’un accord, qui peut ne comprendre qu’une seule note.

< \parenthesize NOTE>

Hampes

Dès qu’une note est rencontrée, un objet Stem se crée automatiquement. Pour les rondes et les silences, ils sont aussi créés, mais en mode invisible.

Commandes prédéfinies

\stemUp, \stemDown, \stemNeutral.

Propriétés couramment modifiées

Pour changer la direction des hampes au milieu de la portée, utilisez

a4 b c b
\override Stem #'neutral-direction = #up
a4 b c b
\override Stem #'neutral-direction = #down
a4 b c b

[image of music]


1.7.2 Hors de la portée


Info-bulle

Vous pouvez marquer et nommer des éléments de notation à l’aide de bulles. L’objectif premier de cette fonctionnalité est d’expliquer la notation.

En voici un exemple :

\new Voice \with { \consists "Balloon_engraver" }
{
  \balloonGrobText #'Stem #'(3 . 4) \markup { "Je suis une hampe" }
  <c-\balloonText #'(-2 . -2) \markup { Hello }  >8
}

[image of music]

Vous disposez de deux fonctions musicales, balloonText et balloonGrobText. balloonGrobText prend en argument l’objet graphique à agrémenter, alors que balloonText s’utilise comme une simple articulation. Les autres arguments sont le décalage et le texte de la bulle.

Voir aussi

Référence du programme : balloon-interface.


Quadrillage temporel

Vous pouvez tracer des lignes entre les portées, synchronisées avec les notes.

\layout {
  \context {
    \Staff
    \consists "Grid_point_engraver" %% active les guides
    gridInterval = #(ly:make-moment 1 4)
  }
}

\new Score \with {
  \consists "Grid_line_span_engraver"
  %% centre les lignes guides horizontalement sous les notes
  \override NoteColumn #'X-offset = #-0.5
}

\new ChoirStaff <<
  \new Staff {
    \stemUp
    \relative {
      c'4. d8 e8 f g4
    }
  }
  \new Staff {
    %% centre les lignes guides verticalement
    \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
    \stemDown
    \clef bass
    \relative c {
      c4  g'  f  e
    }
  }
>>

[image of music]

Exemples : Notation éditoriale.


Crochets d’analyse

On utilise des crochets en analyse musicale, pour indiquer la structure d’une pièce. LilyPond permet d’utiliser une forme simplifiée de crochets horizontaux imbriqués, dans la mesure où le contexte Staff comporte le graveur Horizontal_bracket_engraver. Un crochet s’ouvre avec \startGroup, et se ferme avec \stopGroup.

\score {
  \relative c'' {
    c4\startGroup\startGroup
    c4\stopGroup
    c4\startGroup
    c4\stopGroup\stopGroup
  }
  \layout {
    \context {
      \Staff \consists "Horizontal_bracket_engraver"
}}}

[image of music]

Voir aussi

Référence du programme : HorizontalBracket.


Papier à musique

Une feuille de papier musique s’obtient en utilisant des notes invisibles, et en invalidant le Bar_number_engraver.

\layout{ indent = #0 }
emptymusic = {
  \repeat unfold 2 % À modifier pour plus de lignes.
  { s1\break }
  \bar "|."
}
\new Score \with {
  \override TimeSignature #'transparent = ##t
% décommenter la  ligne suivante selon besoin
%  \override Clef #'transparent = ##t
  defaultBarType = #""
  \remove Bar_number_engraver
} <<

% à adapter selon les portées désirées
  \new Staff \emptymusic
  \new TabStaff \emptymusic
>>

[image of music]


1.8 Texte

[image of music]

Nous allons voir ici comment insérer dans une partition du texte, avec différentes possibilité de formatage.

Pour écrire des accents et autres caractères spéciaux, il suffit de les insérer directement dans votre fichier LilyPond. Ce fichier devra être sauvegardé avec l’encodage UTF-8. Pour plus d’informations, voir Codage du texte.


1.8.1 Ajout de texte


Commentaires textuels

Vous pouvez placer arbitrairement des chaînes de caractères, ou Mise en forme du texte en langage LilyPond, au dessus ou au dessous des notes en employant la syntaxe c^"text". Par défaut, ces indications n’affecteront en rien l’espacement des notes, sauf à utiliser la commande \textLengthOn.

c4^"longtext" \textLengthOn c4_"longlongtext" c4

[image of music]

Pour revenir à l’espacement par défaut, utilisez \textLengthOff.

Des constructions plus élaborées d’étiquette peuvent être obtenues en ayant recours à la commande markup :

c'4^\markup { bla \bold bla }

[image of music]

La commande \markup est décrite plus en détails dans la section Mise en forme du texte.

Commandes prédéfinies

\textLengthOn, \textLengthOff.

Propriétés couramment modifiées

S’assurer que tous les éléments textuels et les paroles respectent les marges du document requiert des calculs relativement lourds ; c’est la raison pour laquelle LilyPond, par défaut, ne s’en préoccupe pas. Vous pouvez cependant l’y forcer en définissant

\override Score.PaperColumn #'keep-inside-line = ##t

Voir aussi

Dans ce manuel : Mise en forme du texte.

Référence du programme : TextScript.


Indications textuelles et lignes d’extension

Certaines indications d’interprétation comme rallentando, accelerando ou trilles, s’incrivent textuellement et se prolongent sur plusieurs mesures à l’aide d’une ligne pleine, pointillée ou ondulée.

Les routines chargées de matérialiser un glissando sont tout à fait adaptées à une gestion précise, à la fois du placement du texte, et du calcul de l’envergure de sa ligne d’extension. La routine ly:line-interface::print est plus particulièrement en charge de déterminer les points d’ancrage de la ligne et de la dessiner selon le style requis.

Voici un exemple qui illustre les différents styles de ligne disponibles, ainsi que la manière de les personnaliser.

d2 \glissando d'2
\once \override Glissando #'style = #'dashed-line
d,2 \glissando d'2
\override Glissando #'style = #'dotted-line
d,2 \glissando d'2
\override Glissando #'style = #'zigzag
d,2 \glissando d'2
\override Glissando #'style = #'trill
d,2 \glissando d'2

[image of music]

L’information qui va déterminer les extrémités est calculée à la volée pour chaque objet graphique. Il est tout à fait possible de les régler vous-même :

e2 \glissando f
\once \override Glissando #'(bound-details right Y) = #-2
e2 \glissando f

[image of music]

L’objet Glissando, comme tous ceux qui utilisent la routine ly:line-interface::print, comporte une liste d’associations. Dans le code ci-dessus, la valeur de Y est fixée, dans la liste d’associations, à -2 pour l’ancrage à droite. Vous pouvez naturellement ajuster l’extrémité gauche en remplaçant right (pour droite) par left.

Si Y n’est pas fixé, sa valeur sera calculée en fonction de la hauteur du point de référence droite de la ligne.

Lorsque survient un saut de ligne, la liste des ancrages est augmentée d’une liste complémentaire contenant left-broken (brisure à gauche) et right-broken (brisure à droite), comme dans l’exemple suivant :

\override Glissando #'breakable = ##T 
\override Glissando #'(bound-details right-broken Y) = #-3
c1 \glissando \break
f1

[image of music]

Vous disposez des propriétés suivantes :

Y

Fixe l’ordonnée (coordonnée-Y) de l’extrémité, mesurée en taille de portée. Il s’agit par défaut du centre de l’objet de rattachement ; pour un glissando, ce sera le milieu de la tête de note.

Pour des marques horizontales, telles du texte ou le trait d’un trille, cette valeur est figée à 0.

attach-dir

Détermine l’endroit où la ligne commence et finit, relativement à l’objet de rattachement. Autrement dit, une valeur de -1 (ou LEFT pour gauche) fera commencer ou finir la ligne du côté gauche de la tête de note de référence.

X

Coordonnée absolue du point final. Dans la mesure où elle est calculée à la volée, il n’y a pas vraiment de raison de l’outrepasser.

stencil

Sous-propriété contenant les éventuels symboles présents avant ou après la ligne. Destinée à un usage interne, nous vous recommendons d’utiliser plutôt text.

text

Marqueur qui sera analysé pour alimenter stencil. On y trouve habituellement les cresc. ou tr des extenseurs horizontaux.

\override TextSpanner #'(bound-details left text)
   = \markup { \small \bold Slower }
c2\startTextSpan b c a\stopTextSpan

[image of music]

stencil-align-dir-y
stencil-offset

Lorsqu’ils ne sont pas définis, le tracé est tout simplement positionné conformément aux sous-propriétés X et Y. En fixant soit stencil-align-dir-y, soit stencil-offset, vous pouvez décaler le coin du marqueur par rapport à l’extrémité de la ligne.

\override TextSpanner #'(bound-details left stencil-align-dir-y) = #DOWN
\override TextSpanner #'(bound-details right stencil-align-dir-y) = #UP

\override TextSpanner #'(bound-details left text) = #"gggg"
\override TextSpanner #'(bound-details right text) = #"hhhh"
c4^\startTextSpan c c c \stopTextSpan

[image of music]

arrow

Assigner à cette sous-propriété la valeur vrai (#t) produira une terminaison en pointe de flèche.

padding

Cette sous-propriété contrôle l’espace entre les extrémités de la ligne, telles que définies, et la réalité. Sans ce léger décalage, le début et la fin d’un glissando seraient en plein milieu des têtes de note.

Voir aussi

Référence du programme : TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.

Exemples : Signes d’interprétation.


Extensions de texte

Certaines indications d’interprétation comme rallentando ou accelerando s’incrivent en toutes lettres et se prolongent sur plusieurs mesures grâce à une ligne pointillée. Les commandes \startTextSpan et \stopTextSpan, respectivement attachées à la première et à la dernière note qu’elles concernent, déterminent l’envergure de ces prolongateurs, ou extenseurs.

La chaîne à imprimer, ainsi que son style, sont définis par des propriétés, comme ici :

c1
\textSpannerDown
\override TextSpanner #'(bound-details left text) =
  \markup { \upright "rall" } 
c2\startTextSpan b c\stopTextSpan a
\break
\textSpannerUp
\override TextSpanner #'(bound-details left text) =
  \markup { \italic "rit" } 
c2\startTextSpan b c\stopTextSpan a

[image of music]

Commandes prédéfinies

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Propriétés couramment modifiées

Pour obtenir une ligne pleine, utilisez

\override TextSpanner #'style = #'line

Voir aussi

Référence du programme : TextSpanner.


Indications textuelles

La commande \mark est tout d’abord conçue pour les Indications de repère. Elle peut néanmoins servir à insérer des signes de coda ou de segno, ou bien un point d’orgue, au dessus d’une barre de mesure. Couplez-la alors à la commande \markup pour avoir accès au symbole approprié (ils sont répertoriés dans La fonte Feta).

c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1

[image of music]

Le résultat de \mark n’apparaîtra que sur la portée supérieure d’un système. Si vous introduisez la commande \mark au moment d’une barre de mesure, la marque se placera au dessus de la barre. Si vous y faites appel au milieu d’une mesure, cette marque sera positionnée entre les notes. Si elle intervient en début de ligne, elle sera placée juste avant la première note de cette portée. Enfin, une marque qui tomberait sur un saut de ligne sera imprimée au début de la ligne suivante. Au cas où il n’y aurait pas de ligne à suivre, la marque ne sera pas imprimée.

Propriétés couramment modifiées

Pour imprimer une marque à la fin de la portée en cours, procédez ainsi :

\override Score.RehearsalMark
  #'break-visibility = #begin-of-line-invisible

\mark est souvent bien utile pour porter une indication à la fin d’une mesure. Pensez alors à modifier la propriété #'self-alignment.

\override Score.RehearsalMark
  #'break-visibility = #begin-of-line-invisible
c1 c c c4 c c c
\once \override Score.RehearsalMark #'self-alignment-X = #right
\mark "D.S. al Fine "

[image of music]

Les indications textuelles peuvent s’aligner par rapport à d’autres objets que des barres de mesure, tels que l’armure, la clé ou le chiffre de mesure :

\relative {
  c1
  \key cis \major
  \clef alto
  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
  \mark "on key"
  cis
  \key ces \major
  \override Score.RehearsalMark #'break-align-symbols = #'(clef)
  \clef treble
  \mark "on clef"
  ces
  \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
  \key d \minor
  \clef tenor
  \time 3/4
  \mark "on time"
  c
}

[image of music]

Les symboles pris en charge par break-align-symbols sont : ambitus, breathing-sign, clef, custos, staff-bar, left-edge, key-cancellation, key-signature, et time-signature.

Par défaut, les indications textuelles sont alignées avec le milieu des objets de notation. Bien entendu, vous pouvez modifier les propriétés break-align-anchor-alignment ou break-align-anchor des objets en question pour obtenir un autre résultat.

{
  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
  c1
  \key cis \major

  % La marque sera alignée sur le côté gauche de l'armure
  \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
  \mark \default
  cis1
  \key ces \major

  % La marque sera alignée sur le côté droit de l'armure
  \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
  \mark \default
  ces1
  \key cis \major

  %  La marque sera alignée sur le côté gauche de l'armure,
  % puis décalée vers la droite de 2 unités.
  \once \override Staff.KeySignature #'break-align-anchor = #2
  \mark \default
  ces1
}

[image of music]

Bien que ces indications textuelles ne soient habituellement imprimées qu’au niveau de la portée supérieure, vous pouvez forcer leur affectation à chacune des portées :

{
  \new Score \with {
    \remove "Mark_engraver"
  }
  <<
    \new Staff \with {
      \consists "Mark_engraver"
    }
    { c''1 \mark "foo" c'' }
    \new Staff \with {
      \consists "Mark_engraver"
    }
    { c'1 \mark "foo" c' }
  >>
}

[image of music]

Voir aussi

Référence du programme : RehearsalMark.


1.8.2 Mise en forme du texte


Introduction au formatage de texte

La commande \markup permet d’ajouter du texte. Vous pouvez y inclure des commandes, précédées d’un antislash \ ; les caractères \ et # doivent être encadrés de guillemets informatiques ".

c1^\markup { hello }
c1_\markup { hi there }
c1^\markup { hi \bold there, is \italic {anyone home?} }
c1_\markup { "\special {weird} #characters" }

[image of music]

Pour une liste des différentes commandes disponibles, consultez Text markup commands.

\markup est avant tout conçu pour gérer les TextScripts, mais rien ne s’oppose à son utilisation pour traiter du texte avec LilyPond.

\header{ title = \markup{ \bold { foo \italic { bar! } } } }
\score{
  \relative c'' {
    \override Score.RehearsalMark
      #'break-visibility = #begin-of-line-invisible
    \override Score.RehearsalMark #'self-alignment-X = #right

    \set Staff.instrumentName = \markup{ \column{ Alto solo } }
    c2^\markup{ don't be \flat }
    \override TextSpanner #'(bound-details left text) = \markup{\italic rit }
    b2\startTextSpan
    a2\mark \markup{ \large \bold Fine }
    r2\stopTextSpan
    \bar "||"
  }
  \addlyrics { bar, foo \markup{ \italic bar! } }
}

[image of music]

La commande \markup peut intervenir à tout moment, y compris en dehors d’un bloc \score. Voir à ce sujet Plusieurs partitions dans un même ouvrage.

\markup{ Here is some text. }

[image of music]

Le markup de l’exemple précédent montre comment utiliser les commandes de changement de police. Les commandes \bold et \italic n’affectent que le premier mot qui les suit ; encadrez les par des accolades si vous désirez que ces commandent s’appliquent à plusieurs mots.

\markup { \bold { c'est moi } }

Une bonne habitude à prendre consiste à utiliser des accolades même pour un seul mot, comme ici :

\markup { qui \italic { est } là ? }

En mode markup, vous pouvez composer des expressions comme en mathématiques, des documents XML ou bien les expressions musicales. Vous pouvez empiler ces expressions grâce à la commande \column, ou les centrer par rapport à leur milieu avec \center-column.

c1^\markup { \column { a bbbb \line { c d } } }
c1^\markup { \center-column { a bbbb c } }
c1^\markup { \line { a b c } }

[image of music]

Des listes non précédées de commande ne sont pas isolées. Ainsi,

\center-column { { a b } { c d } }

est la même expression que

\center-column { a b c d }

L’utilisation des " ou de la commande \line permet de différencier les listes de mots.

\textLengthOn
c4^\markup{ \center-column { on three lines } }
c4^\markup{ \center-column { "all one line" } }
c4^\markup{ \center-column { { on three lines } } }
c4^\markup{ \center-column { \line { on one line } } }

[image of music]

Vous pouvez stocker les étiquettes textuelles en tant que variables, et attacher ces identificateurs à des notes, comme

allegro = \markup { \bold \large { Allegro } }
 { a^\allegro b c d }

Certains objets possèdent leurs propres procédures d’alignement, qui annuleront toute spécification d’alignement que vous pourriez affecter à un argument de type markup que vous leur auriez fourni. Par exemple, les RehearsalMark sont centrées horizontalement ; de fait, utiliser \mark \markup { \left-align .. } sera sans effet.

Par ailleurs, le placement vertical n’est effectué qu’après la création de l’objet étiquette textuelle. Si donc vous souhaitez déplacer une étiquette, il vous faudra utiliser la propriété #'padding ou créer un « point d’ancrage » à l’intérieur même de l’étiquette (généralement avec \hspace #0).

\textLengthOn
c'4^\markup{ \raise #5 "not raised" }
\once \override TextScript #'padding = #3
c'4^\markup{ raised }
c'4^\markup{ \hspace #0 \raise #1.5 raised }

[image of music]

Certaines situations particulières, telles que les indications de nuance, possèdent des propriétés prédéfinies quant à leur police. Nous vous conseillons, en pareil cas, de réinitialiser ces propriétés en utilisant normal-text. Pour plus d’informations, consultez Text markup commands.

Voir aussi

Dans ce manuel : Text markup commands.

Référence du programme : TextScript.

Fichiers d’initialisation : ‘scm/new-markup.scm’.

Problèmes connus et avertissements

Le crénage ou la génération de ligatures ne sont accessibles que lors d’un retraitement par TeX. Dans ce cas, LilyPond n’en tient pas compte, et l’espacement de tels textes sera trop large.

Les erreurs de syntaxe sont peu loquaces.


Partitions emboîtées

Rien ne s’oppose à ce qu’une étiquette ne comporte de la musique. Il suffit que l’expression en question contienne un bloc \score et un bloc \layout.

\relative {
  c4 d^\markup {
    \score {
      \relative { c4 d e f }
      \layout { }
    }
  }
  e f
}

[image of music]


Texte avec sauts de page

Alors que \markup s’utilise pour traiter un bloc de texte insécable, \markuplines permet, employé en tête de partition, d’obtenir un bloc de lignes réparties différemment et au cas où sur plusieurs pages.

\markuplines {
  \justified-lines {
    Un long texte constitué de lignes justifiées.
    ...
  }
  \justified-lines {
    Un autre grand paragraphe justifié.
    ...
  }
  ...
}

\markuplines prend en argument une liste de lignes de texte, qui peut elle-même consister en une suite de commandes générant à leur tour des lignes de texte, comme ici :

\markuplines {
  \line { ... }    % une ligne alignée à gauche
  \fill-line { \line { ... } } % une ligne centrée
  \wordwrap-lines { ... } % une liste de lignes alignées à gauche
  \justified-lines { ... } % une liste de lignes justifiées
}

Les différentes commandes permettant de générer des listes de lignes se trouve dans Text markup list commands.

Voir aussi

Dans ce manuel : Text markup list commands, Définition d’une nouvelle commande de liste de marqueurs.

Commandes prédéfinies

\markuplines.


1.8.3 Fontes

C’est en jouant sur les propriétés des objets décrites ci-après que vous pourrez sélectionner une police parmi les familles de fontes préconfigurées. LilyPond utilise par défaut la police musicale feta. Pour le texte, les polices sont sélectionnées par Pango/Fontconfig. C’est New Century Schoolbook qui sert de police sérif par défaut, et celles définies lors de l’installation de Pango pour ce qui est du sans-serif et du ‘typewriter’.

Les variantes ci-dessus mentionnées font référence à une feuille de style prédéfinie. Vous pouvez cependant faire appel à une autre police, en utilisant la propriété font-name :

{
  \override Staff.TimeSignature #'font-name = #"Charter"
  \override Staff.TimeSignature #'font-size = #2
  \time 3/4
  c'1_\markup {
    \override #'(font-name . "Vera Bold")
      { This text is in Vera Bold }
  }
}

[image of music]

Vous pouvez utiliser n’importe quelle police, du moment qu’elle est accessible par Pango/Fontconfig. Pour obtenir la liste de toutes les polices disponibles sur votre machine, lancez

lilypond -dshow-available-fonts blabla

(quel qu’il soit, le dernier argument est obligatoire).

La propriété font-size permet de régler la taille de la police. La taille effective que vous obtiendrez dépend de text-font-size tel que défini dans le bloc \paper.

Vous pouvez aussi changer la police par défaut au niveau du document. Il suffit alors de faire appel à make-pango-font-tree au sein du bloc paper. Vous définirez alors la police à utiliser pour du texte respectivement en roman, sans serif et monospace, comme ici :

\paper  {
  myStaffSize = #20

  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans"
                          "Luxi Mono"
                           (/ myStaffSize 20)))
}

{
  c'^\markup { roman: foo \sans bla \typewriter bar }
}

[image of music]

Voir aussi

Exemples : Texte.


2. Notation spécialisée

Ce chapitre explique comment créer la notation musicale spécifique à certains intruments ou certaines époques.


2.1 Musique vocale

Dans la mesure où les fichiers LilyPond sont constitués de texte, traiter de la musique vocale demande de prendre en compte deux spécificités :

Plusieurs solutions existent pour ajouter des paroles ; nous les examinerons par degré croissant de complexité.

Propriétés couramment modifiées

S’assurer que tous les éléments textuels et les paroles respectent les marges du document requiert des calculs relativement lourds ; c’est la raison pour laquelle LilyPond, par défaut, ne s’en préoccupe pas. Vous pouvez cependant l’y forcer en ajoutant le code

\override Score.PaperColumn #'keep-inside-line = ##t

Pour que les paroles évitent également les barres de mesure, ajoutez

\layout {
  \context {
    \Lyrics
      \consists "Bar_engraver"
      \consists "Separating_line_group_engraver"
      \override BarLine #'transparent = ##t
  }
}

2.1.1 Vue d’ensemble de la musique vocale


Références en matière de musique vocale


Opéra


Cahier de chants


Musique parlée

Le parlato est du texte scandé en rythme, mais sans hauteurs définies ; il est indiqué par des notes en croix, à l’instar des percussions — voir Têtes de note spécifiques.


Chants


Musique vocale ancienne


2.1.2 Saisie des paroles


Tout savoir sur les paroles

Il existe un mode de saisie spécialement adapté aux paroles. On l’introduit avec le mot-clé \lyricmode, ou en utilisant \addlyrics ou \lyricsto. Ce mode vous permet de saisir des paroles, ainsi que leur ponctuation, et le caractère d ne sera plus interprété comme une note, mais comme une syllabe. Les syllabes sont saisies comme des notes, mais les hauteurs sont alors remplacées par du texte. Exemple avec une comptine anglaise :

\lyricmode { Twin-4 kle4 twin- kle litt- le star2 }

Ici on a choisi de saisir explicitement la durée de chaque syllabe. Cependant, il est aussi possible d’attribuer automatiquement chaque syllabe à une note d’une mélodie ou d’une voix existante, avec \addlyrics ou \lyricsto.

Dans les paroles, un mot ou une syllabe commence par une lettre de l’alphabet, et se termine par un espace (éventuellement précédé d’un chiffre). Toute syllabe doit donc être séparée d’une autre par un espace, tout autre caractère étant considéré comme partie intégrante de cette même syllabe. L’exemple suivant comporte une faute de frappe évidente :

\lyricmode { lah- lah}

la dernière syllabe contient une }, il y a de fait un défaut de parité avec l’accolade ouvrante, et la compilation échouera fort probablement.

De la même manière, un point concluant une suite de lettres sera partie intégrante de la chaîne résultante. Par conséquent, il est impératif d’insérer des espaces lorsque vous modifiez les propriétés d’une commande. En d’autres termes, ne saisissez pas

\override Score.LyricText #'font-shape = #'italic

mais plutôt

\override Score . LyricText #'font-shape = #'italic

Pour attribuer plus d’une syllabe à une même note, vous pouvez mettre ces syllabes entre guillemets, ou bien remplacer l’espace par un caractère souligné (_), ou encore utiliser un tilde (~) pour obtenir une liaison entre les syllabes.

\time 3/4
\relative c' { c2 e4 g2 e4 }
\addlyrics { gran- de_a- mi- go }
\addlyrics { pu- "ro y ho-" nes- to }
\addlyrics { pu- ro~y~ho- nes- to }

[image of music]

Cette liaison adaptée aux paroles correspond au caractère Unicode U+203F, et n’apparaîtra dans la partition que s’il existe une police incluant ce symbole (par exemple DejaVuLGC) installée sur le système.

Pour utiliser des lettres accentuées ou des caractères spéciaux — cœurs ou guillemets inversés par exemple — il suffit de les insérer dans le fichier et de veiller à sauvegarder ce dernier avec le codage UTF-8. Voir à ce sujet Codage du texte pour plus de détails.

\relative c' { e4 f e d e f e2 }
\addlyrics { He said: “Let my peo ple go”. }

[image of music]

Pour utiliser des guillemets informatiques standard, faites-les précéder d’une barre oblique inverse :

\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
\addlyrics { "\"I" am so lone- "ly\"" said she }

[image of music]

Expliquer exactement comment LilyPond repère le début d’un mot en mode paroles (Lyrics) est quelque peu compliqué.

En mode Lyrics, un mot peut commencer par : tout caractère alphabétique, _, ?, !, :, ', un des codes de contrôle ^A à ^F et ^Q à ^W, ^Y, ^^, tout caractère ASCII de code strictement supérieur à 127, ou enfin un des symboles `, ', ", ou ^, s’il est précédé d’une barre oblique inverse.

Pour définir un identificateur contenant des paroles, il faut utiliser la fonction lyricmode.

verseOne = \lyricmode { Joy to the world the Lord is come }
\score {
  <<
    \new Voice = "one" \relative c'' {
      \autoBeamOff
      \time 2/4
      c4 b8. a16 g4. f8 e4 d c2
    }
    \addlyrics { \verseOne }
  >>
}

Voir aussi

Référence du programme : LyricText, LyricSpace.


Écriture de chants simples

Le plus simple pour ajouter des paroles à une mélodie est d’adjoindre

\addlyrics { les paroles }

à la mélodie. En voici un exemple :

\time 3/4
\relative { c2 e4 g2. }
\addlyrics { play the game }

[image of music]

On peut ajouter davantage de couplets en multipliant le nombre de sections \addlyrics.

\time 3/4
\relative { c2 e4 g2. }
\addlyrics { play the game }
\addlyrics { speel het spel }
\addlyrics { joue le jeu }

[image of music]

Cependant, la commande \addlyrics ne peut gérer les constructions polyphoniques. Dans ce cas, mieux vaut employer \lyricsto et \lyricmode, comme nous le verrons dans Tout savoir sur les paroles.


Travail avec des paroles et variables

La fonction \lyricmode permet de définir une variable pour les paroles. Point n’est besoin de spécifier les durées si vous utilisez \addlyrics ou \lyricsto lorsque vous y faites référence.

verseOne = \lyricmode { Joy to the world the Lord is come }
\score {
 <<
   \new Voice = "one" \relative c'' {
     \autoBeamOff
     \time 2/4
     c4 b8. a16 g4. f8 e4 d c2
   }
   \addlyrics { \verseOne }
 >>
}

Pour une organisation différente ou plus complexe, mieux vaut commencer par définir la hiérarchie des portées et des paroles,

\new ChoirStaff <<
  \new Voice = "soprano" { musique }
  \new Lyrics = "sopranoParoles" { s1 }
  \new Lyrics = "tenorParoles" { s1 }
  \new Voice = "tenor" { musique }
>>

puis combiner correctement les mélodies et les paroles :

\context Lyrics = sopranoParoles \lyricsto "soprano"
les paroles

Le résultat donnera ainsi quelque chose comme

<<\new ChoirStaff << définition de la musique >>
 \lyricsto "soprano" etc
 \lyricsto "alto" etc
etc
>>

Voir aussi

Référence du programme : LyricCombineMusic, Lyrics.


2.1.3 Alignement des paroles sur une mélodie

Avant d’être imprimées, les paroles sont interprétées par le programme dans le contexte Lyrics.

\new Lyrics \lyricmode …

Il y a deux grandes méthodes pour gérer le placement horizontal des syllabes :


Durée automatique des syllabes

Les paroles peuvent être automatiquement alignées sous une mélodie. Il suffit pour cela de combiner la mélodie et les paroles avec la commande \lyricsto.

\new Lyrics \lyricsto nom

Cette commande adapte les paroles aux notes de la voix (contexte Voice dans le jargon LilyPond) nom. Ce contexte Voice doit exister avant l’indication des paroles avec \lyricsto. La commande \lyricsto introduit automatiquement le mode \lyricmode, donc dans ce cas vous n’avez pas à ajouter vous-même \lyricmode.

L’exemple suivant récapitule les différentes manières de saisir des paroles.

<<
  \new Voice = "one" \relative c'' {
    \autoBeamOff
    \time 2/4
    c4 b8. a16 g4. f8 e4 d c2
  }
  \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
  \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
  \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
>>

[image of music]

Le deuxième couplet n’est pas correctement disposé, aucune durée n’ayant été spécifiée. Dans un tel cas, il aurait mieux valu utiliser \lyricsto, comme dans le troisième couplet.

La commande \addlyrics n’est en fait qu’une simplification de la structure employée par LilyPond pour définir les paroles.

{ MUSIQUE }
\addlyrics { PAROLES }

est exactement la même chose que

\new Voice = "blah" { musique }
\new Lyrics \lyricsto "blah" { PAROLES }

Durée explicite des syllabes

On peut aussi se passer de \addlyrics et de \lyricsto pour saisir des paroles. Dans ce cas, les syllabes sont entrées comme des notes — du texte remplaçant les hauteurs — ce qui veut dire que vous devez définir leur durée explicitement :

play2 the4 game2.
sink2 or4 swim2.

La mélodie associée à ces paroles peut être spécifiée par la propriété associatedVoice :

\set associatedVoice = #"lala"

La valeur que vous attribuez à cette propriété (ici "lala") doit désigner un contexte Voice, sans quoi les mélismes ne seront pas imprimés correctement.

Voici un exemple de cette manière de procéder :

<< \new Voice = "melody" {
    \time 3/4
    c2 e4 g2.
 }
 \new Lyrics \lyricmode {
   \set associatedVoice = #"melody"
   play2 the4 game2.
 } >>

[image of music]

Voir aussi

Référence du programme : Lyrics.


Plusieurs syllabes sur une note

Pour attribuer plus d’une syllabe à une même note, vous pouvez les mettre entre guillemets, remplacer une espace par un caractère souligné (_) pour obtenir une espace, ou bien encore utiliser un tilde (~) pour obtenir une liaison entre les syllabes2.

\time 3/4
\relative c' { c2 e4 g2 e4 }
\addlyrics { gran- de_a- mi- go }
\addlyrics { pu- "ro y ho-" nes- to }
\addlyrics { pu- ro~y~ho- nes- to }

[image of music]

Voir aussi

Référence du programme : LyricCombineMusic.


Plusieurs notes pour une même syllabe

Parfois, tout particulièrement dans la musique médiévale, plusieurs notes correspondent à une même syllabe. Ces vocalises sont appelées mélismes.

Il est possible d’indiquer tous les mélismes lors de la saisie des paroles. Il suffit pour cela d’utiliser le caractère _ pour chaque note du mélisme.

{ \set melismaBusyProperties = #'()
 c d( e) f f( e) e e  }
\addlyrics
 { Ky -- _ _ ri __ _ _ _  e }

[image of music]

En définissant, comme dans l’exemple ci-dessus, la propriété melismaBusyProperties, vous obtiendrez automatiquement toutes les liaisons de tenue et de phrasé requises.

D’autre part, la commande \lyricsto arrive aussi à détecter automatiquement les mélismes : une seule syllabe sera placée sous un groupe de notes comprenant des liaisons de tenue ou de phrasé. Au cas où un mélisme doit s’appliquer à des notes non liées, il suffit d’adjoindre \melisma à la première note du groupe, et \melismaEnd à la dernière :

<<
  \new Voice = "lala" {
    \time 3/4
    f4 g8
    \melisma
    f e f
    \melismaEnd
    e2
  }
  \new Lyrics \lyricsto "lala" {
    la di __ daah
  }
>>

[image of music]

Enfin, lorsque la fonction de ligature automatique (cf. Définition des règles de ligature automatique) est désactivée, le fait de les connecter manuellement créera un mélisme.

Vous trouverez un exemple complet de partition pour chœur dans la section Ensemble vocal.

Commandes prédéfinies

\melisma, \melismaEnd.

Voir aussi

Exemples : Musique vocale.

Problèmes connus et avertissements

Certains mélismes ne sont pas détectés automatiquement ; vous devrez alors prolonger vous-même les syllabes concernées.


Saut de notes


Traits d’union et de prolongation

Un mélisme est indiqué par une ligne horizontale basse centrée entre une syllabe et la suivante. Une telle ligne, que nous appellerons prolongateur ou extenseur, s’obtient en saisissant ‘ __ ’ (notez les espaces entourant le souligné double).

Un trait d’union séparant deux syllabes d’un même mot s’obtient en saisissant ‘ -- ’ (notez les espaces entourant le tiret double). Ce trait d’union sera centré entre les deux syllabes et sa longueur sera proportionnelle à l’espace les séparant.

Dans les partitions très serrées, les traits d’union peuvent ne pas être imprimés. Cet inconvénient peut être contrôlé par minimum-distance pour gérer l’espace minimum entre deux syllabes, et minimum-length, seuil en deçà duquel il n’y a pas de trait d’union.

Voir aussi

Référence du programme : LyricExtender, LyricHyphen


Paroles et reprises


2.1.4 Situations particulères en matière de paroles

Une même mélodie peut se voir traitée différemment suivant les couplets. La commande \lyricsto permet de prendre en compte ces variantes.


Paroles alternatives

En donnant un nom à chaque voix et en leur attribuant spécifiquement des paroles, on peut créer des paroles alternatives — également qualifiées de ‘divisi’.

\score{ <<
  \new Voice = "melody" {
    \relative c' {
      c4
      <<
        { \voiceOne c8 e }
        \new Voice = "splitpart" { \voiceTwo c4 }
      >>
      \oneVoice c4 c | c
    }
  }
  \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
  \new Lyrics \lyricsto "splitpart" { will }
>> }

[image of music]

Cette astuce permet de faire varier les paroles lorsqu’une section est reprise.

\score{ <<
  \new Voice = "melody" \relative c' {
    c2 e | g e | c1 |
    \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
    a2 b | c1}
  \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
    do mi sol mi do
    la si do }
  \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
   do re mi fa sol }
  \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
   dodo rere mimi fafa solsol }
>>
}

[image of music]


Paroles indépendantes des notes

Dans certaines musiques vocales assez complexes, on peut avoir intérêt à imprimer les paroles indépendamment des notes. La mélodie sur laquelle s’aligne les paroles — marquée par le tag lyricrhythm dans l’exemple suivant — peut être insérée dans un contexte Devnull, ce qui indique à LilyPond de na pas imprimer cette mélodie dans la partition. Seules subsistent alors de cette mélodie les valeurs rythmiques, sur lesquelles s’alignent les paroles.

voice = {
  c''2
  \tag #'music { c''2 }
  \tag #'lyricrhythm { c''4. c''8 }
  d''1
}

lyr = \lyricmode { I like my cat! }

<<
  \new Staff \keepWithTag #'music \voice
  \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
  \new Lyrics \lyricsto "nowhere" \lyr
  \new Staff { c'8 c' c' c' c' c' c' c'
  c' c' c' c' c' c' c' c' }
>>

[image of music]


Espacement des syllabes

La propriété #'minimum-distance de l’objet LyricSpace permet d’accroître l’espacement des paroles.

{
  c c c c
  \override Lyrics.LyricSpace #'minimum-distance = #1.0
  c c c c
}
\addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
}

[image of music]

Pour que ce réglage s’applique à toute la partition, définissez-le dans le bloc \layout.

\score {
  \relative c' {
  c c c c
  c c c c
  }
  \addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
  }
  \layout {
    \context {
      \Lyrics
      \override LyricSpace #'minimum-distance = #1.0
    }
  }
}

[image of music]


Centrage des paroles entre les portées


2.1.5 Couplets


Numérotation des couplets

On peut ajouter un numéro aux couplets en définissant la variable stanza :

\new Voice {
  \time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
  \set stanza = #"1. "
  Hi, my name is Bert.
} \addlyrics {
  \set stanza = #"2. "
  Oh, ché -- ri, je t'aime
}

[image of music]

Ces numéros se placeront juste avant le début de la première syllabe.


Indication de nuance et couplets

Lorsque des couplets ont des nuances différentes, vous pouvez ajouter une nuance devant chaque numéro. L’objet StanzaNumber contient tout ce qui se place au début du couplet. Pour des raisons techniques, vous devrez définir la variable stanza en dehors du mode \lyricmode.

text = {
  \set stanza = \markup { \dynamic "ff" "1. " }
  \lyricmode {
    Big bang
  }
}

<<
  \new Voice = "tune" {
    \time 3/4
    g'4 c'2
  }
\new Lyrics \lyricsto "tune" \text
>>

[image of music]


Indication du personnage et couplets

On peut également ajouter le nom de chaque rôle ; ils s’imprimeront au début de chaque ligne comme les noms d’instruments. Il faut pour cela définir vocalName, et shortVocalName pour une version abrégée.

\new Voice {
  \time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
  \set vocalName = #"Bert "
  Hi, my name is Bert.
} \addlyrics {
  \set vocalName = #"Ernie "
  Oh, ché -- ri, je t'aime
}

[image of music]


Rythme différent selon le couplet

Mélismes dans certaines strophes seulement

Il peut survenir que les paroles comportent un mélisme pour l’un des couplets, mais plusieurs syllabes pour d’autres. Une solution consiste à temporairement ignorer les mélismes dans le couplet ayant plus de syllabes. Il suffit pour cela de définir la propriété ignoreMelismata à l’intérieur du contexte Lyrics.

Petit détail qui a son importance : la définition de ignoreMelismata doit intervenir une syllabe avant les syllabes auxquelles elle s’appliquera :

%{
<<
  \relative \new Voice = "lahlah" {
    \set Staff.autoBeaming = ##f
    c4
    \slurDotted
    f8.[( g16])
    a4
  }
  \new Lyrics \lyricsto "lahlah" {
    more slow -- ly
  }
  \new Lyrics \lyricsto "lahlah" {
    \set ignoreMelismata = ##t % applies to "fas"
    go fas -- ter
    \unset ignoreMelismata
    still
  }
>>
%}

[image of music]

Ici la fonction ignoreMelismata concerne la syllabe ‘fas’, bien qu’elle ait été définie avant la syllabe ‘go’.

L’inverse est aussi possible : prendre une mélodie syllabique pour en faire un mélisme. Il faudra alors insérer des sauts invisibles \skip dans vos paroles. Chaque \skip décale le texte suivant d’une note :

\relative c' { c c g' }
\addlyrics {
  twin -- \skip 4
  kle
}

[image of music]

Basculer vers une mélodie alternative

On peut créer des variations plus complexes à partir d’une mélodie à plusieurs voix. Les paroles peuvent suivre l’une ou l’autre des lignes mélodiques, et même basculer de l’une à l’autre si l’on modifie la propriété associatedVoice. Dans cet exemple,

[image of music]

le texte du premier couplet s’aligne sur la mélodie nommée ‘lahlah’,

\new Lyrics \lyricsto "lahlah" {
  Ju -- ras -- sic Park
}

Le second couplet est tout d’abord rattaché au contexte lahlah, mais bascule sur une autre mélodie sur la syllabe ‘ran’. Pour cela, nous utilisons

\set associatedVoice = alternative

alternative désigne le nom du contexte Voice qui contient le triolet.

Encore une fois, cette commande doit être spécifiée une syllabe en avance, c’est-à-dire ici avant la syllabe ‘Ty’.

\new Lyrics \lyricsto "lahlah" {
  \set associatedVoice = alternative % applies to "ran"
  Ty --
  ran --
  no --
  \set associatedVoice = lahlah % applies to "rus"
  sau -- rus Rex
}

Comme vous pouvez le voir, nous revenons ensuite à l’alignement sur la mélodie d’origine, en assignant à la propriété associatedVoice la valeur lahlah.


Paroles en fin de partition

Il peut parfois s’avérer opportun d’aligner un seul couplet sur la mélodie, et de présenter tous les autres en bloc à la fin du morceau. Ces couplets additionnels peuvent être inclus dans une section \markup en dehors du bloc \score principal. Vous en trouverez un exemple ci-dessous ; notez également les deux méthodes différentes employées pour indiquer les sauts de ligne, entre les couplets (‘verses’ en anglais) 2 et 3.

melody = \relative c' {
e d c d | e e e e |
d d e d | c1 |
}

text = \lyricmode {
\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}

\score{ <<
  \new Voice = "one" { \melody }
  \new Lyrics \lyricsto "one" \text
>>
  \layout { }
}
\markup { \column{
  \line{ Verse 2. }
  \line{ All the children laughed and played }
  \line{ To see a lamb at school. }
  }
}
\markup{
  \wordwrap-string #"
  Verse 3.

  Mary took it home again,

  It was against the rule."
}

[image of music]


Paroles sur plusieurs colonnes en fin de partition

Si les couplets sont vraiment nombreux, il est possible de les imprimer sur plusieurs colonnes. De plus, l’exemple suivant vous montrera comment faire en sorte que le numéro du couplet soit en retrait à gauche, comme c’est traditionnellement le cas.

melody = \relative c' {
  c c c c | d d d d
}
 
text = \lyricmode {
  \set stanza = #"1." This is verse one.
  It has two lines.
}

\score{ <<
    \new Voice = "one" { \melody }
    \new Lyrics \lyricsto "one" \text
   >>
  \layout { }
}

\markup {
  \fill-line {
    \hspace #0.1 % moves the column off the left margin; can be removed if
        % space on the page is tight
     \column {
      \line { \bold "2."
        \column {
          "This is verse two."
          "It has two lines."
        }
      }
      \hspace #0.1 % adds vertical spacing between verses
      \line { \bold "3."
        \column {
          "This is verse three."
          "It has two lines."
        }
      }
    }
    \hspace #0.1  % adds horizontal spacing between columns; if they are
        % still too close, add more " " pairs until the result 
        % looks good
     \column {
      \line { \bold "4."
        \column {
          "This is verse four."
          "It has two lines."
        }
      }
      \hspace #0.1 % adds vertical spacing between verses
      \line { \bold "5."
        \column {
          "This is verse five."
          "It has two lines."
        }
      }
    }
  \hspace #0.1 % gives some extra space on the right margin; can
      % be removed if page space is tight
  }
}

[image of music]

Voir aussi

Référence du programme : LyricText, StanzaNumber.


2.2 Instruments utilisant des portées multiples

[image of music]

Ce chapitre traite des différents aspects de la notation que l’on rencontre particulièrement avec les instruments qui ont recours à plusieurs portées, tels que ceux disposant de claviers, la harpe ou le vibraphone. Pour les besoins du discours, et pour simplifier, nous parlerons ici de « clavier » bien que le recours à des portées multiples concerne aussi des instruments qui en sont dépourvus.


2.2.1 Vue d’ensemble des claviers

Nous allons examiner ici les problèmes qui peuvent survenir en matière de notation pour la plupart des instrument à cordes multiples.


Généralités sur les instruments à clavier

La notation pour instrument à clavier est en règle générale présentée sous la forme d’un système pour piano, autrement dit deux portées normales ou plus réunies par une accolade. Cette notation sert également à la harpe ou à d’autres instruments à clés. L’organiste, quant à lui, lira une partition composée de deux portées au sein d’un système pianistique auquel vient s’adjoindre une portée normale pour le pédalier.

Les portées sont largement autonomes, mais il arrive que des voix passent de l’une à l’autre. Le contexte PianoStaff est précisément conçu pour gérer la notation spécifique au piano et autres instruments à clavier, notamment ces croisements.

Certaines particularités de la notation pour claviers sont abordées dans d’autres chapitres :

Voir aussi

Manuel d’initiation : Exemple concret, Autres utilisations des retouches.

Manuel de notation : Regroupement de portées, Noms d’instrument, Résolution des collisions, Saisie de musique en parallèle, Doigtés, Liste des signes d’articulation, Quadrillage temporel, Liaisons de prolongation, Arpèges, Répétition en trémolo.

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

Exemples de code : Keyboards.

Problèmes connus et avertissements

Les nuances ne sont pas automatiquement centrées verticalement, mais il existe des astuces. Voir à ce sujet le modèle « alignement des nuances au piano » au chapitre Modèles pour claviers ; une autre solution consiste à augmenter le décalage des nuances par rapport à la portée (staff-pagging) comme l’indique Déplacement d’objets.


Changement de portée manuel

Il est possible de passer d’une portée à l’autre de façon manuelle, au moyen de la commande

\change Staff = nomDeLaPortee

La valeur nomDeLaPortee est le nom de la portée sur laquelle va se déplacer la voix courante. Pour des raisons pratiques, on nomme la portée supérieure "haut" et la portée inférieure "bas", donc nomDeLaPortee désigne habituellement "haut", "bas", "MD" ou "MG". Dans tous les cas, le contexte de portée ainsi utilisé doit exister au préalable.

Pour ligaturer automatiquement des notes entre deux portées, procédez ainsi :

\new PianoStaff <<
  \new Staff = "up" {
    <e' c'>8
    \change Staff = "down"
    g8 fis g
    \change Staff = "up"
    <g'' c''>8
    \change Staff = "down"
    e8 dis e
    \change Staff = "up"
  }
  \new Staff = "down" {
    \clef bass
    % keep staff alive
    s1
  }
>>

[image of music]

Si les ligatures demandaient à être retouchées, commencez par modifier la direction des hampes. L’emplacement des ligatures sera alors calculé à partir du centre de la portée la plus proche – voir Correction des collisions d’objets pour un exemple de retouche sur des ligatures.

Voir aussi

Manuel d’initiation : Correction des collisions d’objets.

Manuel de notation : Hampes, Barres de ligature automatiques.

Exemples de code : Keyboards.

Référence des propriétés internes : Beam, ContextChange.


Changement de portée automatique

Les voix peuvent passer automatiquement d’une portée à l’autre, au moyen de la syntaxe suivante :

\autochange …musique

Deux portées seront alors créées au sein du contexte PianoStaff, nommées respectivement "up" et "down". La portée du bas sera par défaut en clé de fa. La commande \autochange bascule les notes d’une portée à l’autre en fonction de leur hauteur (le do du milieu servant de pivot), et place les silences en fonction des notes qui les suivront. Ainsi :

\new PianoStaff {
  \autochange {
    g4 a b c'
    d'4 r a g
  }
}

[image of music]

Une section en mode \relative se situant en dehors de la commande \autochange n’aura pas d’effet sur les hauteurs de l’expression musique. Il est donc préférable d’introduire la directive \relative après \autochange.

Lorsque des contrôles particuliers doivent s’appliquer aux portées, mieux vaut les nommer explicitement – attention : sous peine d’effet indésirable quant au résultat, la portée supérieure doit s’appeler "up" et l’inférieure "down" ; ceci est à notre connaissance le seul cas où ces noms de variable sont figés. Cette procédure sert, entre autres, à indiquer l’armure sur la portée inférieure :

\new PianoStaff <<
  \new Staff = "up" {
    \new Voice = "melodieUn" {
      \key g \major
      \autochange \relative c' {
        g8 b a c b d c e
        d8 r fis, g a2
      }
    }
  }
  \new Staff = "down" {
    \key g \major
    \clef bass
  }
>>

[image of music]

Voir aussi

Dans ce même manuel : Changement de portée manuel.

Exemples de code : Keyboards.

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

Problèmes connus et avertissements

Les changements de portée automatiques n’interviennent pas toujours à l’endroit le plus opportun. Pour un résultat de meilleure qualité, il vaut mieux indiquer soi-même ces changements.

Un accord ne peut se répartir sur plusieurs portées ; sa portée d’affectation sera déterminée par la première hauteur mentionnée dans la construction de cet accord.

\autochange ne peut intervenir à l’intérieur d’une commande \times.


Lignes de changement de portée

Lorsqu’une voix change de portée, il est possible d’imprimer automatiquement une ligne reliant les notes, en faisant appel à la commande \showStaffSwitch :

\new PianoStaff <<
  \new Staff = "one" {
    \showStaffSwitch
    c1
    \change Staff = "two"
    b2 a
  }
  \new Staff = "two" {
    \clef bass
    s1*2
  }
>>

[image of music]

Commandes prédéfinies

\showStaffSwitch, \hideStaffSwitch.

Voir aussi

Extraits de code : Keyboards.

Référence des propriétés internes : Note_head_line_engraver, VoiceFollower.


Hampes et changements de portée

Pour écrire des accords qui enjambent deux portées, on allonge la hampe de l’accord de l’une des deux portées de façon à ce qu’elle rejoigne celle de l’autre portée.

\new PianoStaff <<
  \new Staff {
    \relative c' {
      f8 e4 d8 d f e4
    }
  }
  \new Staff {
    \relative c' {
      << {
        \clef bass
        % stems may overlap the other staff
        \override Stem #'cross-staff = ##t
        % extend the stems to reach other other staff
        \override Stem #'length = #12
        % do not print extra flags
        \override Stem #'flag-style = #'no-flag
        % prevent beaming as needed
        a8 g4 f8 f bes\noBeam g4
      }
      \\
      {
        f,2 bes4 c
      } >>
    }
  }
>>

[image of music]

Morceaux choisis

Indicating cross-staff chords with arpeggio bracket

An arpeggio bracket can indicate that notes on two different staves are to be played with the same hand. In order to do this, the PianoStaff must be set to accept cross-staff arpeggios and the arpeggios must be set to the bracket shape in the PianoStaff context.

(Debussy, Les collines d’Anacapri, m. 65)

\paper { ragged-right = ##t }

\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \override PianoStaff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
  \new Staff {
    \relative c' {
      \key b \major
      \time 6/8
      b8-.(\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer
      \bar "||"
    }
  }
  \new Staff {
    \relative c' {
      \clef bass
      \key b \major
      <<
        {
          <a e cis>2.\arpeggio
        }
        \\
        {
          <a, e a,>2.
        }
      >>
    }
  }
>>

[image of music]

Voir aussi

Extraits de code : Keyboards.

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


2.2.2 Piano

Ce chapitre traîte des aspects de la notation directement liés au piano.


Pédales de piano

Le piano possède deux pédales, parfois trois, permettant de modifier l’émission du son : une pédale de tenue (sustain), une pédale de sourdine (una corda ou U.C.) et une pédale tonale (sostenuto ou sos.). La pédale sustain se rencontre aussi sur les vibraphones et celestas.

c4\sustainOn d e g
<c, f a>1\sustainOff
c4\sostenutoOn e g c,
<bes d f>1\sostenutoOff
c4\unaCorda d e g
<d fis a>1\treCorde

[image of music]

Trois styles sont à votre disposition pour imprimer les indications de pédale : sous forme de texte, de crochet, ou une combinaison des deux. text est le style de notation par défaut pour les pédales de tenue ou de sourdine — le traditionnel ‘*Ped.’. La pédale tonale, en revanche, utilise mixed par défaut.

c4\sustainOn g c2\sustainOff
\set Staff.pedalSustainStyle = #'mixed
c4\sustainOn g c d
d\sustainOff\sustainOn g, c2\sustainOff
\set Staff.pedalSustainStyle = #'bracket
c4\sustainOn g c d
d\sustainOff\sustainOn g, c2
\bar "|."

[image of music]

Le placement des commandes de pédale correspond au mouvement de la pédale de tenue pendant le jeu. Garder une pédale enclanchée jusqu’à la barre finale s’obtient tout simplement en omettant la commande de relacher.

Voir aussi

Manuel de notation : Liaisons de prolongation.

Extraits de code : Keyboards.

Référence des propriétés internes : SustainPedal, SustainPedalLineSpanner, SustainEvent, SostenutoPedal, SostenutoPedalLineSpanner, SostenutoEvent, UnaCordaPedal, UnaCordaPedalLineSpanner, UnaCordaEvent, PianoPedalBracket, Piano_pedal_engraver.


2.2.3 Accordéon


Symboles de jeux

De nombreux accordéons possèdent plusieurs jeux d’anches capables de jouer à l’unisson ou bien à l’octave inférieure ou supérieure par rapport aux notes écrites. Chaque facteur d’accordéon donne des noms différents aux tirettes (shifts) qui permettent de sélectionner les différents jeux d’anches tels que hautbois, musette ou bandonéon, de telle sorte qu’un système de symbole a fini par voir le jour afin de faciliter les instructions pour exécuter un morceau.

Morceaux choisis

Accordion-discant symbols

Accordion discant-specific symbols are added using \markup. The vertical placement of the symbols can be tweaked by changing the \raise arguments.

discant = \markup {
  \musicglyph #"accordion.accDiscant"
}
dot = \markup {
  \musicglyph #"accordion.accDot"
}

\layout { ragged-right = ##t }

% 16 voets register
accBasson = ^\markup {
  \combine
  \discant
  \raise #0.5 \dot
}

% een korig 8 en 16 voets register
accBandon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \raise #1.5 \dot
}

accVCello = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \translate #'(1 . 0) \raise #1.5 \dot
}

% 4-8-16 voets register
accHarmon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \raise #2.5 \dot
}

accTrombon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \combine
          \translate #'(1 . 0) \raise #1.5 \dot
          \translate #'(-1 . 0) \raise #1.5 \dot
}

% eenkorig 4 en 16 voets register
accOrgan = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \raise #2.5 \dot
}

accMaster = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \combine
          \translate #'(1 . 0) \raise #1.5 \dot
          \combine
            \translate #'(-1 . 0) \raise #1.5 \dot
            \raise #2.5 \dot
}

accAccord = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \combine
          \translate #'(-1 . 0) \raise #1.5 \dot
          \raise #2.5 \dot
}

accMusette = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \translate #'(-1 . 0) \raise #1.5 \dot
}

accCeleste = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \translate #'(-1 . 0) \raise #1.5 \dot
}

accOboe = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \raise #2.5 \dot
}

accClarin = ^\markup {
  \combine
    \discant
    \raise #1.5 \dot
}

accPiccolo = ^\markup {
    \combine
       \discant 
       \raise #2.5 \dot
}

accViolin = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \raise #2.5 \dot
}

\relative c'' {
  c4 d\accBasson e f
  c4 d\accBandon e f
  c4 d\accVCello e f
  c4 d\accHarmon e f
  c4 d\accTrombon e f
  \break
  c4 d\accOrgan e f
  c4 d\accMaster e f
  c4 d\accAccord e f
  c4 d\accMusette e f
  c4 d\accCeleste e f
  \break
  c4 d\accOboe e f
  c4 d\accClarin e f
  c4 d\accPiccolo e f
  c4 d\accViolin e f
}

[image of music]

Voir aussi

Morceaux choisis : Keyboards.


2.2.4 Harpe

This section discusses notation issues that are unique to the harp.


Généralités sur la harpe

Certaines caractéritiques de la musique pour harpes sont abordées dans d’autres chapitres, telles que :

Voir aussi

Manuel de notation : Répétition en trémolo Glissando Arpèges Harmoniques


Pédales de harpe

Les harpes comportent sept cordes par octave qui peuvent sonner naturel, dièse ou bémol. Si chacune des cordes de la harpe celtique (lever harp) est accordée individuellement, celles d’une harpe à pédalier ayant la même note de base sont contrôlées par une seule pédale. De gauche à droite, elles correspondent aux notes ré, do, si, mi, fa, sol, la pour la grande harpe. Les trois premières pédales sont réservées au pied gauche, les 4 dernières au pied droit. Leur position peut être indiquée par une marque textuelle :

\textLengthOn
cis1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
c!1_\markup \concat \vcenter {[ C \natural ]}

[image of music]

ou bien sous forme de diagrammes :

\textLengthOn
cis1_\markup { \harp-pedal #"^v-|vv-^" }
c!1_\markup { \harp-pedal #"^o--|vv-^" }

[image of music]

bémol si la pédale est relâchée (= en haut), bécarre si elle est bloquée sur le cran du milieu, et dièse si elle est tout à fait enfoncée. La commande \harp-pedal prend en argument une chaîne de caractères, où ^ si la pédale est relâchée ou en haut (bémol), - si elle est bloquée sur le cran du milieu (bécarre), v si elle est tout à fait enfoncée (dièse) et | le séparateur (entre gauche et droite de l’instrumentiste). Faire précéder un symbole par un o permet de l’inscrire dans un cercle.

Voir aussi

Manuel de notation : Commentaires textuels Instrument Specific Markup


2.3 Cordes non frettées

[image of music]

Cette section dispense des informations supplémentaires et utiles à l’écriture pour les cordes non frettées, et tout spécialement pour les cordes d’orchestre.


2.3.1 Vue d’ensemble de la notation pour cordes non frettées

Il existe peu d’éléments spécifiques à l’écriture pour instruments à cordes non frettées. La musique est notée sur une portée et ne nécessite généralement qu’une seule voix. Le recours à deux voix disticntes peut cependant permettre de traiter efficacement des doubles notes ou des divisions.


Références en matière de cordes non frettées

La majorité des éléments de notation nécessaires en matière de cordes d’orchestre et autres instruments à archet est abordée dans d’autres chapitres de la documentation :

Voir aussi

Manuel d’initiation : Quatuor à cordes.

Manuel de notation : Commentaires textuels, Doigtés, Notes en accords, Arpèges.

Exemples de code : Unfretted strings.


Indications d’archet

Les indications d’archet se créent comme des articulations, elles sont décrites dans Articulations et ornements.

Les indications d’archet, poussé (\upbow) et tiré (\downbow), peuvent se combiner à des liaisons comme ici :

c4(\downbow d) e(\upbow f)

[image of music]

ou dans l’exemple suivant qui montre trois manières d’indiquer la corde de La, à vide, sur un violon :

a4 \open
a^\markup { \teeny "II" }
a2^\markup { \small "sul A" }

[image of music]

Commandes prédéfinies

\downbow, \upbow, \open.

Voir aussi

Manuel de notation : Articulations et ornements, Liaisons d’articulation.


Harmoniques

Harmoniques naturels

Les harmoniques naturels sont indiqués de différentes manières : une tête de note en forme de losange signifie généralement que vous devez effleurer la corde à l’endroit où vous l’auriez pincée si la note avait été normale.

Note : Les harmoniques doivent être indiqués dans une construction de type accord même s’il n’y a qu’une seule note.

La propriété harmonicDots, lorsqu’elle est activée, permet d’ajouter un point point aux notes pointées affublées d’un \harmonic.

<d\harmonic>4 <e\harmonic>2.
\set harmonicDots = ##t
<d\harmonic>4 <e\harmonic>2.

[image of music]

Une autre façon de procéder consiste à faire surmonter la note normale d’un petit cercle. Ceci indique que la note écrite doît être jouée en harmonique :

d2^\flageolet d_\flageolet

[image of music]

Un plus petit cercle peut être créé, comme indiqué dans les exemples de code contenus dans Références en matière de cordes non frettées.

Harmoniques artificiels

Les harmoniques artificiels sont indiqués par une double tête de note : l’une, normale, indique la note à pincer, et l’autre, en forme de losange, indique l’endroit où la corde doit être effleurée.

<e a\harmonic>2  <c g'\harmonic>

[image of music]


Snap (Bartók) pizzicato

Morceaux choisis

Snap-pizzicato markup ("Bartok pizzicato")

A snap-pizzicato (also known as "Bartok pizzicato") is a "strong pizzicato where the string is plucked vertically by snapping and rebounds off the fingerboard of the instrument" (Wikipedia). It is denoted by a cicle with a vertical line going from the center upwards outside the circle. While Lilypond does not have a pre-defined command to created this markup, it is easy to create a definition and place it directly into the lilypond file.

#(define-markup-command (snappizz layout props) ()
  (interpret-markup layout props
    (markup #:stencil
      (ly:stencil-translate-axis
        (ly:stencil-add
          (make-circle-stencil 0.7 0.1 #f)
          (ly:make-stencil
            (list 'draw-line 0.1 0 0.1 0 1)
            '(-0.1 . 0.1) '(0.1 . 1)))
        0.7 X))))

snapPizzicato = \markup \snappizz

% now it can be used as \snappizzicato after the note/chord
% Note that a direction (-, ^ or _) is required.
\relative c' {
  c4^\snapPizzicato
  % This does NOT work:
  %<c e g>\snapPizzicato
  <c' e g>-\snapPizzicato
  <c' e g>^\snapPizzicato
  <c, e g>_\snapPizzicato
}

[image of music]


2.4 Instruments à cordes frettées

[image of music]

Cette section traite de différents aspects de la notation propre aux instruments à cordes frettées.


2.4.1 Vue d’ensemble des cordes frettées

Vue d’ensemble de la notation pour les instruments à cordes frettées.


Références en matière de cordes frettées

La musique pour instruments à cordes frettées est généralement notée sur une seule portée, en notation traditionnelle ou en tablature, les deux étant parfois combinées. Il est aussi courant en musique populaire d’utiliser des diagrammes d’accord au-dessus de la portée traditionnelle. La guitare et le banjo sont des instruments transpositeurs, sonnant une octave au-dessous de ce qui est écrit. Les partitions pour ces instruments utilisent donc la clé de sol ottava bassa "treble_8". Vous pourrez trouver ailleurs dans la documentation d’autres éléments aussi utilisés par les instruments à cordes frettées :

Voir aussi

Manuel de notation : Doigtés, Liaisons de prolongation, Résolution des collisions, Noms d’instrument, Saisie de musique en parallèle, Arpèges, Liste des signes d’articulation, Clefs.


Indications du numéro de corde

Une corde sur laquelle une note doit être jouée peut être indiquée en attachant \numéro à cette note prise dans une construction de type accord <>.

Note : Les numéros de cordes doivent être définis dans une construction de type accord même s’il n’y a qu’une seule note.

\clef "treble_8"
<c\5>4 <e\4> <g\3>2
<c,\5 e\4 g\3>1

[image of music]

Quand les indications de doigté et de numéro de corde sont attachées à une même note, leur positionnement se fera en fonction de l’ordre dans lequel ils apparaissent dans le code :

\clef "treble_8"
<g\3-0>2
<g-0\3>

[image of music]

Morceaux choisis

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
}

[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff. However, this behavior can be canceled.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \once \override Fingering #'staff-padding = #'()
  <c-1 e-2 g-3 b-5>2
}

[image of music]

Voir aussi

Manuel de notation : Doigtés.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : StringNumber, Doigtés.


Tablatures par défaut

La notation en tablature est utilisée pour certains instruments à cordes pincées. Les hauteurs n’y sont pas indiquées par des têtes de note, mais par des chiffres qui indiquent sur quelle corde, et à quelle case chaque note doit être jouée. Dans certaines limites, LilyPond vous permet d’écrire des tablatures.

Chaque numéro de corde associé à une note doit être précédé d’une barre oblique inverse (ou « antislash ») suivi d’un nombre. Par défaut, la première corde est la plus aiguë, et les cordes suivent l’accordage traditionnel d’une guitare (à six cordes). Les notes sont imprimées sous forme de tablature, dans les contextes TabStaff et TabVoice.

\new TabStaff {
  a,4\5 c'\2 a\3 e'\1
  e\4 c'\2 a\3 e'\1
}

[image of music]

Quand aucune corde n’est précisée, LilyPond choisit automatiquement la corde pour laquelle la position est la moins élevée et qui donne un numéro de case supérieur ou égal à la valeur de la propriété minimumFret. La valeur par défaut de cette propriété est fixée à 0, ce qui correspond aux cordes à vide.

\new StaffGroup <<
   \new Staff \relative c {
     \clef "treble_8"
     c16 d e f g4
     c,16 d e f g4
   }
   \new TabStaff \relative c {
     c16 d e f g4
     \set TabStaff.minimumFret = #5
     c,16 d e f g4
   }
>>

[image of music]

Les indications de sons harmoniques ainsi que les glissandi peuvent être ajoutés aux tablatures.

\new TabStaff {
  \new TabVoice {
    <c g'\harmonic> d\2\glissando e\2
  }
}

[image of music]

Morceaux choisis

Stem and beam behavior in tablature

The direction of stems is controlled the same way in tablature as in traditional notation. Beams can be made horizontal, as shown in this example.

\new TabStaff {
  \relative c {
    g16 b d g b d g b
    \stemDown
    \override Beam #'damping = #+inf.0
    g,,16 b d g b d g b
  }
}

[image of music]

Polyphony in tablature

Polyphony is created the same way in a TabStaff as in a regular staff.

upper = \relative c' {
  \time 12/8
  \key e \minor
  \voiceOne
  r4. r8 e, fis g16 b g e e' b c b a g fis e
}

lower = \relative c {
  \key e \minor
  \voiceTwo
  r16 e d c b a g4 fis8 e fis g a b c
}

\score {
  <<
    \new StaffGroup = "tab with traditional" <<
      \new Staff = "guitar traditional" <<
        \clef "treble_8"
        \context Voice = "upper" \upper
        \context Voice = "lower" \lower
      >>
      \new TabStaff = "guitar tab" <<
        \context TabVoice = "upper" \upper
        \context TabVoice = "lower" \lower
      >>
    >>
  >>
}

[image of music]

Voir aussi

Manuel de notation : Hampes.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : TabNoteHead, TabStaff, TabVoice, Beam.

Problèmes connus et avertissements

Les accords ne subissent aucun traitement particulier ; de ce fait, la sélection automatique des cordes peut attribuer une même corde pour deux notes différentes de l’accord.

Afin que \partcombine fonctionne avec des tablatures, on doit ajouter au contexte TabStaff des voix fantômes :

melodia = \partcombine { e4 g g g }{ e4 e e e }
<<
  \new TabStaff <<
    \new TabVoice = "one" s1
    \new TabVoice = "two" s1
    \new TabVoice = "shared" s1
    \new TabVoice = "solo" s1
    { \melodia }
  >>
>>

[image of music]

Le support des modes de jeu propres à la guitare se limite aux sons harmoniques et aux glissandi.


Tablatures personnalisées

Sous LilyPond, la case correspondant à une note jouée sur une corde donnée est calculée automatiquement. Pour ce faire, l’accordage doit être spécifié. L’accordage des cordes est donné par la propriété StringTunings.

LilyPond possède des accordages prédéfinis pour banjo, mandoline, guitare et guitare basse. Lilypond calcule automatiquement la transposition correspondant à ces accordages. L’exemple ci-dessous est pour guitare basse, il sonnera donc une octave en dessous de ce qui est écrit.

<<
  \new Staff {
    \clef "bass_8"
    \relative c, {
      c4 d e f
    }
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #bass-tuning
    \relative c, {
      c4 d e f
    }
  }
>>

[image of music]

L’accordage par défaut est guitar-tuning ; il correspond à l’accordage standard d’une guitare : mi la ré sol si mi (EADGBE). D’autres accordages prédéfinis sont disponibles : guitar-open-g-tuning, mandolin-tuning et banjo-open-g-tuning. Les accordages prédéfinis sont répertoriés dans le fichier scm/output-lib.scm.

L’accordage est constitué par une liste Scheme des hauteurs de notes correspondant aux cordes à vide, une note pour chaque corde, classée par numéro de corde de 1 à n, où la corde 1 est la plus haute dans la tablature et n la plus basse. Cela revient généralement à classer les cordes de la plus aiguë à la plus grave, mais certains instruments (comme le ukulele) n’ont pas les cordes classées par hauteur.

Dans cette liste, la hauteur des notes est représentée par l’intervalle, exprimé en demi-tons, du do central jusqu’à la note de la corde à vide. Elle doit donc être représentée par un nombre entier. LilyPond calcule la note correspondant à chaque corde en ajoutant cet intervalle au do central.

Lilypond calcule automatiquement le nombre de cordes à représenter dans la tablature (TabStaff) en comptant le nombre d’éléments définis dans le stringTunings.

N’importe quel accordage peut donc être créé. Par exemple, nous pouvons définir l’accordage d’un instrument à quatre cordes accordées do sol ré la, donc de la plus aiguë à la plus grave et en anglais : a'', d'', g', et c' :

mynotes = {
    c'4 e' g' c'' |
    e'' g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #'(21 14 7 0)
    \mynotes
  }
>>

[image of music]

Voir aussi

Fichiers sources installés : ‘scm/output-lib.scm’.

Morceaux choisis : Fretted strings.

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


Tablatures sous forme d’étiquette

On peut ajouter des diagrammes d’accords au-dessus de n’importe quelle note, en tant qu’objets \markup. Ces objets contiennent toutes les informations du diagramme d’accord. Il y a pour les définir trois interfaces "diagramme d’accord" (fret-diagram en anglais) : standard, terse et verbose. Ces trois interfaces produiront des diagrammes similaires mais permettent des niveaux de personnalisation différents. Des détails à propos des interfaces de type \markup peuvent être trouvés dans Text markup commands.

Dans l’interface standard des diagrammes d’accords, on indiquera le numéro de corde et le numéro de case pour chaque point placé sur une corde. Les cordes à vide et étouffées peuvent aussi être indiquées.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
    < d a d' f'> ^\markup
      \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
  }
>>

[image of music]

Les indications de barrés peuvent aussi être ajoutées au diagramme d’accord dans l’interface standard :

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context Staff {
    \clef "treble_8"
    < f, c f a c' f'>1 ^\markup
      \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    < g, d g b d' g'> ^\markup
      \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
  }
>>

[image of music]

La taille du diagramme d’accord ainsi que le nombre de cases représentées peuvent aussi être modifiés dans l’interface standard.

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context Staff {
    \clef "treble_8"
    < f, c f a c' f'>1 ^\markup
      \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    < g, b, d g b g'> ^\markup
      \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
  }
>>

[image of music]

Le nombre de cordes dans les diagrammes d’accord peut être modifié dans l’interface standard pour s’adapter à différents instruments tels que le banjo et le ukulele.

<<
  \context ChordNames {
     \chordmode {
       a1
     }
  }
  \context Staff {
        %% A chord for ukelele
    a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
  }
>>

[image of music]

Des indications de doigtés peuvent être ajoutées, et le positionnement de ces doigtés peut être modifié dans l’interface standard.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
    < d a d' f'> ^\markup
      \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
  }
>>

[image of music]

La taille ainsi que la position des points peuvent être contrôlées dans l’interface standard.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
    < d a d' f'> ^\markup
      \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
  }
>>

[image of music]

Dans l’interface fret-diagram-terse, les numéros de cordes sont omis ; les numéros de cordes sont induits par la présence de points-virgules. Il y a un point-virgule pour chaque corde du diagramme. Le premier point-virgule correspondant au plus haut numéro de corde, le dernier à la première corde. Les cordes étouffées, les cordes à vide ainsi que les numéros de case peuvent y être indiqués.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram-terse #"x;3;2;o;1;o;"
    < d a d' f'> ^\markup
      \fret-diagram-terse #"x;x;o;2;3;1;"
  }
>>

[image of music]

Les indications de barré peuvent être inclus dans l’interface fret-diagram-terse.

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context Staff {
    \clef "treble_8"
    < f, c f a c' f'>1 ^\markup
      \fret-diagram-terse #"1-(;3;3;2;1;1-);"
    < g, d g b d' g'> ^\markup
      \fret-diagram-terse #"3-(;5;5;4;3;3-);"
  }
>>

[image of music]

Les indications de doigtés peuvent être inclus dans l’interface fret-diagram-terse.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \override Voice.TextScript
      #'(fret-diagram-details finger-code) = #'below-string
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
    < d a d' f'> ^\markup
      \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
  }
>>

[image of music]

Les autres propriétés des diagrammes d’accord doivent être ajustées en utilisant la commande \override dans l’interface fret-diagram-terse.

L’interface fret-diagram-verbose est au format d’une liste Scheme. Chaque élément de la liste décrit un objet devant être placé dans le diagramme d’accord.

<<  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1 ^\markup
      \fret-diagram-verbose #'(
        (mute 6)
        (place-fret 5 3)
        (place-fret 4 2)
        (open 3)
        (place-fret 2 1)
        (open 1)
      )
    < d a d' f'> ^\markup
      \fret-diagram-verbose #'(
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 2)
        (place-fret 2 3)
        (place-fret 1 1)
      )
  }
>>

[image of music]

Les indications de doigté et de barré peuvent être décrits dans l’interface fret-diagram-verbose. Particularité propre à l’interface fret-diagram-verbose : l’indication de capodastre dans le diagramme d’accord. L’indication de capodastre est une petite ligne transversale aux cordes. La case avec le capodastre est la case la plus basse du diagramme d’accord.

<<
  \context ChordNames {
     \chordmode {
       f1 g c
     }
  }
  \context Staff {
    \clef "treble_8"
    \override Voice.TextScript
      #'(fret-diagram-details finger-code) = #'below-string

    < f, c f a c' f'>1 ^\markup
      \fret-diagram-verbose #'(
        (place-fret 6 1)
        (place-fret 5 3)
        (place-fret 4 3)
        (place-fret 3 2)
        (place-fret 2 1)
        (place-fret 1 1)
        (barre 6 1 1)
      )
    < g, b, d g b g'> ^\markup
      \fret-diagram-verbose #'(
        (place-fret 6 3 2)
        (place-fret 5 2 1)
        (open 4)
        (open 3)
        (open 2)
        (place-fret 1 3 3)
      )
    < c e g c' e'> ^\markup
      \fret-diagram-verbose #'(
        (capo 3)
        (mute 6)
        (place-fret 4 5 1)
        (place-fret 3 5 2)
        (place-fret 2 5 3)
      )
   }
>>

[image of music]

Toutes les autres propriétés du diagramme d’accord doivent être indiquées en utilisant la commande \override lorsque l’on utilise l’interface fret-diagram-verbose.

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur grâce aux propriétés de l’interface fret-diagram-interface. Des détails se trouvent dans fret-diagram-interface. Pour un diagramme d’accord, les propriétés de l’interface dépendent de Voice.TextScript.

Morceaux choisis

Customizing markup fret diagrams Fret diagram properties can be set through 'fret-diagram-details. For markup fret diagrams, overrides can be applied to the Voice.TextScript object or directly to the markup.

<<
  \chords { c1 c c d }
  
  \new Voice = "mel" {
    \textLengthOn
    % Set global properties of fret diagram
    \override TextScript #'size = #'1.2
    \override TextScript
      #'(fret-diagram-details finger-code) = #'in-dot
    \override TextScript
      #'(fret-diagram-details dot-color) = #'white

    %% C major for guitar, no barre, using defaults
       % terse style
    c'1^\markup { \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" }

    %% C major for guitar, barred on third fret
       % verbose style
       % size 1.0
       % roman fret label, finger labels below string, straight barre
    c'1^\markup {
      % standard size
      \override #'(size . 1.0) {
        \override #'(fret-diagram-details . (
                     (number-type . roman-lower)
                     (finger-code . in-dot)
                     (barre-type . straight))) {
          \fret-diagram-verbose #'((mute 6)
                                   (place-fret 5 3 1)
                                   (place-fret 4 5 2)
                                   (place-fret 3 5 3)
                                   (place-fret 2 5 4)
                                   (place-fret 1 3 1)
                                   (barre 5 1 3))
        }
      }
    }

    %% C major for guitar, barred on third fret
       % verbose style
       % landscape orientation, arabic numbers, M for mute string
       % no barre, fret label down or left, small mute label font
    c'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (number-type . arabic)
                   (label-dir . -1)
                   (mute-string . "M")
                   (orientation . landscape)
                   (barre-type . none)
                   (xo-font-magnification . 0.4)
                   (xo-padding . 0.3))) {
        \fret-diagram-verbose #'((mute 6)
                                 (place-fret 5 3 1)
                                 (place-fret 4 5 2)
                                 (place-fret 3 5 3)
                                 (place-fret 2 5 4)
                                 (place-fret 1 3 1)
                                 (barre 5 1 3))
      }
    }

    %% simple D chord
       % terse style
       % larger dots, centered dots, fewer frets
       % label below string
    d'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (dot-radius . 0.35)
                   (dot-position . 0.5)
                   (fret-count . 3))) {
        \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
      }
    }
  }
>>

[image of music]

Voir aussi

Manuel de notation : Text markup commands.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : fret-diagram-interface.


Tablatures prédéfinies

Les diagrammes d’accords peuvent être affichés en utilisant le contexte FretBoards. Par défaut le contexte FretBoards affichera des diagrammes d’accords stockés dans une table de correspondance :

\include "predefined-guitar-fretboards.ly"
\context FretBoards {
  \chordmode {
    c1 d
  }
}

[image of music]

Les diagrammes d’accord définis par défaut sont dans le fichier predefined-guitar-fretboards.ly. Les diagrammes d’accords sont stockés en fonction des notes de l’accord ainsi que de l’accordage (stringTunings) utilisé. predefined-guitar-fretboards.ly contient les diagrammes d’accords prédéfinis uniquement pour l’accordage standard (guitar-tuning). Des diagrammes d’accords peuvent être définis pour d’autres instruments ou d’autres accordages en suivant les exemples du fichier predefined-guitar-fretboards.ly.

Les notes des accords peuvent être entrées aussi bien comme musique simultanée qu’en utilisant le mode accord (voir Généralités sur le mode accords).

\include "predefined-guitar-fretboards.ly"
\context FretBoards {
  \chordmode {c1}
  <c' e' g'>1
}

[image of music]

Il est courant d’afficher simultanément le nom des accords et les diagrammes d’accords correspondants. Ceci s’obtient en mettant en parallèle un contexte ChordNames avec un contexte FretBoards et en affectant aux deux la même musique.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Les diagrammes d’accords prédéfinis sont transposables tant qu’il y a un diagramme correspondant à l’accord transposé dans la base des diagrammes d’accords.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

mychordlist = {
  \mychords
  \transpose c e { \mychords}
}
<<
  \context ChordNames {
    \mychordlist
  }
  \context FretBoards {
    \mychordlist
  }
>>

[image of music]

La table des diagrammes d’accord contient sept types d’accord (majeur, mineur, augmenté, diminué, septième de dominante, majeur sept, mineur sept) pour chacune des 17 fondamentales possibles. Une liste complète des diagrammes d’accords prédéfinis se trouve dans Tablatures prédéfinies. S’il n’y a pas d’entrée dans la table pour un accord donné, le graveur Fretboard_engraver calculera le diagramme d’accord en utilisant la fonctionnalité automatique décrite dans Tablatures automatiques.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 c:9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Des diagrammes d’accord peuvent être ajoutés à la table des diagrammes d’accord. Pour ajouter un diagramme d’accord, il faut spécifier l’accord correspondant au diagramme, l’accord utilisé et la définition du diagramme. Cette définition de diagramme peut être aussi bien de type terse que verbose.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram \chordmode {c:9}
                        #guitar-tuning
                        #"x;3-2;2-1;3-3;3-4;x;"

mychords = \chordmode{
  c1 c:9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

On peut enregistrer différents diagrammes pour un même accord en les définissant à des octaves différentes.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram \chordmode {c'}
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'bes guitar-tuning))

mychords = \chordmode{
  c1 c'
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

En plus des diagrammes d’accord, LilyPond possède une liste interne de carrures d’accord. Les carrures d’accords sont des diagrammes d’accord qui peuvent être transposés le long du manche. Les carrures d’accords peuvent être ajoutées à la liste interne et être ensuite utilisées pour définir des accords prédéfinis. Puisqu’elles sont transposables le long du manche, les carrures d’accord ne contiennent généralement pas de corde à vide. Tout comme les diagrammes d’accord, les carrures d’accord sont définies grâce aux interfaces fret-diagram-terse ou fret-diagram-verbose.

\include "predefined-guitar-fretboards.ly"

% add a new chord shape

\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"

% add some new chords based on the power chord shape

\storePredefinedDiagram \chordmode {f'}
                        #guitar-tuning
                        #(chord-shape 'powerf guitar-tuning) 
\storePredefinedDiagram \chordmode {g'}
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'powerf guitar-tuning))

mychords = \chordmode{
  f1 f' g g'
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur grâce aux propriétés de l’interface fret-diagram-interface. Pour plus d’information, consultez fret-diagram-interface. Pour un diagramme d’accord donné, les propriétés de l’interface dépendent de FretBoards.FretBoard.

Morceaux choisis

Customizing fretboard fret diagrams Fret diagram properties can be set through 'fret-diagram-details. For FretBoard fret diagrams, overrides are applied to the FretBoards.FretBoard object. Like Voice, FretBoards is a bottom level context, therefore can be omitted in property overrides.

\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"
<<
  \new ChordNames {
    \chordmode { c1 c c d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard #'size = #'1.2
    \override FretBoard
      #'(fret-diagram-details finger-code) = #'in-dot
    \override FretBoard
      #'(fret-diagram-details dot-color) = #'white
    \chordmode {
      c
      \once \override FretBoard #'size = #'1.0
      \once \override FretBoard
        #'(fret-diagram-details barre-type) = #'straight
      \once \override FretBoard
        #'(fret-diagram-details dot-color) = #'black
      \once \override FretBoard
        #'(fret-diagram-details finger-code) = #'below-string
      c'
      \once \override FretBoard
        #'(fret-diagram-details barre-type) = #'none
      \once \override FretBoard
        #'(fret-diagram-details number-type) = #'arabic
      \once \override FretBoard
        #'(fret-diagram-details orientation) = #'landscape
      \once \override FretBoard
        #'(fret-diagram-details mute-string) = #"M"
      \once \override FretBoard
        #'(fret-diagram-details label-dir) = #LEFT
      \once \override FretBoard
        #'(fret-diagram-details dot-color) = #'black
      c'
      \once \override FretBoard
        #'(fret-diagram-details finger-code) = #'below-string
      \once \override FretBoard
        #'(fret-diagram-details dot-radius) = #0.35
      \once \override FretBoard
        #'(fret-diagram-details dot-position) = #0.5
      \once \override FretBoard
        #'(fret-diagram-details fret-count) = #3
      d
    }
  }
  \new Voice {
    c'1 c' c' d'
  }
>>

[image of music]

Defining predefined fretboards for other instruments Predefined fret diagrams can be added for new instruments in addition to the standards used for guitar. This file shows how this is done by defining a new string-tuning and a few predefined fretboards for the Venezuelan cuatro.

This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the TabStaff, but not the music.

These fretboards are not transposable because they contain string information. This is planned to be corrected in the future.

% add FretBoards for the Cuatro
%   Note: This section could be put into a separate file
%      predefined-cuatro-fretboards.ly
%      and \included into each of your compositions

cuatroTuning = #'(11 18 14 9)

dSix = { <a\4 b\1 d\3 fis\2> }
dMajor = { <a\4 d\1 d\3 fis \2> }
aMajSeven = { <a\4 cis\1 e\3 g\2> }
dMajSeven = { <a\4 c\1 d\3 fis\2> }
gMajor = { <b\4 b\1 d\3 g\2> }

\storePredefinedDiagram \dSix
                        #cuatroTuning
                        #"o;o;o;o;"
\storePredefinedDiagram \dMajor
                        #cuatroTuning
                        #"o;o;o;3-3;"
\storePredefinedDiagram \aMajSeven
                        #cuatroTuning
                        #"o;2-2;1-1;2-3;"
\storePredefinedDiagram \dMajSeven
                        #cuatroTuning
                        #"o;o;o;1-1;"
\storePredefinedDiagram \gMajor
                        #cuatroTuning
                        #"2-2;o;1-1;o;"

% end of potential include file /predefined-cuatro-fretboards.ly


#(set-global-staff-size 16)

primerosNames = \chordmode {
  d:6 d a:maj7 d:maj7 
  g
}
primeros = {
  \dSix \dMajor \aMajSeven \dMajSeven
  \gMajor
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \primerosNames
    }

    \new Staff {
      \new Voice \with {
        \remove "New_fingering_engraver"
      } 
      \relative c'' {
        \primeros
      }
    }

    \new FretBoards {
      \set stringTunings = #cuatroTuning
      \override FretBoard
        #'(fret-diagram-details string-count) = #'4
      \override FretBoard
        #'(fret-diagram-details finger-code) = #'in-dot
      \primeros
    }

    \new TabStaff \relative c'' {
      \set TabStaff.stringTunings = #cuatroTuning
      \primeros
    }
    
  >>

  \layout { 
    \context {
      \Score
      \override SpacingSpanner
        #'base-shortest-duration = #(ly:make-moment 1 16)
    }
  }
  \midi { }
}

[image of music]

Voir aussi

Manuel de notation : Tablatures personnalisées, Tablatures automatiques, Généralités sur le mode accords, Tablatures prédéfinies.

Fichiers sources installés : ‘ly/predefined-guitar-fretboards.ly’, ‘ly/predefined-guitar-ninth-fretboards.ly’.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : fret-diagram-interface.


Tablatures automatiques

Les diagrammes d’accord peuvent être créés automatiquement ; il suffit d’affecter les notes à un contexte FretBoards. Si aucun diagramme prédéfini n’est disponible pour les notes entrées avec l’accordage actuel (stringTunings), les cordes et cases correspondant aux notes seront automatiquement calculées.

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context FretBoards {
    < f, c f a c' f'>1
    < g,\6 b, d g b g'>
  }
  \context Staff {
    \clef "treble_8"
    < f, c f a c' f'>1
    < g, b, d g b' g'>
  }
>>

[image of music]

Dans la mesure où aucun diagramme prédéfini n’est chargé par défaut, le calcul automatique des diagrammes d’accord est le comportement par défaut. Dès que les diagrammes par défaut sont chargés, le calcul automatique peut être activé ou désactivé par des commandes prédéfinies :

\storePredefinedDiagram <c e g c' e'>
                        #guitar-tuning
                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
<<
  \context ChordNames {
     \chordmode {
       c1 c c
     }
  }
  \context FretBoards {
    <c e g c' e'>1
    \predefinedFretboardsOff
    <c e g c' e'>
    \predefinedFretboardsOn
    <c e g c' e'>
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <c e g c' e'>
    <c e g c' e'>
  }
>>

[image of music]

Parfois le calculateur se trouvera incapable de trouver un diagramme d’accord convenable. On peut souvent y remédier en assignant les notes aux cordes. Dans bien des cas, il suffit de placer manuellement une seule note pour que les autres soient alors placées de maniére appropriée par le contexte FretBoards.

Il est possible d’ajouter des indications de doigté aux diagrammes de fret.

<<
  \context ChordNames {
     \chordmode {
       c1 d:m
     }
  }
  \context FretBoards {
    < c-3 e-2 g c'-1 e' > 1
    < d a-2 d'-3 f'-1>
  }
  \context Staff {
    \clef "treble_8"
    < c e g c' e' > 1
    < d a d' f'>
  }
>>

[image of music]

La propriété minimumFret permet de définir la case minimale qui servira à calculer les cordes et les cases du contexte FretBoard.

<<
  \context ChordNames {
     \chordmode {
       d1:m d:m
     }
  }
  \context FretBoards {
    < d a d' f'>
    \set FretBoards.minimumFret = #5
    < d a d' f'>
  }
  \context Staff {
    \clef "treble_8"
    < d a d' f'>
    < d a d' f'>
  }
>>

[image of music]

Les cordes et les cases du contexte FretBoards sont liées à la propriété stringTunings, qui a là même signification que dans le contexte TabStaff. Voir Tablatures personnalisées pour plus d’information sur la propriété stringTunings.

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur au travers des propriétés de l’interface fret-diagram-interface. Pour un diagramme d’accord, les propriétés de l’interface dépendent de FretBoards.FretBoard.

Commandes prédéfinies

\predefinedFretboardsOff, \predefinedFretboardsOn.

Voir aussi

Manuel de notation : Tablatures personnalisées.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : fret-diagram-interface.


Doigtés pour la main droite

Les doigtés de main droite p-i-m-a doivent être entrés dans une construction de type accord <> même s’il n’y a qu’une seule note.

Note : Un trait d’union doit suivre la note et une espace doit précéder la fermeture de la construction par un >.

\clef "treble_8"
<c-\rightHandFinger #1 >4
<e-\rightHandFinger #2 >
<g-\rightHandFinger #3 >
<c-\rightHandFinger #4 >
<c,-\rightHandFinger #1 e-\rightHandFinger #2
  g-\rightHandFinger #3 c-\rightHandFinger #4 >1

[image of music]

Pour plus de clarté, vous pouvez traduire ou abréger la commande \rightHandFinger, par exemple en \doigtMainDroite ou même \MD :

#(define MD rightHandFinger)

Morceaux choisis

Placement of right-hand fingerings

It is possible to exercise greater control over the placement of right-hand fingerings by setting a specific property, as demonstrated in the following example.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"
  
  \set strokeFingerOrientations = #'(up down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4
  
  \set strokeFingerOrientations = #'(up right down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4
  
  \set strokeFingerOrientations = #'(left)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >2
}

[image of music]

Fingerings, string indications, and right-hand fingerings

This example combines left-hand fingering, string indications, and right-hand fingering.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"
  <c-3\5-\RH #1 >4
  <e-2\4-\RH #2 >4
  <g-0\3-\RH #3 >4
  <c-1\2-\RH #4 >4
}

[image of music]

Voir aussi

Morceaux choisis : Fretted strings.

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


2.4.2 Guitare

La plupart des aspects en matière de notation pour guitare sont traités dans la partie commune aux instruments frettés. Il subsiste cependant quelques particularités que nous allons maintenant examiner. Parfois l’utilisateur aimerait créer des documents de type recueil de chansons, où l’on ne trouve que des accords au-dessus des paroles. Dans la mesure où LilyPond est un éditeur de partitions, il n’est pas l’outil optimal pour des documents sans partition. Une meilleure alternative serait de recourrir à un traitement de texte, un éditeur de texte ou, pour les utilisateurs experimentés, un logiciel typographique tel que GuitarTex.


Indication de la position et du barré

Cet exemple montre comment indiquer les positions et les barrés :

\clef "treble_8"
b16 d g b e
\textSpannerDown
\override TextSpanner #'(bound-details left text) = #"XII "
  g16\startTextSpan
  b16 e g e b g\stopTextSpan
e16 b g d

[image of music]

Voir aussi

Manuel de notation : Extensions de texte.

Morceaux choisis : Fretted strings, Signes d’interprétation.


Indication des harmoniques et notes étouffées

Des têtes de note spéciales peuvent servir à indiquer les notes étouffées et les sons harmoniques. Les sons harmoniques sont souvent détaillés grâce à des indications textuelles.

\relative c' {
  \clef "treble_8"
  \override Staff.NoteHead #'style = #'cross
  g8 a b c b4
  \override Staff.NoteHead #'style = #'harmonic-mixed
  d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}

[image of music]

Voir aussi

Morceaux choisis : Fretted strings.

Manuel de notation : Têtes de note spécifiques, Styles de tête de note.


2.4.3 Banjo


Tablatures pour banjo

LilyPond permet d’écrire des tablatures de base pour le banjo à cinq cordes. Pour ce faire, pensez à utiliser le format de tablature pour banjo, afin d’avoir le bon nombre de cordes et le bon accordage :

\new TabStaff <<
  \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
  \set TabStaff.stringTunings = #banjo-open-g-tuning
  {
    \stemDown
    g8 d' g'\5 a b g e d' |
    g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
    g4
  }
>>

[image of music]

LilyPond prend en charge un certain nombre d’accordages courants pour banjo : banjo-c-tuning sol,do,sol,si,ré (gCGBD), banjo-modal-tuning sol,ré,sol,do,ré (gDGCD), banjo-open-d-tuning la,ré,fa#,la,ré (aDF#AD) et banjo-open-dm-tuning la,ré,fa,la,ré (aDFAD).

Ces accordages peuvent être convertis pour banjo à quatre cordes au moyen de la fonction four-string-banjo :

\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)

Voir aussi

Morceaux choisis : Fretted strings.

Les accordages prédéfinis du banjo sont contenus dans le fichier ‘scm/output-lib.scm’.


2.5 Percussions


2.5.1 Vue d’ensemble des percussions

La notation rythmique sert avant tout aux parties de percussions ou de batterie, mais on peut aussi s’en servir à des fins pédagogiques, pour montrer le rythme d’une mélodie.


Références en matière de notation pour percussions


Notation de base pour percussions

Les parties de percussions peuvent être saisies avec le mode \drummode, qui est l’équivalent du mode standard utilisé pour les notes à hauteur déterminée. Chaque instrument de percussion peut avoir, dans le fichier LilyPond, un nom complet et un nom raccourci.

\drums {
  hihat hh bassdrum bd
}

[image of music]

Ces noms sont inventoriés dans le fichier d’initialisation ‘ly/drumpitch-init.ly’.

Voir aussi

Référence du Programme : note-event.


Portées de percussion

Une partie de percussions utilisant plusieurs instruments requiert en général une portée de plusieurs lignes, où chaque hauteur sur la portée représente un instrument à percussion.

Pour saisir cette musique, il faut que les notes soient situées dans des contextes DrumStaff et DrumVoice.

up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
down = \drummode { bassdrum4 snare8 bd r bd sn4 }
  \new DrumStaff <<
    \new DrumVoice { \voiceOne \up }
    \new DrumVoice { \voiceTwo \down }
  >>

[image of music]

L’exemple ci-dessus montre une notation polyphonique détaillée. La notation polyphonique abrégée peut être employée lorsque le contexte DrumVoice est spécifié explicitement :

\new DrumStaff <<
  \new DrumVoice = "1" { s1 *2 }
  \new DrumVoice = "2" { s1 *2 }
  \drummode {
    bd4 sn4 bd4 sn4
    <<
      { \repeat unfold 16 hh16 }
      \\
      { bd4 sn4 bd4 sn4 }
    >>
  }
>>

[image of music]

On peut choisir d’autres mises en forme si l’on définit la propriété drumStyleTable dans le contexte DrumVoice. Quelques variables prédéfinies sont disponibles :

drums-style

La notation par défaut : une batterie standard, sur une portée de cinq lignes.

[image of music]

Le plan de la batterie peut inclure jusqu’à six toms différents. Bien sûr, vous n’êtes pas obligé de tous les utiliser si la musique en prévoit moins ; par exemple, les trois toms des lignes du milieu sont tommh, tomml, et tomfh.

timbales-style

Ce style permet de saisir une partie de timbales, sur une portée à deux lignes.

[image of music]

congas-style

Ce style produit une portée à deux lignes pour une partie de congas.

[image of music]

bongos-style

Ce style produit une portée à deux lignes pour une partie de bongos.

[image of music]

percussion-style

Ce style permet de saisir toute sorte de percussions sur des portées d’une ligne.

[image of music]

Cependant, si aucun des styles prédéfinis ne vous convient, il est aisé de définir le vôtre en début de fichier.

#(define mydrums '(
         (bassdrum     default   #f         -1)
         (snare        default   #f         0)
         (hihat        cross     #f         1)
         (pedalhihat   xcircle   "stopped"  2)
         (lowtom       diamond   #f         3)))
up = \drummode { hh8 hh hh hh hhp4 hhp }
down = \drummode { bd4 sn bd toml8 toml }

\new DrumStaff <<
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>

[image of music]

Voir aussi

Fichier d’initialisation : ‘ly/drumpitch-init.ly’.

Référence du programme : DrumStaff, DrumVoice.

Problèmes connus et avertissements

La bibliothèque MIDI générale ne contient pas les rimshots — coups sur le bord de la caisse claire — donc ils sont remplacés par des sidesticks, largement équivalents.


Notes fantômes

Des notes fantômes peuvent être créées pour les parties de percussion, grâce à la commande \parenthesize décrite dans Parenthèses. Cependant, le mode \drummode n’inclut pas par défaut le graveur Parenthesis_engraver qui permet d’imprimer ces signes. Il faut donc l’ajouter explicitement dans la définition du contexte, suivant la manœuvre indiquée dans La commande \set.

\new DrumStaff \with {
  \consists "Parenthesis_engraver"
} <<
  \context DrumVoice  = "1"  { s1 *2 }
  \context DrumVoice  = "2" { s1 *2 }
  \drummode {
    <<
      {
        hh8[ hh] <hh sn> hh16
        < \parenthesize sn > hh < \parenthesize
        sn > hh8 <hh sn> hh
      } \\ {
        bd4 r4 bd8 bd r8 bd
      }
    >>
  }
>>

[image of music]

Notez que les commandes \parenthesize obligent à ajouter des accords — sous la forme < > — autour de chaque élément.


2.6 Instruments à vent


2.6.1 Vue d’ensemble des instruments à vent


Références en matière d’instruments à vent


Doigtés


2.6.2 Cornemuse


Définitions pour la cornemuse

LilyPond inclut des définitions spécifiques destinées à la notation pour cornemuse écossaise ; pour les utiliser, il suffit d’ajouter

\include "bagpipe.ly"

en début de fichier. Ainsi, vous bénéficierez de commandes courtes pour les appogiatures spéciales et idiomatiques de la cornemuse. Par exemple, \taor est un raccourci pour

\grace { \small G32[ d G e] }

bagpipe.ly prend également en charge les définitions de hauteurs pour la cornemuse ; vous n’avez donc pas à vous soucier d’employer \relative ou \transpose.

\include "bagpipe.ly"
{ \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }

[image of music]

La musique pour cornemuse est traditionnellement écrite en ré majeur. Dans la mesure où c’est la seule tonalité possible, l’usage est de ne pas indiquer l’armure explicitement. À cet effet, pensez à commencer votre partition par \hideKeySignature – ou bien \showKeySignature si, pour une raison ou pour une autre, vous tenez à afficher l’armure.

Des compositions actuelles peuvent ne pas respecter cette tonalité traditionnelle, auquel cas les do et fa devraient être abaissés en utilisant cflat ou fflat ; ils seront représenté par une note en forme de croix.

Lorsqu’on joue des œuvres moins cérémonieuses que pour une parade ou un défilé, peut survenir un sol aigu, au doux nom de « piobaireachd », et que l’on indiquera par gflat.


Exemple pour la cornemuse

Et voici en guise d’exemple, à quoi ressemble le chant populaire Amazing Grace, noté dans l’idiome de la cornemuse.

\include "bagpipe.ly"
\layout {
  indent = 0.0\cm
  \context { \Score \remove "Bar_number_engraver" }
}

\header {
  title = "Amazing Grace"
  meter = "Hymn"
  arranger = "Trad. arr."
}

{
  \hideKeySignature
  \time 3/4
  \grg \partial 4 a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg e8. f16
  \dblA A2 \grg A4
  \grg A2 f8. A16
  \grg A2 \hdblf f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 e4
  \thrwd d2.
  \slurd d2
  \bar "|."
}

[image of music]


2.7 Notation des accords


2.7.1 Mode accords


Généralités sur le mode accords

LilyPond permet de désigner les accords par leur chiffrage jazz. S’il est possible d’entrer un accord sous sa forme musicale, avec <.. >, on peut aussi le saisir par son nom. Le logiciel traite les accords comme des ensembles de hauteurs, donc les accords peuvent être transposés.

twoWays = \transpose c c' {
  \chordmode {
    c1 f:sus4 bes/f
  }
  <c e g>
  <f bes c'>
  <f bes d'>
}

<< \new ChordNames \twoWays
   \new Voice \twoWays >>

[image of music]

Cet exemple montre également que les jeux d’instructions qui permettent à LilyPond d’imprimer des accords ne cherchent pas à se montrer intelligents. Ici, le dernier accord n’est pas interprété comme étant renversé.

Notez bien que la valeur rythmique des accords doit être indiquée à l’extérieur des symboles <>.

<c e g>2

Accords courants

Dans le mode accords, introduit par la commande \chordmode, les accords ne sont indiqués que par leur note fondamentale.

\chordmode { es4. d8 c2 }

[image of music]

On peut cependant obtenir des accords différents, en utilisant le caractère deux points (:).

\chordmode { e1:m e1:7 e1:m7 }

[image of music]

Le nombre accolé à la note fondamentale est considéré comme chiffrage jazz de l’accord, qui est de ce fait construit par un empilement de tierces. Notez l’exception que constitue c:13 dans lequel la onzième est délibérément omise.

\chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 c:13 }

[image of music]

Des accords encore plus complexes peuvent être élaborés en plusieurs étapes séparées. Ainsi, on peut enrichir l’accord par des notes ajoutées, que l’on indique après le chiffrage principal et que l’on sépare par des points :

\chordmode { c:5.6 c:3.7.8 c:3.6.13 }

[image of music]

On peut augmenter ou diminuer certains intervalles au moyen des signes - ou + :

\chordmode { c:7+ c:5+.3- c:3-.5-.7- }

[image of music]

On peut aussi enlever certaines notes de l’accord, en les spécifiant après un signe ^ — les notes ajoutées doivent être indiquées avant les notes à enlever.

\chordmode { c^3 c:7^5 c:9^3.5 }

[image of music]

Voici les différents chiffrages disponibles, en plus des nombres que nous venons de voir :

m

Accord mineur. Ce chiffrage minorise la tierce, et la septième s’il y en a une.

dim

Accord diminué. Ce chiffrage minorise la tierce, diminue la quinte et la septième s’il y en a.

aug

Accord augmenté. Ce chiffrage augmente la quinte.

maj

Accord de septième majeure. Ce chiffrage majorise la septième s’il y en a une (dans le cas d’un accord parfait, ce chiffrage est facultatif).

sus

Accord de suspension. Ce chiffrage supprime la tierce, et y ajoute, suivant que vous spécifiez 2 ou 4, la seconde ou la quarte.

Il est bien sûr possible de mélanger ces chiffrages avec des notes ajoutées.

  \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }

[image of music]

Dans la mesure où un accord de treizième majeure ne sonne pas très bien avec la onzième, la onzième est enlevée automatiquement, à moins que vous ne le spécifiez explicitement.

\chordmode { c:13 c:13.11 c:m13 }

[image of music]

Les accords peuvent être renversés ou combinés avec une note étrangère à la basse, au moyen de accord/note

\chordmode { c1 c/g c/f }

[image of music]

Si la note de basse précisée appartient à l’accord, la doublure supérieure sera supprimée. Pour l’éviter, utilisez la syntaxe /+note.

\chordmode { c1 c/+g c/+f }

[image of music]

Le mode accords est semblable à \lyricmode ou autre, c’est-à-dire que la plupart des commandes sont encore disponibles ; ainsi, r ou \skip peuvent servir à insérer des silences ou des silences invisibles. De plus, les propriétés des objets peuvent être ajustées ou modifiées.

Problèmes connus et avertissements

Aucun nom de note ne peut être indiqué deux fois dans un accord. Ainsi, dans l’accord suivant, seule la quinte augmentée est prise en compte, car elle est indiquée en dernier :

\chordmode { c:5.5-.5+ }

[image of music]


Extensions et altération d’accords


2.7.2 Gravure des accords


Impression des noms d’accord

Les chiffrages d’accords sont liés au contexte ChordNames. Les accords peuvent être saisis soit au moyen de la notation indiquée ci-dessus, soit directement avec les symboles < et >.

harmonies = {
  \chordmode {a1 b c} <d' f' a'> <e' g' b'>
}
<<
  \new ChordNames \harmonies
  \new Staff \harmonies
>>

[image of music]

Vous pouvez faire ressortir les chiffrages d’accords en assignant la valeur vrai à la propriété chordChanges dans le contexte ChordNames. De cette façon, les chiffrages ne sont imprimés qu’aux changements d’accord ou en début de ligne.

harmonies = \chordmode {
  c1:m c:m \break c:m c:m d
}
<<
  \new ChordNames {
    \set chordChanges = ##t
    \harmonies }
  \new Staff \transpose c c' \harmonies
>>

[image of music]

Les exemples précédents montrent des chiffrages placés au-dessus de la portée, mais ce n’est pas obligatoire : les accords peuvent également être imprimés séparément – auquel cas vous aurez peut-être besoin d’ajouter le Volta_engraver et le Bar_engraver afin que les éventuelles barres de reprises s’affichent correctement.

\new ChordNames \with {
  \override BarLine #'bar-size = #4
  \consists Bar_engraver
  \consists "Volta_engraver"
}
\chordmode { \repeat volta 2 {
  f1:maj7 f:7 bes:7
  c:maj7
} \alternative {
  es e
}
}

[image of music]

Le modèle par défaut des chiffrages d’accord est celui de Klaus Ignatzek pour le jazz (cf. Bibliographie). Il s’agit d’une notation anglo-saxonne ; cependant vous pouvez indiquer vos chiffrages en notation française au moyen de la commande \frenchChords (voir plus bas).

Il est possible de créer votre propre modèle de chiffrages en réglant les propriétés suivantes :

chordNameExceptions

C’est la liste des accords mis en forme de manière particulière.

Cette liste d’exceptions s’indique de la façon suivante. On commence par créer une expression musicale telle que

chExceptionMusic = { <c f g bes>1 \markup { \super "7" "wahh" } }

puis on la transforme en liste d’exceptions au moyen du code

(sequential-music-to-chord-exceptions chExceptionMusic #t)

Pour qu’elles soient effectives, on ajoute ces exceptions aux exceptions par défaut définies dans ‘ly/chord-modifier-init.ly’ :

(append
 (sequential-music-to-chord-exceptions chExceptionMusic #t)
 ignatzekExceptions)

Chord name exceptions

The property chordNameExceptions can be used to store a list of special notations for specific chords.

% modify maj9 and 6(add9)
% Exception music is chords with markups
chExceptionMusic = {
  <c e g b d'>1-\markup { \super "maj9" }
  <c e g a d'>1-\markup { \super "6(add9)" }
}

% Convert music to list and prepend to existing exceptions.
chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)

theMusic = \chordmode {
  g1:maj9 g1:6.9
  \set chordNameExceptions = #chExceptions
  g1:maj9 g1:6.9
}

\layout {
  ragged-right = ##t 
}

<< \context ChordNames \theMusic
   \context Voice \theMusic
>>  

[image of music]

majorSevenSymbol

Cette propriété définit l’objet employé pour indiquer une septième majeure. Les options prédéfinies sont whiteTriangleMarkup (triangle blanc) et blackTriangleMarkup (triangle noir).

chordNameSeparator

Les différents termes d’un chiffrage jazz (par exemple les notes de l’accord et la basse) sont habituellement séparés par une barre oblique. La propriété chordNameSeparator permet d’indiquer un autre séparateur, par exemple

\new ChordNames \chordmode {
  c:7sus4
  \set chordNameSeparator
    = \markup { \typewriter "|" }
  c:7sus4
}

[image of music]

chordRootNamer

Dans les chiffrages d’accord jazz, la note fondamentale de chaque accord est exprimée par une lettre capitale, parfois suivie d’une altération, correspondant à la notation anglo-saxonne de la musique. Cette propriété a pour valeur la fonction qui transforme la hauteur de la note foncdamentale en nom de note ; c’est donc en assignant une nouvelle fonction à cette propriété que l’on peut produire des noms de note spéciaux, adaptés par exemple aux systèmes de notation d’autres pays.

chordNoteNamer

Lorsqu’un chiffrage mentionne une note ajoutée (par exemple la basse), les règles utilisées sont par défaut celles définies par la propriété chordRootNamer ci-dessus. Cependant, la propriété chordNoteNamer permet de régler cet élément indépendamment, par exemple pour imprimer la basse en caractères minuscules.

chordPrefixSpacer

Le petit ‘m’ qui indique un accord mineur est, dans la notation anglo-saxonne, attaché à la lettre de l’accord. Cependant il est possible d’ajouter un espace en assignant la valeur vrai à la propriété chordPrefixSpacer. Cet espace sera omis si une altération est présente.

Les propriétés ci-dessus font l’objet de commandes prédéfinies adaptées aux notations de différents pays : \germanChords et \semiGermanChords pour la notation allemande, \italianChords pour la notation italienne et enfin \frenchChords pour la notation française.

[image of music]

LilyPond intègre également deux autres modèles de chiffrages : une notation Jazz alternative, et un modèle systématique appelé système Banter. Pour la mise en œuvre de ces modèles, voir Table des noms d’accord.

Commandes prédéfinies

\germanChords, \semiGermanChords, \italianChords, \frenchChords.

Voir aussi

Exemples : Chords.

Fichiers internes : ‘scm/chords-ignatzek.scm’, et ‘scm/chord-entry.scm’.

Problèmes connus et avertissements

Les chiffrages d’accords ne sont déterminés que par la succession des hauteurs de notes. En d’autres termes, les accords inversés ne sont pas reconnus, ni les notes ajoutées à la basse. C’est pourquoi les accords saisis au moyen de la syntaxe <.. > peuvent produire des chiffrages étranges.


Personnalisation des noms d’accord


2.7.3 Basse chiffrée


Introduction à la basse chiffrée

Les parties de basse continue étaient très répandues dans la musique baroque et jusqu’à la fin du XVIIIe siècle. Comme son nom l’indique, le continuo constitue une partie à lui seul, qui se déroule tout au long de l’œuvre pour en donner la structure harmonique.

Les musiciens du continuo jouent des claviers (clavecin, orgue) ou de tout autre instrument pouvant réaliser des accords. Leur partie est constituée d’une portée de basse aux notes agrémentées de combinaisons de chiffres et signes indiquant le développement des accords à jouer, ainsi que leur éventuel renversement. Cette notation était avant tout un guide, invitant le musicien à improviser de lui-même l’accompagnement.

LilyPond gère la basse chiffrée.

<<
  \new Voice { \clef bass dis4 c d ais g fis}
  \new FiguredBass \figuremode {
    < 6 >4 < 7\+ >8 < 6+ [_!] >
    < 6 >4 <6 5 [3+] >
    < _ >4 < 6 5/>4
  }
>>

[image of music]

La gestion de la basse chiffrée se décompose en deux parties. Dans un premier temps, le mode \figuremode permet de saisir les accords sous forme chiffrée. Le contexte FiguredBass s’occupera ensuite de gérer les objets BassFigure.

En mode de saisie, un chiffrage est délimité par < et >. La durée est indiquée après le > :

<4 6>

[image of music]

Les altérations s’obtiennent en ajoutant aux chiffres les caractères -, ! ou +. Un signe plus s’obtient grâce à \+, et une quinte ou septième diminuée par 5/ ou 7/ respectivement.

<4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/>

[image of music]

Le caractère _ insère un espace, et l’on peut imprimer des crochets avec [ et ]. Vous pouvez aussi ajouter des chaînes de caractères ou des étiquettes — cf. Text markup commands.

<[4 6] 8 [_! 12] > <5 \markup { \number 6 \super (1) } >

[image of music]

Lorsque des chiffrages se répètent, vous pouvez utiliser des lignes de prolongation.

<<
  \new Staff {
    \clef bass
    c4 c c
  }
  \figures {
    \set useBassFigureExtenders = ##t
    <4 6> <3 6> <3 7>
  }
>>

[image of music]

En pareil cas, la ligne de prolongation masquera toujours le chiffre qu’elle rappelle dans le chiffrage suivant.

Le contexte FiguredBass ne tient aucun compte de la ligne de basse. Par conséquent, il vous faudra peut être insérer des chiffrages supplémentaires pour imprimer les prolongations, ou utiliser des \! pour les éviter, comme dans l’exemple suivant :

[image of music]

Lorsque vous utilisez des lignes de prolongation, les chiffres communs seront verticalement alignés. Pour l’éviter, insérez un silence avec r afin de réinitialiser l’alignement. Par exemple, saisissez

  <4 6>8 r8

au lieu de

  <4 6>4

On peut choisir d’impriemr les altérations et signes plus aussi bien avant qu’après les chiffres, en réglant les propriétés figuredBassAlterationDirection et figuredBassPlusDirection.

[image of music]

Bien que la gestion de la basse chiffrée ressemble beaucoup à celle des accords, elle est beaucoup plus simpliste. Le mode \figuremode ne fait que stocker des chiffres que le contexte FiguredBass se chargera d’imprimer tels quels. En aucune manière ils ne sont transformés en son, et ils ne sont pas rendus dans un fichier MIDI.

En interne, ce code produit des étiquettes de texte que vous pouvez formater à votre convenance grâce aux propriétés des étiquettes. Par exemple, l’espacement vertical des chiffrages est déterminé par la propriété baseline-skip.

On peut également ajouter une basse chiffrée directement à un contexte Staff. L’alignement vertical est alors automatiquement ajusté.

[image of music]

Propriétés couramment modifiées

Par défaut, les chiffres sont imprimés au-dessus de la portée. Pour les imprimer dessous, ajoutez

\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN

Problèmes connus et avertissements

Si vous positionnez la basse chiffrée au dessus de la portée en ayant recours aux lignes d’extension et implicitBassFigures, les lignes peuvent se mélanger. Préserver l’ordre des prolongateurs peut s’avérer impossible lorsque plusieurs chiffrages qui se chevauchent en possèdent. Ce problème peut être contourné en jouant sur l’empilement, avec la propriété stacking-dir de l’objet BassFigureAlignment.

Voir aussi

Référence du programme : les objets BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket et BassFigureContinuation, ainsi que le contexte FiguredBass.


Saisie de la basse chiffrée


Gravure de la basse chiffrée


2.8 Notations anciennes


2.8.1 Introduction aux notations anciennes

La gestion par LilyPond des formes de notation ancienne inclut des fonctionnalités spécifiques à la notation mensurale et au chant grégorien. La basse chiffrée est également partiellement prise en charge.

De nombreux objets graphiques — « grobs » dans le jargon de LilyPond — disposent d’une propriété style, comme nous le verrons dans

Manipuler cette propriété permet d’adapter l’aspect typographique des grobs à une forme de notation particulière, ce qui évite la création de nouveaux concepts de notation.

En plus des signes d’articulation standards décrits à la section Articulations et ornements, la notation ancienne dispose de signes particuliers.

D’autres aspects de la notation ancienne ne peuvent pas être gérés aussi simplement qu’en jouant sur les propriétés d’un style appliqué à un objet graphique ou en lui ajoutant des articulations. Certains concepts sont spécifiques à la notation ancienne.

Si tout cela vous dépasse et que vous désirez plonger dans le vif du sujet sans trop vous préoccuper d’ajuster des contextes, consultez les pages dédiées aux contextes prédéfinis. Ils vous permettront d’adapter vos contextes de voix et de portée, et vous n’aurez plus qu’à saisir les notes.

LilyPond gère partiellement la représentation de basses chiffrées, typiques de l’époque baroque, mais également employées de nos jours en harmonie et en analyse.

Voici les points que nous allons aborder :


Formes de notation ancienne prises en charge


2.8.2 Signes de note alternatifs


Têtes de note anciennes

Pour de la musique ancienne, vous disposez de plusieurs styles de tête de note, en plus du style par défaut default. Vous pouvez affecter à la propriété style de l’objet NoteHead les valeurs baroque, neomensural, mensural ou petrucci. En style baroque, la seule différence par rapport au style default concerne la \breve qui sera carrée et non pas ovoïde. Le style neomensural ajoute au baroque le fait que les notes de durée inférieure ou égale à une ronde sont en forme de losange, et les hampes centrées sur la tête. Ce style est particulièrement adapté à la transcription de la musique mesurée dans les incipits. Le style mensural permet de reproduire les têtes de note telles qu’imprimées au XVIe siècle. Enfin, le style petrucci imite des partitions historiques, bien qu’il utilise de plus grosses têtes de note.

L’exemple suivant illustre le style neomensural.

\set Score.skipBars = ##t
\override NoteHead #'style = #'neomensural
a'\longa a'\breve a'1 a'2 a'4 a'8 a'16

[image of music]

Si vous écrivez en notation grégorienne, le Vaticana_ligature_engraver se chargera de sélectionner les têtes de note appropriées ; il est donc inutile de spécifier le style à utiliser. Vous pouvez cependant spécifier par exemple le style vaticana_punctum pour obtenir des neumes punctums. De même, c’est le Mensural_ligature_engraver qui se chargera des ligatures mensurales. Consultez la section Ligatures pour savoir comment fonctionnent les graveurs de ligature.

Voir aussi

Pour un aperçu de toutes les possibilités, consultez Styles de tête de note.


Altérations anciennes

Pour utiliser les formes anciennes d’altération, utilisez la propriété glyph-name-alist des objets graphiques Accidental et KeySignature.

[image of music]

Vous noterez que chacun de ces styles ne comporte pas toutes les altérations. LilyPond changera de style s’il y a besoin d’une altération indisponible dans le style utilisé.

À l’instar des altérations accidentelles, le style d’armure est géré par la propriété glyph-name-alist de l’objet KeySignature.

Voir aussi

Dans ce manuel : Hauteurs, Altérations, et Altérations accidentelles automatiques, pour les principes généraux d’utilisation des altérations ; Armure pour les armures.

Référence du programme : KeySignature.

Exemples : Notations anciennes.


Silences anciens

La propriété style de l’objet Rest permet d’obtenir des silences de type ancien. Vous disposez des styles classical, neomensural et mensural. Le style classical ne se distingue du style default que par le soupir (demi-soupir en miroir). Le style neomensural convient tout à fait à l’incipit lors de la transcription de musique mensurale. Le style mensural, enfin, imite la gravure des silences dans certaines éditions du XVIe siècle.

L’exemple suivant illustre le style neomensural.

\set Score.skipBars = ##t
\override Rest #'style = #'neomensural
r\longa r\breve r1 r2 r4 r8 r16

[image of music]

Les styles mensural et neomensural ne disposent pas des 8e et 16e de soupir ; LilyPond utilise dans de tels cas le style par défaut. Voici une liste des styles de silences disponibles.

\layout {
  indent = 0.0
  \context {
    \Staff
    \remove "Time_signature_engraver"
  }
}

\new Staff \relative c {
  \cadenzaOn
  \override Staff.Rest #'style = #'mensural
  r\maxima^\markup \typewriter { mensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  
  \override Staff.Rest #'style = #'neomensural
  r\maxima^\markup \typewriter { neomensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  
  \override Staff.Rest #'style = #'classical
  r\maxima^\markup \typewriter { classical }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  
  \override Staff.Rest  #'style = #'default
  r\maxima^\markup \typewriter { default }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}

[image of music]

Les silences sont absents de la notation grégorienne ; par contre, cette notation utilise des Divisions.

Voir aussi

Dans ce manuel : les principes généraux sur l’utilisation des silences sont exposés dans Silences.


Clefs anciennes

Avec LilyPond, de nombreuses clés sont disponibles, dont certaines sont dédiées à la musique ancienne.

Le tableau suivant présente les différentes clés anciennes que vous pouvez sélectionner avec la commande \clef. Certaines de ces clés utilisent le même glyphe, attaché à l’une ou l’autre des lignes de la portée. Le chiffre porté en suffixe permet alors de les différencier. Vous pouvez néanmoins forcer le positionnement du glyphe sur une ligne, comme expliqué à la section Clefs. Dans la colonne exemple, la note suivant la clé montre le do médium.

Description

Clé disponible

Exemple

Clé d’ut, style mensural moderne

neomensural-c1, neomensural-c2,
neomensural-c3, neomensural-c4

[image of music]

Clé d’ut, style mensural Petrucci, positionnable sur différentes lignes (clé d’ut seconde pour l’exemple)

petrucci-c1, petrucci-c2,
petrucci-c3, petrucci-c4,
petrucci-c5

[image of music]

Clé de fa, style mensural Petrucci

petrucci-f

[image of music]

Clé de sol, style mensural Petrucci

petrucci-g

[image of music]

Clé d’ut, style mensural historique

mensural-c1, mensural-c2,
mensural-c3, mensural-c4

[image of music]

Clé de fa, style mensural historique

mensural-f

[image of music]

Clé de sol, style mensural historique

mensural-g

[image of music]

Clé d’ut, style Editio Vaticana

vaticana-do1, vaticana-do2,
vaticana-do3

[image of music]

Clé de fa, style Editio Vaticana

vaticana-fa1, vaticana-fa2

[image of music]

Clé d’ut, style Editio Medicaea

medicaea-do1, medicaea-do2,
medicaea-do3

[image of music]

Clé de fa, style Editio Medicaea

medicaea-fa1, medicaea-fa2

[image of music]

Clé d’ut, style historique Hufnagel

hufnagel-do1, hufnagel-do2,
hufnagel-do3

[image of music]

Clé de fa, style historique Hufnagel

hufnagel-fa1, hufnagel-fa2

[image of music]

Clé combinée ut/fa, style historique Hufnagel

hufnagel-do-fa

[image of music]

Moderne signifie « gravé comme dans les transcriptions contemporaines de musique mesurée. »

Petrucci signifie « inspiré des éditions réalisées par le maître graveur Petrucci (1466-1539). »

Historique signifie « gravé comme dans les éditions historiques, manuscrites ou non, autres que celles de Petrucci. »

Editio XXX signifie « gravé comme dans les ouvrages estampillés Editio XXX. »

Les clés d’ut de Petrucci avaient une hampe gauche différente selon leur ligne de rattachement.

Voir aussi

Dans ce manuel : voir Clefs.

Problèmes connus et avertissements

La clé de sol mensurale est calquée sur celle de Petrucci.


Crochets anciens

Le réglage de la propriété flag-style de l’objet hampe ( Stem) donne accès aux crochets de style ancien. Les seuls styles actuellement pris en charge sont default et mensural.

\override Stem #'flag-style = #'mensural
\override Stem #'thickness = #1.0
\override NoteHead #'style = #'mensural
\autoBeamOff
c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32

[image of music]

Notez que pour chaque crochet mensural, l’extrémité la plus proche de la tête de note sera toujours attachée à une ligne de la portée.

Il n’existe pas de crochet spécifique au style néo-mensural. Nous vous conseillons donc, lorsque vous réalisez l’incipit d’une transcription, d’utiliser le style par défaut. Les crochets n’existent pas en notation grégorienne.

Problèmes connus et avertissements

Les crochets anciens s’attachent aux hampes avec un léger décalage, suite à des modifications intervenues au début de la série 2.3.

L’alignement vertical des crochets par rapport aux lignes de la portée sous-entend que les hampes se terminent toujours soit sur une ligne, soit à l’exact milieu d’un interligne. Ceci n’est pas toujours réalisable, surtout si vous faites appel à des fonctionnalités avancées de présentation de la notation classique, qui, par définition, ne sont pas prévues pour être appliquées à la notation mensurale.


Métriques anciennes

Les chiffrages de métrique mensurale sont partiellement pris en charge. Les glyphes ne font que représenter des métriques particulières. En d’autres termes, pour obtenir le glyphe correspondant à une métrique mensurale particulière à l’aide de la commande \time n/m, vous devez choisir la paire (n,m) parmi les valeurs suivantes :

[image of music]

La propriété style de l’objet TimeSignature permet d’accéder aux indicateurs de métrique anciens. Les styles neomensural et mensural sont disponibles. Vous avez vu ci-dessus le style neomensural, particulièrement utilisé pour l’incipit des transcriptions. Le style mensural imite l’aspect de certaines éditions du XVIe siècle.

Voici les différences entre les styles :

[image of music]

Voir aussi

Dans ce manuel : Métrique expose les principes généraux sur l’utilisation des indications de métrique.

Problèmes connus et avertissements

Les équivalences de durées de note ne sont pas modifiées par un changement de métrique. Par exemple, l’équivalence 1 brève pour 3 semi-brèves (tempus perfectum) doit s’effectuer à la main en entrant :

breveTP = #(ly:make-duration -1 0 3 2)
…
{ c\breveTP f1 }

Ce qui définira breveTP à 3/2 fois 2 = 3 fois une ronde.

Le symbole old6/8alt — symbole alternatif pour la métrique 6/8 — ne peut être utilisé grâce à une commande \time. Utilisez plutôt un \markup.


2.8.3 Signes de note supplémentaires


Articulations anciennes

En plus des signes d’articulation standards décrits à la section Articulations et ornements, LilyPond fournit des articulations pour la musique ancienne. Elles sont spécifiquement destinées au style Editio Vaticana.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \override TextScript #'font-family = #'typewriter
    \override TextScript #'font-shape = #'upright
    \override Script #'padding = #-0.1
    a\ictus_"ictus" \break
    a\circulus_"circulus" \break
    a\semicirculus_"semicirculus" \break
    a\accentus_"accentus" \break
    \[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
  }
}

[image of music]

Problèmes connus et avertissements

Certaines articulations sont verticalement trop proches de leurs têtes de note.

Le trait d’un episem n’est bien souvent pas apparent et, lorsqu’il l’est, son extension à droite est trop longue.


Guidons

Un guidon — custos, pluriel custodes en latin — est un symbole qui apparaît à la fin d’une portée. Il montre la hauteur de la ou des premières notes de la portée suivante, donnant une indication judicieuse à l’exécutant.

Les guidons étaient couramment utilisés jusqu’au XVIIe siècle. De nos jours, on les retrouve uniquement dans quelques formes particulières de notation telles que les éditions contemporaines de chant grégorien comme les editio vaticana. Différents glyphes existent selon le style de notation.

L’impression de guidons s’obtient en affectant, dans un bloc \layout, le Custos_engraver au contexte Staff, comme le montre l’exemple suivant.

\layout {
  \context {
    \Staff
    \consists Custos_engraver
    Custos \override #'style = #'mensural
  }
}

Le résultat ressemblera à

[image of music]

Le glyphe du guidon est déterminé par la propriété style. Les styles disponibles sont vaticana, medicaea, hufnagel et mensural. En voici un aperçu :

[image of music]

Voir aussi

Référence du programme : Custos.

Exemples : Notations anciennes.


Divisions

Une division — divisio, pluriel divisiones en latin — est un symbole ajouté à la portée et utilisé en chant grégorien pour séparer les phrases ou parties. Divisio minima, divisio maior et divisio maxima peuvent respectivement s’interpréter comme une pauses courte, moyenne ou longue, à l’image des marques de respiration — cf. Signes de respiration. Le signe finalis n’est pas uniquement une marque de fin de chant ; il sert aussi à indiquer la fin de chaque partie dans une structure verset/répons.

Les divisions sont disponibles après inclusion du fichier ‘gregorian-init.ly’. Ce fichier définit les commandes \divisioMinima, \divisioMaior, \divisioMaxima et \finalis. Certaines éditions utilisent virgula ou caesura en lieu et place de divisio minima ; c’est pourquoi ‘gregorian-init.ly’ définit aussi \virgula et \caesura.

[image of music]

Commandes prédéfinies

\virgula, \caesura, \divisioMinima, \divisioMaior, \divisioMaxima, \finalis.

Voir aussi

Dans ce manuel : Signes de respiration.

Référence du programme : BreathingSign.

Exemples : Winds.


Ligatures

Une ligature est un symbole graphique qui représente un groupe d’au moins deux notes. Les ligatures ont commencé à apparaître dans les manuscrits de chant grégorien, pour indiquer des suites ascendantes ou descendantes de notes.

Les ligatures s’indiquent par une inclusion entre \[ et \]. Certains styles de ligature peuvent demander un complément de syntaxe spécifique. Par défaut, le graveur LigatureBracket place un simple crochet au dessus de la ligature :

\transpose c c' {
  \[ g c a f d' \]
  a g f
  \[ e f a g \]
}

[image of music]

Selon le style de ligature désiré, il faut ajouter au contexte Voice le graveur de ligature approprié, comme nous le verrons plus loin. Seules sont disponibles les ligatures mensurales blanches, avec quelques limitations.

Problèmes connus et avertissements

La gestion de l’espacement spécifique aux ligatures n’est à ce jour pas implémentée. En conséquence, les ligatures sont trop espacées les unes des autres et les sauts de ligne mal ajustés. De plus, les paroles ne s’alignent pas de manière satisfaisante en présence de ligatures.

Les altérations ne pouvant être imprimées à l’intérieur d’une ligature, il faut les rassembler et les imprimer juste avant.

La syntaxe utilisée correspond à l’ancienne convention de préfixage \[ expr. musicale\]. Pour des raisons d’uniformité, nous opterons probablement pour le style en suffixe (postfix) note\[ ... note\]. En attendant, vous pouvez inclure le fichier ‘gregorian-init.ly’, qui fournit une fonction Scheme

\ligature expr. musicale

qui produit le même résultat, et dont la pérennité est assurée.

* White mensural ligatures:: * Gregorian square neumes ligatures::


Ligatures mensurales

Les ligatures mensurales blanches sont prises en charge, avec des limitations.

La gravure des ligatures mensurales blanches s’obtient après avoir ajouté le Mensural_ligature_engraver et enlevé le Ligature_bracket_engraver dans le contexte Voice, comme ici :

\layout {
  \context {
    \Voice
    \remove Ligature_bracket_engraver
    \consists Mensural_ligature_engraver
  }
}

Lorsque le code ci-dessus est employé, l’aspect d’une ligature mensurale blanche est déterminé à partir des hauteurs et durées des notes qui la composent. Bien que cela demande un temps d’adaptation au nouvel utilisateur, cette méthode offre l’avantage que toute l’information musicale incluse dans la ligature est connue en interne. Ceci est non seulement important pour le rendu MIDI, mais aussi pour des questions de transcription automatisée d’une ligature.

Par exemple,

\set Score.timing = ##f
\set Score.defaultBarType = "empty"
\override NoteHead #'style = #'neomensural
\override Staff.TimeSignature #'style = #'neomensural
\clef "petrucci-g"
\[ c'\maxima g \]
\[ d\longa c\breve f e d \]
\[ c'\maxima d'\longa \]
\[ e'1 a g\breve \]

[image of music]

Si on ne remplace pas le Ligature_bracket_engraver par le Mensural_ligature_engraver, on obtient

[image of music]

Problèmes connus et avertissements

L’espacement horizontal n’est pas des meilleurs.


Neumes ligaturés grégoriens

Les neumes grégoriens conformément au style des Editio Vaticana sont pris en charge de façon assez limitée. Les ligatures élémentaires sont déjà disponibles, mais beaucoup de règles typographiques ne sont pas encore implémentées, notamment l’espacement horizontal des enchaînements de ligatures, l’alignement des paroles ou une gestion convenable des altérations.

Le tableau ci-dessous inventorie les différents neumes contenus dans le second tome de l’Antiphonale Romanum (Liber Hymnarius) publié par l’abbaye de Solesmes en 1983.

Neuma aut
Neumarum Elementa

Figurae
Rectae

Figurae
Liquescentes
Auctae

Figurae
Liquescentes
Deminutae

1. Punctum

[image of music]

[image of music]

[image of music]

2. Virga

[image of music]

3. Apostropha vel Stropha

[image of music]

[image of music]

4. Oriscus

[image of music]

5. Clivis vel Flexa

[image of music]

[image of music]

[image of music]

6. Podatus vel Pes

[image of music]

[image of music]

[image of music]

7. Pes Quassus

[image of music]

[image of music]

8. Quilisma Pes

[image of music]

[image of music]

9. Podatus Initio Debilis

[image of music]

[image of music]

10. Torculus

[image of music]

[image of music]

[image of music]

11. Torculus Initio Debilis

[image of music]

[image of music]

[image of music]

12. Porrectus

[image of music]

[image of music]

[image of music]

13. Climacus

[image of music]

[image of music]

[image of music]

14. Scandicus

[image of music]

[image of music]

[image of music]

15. Salicus

[image of music]

[image of music]

16. Trigonus

[image of music]

Contrairement à la majorité des autres systèmes de notation neumatique, la manière de saisir les neumes n’a rien à voir avec leur apparence typographique ; elle se concentre plutôt sur le sens musical. Ainsi, \[ a \pes b \flexa g \] produit un torculus constitué de trois punctums, alors que \[ a \flexa g \pes b \] produit un porrectus avec une flexe incurvée et un seul punctum. Il n’existe pas de commande à proprement parler qui permette de spécifier la courbe d’une flexe ; c’est la source musicale qui va le déterminer. Le fondement d’une telle approche réside dans la distinction que nous faisons entre les aspects musicaux de la source et le style de notation que nous voulons obtenir. De ce fait, la même source pourra être utilisée pour imprimer dans un autre style de notation grégorienne.

Le tableau suivant présente les fragments de code qui ont permis de générer les neumes ligaturés du tableau précédent. Les lettres de la première colonne renvoient aux ligatures ci-dessus. La seconde colonne énumère le nom des ligatures, et la troisième le code ayant permis de les générer, se basant ici sur sol, la, si.

#

Nom

Code source

a

Punctum

\[ b \]

b

Punctum Inclinatum

\[ \inclinatum b \]

c

Punctum Auctum
Ascendens

\[ \auctum \ascendens b \]

d

Punctum Auctum
Descendens

\[ \auctum \descendens b \]

e

Punctum Inclinatum
Auctum

\[ \inclinatum \auctum b \]

f

Punctum Inclinatum
Parvum

\[ \inclinatum \deminutum b \]

g

Virga

\[ \virga b \]

h

Stropha

\[ \stropha b \]

i

Stropha Aucta

\[ \stropha \auctum b \]

j

Oriscus

\[ \oriscus b \]

k

Clivis vel Flexa

\[ b \flexa g \]

l

Clivis Aucta
Descendens

\[ b \flexa \auctum \descendens g \]

m

Clivis Aucta
Ascendens

\[ b \flexa \auctum \ascendens g \]

n

Cephalicus

\[ b \flexa \deminutum g \]

o

Podatus vel Pes

\[ g \pes b \]

p

Pes Auctus
Descendens

\[ g \pes \auctum \descendens b \]

q

Pes Auctus
Ascendens

\[ g \pes \auctum \ascendens b \]

r

Epiphonus

\[ g \pes \deminutum b \]

s

Pes Quassus

\[ \oriscus g \pes \virga b \]

t

Pes Quassus
Auctus Descendens

\[ \oriscus g \pes \auctum \descendens b \]

u

Quilisma Pes

\[ \quilisma g \pes b \]

v

Quilisma Pes
Auctus Descendens

\[ \quilisma g \pes \auctum \descendens b \]

w

Pes Initio Debilis

\[ \deminutum g \pes b \]

x

Pes Auctus Descendens
Initio Debilis

\[ \deminutum g \pes \auctum \descendens b \]

y

Torculus

\[ a \pes b \flexa g \]

z

Torculus Auctus
Descendens

\[ a \pes b \flexa \auctum \descendens g \]

A

Torculus Deminutus

\[ a \pes b \flexa \deminutum g \]

B

Torculus Initio Debilis

\[ \deminutum a \pes b \flexa g \]

C

Torculus Auctus
Descendens Initio Debilis

\[ \deminutum a \pes b \flexa \auctum \descendens g \]

D

Torculus Deminutus
Initio Debilis

\[ \deminutum a \pes b \flexa \deminutum g \]

E

Porrectus

\[ a \flexa g \pes b \]

F

Porrectus Auctus
Descendens

\[ a \flexa g \pes \auctum \descendens b \]

G

Porrectus Deminutus

\[ a \flexa g \pes \deminutum b \]

H

Climacus

\[ \virga b \inclinatum a \inclinatum g \]

I

Climacus Auctus

\[ \virga b \inclinatum a \inclinatum \auctum g \]

J

Climacus Deminutus

\[ \virga b \inclinatum a \inclinatum \deminutum g \]

K

Scandicus

\[ g \pes a \virga b \]

L

Scandicus Auctus
Descendens

\[ g \pes a \pes \auctum \descendens b \]

M

Scandicus Deminutus

\[ g \pes a \pes \deminutum b \]

N

Salicus

\[ g \oriscus a \pes \virga b \]

O

Salicus Auctus Descendens

\[ g \oriscus a \pes \auctum \descendens b \]

P

Trigonus

\[ \stropha b \stropha b \stropha a \]

Les ligatures que nous venons de voir, bien que rudimentaires, donnent un aperçu des possibilités de former des ligatures grégoriennes. En théorie, vous pouvez inclure entre les délimiteurs \[ et \], autant de sons que nécessaires à la ligature, ainsi que de préfixes tels que \pes, \flexa, \virga, \inclinatum, … Bien sûr, les règles de construction présentées ci-dessus peuvent se combiner, ce qui permet la création d’une infinité de ligatures.

Les points d’augmentum, ou morae, s’obtiennent avec la fonction \augmentum. Notez que cette fonction \augmentum est implémentée en tant que fonction unaire plutôt que comme un préfixe de note. Par conséquent, \augmentum \virga c ne donnera rien de particulier. Il faut l’utiliser avec la syntaxe \virga \augmentum c ou \augmentum {\virga c}. Par ailleurs, l’expression \augmentum {a g} constitue une forme abrégée de \augmentum a \augmentum g.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \[ \augmentum a \flexa \augmentum g \]
    \augmentum g
  }
}

[image of music]

Commandes prédéfinies

LilyPond dispose des préfixes suivants : \virga, \stropha, \inclinatum, \auctum, \descendens, \ascendens, \oriscus, \quilisma, \deminutum, \cavum, \linea.

Les préfixes de note peuvent s’agglutiner, modulo quelques restrictions. Par exemple, on peut appliquer un \descendens ou un \ascendens à une note, mais pas les deux simultanément à une même note.

Deux notes adjacentes peuvent être reliées grâce aux commandes \pes ou \flexa pour marquer une ligne mélodique respectivement ascendante ou descendante.

Utilisez la fonction musicale unaire \augmentum pour ajouter des points d’augmentum.

Problèmes connus et avertissements

Lorsqu’un \augmentum apparaît dans une ligature en fin de portée, son placement vertical peut être erroné. Pour y remédier, ajoutez un silence invisible, s8 par exemple, comme dernière note de cette portée.

L’\augmentum devrait être implémenté en tant que préfixe plutôt qu’en tant que fonction unaire, afin qu’\augmentum puisse s’intégrer avec d’autres préfixes dans n’importe quel ordre.


2.8.4 Contextes prédéfinis


Contextes du chant grégorien

Les contextes VaticanaVoiceContext et VaticanaStaffContext permettent de graver le chant grégorien dans le style des éditions vaticanes. Ces contextes initialisent les propriétés de tous les autres contextes et objets graphiques à des valeurs adéquates, de telle sorte que vous pouvez tout de suite vous lancer dans la saisie de votre chant, comme ci-dessous :

\include "gregorian.ly"
\score {
  <<
    \new VaticanaVoice = "cantus" {
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \]
      f \divisioMinima
      \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
      c' \divisioMinima \break
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
    }
    \new Lyrics \lyricsto "cantus" {
      San- ctus, San- ctus, San- ctus
    }
  >>
}

[image of music]


Les contextes de la musique mensurale

Les contextes MensuralVoiceContext et MensuralStaffContext permettent de graver des chants dans le style mesuré. Ces contextes initialisent les propriétés de tous les autres contextes et objets graphiques à des valeurs adéquates, de telle sorte que vous pouvez tout de suite vous lancer dans la saisie de votre chant comme ci-après :

\score {
  <<
    \new MensuralVoice = "discantus" \transpose c c' {
      \override Score.BarNumber #'transparent = ##t {
        c'1\melisma bes a g\melismaEnd
        f\breve
        \[ f1\melisma a c'\breve d'\melismaEnd \]
        c'\longa
        c'\breve\melisma a1 g1\melismaEnd
        fis\longa^\signumcongruentiae
      }
    }
    \new Lyrics \lyricsto "discantus" {
      San -- ctus, San -- ctus, San -- ctus
    }
  >>
}

[image of music]


2.8.5 Transcription de musique mensurale


Différentes éditions à partir d’une même source


Des incipits


Mise en forme de la musique mensurale


Transcription de chant grégorien


2.8.6 Notation éditoriale


Altérations accidentelles suggérées

Les contextes MensuralVoiceContext et MensuralStaffContext permettent de graver des chants dans le style mesuré. Ces contextes initialisent les propriétés de tous les autres contextes et objets graphiques à des valeurs adéquates, de telle sorte que vous pouvez tout de suite vous lancer dans la saisie de votre chant comme ci-après :

\score {
  <<
    \new MensuralVoice = "discantus" \transpose c c' {
      \override Score.BarNumber #'transparent = ##t {
        c'1\melisma bes a g\melismaEnd
        f\breve
        \[ f1\melisma a c'\breve d'\melismaEnd \]
        c'\longa
        c'\breve\melisma a1 g1\melismaEnd
        fis\longa^\signumcongruentiae
      }
    }
    \new Lyrics \lyricsto "discantus" {
      San -- ctus, San -- ctus, San -- ctus
    }
  >>
}

[image of music]


Notation du rythme dans la musique baroque


2.9 Musiques du monde


2.9.1 Musique arabe


Références en matière de musique arabe


Noms de note arabes


Tonalités arabes


Métriques arabes


Exemple concret de musique arabe


Autres sources d’information


3. Généralités en matière d’entrée et sortie


3.1 Structure de fichier


3.1.1 Structure d’une partition


3.1.2 Plusieurs partitions dans un même ouvrage


3.1.3 Structure de fichier


3.2 Titres et entêtes


3.2.1 Création de titres


3.2.2 Titres personnalisés


3.2.3 Référencement des numéros de page


3.2.4 Table des matières


3.3 Travail sur des fichiers texte


3.3.1 Insertion de fichiers LilyPond


3.3.2 Différentes éditions à partir d’une même source


Utilisation de variables


Utilisation de balises

La commande \tag affecte un nom à des expressions musicales. Les expressions ainsi balisées pourront être filtrées par la suite. Ce mécanisme permet d’obtenir différentes versions à partir d’une même source musicale.

Dans l’exemple qui suit, nous obtenons deux versions du même extrait, l’une pour le conducteur, l’autre pour l’instrumentiste, et qui comportera les ornements.

c1
<<
  \tag #'partie <<
    R1 \\
    {
      \set fontSize = #-1
      c4_"cue" f2 g4 }
  >>
  \tag #'conducteur R1
>>
c1

Ce principe peut s’appliquer aux articulations, textes, etc. Il suffit de positionner

-\tag #votre-balise

avant l’articulation, comme ici :

c1-\tag #'part ^4

Ceci définira une note avec une indication de doigté conditionnelle.

C’est grâce aux commandes \keepWithTag et \removeWithTag que vous filtrerez les expressions balisées. Par exemple :

<<
  de la musique
  \keepWithTag #'score de la musique
  \keepWithTag #'part de la musique
>>

donnerait :

[image of music]

Les arguments de la commande \tag doivent être un symbole (tel que #'score ou #'part), suivi d’une expression musicale. Vous pouvez utiliser de multiples balises dans un morceau en saisissant plusieurs \tag.

\tag #'original-part \tag #'transposed-part …

Problèmes connus et avertissements

Lorsqu’elles comportent des silences, ceux-ci ne seront pas fusionnés si vous imprimez une partition avec les deux sections balisées.


3.3.3 Codage du texte


3.3.4 Affichage de notation au format LilyPond


3.4 Contrôle des sorties


3.4.1 Extraction de fragments musicaux


3.4.2 Ignorer des passages de la partition


3.5 Sortie MIDI


3.5.1 Création de fichiers MIDI


Noms d’instrument


3.5.2 Le bloc MIDI


3.5.3 Contenu de la sortie MIDI


Éléments pris en compte dans le MIDI


Éléments non pris en compte dans le MIDI


3.5.4 Répétitions et MIDI

Au prix de quelques réglages, les reprises de toutes sortes peuvent être rendues dans le fichier MIDI. Il suffit pour cela de recourir à la fonction \unfoldRepeats, qui développe toutes les reprises. En d’autre termes, \unfoldRepeats transforme toutes les reprises en reprises de type unfold.

\unfoldRepeats {
  \repeat tremolo 8 {c'32 e' }
  \repeat percent 2 { c''8 d'' }
  \repeat volta 2 {c'4 d' e' f'}
  \alternative {
    { g' a' a' g' }
    {f' e' d' c' }
  }
}
\bar "|."

[image of music]

Lorsque l’on veut utiliser \unfoldRepeats seulement pour le rendu MIDI, il faut établir deux blocs \score : un pour le MIDI, avec des reprises explicites, et l’autre pour la partition, avec des reprises notées sous forme de barres de reprise, de trémolo ou de symboles de pourcentage. Par exemple

\score {
 ..musique..
 \layout { ..  }
}
\score {
 \unfoldRepeats ..musique..
 \midi { ..  }
}

3.5.5 Gestion des nuances en MIDI


Indications de nuance


Amplitude du volume en MIDI


Égalisation de plusieurs instruments (i)


Égalisation de plusieurs instruments (ii)


4. Gestion de l’espace


4.1 Du papier et des pages


4.1.1 Format du papier


4.1.2 Mise en forme de la page


4.2 Mise en forme de la musique


4.2.1 Définition de la taille de portée


4.2.2 Mise en forme de la partition


4.3 Sauts


4.3.1 Sauts de ligne


4.3.2 Sauts de page


4.3.3 Optimisation des sauts de page


4.3.4 Optimisation des tournes