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. 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 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 TabStaff
et
TabVoice
, qui comportent une clef spécifique ajoutée
automatiquement.
\new TabStaff \relative { a,8 a' <c e> a d,8 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 ~ 2\! 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 que les blanches sont affublées d’une
double hampe afin qu’elles ne se confondent pas avec des noires.
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 } }
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é 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 minimumFret
, une
corde à vide aura toujours préséance. Ce comportement se modifie par
l’activation de restrainOpenStrings
.
\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 } >>
La répétition d’une construction en accord s’indique par un q
–
see 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, ce qui peut conduire à des résultats inattendus, en particulier
des changement de fret. L’instruction \tabChordRepeats
permet la
persistance des doigtés au fil des répétitions. Dans l’exemple suivant,
le doigté par défaut pour cet accord – sans qu’il soit affiché –
serait sol dièse sur la quatrième corde, si sur la troisième, et do
dièse sur la deuxième. Puisqu’est mentionné b-0
dans la saisie,
le si est sur la deuxième corde et le do dièse va sur la troisième. La
présence du \tabChordRepeats
permet de maintenir le même doigté
pour les accords q
qui suivent.
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 } >>
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.
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 } }
La commande \hideSplitTiedTabNotes
permet d’éviter d’imprimer
ces cases entre parenthèses.
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 } }
Les indications de sons harmoniques ainsi que les glissandos peuvent être ajoutés aux tablatures.
\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 } >> }
Vous noterez que la commande \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.
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 } >> }
Un harmonique peut accessoirement se calculer à partir de la longueur de corde par rapport au doigté de cet harmonique.
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 } >> }
Des désinences peuvent s’ajouter en notation de tablature. Elles
s’indiquent par adjonction d’un \^
à 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 'hold
une ligne
horizontale discontinue, 'pre-bend
une ligne verticale terminée
en flèche, et 'pre-bend-hold
une ligne verticale terminée en
flèche suivie d’une horizontale discontinue.
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 } } }
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é
bend-me
à #t
, et à #f
pour exclure les autres notes
de la désinence.
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 } } }
Dans une succession de chutes ou sauts, la désinence de départ pourra
nécessiter un réglage particulier de details.successive-level
. La
fonction bendStartLevel
, qui prend en argument un entier, est là
pour le gérer.
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 } } }
L’extension du 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 NoteColumn
particulier peut être sauté à l’aide d’un
\skipNC
. Un groupe de NoteColumn
s peut se sauter en le
faisant précéder d’un \skipNCs
et suivre d’un \endSkipNCs
.
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 } } }
Commandes prédéfinies
\skipNCs
,
\skipNC
,
\endSkipNCs
.
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.concaveness = 10000 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" \new Voice = "upper" \upper \new Voice = "lower" \lower >> \new TabStaff = "guitar tab" << \new TabVoice = "upper" \upper \new TabVoice = "lower" \lower >> >> >> }
Harmoniques sur corde à vide en tablature
Voici comment obtenir des harmoniques sur corde à vide (harmoniques naturelles) dans une tablature.
openStringHarmonics = { \textSpannerDown \override TextSpanner.staff-padding = 3 \override TextSpanner.dash-fraction = 0.3 \override TextSpanner.dash-period = 1 %first harmonic \override TextSpanner.bound-details.left.text = \markup\small "1st harm. " \harmonicByFret 12 e,2\6\startTextSpan \harmonicByRatio #1/2 e,\6\stopTextSpan %second harmonic \override TextSpanner.bound-details.left.text = \markup\small "2nd harm. " \harmonicByFret 7 e,\6\startTextSpan \harmonicByRatio #1/3 e,\6 \harmonicByFret 19 e,\6 \harmonicByRatio #2/3 e,\6\stopTextSpan %\harmonicByFret 19 < e,\6 a,\5 d\4 > %\harmonicByRatio #2/3 < e,\6 a,\5 d\4 > %third harmonic \override TextSpanner.bound-details.left.text = \markup\small "3rd harm. " \harmonicByFret 5 e,\6\startTextSpan \harmonicByRatio #1/4 e,\6 \harmonicByFret 24 e,\6 \harmonicByRatio #3/4 e,\6\stopTextSpan \break %fourth harmonic \override TextSpanner.bound-details.left.text = \markup\small "4th harm. " \harmonicByFret 4 e,\6\startTextSpan \harmonicByRatio #1/5 e,\6 \harmonicByFret 9 e,\6 \harmonicByRatio #2/5 e,\6 \harmonicByFret 16 e,\6 \harmonicByRatio #3/5 e,\6\stopTextSpan %fifth harmonic \override TextSpanner.bound-details.left.text = \markup\small "5th harm. " \harmonicByFret 3 e,\6\startTextSpan \harmonicByRatio #1/6 e,\6\stopTextSpan \break %sixth harmonic \override TextSpanner.bound-details.left.text = \markup\small "6th harm. " \harmonicByFret 2.7 e,\6\startTextSpan \harmonicByRatio #1/7 e,\6\stopTextSpan %seventh harmonic \override TextSpanner.bound-details.left.text = \markup\small "7th harm. " \harmonicByFret 2.3 e,\6\startTextSpan \harmonicByRatio #1/8 e,\6\stopTextSpan %eighth harmonic \override TextSpanner.bound-details.left.text = \markup\small "8th harm. " \harmonicByFret 2 e,\6\startTextSpan \harmonicByRatio #1/9 e,\6\stopTextSpan } \score { << \new Staff \with { \omit StringNumber } { \new Voice { \clef "treble_8" \openStringHarmonics } } \new TabStaff { \new TabVoice { \openStringHarmonics } } >> } \paper { tagline = ##f }
Harmoniques et tablature
Le code suivant indique comment imprimer des harmoniques dan une tablature.
pinchedHarmonics = { \textSpannerDown \override TextSpanner.bound-details.left.text = \markup {\halign #-0.5 \teeny "PH" } \override TextSpanner.style = #'dashed-line \override TextSpanner.dash-period = 0.6 \override TextSpanner.bound-details.right.attach-dir = 1 \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . 1) } \override TextSpanner.bound-details.right.padding = -0.5 } harmonics = { % artificial harmonics (AH) \textLengthOn <\parenthesize b b'\harmonic>4_\markup { \teeny "AH 16" } <\parenthesize g g'\harmonic>4_\markup { \teeny "AH 17" } <\parenthesize d' d''\harmonic>2_\markup { \teeny "AH 19" } % pinched harmonics (PH) \pinchedHarmonics <a'\harmonic>2\startTextSpan <d''\harmonic>4 <e'\harmonic>4\stopTextSpan % tapped harmonics (TH) <\parenthesize g\4 g'\harmonic>4_\markup { \teeny "TH 17" } <\parenthesize a\4 a'\harmonic>4_\markup { \teeny "TH 19" } <\parenthesize c'\3 c''\harmonic>2_\markup { \teeny "TH 17" } % touch harmonics (TCH) a4( <e''\harmonic>2. )_\markup { \teeny "TCH" } } frettedStrings = { % artificial harmonics (AH) \harmonicByFret 4 g4\3 \harmonicByFret 5 d4\4 \harmonicByFret 7 g2\3 % pinched harmonics (PH) \harmonicByFret 7 d2\4 \harmonicByFret 5 d4\4 \harmonicByFret 7 a4\5 % tapped harmonics (TH) \harmonicByFret 5 d4\4 \harmonicByFret 7 d4\4 \harmonicByFret 5 g2\3 % touch harmonics (TCH) a4 \harmonicByFret 9 g2.\3 } \score { << \new Staff \with { \omit StringNumber } { \new Voice { \clef "treble_8" \harmonics } } \new TabStaff { \new TabVoice { \frettedStrings } } >> }
Glissando et tablature
Un glissando s’indique dans un TabStaff
tout comme dans un
Staff
.
slides = { c'8\3(\glissando d'8\3) c'8\3\glissando d'8\3 \hideNotes \grace { g16\glissando } \unHideNotes c'4\3 \afterGrace d'4\3\glissando { \stemDown \hideNotes g16 } \unHideNotes } \score { << \new Staff { \clef "treble_8" \slides } \new TabStaff { \slides } >> \layout { \context { \Score \override Glissando.minimum-length = 4 \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \override Glissando.thickness = 2 \omit StringNumber % or: %\override StringNumber.stencil = ##f } } }
Glissando d’accords et tablature
Un glissando sur des accords s’indique dans un TabStaff
de la
même manière que dans un Staff
, à ceci près que nous pourrions
avoir besoin des numéros de corde afin de déterminer correctement les
frets d’arrivée.
myMusic = \relative c' { <c e g>1 \glissando <f a c> <cis, eis gis>1 \glissando <f a c> <cis eis gis>1 \glissando <f a c\3> } \score { << \new Staff { \clef "treble_8" \omit StringNumber \myMusic } \new TabStaff \myMusic >> } \score { << \new Staff { \clef "treble_8" \omit StringNumber \myMusic } \new TabStaff \with { \override Glissando.style = #'none } { \myMusic } >> } \paper { tagline = ##f }
Hammer on et pull off
Hammer-on et pull-off peuvent s’indiquer par des liaisons.
\new TabStaff { \relative c' { d4( e\2) a( g) } }
Hammer on et pull off gérés par les voix
L’arc des hammer-on et pull-off est ascendant dans les voix une et trois, et descendant dans les voix deux et quatre.
\new TabStaff { \relative c' { << { \voiceOne g2( a) } \\ { \voiceTwo a,( b) } >> \oneVoice } }
Hammer on et pull off avec accords
Dans le cadre de notes en accord, les hammer-on et
pull-off sont indiqués par un arc simple. Vous obtiendrez
néanmoins un arc double en réglant la propriété doubleSlurs
sur
#t
.
\new TabStaff { \relative c' { % chord hammer-on and pull-off \set doubleSlurs = ##t <g' b>8( <a c> <g b>) } }
Voir aussi
Manuel de notation : Glissando, Hampes, Harmoniques, Répétition d’accords, Répétitions explicites.
Morceaux choisis : Cordes frettées.
Référence des propriétés internes : Beam, TabNoteHead, TabStaff, TabVoice.
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 glissandos.