GNU LilyPond – Manuel de notation: 2.4.1 Vue d'ensemble des cordes frettées

### 2.4.1 Vue d’ensemble des cordes frettées

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

#### Références en matière de cordes frettées

La musique pour instruments à cordes frettées est généralement notée sur une seule portée, en notation traditionnelle ou en tablature, les deux étant parfois combinées. Il est aussi courant en musique populaire d’utiliser des diagrammes d’accord au-dessus de la portée traditionnelle. La guitare et le banjo sont des instruments transpositeurs, sonnant une octave au-dessous de ce qui est écrit. Les partitions pour ces instruments utilisent donc la clé de sol ottava bassa `"treble_8"`. Vous pourrez trouver ailleurs dans la documentation d’autres éléments aussi utilisés par les instruments à cordes frettées :

- Les doigtés s’obtiennent comme indiqué au chapitre Doigtés.
- En plus des Laissez vibrer, les liaisons peuvent intervenir sur des accords arpégés ou des trémolos. Reportez-vous au chapitre Liaisons de prolongation.
- Des indications quant au support polyphonique se trouvent au chapitre Résolution des collisions.
- La notation des sons harmoniques se trouve à la section Harmoniques.

#### Voir aussi

Manuel de notation : Doigtés, Liaisons de prolongation, Résolution des collisions, Noms d’instrument, Saisie de musique en parallèle, Arpèges, Liste des signes d’articulation, Clefs.

#### Indications du numéro de corde

Une corde sur laquelle une note doit être jouée peut être indiquée en attachant `\numéro` à cette note prise dans une construction de type accord `<>`.

Note : Les numéros de cordes doivent être définis dans une construction de type accord même s’il n’y a qu’une seule note.

>     \clef "treble_8"
>     <c\5>4 <e\4> <g\3>2
>     <c,\5 e\4 g\3>1

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>

#### Morceaux choisis

Contrôler la position des doigtés dans un accord

Le positionnement des doigtés peut être contrôlé de manière très précise. Afin que l’orientation soit prise en compte, il est nécessaire d’utiliser une syntaxe d’accord `< >`, même s’il ne s’agit que d’une seule note.

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

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
>       \override Fingering #'staff-padding = #'()
>       <c-1 e-2 g-3 b-5>4 <g'-0>
>     }

#### Voir aussi

Manuel de notation : Doigtés.

Morceaux choisis : Cordes frettées.

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

#### Tablatures par défaut

La notation en tablature est utilisée pour certains instruments à cordes pincées. Les hauteurs n’y sont pas indiquées par des têtes de note, mais par des chiffres ou autres symboles, 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 \relative c' {
>     	a,8 a' <c e> a
>     	d, a' <d f> a
>     }

Par défaut, les tablatures ne comportent aucune marque de durée ni de symbole musical tel que des nuances.

>     symbols = {
>       \time 3/4
>       c4-.^"Allegro" d( e)
>       f4-.\f g a^\fermata
>       \mark \default
>       c8_.\<\( c16 c ~ c2\!
>       c'2.\prall\)
>     }

>     \score {
>       <<
>         \new Staff { \clef "G_8" \symbols }
>         \new TabStaff   { \symbols }
>       >>
>     }

Pour obtenir les symboles de notation habituelle dans une tablature, il faut appliquer la commande `\tabFullNotation` au contexte `TabStaff`. Vous noterez par ailleurs que les blanches sont affublées d’une double hampe afin de ne pas les confondre avec des noires.

>     symbols = {
>       \time 3/4
>       c4-.^"Allegro" d( e)
>       f4-.\f g a^\fermata
>       \mark \default
>       c8_.\<\( c16 c ~ c2\!
>       c'2.\prall\)
>     }

>     \score {
>       \new TabStaff {
>         \tabFullNotation
>         \symbols
>       }
>     }

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"
>          \time 2/4
>          c16 d e f g4
>          c,16\5 d\5 e\4 f\4 g4\4
>          c,16 d e f g4
>        }
>        \new TabStaff \relative c {
>          c16 d e f g4
>          c,16\5 d\5 e\4 f\4 g4\4
>          \set TabStaff.minimumFret = #5
>          c,16 d e f g4
>        }
>     >>

Lorsqu’un liaison de prolongation intervient lors d’un saut de ligne, la note est répétée, entre parenthèses. Il en va de même pour la seconde alternative d’une répétition.

>     ties = \relative c' {
>     	\repeat volta 2 {
>     	e2. f4~
>     	f2 g2~ }
>     	\alternative {
>     		{ g4 f2. }
>     		{ g4\repeatTie c,2. }
>     	}
>     	b1~\break
>     	b1  \bar "|."
>     }

>     \score {
>       <<
>         \new StaffGroup  <<
>         \context Staff  {
>             \clef "treble_8"
>             \ties
>         }
>           \context TabStaff  {
>             \ties
>           }
>         >>
>       >>
>       \layout {
>       indent = #0
>       ragged-right = ##t
>       }
>     }

La commande `\hideSplitTiedTabNotes` permet d’éviter d’imprimer ces cases entre parenthèses.

>     ties = \relative c' {
>     	\repeat volta 2 {
>     	e2. f4~
>     	f2 g2~ }
>     	\alternative {
>     		{ g4 f2. }
>     		{ g4\repeatTie c,2. }
>     	}
>     	b1~\break
>     	b1  \bar "|."
>     }

>     \score {
>       <<
>         \new StaffGroup  <<
>         \context Staff  {
>             \clef "treble_8"
>             \ties
>         }
>           \context TabStaff  {
>           \hideSplitTiedTabNotes
>             \ties
>           }
>         >>
>       >>
>       \layout {
>       indent = #0
>       ragged-right = ##t
>       }
>     }

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

#### Morceaux choisis

Hampes et ligatures en mode tablature

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

>     \new TabStaff {
>       \relative c {
>         \tabFullNotation
>         g16 b d g b d g b
>         \stemDown
>         \override Beam #'damping = #+inf.0
>         g,,16 b d g b d g b
>       }
>     }

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

#### Voir aussi

Manuel de notation : Hampes.

Morceaux choisis : Cordes frettées.

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

#### Problèmes connus et avertissements

Les accords ne subissent aucun traitement particulier ; de ce fait, la sélection automatique des cordes peut attribuer une même corde pour deux notes différentes de l’accord.

Afin que `\partcombine` fonctionne avec des tablatures, on doit ajouter au contexte `TabStaff` des voix fantômes :

>     melodia = \partcombine { e4 g g g }{ e4 e e e }
>     <<
>       \new TabStaff <<
>         \new TabVoice = "one" s1
>         \new TabVoice = "two" s1
>         \new TabVoice = "shared" s1
>         \new TabVoice = "solo" s1
>         { \melodia }
>       >>
>     >>

Le support des modes de jeu propres à la guitare se limite aux sons harmoniques et aux glissandi.

#### Tablatures personnalisées

Sous LilyPond, la case correspondant à une note jouée sur une corde donnée est calculée automatiquement. Pour ce faire, l’accordage doit être spécifié. L’accordage des cordes est donné par la propriété `StringTunings`.

LilyPond possède des accordages prédéfinis pour banjo, mandoline, guitare et guitare basse. Lilypond calcule automatiquement la transposition correspondant à ces accordages. L’exemple ci-dessous est pour guitare basse, il sonnera donc une octave en dessous de ce qui est écrit.

>     <<
>       \new Staff {
>         \clef "bass_8"
>         \relative c, {
>           c4 d e f
>         }
>       }
>       \new TabStaff {
>         \set TabStaff.stringTunings = #bass-tuning
>         \relative c, {
>           c4 d e f
>         }
>       }
>     >>

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 = #`(,(ly:make-pitch 1 5 0)
>     				     ,(ly:make-pitch 1 1 0)
>     				     ,(ly:make-pitch 0 4 0)
>     				     ,(ly:make-pitch 0 0 0))
>         \mynotes
>       }
>     >>

#### Voir aussi

Fichiers d’initialisation : ‘`scm/output-lib.scm`’.

Morceaux choisis : Cordes frettées.

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

#### Problèmes connus et avertissements

Le calcul automatique des tablatures se révèle inapproprié pour les instruments dont l’ordre des cordes ne correspond pas à l’ordre des hauteurs, comme le ukulele.

#### Tablatures sous forme d’étiquette

On peut ajouter des diagrammes d’accords au-dessus de n’importe quelle note, en tant qu’objets `\markup`. Ces objets contiennent toutes les informations du diagramme d’accord. Il y a pour les définir trois interfaces "diagramme d’accord" (fret-diagram en anglais) : standard, terse et verbose. Ces trois interfaces produiront des diagrammes similaires mais permettent des niveaux de personnalisation différents. Des détails à propos des interfaces de type `\markup` peuvent être trouvés dans Text markup commands.

Dans l’interface standard des diagrammes d’accords, on indiquera le numéro de corde et le numéro de case pour chaque point placé sur une corde. Les cordes à vide et étouffées peuvent aussi être indiquées.

>     <<
>       \context ChordNames {
>          \chordmode {
>            c1 d:m
>          }
>       }
>       \context Staff {
>         \clef "treble_8"
>         < c e g c' e' > 1 ^\markup
>           \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
>         < d a d' f'> ^\markup
>           \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
>       }
>     >>

Les indications de barré 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;"
>       }
>     >>

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

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 ukulele
>         a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
>       }
>     >>

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

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

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

Les indications de barré peuvent être incluses 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-);"
>       }
>     >>

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

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

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

Toutes les autres propriétés du diagramme d’accord doivent être indiquées en utilisant la commande `\override` lorsque l’on utilise l’interface `fret-diagram-verbose`.

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur grâce aux propriétés de l’interface `fret-diagram-interface`. Des détails se trouvent dans fret-diagram-interface. Pour un diagramme d’accord, les propriétés de l’interface dépendent de `Voice.TextScript`.

#### Morceaux choisis

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

#### Voir aussi

Manuel de notation : Text markup commands.

Morceaux choisis : Cordes frettées.

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

#### Tablatures prédéfinies

Les diagrammes d’accords peuvent être affichés en utilisant le contexte `FretBoards`. Par défaut le contexte `FretBoards` affichera des diagrammes d’accords stockés dans une table de correspondance :

>     \include "predefined-guitar-fretboards.ly"
>     \context FretBoards {
>       \chordmode {
>         c1 d
>       }
>     }

Les diagrammes d’accord définis par défaut sont dans le fichier ‘`predefined-guitar-fretboards.ly`’. Les diagrammes d’accord 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’accord 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 diagrammes de fret propres au ukulele se trouvent dans le fichier ‘`predefined-ukulele-fretboards.ly`’.

>     \include "predefined-ukulele-fretboards.ly"

>     myChords = \chordmode { a1 a:m a:aug }

>     \new ChordNames {
>       \myChords
>     }

>     \new FretBoards {
>       \set stringTunings = #ukulele-tuning
>       \myChords
>     }

Les notes des accords peuvent être entrées aussi bien comme musique simultanée qu’en utilisant le mode accord (voir Généralités sur le mode accords).

>     \include "predefined-guitar-fretboards.ly"
>     \context FretBoards {
>       \chordmode {c1}
>       <c' e' g'>1
>     }

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

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

La table des diagrammes d’accord contient sept types d’accord (majeur, mineur, augmenté, diminué, septième de dominante, majeur sept, mineur sept) pour chacune des 17 fondamentales possibles. Une liste complète des diagrammes d’accords prédéfinis se trouve dans Tablatures prédéfinies. S’il n’y a pas d’entrée dans la table pour un accord donné, le graveur `Fretboard_engraver` calculera le diagramme d’accord en utilisant la fonctionnalité automatique décrite dans Tablatures automatiques.

>     \include "predefined-guitar-fretboards.ly"
>     mychords = \chordmode{
>       c1 c:9
>     }

>     <<
>       \context ChordNames {
>         \mychords
>       }
>       \context FretBoards {
>         \mychords
>       }
>     >>

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 #default-fret-table \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
>       }
>     >>

On peut enregistrer différents diagrammes pour un même accord en les définissant à des octaves différentes. Notez qu’il faut un intervalle de deux octaves, le premier servant à la transposition.

>     \include "predefined-guitar-fretboards.ly"

>     \storePredefinedDiagram #default-fret-table \chordmode { c'' }
>                             #guitar-tuning
>                             #(offset-fret 2 (chord-shape 'bes guitar-tuning))

>     mychords = \chordmode{
>       c1 c''
>     }

>     <<
>       \context ChordNames {
>         \mychords
>       }
>       \context FretBoards {
>         \mychords
>       }
>     >>

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 #default-fret-table \chordmode {f'}
>                             #guitar-tuning
>                             #(chord-shape 'powerf guitar-tuning)
>     \storePredefinedDiagram #default-fret-table \chordmode {g'}
>                             #guitar-tuning
>                             #(offset-fret 2 (chord-shape 'powerf guitar-tuning))

>     mychords = \chordmode{
>       f1 f' g g'
>     }

>     <<
>       \context ChordNames {
>         \mychords
>       }
>       \context FretBoards {
>         \mychords
>       }
>     >>

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur grâce aux propriétés de l’interface `fret-diagram-interface`. Pour plus d’information, consultez fret-diagram-interface. Pour un diagramme d’accord donné, les propriétés de l’interface dépendent de `FretBoards.FretBoard`.

#### Morceaux choisis

Customizing fretboard fret diagrams

Fret diagram properties can be set through `'fret-diagram-details`. For FretBoard fret diagrams, overrides are applied to the `FretBoards.FretBoard` object. Like `Voice`, `FretBoards` is a bottom level context, therefore can be omitted in property overrides.

>     \include "predefined-guitar-fretboards.ly"
>     \storePredefinedDiagram #default-fret-table \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'
>       }
>     >>

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 diagrammes ne peuvent pas être transposés, dans la mesure où ils contiennent des informations sur les cordes. 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 = #`(,(ly:make-pitch 0 6 0)
>                       ,(ly:make-pitch 1 3 SHARP)
>     		  ,(ly:make-pitch 1 1 0)
>     		  ,(ly:make-pitch 0 5 0))

>     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 #default-fret-table \dSix
>                             #cuatroTuning
>                             #"o;o;o;o;"
>     \storePredefinedDiagram #default-fret-table \dMajor
>                             #cuatroTuning
>                             #"o;o;o;3-3;"
>     \storePredefinedDiagram #default-fret-table \aMajSeven
>                             #cuatroTuning
>                             #"o;2-2;1-1;2-3;"
>     \storePredefinedDiagram #default-fret-table \dMajSeven
>                             #cuatroTuning
>                             #"o;o;o;1-1;"
>     \storePredefinedDiagram #default-fret-table \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 { }
>     }

#### Voir aussi

Manuel de notation : Tablatures personnalisées, Tablatures automatiques, Généralités sur le mode accords, Tablatures prédéfinies.

Fichiers d’initialisation : ‘`ly/predefined-guitar-fretboards.ly`’, ‘`ly/predefined-guitar-ninth-fretboards.ly`’.

Morceaux choisis : Cordes frettées.

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

#### Tablatures automatiques

Les diagrammes d’accord peuvent être créés automatiquement ; il suffit d’affecter les notes à un contexte `FretBoards`. Si aucun diagramme prédéfini n’est disponible pour les notes entrées avec l’accordage actuel (`stringTunings`), les cordes et cases correspondant aux notes seront automatiquement calculées.

>     <<
>       \context ChordNames {
>          \chordmode {
>            f1 g
>          }
>       }
>       \context FretBoards {
>         < f, c f a c' f'>1
>         < g,\6 b, d g b g'>
>       }
>       \context Staff {
>         \clef "treble_8"
>         < f, c f a c' f'>1
>         < g, b, d g b' g'>
>       }
>     >>

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 #default-fret-table <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'>
>       }
>     >>

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

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

Les cordes et les cases du contexte `FretBoards` sont liées à la propriété `stringTunings`, qui a là même signification que dans le contexte `TabStaff`. Voir Tablatures personnalisées pour plus d’information sur la propriété `stringTunings`.

La disposition graphique d’un diagramme d’accord peut être modifiée suivant les préférences de l’utilisateur au travers des propriétés de l’interface `fret-diagram-interface`. Pour un diagramme d’accord, les propriétés de l’interface dépendent de `FretBoards.FretBoard`.

#### Commandes prédéfinies

`\predefinedFretboardsOff`, `\predefinedFretboardsOn`.

#### Voir aussi

Manuel de notation : Tablatures personnalisées.

Morceaux choisis : Cordes frettées.

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

#### Problèmes connus et avertissements

Le calcul automatique des diagrammes de fret se révèle inapproprié pour les instruments dont l’ordre des cordes ne correspond pas à l’ordre des hauteurs.

#### Doigtés pour la main droite

Les doigtés de main droite p-i-m-a doivent être entrés dans une construction de type accord `<>` même s’il n’y a qu’une seule note.

Note : Un trait d’union doit suivre la note et une espace doit précéder la fermeture de la construction par un `>`.

>     \clef "treble_8"
>     <c-\rightHandFinger #1 >4
>     <e-\rightHandFinger #2 >
>     <g-\rightHandFinger #3 >
>     <c-\rightHandFinger #4 >
>     <c,-\rightHandFinger #1 e-\rightHandFinger #2
>       g-\rightHandFinger #3 c-\rightHandFinger #4 >1

Pour plus de clarté, vous pouvez traduire ou abréger la commande `\rightHandFinger`, par exemple en `\doigtMainDroite` ou même `\MD` :

>     #(define MD rightHandFinger)

#### Morceaux choisis

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

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

#### Voir aussi

Morceaux choisis : Cordes frettées.

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

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

#### LilyPond — Manuel de notation