@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-

@ignore
   Translation of GIT committish: fb8b017169997c87598f98dd7942fa51e5598549

   When revising a translation, copy the HEAD committish of the
   version that you are working on.  For details, see the Contributors'
   Guide, node Updating translation committishes..
@end ignore

@c \version "2.23.1"

@c Translators: Matthieu Jacquot
@c Translation checkers: Jean-Charles Malahieude


@node Instruments à cordes frettées
@section Instruments à cordes frettées
@translationof Fretted string instruments

@lilypondfile[quote]{snippets/fretted-headword.ly}

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

@cindex tablature
@cindex guitare, tablature pour
@cindex banjo, tablature pour
@cindex tablature pour guitare
@cindex tablature pour banjo

@menu
* Vue d'ensemble des cordes frettées::
* Guitare::
* Banjo::
* Luth::
@end menu


@node Vue d'ensemble des cordes frettées
@subsection Vue d'ensemble des cordes frettées
@translationof Common notation for fretted strings

Nous allons aborder, dans les paragraphes qui suivent, les
particularités communes aux différents instruments à cordes frettées.

@menu
* Références en matière de cordes frettées::
* Indications du numéro de corde::
* Tablatures par défaut::
* Tablatures personnalisées::
* Tablatures sous forme d'étiquettes::
* Tablatures prédéfinies::
* Tablatures automatiques::
* Doigtés pour la main droite::
@end menu


@node Références en matière de cordes frettées
@unnumberedsubsubsec Références en matière de cordes frettées
@translationof 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 @code{"treble_8"} -- ou une instruction @code{\transposition c}
pour un rendu MIDI correct.  Vous pourrez trouver ailleurs dans la
documentation d'autres éléments aussi utilisés par les instruments à
cordes frettées :

@itemize
@item Les doigtés s'obtiennent comme indiqué au chapitre
@ref{Doigtés}.

@item En plus des @notation{Laissez vibrer}, les liaisons peuvent
intervenir sur des accords arpégés ou des trémolos.  Reportez-vous au
chapitre @ref{Liaisons de prolongation}.

@item Des indications quant à la prise en charge de la polyphonie se
trouvent au chapitre @ref{Résolution des collisions}.

@item La notation des sons harmoniques se trouve à la section
@ref{Harmoniques}.

@end itemize

@morerefs
Manuel de notation :
@ref{Arpèges},
@ref{Clefs},
@ref{Doigtés},
@ref{Instruments transpositeurs},
@ref{Liaisons de prolongation},
@ref{Liste des signes d'articulation},
@ref{Noms d'instrument},
@ref{Résolution des collisions},
@ref{Saisie de musique en parallèle}.
@endmorerefs


@node Indications du numéro de corde
@unnumberedsubsubsec Indications du numéro de corde
@translationof String number indications

@cindex corde numérotée
@cindex numéro de corde
@cindex numéro de corde ou doigté
@cindex doigté ou numéro de corde

La corde sur laquelle une note doit être jouée peut être indiquée
en attachant @code{\@var{numéro}} à cette note prise dans une
construction de type accord @code{<>}.

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
c4\5 e\4 g2\3
<c\5 e\4 g\3>1
@end lilypond

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 elles apparaissent dans le code, mais @strong{uniquement} si
elles interviennent au sein d'une construction d'accord.  En effet, le
positionnement des doigtés est géré différemment lorsqu'ils
sont attachés à des notes isolées indépendantes d'un accord.

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
g4\3-0
g-0\3
<g\3-0>2
<g-0\3>
@end lilypond

@funindex \arabicStringNumbers
@funindex \romanStringNumbers

Les numéros de corde peuvent aussi, comme traditionnellement pour les
cordes non frettées, s'imprimer en chiffres romains placés sous la
portée plutôt qu'en surplomb.

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
c'2\2
a\3
\romanStringNumbers
c'\2
\set stringNumberOrientations = #'(down)
a\3
\arabicStringNumbers
g1\4
@end lilypond

Le traitement des numéros de corde, objets @code{StringNumber},
et notamment leur positionnement, est comparable à celui des
doigtés -- voir @ref{Doigtés}.

@predefined
@code{\arabicStringNumbers},
@code{\romanStringNumbers}.
@endpredefined

@morerefs
Manuel de notation :
@ref{Doigtés}.

Morceaux choisis :
@rlsrnamed{Fretted strings,Cordes frettées}.

Référence des propriétés internes :
@rinternals{StringNumber},
@rinternals{Fingering}.
@endmorerefs


@node Tablatures par défaut
@unnumberedsubsubsec Tablatures par défaut
@translationof Default tablatures

@cindex tablature, base
@cindex tablature par défaut

@funindex TabStaff
@funindex TabVoice

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.  Des notes devant
être jouées simultanément seront alors alignées verticalement.

Par défaut, la première corde est la plus aiguë et correspond à la ligne
supérieure du @code{TabStaff}.  Les cordes suivent par défaut
l'accordage traditionnel d'une guitare (à six cordes).  Les notes sont
imprimées sous forme de tablature dans les contextes @code{TabStaff} et
@code{TabVoice}, qui comportent une clef spécifique ajoutée
automatiquement.

@lilypond[quote,ragged-right,verbatim]
\new TabStaff \relative {
  a,8 a' <c e> a
  d,8 a' <d f> a
}
@end lilypond

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

@lilypond[quote,ragged-right,verbatim]
symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c ~ 2\!
  c'2.\prall\)
}

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

@funindex \tabFullNotation

Pour obtenir les symboles de notation habituelle dans une tablature, il
faut appliquer la commande @code{\tabFullNotation} au contexte
@code{TabStaff}.  Vous noterez que les blanches sont affublées d'une
double hampe afin qu'elles ne se confondent pas avec des noires.

@lilypond[quote,ragged-right,verbatim]
symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c ~ 2\!
  c'2.\prall\)
}

\score {
  \new TabStaff {
    \tabFullNotation
    \symbols
  }
}
@end lilypond

@cindex case
@cindex fret

@funindex minimumFret
@funindex restrainOpenStrings

Quand aucune corde n'est précisée, LilyPond choisit automatiquement la
corde pour laquelle la position est la moins élevée, avec une préférence
pour une corde à vide.  Vous pouvez préférer qu'une note donnée soit
jouée sur une corde particulière, auquel cas l'affectation directe du
numéro de corde suffit.  L'absence d'indication des numéros de corde en
notation traditionnelle se gère au niveau des stencils.  Il est
cependant plus facile de jouer sur la propriété @code{minimumFret}, dont
la valeur par défaut est fixée à 0, ce qui correspond aux cordes à vide.

Cependant, et en dépit d'une affectation de @code{minimumFret}, une
corde à vide aura toujours préséance.  Ce comportement se modifie par
l'activation de @code{restrainOpenStrings}.

@lilypond[quote,ragged-right,verbatim]
\layout { \omit Voice.StringNumber }
\new StaffGroup <<
   \new Staff \relative {
     \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 {
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     \set TabStaff.minimumFret = #5
     \set TabStaff.restrainOpenStrings = ##t
     c,16 d e f g4
   }
>>
@end lilypond

@funindex \tabChordRepeats
@funindex \chordRepeats

@cindex accord, répétition
@cindex répétition, utilisation de @code{q}
@cindex @code{q}, répétition d'accord

La répétition d'une construction en accord s'indique par un @code{q} --
voir @ref{Répétition d'accords}.  Cette fonctionnalité, bien
qu'opérationnelle en mode tablature, supprime entre autres les numéros
de corde et doigtés.  Il vous faudra donc préalablement recourir
explicitement à l'instruction
@example
\chordRepeats #'(string-number-event fingering-event)
@end example
si vous utilisez la répétition d'accords dans vos tablatures.  Cette
instruction est abrégée en @code{\tabChordRepeats}.

@lilypond[quote,verbatim]
guitar = \relative {
  r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4
}

\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \guitar
  }
  \new TabStaff {
    \tabChordRepeats \guitar
  }
>>
@end lilypond

Lorsqu'une liaison de prolongation intervient à l'occasion 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.

@lilypond[quote,ragged-right,verbatim]
ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~
  }
  \alternative {
     \volta 1 { g4 f2. }
     \volta 2 { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

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

@funindex \hideSplitTiedTabNotes

La commande @code{\hideSplitTiedTabNotes} permet d'éviter d'imprimer
ces cases entre parenthèses.

@lilypond[quote,ragged-right,verbatim]
ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~ }
  \alternative {
    { g4 f2. }
    { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

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

@cindex harmonique, indication en tablature
@cindex tablature et indication d'harmonique

@funindex \harmonic
@funindex \harmonicByFret
@funindex \harmonicByRatio

Les indications de sons harmoniques ainsi que les glissandos peuvent
être ajoutés aux tablatures.

@lilypond[verbatim,quote]
\layout { \omit Voice.StringNumber }
firstHarmonic = {
  d'4\4\harmonic
  g'4\3\harmonic
  b'2\2\harmonic
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \firstHarmonic
    }
    \new TabStaff { \firstHarmonic }
  >>
}
@end lilypond

Vous noterez que la commande @code{\harmonic} s'attache toujours à une
note unique (parfois contenue dans un accord) et non à l'ensemble d'un
accord.  Ceci ne fonctionne donc que pour une harmonique au douzième
fret d'une corde à vide.  Toute autre harmonique devrait être défini
directement par LilyPond.  Vous pouvez l'y aider en indiquant la case où
le doigt viendrait se placer sur le manche.

@lilypond[verbatim,quote]
fretHarmonics = {
  \harmonicByFret #5 d16\4
  \harmonicByFret #4 d16\4
  \harmonicByFret #3 d8\4
  \harmonicByFret #5 <g\3 b\2>2.
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \fretHarmonics
    }
    \new TabStaff { \fretHarmonics }
  >>
}
@end lilypond

Un harmonique peut accessoirement se calculer à partir de la longueur
de corde par rapport au doigté de cet harmonique.

@lilypond[verbatim,quote]
ratioHarmonics = {
  \harmonicByRatio #1/2 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/3 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 }
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \ratioHarmonics
    }
    \new TabStaff { \ratioHarmonics }
  >>
}
@end lilypond

@cindex désinence et tablature
@cindex tablature et désinence
@cindex corde, saut, tablature
@funindex \preBend
@funindex \bendHold
@funindex \preBendHold
@funindex \bendStartLevel

Des désinences peuvent s'ajouter en notation de tablature. Elles
s'indiquent par adjonction d'un @code{\^} à la note ou à l'accord de
départ, et se terminent à la note ou l'accord suivant. Différents styles
sont disponibles : le style par défaut imprime une courbe terminée par
une flèche vers le haut ou le bas, le style @code{'hold} une ligne
horizontale discontinue, @code{'pre-bend} une ligne verticale terminée
en flèche, et @code{'pre-bend-hold} une ligne verticale terminée en
flèche suivie d'une horizontale discontinue.

@lilypond[verbatim,quote]
bend-styles = {
  <>^"default"
  f'4\^ g'4\^ f'2

  <>^"'hold"
  \grace f'4\^ g'1\bendHold \^ g'1

  <>^"'pre-bend"
  \grace f'4\preBend \^ g'1\bendHold \^ g'1

  <>^"'pre-bend-hold"
  \grace f'4\preBendHold \^ g'1\bendHold \^ g'1\^ f'

  \bar "|."
}

\score {
  \new StaffGroup
  <<
    \new Staff {
      \override TextScript.font-size = -2
      \clef "G_8"
      \bend-styles
    }
    \new TabStaff \bend-styles
  >>
  \layout {
    \context {
      \Voice
      \omit StringNumber
    }
    \context {
      \TabStaff
      minimumFret = #5
    }
    \context {
      \TabVoice
      \consists Bend_spanner_engraver
    }
  }
}
@end lilypond

Les cordes à vide ne font habituellement pas l'objet d'une chute ou d'un
saut. Il faut, pour qu'une corde soit concernée, basculer sa propriété
@code{bend-me} à @code{#t}, et à @code{#f} pour exclure les autres notes
de la désinence.

@lilypond[verbatim,quote]
mus = {
  <>^"default"
  <a b f'>4\^
  <ais b fis'>\^
  <a b f'>2

  <>^"bend open strings"
  <a \tweak bend-me ##t b f'>4\^
  <ais \tweak bend-me ##t bis fis'>\^
  <a b f'>2

  <>^"exclude other strings"
  <g \tweak bend-me ##f b\3 d'>4\^
  <a e'\2 >\^
  <g \tweak bend-me ##f b\3 d'>2

  \bar "|."
}

\score {
  \new StaffGroup
  <<
    \new Staff {
      \override TextScript.font-size = -2
      \clef "G_8"
      \mus
    }
    \new TabStaff \mus
  >>
  \layout {
    \context {
      \Voice
      \omit StringNumber
    }
    \context {
      \TabVoice
      \consists Bend_spanner_engraver
    }
  }
}
@end lilypond

Dans une succession de chutes ou sauts, la désinence de départ pourra
nécessiter un réglage particulier de @code{details.successive-level}. La
fonction @code{bendStartLevel}, qui prend en argument un entier, est là
pour le gérer.

@lilypond[verbatim,quote]
printNext = -\tweak details.target-visibility ##t \etc

mus = {
  c'4\3\^ cis'\3 \^ d'2\3

  \grace bes4\3\preBendHold \bendStartLevel 2 \printNext \^
  d'4\3\bendHold \^ d'2\3\^ des'4\3 \^ c'1\3

  \bar "|."
}

\score {
  \new StaffGroup
  <<
    \new Staff {
      \override TextScript.font-size = -2
      \clef "G_8"
      \mus
    }
    \new TabStaff \mus
  >>
  \layout {
    \context {
      \Voice
      \omit StringNumber
    }
    \context {
      \TabVoice
      \consists Bend_spanner_engraver
    }
  }
}
@end lilypond

L'extension du @code{BendSpanner} se termine par défaut sur la note ou
l'accord qui suit, même en présence d'une liaison de prolongation. Un
élément @code{NoteColumn} particulier peut être sauté à l'aide d'un
@code{\skipNC}. Un groupe de @code{NoteColumn}s peut se sauter en
le faisant précéder d'un @code{\skipNCs} et suivre d'un
@code{\endSkipNCs}.

@lilypond[verbatim,quote]
bends-with-ties-and-skips = {
  a'4~\^ \skipNC a'4~ \skipNC a'4 b'4
  a'4~ a'4~\^ \skipNC a'4 b'4
  a'4~ a'4~ a'4\^ b'4
  c'2\^ d'~ \bendHold \^ \skipNC d'~ d'\^ c'
  \grace { c'8-\preBendHold \^ }
  \skipNCs d'2~ d'2~ \endSkipNCs d'\^ c'2
  \bar "|."
}

\score {
  \new StaffGroup
  <<
    \new Staff {
      \clef "G_8"
      \bends-with-ties-and-skips
    }
    \new TabVoice \bends-with-ties-and-skips
  >>
  \layout {
    \context {
      \Voice
      \omit StringNumber
    }
    \context {
      \TabStaff
      minimumFret = #3
      restrainOpenStrings = ##t
    }
    \context {
      \TabVoice
      \consists Bend_spanner_engraver
    }
  }
}
@end lilypond

@predefined
@code{\skipNCs},
@code{\skipNC},
@code{\endSkipNCs}.
@endpredefined


@snippets

@cindex hampe et  tablature
@cindex tablature et hampe
@cindex hampe horizontale
@cindex horizontale, hampe
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/stem-and-beam-behavior-in-tablature.ly}

@cindex polyphone et tablature
@cindex tablature et polyphonie
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/polyphony-in-tablature.ly}

@cindex tablature et harmonique
@cindex harmonique et tablature
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/open-string-harmonics-in-tablature.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fretted-string-harmonics-in-tablature.ly}

@cindex glissando, indication en tablature
@cindex tablature et glissando

@cindex glissando d'accords et tablature
@cindex tablature et glissando
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/slides-in-tablature.ly}

@cindex tablature et glissando
@cindex glissando et tablature
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/chord-glissando-in-tablature.ly}

@cindex hammer on
@cindex pull off
@cindex tablature, hammer on
@cindex tablature, pull off
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off-using-voices.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off-using-chords.ly}

@morerefs
Manuel de notation :
@ref{Glissando},
@ref{Hampes},
@ref{Harmoniques},
@ref{Répétition d'accords},
@ref{Répétitions explicites}.

Morceaux choisis :
@rlsrnamed{Fretted strings,Cordes frettées}.

Référence des propriétés internes :
@rinternals{Beam},
@rinternals{TabNoteHead},
@rinternals{TabStaff},
@rinternals{TabVoice}.
@endmorerefs

@knownissues
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 @code{\partCombine} fonctionne avec des tablatures, on doit
ajouter au contexte @code{TabStaff} des voix fantômes :

@lilypond[quote,ragged-right,verbatim]
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 }
  >>
>>
@end lilypond

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


@node Tablatures personnalisées
@unnumberedsubsubsec Tablatures personnalisées
@translationof Custom tablatures

@cindex personnalisation de tablature
@cindex banjo, tablature
@cindex mandoline, tablature
@cindex guitare basse, tablature
@cindex ukulele, tablature
@cindex tablature, accordages prédéfinis
@cindex cordes frettées et accordages prédéfinis
@cindex accordages prédéfinis et cordes frettées

@funindex stringTunings

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é
@code{stringTunings}.

LilyPond possède des accordages prédéfinis pour le banjo, la mandoline,
la guitare et la guitare basse ainsi que le ukulele et les cordes
d'orchestre.  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.

@lilypond[quote,ragged-right,verbatim]
<<
  \new Voice \with {
    \omit StringNumber
  } {
    \clef "bass_8"
    \relative {
      c,4 d e f
    }
  }
  \new TabStaff \with {
    stringTunings = #bass-tuning
  } {
    \relative {
      c,4 d e f
    }
  }
>>
@end lilypond

L'accordage par défaut est @code{guitar-tuning}_; il correspond à
l'accordage standard d'une guitare : mi la ré sol si mi @w{(EADGBE)}.
D'autres accordages prédéfinis sont disponibles :
@code{guitar-@/open-g-@/tuning}, @code{mandolin-@/tuning} et
@code{banjo-@/open-g-@/tuning}. Les accordages prédéfinis sont
répertoriés dans le fichier @file{ly/string-@/tunings-@/init.ly}.

@cindex accordage personnalisé

@funindex \stringTuning

LilyPond vous permet de créer n'importe quel accordage.  L'accordage du
contexte en cours se détermine à l'aide de la fonction
@code{\stringTuning}.  Celle-ci prend deux arguments : une
représentation symbolique qui gardera l'accordage en mémoire, et une
construction d'accord définissant la hauteur des différentes cordes.
Les hauteurs fournies s'expriment impérativement en mode absolu -- voir
@ref{Hauteurs avec octave absolue}.  La corde ayant le numéro le plus
élevé (généralement la note la plus basse) est mentionnée en premier.

Nous pouvons ainsi définir par exemple l'accordage d'un instrument à
quatre cordes accordées do sol ré la, soit en anglais
@code{a''}, @code{d''}, @code{g'}, et @code{c'} :

@lilypond[quote,verbatim]
mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    #(define custom-tuning #{ \stringTuning <c' g' d'' a''> #})
    \set Staff.stringTunings = #custom-tuning
    \mynotes
  }
>>
@end lilypond

La propriété @code{stringTunings} permet aussi au @code{FretBoards} de
calculer automatiquement les diagrammes de frets.

L'accordage fait partie de la clé permettant d'identifier les
diagrammes prédéfinis -- voir @ref{Tablatures prédéfinies}.

Nous pourrions donc écrire l'exemple précédent ainsi :

@lilypond[quote,verbatim]
custom-tuning = \stringTuning <c' g' d'' a''>

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #custom-tuning
    \mynotes
  }
>>
@end lilypond

L'accordage est constitué, en interne, par une liste Scheme des hauteurs
de note 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.

Chaque hauteur de corde incluse dans un accordage est un objet LilyPond
de type @emph{pitch}.  Les objets @emph{pitch} sont créés par la fonction
@code{ly:make-pitch} -- voir @rinternals{Fonctions Scheme}.

La fonction @code{\stringTuning} permet de créer de tels objets à partir
de la saisie d'un accord.

LilyPond calcule automatiquement le nombre de cordes à représenter dans
la tablature (@code{TabStaff}) ainsi que dans le @code{FretBoard} en
comptant le nombre d'éléments définis dans le @code{stringTunings}.

Les différents contextes @code{TabStaff} utiliseront par défaut un même
accordage personnalisé dès lors que votre fichier comportera une clause

@example
\layout @{
  \context @{
    \TabStaff
    stringTunings = \stringTuning <c' g' d'' a''>
  @}
@}
@end example

@cindex moderntab, clef
@cindex clef moderntab
@cindex clef de tablature
@cindex tablature, clef

LilyPond dispose d'une clef de tablature moderne.

@lilypond[quote,ragged-right,verbatim]
\new TabStaff {
  \clef moderntab
  <a, e a>1
  \break
  \clef tab
  <a, e a>1
}
@end lilypond

Cette clef moderne prend en charge les tablatures de quatre à sept cordes.

@cindex micro-intervalle, tablature
@cindex quart de ton, tablature
@cindex tablature et micro-intervalle
@cindex tablature et quart de ton

Un @code{TabStaff} peut contenir des micro-intervalles tels les quarts
de ton, qui interveiennent dans les chutes ou sauts.  L'assertion
@w{@code{supportNonIntegerFret = ##t}} devra se placer au niveau du
contexte @code{Score}.  Les micro-intervalles ne sont toutefois pas pris
en charge dans un contexte @code{FretBoards}.

@lilypond[quote,ragged-right,verbatim]
\layout {
  \context {
    \Score
    supportNonIntegerFret = ##t
  }
}

custom-tuning = \stringTuning <e, a, d ges beh eeh'>

mus = \relative {
  eeses'4
  eeseh
  ees
  eeh
  e
  eih
  eis
  eisih
  eisis
}

<<
  \new Staff << \clef "G_8" \mus >>
  \new TabStaff \with { stringTunings = \custom-tuning } \mus
>>
@end lilypond

@morerefs
Manuel de notation :
@ref{Hauteurs avec octave absolue},
@ref{Tablatures prédéfinies}.

Fichiers d'initialisation :
@file{ly/string-tunings-init.ly},
@file{scm/tablature.scm}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.

Référence des propriétés internes :
@rinternalsnamed{Scheme functions, Fonctions Scheme},
@rinternals{Tab_note_heads_engraver}.
@endmorerefs

@knownissues
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.


@node Tablatures sous forme d'étiquettes
@unnumberedsubsubsec Tablatures sous forme d'étiquettes
@translationof Fret diagram markups

@cindex fret, diagramme
@cindex accord, diagramme
@cindex diagramme de fret
@cindex diagramme d'accord pour instrument fretté
@cindex fret, diagramme personnalisé
@cindex diagramme personnalisé de fret

On peut ajouter des diagrammes d'accord au-dessus de n'importe quelle
note, en tant qu'objets @code{\markup}.  Ces objets contiennent toutes
les informations du diagramme d'accord.  Il y a pour les définir trois
interfaces « diagramme d'accord » (@emph{fret-diagram} en anglais) :
@var{standard}, @var{terse} et @var{verbose}.  Ces trois interfaces
produiront des diagrammes similaires mais permettent des niveaux de
personnalisation différents.  Des détails à propos des interfaces de
type @code{\markup} peuvent être trouvés à l'annexe
@ref{Instrument Specific Markup}.

Dans l'interface standard des diagrammes d'accord, 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.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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'>1^\markup {
      \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>
@end lilypond

@cindex barré, indication de
@cindex indication du barré

Les indications de barré peuvent aussi être ajoutées au diagramme
d'accord dans l'interface standard :

@lilypond[quote, verbatim]
<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new 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'>1^\markup {
      \fret-diagram "c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
    }
  }
>>
@end lilypond

@cindex fret-diagram et @emph{markup}
@cindex @emph{markup} et fret-diagram
@cindex ukulele

@funindex \fret-diagram

La taille du diagramme d'accord ainsi que le nombre de cases
représentées peuvent aussi être modifiés dans l'interface standard.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new 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'>1^\markup {
      \fret-diagram "h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
    }
  }
>>
@end lilypond

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.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      a1
    }
  }
  \new Staff {
    % An 'A' chord for ukulele
    a'1^\markup {
      \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;"
    }
  }
>>
@end lilypond

Des indications de doigtés peuvent être ajoutées, et le positionnement
de ces doigtés peut être modifié dans l'interface standard.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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'>1^\markup {
      \fret-diagram "f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
    }
  }
>>
@end lilypond

La taille ainsi que la position des points peuvent être contrôlées dans
l'interface standard.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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'>1^\markup {
      \fret-diagram "p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>
@end lilypond

@cindex fret, diagramme pour gaucher
@cindex diagramme de fret pour gaucher
@cindex gaucher, diagramme de fret

Pour les gauchers qui inversent les cordes, LilyPond permet d'imprimer
les diagrammes de fret correctement.

@lilypond[verbatim,quote]
\markup
  \center-column {
    "C"
    "(gaucher)"
     \override #`(fret-diagram-details . ((handedness . ,LEFT)))
     \fret-diagram "6-x;5-3-3;4-2-2;3-o;2-1;1-o;"
  }
@end lilypond

@cindex @code{fret-diagram-terse}, markup

@funindex \fret-diagram-terse

Dans l'interface @code{fret-diagram-terse}, les numéros de corde sont
omis ; les numéros de corde 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.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-terse "x;3;2;o;1;o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram-terse "x;x;o;2;3;1;"
    }
  }
>>
@end lilypond

Les indications de barré peuvent être incluses dans l'interface
@code{fret-diagram-terse}.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new 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'>1^\markup {
      \fret-diagram-terse "3-(;5;5;4;3;3-);"
    }
  }
>>
@end lilypond

Les indications de doigtés peuvent être incluses dans l'interface
@code{fret-diagram-terse}.

@c Need to use override to enable fingerings to show this -- can we do so?
@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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'>1^\markup {
      \fret-diagram-terse "x;x;o;2-2;3-3;1-1;"
    }
  }
>>
@end lilypond

Les autres propriétés des diagrammes d'accord doivent être ajustées en
utilisant la commande @code{\override} dans l'interface
@code{fret-diagram-terse}.

Il n'est possible d'inclure qu'une seule indication par corde dans un
@emph{markup} @code{fret-diagram-terse}. Il faudra, pour en inclure
plusieurs, utiliser un @emph{markup} @code{fret-diagram} ou
@code{fret-diagram-verbose}.

@cindex @code{fret-diagram-verbose}, markup
@cindex capo

@funindex \fret-diagram-verbose

L'interface @code{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.

@lilypond[quote, verbatim]
<<
    \new ChordNames {
      \chordmode {
        c1 d:m
      }
    }
  \new 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'>1^\markup {
      \fret-diagram-verbose #'(
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 2)
        (place-fret 2 3)
        (place-fret 1 1)
      )
    }
  }
>>
@end lilypond

Les indications de doigté et de barré peuvent être décrites dans
l'interface @code{fret-diagram-verbose}.  Particularité propre à
l'interface @code{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.

Les points d'indication de doigté peuvent se colorier ou être mis
entre parenthèses ; la couleur des parenthèses est indépendante de
celle du point.

Des @emph{markups} peuvent par ailleurs venir s'insérer dans les points.

@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
    \new ChordNames {
      \chordmode {
        f1 g c c b
      }
    }
  \new 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'>1^\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'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 3)
        (mute 6)
        (place-fret 4 5 1)
        (place-fret 3 5 2)
        (place-fret 2 5 3)
      )
    }
    \override Voice.TextScript.size = 1.4
    <c g c' e' g'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 3 1 red parenthesized default-paren-color)
        (place-fret 5 3 1 inverted)
        (place-fret 4 5 2 blue parenthesized)
        (place-fret 3 5 3 blue)
        (place-fret 2 5 4 blue)
        (place-fret 1 3 1 inverted)
      )
    }
    \override Voice.TextScript.size = 1.5
    <b, fis b dis' fis'>1^\markup
      \override #'(fret-diagram-details . ((finger-code . in-dot)))
      \fret-diagram-verbose #`(
        (place-fret 5 2 1)
        (place-fret 4 4 "fis" red)
        (place-fret 3 4 "b" red)
        (place-fret
          2 4
          ,#{ \markup
                \concat {
                  \vcenter "d"
                  \fontsize #-5
                  \musicglyph "accidentals.sharp"} #}
          red)
        (place-fret 1 2 1)
      )
  }
>>
@end lilypond

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

@ignore
The following example shows the three fret-diagram markup
interfaces, along with examples of common tweaks.  For example,
the size of the verbose fret diagram is reduced to 0.75, and the
finger indications are specified to appear below the diagram.  The
terse diagram includes tweaks to specify placement of finger code
and color of dots.

@lilypond[verbatim,ragged-right,quote]
\new Voice {
  \clef "treble_8"
  d4^\markup {
    \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-2;"
  }
  d4 d d
  fis^\markup
    \override #'((size . 0.75) (finger-code . below-string))
    \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
                             (place-fret 5 4 3)
                             (place-fret 4 4 4)
                             (place-fret 3 3 2)
                             (place-fret 2 2 1)
                             (place-fret 1 2 1))
  fis4 fis fis
  c^\markup
    \override #'((dot-radius . 0.35) (finger-code . in-dot)
                 (dot-color . white))
    \fret-diagram-terse "x;3-1-(;5-2;5-3;5-4;3-1-);"
  c4 c c
}
@end lilypond
@end ignore

@cindex diagramme de fret personnalisé
@cindex fret, diagramme personnalisé
@cindex diagramme personnalisé de fret

@funindex fret-diagram-interface

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 @code{fret-diagram-interface}.  Des détails se trouvent dans
@rinternals{fret-diagram-interface}.  Pour un diagramme d'accord, les
propriétés de l'interface dépendent de @code{Voice.TextScript}.

@snippets

@cindex positionnemenet, diagramme de fret
@cindex diagramme de fret, positionnement
@cindex fret, positionnement de giagramme
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/changing-fret-orientations.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/customizing-markup-fret-diagrams.ly}

@morerefs
Manuel de notation :
@rusernamed{Instrument Specific Markup,
Markups spécifiques aux instruments (en anglais)}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.

Référence des propriétés internes :
@rinternals{fret-diagram-interface}.
@endmorerefs


@node Tablatures prédéfinies
@unnumberedsubsubsec Tablatures prédéfinies
@translationof Predefined fret diagrams

@cindex fret, diagramme
@cindex accord, diagramme
@cindex fret, mandoline
@cindex fret, ukulele
@funindex FretBoards
@funindex stringTunings

Les diagrammes d'accord peuvent être affichés en utilisant le contexte
@code{FretBoards}.  Par défaut le contexte @code{FretBoards} affichera
des diagrammes d'accord stockés dans une table de correspondance :

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode {
    c1 d
  }
}
@end lilypond

Les diagrammes d'accord définis par défaut sont dans le fichier
@file{predefined-guitar-fretboards.ly}. Les diagrammes d'accord sont
stockés en fonction des notes de l'accord ainsi que de l'accordage
(@code{stringTunings}) utilisé. Le fichier d'initialisation
@file{predefined-@/guitar-@/fretboards.ly} contient les diagrammes
d'accord prédéfinis uniquement pour l'accordage standard
(@code{guitar-@/tuning}). Des diagrammes d'accords peuvent être définis
pour d'autres instruments ou d'autres accordages en suivant les exemples
du fichier @file{predefined-@/guitar-f@/retboards.ly}.

Les diagrammes de fret propres au ukulele se trouvent dans le fichier
@file{predefined-@/ukulele-@/fretboards.ly}.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-ukulele-fretboards.ly"

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

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #ukulele-tuning
  \myChords
}
@end lilypond

Les diagrammes de fret propres à la mandoline se trouvent dans le
fichier @file{predefined-mandolin-fretboards.ly}.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-mandolin-fretboards.ly"

myChords = \chordmode { c1 c:m7.5- c:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #mandolin-tuning
  \myChords
}
@end lilypond

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

@lilypond[verbatim, ragged-right,quote]
\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode {c1}
  <c' e' g'>1
}
@end lilypond

@cindex accord nommé et diagramme de fret
@cindex fret, diagramme avec nom d'accord

@funindex ChordNames
@funindex \chordmode

Il est courant d'afficher simultanément le nom des accords et les
diagrammes d'accord correspondants.  Ceci s'obtient en mettant en
parallèle un contexte @code{ChordNames} et un contexte
@code{FretBoards}, tout en affectant aux deux la même musique.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

@cindex transposition et diagramme de fret
@cindex fret et transposition
@cindex diagramme de fret et transposition

Les diagrammes d'accord prédéfinis sont transposables tant qu'il y a
un diagramme correspondant à l'accord transposé dans la base des
diagrammes d'accord.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

mychordlist = {
  \mychords
  \transpose c e { \mychords }
}
<<
  \new ChordNames {
    \mychordlist
  }
  \new FretBoards {
    \mychordlist
  }
>>
@end lilypond

La table des diagrammes d'accord contient huit types d'accord (majeur,
mineur, augmenté, diminué, septième de dominante, septième majeure,
septièime mineure, neuvième de dominante) pour chacune des 17
fondamentales possibles.

La table des diagrammes pour ukulele contient trois types d'accord
supplémentaires : sixte majeure, seconde suspendue et quarte suspendue.

Une liste complète des diagrammes d'accords prédéfinis se trouve à
l'annexe @ref{Tablatures prédéfinies}. S'il n'y a pas d'entrée dans la
table pour un accord donné, le graveur @code{Fretboard_engraver}
calculera le diagramme d'accord en utilisant la fonctionnalité
automatique décrite dans @ref{Tablatures automatiques}.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

@cindex fret, ajout de diagramme personnalisé
@cindex diagramme de fret personnalisé, ajout

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 @var{terse} que @var{verbose}.

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c:maj9 }
                        #guitar-tuning
                        "x;3-2;o;o;o;o;"

mychords = \chordmode {
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

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.

@lilypond[verbatim, ragged-right, quote]
\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''
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

@cindex cordes frettées, carrure d'accord
@cindex accord, carrure pour cordes frettées

@funindex \addChordShape
@funindex \storePredefinedDiagram

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 @code{fret-diagram-terse} ou
@code{fret-diagram-verbose}.


@lilypond[verbatim, ragged-right, quote]
\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''
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

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 @code{fret-diagram-interface}.  Pour plus d'information,
consultez @rinternals{fret-diagram-interface}.  Pour un diagramme
d'accord donné, les propriétés de l'interface dépendent de
@code{FretBoards.FretBoard}.

@snippets

@cindex diagramme de fret, personnalisation
@cindex personnalisation, diagramme de fret
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/customizing-fretboard-fret-diagrams.ly}

@cindex diagramme de fret prédéfini, définition
@cindex prédéfini, diagramme de fret, définition
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/defining-predefined-fretboards-for-other-instruments.ly}

@cindex accord, suppressiion des répétitions
@cindex accord répété, suppression
@cindex suppression, accords répétés
@funindex chordChanges
@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
{snippets/chordchanges-for-fretboards.ly}

@cindex diagramme d'accord, table alternative
@cindex alternatative, table de diagrammes d'accord
@funindex predefinedDiagramTable
@funindex \storePredefinedDiagram
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fretboards-alternate-tables.ly}

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

Fichiers d'initialisation :
@file{ly/predefined-guitar-fretboards.ly}, @*
@file{ly/predefined-guitar-ninth-fretboards.ly}, @*
@file{ly/predefined-ukulele-fretboards.ly},@*
@file{ly/predefined-mandolin-fretboards.ly}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.

Référence des propriétés internes :
@rinternals{fret-diagram-interface}.
@endmorerefs


@node Tablatures automatiques
@unnumberedsubsubsec Tablatures automatiques
@translationof Automatic fret diagrams

@cindex fret, diagramme automatique
@cindex accord, diagramme automatique
@cindex automatique, diagramme de fret
@cindex automatique, diagramme d'accord

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

@lilypond[quote,ragged-right,verbatim]
<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new FretBoards {
    <f, c f a c' f'>1
    <g,\6 b, d g b g'>1
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1
    <g, b, d g b' g'>1
  }
>>
@end lilypond

@funindex \predefinedFretboardsOff
@funindex \predefinedFretboardsOn

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 :

@lilypond[quote,ragged-right,verbatim]

\storePredefinedDiagram #default-fret-table
                        <c e g c' e'>
                        #guitar-tuning
                        "x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
  \new ChordNames {
    \chordmode {
      c1 c c
    }
  }
  \new FretBoards {
    <c e g c' e'>1
    \predefinedFretboardsOff
    <c e g c' e'>1
    \predefinedFretboardsOn
    <c e g c' e'>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <c e g c' e'>1
    <c e g c' e'>1
  }
>>
@end lilypond

Le calculateur se trouvera parfois 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 @code{FretBoards}.

@cindex fret, ajout de doigté au diagramme
@cindex doigté, ajout au diagramme de fret

Il est possible d'ajouter des indications de doigté aux diagrammes de
fret.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new FretBoards {
    <c-3 e-2 g c'-1 e'>1
    <d a-2 d'-3 f'-1>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <d a d' f'>1
  }
>>
@end lilypond

@funindex minimumFret

La propriété @code{minimumFret} permet de définir la case minimale qui
servira à calculer les cordes et les cases du contexte @code{FretBoard}.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      d1:m d:m
    }
  }
  \new FretBoards {
    <d a d' f'>1
    \set FretBoards.minimumFret = #5
    <d a d' f'>1
  }
  \new Staff {
    \clef "treble_8"
    <d a d' f'>1
    <d a d' f'>1
  }
>>
@end lilypond

Les cordes et les cases du contexte @code{FretBoards} sont liées à la
propriété @code{stringTunings}, qui a là même signification que dans le
contexte @code{TabStaff}.  Voir @ref{Tablatures personnalisées} pour
plus d'information sur la propriété @code{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 @code{fret-diagram-interface}.  Pour un diagramme
d'accord @code{FretBoards} donné, les propriétés de l'interface
dépendent de @code{FretBoards.FretBoard}.

@predefined
@code{\predefinedFretboardsOff},
@code{\predefinedFretboardsOn}.
@endpredefined

@morerefs
Manuel de notation :
@ref{Tablatures personnalisées}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.

Référence des propriétés internes :
@rinternals{fret-diagram-interface}.
@endmorerefs

@knownissues
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.


@node Doigtés pour la main droite
@unnumberedsubsubsec Doigtés pour la main droite
@translationof Right-hand fingerings

@cindex cordes frettées, doigtés main droite
@cindex doigtés main droite et cordes frettées
@cindex main droite, doigtés pour cordes frettées

@funindex \rightHandFinger

Les doigtés de main droite @var{p-i-m-a} doivent être entrés à l'aide de
l'instruction @code{\rightHandFinger} suivie d'un nombre.

@warning{Lorsque vous utilisez l'instruction @code{@bs{}rightHandFinger}
dans un accord, une espace @strong{doit} précéder la fermeture de la
construction par un @code{>}.}

@lilypond[quote,verbatim,fragment]
\clef "treble_8"
c4\rightHandFinger #1
e\rightHandFinger #2
g\rightHandFinger #3
c'\rightHandFinger #4
<c\rightHandFinger #1 e\rightHandFinger #2
 g\rightHandFinger #3 c'\rightHandFinger #4 >1
@end lilypond

Pour plus de clarté, vous pouvez traduire ou abréger la commande
@code{\rightHandFinger}, par exemple en @code{doigtMainDroite} ou
même @code{MD} en tête du fichier source :

@example
MD = #rightHandFinger \etc
@end example

La plupart des comportements en matière de doigtés pour la main droite,
à savoir l'objet @code{StrokeFinger}, est comparable aux doigtés
ordinaires -- voir @ref{Doigtés}.

@snippets

@cindex positionnement, doigté main droite
@cindex doigté main droite, positionnement
@cindex main droite, doigté, positionnement
@funindex strokeFingerOrientations
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/placement-of-right-hand-fingerings.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fingerings,-string-indications,-and-right-hand-fingerings.ly}

@morerefs
Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.

Référence des propriétés internes :
@rinternals{StrokeFinger}.
@endmorerefs


@node Guitare
@subsection Guitare
@translationof 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 recourir à un traitement de texte, un éditeur de texte ou,
pour les utilisateurs expérimentés, un logiciel typographique tel que
GuitarTeX.

@menu
* Indication de la position et du barré::
* Indication des harmoniques et notes étouffées::
* Indication de power chord::
@end menu


@node Indication de la position et du barré
@unnumberedsubsubsec Indication de la position et du barré
@translationof Indicating position and barring

@cindex barré, indication de la position
@cindex cordes frettées, indication de la position et du barré

Cet exemple montre comment indiquer les positions et les barrés :

@lilypond[quote,ragged-right,verbatim,fragment]
\relative {
  \clef "treble_8"
  b,16 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
}
@end lilypond

@morerefs
Manuel de notation :
@ref{Indication textuelle avec extension}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées},
@rlsrnamed{Expressive marks, Signes d'interprétation}.
@endmorerefs


@node Indication des harmoniques et notes étouffées
@unnumberedsubsubsec Indication des harmoniques et notes étouffées
@translationof Indicating harmonics and dampened notes

@cindex cordes frettées, note étouffée
@cindex cordes frettées, harmonique
@cindex note étouffée et cordes frettées
@cindex harmonique et cordes frettées

Des têtes de note spéciales peuvent servir à indiquer les notes
étouffées et les sons harmoniques.  Les sons harmoniques sont souvent
détaillés grâce à des indications textuelles.

@lilypond[quote,ragged-right,verbatim]
\relative {
  \clef "treble_8"
  \override NoteHead.style = #'harmonic-mixed
  d'8^\markup { \italic \fontsize #-2 "harm. 12" } <g b>4
}
@end lilypond

Les notes étouffées, ou @notation{notes fantômes}, se rencontrent aussi
bien sur une portée normale que dans une tablature :

@lilypond[quote,ragged-right,verbatim]
music = \relative {
  < a\3 \deadNote c\2 a'\1 >4
  < b\3 \deadNote d\2 b'\1 >
  < c\3 \deadNote e\2 c'\1 >
  \deadNotesOn
  \tuplet 3/2 { g8 b e }
  \deadNotesOff
  < a,\3 c\2 e\1 >1
}
\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \music
  }
  \new TabStaff {
    \music
  }
>>
@end lilypond

Le @emph{palm mute}, appelé aussi parfois @emph{chop}, est une technique
de jeu pour la guitare électrique ; elle est connue sous le nom de
pizzicato par les joueurs de guitare classique.  Elle consiste à poser
la main droite sur les cordes juste au-dessus du chevalet, de façon à
étouffer plus ou moins légèrement les notes.  LilyPond permet d'indiquer
ce style de jeu en affectant un profil spécifique aux têtes de note.

@lilypond[quote,ragged-right,verbatim]
\new Voice { % Warning: explicit Voice instantiation is
             %    required to have palmMuteOff work properly
             %    when palmMuteOn comes at the beginning of
             %    the piece.
  \relative c, {
    \clef "G_8"
    \palmMuteOn
    e8^\markup { \musicglyph "noteheads.s2do"  = palm mute }
    < e b' e > e
    \palmMuteOff
    e e  \palmMute e e e |
    e8 \palmMute { e e e } e e e e |
    < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
  }
}
@end lilypond

@morerefs
Manuel de notation :
@ref{Têtes de note spécifiques},
@ref{Têtes de note}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.
@endmorerefs


@node Indication de power chord
@unnumberedsubsubsec Indication de @emph{power chord}
@translationof Indicating power chords

@cindex power chords
@cindex chord, power

Les @emph{power chords} -- terme anglais signifiant littéralement
« accords de puissance » -- s'indiquent aussi bien en mode accord que
dans une construction en accord.  La quinte est exceptionnellement
indiquée dans le chiffrage de ces accords, contrairement aux
accords habituels (parfaits ou non) :

@lilypond[quote,ragged-right,verbatim]
ChordsAndSymbols = {
  \chordmode {
    e,,1:5
    a,,:5.8
    \set TabStaff.restrainOpenStrings = ##t
    \set minimumFret = #8
    c,:5
    f,:5.8
  }
  \set minimumFret = #2
  \set restrainOpenStrings = ##f
  <a, e> <a cis' e'>
  <g d' g'>
}
\score {
  <<
    \new ChordNames {
    \ChordsAndSymbols
    }
    \new Staff {
      \clef "treble_8"
      \ChordsAndSymbols
    }
    \new TabStaff {
      \ChordsAndSymbols
    }
  >>
}
@end lilypond

@morerefs
Glossaire musicologique :
@rglos{power chord}.

Manuel de notation :
@ref{Extension et altération d'accords},
@ref{Impression des noms d'accord}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.
@endmorerefs


@node Banjo
@subsection Banjo
@translationof Banjo

@menu
* Tablatures pour banjo::
@end menu


@node Tablatures pour banjo
@unnumberedsubsubsec Tablatures pour banjo
@translationof Banjo tablatures

@cindex banjo, tablature
@cindex tablature pour banjo

LilyPond permet d'écrire des tablatures de base pour le banjo à cinq
cordes.  Pour ce faire, pensez à utiliser le format de tablature pour
banjo, afin d'avoir le bon nombre de cordes et le bon accordage :

@c due to crazy intervals of banjo music, absolute pitch is recommended

@lilypond[quote,ragged-right,verbatim]
music = {
  g8 d' g'\5 a b g e d' |
  g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
  g4
}

<<
  \new Staff \with { \omit StringNumber }
  { \clef "treble_8"  \music }
  \new TabStaff \with {
    tablatureFormat = #fret-number-tablature-format-banjo
    stringTunings = #banjo-open-g-tuning
  }
  { \music }
>>
@end lilypond

@cindex banjo, accordage
@cindex accordage de banjo

@funindex banjo-c-tuning
@funindex banjo-modal-tuning
@funindex banjo-open-d-tuning
@funindex banjo-open-dm-tuning
@funindex banjo-open-g-tuning
@funindex banjo-double-c-tuning
@funindex banjo-double-d-tuning
@funindex four-string-banjo

LilyPond prend en charge un certain nombre d'accordages courants pour
banjo : @code{banjo-@/c-tuning} sol do sol si ré @w{(gCGBD)},
@code{banjo-@/modal-@/tuning} sol ré sol do ré @w{(gDGCD)},
@code{banjo-@/open-@/d-tuning} la ré fa# la ré @w{(aDF#AD)},
@code{banjo-@/open-@/dm-tuning} la ré fa la ré @w{(aDFAD)},
@code{banjo-@/double-c-@/tuning} sol do sol do ré @w{(gCGCD)} et
@code{banjo-@/double-d-@/tuning} la ré sol ré mi @w{(aDGDE)}.

Ces accordages peuvent être convertis pour banjo à quatre cordes au
moyen de la fonction @code{four-string-banjo} :

@example
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example

@morerefs
Fichiers d'initialisation :
@file{ly/string-tunings-init.ly}.

Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.
@endmorerefs


@node Luth
@subsection Luth
@translationof Lute

@menu
* Tablatures pour luth::
@end menu

@node Tablatures pour luth
@unnumberedsubsubsec Tablatures pour luth
@translationof Lute tablatures

@cindex luth, tablature
@cindex tablature, luth

LilyPond prend en charge les tablatures pour le luth.

Les cordes supplémentaires s'ajoutent à l'aide de la commande
@code{additionalBassStrings} qui permet de définir les hauteurs
respectives de ces cordes.  Elles viendront s'imprimer ainsi au-dessous
de la ligne inférieure : a, /a, //a, ///a, 4, 5, etc.

@code{fret-letter-tablature-format}, et probablement @code{fretLabels},
fournis en argument à @code{tablatureFormat}, autoriseront des
personnalisations plus avancées.

@lilypond[quote,ragged-right,verbatim]
m = { f'4 d' a f d a, g, fis, e, d, c,  \bar "|." }

\score {
  <<
    \new Staff { \clef bass \cadenzaOn  \m }
    \new TabStaff \m
  >>
  \layout {
    \context {
      \Score
      tablatureFormat = #fret-letter-tablature-format
    }
    \context {
      \TabStaff
      stringTunings = \stringTuning <a, d f a d' f'>
      additionalBassStrings = \stringTuning <c, d, e, fis, g,>
      fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
    }
  }
}
@end lilypond

@cindex luth, personnalisation
@cindex réglage fin d'un luth

@knownissues
L'utilisation de @code{FretBoards} avec des @code{additionalBassStrings}
n'est pas prise en charge et conduira à un résultat insatisfaisant.
