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.3. Pour connaître la place qu’occupe ce manuel dans la documentation, consultez About the 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. Musical notation

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


1.1 Pitches

[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 Writing pitches

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.


Absolute octave entry

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 Relative octave entry.


Relative octave entry

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.


Accidentals

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 Accidentals and key signatures.

\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]

Selected Snippets

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]

See also

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 Automatic accidentals.

Known issues and warnings

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.


Note names in other languages

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 Changing multiple pitches


Octave checks

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]


Transpose

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 … } }

See also

Référence du programme : TransposedMusic.

Exemples : Pitches.

Known issues and warnings

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 Displaying pitches


Clef

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]

Commonly tweaked properties

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]

See also

Dans ce manuel : Grace notes.

Référence du programme : Clef.


Key signature

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 Accidentals ou Accidentals and key signatures.

\key g \major
f1
fis

[image of music]

Commonly tweaked properties

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]

See also

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


Ottava brackets

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]

See also

Référence du programme : OttavaBracket.

Known issues and warnings

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


Instrument transpositions

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 Transpose 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"
...

Automatic accidentals

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]

See also

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

Known issues and warnings

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é.

See also

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

Exemples : Pitches, Vocal music.

Known issues and warnings

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


1.1.4 Note heads


Special note heads

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 Note head styles.

See also

Référence du programme : NoteHead.


Easy notation note heads

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 Setting the staff size.

Predefined commands

\easyHeadsOn.


Shape note heads

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 Rhythms

[image of music]

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


1.2.1 Writing rhythms


Durations

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]

Predefined commands

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.

See also

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


Tuplets

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]

Predefined commands

\tupletUp, \tupletDown, \tupletNeutral.

Commonly tweaked properties

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 Time administration.

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]

See also

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


Scaling durations

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]

See also

Dans ce manuel : Tuplets.


Ties

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 Automatic note splitting. 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]

Commonly tweaked properties

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]

Predefined commands

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

See also

Glossaire musical : tie, laissez vibrer.

Dans ce manuel : Automatic note splitting.

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

Known issues and warnings

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 Writing rests


Rests

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 Full measure rests.

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.

See also

Référence du programme : Rest.


Invisible rests

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.

See also

Référence du programme : SkipMusic.


Full measure rests

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. Formatting text). 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

See also

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

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

Known issues and warnings

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 Displaying rhythms


Time signature

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]

Commonly tweaked properties

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 Ancient time signatures 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]

See also

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

Exemples : Rhythms.

Known issues and warnings

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


Upbeats

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 ».

Known issues and warnings

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.


Unmetered music

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]

Known issues and warnings

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 ""

Polymetric notation

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]

See also

Exemples : Rhythms.

Known issues and warnings

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.


Automatic note splitting

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.

Known issues and warnings

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.

See also

Référence du programme : Completion_heads_engraver.


Showing melody rhythms

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]

See also

Référence du programme : RhythmicStaff.


1.2.4 Beams


Automatic beams

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 Setting automatic beam behavior.

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]

See also

Référence du programme : Beam.


Setting automatic beam behavior

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.

Predefined commands

\autoBeamOff, \autoBeamOn.

Commonly tweaked properties

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]

Known issues and warnings

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.


Manual beams

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]

Commonly tweaked properties

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 Time administration.

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

Known issues and warnings

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

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


Feathered beams

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]

Known issues and warnings

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


1.2.5 Bars


Bar lines

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]

Commonly tweaked properties

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 Repeats.

See also

Dans ce manuel : Repeats, Grouping staves.

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


Bar numbers

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]

See also

Référence du programme : BarNumber.

Exemples : Staff notation.

Known issues and warnings

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.


Bar and bar number checks

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.


Rehearsal marks

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 The Feta font.

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

See also

Dans ce manuel : Text marks.

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 : Rhythms, Expressive marks.


1.2.6 Special rhythmic concerns


Grace notes

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".

Commonly tweaked properties

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]

See also

Référence du programme : GraceMusic.

Known issues and warnings

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.


Aligning to cadenzas

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]


Time administration

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 Expressive marks

[image of music]


1.3.1 Attached to notes


Articulations and ornamentations

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]

Commonly tweaked properties

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]

See also

Référence du programme : Script.

Known issues and warnings

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


Dynamics

À 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 New dynamic marks.

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

Commonly tweaked properties

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

Predefined commands

\dynamicUp, \dynamicDown, \dynamicNeutral.

See also

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

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


New dynamic marks

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 Curves


Slurs

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 Phrasing slurs.

Commonly tweaked properties

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]

Predefined commands

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

See also

Référence du programme : Slur.


Phrasing slurs

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.

Predefined commands

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral.

See also

Référence du programme : PhrasingSlur.


Breath marks

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

c'4 \breathe d4

[image of music]

Commonly tweaked properties

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]

See also

Référence du programme : BreathingSign.

Exemples : Winds.


Falls and doits

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

[image of music]


1.3.3 Lines


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]

Commonly tweaked properties

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

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

[image of music]

See also

Référence du programme : Glissando.

Exemples : Expressive marks.

Known issues and warnings

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


Arpeggio

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]

Commonly tweaked properties

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]

Predefined commands

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

See also

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

Référence du programme : Arpeggio.

Known issues and warnings

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.


Trills

Les trilles brefs s’indiquent comme n’importe quelle ponctuation : voir Articulations and ornamentations.

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.

Predefined commands

\startTrillSpan, \stopTrillSpan.

See also

Référence du programme : TrillSpanner.


1.4 Repeats

[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 Long repeats

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.


Repeat types

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

bar

baz


Repeat syntax

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 Bar lines pour plus d’informations.

See also

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 Modifying context plug-ins, et Repeats.

Known issues and warnings

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.


Manual repeat commands

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 Formatting text. 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]

See also

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


1.4.2 Other repeats


Tremolo repeats

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 Tremolo subdivisions.

See also

Dans ce manuel : Tremolo subdivisions, Repeats.

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


Tremolo subdivisions

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]

Known issues and warnings

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

See also

Dans ce manuel : Tremolo repeats.

Référence du programme : StemTremolo.


Measure repeats

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]

See also

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


1.5 Simultaneous notes

[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 Single voice


Chorded notes

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 Chord notation.


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.

See also

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

Exemples : Simultaneous notes.

Known issues and warnings

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 Multiple voices


Basic polyphony

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.


Collision resolution

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]

Predefined commands

\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]

See also

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

Known issues and warnings

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.


Automatic part combining

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.

See also

Référence du programme : PartCombineMusic.

Known issues and warnings

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.


Writing music in parallel

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 Staff notation

[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 Displaying staves


Instantiating new staves


Grouping staves

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

See also

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.

Commonly tweaked properties

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]


Nested staff groups


1.6.2 Modifying single staves

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.


Staff symbol

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 :

See also

Référence du programme : StaffSymbol.

Exemples : Staff notation.


Ossia staves


Hiding staves

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 Writing parts


Metronome marks

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]

Commonly tweaked properties

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 Formatting text.

See also

Référence du programme : MetronomeMark.

Known issues and warnings

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

Instrument names

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 Modifying context plug-ins.

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]

See also

Référence du programme : InstrumentName.


Quoting other voices

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.

Known issues and warnings

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é.

See also

Dans ce manuel : Instrument transpositions.

Exemples : Staff notation.

Référence du programme : QuoteMusic.


Formatting cue notes

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 Editorial annotations

[image of music]


1.7.1 Inside the staff


Selecting notation font size

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. Setting the staff size. 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.

Predefined commands

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


Fingering instructions

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]

Commonly tweaked properties

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]

Selected Snippets

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]

See also

Référence du programme : Fingering.

Exemples : Editorial annotations.


Hidden notes

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]


Coloring objects

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

\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]

See also

Annexes : List of colors.

Known issues and warnings

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 The \tweak command.


Parentheses

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>

Stems

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.

Predefined commands

\stemUp, \stemDown, \stemNeutral.

Commonly tweaked properties

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 Outside the staff


Balloon help

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.

See also

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


Grid lines

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 : Editorial annotations.


Analysis brackets

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]

See also

Référence du programme : HorizontalBracket.


Blank music sheet

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 Text

[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 Text encoding.


1.8.1 Writing text


Text scripts

Vous pouvez placer arbitrairement des chaînes de caractères, ou Formatting text 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 Formatting text.

Predefined commands

\textLengthOn, \textLengthOff.

Commonly tweaked properties

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

See also

Dans ce manuel : Formatting text.

Référence du programme : TextScript.


Text and line spanners

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.

See also

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

Exemples : Expressive marks.


Text spanners

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]

Predefined commands

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Commonly tweaked properties

Pour obtenir une ligne pleine, utilisez

\override TextSpanner #'style = #'line

See also

Référence du programme : TextSpanner.


Text marks

La commande \mark est tout d’abord conçue pour les Rehearsal marks. 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 The Feta font).

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.

Commonly tweaked properties

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]

See also

Référence du programme : RehearsalMark.


1.8.2 Formatting text


Text markup introduction

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 Multiple scores in a book.

\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.

See also

Dans ce manuel : Text markup commands.

Référence du programme : TextScript.

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

Known issues and warnings

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.


Nested scores

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]


Page wrapping text

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.

See also

Dans ce manuel : Text markup list commands, New markup list command definition.

Predefined commands

\markuplines.


1.8.3 Fonts

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]

See also

Exemples : Text.


2. Specialist notation

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


2.1 Vocal music

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é.

Commonly tweaked properties

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 Common notation for vocal music


References for vocal music and lyrics


Opera


Song books


Spoken music

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 Special note heads.


Chants


Ancient vocal music


2.1.2 Entering lyrics


Lyrics explained

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 Text encoding 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 }
  >>
}

See also

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


Setting simple songs

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 Lyrics explained.


Working with lyrics and 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
>>

See also

Référence du programme : LyricCombineMusic, Lyrics.


2.1.3 Aligning lyrics to a melody

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 :


Automatic syllable durations

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 }

Manual syllable durations

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]

See also

Référence du programme : Lyrics.


Multiple syllables to one 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]

See also

Référence du programme : LyricCombineMusic.


Multiple notes to one syllable

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. Setting automatic beam behavior) 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 Vocal ensembles.

Predefined commands

\melisma, \melismaEnd.

See also

Exemples : Vocal music.

Known issues and warnings

Certains mélismes ne sont pas détectés automatiquement ; vous devrez alors prolonger vous-même les syllabes concernées.


Skipping notes


Extenders and hyphens

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.

See also

Référence du programme : LyricExtender, LyricHyphen


Lyrics and repeats


2.1.4 Specific uses of lyrics

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.


Divisi lyrics

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]


Lyrics independent of 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]


Spacing out syllables

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]


Centering lyrics between staves


2.1.5 Stanzas


Adding stanza numbers

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.


Adding dynamics marks to stanzas

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]


Adding singers’ names to stanzas

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]


Stanzas with different rhythms

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.


Printing stanzas at the end

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]


Printing stanzas at the end in multiple columns

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]

See also

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


2.2 Keyboard and other multi-staff instruments

[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 Common notation for keyboards

Nous allons examiner ici les problèmes qui peuvent survenir en matière de notation pour la plupart des instrument à cordes multiples.


References for keyboards

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 :

See also

Manuel d’initiation : Real music example, Other uses for tweaks.

Manuel de notation : Grouping staves, Instrument names, Collision resolution, Writing music in parallel, Fingering instructions, List of articulations, Grid lines, Ties, Arpeggio, Tremolo repeats.

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

Exemples de code : Keyboards.

Known issues and warnings

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 Piano templates ; une autre solution consiste à augmenter le décalage des nuances par rapport à la portée (staff-pagging) comme l’indique Moving objects.


Changing staff manually

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 Fixing overlapping notation pour un exemple de retouche sur des ligatures.

See also

Manuel d’initiation : Fixing overlapping notation.

Manuel de notation : Stems, Automatic beams.

Exemples de code : Keyboards.

Référence des propriétés internes : Beam, ContextChange.


Changing staff automatically

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]

See also

Dans ce même manuel : Changing staff manually.

Exemples de code : Keyboards.

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

Known issues and warnings

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.


Staff-change lines

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]

Predefined commands

\showStaffSwitch, \hideStaffSwitch.

See also

Extraits de code : Keyboards.

Référence des propriétés internes : Note_head_line_engraver, VoiceFollower.


Cross-staff stems

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]

Selected Snippets

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)

\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]

See also

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.


Piano pedals

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.

See also

Manuel de notation : Ties.

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 Accordion


Discant symbols

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.

Selected Snippets

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]

See also

Morceaux choisis : Keyboards.


2.2.4 Harp

This section discusses notation issues that are unique to the harp.


References for harps

Certaines caractéritiques de la musique pour harpes sont abordées dans d’autres chapitres, telles que :

See also

Manuel de notation : Tremolo repeats Glissando Arpeggio Harmonics


Harp pedals

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.

See also

Manuel de notation : Text scripts Instrument Specific Markup


2.3 Unfretted string instruments

[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 Common notation for unfretted strings

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.


References for unfretted strings

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 :

See also

Manuel d’initiation : String quartet.

Manuel de notation : Text scripts, Fingering instructions, Chorded notes, Arpeggio.

Exemples de code : Unfretted strings.


Bowing indications

Les indications d’archet se créent comme des articulations, elles sont décrites dans Articulations and ornamentations.

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]

Predefined commands

\downbow, \upbow, \open.

See also

Manuel de notation : Articulations and ornamentations, Slurs.


Harmonics

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 References for unfretted strings.

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

Selected Snippets

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 Fretted string instruments

[image of music]

Cette section traite de différents aspects de la notation propre aux instruments à cordes frettées.


2.4.1 Common notation for fretted strings

Vue d’ensemble de la notation pour les instruments à cordes frettées.


References for fretted strings

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 :

See also

Manuel de notation : Fingering instructions, Ties, Collision resolution, Instrument names, Writing music in parallel, Arpeggio, List of articulations, Clef.


String number indications

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]

Selected Snippets

Conrôle du positionnement des doigtés

Le positionnement des doigtés peut être contrôlé de manière très précise.

\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]

Impression des doigtés à l’intérieur de la portée

L’empilement des indications de doigté se fait par défaut à l’extérieur de la portée. Néanmoins, il est possible d’annuler ce comportement.

\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]

See also

Manuel de notation : Fingering instructions.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : StringNumber, Fingering.


Default tablatures

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]

Selected Snippets

Hampes et ligatures en mode tablature

La direction des hampes se gère dans les tablatures tout comme en notation traditionnelle. Les ligatures peuvvent être mises à l’horizontale comme le montre cet exemple.

\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]

Polyphonie en mode tablature

Une section polyphonique s’obtient dans un TabStaff de la même manière que dans une portée normale.

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]

See also

Manuel de notation : Stems.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : TabNoteHead, TabStaff, TabVoice, Beam.

Known issues and warnings

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.


Custom tablatures

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]

See also

Fichiers sources installés : ‘scm/output-lib.scm’.

Morceaux choisis : Fretted strings.

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


Fret diagram markups

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.

Selected Snippets

Personnalisation des diagrammes de fret

Les propriétés d’un diagramme de fret sont modifiables grâce au 'fret-diagram-details. Lorsqu’ils sont générés sous forme de \markup, rien n’empêche de les modifier en jouant sur les réglages de l’objet Voice.TextScript ou bien directement sur le « 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]

See also

Manuel de notation : Text markup commands.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : fret-diagram-interface.


Predefined fret diagrams

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 Chord mode overview).

\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 Predefined fretboard diagrams. 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 Automatic fret diagrams.

\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.

Selected Snippets

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]

Création de diagrammes de fret prédéfinis pour d’autres instruments

La liste des diagrammes standards prédéfinis pour la guitare peut être augmentée d’autres définitions spécifiques à d’autres instruments. Voici comment définir un nouvel accordage ainsi que quelques diagrammes prédéfinis pour le « cuatro vénézuélien ».

Cet exemple illustre aussi la manière d’ajouter des doigtés aux accords ; ils serviront de référence pour la boucle d’accord et seront indiqués dans les diagrammes et le TabStaff, mais pas dans la musique.

Ces diagrémmes ne peuvent pas être transposés, dans la mesure où ils contiennent des informations sur les condes. Ceci est amené à évoluer.

% 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]

See also

Manuel de notation : Custom tablatures, Automatic fret diagrams, Chord mode overview, Predefined fretboard diagrams.

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.


Automatic fret diagrams

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 Custom tablatures 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.

Predefined commands

\predefinedFretboardsOff, \predefinedFretboardsOn.

See also

Manuel de notation : Custom tablatures.

Morceaux choisis : Fretted strings.

Référence des propriétés internes : fret-diagram-interface.


Right-hand fingerings

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)

Selected Snippets

Positionnement des doigtés main droite

Vous disposez d’une propriété spécifique qui permet de contrôler plus finement le positionnement des doigtés main droite, comme l’indique l’exemple suivant.

#(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]

Doigtés, indications de cordeet doigtés main droite

L’exemple suivant illustre comment combiner des doigtés pour la main gauche, des indications de corrde et des doigtés pour la main droite.

#(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]

See also

Morceaux choisis : Fretted strings.

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


2.4.2 Guitar

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.


Indicating position and barring

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]

See also

Manuel de notation : Text spanners.

Morceaux choisis : Fretted strings, Expressive marks.


Indicating harmonics and dampened notes

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]

See also

Morceaux choisis : Fretted strings.

Manuel de notation : Special note heads, Note head styles.


2.4.3 Banjo


Banjo tablatures

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)

See also

Morceaux choisis : Fretted strings.

Les accordages prédéfinis du banjo sont contenus dans le fichier ‘scm/output-lib.scm’.


2.5 Percussion


2.5.1 Common notation for percussion

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.


References for percussion


Basic percussion notation

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’.

See also

Référence du Programme : note-event.


Percussion staves

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]

See also

Fichier d’initialisation : ‘ly/drumpitch-init.ly’.

Référence du programme : DrumStaff, DrumVoice.

Known issues and warnings

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.


Ghost notes

Des notes fantômes peuvent être créées pour les parties de percussion, grâce à la commande \parenthesize décrite dans Parentheses. 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 The \set command.

\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 Wind instruments


2.6.1 Common notation for wind instruments


References for wind instruments


Fingerings


2.6.2 Bagpipes


Bagpipe definitions

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.


Bagpipe example

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 Chord notation


2.7.1 Chord mode


Chord mode overview

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

Common chords

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.

Known issues and warnings

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]


Extended and altered chords


2.7.2 Displaying chords


Printing chord names

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. Literature list). 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 Chord name chart.

Predefined commands

\germanChords, \semiGermanChords, \italianChords, \frenchChords.

See also

Exemples : Chords.

Fichiers internes : ‘scm/chords-ignatzek.scm’, et ‘scm/chord-entry.scm’.

Known issues and warnings

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.


Customizing chord names


2.7.3 Figured bass


Introduction to figured bass

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]

Commonly tweaked properties

Par défaut, les chiffres sont imprimés au-dessus de la portée. Pour les imprimer dessous, ajoutez

\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN

Known issues and warnings

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.

See also

Référence du programme : les objets BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket et BassFigureContinuation, ainsi que le contexte FiguredBass.


Entering figured bass


Displaying figured bass


2.8 Ancient notation


2.8.1 Introduction to ancient notation

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 and ornamentations, 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 :


Ancient notation supported


2.8.2 Alternative note signs


Ancient note heads

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.

See also

Pour un aperçu de toutes les possibilités, consultez Note head styles.


Ancient accidentals

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.

See also

Dans ce manuel : Pitches, Accidentals, et Automatic accidentals, pour les principes généraux d’utilisation des altérations ; Key signature pour les armures.

Référence du programme : KeySignature.

Exemples : Ancient notation.


Ancient rests

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 Divisiones.

See also

Dans ce manuel : les principes généraux sur l’utilisation des silences sont exposés dans Rests.


Ancient clefs

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 Clef. 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.

See also

Dans ce manuel : voir Clef.

Known issues and warnings

La clé de sol mensurale est calquée sur celle de Petrucci.


Ancient flags

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.

Known issues and warnings

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.


Ancient time signatures

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]

See also

Dans ce manuel : Time signature expose les principes généraux sur l’utilisation des indications de métrique.

Known issues and warnings

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 Additional note signs


Ancient articulations

En plus des signes d’articulation standards décrits à la section Articulations and ornamentations, 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]

Known issues and warnings

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.


Custodes

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]

See also

Référence du programme : Custos.

Exemples : Ancient notation.


Divisiones

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. Breath marks. 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]

Predefined commands

\virgula, \caesura, \divisioMinima, \divisioMaior, \divisioMaxima, \finalis.

See also

Dans ce manuel : Breath marks.

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.

Known issues and warnings

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::


White mensural ligatures

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]

Known issues and warnings

L’espacement horizontal n’est pas des meilleurs.


Gregorian square neumes ligatures

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]

Predefined commands

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.

Known issues and warnings

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 Pre-defined contexts


Gregorian chant contexts

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]


Mensural contexts

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 Transcribing ancient music


Ancient and modern from one source


Incipits


Mensurstriche layout


Transcribing Gregorian chant


2.8.6 Editorial markings


Annotational accidentals

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]


Baroque rhythmic notation


2.9 World music


2.9.1 Arabic music


References for Arabic music


Arabic note names


Arabic key signatures


Arabic time signatures


Arabic music example


Further reading


3. General input and output


3.1 Input structure


3.1.1 Structure of a score


3.1.2 Multiple scores in a book


3.1.3 File structure


3.2 Titles and headers


3.2.1 Creating titles


3.2.2 Custom titles


3.2.3 Reference to page numbers


3.2.4 Table of contents


3.3 Working with input files


3.3.1 Including LilyPond files


3.3.2 Different editions from one source


Using variables


Using tags

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 …

Known issues and warnings

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 Text encoding


3.3.4 Displaying LilyPond notation


3.4 Controlling output


3.4.1 Extracting fragments of music


3.4.2 Skipping corrected music


3.5 MIDI output


3.5.1 Creating MIDI files


Instrument names


3.5.2 MIDI block


3.5.3 What goes into the MIDI output?


Supported in MIDI


Unsupported in MIDI


3.5.4 Repeats in 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 Controlling MIDI dynamics


Dynamic marks


Overall MIDI volume


Equalizing different instruments (i)


Equalizing different instruments (ii)


4. Spacing issues


4.1 Paper and pages


4.1.1 Paper size


4.1.2 Page formatting


4.2 Music layout


4.2.1 Setting the staff size


4.2.2 Score layout


4.3 Breaks


4.3.1 Line breaking


4.3.2 Page breaking


4.3.3 Optimal page breaking


4.3.4 Optimal page turning


4.3.5 Minimal page breaking


4.3.6 Explicit breaks


4.3.7 Using an extra voice for breaks


4.4 Vertical spacing


4.4.1 Vertical spacing inside a system


4.4.2 Vertical spacing between systems


4.4.3 Explicit staff and system positioning


4.4.4 Two-pass vertical spacing


4.4.5 Vertical collision avoidance


4.5 Horizontal Spacing


4.5.1 Horizontal spacing overview


4.5.2 New spacing area


4.5.3 Changing horizontal spacing


4.5.4 Line length


4.5.5 Proportional notation

Les notes peuvent s’espacer proportionnellement en assignant une durée à proportionalNotationDuration

<<
  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
  \new Staff { c8[ c c c c c]  c4 c2 r2 }
  \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
>>

[image of music]

Manipuler cette propriété affectera l’espacement idéal uniquement pour des notes consécutives. Pour obtenir une véritable notation proportionnelle, vous devrez tenir compte des réglages suivants :

See also

Exemples : Spacing.

Le fichier ‘input/proportional.ly’ illustre la notation proportionnelle stricte.


4.6 Fitting music onto fewer pages


4.6.1 Displaying spacing


4.6.2 Changing spacing

Parfois, une partition peut se terminer avec seulement un ou deux systèmes sur la dernière page. Ceci peut être ennuyeux surtout si vous constatez, en regardant les pages précédentes, qu’il reste encore beaucoup de place sur celles-ci.

Si vous vous intéressez aux problèmes de mise en page, annotate-spacing peut alors être un outil d’une valeur inestimable. Cette commande imprime les valeurs de nombreuses commandes d’espacement concernant la mise en page. Consultez Displaying spacing pour de plus amples informations. À l’aide des informations données par annotate-spacing, on peut voir quelles marges il est souhaitable de modifier afin de résoudre le problème.

En plus d’agir sur les marges, il existe d’autres possibilités qui permettent de gagner de la place.


5. Changing defaults

LilyPond est conçu pour engendrer, par défaut, des partitions de la plus haute qualité. Cependant, on peut parfois avoir à modifier cette mise en page par défaut. Celle-ci est réglée par tout un ensemble de « leviers et manettes », dont ce chapitre ne cherche pas à faire l’inventaire exhaustif. Le propos est plutôt ici de mettre en évidence les différents groupes auxquels s’apparentent ces contrôles, et d’expliquer comment trouver le bon levier pour obtenir tel ou tel effet en particulier.

Les moyens de contrôle des différents réglages sont décrits dans un document séparé, la Référence du programme. Ce guide répertorie toutes les variables, fonctions et autres options que LilyPond met à votre disposition. Il est consultable en ligne, au format HTML, mais est également inclus dans la documentation fournie avec le logiciel.

Il est quatre domaines dans lesquels on peut modifier les réglages par défaut :

En sous-main, LilyPond se sert du langage Scheme (un dérivé du LISP) comme infrastructure. Modifier les choix de mise en page revient à pénétrer dans les entrailles du programme, et de ce fait requiert l’emploi du Scheme. Les fragments de Scheme, dans un fichier .ly, sont introduits par le caractère ‘hash’, (#, improprement surnommé ‘dièse’).3


5.1 Interpretation contexts

Cette section traite des contextes.


5.1.1 Contexts explained


Score - the master of all contexts


Top-level contexts - staff containers


Intermediate-level contexts - staves


Bottom-level contexts - voices


5.1.2 Creating contexts


5.1.3 Modifying context plug-ins

Les contextes, tels que Score ou Staff, ne contiennent pas que des propriétés ; ils mettent également en œuvre certains sous-programmes (‘plug-ins’, pour employer le terme consacré) nommés ‘graveurs’ (‘engravers’, pour reprendre le terme anglais). Ces sous-programmes sont chargés de créer les différents éléments de notation : On trouve ainsi dans le contexte Voice, un graveur Note_head_engraver, chargé des têtes de notes, et dans le contexte Staff, un graveur Key_signature_engraver, chargé de l’armure.

Vous trouverez une description exhaustive de chaque graveur dans Engravers and Performers. Chaque contexte mentionné dans Contexts répertorie les graveurs mis en œuvre.

On peut faire, au moyen de ces graveurs, sa propre « cuisine », en modifiant les contextes à volonté.

Lorsque un contexte est créé, par la commande \new ou \context, on peut y adjoindre un bloc \with (en anglais ‘avec’), dans lequel il est possible d’ajouter (commande \consists) ou d’enlever (commande \remove) des graveurs :

\new contexte \with {
  \consists …
  \consists …
  \remove …
  \remove …
  etc.
}
{
  ..musique..
}

Ici les points de suspension … devront être remplacés par les noms des graveurs désirés. Dans l’exemple suivant, on enlève du contexte Staff, le chiffre de mesure (graveur Time_signature_engraver) et la clé (graveur Clef_engraver).

<<
  \new Staff {
    f2 g
  }
  \new Staff \with {
     \remove "Time_signature_engraver"
     \remove "Clef_engraver"
  } {
    f2 g2
  }
>>

[image of music]

La clé et le chiffre de mesure ont disparu de la deuxième portée. C’est une méthode quelque peu radicale, puisqu’elle affectera toute la portée jusqu’à la fin de la partition. L’espacement s’en trouve également affecté, ce qui peut être ou non l’effet recherché. Une méthode plus sophistiquée aurait été de rendre ces objets transparents (voir Visibility and color of objects).

Dans l’exemple suivant, voici une mise en pratique plus utile. En temps normal, les barres de mesure et la métrique sont synchronisées verticalement dans toute la partition. Les graveurs qui en sont responsables se nomment Timing_translator et Default_bar_line_engraver. En les enlevant du contexte Score pour les attribuer au contexte Staff, chaque portée peut désormais avoir sa propre métrique.

\new Score \with {
  \remove "Timing_translator"
  \remove "Default_bar_line_engraver"
} <<
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  } {
      \time 3/4
      c4 c c c c c
  }
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  } {
       \time 2/4
       c4 c c c c c
  }
>>

[image of music]


5.1.4 Layout tunings within contexts

Chaque contexte est chargé de créer plusieurs types d’objets graphiques. Il contient également les réglages nécessaires pour chacun de ces objets. Si l’on modifie ces réglages, les objets n’auront plus la même apparence.

La syntaxe employée pour ce faire est

\override contexte.objet #'propriété = #valeur

Ici objet est un objet graphique, tel que Stem (les hampes) ou NoteHead (les têtes de note) ; propriété est une variable (désignée par un symbole, ce qui explique l’apostrophe) employée par le système de mise en page. La sous-section Constructing a tweak vous aidera à savoir quoi mettre à la place de objet, propriété et valeur ; notre propos n’est ici que d’examiner l’emploi de cette commande.

La commande suivante :

\override Staff.Stem #'thickness = #4.0

rend les hampes plus épaisses (la valeur par défaut est 1.3, ce qui signifie qu’elles sont 1,3 fois plus épaisses que les lignes de la portée). Dans la mesure où nous avons indiqué Staff comme contexte, ce réglage ne s’appliquera qu’à la portée courante ; les autres portées demeureront intactes.

c4
\override Staff.Stem #'thickness = #4.0
c4
c4
c4

[image of music]

La commande \override modifie donc la définition de l’objet Stem dans le contexte Staff ; toutes les hampes qui suivent seront affectées.

Tout comme avec la commande \set, l’argument contexte peut être omis, auquel cas le contexte par défaut (ici, Voice) sera employé. La commande \once permet de n’appliquer la modification qu’une seule fois.

c4
\once \override Stem #'thickness = #4.0
c4
c4

[image of music]

La commande \override doit être entrée avant l’objet concerné. Ainsi, lorsque l’on veut altérer un objet qui se prolonge, tel qu’une liaison, une ligature ou tout autre objet dit Spanner, la commande \override doit être saisie avant que l’objet soit créé.

\override Slur #'thickness = #3.0
c8[( c
\override Beam #'thickness = #0.6
c8 c])

[image of music]

Dans cet exemple, la liaison (Slur) est épaissie, mais non la ligature (Beam). En effet, le code qui lui est relatif n’a pas été inséré avant le début de la ligature, et demeure donc sans effet.

De même que la commande \unset, la commande \revert défait ce qui a été fait par une commande \override. Tout comme avec \unset, elle ne peut annuler que les réglages effectués dans le même contexte. Ainsi dans l’exemple suivant, la commande \revert est sans effet.

\override Voice.Stem #'thickness = #4.0
\revert Staff.Stem #'thickness

Il existe, à l’intérieur même de certaines propriétés, des options que l’on nomme ‘sous-propriétés’. La syntaxe est alors

\override contexte.objet #'propriété #'sous-propriété = #valeur

Ainsi, par exemple :

\override Stem #'(details beamed-lengths) = #'(4 4 3)

See also

Référence du programme : OverrideProperty, RevertProperty, PropertySet, Backend, et All layout objects.

Known issues and warnings

La sous-couche Scheme ne vérifie pas la saisie des propriétés de façon très stricte. Des références cycliques dans des valeurs Scheme peuvent de ce fait interrompre, ou faire planter le programme – ou bien les deux.


5.1.5 Changing context default settings

Les réglages montrés dans les sous-sections The \set command, Modifying context plug-ins et Layout tunings within contexts peuvent également être saisis indépendamment de la musique dans le bloc \layout, au moyen de la commande \context :

\layout {
  …
  \context {
    \Staff

    \set fontSize = #-2
    \override Stem #'thickness = #4.0
    \remove "Time_signature_engraver"
  }
}

Le raccourci \Staff invoque les définitions inhérentes au contexte Staff, de façon à ce qu’elles puissent être modifiées.

Les lignes suivantes affecteront toutes les portées (tous les contextes Staff) dans la partition.

\set fontSize = #-2
\override Stem #'thickness = #4.0
\remove "Time_signature_engraver"

Les autres contextes peuvent être modifiés de même manière.

La commande \set, dans le bloc \layout, est facultative ; aussi les lignes suivantes produiront-elles le même effet.

\context {
  …
  fontSize = #-2
}

Known issues and warnings

Il est impossible de stocker des modifications de contexte dans un identificateur.

Le raccourci \RemoveEmptyStaffContext détruit tous les réglages du contexte \Staff. Pour modifier des propriétés de portées gouvernées par \RemoveEmptyStaffContext, il faut le faire impérativement après avoir invoqué \RemoveEmptyStaffContext :

\layout {
  \context {
    \RemoveEmptyStaffContext

    \override Stem #'thickness = #4.0
  }
}

5.1.6 Defining new contexts

Les contextes tels que Staff ou Voice sont faits de briques de constructions empilées. En combinant divers graveurs, il est possible de créer de nouveaux types de contextes.

Dans l’exemple suivant, on construit, de zéro, un nouveau contexte très semblable à Voice, mais qui n’imprime que des têtes de notes en forme de barres obliques au centre de la portée. Un tel contexte, par exemple, peut servir à indiquer un passage improvisé dans un morceau de jazz.

[image of music]

On a rassemblé les réglages dans un bloc \context, lui-même dans le bloc \layout :

\layout {
  \context {
    …
  }
}

En lieu et place des points (…), voici les éléments à saisir :

Récapitulons – on se retrouve avec le bloc suivant :

\context {
  \name ImproVoice
  \type "Engraver_group"
  \consists "Note_heads_engraver"
  \consists "Text_engraver"
  \consists Pitch_squash_engraver
  squashedPosition = #0
  \override NoteHead #'style = #'slash
  \override Stem #'transparent = ##t
  \alias Voice
}

Ce n’est pas tout. En effet, on veut intégrer le nouveau contexte ImproVoice dans la hiérarchie des contextes. Tout comme le contexte Voice, sa place est au sein du contexte Staff. Nous allons donc modifier le contexte Staff, au moyen de la commande \accepts :

\context {
  \Staff
  \accepts ImproVoice
}

Le contraire de \accepts est \denies, qui est parfois utile lorsque l’on recycle des définitions de contextes déjà existantes.

Enfin, tout cela doit prendre place dans le bloc \layout, comme suit :

\layout {
  \context {
    \name ImproVoice
    …
  }
  \context {
    \Staff
    \accepts "ImproVoice"
  }
}

On peut alors saisir la musique, comme dans l’exemple plus haut :

\relative c'' {
  a4 d8 bes8
  \new ImproVoice {
    c4^"ad lib" c
    c4 c^"dévêtez-vous"
    c c_"tout en jouant :)"
  }
  a1
}

5.1.7 Aligning contexts

Il est possible d’aligner verticalement chaque nouveau contexte, en-dessous ou au-dessus, par exemple dans le cas de musique vocale ( Vocal ensembles) ou d’« ossias ».

[image of music]


5.2 Explaining the Internals Reference


5.2.1 Navigating the program reference

Comment, par exemple, déplacer le doigté dans le fragment suivant ?

c-2
\stemUp
f

[image of music]

Sur la page de la documentation relative aux doigtés, c’est-à-dire Fingering instructions, se trouve l’indication suivante :

See also

Référence du programme : Fingering.

Suivons le lien Fingering. En haut de la nouvelle page, on peut lire

Fingering objects are created by: Fingering_engraver and New_fingering_engraver.

En d’autres termes, Les indications de doigtés (Fingering en anglais) sont créées par les graveurs Fingering_engraver et New_fingering_engraver.

En suivant derechef les liens propres à la référence du programme, on suit en fait le cheminement qui aboutit à la création de la partition :

Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis du résultat, et avons abouti aux évènements (en anglais ‘Events’) engendrés par le fichier d’entrée. L’inverse est également possible : on peut partir d’un évènement, et suivre le cheminement de LilyPond qui aboutit à la création d’un ou plusieurs objets graphiques.

La référence du programme peut également se parcourir comme un document normal. On y trouve des chapitres tels que Music definitions, Translation, ou encore Backend. Chaque chapitre recense toutes les définitions employées, et les propriétés sujettes à ajustements.


5.2.2 Layout interfaces

Tous les éléments de notation sont considérés comme des objets graphiques (en anglais ‘Graphical Object’, d’où le diminutif Grob). Chaque objet est doté d’un certain nombre de propriétés (l’épaisseur du trait, l’orientation, etc.), et lié à d’autres objets. Le fonctionnement de ces objets est décrit en détail dans grob-interface.

Prenons l’exemple des doigtés (en anglais ‘Fingering’). La page Fingering de la Référence du programme établit une liste de définitions propres à ce type d’objets :

padding (dimension, in staff space):

0.5

Ce qui signifie que les doigtés doivent être maintenus à une certaine distance (padding) des notes : 0,5 unités staff-space (espace de portée).

Chaque objet peut avoir plusieurs attributs, en tant qu’élément typographique ou musical. Ainsi, un doigté (objet ‘Fingering’) possède les attributs suivants :

Faire appliquer ces différents attributs est le rôle des interfaces, que l’on trouve en bas de la page Fingering.

This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

En français,

Cet objet admet les interfaces suivantes :

Suit la liste des interfaces en question, présentées comme autant de liens, qui conduisent sur les pages dédiées à chacune d’entre elles. Chaque interface est dotée d’un certain nombre de propriétés, dont certaines peuvent être modifiées, et d’autres non (les ‘Internal properties’, ou propriétés internes).

Pour aller encore plus loin, plutôt que de simplement parler de l’objet Fingering, ce qui ne nous avance pas à grand chose, on peut aller explorer son âme même, dans les fichiers source de LilyPond (voir Other sources of information), en l’occurence le fichier ‘scm/define-grobs.scm’ :

(Fingering
  . ((padding . 0.5)
     (avoid-slur . around)
     (slur-padding . 0.2)
     (staff-padding . 0.5)
     (self-alignment-X . 0)
     (self-alignment-Y . 0)
     (script-priority . 100)
     (stencil . ,ly:text-interface::print)
     (direction . ,ly:script-interface::calc-direction)
     (font-encoding . fetaNumber)
     (font-size . -5) 		; don't overlap when next to heads.
     (meta . ((class . Item)
     (interfaces . (finger-interface
                    font-interface
                    text-script-interface
                    text-interface
                    side-position-interface
                    self-alignment-interface
                    item-interface))))))

…où l’on découvre que l’objet Fingering n’est rien de plus qu’un amas de variables et de réglages. La page de la Référence du programme est en fait directement engendrée par cette définition.


5.2.3 Determining the grob property

Nous voulions changer la position du chiffre 2 dans le fragment suivant :

c-2
\stemUp
f

[image of music]

Dans la mesure où le 2 est placé, verticalement, à proximité de la note qui lui correspond, nous allons devoir trouver l’interface en charge de ce placement, qui se trouve être side-position-interface. Sur la page de cette interface, on peut lire :

side-position-interface

Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)

Ce qui signifie

side-position-interface

Placer l’objet affecté à proximité d’autres objets. La propriété direction indique où placer l’objet (à droite ou à gauche, en haut ou en bas).

En-dessous de cette description se trouve décrite la variable padding :

padding

(dimension, in staff space)

Add this much extra space between objects that are next to each other.

Ce qui signifie

Ajouter tel espace supplémentaire entre des objets proches les uns des autres.

En augmentant la valeur de padding, on peut donc éloigner le doigté de la note. La commande suivante insère trois unités d’espace vide entre la note et le doigté :

\once \override Voice.Fingering #'padding = #3

En ajoutant cette commande avant la création du doigté (de l’objet ‘Fingering’), donc avant c2, on obtient le résultat suivant :

\once \override Voice.Fingering #'padding = #3
c-2
\stemUp
f

[image of music]

Dans le cas présent, le réglage intervient dans le contexte Voice, ce qui pouvait également se déduire de la Référence du programme, où la page du graveur Fingering_engraver indique :

Fingering_engraver is part of contexts: … Voice

Ce qui signifie

Le graveur Fingering_engraver fait partie des contextes : … Voice


5.2.4 Naming conventions


5.3 Modifying properties


5.3.1 Overview of modifying properties


5.3.2 The \set command

Chaque contexte peut avoir plusieurs propriétés, c’est-à-dire des variables qu’il inclut. Ces dernières peuvent être modifiées « à la volée », c’est-à-dire pendant que la compilation s’accomplit. C’est là le rôle de la commande \set.

\set contexte.propriété = #valeur

Ainsi :

R1*2
\set Score.skipBars = ##t
R1*2

[image of music]

Cette commande permet de condenser les mesures vides de notes, en des silences multi-mesures. Il s’agit d’un objet Scheme, auquel on attribue la valeur booléenne ‘vrai’, c’est-à-dire la lettre #t pour ‘True’ en anglais.

Ce changement étant appliqué ‘à la volée’, il n’affecte que le second groupe de notes.

Si l’argument contexte n’est pas spécifié, alors la propriété cherchera à s’appliquer dans le contexte le plus restreint où elle est employée : le plus souvent ChordNames, Voice, ou Lyrics. Dans l’exemple suivant,

c8 c c c
\set autoBeaming = ##f
c8 c c c

[image of music]

aucun argument contexte n’a été donné à la commande \set. De ce fait, les ligatures automatiques sont désactivées dans le contexte actuel, c’est-à-dire Voice. Notez que le contexte le plus restreint n’est pas toujours le bon, et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété skipBars, évoquée plus haut, ne relève pas du contexte Voice, et le code suivant ne fonctionnera pas.

R1*2
\set skipBars = ##t
R1*2

[image of music]

Les contextes s’organisent de façon hiérarchique : aussi, lorsqu’un contexte de niveau supérieur est spécifié (par exemple Staff), la propriété sera modifée dans tous les contextes inférieurs (tous les contextes Voice, par exemple) qu’il contient.

La commande \unset permet d’annuler la définition d’une propriété :

\unset contexte.propriété

si et seulement si cette propriété à été définie dans ce contexte précis ; ainsi,

\set Staff.autoBeaming = ##f

même s’il s’applique à tous les contextes Voice contenus dans le contexte Staff, ne peut être annulé au niveau Voice. Le code suivant sera sans effet.

\unset Voice.autoBeaming

En d’autres termes, la commande \unset doit impérativement être accompagnée du même contexte que la commande \set d’origine. Pour annuler l’effet, dans notre exemple, de Staff.autoBeaming = ##f, il faut donc entrer :

\unset Staff.autoBeaming

Si l’on se trouve dans le contexte le plus restreint, il n’est pas obligatoire, là encore, de spécifier le contexte. Ainsi, les deux lignes suivantes sont équivalentes.

\set Voice.autoBeaming = ##t
\set autoBeaming = ##t

Pour modifier une propriété de façon à ce qu’elle ne s’applique qu’une seule fois, il convient d’employer la commande \once :

c4
\once \set fontSize = #4.7
c4
c4

[image of music]

Ici le changement de taille est annulé aussitôt après la note concernée.

La référence du programme contient une description exhaustive de toutes les propriétés contexte par contexte : voir Tunable context properties.


5.3.3 The \override command

La commande \override permet de modifier la mise en page en détail. Examinons son utilisation concrètementet dans les détails. La syntaxe de cette commande ressemble généralement à :

\override contexte.objet #'propriété = #valeur

La propriété propriété de l’objet objet, appartenant au contexte contexte, se voit ainsi attribuer la valeur valeur.


5.3.4 Constructing a tweak

Les commandes permettant de modifier l’apparence de la partition ressemblent en général à

\override Voice.Stem #'thickness = #3.0

Pour élaborer un réglage de ce type, on a besoin de connaître précisément :

Certaines ‘sous-propriétés’ sont parfois contenues dans une propriété. La commande devient alors :

\override Stem #'(details beamed-lengths) = #'(4 4 3)

Pour bien des propriétés, quel que soit le type de valeur requise, attribuer la valeur ‘faux’ (##f en Scheme) reviendra à désactiver complètement l’action de la propriété qui se trouve ainsi purement ignorée par LilyPond. Cela peut s’avérer fort utile pour des propriétés causant des désagréments.


5.3.5 The \tweak command

Dans certains cas, on peut passer par un raccourci pour arranger les objets graphiques. Lorsqu’un objet est directement engendré par un élément distinct du fichier source, on peut utiliser la commande \tweak.

Dans l’accord suivant, les notes sont modifiées une par une :

<
  c
  \tweak #'color #red d
  g
  \tweak #'duration-log #1  a
>4-\tweak #'padding #10 -.

[image of music]

Comme on peut le voir, les propriétés sont ici modifiées directement en même temps que les objets sont saisis. Il n’est plus besoin de spécifier ni le nom de l’objet (grob), ni le contexte dans lequel cela doit s’appliquer.

Ce procédé ne marche que pour des objets directement liés aux évènements ( Event) du fichier source. Par exemple :

En revanche, les hampes ou les altérations sont engendrées par les têtes de notes, et non par des évènements dans le fichier source. De même pour les clés, qui ne sont pas directement engendrées par le fichier source, mais plutôt par le changement d’une propriété interne.

En fait, très peu d’objets passent directement du code source à la partition. Une note toute simple, par exemple c4, fait l’objet d’un traitement et n’est donc pas directement rendue ; c’est pourquoi le code suivant ne sera d’aucun effet :

\tweak #'color #red c4

Voir pour plus de détails Displaying music expressions.


5.3.6 \set vs. \override

Si les propriétés peuvent être modifiées de deux façons, par les commandes \set et \override, c’est qu’il y a deux types de propriétés.

Les contextes peuvent avoir des propriétés, dont les noms commencent par une minuscule puis comprennent une ou plusieurs majuscules (de style totoTutu). Elles ont surtout trait à la notation des éléments musicaux : par exemple, localKeySignature permet de choisir s’il faut ou non imprimer une altération, ou measurePosition permet de choisir quand il faut imprimer une barre de mesure. Ces propriétés de contextes sont appelées à changer au long de l’interprétation de la partition : measurePosition en est un exemple évident. Ces propriétés doivent être modifiées avec la commande \set.

Il existe un type particulier de propriétés : les descriptions d’éléments. Ces propriétés, dont les noms commencent par une majuscule, puis comprennent une ou plusieurs majuscules (de style TotoTata), contiennent les réglages ‘par défaut’ pour les objets graphiques. Ces réglages sont sous forme de liste Scheme ; on peut les consulter dans le fichier ‘scm/define-grobs.scm’. Les descriptions d’éléments doivent être modifiées avec la commande \override.

\override est en fait un raccourci :

\override contexte.objet #'propriété = #valeur

est plus ou moins l’équivalent de

\set contexte.objet #'propriété = #(cons (cons 'propriété valeur) <valeur précédente de contexte)

La valeur de context (la liste Scheme, ou ‘alist’) sert à initialiser les propriétés des objets un par un. Les objets eux-même ont leurs propriétés, dont les noms, dans la tradition du langage Scheme, comprennent un trait d’union (toto-titi). Ces propriétés internes changent constamment au cours de la mise en page : en fait, la gravure d’une page n’est autre que le calcul de toutes ces propriétés, au moyen de fonctions de rappel.

La propriété fontSize est une exception : c’est un raccourci, qui équivaudrait à saisir \override … #'font-size pour tous les objets textuels. Dans la mesure où il s’agit d’une manipulation très courante, une propriété spéciale a été créée. Elle doit être modifiée avec la commande \set.


5.4 Useful concepts and properties


5.4.1 Input modes


5.4.2 Direction and placement


5.4.3 Distances and measurements


5.4.4 Staff symbol properties


5.4.5 Spanners


Using the spanner-interface


Using the line-spanner-interface


5.4.6 Visibility of objects


Removing the stencil


Making objects transparent


Painting objects white


Using break-visibility


Special considerations


5.4.7 Line styles


5.4.8 Rotating objects


Rotating layout objects


Rotating markup


5.5 Advanced tweaks


5.5.1 Aligning objects


Setting X-offset and Y-offset directly


Using the side-position-interface


Using the self-alignment-interface


Using the aligned-on-parent procedures


Using the centered-on-parent procedures


Using the break-alignable-interface


5.5.2 Vertical grouping of grobs

Les objets VerticalAlignment et VerticalAxisGroup travaillent de concert. Comme leurs noms anglais l’indiquent, VerticalAxisGroup regroupe différents objets tels que les portées (Staff), les paroles (Lyrics) et ainsi de suite ; puis VerticalAlignment synchronise verticalement ces différents groupes. En général, il n’y a qu’un seul VerticalAlignment pour l’ensemble de la partition, mais chaque contexte Staff, Lyrics, etc. possède son propre VerticalAxisGroup.


5.5.3 Modifying stencils


5.5.4 Modifying shapes


Modifying ties and slurs


6. Interfaces for programmers


6.1 Music functions


6.1.1 Overview of music functions


6.1.2 Simple substitution functions


6.1.3 Paired substitution functions


6.1.4 Mathematics in functions


6.1.5 Void functions


6.1.6 Functions without arguments


6.1.7 Overview of available music functions

acciaccatura - music (music)

Create an acciaccatura from the following music expression

addChordShape - key-symbol (symbol) tuning (pair) shape-definition (unknown)

Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning).

addInstrumentDefinition - name (string) lst (list)

Create instrument name with properties list.

addQuote - name (string) music (music)

Define music as a quotable music expression named name

afterGrace - main (music) grace (music)

Create grace note(s) after a main music expression.

allowPageTurn

Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

applyContext - proc (procedure)

Modify context properties with Scheme procedure proc.

applyMusic - func (procedure) music (music)

Apply procedure func to music.

applyOutput - ctx (symbol) proc (procedure)

Apply function proc to every layout object in context ctx

appoggiatura - music (music)

Create an appoggiatura from music

assertBeamQuant - l (pair) r (pair)

Testing function: check whether the beam quants l and r are correct

assertBeamSlope - comp (procedure)

Testing function: check whether the slope of the beam is the same as comp

autochange - music (music)

Make voices that switch between staves automatically

balloonGrobText - grob-name (symbol) offset (pair of numbers) text (markup)

Attach text to grob-name at offset offset (use like \once)

balloonText - offset (pair of numbers) text (markup)

Attach text at offset (use like \tweak)

bar - type (string)

Insert a bar line of type type

barNumberCheck - n (integer)

Print a warning if the current bar number is not n.

bendAfter - delta (unknown)

Create a fall or doit of pitch interval delta.

breathe

Insert a breath mark.

clef - type (string)

Set the current clef to type.

cueDuring - what (string) dir (direction) main-music (music)

Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.

displayLilyMusic - music (music)

Display the LilyPond input representation of music to the console.

displayMusic - music (music)

Display the internal representation of music to the console.

endSpanners - music (music)

Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner.

featherDurations - factor (moment) argument (music)

Adjust durations of music in argument by rational factor.

grace - music (music)

Insert music as grace notes.

includePageLayoutFile

Include the file <basename>-page-layout.ly. Deprecated as part of two-pass spacing.

instrumentSwitch - name (string)

Switch instrument to name, which must be predefined with \addInstrumentDefinition.

keepWithTag - tag (symbol) music (music)

Include only elements of music that are tagged with tag.

killCues - music (music)

Remove cue notes from music.

label - label (symbol)

Create label as a bookmarking label

makeClusters - arg (music)

Display chords in arg as clusters

musicMap - proc (procedure) mus (music)

(undocumented; fixme)

noPageBreak

Forbid a page break. May be used at toplevel (ie between scores or markups), or inside a score.

noPageTurn

Forbid a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

octaveCheck - pitch-note (music)

octave check

ottava - octave (number)

set the octavation

overrideProperty - name (string) property (symbol) value (any type)

Set property to value in all grobs named name. The name argument is a string of the form "Context.GrobName" or "GrobName"

pageBreak

Force a page break. May be used at toplevel (ie between scores or markups), or inside a score.

pageTurn

Force a page turn between two scores or top-level markups.

parallelMusic - voice-ids (list) music (music)

Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.

voice-ids: a list of music identifiers (symbols containing only letters)

music: a music sequence, containing BarChecks as limiting expressions.

Example:

  \parallelMusic #'(A B C) {
    c c | d d | e e |
    d d | e e | f f |
  }
<==>
  A = { c c | d d | }
  B = { d d | e e | }
  C = { e e | f f | }
parenthesize - arg (music)

Tag arg to be parenthesized.

partcombine - part1 (music) part2 (music)

(undocumented; fixme)

pitchedTrill - main-note (music) secondary-note (music)

(undocumented; fixme)

pointAndClickOff

(undocumented; fixme)

pointAndClickOn

(undocumented; fixme)

quoteDuring - what (string) main-music (music)

(undocumented; fixme)

removeWithTag - tag (symbol) music (music)

Remove elements of music that are tagged with tag.

resetRelativeOctave - reference-note (music)

Set the octave inside a \relative section.

rightHandFinger - finger (number or string)

Apply finger as a fingering indication.

scaleDurations - fraction (pair of numbers) music (music)

Multiply the duration of events in music by fraction.

scoreTweak - name (string)

Include the score tweak, if exists.

shiftDurations - dur (integer) dots (integer) arg (music)

Scale arg up by a factor of 2^dur*(2-(1/2)^dots).

spacingTweaks - parameters (list)

Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list.

storePredefinedDiagram - chord (music) tuning (pair) diagram-definition (unknown)

Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.

tag - tag (symbol) arg (music)

Add tag to the tags property of arg.

tocItem - text (markup)

Add a line to the table of content, using the tocItemMarkup paper variable markup

transposedCueDuring - what (string) dir (direction) pitch-note (music) main-music (music)

Insert notes from the part what into a voice called cue, using the transposition defined by pitch-note. This happens simultaneously with main-music, which is usually a rest. The argument dir determines whether the cue notes should be notated as a first or second voice.

transposition - pitch-note (music)

Set instrument transposition

tweak - sym (symbol) val (any type) arg (music)

Add sym . val to the tweaks property of arg.

unfoldRepeats - music (music)

(undocumented; fixme)

withMusicProperty - sym (symbol) val (any type) music (music)

Set sym to val in music.


6.2 Programmer interfaces


6.2.1 Input variables and Scheme


6.2.2 Internal music representation


6.3 Building complicated functions


6.3.1 Displaying music expressions


6.3.2 Music properties


6.3.3 Doubling a note with slurs (example)


6.3.4 Adding articulation to notes (example)


6.4 Markup programmer interface


6.4.1 Markup construction in Scheme


6.4.2 How markups work internally


6.4.3 New markup command definition


6.4.4 New markup list command definition


6.5 Contexts for programmers


6.5.1 Context evaluation


6.5.2 Running a function on all layout objects


6.6 Scheme procedures as properties


6.7 Using Scheme code instead of \tweak

L’inconvénient principal de la commande \tweak est la rigidité de sa syntaxe. Par exemple, le code suivant produit une erreur.

F = \tweak #'font-size #-3 -\flageolet

\relative c'' {
  c4^\F c4_\F
}

En d’autres termes, \tweak ne se comporte pas comme une articulation : il ne peut notamment pas être accolé avec les symboles ‘^’ ou ‘_’.

C’est en se servant du langage Scheme que l’on peut résoudre ce problème. Dans cet exemple, on a recours aux méthodes décrites dans Adding articulation to notes (example), en particulier quant à l’emploi de \displayMusic.

F = #(let ((m (make-music 'ArticulationEvent
                          'articulation-type "flageolet")))
       (set! (ly:music-property m 'tweaks)
             (acons 'font-size -3
                    (ly:music-property m 'tweaks)))
       m)

\relative c'' {
  c4^\F c4_\F
}

Ici les propriétés tweak de l’objet flageolet nommé ‘m’ (créé au moyen de make-music) sont extraites par ly:music-property, une nouvelle valeur de la taille de fonte est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme acons), et le résultat de cette opération est renvoyé par set!. Le dernier élément, dans ce bloc let, est la valeur finale de ‘m’ lui-même.


6.8 Difficult tweaks

Certains réglages sont plus délicats que d’autres.


A. Literature list


B. Notation manual tables


B.1 Chord name chart


B.2 Common chord modifiers


B.3 Predefined fretboard diagrams


B.4 MIDI instruments


B.5 List of colors

Normal colors

X color names

Color Names without a numerical suffix:

Color names with a numerical suffix

Grey Scale


B.6 The Feta font


B.7 Note head styles


B.8 Text markup commands

The following commands can all be used inside \markup { }.


B.8.1 Font

\abs-fontsize size (number) arg (markup)

Use size as the absolute font size to display arg. Adjusts baseline-skip and word-space accordingly.

\markup {
  default text font size
  \hspace #2
  \abs-fontsize #16 { text font size 16 }
  \hspace #2
  \abs-fontsize #12 { text font size 12 }
}

[image of music]

\bold arg (markup)

Switch to bold font-series.

\markup {
  default
  \hspace #2
  \bold
  bold
}

[image of music]

\box arg (markup)

Draw a box round arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \override #'(box-padding . 0.5)
  \box
  \line { V. S. }
}

[image of music]

Used properties:

  • box-padding (0.2)
  • font-size (0)
  • thickness (1)
\caps arg (markup)

Copy of the \smallCaps command.

\markup {
  default
  \hspace #2
  \caps {
    Text in small caps
  }
}

[image of music]

\dynamic arg (markup)

Use the dynamic font. This font only contains s, f, m, z, p, and r. When producing phrases, like ‘più f’, the normal words (like ‘più’) should be done in a different font. The recommended font for this is bold and italic.

\markup {
  \dynamic {
    sfzp
  }
}

[image of music]

\finger arg (markup)

Set arg as small numbers.

\markup {
  \finger {
    1 2 3 4 5
  }
}

[image of music]

\fontCaps arg (markup)

Set font-shape to caps

Note: \fontCaps requires the installation and selection of fonts which support the caps font shape.

\fontsize increment (number) arg (markup)

Add increment to the font-size. Adjusts baseline-skip accordingly.

\markup {
  default
  \hspace #2
  \fontsize #-1.5
  smaller
}

[image of music]

Used properties:

  • baseline-skip (2)
  • word-space (1)
  • font-size (0)
\huge arg (markup)

Set font size to +2.

\markup {
  default
  \hspace #2
  \huge
  huge
}

[image of music]

\italic arg (markup)

Use italic font-shape for arg.

\markup {
  default
  \hspace #2
  \italic
  italic
}

[image of music]

\large arg (markup)

Set font size to +1.

\markup {
  default
  \hspace #2
  \large
  large
}

[image of music]

\larger arg (markup)

Increase the font size relative to the current setting.

\markup {
  default
  \hspace #2
  \larger
  larger
}

[image of music]

\magnify sz (number) arg (markup)

Set the font magnification for its argument. In the following example, the middle A is 10% larger:

A \magnify #1.1 { A } A

Note: Magnification only works if a font name is explicitly selected. Use \fontsize otherwise.

\markup {
  default
  \hspace #2
  \magnify #1.5 {
    50% larger
  }
}

[image of music]

\medium arg (markup)

Switch to medium font-series (in contrast to bold).

\markup {
  \bold {
    some bold text
    \hspace #2
    \medium {
      medium font series
    }
    \hspace #2
    bold again
  }
}

[image of music]

\normal-size-sub arg (markup)

Set arg in subscript with a normal font size.

\markup {
  default
  \normal-size-sub {
    subscript in standard size
  }
}

[image of music]

Used properties:

  • baseline-skip
\normal-size-super arg (markup)

Set arg in superscript with a normal font size.

\markup {
  default
  \normal-size-super {
    superscript in standard size
  }
}

[image of music]

Used properties:

  • baseline-skip
\normal-text arg (markup)

Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.

\markup {
  \huge \bold \sans \caps {
    Some text with font overrides
    \hspace #2
    \normal-text {
      Default text, same font-size
    }
    \hspace #2
    More text as before
  }
}

[image of music]

\normalsize arg (markup)

Set font size to default.

\markup {
  \teeny {
    this is very small
    \hspace #2
    \normalsize {
      normal size
    }
    \hspace #2
    teeny again
  }
}

[image of music]

\number arg (markup)

Set font family to number, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.

\markup {
  \number {
    0 1 2 3 4 5 6 7 8 9 . ,
  }
}

[image of music]

\roman arg (markup)

Set font family to roman.

\markup {
  \sans \bold {
    sans serif, bold
    \hspace #2
    \roman {
      text in roman font family
    }
    \hspace #2
    return to sans
  }
}

[image of music]

\sans arg (markup)

Switch to the sans serif font family.

\markup {
  default
  \hspace #2
  \sans {
    sans serif
  }
}

[image of music]

\simple str (string)

A simple text string; \markup { foo } is equivalent with \markup { \simple #"foo" }.

Note: for creating standard text markup or defining new markup commands, the use of \simple is unnecessary.

\markup {
  \simple #"simple"
  \simple #"text"
  \simple #"strings"
}

[image of music]

\small arg (markup)

Set font size to -1.

\markup {
  default
  \hspace #2
  \small
  small
}

[image of music]

\smallCaps arg (markup)

Emit arg as small caps.

Note: \smallCaps does not support accented characters.

\markup {
  default
  \hspace #2
  \smallCaps {
    Text in small caps
  }
}

[image of music]

\smaller arg (markup)

Decrease the font size relative to the current setting.

\markup {
  \fontsize #3.5 {
    some large text
    \hspace #2
    \smaller {
      a bit smaller
    }
    \hspace #2
    more large text
  }
}

[image of music]

\sub arg (markup)

Set arg in subscript.

\markup {
  \concat {
    H
    \sub {
      2
    }
    O
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\super arg (markup)

Set arg in superscript.

\markup {
  E =
  \concat {
    mc
    \super
    2
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\teeny arg (markup)

Set font size to -3.

\markup {
  default
  \hspace #2
  \teeny
  teeny
}

[image of music]

\text arg (markup)

Use a text font instead of music symbol or music alphabet font.

\markup {
  \number {
    1, 2,
    \text {
      three, four,
    }
    5
  }
}

[image of music]

\tiny arg (markup)

Set font size to -2.

\markup {
  default
  \hspace #2
  \tiny
  tiny
}

[image of music]

\typewriter arg (markup)

Use font-family typewriter for arg.

\markup {
  default
  \hspace #2
  \typewriter
  typewriter
}

[image of music]

\underline arg (markup)

Underline arg. Looks at thickness to determine line thickness and y-offset.

\markup {
  default
  \hspace #2
  \override #'(thickness . 2)
  \underline {
    underline
  }
}

[image of music]

Used properties:

  • thickness (1)
\upright arg (markup)

Set font-shape to upright. This is the opposite of italic.

\markup {
  \italic {
    italic text
    \hspace #2
    \upright {
      upright text
    }
    \hspace #2
    italic again
  }
}

[image of music]


B.8.2 Align

\center-align arg (markup)

Align arg to its X center.

\markup {
  \column {
    one
    \center-align
    two
    three
  }
}

[image of music]

\center-column args (list of markups)

Put args in a centered column.

\markup {
  \center-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\column args (list of markups)

Stack the markups in args vertically. The property baseline-skip determines the space between markups in args.

\markup {
  \column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\combine arg1 (markup) arg2 (markup)

Print two markups on top of each other.

Note: \combine cannot take a list of markups enclosed in curly braces as an argument; the follow example will not compile:

\combine { a list }
\markup {
  \fontsize #5
  \override #'(thickness . 2)
  \combine
    \draw-line #'(0 . 4)
    \arrow-head #Y #DOWN ##f
}

[image of music]

\concat args (list of markups)

Concatenate args in a horizontal line, without spaces in between. Strings and simple markups are concatenated on the input level, allowing ligatures. For example, \concat { "f" \simple #"i" } is equivalent to "fi".

\markup {
  \concat {
    one
    two
    three
  }
}

[image of music]

\dir-column args (list of markups)

Make a column of args, going up or down, depending on the setting of the direction layout property.

\markup {
  \override #`(direction . ,UP) {
    \dir-column {
      going up
    }
  }
  \hspace #1
  \dir-column {
    going down
  }
  \hspace #1
  \override #'(direction . 1) {
    \dir-column {
      going up
    }
  }
}

[image of music]

Used properties:

  • baseline-skip
  • direction
\fill-line args (list of markups)

Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.

\markup {
  \column {
    \fill-line {
      Words evenly spaced across the page
    }
    \null
    \fill-line {
      \line { Text markups }
      \line {
        \italic { evenly spaced }
      }
      \line { across the page }
    }
  }
}

[image of music]

Used properties:

  • line-width (#f)
  • word-space (1)
  • text-direction (1)
\general-align axis (integer) dir (number) arg (markup)

Align arg in axis direction to the dir side.

\markup {
  \column {
    one
    \general-align #X #LEFT
    two
    three
    \null
    one
    \general-align #X #CENTER
    two
    three
    \null
    \line {
      one
      \general-align #Y #UP
      two
      three
    }
    \null
    \line {
      one
      \general-align #Y #3.2
      two
      three
    }
  }
}

[image of music]

\halign dir (number) arg (markup)

Set horizontal alignment. If dir is -1, then it is left-aligned, while +1 is right. Values in between interpolate alignment accordingly.

\markup {
  \column {
    one
    \halign #LEFT
    two
    three
    \null
    one
    \halign #CENTER
    two
    three
    \null
    one
    \halign #RIGHT
    two
    three
    \null
    one
    \halign #-5
    two
    three
  }
}

[image of music]

\hcenter-in length (number) arg (markup)

Center arg horizontally within a box of extending length/2 to the left and right.

\new StaffGroup <<
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Oboe
    }
    c''1
  }
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Bassoon
    }
    \clef tenor
    c'1
  }
>>

[image of music]

\hspace amount (number)

Create an invisible object taking up horizontal space amount.

\markup {
  one
  \hspace #2
  two
  \hspace #8
  three
}

[image of music]

\justify-field symbol (symbol)

Justify the data which has been assigned to symbol.

\header {
  title = "My title"
  description = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \justify-field #'header:description
    }
  }
}

\markup {
  \null
}

[image of music]

\justify args (list of markups)

Like \wordwrap, but with lines stretched to justify the margins. Use \override #'(line-width . X) to set the line width; X is the number of staff spaces.

\markup {
  \justify {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\justify-string arg (string)

Justify a string. Paragraphs may be separated with double newlines

\markup {
  \override #'(line-width . 40)
  \justify-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip
\left-align arg (markup)

Align arg on its left edge.

\markup {
  \column {
    one
    \left-align
    two
    three
  }
}

[image of music]

\left-column args (list of markups)

Put args in a left-aligned column.

\markup {
  \left-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\line args (list of markups)

Put args in a horizontal line. The property word-space determines the space between markups in args.

\markup {
  \line {
    one two three
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
\lower amount (number) arg (markup)

Lower arg by the distance amount. A negative amount indicates raising; see also \raise.

\markup {
  one
  \lower #3
  two
  three
}

[image of music]

\pad-around amount (number) arg (markup)

Add padding amount all around arg.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-around #0.5 {
      padded
    }
  }
}

[image of music]

\pad-markup amount (number) arg (markup)

Add space around a markup object.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-markup #1 {
      padded
    }
  }
}

[image of music]

\pad-to-box x-ext (pair of numbers) y-ext (pair of numbers) arg (markup)

Make arg take at least x-ext, y-ext space.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-to-box #'(0 . 10) #'(0 . 3) {
      padded
    }
  }
}

[image of music]

\pad-x amount (number) arg (markup)

Add padding amount around arg in the X direction.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-x #2 {
      padded
    }
  }
}

[image of music]

\put-adjacent axis (integer) dir (direction) arg1 (markup) arg2 (markup)

Put arg2 next to arg1, without moving arg1.

\raise amount (number) arg (markup)

Raise arg by the distance amount. A negative amount indicates lowering, see also \lower.

The argument to \raise is the vertical displacement amount, measured in (global) staff spaces. \raise and \super raise objects in relation to their surrounding markups.

If the text object itself is positioned above or below the staff, then \raise cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with \raise. For vertical positioning, use the padding and/or extra-offset properties.

\markup {
  C
  \small
  \bold
  \raise #1.0
  9/7+
}

[image of music]

\right-align arg (markup)

Align arg on its right edge.

\markup {
  \column {
    one
    \right-align
    two
    three
  }
}

[image of music]

\right-column args (list of markups)

Put args in a right-aligned column.

\markup {
  \right-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\rotate ang (number) arg (markup)

Rotate object with ang degrees around its center.

\markup {
  default
  \hspace #2
  \rotate #45
  \line {
    rotated 45°
  }
}

[image of music]

\translate offset (pair of numbers) arg (markup)

Translate arg relative to its surroundings. offset is a pair of numbers representing the displacement in the X and Y axis.

\markup {
  *
  \translate #'(2 . 3)
  \line { translated two spaces right, three up }
}

[image of music]

\translate-scaled offset (pair of numbers) arg (markup)

Translate arg by offset, scaling the offset by the font-size.

\markup {
  \fontsize #5 {
    * \translate #'(2 . 3) translate
    \hspace #2
    * \translate-scaled #'(2 . 3) translate-scaled
  }
}

[image of music]

Used properties:

  • font-size (0)
\vcenter arg (markup)

Align arg to its Y center.

\markup {
  one
  \vcenter
  two
  three
}

[image of music]

\wordwrap-field symbol (symbol)

Wordwrap the data which has been assigned to symbol.

\header {
  title = "My title"
  description = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \wordwrap-field #'header:descr
    }
  }
}

\markup {
  \null
}

[image of music]

\wordwrap args (list of markups)

Simple wordwrap. Use \override #'(line-width . X) to set the line width, where X is the number of staff spaces.

\markup {
  \wordwrap {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string arg (string)

Wordwrap a string. Paragraphs may be separated with double newlines.

\markup {
  \override #'(line-width . 40)
  \wordwrap-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip

B.8.3 Graphic

\arrow-head axis (integer) dir (direction) filled (boolean)

Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.

\markup {
  \fontsize #5 {
    \general-align #Y #DOWN {
      \arrow-head #Y #UP ##t
      \arrow-head #Y #DOWN ##f
      \hspace #2
      \arrow-head #X #RIGHT ##f
      \arrow-head #X #LEFT ##f
    }
  }
}

[image of music]

\beam width (number) slope (number) thickness (number)

Create a beam with the specified parameters.

\markup {
  \beam #5 #1 #2
}

[image of music]

\bracket arg (markup)

Draw vertical brackets around arg.

\markup {
  \bracket {
    \note #"2." #UP
  }
}

[image of music]

\circle arg (markup)

Draw a circle around arg. Use thickness, circle-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \circle {
    Hi
  }
}

[image of music]

Used properties:

  • circle-padding (0.2)
  • font-size (0)
  • thickness (1)
\draw-circle radius (number) thickness (number) filled (boolean)

A circle of radius radius and thickness thickness, optionally filled.

\markup {
  \draw-circle #2 #0.5 ##f
  \hspace #2
  \draw-circle #2 #0 ##t
}

[image of music]

\draw-line dest (pair of numbers)

A simple line.

\markup {
  \draw-line #'(4 . 4)
  \override #'(thickness . 5)
  \draw-line #'(-3 . 0)
}

[image of music]

Used properties:

  • thickness (1)
\epsfile axis (number) size (number) file-name (string)

Inline an EPS image. The image is scaled along axis to size.

\markup {
  \general-align #Y #DOWN {
    \epsfile #X #20 #"context-example.eps"
    \epsfile #Y #20 #"context-example.eps"
  }
}

[image of music]

\filled-box xext (pair of numbers) yext (pair of numbers) blot (number)

Draw a box with rounded corners of dimensions xext and yext. For example,

\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0

creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).

\markup {
  \filled-box #'(0 . 4) #'(0 . 4) #0
  \filled-box #'(0 . 2) #'(-4 . 2) #0.4
  \filled-box #'(1 . 8) #'(0 . 7) #0.2
  \with-color #white
  \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7
}

[image of music]

\hbracket arg (markup)

Draw horizontal brackets around arg.

\markup {
  \hbracket {
    \line {
      one two three
    }
  }
}

[image of music]

\postscript str (string)

This inserts str directly into the output as a PostScript command string.

eyeglassesps = #"
  0.15 setlinewidth
  -0.9 0 translate
  1.1 1.1 scale
  1.2 0.7 moveto
  0.7 0.7 0.5 0 361 arc
  stroke
  2.20 0.70 0.50 0 361 arc
  stroke
  1.45 0.85 0.30 0 180 arc
  stroke
  0.20 0.70 moveto
  0.80 2.00 lineto
  0.92 2.26 1.30 2.40 1.15 1.70 curveto
  stroke
  2.70 0.70 moveto
  3.30 2.00 lineto
  3.42 2.26 3.80 2.40 3.65 1.70 curveto
  stroke"

eyeglasses = \markup {
  \with-dimensions #'(0 . 4.4) #'(0 . 2.5)
  \postscript #eyeglassesps
}

\relative c'' {
  c2^\eyeglasses
  a2_\eyeglasses
}

[image of music]

\rounded-box arg (markup)

Draw a box with rounded corners around arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup; the corner-radius property makes it possible to define another shape for the corners (default is 1).

c4^\markup {
  \rounded-box {
    Overtura
  }
}
c,8. c16 c4 r

[image of music]

Used properties:

  • box-padding (0.5)
  • font-size (0)
  • corner-radius (1)
  • thickness (1)
\triangle filled (boolean)

A triangle, either filled or empty.

\markup {
  \triangle ##t
  \hspace #2
  \triangle ##f
}

[image of music]

Used properties:

  • baseline-skip (2)
  • font-size (0)
  • thickness (0.1)
\with-url url (string) arg (markup)

Add a link to URL url around arg. This only works in the PDF backend.

\markup {
  \with-url #"http://lilypond.org/web/" {
    LilyPond ... \italic {
      music notation for everyone
    }
  }
}

[image of music]


B.8.4 Music

\doubleflat

Draw a double flat symbol.

\markup {
  \doubleflat
}

[image of music]

\doublesharp

Draw a double sharp symbol.

\markup {
  \doublesharp
}

[image of music]

\flat

Draw a flat symbol.

\markup {
  \flat
}

[image of music]

\musicglyph glyph-name (string)

glyph-name is converted to a musical symbol; for example, \musicglyph #"accidentals.natural" selects the natural sign from the music font. See The Feta font for a complete listing of the possible glyphs.

\markup {
  \musicglyph #"f"
  \musicglyph #"rests.2"
  \musicglyph #"clefs.G_change"
}

[image of music]

\natural

Draw a natural symbol.

\markup {
  \natural
}

[image of music]

\note-by-number log (number) dot-count (number) dir (number)

Construct a note symbol, with stem. By using fractional values for dir, longer or shorter stems can be obtained.

\markup {
  \note-by-number #3 #0 #DOWN
  \hspace #2
  \note-by-number #1 #2 #0.8
}

[image of music]

Used properties:

  • style (’())
  • font-size (0)
\note duration (string) dir (number)

This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example, \note #"4." #-0.75 creates a dotted quarter note, with a shortened down stem.

\markup {
  \override #'(style . cross) {
    \note #"4.." #UP
  }
  \hspace #2
  \note #"breve" #0
}

[image of music]

Used properties:

  • style (’())
  • font-size (0)
\score score (unknown)

Inline an image of music.

\markup {
  \score {
    \new PianoStaff <<
      \new Staff \relative c' {
        \key f \major
        \time 3/4
        \mark \markup { Allegro }
        f2\p( a4)
        c2( a4)
        bes2( g'4)
        f8( e) e4 r
      }
      \new Staff \relative c {
        \clef bass
        \key f \major
        \time 3/4
        f8( a c a c a
        f c' es c es c)
        f,( bes d bes d bes)
        f( g bes g bes g)
      }
    >>
    \layout {
      indent = 0.0\cm
      \context {
        \Score
        \override RehearsalMark #'break-align-symbols =
          #'(time-signature key-signature)
        \override RehearsalMark #'self-alignment-X = #LEFT
      }
      \context {
        \Staff
        \override TimeSignature #'break-align-anchor-alignment = #LEFT
      }
    }
  }
}

[image of music]

\semiflat

Draw a semiflat symbol.

\markup {
  \semiflat
}

[image of music]

\semisharp

Draw a semisharp symbol.

\markup {
  \semisharp
}

[image of music]

\sesquiflat

Draw a 3/2 flat symbol.

\markup {
  \sesquiflat
}

[image of music]

\sesquisharp

Draw a 3/2 sharp symbol.

\markup {
  \sesquisharp
}

[image of music]

\sharp

Draw a sharp symbol.

\markup {
  \sharp
}

[image of music]

\tied-lyric str (string)

Like simple-markup, but use tie characters for ‘~’ tilde symbols.

\markup {
  \tied-lyric #"Lasciate~i monti"
}

[image of music]


B.8.5 Instrument Specific Markup

\fret-diagram definition-string (string)

Make a (guitar) fret diagram. For example, say

\markup \fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"

for fret spacing 3/4 of staff space, D chord diagram

Syntax rules for definition-string:

  • - Diagram items are separated by semicolons.
  • - Possible items:
    • s:number – Set the fret spacing of the diagram (in staff spaces). Default: 1.
    • t:number – Set the line thickness (in staff spaces). Default: 0.05.
    • h:number – Set the height of the diagram in frets. Default: 4.
    • w:number – Set the width of the diagram in strings. Default: 6.
    • f:number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0.
    • d:number – Set radius of dot, in terms of fret spacing. Default: 0.25.
    • p:number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6.
    • c:string1-string2-fret – Include a barre mark from string1 to string2 on fret.
    • string-fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted.
    • string-fret-fingering – Place a dot on string at fret, and label with fingering as defined by the f: code.
  • - Note: There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-terse definition-string (string)

Make a fret diagram markup using terse string-based syntax.

Here is an example

\markup \fret-diagram-terse #"x;x;o;2;3;2;"

for a D chord diagram.

Syntax rules for definition-string:

  • Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.
  • Mute strings are indicated by ‘x’.
  • Open strings are indicated by ‘o’.
  • A number indicates a fret indication at that fret.
  • If there are multiple fret indicators desired on a string, they should be separated by spaces.
  • Fingerings are given by following the fret number with a -, followed by the finger indicator, e.g. ‘3-2’ for playing the third fret with the second finger.
  • Where a barre indicator is desired, follow the fret (or fingering) symbol with -( to start a barre and -) to end the barre.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-verbose marking-list (pair)

Make a fret diagram containing the symbols indicated in marking-list.

For example,

\markup \fret-diagram-verbose
  #'((mute 6) (mute 5) (open 4)
     (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))

produces a standard D chord diagram without fingering indications.

Possible elements in marking-list:

(mute string-number)

Place a small ‘x’ at the top of string string-number.

(open string-number)

Place a small ‘o’ at the top of string string-number.

(barre start-string end-string fret-number)

Place a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.

(capo fret-number)

Place a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.

(place-fret string-number fret-number finger-value)

Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value. By default, the fret playing indicator is a solid dot. This can be changed by setting the value of the variable dot-color. If the finger part of the place-fret element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\harp-pedal definition-string (string)

Make a harp pedal diagram.

Possible elements in definition-string:

^

pedal is up

-

pedal is neutral

v

pedal is down

|

vertical divider line

o

the following pedal should be circled (indicating a change)

The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.

The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (\override Voice.TextScript #'size = #0.3) for the overall, the thickness property (\override Voice.TextScript #'thickness = #3) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\override Voice.TextScript #'harp-pedal-details #'box-width = #1). It contains the following settings: box-offset (vertical shift of the box center for up/down pedals), box-width, box-height, space-before-divider (the spacing between two boxes before the divider) and space-after-divider (box spacing after the divider).

\markup \harp-pedal #"^-v|--ov^"

[image of music]

Used properties:

  • thickness (0.5)
  • harp-pedal-details
  • size (1.0)

B.8.6 Other

\backslashed-digit num (integer)

A feta number, with backslash. This is for use in the context of figured bass notation.

\markup {
  \backslashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \backslashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\char num (integer)

Produce a single character. Characters encoded in hexadecimal format require the prefix #x.

\markup {
  \char #65 \char ##x00a9
}

[image of music]

\fraction arg1 (markup) arg2 (markup)

Make a fraction of two markups.

\markup {
  π ≈
  \fraction 355 113
}

[image of music]

Used properties:

  • font-size (0)
\fromproperty symbol (symbol)

Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.

\header {
  myTitle = "myTitle"
  title = \markup {
    from
    \italic
    \fromproperty #'header:myTitle
  }
}
\markup {
  \null
}

[image of music]

\lookup glyph-name (string)

Lookup a glyph by name.

\markup {
  \override #'(font-encoding . fetaBraces) {
    \lookup #"brace200"
    \hspace #2
    \rotate #180
    \lookup #"brace180"
  }
}

[image of music]

\markalphabet num (integer)

Make a markup letter for num. The letters start with A to Z and continue with double letters.

\markup {
  \markalphabet #8
  \hspace #2
  \markalphabet #26
}

[image of music]

\markletter num (integer)

Make a markup letter for num. The letters start with A to Z (skipping letter I), and continue with double letters.

\markup {
  \markletter #8
  \hspace #2
  \markletter #26
}

[image of music]

\null

An empty markup with extents of a single point.

\markup {
  \null
}

[image of music]

\on-the-fly procedure (symbol) arg (markup)

Apply the procedure markup command to arg. procedure should take a single argument.

\override new-prop (pair) arg (markup)

Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.

\markup {
  \line {
    \column {
      default
      baseline-skip
    }
    \hspace #2
    \override #'(baseline-skip . 4) {
      \column {
        increased
        baseline-skip
      }
    }
  }
}

[image of music]

\page-ref label (symbol) gauge (markup) default (markup)

Reference to a page number. label is the label set on the referenced page (using the \label command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found.

\slashed-digit num (integer)

A feta number, with slash. This is for use in the context of figured bass notation.

\markup {
  \slashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \slashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\stencil stil (unknown)

Use a stencil as markup.

\markup {
  \stencil #(make-circle-stencil 2 0 #t)
}

[image of music]

\strut

Create a box of the same height as the space in the current font.

\transparent arg (markup)

Make arg transparent.

\markup {
  \transparent {
    invisible text
  }
}

[image of music]

\verbatim-file name (string)

Read the contents of file name, and include it verbatim.

\markup {
  \verbatim-file #"simple.ly"
}

[image of music]

\whiteout arg (markup)

Provide a white background for arg.

\markup {
  \combine
    \filled-box #'(-1 . 10) #'(-3 . 4) #1
    \whiteout whiteout
}

[image of music]

\with-color color (list) arg (markup)

Draw arg in color specified by color.

\markup {
  \with-color #red
  red
  \hspace #2
  \with-color #green
  green
  \hspace #2
  \with-color #blue
  blue
}

[image of music]

\with-dimensions x (pair of numbers) y (pair of numbers) arg (markup)

Set the dimensions of arg to x and y.


B.9 Text markup list commands

The following commands can all be used with \markuplines.

\column-lines args (list of markups)

Like \column, but return a list of lines instead of a single markup. baseline-skip determines the space between each markup in args.

Used properties:

  • baseline-skip
\justified-lines args (list of markups)

Like \justify, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width; X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\override-lines new-prop (pair) args (list of markups)

Like \override, for markup lists.

\wordwrap-internal justify (boolean) args (list of markups)

Internal markup list command used to define \justify and \wordwrap.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
\wordwrap-lines args (list of markups)

Like \wordwrap, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width, where X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string-internal justify (boolean) arg (string)

Internal markup list command used to define \justify-string and \wordwrap-string.

Used properties:

  • text-direction (1)
  • word-space
  • line-width

B.10 List of articulations

Voici la liste exhaustive des symboles :

[image of music]


B.11 Percussion notes

[image of music]


B.12 All context properties


B.13 Layout properties


B.14 Identifiers


B.15 Scheme functions


C. Cheat sheet

Syntaxe

Description

Exemple

1 2 8 16

valeurs rythmiques

[image of music]

c4. c4..

notes pointées

[image of music]

c d e f g a b

gamme

[image of music]

fis bes

altérations

[image of music]

\clef treble \clef bass

clés

[image of music]

\time 3/4 \time 4/4

chiffre de mesure

[image of music]

r4 r8

silences

[image of music]

d ~ d

liaison de tenue

[image of music]

\key es \major

armure

[image of music]

note'

monter d’une octave

[image of music]

note,

baisser d’une octave

[image of music]

c( d e)

liaisons

[image of music]

c\( c( d) e\)

liaisons de phrasé

[image of music]

a8[ b]

ligatures

[image of music]

<< \new Staff ... >>

ajouter des portées

[image of music]

c-> c-.

indications d’articulation

[image of music]

c\mf c\sfz

nuances

[image of music]

a\< a a\!

crescendo

[image of music]

a\> a a\!

decrescendo

[image of music]

< >

accords

[image of music]

\partial 8

levées

[image of music]

\times 2/3 {f g a}

triolets

[image of music]

\grace

appogiatures

[image of music]

\lyricmode { twinkle }

ajouter des paroles

twinkle

\new Lyrics

imprimer les paroles

[image of music]

twin -- kle

diviser un mot en plusieurs syllabes

[image of music]

\chordmode { c:dim f:maj7 }

accords chiffrés

[image of music]

\context ChordNames

imprimer les chiffrages d’accords

[image of music]

<<{e f} \\ {c d}>>

polyphonie

[image of music]

s4 s8 s16

silences invisibles


D. GNU Free Documentation License

Version 1.1, March 2000

 
Copyright © 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of ‘copyleft’, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The ‘Document’, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ‘you’.

    A ‘Modified Version’ of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A ‘Secondary Section’ is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The ‘Invariant Sections’ are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.

    The ‘Cover Texts’ are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.

    A ‘Transparent’ copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not ‘Transparent’ is called ‘Opaque’.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.

    The ‘Title Page’ means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ‘Title Page’ means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

  3. VERBATIM COPYING

    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.

  4. COPYING IN QUANTITY

    If you publish printed copies of the Document numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

  5. MODIFICATIONS

    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section entitled ‘History’, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled ‘History’ in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the ‘History’ section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. In any section entitled ‘Acknowledgments’ or ‘Dedications’, preserve the section’s title, and preserve in the section all the substance and tone of each of the contributor acknowledgments and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section entitled ‘Endorsements’. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section as ‘Endorsements’ or to conflict in title with any Invariant Section.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section entitled ‘Endorsements’, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

  6. COMBINING DOCUMENTS

    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections entitled ‘History’ in the various original documents, forming one section entitled ‘History’; likewise combine any sections entitled ‘Acknowledgments’, and any sections entitled ‘Dedications’. You must delete all sections entitled ‘Endorsements.’

  7. COLLECTIONS OF DOCUMENTS

    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

  8. AGGREGATION WITH INDEPENDENT WORKS

    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an ‘aggregate’, and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document’s Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.

  9. TRANSLATION

    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

  11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ‘or any later version’ applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

 
  Copyright (C)  year  your name.
  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 the Invariant Sections being list their titles, with the
  Front-Cover Texts being list, and with the Back-Cover Texts being list.
  A copy of the license is included in the section entitled ‘GNU
  Free Documentation License’.

If you have no Invariant Sections, write ‘with no Invariant Sections’ instead of saying which ones are invariant. If you have no Front-Cover Texts, write ‘no Front-Cover Texts’ instead of ‘Front-Cover Texts being list’; likewise for Back-Cover Texts.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


E. LilyPond command index

Aller à:   !   #   '   (   ,   .   /   ?   [   \   ]   _   |   ~  
A   B   C   D   F   H   L   M   N   P   R   S   T   U   W  
Entrée d’index Section

!
!Accidentals

#
#(set-accidental-style ’piano-cautionary)Automatic accidentals

'
Absolute octave entry

(
(begin * * * *)Setting automatic beam behavior
(end * * * *)Setting automatic beam behavior

,
,Absolute octave entry

.
.Durations

/
/Common chords
/+Common chords

?
?Accidentals

[
[Manual beams

\
\!Dynamics
\<Dynamics
\>Dynamics
\abs-fontsizeB.8.1 Font
\accepts5.1.6 Defining new contexts
\addChordShapePredefined fret diagrams
\addlyrics2.1.3 Aligning lyrics to a melody
\aeolianKey signature
\afterGraceGrace notes
\aikenHeadsShape note heads
\alternativeRepeat syntax
\arpeggioArpeggio
\arpeggioArrowDownPredefined commands
\arpeggioArrowUpPredefined commands
\arpeggioBracketPredefined commands
\arpeggioNormalPredefined commands
\arrow-headB.8.3 Graphic
\ascendensPredefined commands
\auctumPredefined commands
\augmentumPredefined commands
\autoBeamOffPredefined commands
\autoBeamOnPredefined commands
\autochangeChanging staff automatically
\backslashed-digitB.8.6 Other
\barBar lines
\beamB.8.3 Graphic
\boldB.8.1 Font
\boxB.8.1 Font
\bracketB.8.3 Graphic
\breveDurations
\cadenzaOffUnmetered music
\cadenzaOnUnmetered music
\caesuraPredefined commands
\capsB.8.1 Font
\cavumPredefined commands
\center-alignB.8.2 Align
\center-columnB.8.2 Align
\changeChanging staff manually
\charB.8.6 Other
\chordmodePredefined fret diagrams
\circleB.8.3 Graphic
\clefClef
\columnB.8.2 Align
\column-linesB.9 Text markup list commands
\combineB.8.2 Align
\concatB.8.2 Align
\deminutumPredefined commands
\denies5.1.6 Defining new contexts
\descendensPredefined commands
\dir-columnB.8.2 Align
\divisioMaiorPredefined commands
\divisioMaximaPredefined commands
\divisioMinimaPredefined commands
\dorianKey signature
\dotsDownPredefined commands
\dotsNeutralPredefined commands
\dotsUpPredefined commands
\doubleflatB.8.4 Music
\doublesharpB.8.4 Music
\downbowBowing indications
\draw-circleB.8.3 Graphic
\draw-lineB.8.3 Graphic
\dynamicB.8.1 Font
\dynamicDownPredefined commands
\dynamicNeutralPredefined commands
\dynamicUpPredefined commands
\easyHeadsOnPredefined commands
\epsfileB.8.3 Graphic
\fDynamics
\ffDynamics
\fffDynamics
\ffffDynamics
\fill-lineB.8.2 Align
\filled-boxB.8.3 Graphic
\finalisPredefined commands
\fingerB.8.1 Font
\flatB.8.4 Music
\flexaPredefined commands
\fontCapsB.8.1 Font
\fontsizeB.8.1 Font
\fpDynamics
\fractionB.8.6 Other
\frenchChordsPredefined commands
\fret-diagramFret diagram markups
\fret-diagramB.8.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseB.8.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseB.8.5 Instrument Specific Markup
\frompropertyB.8.6 Other
\general-alignB.8.2 Align
\germanChordsPredefined commands
\glissandoGlissando
\graceGrace notes
\halignB.8.2 Align
\harmonicHarmonics
\harp-pedalB.8.5 Instrument Specific Markup
\hbracketB.8.3 Graphic
\hcenter-inB.8.2 Align
\hideNotesHidden notes
\hideStaffSwitchStaff-change lines
\hspaceB.8.2 Align
\hugeB.8.1 Font
\inclinatumPredefined commands
\ionianKey signature
\italianChordsPredefined commands
\italicB.8.1 Font
\justified-linesB.9 Text markup list commands
\justifyB.8.2 Align
\justify-fieldB.8.2 Align
\justify-stringB.8.2 Align
\keyKey signature
\keyShape note heads
\laissezVibrerTies
\largeB.8.1 Font
\largerB.8.1 Font
\left-alignB.8.2 Align
\left-columnB.8.2 Align
\lineB.8.2 Align
\lineaPredefined commands
\locrianKey signature
\longaDurations
\lookupB.8.6 Other
\lowerB.8.2 Align
\lydianKey signature
\lyricmodeLyrics explained
\lyricmode2.1.3 Aligning lyrics to a melody
\lyricsto2.1.3 Aligning lyrics to a melody
\magnifyB.8.1 Font
\majorKey signature
\markRehearsal marks
\markText marks
\markalphabetB.8.6 Other
\markletterB.8.6 Other
\markuplinesPredefined commands
\maximaDurations
\mediumB.8.1 Font
\melismaPredefined commands
\melismaEndPredefined commands
\mfDynamics
\minorKey signature
\minorKey signature
\mixolydianKey signature
\mpDynamics
\musicglyphB.8.4 Music
\naturalB.8.4 Music
\normal-size-subB.8.1 Font
\normal-size-superB.8.1 Font
\normal-textB.8.1 Font
\normalsizePredefined commands
\normalsizeB.8.1 Font
\noteB.8.4 Music
\note-by-numberB.8.4 Music
\nullB.8.6 Other
\numberB.8.1 Font
\on-the-flyB.8.6 Other
\oneVoicePredefined commands
\openBowing indications
\oriscusPredefined commands
\override5.3.4 Constructing a tweak
\overrideB.8.6 Other
\override-linesB.9 Text markup list commands
\pDynamics
\pad-aroundB.8.2 Align
\pad-markupB.8.2 Align
\pad-to-boxB.8.2 Align
\pad-xB.8.2 Align
\page-refB.8.6 Other
\partialUpbeats
\pesPredefined commands
\phrasingSlurDownPredefined commands
\phrasingSlurNeutralPredefined commands
\phrasingSlurUpPredefined commands
\phrygianKey signature
\postscriptB.8.3 Graphic
\ppDynamics
\pppDynamics
\ppppDynamics
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property dans \lyricmodeLyrics explained
\put-adjacentB.8.2 Align
\quilismaPredefined commands
\raiseB.8.2 Align
\relativeRelative octave entry
\relativeChanging staff automatically
\repeat1.4.1 Long repeats
\repeatTieTies
\repeatTieRepeat syntax
\restRests
\rfzDynamics
\right-alignB.8.2 Align
\right-columnB.8.2 Align
\rightHandFingerRight-hand fingerings
\romanB.8.1 Font
\rotateB.8.2 Align
\rounded-boxB.8.3 Graphic
\sacredHarpHeadsShape note heads
\sansB.8.1 Font
\scoreB.8.4 Music
\semiflatB.8.4 Music
\semiGermanChordsPredefined commands
\semisharpB.8.4 Music
\sesquiflatB.8.4 Music
\sesquisharpB.8.4 Music
\set5.3.2 The \set command
\sfDynamics
\sffDynamics
\sfzDynamics
\sharpB.8.4 Music
\shiftOffPredefined commands
\shiftOnPredefined commands
\shiftOnnPredefined commands
\shiftOnnnPredefined commands
\showStaffSwitchStaff-change lines
\simpleB.8.1 Font
\skipInvisible rests
\slashed-digitB.8.6 Other
\slurDashedPredefined commands
\slurDottedPredefined commands
\slurDownPredefined commands
\slurNeutralPredefined commands
\slurSolidPredefined commands
\slurUpPredefined commands
\smallPredefined commands
\smallB.8.1 Font
\smallCapsB.8.1 Font
\smallerB.8.1 Font
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\spDynamics
\sppDynamics
\startTrillSpanPredefined commands
\stemDownPredefined commands
\stemNeutralPredefined commands
\stemUpPredefined commands
\stencilB.8.6 Other
\stopTrillSpanPredefined commands
\storePredefinedDiagramPredefined fret diagrams
\strophaPredefined commands
\strutB.8.6 Other
\subB.8.1 Font
\superB.8.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\tagUsing tags
\teenyB.8.1 Font
\tempoMetronome marks
\textB.8.1 Font
\textLengthOffPredefined commands
\textLengthOnPredefined commands
\tied-lyricB.8.4 Music
\tieDashedPredefined commands
\tieDottedPredefined commands
\tieDownPredefined commands
\tieNeutralPredefined commands
\tieSolidPredefined commands
\tieUpPredefined commands
\timeTime signature
\timesTuplets
\tinyPredefined commands
\tinyB.8.1 Font
\translateB.8.2 Align
\translate-scaledB.8.2 Align
\transparentB.8.6 Other
\transposeTranspose
\treCordePiano pedals
\triangleB.8.3 Graphic
\tupletDownPredefined commands
\tupletNeutralPredefined commands
\tupletUpPredefined commands
\tweak5.3.5 The \tweak command
\typewriterB.8.1 Font
\unaCordaPiano pedals
\underlineB.8.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotesHidden notes
\unset5.3.2 The \set command
\upbowBowing indications
\uprightB.8.1 Font
\vcenterB.8.2 Align
\verbatim-fileB.8.6 Other
\virgaPredefined commands
\virgulaPredefined commands
\voiceFourPredefined commands
\voiceOnePredefined commands
\voiceThreePredefined commands
\voiceTwoPredefined commands
\whiteoutB.8.6 Other
\with5.1.3 Modifying context plug-ins
\with-colorB.8.6 Other
\with-dimensionsB.8.6 Other
\with-urlB.8.3 Graphic
\wordwrapB.8.2 Align
\wordwrap-fieldB.8.2 Align
\wordwrap-internalB.9 Text markup list commands
\wordwrap-linesB.9 Text markup list commands
\wordwrap-stringB.8.2 Align
\wordwrap-string-internalB.9 Text markup list commands
\\Basic polyphony

]
]Manual beams

_
_Lyrics explained
_Multiple syllables to one note

|
|Bar and bar number checks
|Bar and bar number checks

~
~Ties

A
add ChordShapePredefined fret diagrams
augCommon chords
autoBeamingSetting automatic beam behavior
autoBeamSettingsSetting automatic beam behavior
autochangeChanging staff automatically

B
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
barCheckSynchronizeBar and bar number checks
bracketPiano pedals
breakableCommonly tweaked properties

C
changeChanging staff manually
chordmodePredefined fret diagrams
chordNameExceptionsPrinting chord names
ChordNamesPredefined fret diagrams
chordNameSeparatorPrinting chord names
chordNoteNamerPrinting chord names
chordPrefixSpacerPrinting chord names
chordRootNamerPrinting chord names
cross-staffCross-staff stems
currentBarNumberBar numbers

D
defaultBarTypeCommonly tweaked properties
dimCommon chords

F
flag-styleCross-staff stems
followVoiceStaff-change lines
font-interface1.8.3 Fonts
four-string-banjoBanjo tablatures
fret-diagramFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-terseFret diagram markups
fret-diagram-verboseFret diagram markups
FretBoardsPredefined fret diagrams

H
hideStaffSwitchStaff-change lines

L
lengthCross-staff stems

M
mCommon chords
majCommon chords
majorSevenSymbolPrinting chord names
minimumFretDefault tablatures
mixedPiano pedals
modern style accidentalsAutomatic accidentals
modern-cautionaryAutomatic accidentals
modern-voiceAutomatic accidentals
modern-voice-cautionaryAutomatic accidentals

N
no-reset accidental styleAutomatic accidentals

P
pedalSustainStylePiano pedals
piano accidentalsAutomatic accidentals
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
pipeSymbolBar and bar number checks
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams

R
rRests
RFull measure rests
relativeChanging staff automatically
repeatCommandsCommonly tweaked properties
repeatCommandsManual repeat commands
rightHandFingerRight-hand fingerings

S
sInvisible rests
set-accidental-styleAutomatic accidentals
shapeNoteStylesShape note heads
showStaffSwitchStaff-change lines
sostenutoOffPiano pedals
sostenutoOnPiano pedals
staff-paddingKnown issues and warnings
StemCross-staff stems
stemLeftBeamCountCommonly tweaked properties
stemRightBeamCountCommonly tweaked properties
storePredefinedDiagramPredefined fret diagrams
stringTuningsPredefined fret diagrams
StringTuningsCustom tablatures
subdivideBeamsCommonly tweaked properties
susCommon chords
sustainOffPiano pedals
sustainOnPiano pedals

T
TabStaffDefault tablatures
TabVoiceDefault tablatures
textPiano pedals
textSpannerDownPredefined commands
textSpannerNeutralPredefined commands
textSpannerUpPredefined commands
treCordePiano pedals
tremoloFlagsTremolo subdivisions
tupletNumberFormatFunctionCommonly tweaked properties

U
unaCordaPiano pedals

W
whichBarCommonly tweaked properties

Aller à:   !   #   '   (   ,   .   /   ?   [   \   ]   _   |   ~  
A   B   C   D   F   H   L   M   N   P   R   S   T   U   W  

F. LilyPond index

Aller à:   !   #   '   (   ,   .   /   1   ?   [   \   ]   _   |   ~   É  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W  
Entrée d’index Section

!
!Accidentals

#
#(set-accidental-style ’piano-cautionary)Automatic accidentals

'
Absolute octave entry

(
(begin * * * *)Setting automatic beam behavior
(end * * * *)Setting automatic beam behavior

,
,Absolute octave entry

.
.Durations

/
/Common chords
/+Common chords

1
15maOttava brackets

?
?Accidentals

[
[Manual beams

\
\!Dynamics
\<Dynamics
\>Dynamics
\abs-fontsizeB.8.1 Font
\accepts5.1.6 Defining new contexts
\addChordShapePredefined fret diagrams
\addlyrics2.1.3 Aligning lyrics to a melody
\aeolianKey signature
\afterGraceGrace notes
\aikenHeadsShape note heads
\alternativeRepeat syntax
\arpeggioArpeggio
\arpeggioArrowDownPredefined commands
\arpeggioArrowUpPredefined commands
\arpeggioBracketPredefined commands
\arpeggioNormalPredefined commands
\arrow-headB.8.3 Graphic
\ascendensPredefined commands
\auctumPredefined commands
\augmentumPredefined commands
\autoBeamOffPredefined commands
\autoBeamOnPredefined commands
\autochangeChanging staff automatically
\backslashed-digitB.8.6 Other
\barBar lines
\beamB.8.3 Graphic
\boldB.8.1 Font
\boxB.8.1 Font
\bracketB.8.3 Graphic
\breveDurations
\cadenzaOffUnmetered music
\cadenzaOnUnmetered music
\caesuraPredefined commands
\capsB.8.1 Font
\cavumPredefined commands
\center-alignB.8.2 Align
\center-columnB.8.2 Align
\changeChanging staff manually
\charB.8.6 Other
\chordmodePredefined fret diagrams
\circleB.8.3 Graphic
\clefClef
\columnB.8.2 Align
\column-linesB.9 Text markup list commands
\combineB.8.2 Align
\concatB.8.2 Align
\deminutumPredefined commands
\denies5.1.6 Defining new contexts
\descendensPredefined commands
\dir-columnB.8.2 Align
\divisioMaiorPredefined commands
\divisioMaximaPredefined commands
\divisioMinimaPredefined commands
\dorianKey signature
\dotsDownPredefined commands
\dotsNeutralPredefined commands
\dotsUpPredefined commands
\doubleflatB.8.4 Music
\doublesharpB.8.4 Music
\downbowBowing indications
\draw-circleB.8.3 Graphic
\draw-lineB.8.3 Graphic
\dynamicB.8.1 Font
\dynamicDownPredefined commands
\dynamicNeutralPredefined commands
\dynamicUpPredefined commands
\easyHeadsOnPredefined commands
\epsfileB.8.3 Graphic
\fDynamics
\ffDynamics
\fffDynamics
\ffffDynamics
\fill-lineB.8.2 Align
\filled-boxB.8.3 Graphic
\finalisPredefined commands
\fingerB.8.1 Font
\flatB.8.4 Music
\flexaPredefined commands
\fontCapsB.8.1 Font
\fontsizeB.8.1 Font
\fpDynamics
\fractionB.8.6 Other
\frenchChordsPredefined commands
\fret-diagramFret diagram markups
\fret-diagramB.8.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseB.8.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseB.8.5 Instrument Specific Markup
\frompropertyB.8.6 Other
\general-alignB.8.2 Align
\germanChordsPredefined commands
\glissandoGlissando
\graceGrace notes
\halignB.8.2 Align
\harmonicHarmonics
\harp-pedalB.8.5 Instrument Specific Markup
\hbracketB.8.3 Graphic
\hcenter-inB.8.2 Align
\hideNotesHidden notes
\hideStaffSwitchStaff-change lines
\hspaceB.8.2 Align
\hugeB.8.1 Font
\inclinatumPredefined commands
\ionianKey signature
\italianChordsPredefined commands
\italicB.8.1 Font
\justified-linesB.9 Text markup list commands
\justifyB.8.2 Align
\justify-fieldB.8.2 Align
\justify-stringB.8.2 Align
\keyKey signature
\keyShape note heads
\laissezVibrerTies
\largeB.8.1 Font
\largerB.8.1 Font
\left-alignB.8.2 Align
\left-columnB.8.2 Align
\lineB.8.2 Align
\lineaPredefined commands
\locrianKey signature
\longaDurations
\lookupB.8.6 Other
\lowerB.8.2 Align
\lydianKey signature
\lyricmodeLyrics explained
\lyricmode2.1.3 Aligning lyrics to a melody
\lyricsto2.1.3 Aligning lyrics to a melody
\magnifyB.8.1 Font
\majorKey signature
\markRehearsal marks
\markText marks
\markalphabetB.8.6 Other
\markletterB.8.6 Other
\markuplinesPredefined commands
\maximaDurations
\mediumB.8.1 Font
\melismaPredefined commands
\melismaEndPredefined commands
\mfDynamics
\minorKey signature
\minorKey signature
\mixolydianKey signature
\mpDynamics
\musicglyphB.8.4 Music
\naturalB.8.4 Music
\normal-size-subB.8.1 Font
\normal-size-superB.8.1 Font
\normal-textB.8.1 Font
\normalsizePredefined commands
\normalsizeB.8.1 Font
\noteB.8.4 Music
\note-by-numberB.8.4 Music
\nullB.8.6 Other
\numberB.8.1 Font
\on-the-flyB.8.6 Other
\once5.3.2 The \set command
\oneVoicePredefined commands
\openBowing indications
\oriscusPredefined commands
\override5.3.4 Constructing a tweak
\overrideB.8.6 Other
\override-linesB.9 Text markup list commands
\pDynamics
\pad-aroundB.8.2 Align
\pad-markupB.8.2 Align
\pad-to-boxB.8.2 Align
\pad-xB.8.2 Align
\page-refB.8.6 Other
\partialUpbeats
\pesPredefined commands
\phrasingSlurDownPredefined commands
\phrasingSlurNeutralPredefined commands
\phrasingSlurUpPredefined commands
\phrygianKey signature
\postscriptB.8.3 Graphic
\ppDynamics
\pppDynamics
\ppppDynamics
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property dans \lyricmodeLyrics explained
\put-adjacentB.8.2 Align
\quilismaPredefined commands
\raiseB.8.2 Align
\relativeRelative octave entry
\relativeChanging staff automatically
\repeat1.4.1 Long repeats
\repeatTieTies
\repeatTieRepeat syntax
\restRests
\rfzDynamics
\right-alignB.8.2 Align
\right-columnB.8.2 Align
\rightHandFingerRight-hand fingerings
\romanB.8.1 Font
\rotateB.8.2 Align
\rounded-boxB.8.3 Graphic
\sacredHarpHeadsShape note heads
\sansB.8.1 Font
\scoreB.8.4 Music
\semiflatB.8.4 Music
\semiGermanChordsPredefined commands
\semisharpB.8.4 Music
\sesquiflatB.8.4 Music
\sesquisharpB.8.4 Music
\set5.3.2 The \set command
\sfDynamics
\sffDynamics
\sfzDynamics
\sharpB.8.4 Music
\shiftOffPredefined commands
\shiftOnPredefined commands
\shiftOnnPredefined commands
\shiftOnnnPredefined commands
\showStaffSwitchStaff-change lines
\simpleB.8.1 Font
\skipInvisible rests
\slashed-digitB.8.6 Other
\slurDashedPredefined commands
\slurDottedPredefined commands
\slurDownPredefined commands
\slurNeutralPredefined commands
\slurSolidPredefined commands
\slurUpPredefined commands
\smallPredefined commands
\smallB.8.1 Font
\smallCapsB.8.1 Font
\smallerB.8.1 Font
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\spDynamics
\sppDynamics
\startTrillSpanPredefined commands
\stemDownPredefined commands
\stemNeutralPredefined commands
\stemUpPredefined commands
\stencilB.8.6 Other
\stopTrillSpanPredefined commands
\storePredefinedDiagramPredefined fret diagrams
\strophaPredefined commands
\strutB.8.6 Other
\subB.8.1 Font
\superB.8.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\tagUsing tags
\teenyB.8.1 Font
\tempoMetronome marks
\textB.8.1 Font
\textLengthOffPredefined commands
\textLengthOnPredefined commands
\tied-lyricB.8.4 Music
\tieDashedPredefined commands
\tieDottedPredefined commands
\tieDownPredefined commands
\tieNeutralPredefined commands
\tieSolidPredefined commands
\tieUpPredefined commands
\timeTime signature
\timesTuplets
\tinyPredefined commands
\tinyB.8.1 Font
\translateB.8.2 Align
\translate-scaledB.8.2 Align
\transparentB.8.6 Other
\transposeTranspose
\treCordePiano pedals
\triangleB.8.3 Graphic
\tupletDownPredefined commands
\tupletNeutralPredefined commands
\tupletUpPredefined commands
\tweak5.3.5 The \tweak command
\typewriterB.8.1 Font
\unaCordaPiano pedals
\underlineB.8.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotesHidden notes
\unset5.3.2 The \set command
\upbowBowing indications
\uprightB.8.1 Font
\vcenterB.8.2 Align
\verbatim-fileB.8.6 Other
\virgaPredefined commands
\virgulaPredefined commands
\voiceFourPredefined commands
\voiceOnePredefined commands
\voiceThreePredefined commands
\voiceTwoPredefined commands
\whiteoutB.8.6 Other
\with5.1.3 Modifying context plug-ins
\with-colorB.8.6 Other
\with-dimensionsB.8.6 Other
\with-urlB.8.3 Graphic
\wordwrapB.8.2 Align
\wordwrap-fieldB.8.2 Align
\wordwrap-internalB.9 Text markup list commands
\wordwrap-linesB.9 Text markup list commands
\wordwrap-stringB.8.2 Align
\wordwrap-string-internalB.9 Text markup list commands
\\Basic polyphony

]
]Manual beams

_
_Lyrics explained
_Multiple syllables to one note

|
|Bar and bar number checks
|Bar and bar number checks

~
~Ties

A
absolues, hauteursAbsolute octave entry
absolues, octavesAbsolute octave entry
accacciatureGrace notes
accentArticulations and ornamentations
accentB.10 List of articulations
acciaccatura6.1.7 Overview of available music functions
accolade verticaleGrouping staves
accord arpégéArpeggio
accord nommés et diagrammes de fretPredefined fret diagrams
accord, carrures pour cordes frettéesPredefined fret diagrams
accord, diagrammesFret diagram markups
accord, diagrammesPredefined fret diagrams
accord, diagrammes automatiquesAutomatic fret diagrams
accordages de banjoBanjo tablatures
accordages prédéfinis et cordes frettéesCustom tablatures
accordsChorded notes
accordsPrinting chord names
accords chiffrés, exceptionsPrinting chord names
accords incompletsCommon chords
accords jazz, chiffragePrinting chord names
accords, chiffrage jazzChord mode overview
accords, répartition sur plusieurs portées avec \autochangeKnown issues and warnings
accordéon, symboles de registreDiscant symbols
accordéon, tirettesDiscant symbols
add ChordShapePredefined fret diagrams
addChordShape6.1.7 Overview of available music functions
adding a white background to textB.8.6 Other
addInstrumentDefinition6.1.7 Overview of available music functions
addQuote6.1.7 Overview of available music functions
afterGrace6.1.7 Overview of available music functions
agrégatsKnown issues and warnings
ajout de texteText scripts
al nienteDynamics
alignAboveContext5.1.7 Aligning contexts
alignBelowContext5.1.7 Aligning contexts
allowPageTurn6.1.7 Overview of available music functions
altération de précautionAccidentals
altération entre parenthèsesAccidentals
altération, de précautionAccidentals
altération, entre parenthèsesAccidentals
altérationsAncient accidentals
Altérations accidentelles automatiquesAutomatic accidentals
ambitusAmbitus
anacrouseUpbeats
analyse musicologiqueAnalysis brackets
applyContext6.1.7 Overview of available music functions
applyMusic6.1.7 Overview of available music functions
applyOutput6.1.7 Overview of available music functions
appoggiatura6.1.7 Overview of available music functions
appoggiatureGrace notes
armureKey signature
arpègeArpeggio
articulationsArticulations and ornamentations
articulationsAncient articulations
artificiels, harmoniquesHarmonics
assertBeamQuant6.1.7 Overview of available music functions
assertBeamSlope6.1.7 Overview of available music functions
augCommon chords
auto-knee-gapCommonly tweaked properties
autoBeamingSetting automatic beam behavior
autoBeamSettingsSetting automatic beam behavior
autochangeChanging staff automatically
autochange6.1.7 Overview of available music functions
autochange et mode relatifChanging staff automatically
Automatique, changement de portéeChanging staff automatically
automatique, diagramme d’accordAutomatic fret diagrams
automatique, diagramme de fretAutomatic fret diagrams

B
backslashed digitsB.8.6 Other
balloonGrobText6.1.7 Overview of available music functions
balloonText6.1.7 Overview of available music functions
banjo, accordagesBanjo tablatures
banjo, tablatureCustom tablatures
banjo, tablature pour2.4 Fretted string instruments
banjo, tablaturesBanjo tablatures
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
BanterPrinting chord names
bar6.1.7 Overview of available music functions
barCheckSynchronizeBar and bar number checks
barNumberCheck6.1.7 Overview of available music functions
baroque, ornementationArticulations and ornamentations
baroque, ornementationB.10 List of articulations
barres de mesureBar lines
barres de mesure, symboles au dessus deText marks
barres de repriseBar lines
barres de reprise1.4.1 Long repeats
barré, indication deFret diagram markups
Bartók pizzicatoSnap (Bartók) pizzicato
basse chiffréeIntroduction to figured bass
basse continueIntroduction to figured bass
battements par minuteMetronome marks
batterieBasic percussion notation
batteriePercussion staves
bendAfter6.1.7 Overview of available music functions
bisbigliandoReferences for harps
blocs de texteText scripts
bouchéArticulations and ornamentations
bouchéB.10 List of articulations
bracketPiano pedals
breakableCommonly tweaked properties
breathe6.1.7 Overview of available music functions
bullesBalloon help

C
cadenceUnmetered music
calquesBasic polyphony
casesDefault tablatures
centering a column of textB.8.2 Align
centrage des nuances entre deux portées de pianoKnown issues and warnings
changeChanging staff manually
Changement de portée automatiqueChanging staff automatically
changement de portée forcéChanging staff manually
changements de portéeStaff-change lines
changements de portée manuelsChanging staff manually
changer de policeText markup introduction
changing direction of text columnsB.8.2 Align
chiffrage d’accords, exceptionsPrinting chord names
chiffrage de mesureTime signature
chiffrages d’accordsPrinting chord names
chiffrages des accordsCommon chords
chiffre indicateur de mesureTime signature
Chiffres de mesure multiples5.1.3 Modifying context plug-ins
choral scoreMultiple notes to one syllable
choral tenor clefClef
chordmodePredefined fret diagrams
chordNameExceptionsPrinting chord names
ChordNamesPredefined fret diagrams
chordNameSeparatorPrinting chord names
chordNoteNamerPrinting chord names
chordPrefixSpacerPrinting chord names
chordRootNamerPrinting chord names
circling textB.8.3 Graphic
citationQuoting other voices
clavier, portées pour instrument àReferences for keyboards
claviers, centrage des nuancesKnown issues and warnings
clef6.1.7 Overview of available music functions
clefsAncient clefs
clusterClusters
clé d’utClef
clé de faClef
clé de solClef
clésAncient clefs
clés, portées pour instrument àReferences for keyboards
codaRehearsal marks
codaArticulations and ornamentations
codaB.10 List of articulations
coda sur une barre de mesureText marks
coloring textB.8.6 Other
commentaire textuelText markup introduction
composite, métriquePolymetric notation
concatenating textB.8.2 Align
condenser les silencesKnown issues and warnings
controlling general text alignmentB.8.2 Align
corde à vide, indicationBowing indications
cordes d’orchestre2.3 Unfretted string instruments
cordes frettées, carrures d’accordPredefined fret diagrams
cordes frettées, doigtés main droiteRight-hand fingerings
cordes frettées, harmoniquesIndicating harmonics and dampened notes
cordes frettées, indication de la position et du barréIndicating position and barring
cordes frettées, notes étoufféesIndicating harmonics and dampened notes
cordes frettés et accordages prédéfinisCustom tablatures
cordes numérotéesString number indications
cordes, écriture pour2.3 Unfretted string instruments
couchesBasic polyphony
creating empty text objectsB.8.6 Other
creating horizontal spaces in textB.8.2 Align
creating text fractionsB.8.6 Other
creating vertical spaces in textB.8.6 Other
crescendoDynamics
crochet de regroupement de notesAnalysis brackets
crochet verticalGrouping staves
crochetsAnalysis brackets
crochetsAncient flags
crochets de phraséAnalysis brackets
cross-staffCross-staff stems
cueDuring6.1.7 Overview of available music functions
cuesQuoting other voices
currentBarNumberBar numbers
custodesCustodes
custosCustodes

D
D.S al FineRehearsal marks
decrescendoDynamics
defaultBarTypeCommonly tweaked properties
demi-bémols, demi-dièsesAccidentals
diagrammes d’accord pour instrument frettéFret diagram markups
diagrammes de fretFret diagram markups
diagrammes de fret et transpositionPredefined fret diagrams
diagrammes de fret personnalisésFret diagram markups
diagrammes de fret personnalisés, ajoutPredefined fret diagrams
diagrammes personnalisés de fretFret diagram markups
diagrammes personnalisés de fretFret diagram markups
dimCommon chords
diminuendoDynamics
displayLilyMusic6.1.7 Overview of available music functions
displayMusic6.1.7 Overview of available music functions
distance entre deux portées de pianoCross-staff stems
divisioDivisiones
divisionesDivisiones
documentation exhaustive5.3.4 Constructing a tweak
doigtéFingering instructions
doigtés et numéros de cordeString number indications
doigtés main droite et cordes frettéesRight-hand fingerings
doigtés, ajout à des diagrammes de fretAutomatic fret diagrams
drawing beams within textB.8.3 Graphic
drawing boxes with rounded cornersB.8.3 Graphic
drawing boxes with rounded corners around textB.8.3 Graphic
drawing circles within textB.8.3 Graphic
drawing lines within textB.8.3 Graphic
drawing solid boxes within textB.8.3 Graphic
drawing triangles within textB.8.3 Graphic
durée automatique des syllabesAutomatic syllable durations
duréesDurations

E
enclosing text in a box with rounded cornersB.8.3 Graphic
enclosing text within a boxB.8.1 Font
endSpanners6.1.7 Overview of available music functions
espacer des parolesSpacing out syllables
espaces, dans les parolesLyrics explained
espaces, dans les parolesLyrics explained
espressivoArticulations and ornamentations
espressivoB.10 List of articulations
exceptions, chiffrage d’accordsPrinting chord names
extenseurExtenders and hyphens

F
fantômes, notesParentheses
FDL, GNU Free Documentation LicenseD. GNU Free Documentation License
featherDurations6.1.7 Overview of available music functions
finalisDivisiones
flag-styleCross-staff stems
flageoletArticulations and ornamentations
flageoletB.10 List of articulations
fois, pre1.4.1 Long repeats
followVoiceStaff-change lines
font-interface1.8.3 Fonts
four-string-banjoBanjo tablatures
Frenched scoresHiding staves
fret et transpositionPredefined fret diagrams
fret, ajout de diagrammes personnalisésPredefined fret diagrams
fret, ajout de doigtés aux diagrammesAutomatic fret diagrams
fret, diagrammesFret diagram markups
fret, diagrammesPredefined fret diagrams
fret, diagrammes automatiquesAutomatic fret diagrams
fret, diagrammes avec noms d’accordPredefined fret diagrams
fret, diagrammes personnalisésFret diagram markups
fret, diagrammes personnalisésFret diagram markups
fret-diagramFret diagram markups
fret-diagram et markupFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-terseFret diagram markups
fret-diagram-terse markupFret diagram markups
fret-diagram-verboseFret diagram markups
fret-diagram-verbose markupFret diagram markups
FretBoardsPredefined fret diagrams

G
glissandoGlissando
glissando, indication en tablatureDefault tablatures
grace6.1.7 Overview of available music functions
grossissement des polices1.8.3 Fonts
groupements de note manuelsManual beams
groupes de notesSetting automatic beam behavior
grupettoArticulations and ornamentations
grupettoB.10 List of articulations
grégorien, ligatures de neumes carrésGregorian square neumes ligatures
guidonCustodes
guillemets, dans les parolesLyrics explained
guillemets, dans les parolesLyrics explained
guitare basse, tablatureCustom tablatures
guitare, tablature pour2.4 Fretted string instruments

H
Hal LeonardEasy notation note heads
hampe, enjambement portéesCross-staff stems
harmoniques artificielsHarmonics
harmoniques et cordes frettéesIndicating harmonics and dampened notes
harmoniques naturelsHarmonics
harmoniques, indication en tablatureDefault tablatures
harpe, diagrammes de pédalesHarp pedals
harpe, pédalesHarp pedals
harpesReferences for harps
hauteursAbsolute octave entry
hideStaffSwitchStaff-change lines
horizontally centering textB.8.2 Align
hufnagel2.8.1 Introduction to ancient notation

I
importing stencils into textB.8.6 Other
includePageLayoutFile6.1.7 Overview of available music functions
indication d’octave relativeRelative octave entry
indication de corde à videBowing indications
indication de la position et du barré pour cordes frettéesIndicating position and barring
indication du barréFret diagram markups
indication métronomiqueMetronome marks
indications d’archetBowing indications
inlining an Encapsulated PostScript imageB.8.3 Graphic
inserting music into textB.8.4 Music
inserting PostScript directly into textB.8.3 Graphic
inserting URL links into textB.8.3 Graphic
instrumentSwitch6.1.7 Overview of available music functions
inter-portée, ligaturesChanging staff manually
inter-portée, notesChanging staff manually
interfaces de rendu5.2.2 Layout interfaces
Invisibles, notesHidden notes

J
jazz, chiffrages d’accordsPrinting chord names
justifying lines of textB.9 Text markup list commands
justifying textB.8.2 Align

K
keepWithTag6.1.7 Overview of available music functions
killCues6.1.7 Overview of available music functions

L
label6.1.7 Overview of available music functions
laissez vibrerTies
left aligning textB.8.2 Align
legatoSlurs
lengthCross-staff stems
levéeUpbeats
liaison d’articulationSlurs
liaison de prolongationTies
liaison de prolongation, répétitionTies
liaison, laissez vibrerTies
liaisons de phraséPhrasing slurs
liaisons, dans les parolesLyrics explained
liaisons, dans les parolesMultiple syllables to one note
ligature inter-portéeChanging staff manually
LigaturesLigatures
ligatures automatiquesSetting automatic beam behavior
ligatures automatiques, réglageSetting automatic beam behavior
ligatures coudéesCommonly tweaked properties
ligatures de trémoloTremolo repeats
ligatures et sauts de ligneCommonly tweaked properties
ligatures in textB.8.2 Align
ligatures manuellesManual beams
Ligatures mensuralesWhite mensural ligatures
Ligatures mensurales blanchesWhite mensural ligatures
lignes de portée, nombre deStaff symbol
lignes de portée, épaisseur desStaff symbol
lowering textB.8.2 Align

M
mCommon chords
magnifying textB.8.1 Font
main droite, doigtés pour cordes frettéesRight-hand fingerings
majCommon chords
majorSevenSymbolPrinting chord names
make-dynamic-scriptNew dynamic marks
makeClusters6.1.7 Overview of available music functions
mandoline, tablatureCustom tablatures
marcatoArticulations and ornamentations
marcatoB.10 List of articulations
markup et fret-diagramFret diagram markups
Masquer des portéesHiding staves
Masquées, notesHidden notes
measure repeatsMeasure repeats
Medicaea, Editio2.8.1 Introduction to ancient notation
mensural2.8.1 Introduction to ancient notation
MensuralStaffContextMensural contexts
MensuralStaffContextAnnotational accidentals
MensuralVoiceContextMensural contexts
MensuralVoiceContextAnnotational accidentals
merging textB.8.2 Align
mesure entière de silenceFull measure rests
mesure incomplèteUpbeats
Mesure, numéro deBar numbers
mesures à compterFull measure rests
mesures, vérification des limitesBar and bar number checks
minimumFretDefault tablatures
mixedPiano pedals
mode accordsCommon chords
mode relatif et autochangeChanging staff automatically
modern style accidentalsAutomatic accidentals
modern-cautionaryAutomatic accidentals
modern-voiceAutomatic accidentals
modern-voice-cautionaryAutomatic accidentals
modes anciensKey signature
modifier des propriétés5.3.2 The \set command
mordantArticulations and ornamentations
mordantB.10 List of articulations
musicMap6.1.7 Overview of available music functions
musique en parallèleWriting music in parallel
musique entremêléeWriting music in parallel
mélismeMultiple notes to one syllable
mélismeExtenders and hyphens
mélodie d’une portée à une autreStaff-change lines
métriqueTime signature
métriqueAncient time signatures
métrique compositePolymetric notation
métrique polymétriquePolymetric notation

N
naturels, harmoniquesHarmonics
neumes carrés et ligaturesGregorian square neumes ligatures
niente, alDynamics
no-reset accidental styleAutomatic accidentals
noletsTuplets
nolets, formatageCommonly tweaked properties
nom de personnageAdding singers’ names to stanzas
nom du chanteurAdding singers’ names to stanzas
nombre de lignes de portéeStaff symbol
noms de noteAbsolute octave entry
noms de note, autres languesNote names in other languages
noms de note, hollandaisAccidentals
noms de note, par défautAccidentals
noPageBreak6.1.7 Overview of available music functions
noPageTurn6.1.7 Overview of available music functions
notation facileEasy notation note heads
notation, expliquerBalloon help
note fondamentaleCommon chords
notes ajoutéesCommon chords
notes d’ornementGrace notes
notes fantômesParentheses
notes inter-portéeChanging staff manually
notes within text by log and dot-countB.8.4 Music
notes within text by stringB.8.4 Music
notes étouffées et cordes frettéesIndicating harmonics and dampened notes
nuancesDynamics
nuances entre les portées d’un système pianistiqueKnown issues and warnings
Nuances éditorialesNew dynamic marks
Nuances, entre parenthèsesNew dynamic marks
numéro de cordeString number indications
numéro de coupletAdding stanza numbers
numéros de corde et doigtésString number indications
numéros de mesureBar numbers

O
objets graphiques5.2.2 Layout interfaces
objets graphiques, description5.3.4 Constructing a tweak
octaveCheck6.1.7 Overview of available music functions
octaves absoluesAbsolute octave entry
octaviationOttava brackets
orchestre, cordes2.3 Unfretted string instruments
orgue, marque de pédale d’Articulations and ornamentations
orgue, marque de pédale d’B.10 List of articulations
ornementation baroqueArticulations and ornamentations
ornementation baroqueB.10 List of articulations
ornementation, symbolesArticulations and ornamentations
ornementsGrace notes
ossiaStaff symbol
ossia5.1.7 Aligning contexts
ottava6.1.7 Overview of available music functions
ouvertArticulations and ornamentations
ouvertB.10 List of articulations
overrideProperty6.1.7 Overview of available music functions
overriding properties within text markupB.8.6 Other

P
padding5.2.3 Determining the grob property
padding textB.8.2 Align
padding text horizontallyB.8.2 Align
pageBreak6.1.7 Overview of available music functions
pageTurn6.1.7 Overview of available music functions
Pango1.8.3 Fonts
Papier musiqueBlank music sheet
parallelMusic6.1.7 Overview of available music functions
parenthesize6.1.7 Overview of available music functions
parenthèses, notes entreParentheses
parolesSetting automatic beam behavior
parolesLyrics explained
paroles et mélodiesAutomatic syllable durations
paroles, accroître l’espacementSpacing out syllables
paroles, variablesWorking with lyrics and variables
partcombine6.1.7 Overview of available music functions
parties, combiner desAutomatic part combining
pedalSustainStylePiano pedals
percent repeatsMeasure repeats
percussionsBasic percussion notation
percussionsPercussion staves
petite noteGrace notes
petites notes, formater desFormatting cue notes
Petrucci2.8.1 Introduction to ancient notation
phrasé, liaisons dePhrasing slurs
phrasé, pour des parolesMultiple notes to one syllable
piano accidentalsAutomatic accidentals
piano et pédalesPiano pedals
piano, nuances entre les portéesKnown issues and warnings
piano, système pourReferences for keyboards
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
pipeSymbolBar and bar number checks
pitchedTrill6.1.7 Overview of available music functions
pizzicato, BartókSnap (Bartók) pizzicato
pizzicato, snapSnap (Bartók) pizzicato
placing horizontal brackets around textB.8.3 Graphic
placing vertical brackets around textB.8.3 Graphic
point d’arrêtArticulations and ornamentations
point d’arrêtB.10 List of articulations
point d’orgueArticulations and ornamentations
point d’orgueB.10 List of articulations
point d’orgue et silence multi-measuresFull measure rests
point d’orgue sur une barre de mesureText marks
pointAndClickOff6.1.7 Overview of available music functions
pointAndClickOn6.1.7 Overview of available music functions
police, augmenter la taille1.8.3 Fonts
polices, définir1.8.3 Fonts
polymétriePolymetric notation
polymétrique, partition5.1.3 Modifying context plug-ins
polyphonieBasic polyphony
ponctuationLyrics explained
portatoArticulations and ornamentations
portatoB.10 List of articulations
portée multipleGrouping staves
portée, lignes deStaff symbol
portées pour instrument à clavierReferences for keyboards
portées pour instrument à clésReferences for keyboards
portées pour pianoReferences for keyboards
Portées, feuille blancheBlank music sheet
portées, groupe deGrouping staves
pouceArticulations and ornamentations
pouceB.10 List of articulations
pousser l’archetArticulations and ornamentations
pousser l’archetB.10 List of articulations
poussé, indication d’archetBowing indications
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams
première fois1.4.1 Long repeats
prolongateurExtenders and hyphens
Prolongateurs de texteText spanners
propriétés5.3.2 The \set command
putting space around textB.8.2 Align
pédale sostenutoPiano pedals
pédale sustainPiano pedals
pédale sustain, stylePiano pedals
pédale, indication combinée dePiano pedals
pédale, indication graphique dePiano pedals
pédale, indication textuelle dePiano pedals
pédale, styles d’indications dePiano pedals
pédales de harpeHarp pedals
pédales de pianoPiano pedals
pédales, diagrammes pour harpeHarp pedals

Q
quarts de tonAccidentals
quoteDuring6.1.7 Overview of available music functions

R
rRests
RFull measure rests
raising textB.8.2 Align
referencing page numbers in textB.8.6 Other
registres, symboles pour accordéonDiscant symbols
regroupement automatique de partiesAutomatic part combining
relatifRelative octave entry
relativeChanging staff automatically
removeWithTag6.1.7 Overview of available music functions
rendu, interfaces de5.2.2 Layout interfaces
repeatCommandsCommonly tweaked properties
repeatCommandsManual repeat commands
reprise1.4.1 Long repeats
reprises1.4 Repeats
reprises ambigüesKnown issues and warnings
reprises avec alternatives et liaisons de prolongationTies
reprises développées3.5.4 Repeats in MIDI
Repères, indication deRehearsal marks
resetRelativeOctave6.1.7 Overview of available music functions
right aligning textB.8.2 Align
rightHandFingerRight-hand fingerings
rightHandFinger6.1.7 Overview of available music functions
rotating textB.8.2 Align
Référence du programme5. Changing defaults
réglage des ligatures automatiquesSetting automatic beam behavior
régler5.3.4 Constructing a tweak
répétition avec barres de reprise1.4.1 Long repeats
répétitions1.4 Repeats

S
sInvisible rests
saisir des accordsCommon chords
SATBMultiple notes to one syllable
sauts de duréeInvisible rests
scaleDurations6.1.7 Overview of available music functions
scaling textB.8.2 Align
scoreTweak6.1.7 Overview of available music functions
script et silence multi-mesuresFull measure rests
seconde fois1.4.1 Long repeats
segnoRehearsal marks
segnoArticulations and ornamentations
segnoB.10 List of articulations
segno sur une barre de mesureText marks
set-accidental-styleAutomatic accidentals
setting extent of text objectsB.8.6 Other
setting horizontal text alignmentB.8.2 Align
setting subscript in standard font sizeB.8.1 Font
setting superscript in standard font sizeB.8.1 Font
shapeNoteStylesShape note heads
shiftDurations6.1.7 Overview of available music functions
showStaffSwitchStaff-change lines
silencesRests
silences d’espacementInvisible rests
silences invisiblesInvisible rests
Silences, mesure entièreFull measure rests
Silences, multi-mesuresFull measure rests
silences, musique ancienneAncient rests
simple text stringsB.8.1 Font
simple text strings with tie charactersB.8.4 Music
slashed digitsB.8.6 Other
snap pizzicatoSnap (Bartók) pizzicato
sos.Piano pedals
sostenuto, pédalePiano pedals
sostenutoOffPiano pedals
sostenutoOnPiano pedals
sourdineArticulations and ornamentations
sourdineB.10 List of articulations
spacingTweaks6.1.7 Overview of available music functions
staccatissimoArticulations and ornamentations
staccatissimoB.10 List of articulations
staccatoArticulations and ornamentations
staccatoB.10 List of articulations
stacking text in a columnB.8.2 Align
staff-paddingKnown issues and warnings
StemCross-staff stems
stemLeftBeamCountCommonly tweaked properties
stemRightBeamCountCommonly tweaked properties
storePredefinedDiagramPredefined fret diagrams
storePredefinedDiagram6.1.7 Overview of available music functions
StringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
subdivideBeamsCommonly tweaked properties
subscript textB.8.1 Font
substitution de doigtFingering instructions
superscript textB.8.1 Font
susCommon chords
sustain, pédalePiano pedals
sustain, style de pédalePiano pedals
sustainOffPiano pedals
sustainOnPiano pedals
symbole de portéeStaff symbol
symboles d’ornementationArticulations and ornamentations
système, début deGrouping staves
sélection de polices1.8.3 Fonts

T
tablature2.4 Fretted string instruments
tablature et glissandoDefault tablatures
tablature et indication d’harmoniquesDefault tablatures
tablature pour banjo2.4 Fretted string instruments
tablature pour guitare2.4 Fretted string instruments
tablature, accordages prédéfinisCustom tablatures
tablatures par défautDefault tablatures
tablatures personnaliséesCustom tablatures
tablatures pour banjoBanjo tablatures
tablatures, basesDefault tablatures
TabStaffDefault tablatures
TabVoiceDefault tablatures
tag6.1.7 Overview of available music functions
taille de police1.8.3 Fonts
TempoMetronome marks
temps, gestion duTime administration
tenutoArticulations and ornamentations
tenutoB.10 List of articulations
textPiano pedals
text columns, left-alignedB.8.2 Align
text columns, right-alignedB.8.2 Align
texte ajoutéText markup introduction
texte et silence multi-mesuresFull measure rests
Texte, autres langues1.8 Text
textSpannerDownPredefined commands
textSpannerNeutralPredefined commands
textSpannerUpPredefined commands
tirer l’archetArticulations and ornamentations
tirer l’archetB.10 List of articulations
tirettes d’accordéon, symbolesDiscant symbols
tiré, indication d’archetBowing indications
tocItem6.1.7 Overview of available music functions
trait d’unionExtenders and hyphens
translating textB.8.2 Align
translating textB.8.2 Align
Transparentes, notesHidden notes
transposedCueDuring6.1.7 Overview of available music functions
transposition6.1.7 Overview of available music functions
transposition des hauteursTranspose
transposition et diagramme de fretPredefined fret diagrams
transposition, instrumentInstrument transpositions
transposition, MIDIInstrument transpositions
tre cordePiano pedals
treCordePiano pedals
tremoloFlagsTremolo subdivisions
trilleArticulations and ornamentations
trilleB.10 List of articulations
trilles avec hauteur expliciteTrills
trioletsTuplets
trouver des objets graphiques5.3.4 Constructing a tweak
trémolo, indication deTremolo subdivisions
trémolo, ligatures deTremolo repeats
tupletNumberFormatFunctionCommonly tweaked properties
tweak6.1.7 Overview of available music functions
tête de note, allureShape note heads
tête de note, apprentissageEasy notation note heads
têtes de note, musique ancienneAncient note heads
têtes de note, spécialesSpecial note heads
têtes de note, stylesBasic polyphony

U
U.C.Piano pedals
una cordaPiano pedals
unaCordaPiano pedals
underlining textB.8.1 Font
une pause par mesureFull measure rests
unfoldRepeats6.1.7 Overview of available music functions
URLGNU LilyPond — Manuel de notation

V
varcodaArticulations and ornamentations
varcodaB.10 List of articulations
Vaticana, Editio2.8.1 Introduction to ancient notation
VaticanaStaffContextGregorian chant contexts
VaticanaVoiceContextGregorian chant contexts
vertically centering textB.8.2 Align
vocaliseMultiple notes to one syllable
voix entre deux portéesStaff-change lines
volta1.4.1 Long repeats
voltaRepeat syntax
vérification d’octaveOctave checks
vérification des limites de mesureBar and bar number checks

W
web siteGNU LilyPond — Manuel de notation
whichBarCommonly tweaked properties
withMusicProperty6.1.7 Overview of available music functions

É
écrire la musique en parallèleWriting music in parallel
épaisseur des lignes de portéesStaff symbol
étiquetteText markup introduction
Étiquette de texteText scripts
étiquette textuelleText markup introduction

Aller à:   !   #   '   (   ,   .   /   1   ?   [   \   ]   _   |   ~   É  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W  

Notes de bas de page

[1] Ces voix polyphoniques sont parfois appelées « couches » ou « calques » dans d’autres logiciels de notation.

[2] Une liaison adaptée aux paroles correspond au caractère Unicode U+203F, et n’apparaîtra dans la partition que si le système dispose d’une police installée qui contient ce symbole(par exemple DejaVuLGC).

[3] Le Scheme tutorial fournit quelques notions de base pour saisir des nombres, des listes, des chaînes de caractères ou des symboles, en Scheme.


Table des matières


A propos de ce document

Ce document a été généré le le 15 décembre 2009 par Graham Percival en utilisant texi2html 1.82.

Les boutons de navigation ont la signification suivante :

Bouton Nom Aller à Depuis 1.2.3 aller à
[]
[ << ] RetourRapide Début de ce chapitre ou chapitre précédent 1
[]
[Racine] Racine Couverture (top) du document  
[Table des matières] Table des matières Table des matières  
[Index] Index Index  
[ ? ] A propos A propos (page d’aide)  
[]
[ >> ] AvanceRapide Chapitre suivant 2
[]
[]
[ < ] Retour Section précédente dans l’ordre de lecture 1.2.2
[]
[Plus haut] Monter Section supérieure 1.2
[]
[ > ] Avant Section suivante dans l’ordre de lecture 1.2.4

Dans cet exemple on est à Sous sous section un-deux-trois dans un document dont la structure est :


Other languages: English, español, deutsch.

Manuel de notation