2.4.1 Notació comuna per a cordes amb trasts

Aquesta secció s’ocupa de la notació comuna exclusiva dels instruments de corda amb trasts.


Referències per a cordes amb trasts

La notació musical per a instruments de corda amb trasts es realitza normalment a una sola pauta, ja sigui en notació musical tradicional o en tabulatura. A vegades es combinen ambdós tipus, i és habitual a la música popular utilitzar diagrames d’acords a sobre d’un pentagrama de notació tradicional. La guitarra i el banjo són instruments transpositors, que sonen una octava per sota del que està escrit. Les partitures per a aquests instruments han d’usar la clau de Sol octava baixa "treble_8" (o \transposition c per obtenir una sortida MIDI correcta). D’altres elements relatius als instruments de corda amb trasts s’estudien a d’altres parts del manual:

Vegeu també

Referència de la notació: Indicacions de digitació, Lligadures d’unió, Resolució de les col·lisions, Noms d’instruments, Escriptura de música en paral·lel, Arpegi, Llista d’articulacions, Clau, Transposició dels instruments.


Indicació dels números de corda

Es pot indicar la corda en la qual s’ha de tocar una nota afegint \ número a una nota.

\clef "treble_8"
c4\5 e\4 g2\3
<c\5 e\4 g\3>1

[image of music]

Quan s’usen al mateix temps digitacions i indicacions del número de corda, la seva col·locació es pot controlar per l’ordre en el qual apareixen aquests elements al codi sols si apareixen dins d’un acord explícit: aplicat a acords complets o notes individuals fora d’acords, les digitacions es col·loquen usant un mecanisme diferent.

\clef "treble_8"
g4\3-0
g-0\3
<g\3-0>
<g-0\3>

[image of music]

Els números de corda (així com als instruments sense trasts, on és obligatori) també es poden imprimir en nombres romans i col·locar-se a sota del pentagrama, en comptes de a sobre d’ell.

\clef "treble_8"
c'2\2
a\3
\romanStringNumbers
c'\2
\set stringNumberOrientations = #'(down)
a\3
\arabicStringNumbers
g1\4

[image of music]

Fragments de codi seleccionats

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely. For fingering orientation to apply, it must be used within a chord construct <>, even for single notes. Orientation for string numbers and right-hand fingerings may be set in a similar way.

\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
  \set stringNumberOrientations = #'(up left down)
  <f\3 a\2 c\1>1
  \set strokeFingerOrientations = #'(down right up)
  <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 >
}

[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff; that behavior, however, may be disabled. Attention needs to be paid to situations where fingerings and stems are in the same direction: by default, fingerings will avoid only beamed stems. That setting can be changed to avoid no stems or all stems; the following example demonstrates these two options, as well as how to go back to the default behavior.

\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
  a8[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##f
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##t
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = #only-if-beamed
  a[-1 b]-2 g-0 r
}

[image of music]

Instruccions predefinides

\arabicStringNumbers, \romanStringNumbers.

Vegeu també

Referència de la notació: Indicacions de digitació.

Fragments de codi: Fretted strings.

Referència de funcionament intern: StringNumber, Fingering.


Tabulatures predeterminades

La notació per a instruments de corda polsada es realitza sovint utilitzant un sistema de dits i xifres, o tabulatura. A diferència de la notació tradicional, les notes no es designen mitjanant figures, sinó mitjanant números (o símbols semblants a lletres de la intavolatura històrica). Les línies de la tabulatura indiquen sobre quina corda s’ha de tocar la nota, i el número sobre la línia indica el trast en la quan la corda corresponent s’ha de trepitjar. Les notes que s’han de tocar simultàniament s’alineen en sentit vertical.

De forma predeterminada, la corda 1 és la més aguda i correspon a la línia superior de la pauta TabStaff. La afinació predeterminada de les cordes del TabStaff és l’afinació estàndard de guitarra (amb 6 cordes). Les notes s’imprimeixen com a tabulatura, usant els contextos TabStaff i TabVoice. S’afegeix automàticament una clau cal·ligràfica de tabulatura.

\new TabStaff \relative {
  a,8 a' <c e> a
  d,8 a' <d f> a
}

[image of music]

Les tabulatures predeterminades no contenen símbols per a la duració de les notes ni cap altre símbol musical, com ara indicacions expressives.

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

[image of music]

Si volem que tots els símbols musicals que s’usen a la notació tradicional apareguin també a la tabulatura, hem d’aplicar l’ordre \tabFullNotation dins d’un context contexto TabStaff. Teniu en compte que, a la tabulatura, les blanques tenen doble plica per poder distingir-les de les negres.

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

[image of music]

De forma predeterminada, les notes s’assignen a la posició més baixa del mànec (primera posició). Les cordes a l’aire s’agafen com a preferència, automàticament. Si volem que una nota determinada es toqui sobre una corda concreta, podem afegir una indicació de número de corda al nom de la nota. Si no volem que les indicacions de número de corda apareguin a la notació tradicional, podem sobreescriure el segell corresponent. Generalment és molt més còmode definir una posició utilitzant el valor de minimumFret. El valor predeterminat és 0.

Fins is tot si minimumFret està establert, s’usen les cordes a l’aire sempre que sigui possible. Aquest comportament es pot canviar fixant restrainOpenStrings al valor #t.

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

[image of music]

Les construccions d’acord es pot repetir mitjançant el símbol de repetició d’acords q. En combinació amb les tabulatures, el seu comportament d’eliminar números de corda i de dits junt a d’altres esdeveniments és fastigós, per la qual cosa potser voleu executar

\chordRepeats #'(string-number-event fingering-event)

explícitament sobre expressions musicals en les tabulatures que utilitzin Repetició d’acords. Aquesta ordre particular és tan comuna que estigui disponible com particular es tan comuna que estigui disponible \tabChordRepeats.

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

[image of music]

Les lligadures d’unió que creuen salts de línia porten parèntesis de forma predeterminada. EL mateix regeix per a la capseta de segona vegada d’una repetició.

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 {
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}

[image of music]

L’ordre \hideSplitTiedTabNotes cancel·la el comportament de gravar els números de trast entre parèntesis:

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

[image of music]

Es poden afegir indicacions d’harmònics a la notació de tabulatura en forma de les seves alçades de so:

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

[image of music]

Observeu que l’ordre \harmonic s’ha d’adjuntar sempre a notes individuals (possiblement dins d’un acord) en lloc d’adjuntar-la a acords complets. Sols té sentit per a harmònics sobre una corda oberta al dotzè trast. Qualsevol altre harmònic ha de ser calculat per par del LilyPond. Es pot aconseguir això indicant el trast al qual ha de fregar la corda el dit de la ma que trepitja.

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

[image of music]

De forma alternativa, es poden calcular els harmònics definint la raó de les longituds de corda per sobre i per sota de la digitació d’harmònic.

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

[image of music]

Fragments de codi seleccionats

Stem and beam behavior in tablature

The direction of stems is controlled the same way in tablature as in traditional notation. Beams can be made horizontal, as shown in this example.

\new TabStaff {
  \relative c {
    \tabFullNotation
    g16 b d g b d g b
    \stemDown
    \override Beam.concaveness = #10000
    g,,16 b d g b d g b
  }
}

[image of music]

Polyphony in tablature

Polyphony is created the same way in a TabStaff as in a regular staff.

upper = \relative c' {
  \time 12/8
  \key e \minor
  \voiceOne
  r4. r8 e, fis g16 b g e e' b c b a g fis e
}

lower = \relative c {
  \key e \minor
  \voiceTwo
  r16 e d c b a g4 fis8 e fis g a b c
}

\score {
  <<
    \new StaffGroup = "tab with traditional" <<
      \new Staff = "guitar traditional" <<
        \clef "treble_8"
        \new Voice = "upper" \upper
        \new Voice = "lower" \lower
      >>
      \new TabStaff = "guitar tab" <<
        \new TabVoice = "upper" \upper
        \new TabVoice = "lower" \lower
      >>
    >>
  >>
}

[image of music]

Open string harmonics in tablature

This snippet demonstrates open-string harmonics.

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

[image of music]

Fretted-string harmonics in tablature

Demonstrates fretted-string harmonics in 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
      }
    }
  >>
}

[image of music]

Slides in tablature

Slides can be typeset in both Staff and TabStaff contexts:

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

[image of music]

Chord glissando in tablature

Slides for chords are indicated by default in both Staff and TabStaff.

String numbers are necessary for TabStaff because automatic string calculations are different for chords and for single notes.

myMusic = \relative c' {
  <c e g>1 \glissando <f a c>
}

\score {
  <<
    \new Staff {
      \clef "treble_8"
      \myMusic
    }
    \new TabStaff \myMusic
  >>
}

\score {
  <<
    \new Staff {
      \clef "treble_8"
      \myMusic
    }
    \new TabStaff \with { \override Glissando.style = #'none } {
      \myMusic
    }
  >>
}

[image of music]

Hammer on and pull off

Hammer-on and pull-off can be obtained using slurs.

\new TabStaff {
  \relative c' {
    d4( e\2)
    a( g)
  }
}

[image of music]

Hammer on and pull off using voices

The arc of hammer-on and pull-off is upwards in voices one and three and downwards in voices two and four:

\new TabStaff {
  \relative c' {
    << { \voiceOne g2( a) }
    \\ { \voiceTwo a,( b) }
    >> \oneVoice
  }
}

[image of music]

Hammer on and pull off using chords

When using hammer-on or pull-off with chorded notes, only a single arc is drawn. However “double arcs” are possible by setting the doubleSlurs property to #t.

\new TabStaff {
  \relative c' {
    % chord hammer-on and pull-off
    \set doubleSlurs = ##t
    <g' b>8( <a c> <g b>)
  }
}

[image of music]

Vegeu també

Referencia de la notació: Repetició d’acords, Repeticions explícites, Pliques, Harmònics, Glissando.

Fragments de codi: Fretted strings.

Referència de funcionament intern: TabNoteHead, TabStaff, TabVoice, Beam.

Advertiments i problemes coneguts

Els acords no es tracten d’una manera especial, i d’aquí que el selector automàtic de la corda pot escollir fàcilment la mateixa corda per a dues notes de l’acord.

Per utilitzar \partCombine, cal que TabStaff faci servir veus especialment creades:

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

[image of music]

els efectes especials de guitarra es limiten a harmònics i arrosegaments.


Tabulatures personalitzades

La tabulatura al LilyPond calcula automàticament el trast per a cada nota, basant-se en la corda a la qual està assignada la nota. Per fer-lo, cal especificar l’afinació de les cordes. L’afinació de les cordes es dóna a la propietat stringTunings.

El LilyPond porta afinacions predefinides per al banjo, la mandolina, la guitarra, el baix, l’ukelele, el violí, la viola, el violoncel i el contrabaix. El LilyPond estableix automàticament la transposició correcxta per a les afinacions predefinides. L’exemple següent és per a banjo, que sona una octava per sota del que està escrit.

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

[image of music]

L’afinació per defecte és guitar-tuning (l’afinació estàndard Mi-La-Re-Sol-Si-Mi). D’altres afinacions predefinides són guitar-open-g-tuning (Sol Major a l’aire, Re-Sol-Re-Sol-Si-Re), mandolin-tuning (mandolina) i banjo-open-g-tuning (banjo amb Sol Major a l’aire). Les afinacions predefinides estan a ‘ly/string-tunings-init.ly’.

És possible crear qualsevol afinació de cordes que es desitgi. Es pot usar la funció \stringTuning per definir una afinació de cordes i que pot usar-se per establir-la com el valor de stringTunings per al context actual.

El seu argument és una construcció d’acord que defineix l’alçada de les notes de cada corda a l’aire a aquesta afinació. La construcció d’acord ha d’estar en el mode d’octava absolut, vegeu Escriptura d’octava absoluta. La corda amb el número més alt (generalment la més greu) ha d’anar primer a l’acord. Per exemple, podem definir una afinació per a un instrument de quatre cordes amb les alçades a'', d'', g' i c':

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

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set Staff.stringTunings = \stringTuning <c' g' d'' a''>
    \mynotes
  }
>>

[image of music]

La propietat stringTunings també s’utilitza per part de FretBoards per calcular els diagrames de posició automàtics.

Les afinacions de cordes s’utilitzen com a part de la clau d’associació per als diagrames de posició predefinits (vegeu Diagrames predefinits de trasts).

L’exemple anterior també es podria haver escrit com segueix:

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

[image of music]

Internament, una afinació de les cordes és una llista de l’Scheme d’alçades, una per a cada corda, ordenades d’1 a N, on la corda 1 està a dalt a la pauta de tabulatura i la corda N està a sota. Això resulta generalment en un ordre de la nota més aguda a la més greu, però alguns instruments (per exemple l’ukelele) no tenen les cordes disposades en ordre d’alçada.

L’alçada d’una corda dins d’una llista d’alçades de cordes d’un és un objecte alçada del LilyPond. Els objectes alçada es creen amb la funció de l’Scheme ly:make-pitch (vegeu Funcions de l'Scheme).

\stringTuning crea aquest objecte a partir de l’entrada d’acords.

El LilyPond calcula automàticament el nombre de línies dins del TabStaff i el nombre de cordes dins d’un FretBoard calculat automàticament amb el nombre d’elements de stringTunings.

Per permetre a tots els contextos TabStaff usar la mateixa afinació personalitzada per defecte, podem usar

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

També es pot usar una clau moderna de tabulatura.

\new TabStaff {
  \clef moderntab
  <a, e a>1
  \break
  \clef tab
  <a, e a>1
}

[image of music]

La clau moderna de tabulatura permet tabulatures de 4 a 7 cordes.

Una pauta de tabulatura TabStaff pot contenir intervals microtonals com quarts de to, que es poden reproduir mitjançant esdeveniments de la roda de canvi de to. Cal establir el valor supportNonIntegerFret = ##t dins del context Score. Tanmateix, no es permeten microtons als diagrames FretBoards.

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

[image of music]

Vegeu també

Referència de la notació: Escriptura d’octava absoluta, Diagrames predefinits de trasts.

Fitxers instal·lats: ‘ly/string-tunings-init.ly’, ‘scm/tablature.scm’.

Fragments de codi: Fretted strings.

Referència de funcionament intern: Funcions de l'Scheme, Tab_note_heads_engraver.

Advertiments i problemes coneguts

Els càlculs de tabulatura automàtics no funcionen bé a la major part dels casos per a instruments en els quals l’afinació de les cordes no varia de forma monòtona amb el número de corda, com ara l’ukelele.


Marcatges de diagrames de trasts

Es poden afegir diagrames de trasts a la música com elements de marcatge sobre la nota desitjada. El marcatge conté informació sobre el diagrama de trasts desitjat. Hi ha tres interfícies diferents de marcatge de diagrames de trasts: standard (estàndard), terse (concís) i verbose (detallat). Les tres interfícies produeixen marcatges equivalents, però tenen quantitats variables d’informació a la cadena de marcatge. Hi ha més detalls sobre la sintaxi de les diverses cadenes de marcatge que s’usen per definir diagrames de posicions a l’annex Instrument Specific Markup.

La cadena de marcatge dels diagrames estàndard de trasts indica el número de la corda i el número de trast en el qual es col·loca cadascú dels punts sobre la corda. A més es pot indicar cordes a l’aire i cordes mudes (que no es toquen).

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

[image of music]

Les indicacions de celleta es poden afegir al diagrama a partir de la cadena de marcatge del diagrama de trasts.

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

[image of music]

Es poden canviar la mida del diagrama de trasts i el nombre de trasts del diagrama a la cadena de marcatge fret-diagram.

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

[image of music]

Es pot canviar el nombre de cordes d’un diagrama de trasts perquè s’adapti a diferents instruments com el baix i l’ukelele, amb la cadena de marcatge del diagrama.

<<
  \new ChordNames {
    \chordmode {
      a1
    }
  }
  \new Staff {
    % Un acord «La» per a l'ukelele
    a'1^\markup {
      \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;"
    }
  }
>>

[image of music]

Es poden afegir indicacions de digitació, i la posició de les etiquetes dels dits es poden controlar mitjançant la cadena de marcatge del diagrama.

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

[image of music]

Es pot controlar el radi i la posició dels punts amb la cadena de marcatge fret-diagram.

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

[image of music]

La cadena de marcatge de diagrama de trasts concisa fret-diagram-terse omet els números de la corda; el número de corda ve implícit per la presència del punt i coma. Hi ha un punt i coma per cada corda del diagrama. El primer punt i coma correspon al número de corda més alt, i l’últim punt i coma correspon a la primera corda. Es poden indicar cordes mudes, a l’aire i números de trast.

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

[image of music]

Es poden incloure números de celleta a la cadena de marcatge concisa fret-diagram-terse.

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

[image of music]

Es poden incloure indicacions de digitació a la cadena de marcatge concisa fret-diagram-terse.

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

[image of music]

Per ajustar altres propietats dels diagrames de trasts s’ha d’utilitzar \override en utilitzar el marcatge concís amb fret-diagram-terse.

La cadena marcatge detallat fret-diagram-verbose està en el format d’una llista de l’Scheme. Cada element de la llista indica la col·locació d’un element sobre el diagrama de trasts.

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

[image of music]

Es poden incloure digitacions i celletes a una cadena de marcatge detallat fret-diagram-verbose. És exclusiva de la interfície de fret-diagram-verbose la indicació ‘capo’ que es pot col·locar sobre el diagrama de posició. La indicació de capo és una barra gruixuda que cobreix totes les cordes. El trast de que té el capo és el més baix del diagrama de posició.

Els punts que indiquen les digitacions es poden tant acolorir com imprimir entre parèntesis; a més a més, és possible alterar independentment el color dels parèntesis.

També es poden inserir elements de marcatge dins dels punts.

<<
    \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 g c' e' g'>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)
      )
    }
  }
>>

[image of music]

Totes les altres propietats de diagrama de trasts s’han d’ajustar utilitzant \override quan s’usa el marcatge detallat amb fret-diagram-verbose.

L’aspecte gràfic d’un diagrama de trasts es pot personalitzar segons les preferències de l’usuari a través de les propietats de la interfície fret-diagram-interface. Els detalls estan a fret-diagram-interface. Per a un marcatge de diagrama de trasts, les propietats de la interfície pertanyen a Voice.TextScript.

Fragments de codi seleccionats

Changing fret orientations

Fret diagrams can be oriented in three ways. By default the top string or fret in the different orientations will be aligned.

\include "predefined-guitar-fretboards.ly"

<<
  \chords {
    c1
    c1
    c1
  }
  \new FretBoards {
    \chordmode {
      c1
      \override FretBoard.fret-diagram-details.orientation =
        #'landscape
      c1
      \override FretBoard.fret-diagram-details.orientation =
        #'opposing-landscape
      c1
    }
  }
  \new Voice {
    c'1
    c'1
    c'
  }
>>

[image of music]

Customizing markup fret diagrams

Fret diagram properties can be set through 'fret-diagram-details. For markup fret diagrams, overrides can be applied to the Voice.TextScript object or directly to the markup.

<<
  \chords { c1 | c | c | d }

  \new Voice = "mel" {
    \textLengthOn
    % Set global properties of fret diagram
    \override TextScript.size = #'1.2
    \override TextScript.fret-diagram-details.finger-code = #'in-dot
    \override TextScript.fret-diagram-details.dot-color = #'white

    %% C major for guitar, no barre, using defaults
       % terse style
    c'1^\markup { \fret-diagram-terse "x;3-3;2-2;o;1-1;o;" }

    %% C major for guitar, barred on third fret
       % verbose style
       % size 1.0
       % roman fret label, finger labels below string, straight barre
    c'1^\markup {
      % standard size
      \override #'(size . 1.0) {
        \override #'(fret-diagram-details . (
                     (number-type . roman-lower)
                     (finger-code . in-dot)
                     (barre-type . straight))) {
          \fret-diagram-verbose #'((mute 6)
                                   (place-fret 5 3 1)
                                   (place-fret 4 5 2)
                                   (place-fret 3 5 3)
                                   (place-fret 2 5 4)
                                   (place-fret 1 3 1)
                                   (barre 5 1 3))
        }
      }
    }

    %% C major for guitar, barred on third fret
       % verbose style
       % landscape orientation, arabic numbers, M for mute string
       % no barre, fret label down or left, small mute label font
    c'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (number-type . arabic)
                   (label-dir . -1)
                   (mute-string . "M")
                   (orientation . landscape)
                   (barre-type . none)
                   (xo-font-magnification . 0.4)
                   (xo-padding . 0.3))) {
        \fret-diagram-verbose #'((mute 6)
                                 (place-fret 5 3 1)
                                 (place-fret 4 5 2)
                                 (place-fret 3 5 3)
                                 (place-fret 2 5 4)
                                 (place-fret 1 3 1)
                                 (barre 5 1 3))
      }
    }

    %% simple D chord
       % terse style
       % larger dots, centered dots, fewer frets
       % label below string
    d'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (dot-radius . 0.35)
                   (dot-position . 0.5)
                   (fret-count . 3))) {
        \fret-diagram-terse "x;x;o;2-1;3-2;2-3;"
      }
    }
  }
>>

[image of music]

Vegeu també

Referència de la notació: Instrument Specific Markup.

Fragments de codi: Fretted strings.

Referència de funcionament intern: fret-diagram-interface.


Diagrames predefinits de trasts

Es poden imprimir els diagrames de trasts usant el context FretBoards. De forma predeterminada, el context FretBoards grava diagrames de trasts que estan emmagatzemats a una taula de cerca:

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

[image of music]

Els diagrames de trast predefinits estan al fitxer ‘predefined-guitar-fretboards.ly’. Els diagrames de trasts s’emmagatzemen agafant com a base les notes d’un acord i el valor de stringTunings que s’està utilitzant en cada moment. ‘predefined-guitar-fretboards.ly’ conté diagrames de trast predefinits sols per a guitar-tuning. Els diagrames de trast predefinits es poden afegir per a d’altres instruments o d’altres afinacions seguint els exemples que apareixen a ‘predefined-guitar-fretboards.ly’.

Els diagrames de posicions per a l’ukelele estan al fitser
predefined-ukulele-fretboards.ly’.

\include "predefined-ukulele-fretboards.ly"

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

\new ChordNames {
  \myChords
}

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

[image of music]

Els diagrames de posicions per a la mandolina es poden trobar al fitxer
predefined-mandolin-fretboards.ly’.

\include "predefined-mandolin-fretboards.ly"

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

\new ChordNames {
  \myChords
}

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

[image of music]

Les notes dels acords es poden introduir com a música simultània o bé usant el mode d’acords (vegeu Panoràmica del mode d’acords).

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

[image of music]

És corrent que s’escriguin junts els noms d’acord i els diagrames de trast. Això es pot fer posant un context de noms d’acord ChordNames en paral·lel amb un context de trasts FretBoards i donant als dos contextos el mateix contingut musical.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

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

[image of music]

Els diagrames de trast predefinits es poden transportar, en la mesura que estigui emmagatzemant un diagrama per a l’acord transportat, a la taula de diagrames de trast.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

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

[image of music]

La taula de diagrames de trast predefinits per a la guitarra conté vuit acords (major, menor, augmentat, disminuït, sèptima dominant, sèptima major, menor sèptima i novena dominant) per a 17 tonalitats diferents. La taula de diagrames predefinits per a l’ukelele conté aquests acords i a més altres tres (sexta major, segona suspesa i quarta suspesa). Es pot veure una llista completa dels diagrames de trast predefinits a Diagrames predefinits de trasts. Si no hi ha una entrada a la taula per a un acord, el gravador FretBoards calcula una cadena de diagrama fret-diagram usant la funcionalitat de diagrames automàtics que es descriu Diagrames de trast automàtics.

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

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

[image of music]

Es poden afegir diagrames de posicions a la taula de diagrames de posicions. Per afegir un diagrama hem d’especificar la taula de correspondències per al diagrama, l’acord del diagrama, l’afinació utilitzada i una definició del diagrama. Normalment la taula de correspondències serà default-fret-table. La definició del diagrama pot ser una cadena de definició concisa fret-diagram-terse o una llista de marcatge detallada fret-diagram-verbose.

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

[image of music]

Es poden emmagatzemar diferents diagrames de trast per al mateix acord usant diferents octaves per a les notes. Les octaves de diferència han de ser al menys dues per sobre o per sota de l’octava predeterminada, atès que les octaves immediates superior i inferior de la predeterminada s’utilitzen per als trasters transpositors.

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

[image of music]

A més dels diagrames de trast, el LilyPond emmagatzema una llista interna de formes d’acords. Les formes d’acord són diagrames de trast que es poden desplaçar pel mànec per donar acords diferents. Es poden afegir formes d’acord a la llista interna i després usar-les per definir diagrames de posició predefinits. Atès que es poden moure, normalment no contenen cordes a l’aire. Com els diagrames de posicions, les formes d’acord es poden introduir com cadenes concises fret-diagram-terse o com llistes de marcatge detallades 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''
}

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

[image of music]

L’aspecte gràfic d’un diagrama de trast es pot personalitzar segons les preferències de l’usuari a través de les propietats de la interfície fret-diagram-interface. Els detalls estan a fret-diagram-interface. Per a un diagrama de trasts predefinit, les propietats d’interfície pertanyen a FretBoards.FretBoard.

Fragments de codi seleccionats

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

% shorthand
oo = #(define-music-function
       (grob-path value)
       (list? scheme?)
       #{ \once \override $grob-path = #value #})

<<
  \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
      \oo FretBoard.size #'1.0
      \oo FretBoard.fret-diagram-details.barre-type #'straight
      \oo FretBoard.fret-diagram-details.dot-color #'black
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      c'
      \oo FretBoard.fret-diagram-details.barre-type #'none
      \oo FretBoard.fret-diagram-details.number-type #'arabic
      \oo FretBoard.fret-diagram-details.orientation #'landscape
      \oo FretBoard.fret-diagram-details.mute-string #"M"
      \oo FretBoard.fret-diagram-details.label-dir #LEFT
      \oo FretBoard.fret-diagram-details.dot-color #'black
      c'
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      \oo FretBoard.fret-diagram-details.dot-radius #0.35
      \oo FretBoard.fret-diagram-details.dot-position #0.5
      \oo FretBoard.fret-diagram-details.fret-count #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>

[image of music]

Defining predefined fretboards for other instruments

Predefined fret diagrams can be added for new instruments in addition to the standards used for guitar. This file shows how this is done by defining a new string-tuning and a few predefined fretboards for the Venezuelan cuatro.

This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the TabStaff, but not the music.

These fretboards are not transposable because they contain string information. This is planned to be corrected in the future.

% add FretBoards for the Cuatro
%   Note: This section could be put into a separate file
%      predefined-cuatro-fretboards.ly
%      and \included into each of your compositions

cuatroTuning = #`(,(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 Staff.stringTunings = #cuatroTuning
%      \override FretBoard
%        #'(fret-diagram-details string-count) = 4
      \override FretBoard.fret-diagram-details.finger-code = #'in-dot
      \primeros
    }

    \new TabStaff \relative c'' {
      \set TabStaff.stringTunings = #cuatroTuning
      \primeros
    }

  >>

  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration =
        #(ly:make-moment 1 16)
    }
  }
  \midi { }
}

[image of music]

ChordChanges for FretBoards

FretBoards can be set to display only when the chord changes or at the beginning of a new line.

\include "predefined-guitar-fretboards.ly"

myChords = \chordmode {
  c1 c1 \break
  \set chordChanges = ##t
  c1 c1 \break
  c1 c1
}

<<
  \new ChordNames { \myChords }
  \new FretBoards { \myChords }
  \new Staff { \myChords }
>>

[image of music]

Fretboards alternate tables

Alternate fretboard tables can be created. These would be used in order to have alternate fretboards for a given chord.

In order to use an alternate fretboard table, the table must first be created. Fretboards are then added to the table.

The created fretboard table can be blank, or it can be copied from an existing table.

The table to be used in displaying predefined fretboards is selected by the property \predefinedDiagramTable.

\include "predefined-guitar-fretboards.ly"

% Make a blank new fretboard table
#(define custom-fretboard-table-one
   (make-fretboard-table))

% Make a new fretboard table as a copy of default-fret-table
#(define custom-fretboard-table-two
   (make-fretboard-table default-fret-table))

% Add a chord to custom-fretboard-table-one
\storePredefinedDiagram #custom-fretboard-table-one
                        \chordmode {c}
                        #guitar-tuning
                        "3-(;3;5;5;5;3-);"

% Add a chord to custom-fretboard-table-two
\storePredefinedDiagram #custom-fretboard-table-two
                        \chordmode {c}
                        #guitar-tuning
                        "x;3;5;5;5;o;"

<<
  \chords {
    c1 | d1 |
    c1 | d1 |
    c1 | d1 |
  }
  \new FretBoards {
    \chordmode {
      \set predefinedDiagramTable = #default-fret-table
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-one
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-two
      c1 | d1 |
    }
  }
  \new Staff {
    \clef "treble_8"
    <<
      \chordmode {
        c1 | d1 |
        c1 | d1 |
        c1 | d1 |
      }
      {
        s1_\markup "Default table" | s1 |
        s1_\markup \column {"New table" "from empty"} | s1 |
        s1_\markup \column {"New table" "from default"} | s1 |
      }
    >>
  }
>>

[image of music]

Vegeu també

Referència de la notació: Tabulatures personalitzades, Diagrames de trast automàtics, Panoràmica del mode d’acords, Diagrames predefinits de trasts.

Fitxers d’inici: ‘ly/predefined-guitar-fretboards.ly’,
ly/predefined-guitar-ninth-fretboards.ly’,
ly/predefined-ukulele-fretboards.ly’,
ly/predefined-mandolin-fretboards.ly’.

Fragments de codi: Fretted strings.

Referència de funcionament intern: fret-diagram-interface.


Diagrames de trast automàtics

Es poden crear diagrames de trast automàticament a partir de les notes introduïdes usant el context FretBoards. Si no està disponible cap diagrama predefinit per a les notes introduïdes en l’afinació stringTunings activa, aquest context calcula les cordes i els trasts que es poden usar per tocar les notes.

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

[image of music]

Atès que de forma predeterminada no es carrega cap diagrama predefinit, el comportament predeterminat és el càlcul automàtic dels diagrames de trast. Un cop que els diagrames predeterminats s’han carregat, es pot activar i desactivar el càlcul automàtic amb instruccions predefinides:

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

[image of music]

En alguns casos el calculador de trasts és incapaç de trobar un diagrama acceptable. Això es pot remeiar generalment mitjançant l’assignació manual d’una nota a una corda. En molts casos sols s’ha de col·locar manualment una nota sobre una corda; la resta de notes se situarà al lloc adequat per part del context FretBoards.

Es poden afegir digitacions als diagrames de trast del context FretBoard.

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

[image of music]

El trast mínim a usar en el càlcul de cordes i trasts per al context FretBoard es pot fixar amb la propietat minimumFret.

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

[image of music]

Les cordes i els trasts per al context FretBoards depenen de la propietat stringTunings, que tenen el mateix significat que en el context de tabulatura TabStaff. Consulteu Tabulatures personalitzades per veure més informació sobre la propietat stringTunings.

L’aspecte gràfic d’un diagrama de trasts es pot personalitzar d’acord a les preferències de l’usuari a través de les propietats de la interfície fret-diagram-interface. Els detalls es poden trobar a fret-diagram-interface. Per a un diagrama de FretBoards, les propietats de la interfície pertanyen a FretBoards.FretBoard.

Instruccions predefinides

\predefinedFretboardsOff, \predefinedFretboardsOn.

Vegeu també

Referència de la notació: Tabulatures personalitzades.

Fragments de codi: Fretted strings.

Referència de funcionament intern: fret-diagram-interface.

Advertiments i problemes coneguts

Els càlculs de tabulatura automàtics no funcionen bé per a instruments amb afinacions no monòtones.


Digitacions de la mà dreta

Les digitacions de la mà dreta p-i-m-a s’han d’introduir usant \rightHandFinger seguit d’un número.

Nota: Si el número s’introdueix en notació de l’Scheme, recordeu-vos d’escriure al final un espai seguit d’un angle de tancament > o semblant.

\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

[image of music]

Per brevetat, es pot escriure \rightHandFinger de forma més curta, com per exemple RH:

RH=#rightHandFinger

Fragments de codi seleccionats

Placement of right-hand fingerings

It is possible to exercise greater control over the placement of right-hand fingerings by setting a specific property, as demonstrated in the following example.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"

  \set strokeFingerOrientations = #'(up down)
  <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >4

  \set strokeFingerOrientations = #'(up right down)
  <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >4

  \set strokeFingerOrientations = #'(left)
  <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >2

  \set strokeFingerOrientations = #'(right)
  c\RH #1
}

[image of music]

Fingerings, string indications, and right-hand fingerings

This example combines left-hand fingering, string indications, and right-hand fingering.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"
  <c-3\5\RH #1 >4
  <e-2\4\RH #2 >4
  <g-0\3\RH #3 >4
  <c-1\2\RH #4 >4
}

[image of music]

Vegeu també

Fragments de codi: Fretted strings.

Referència de funcionament intern: StrokeFinger.


LilyPond — Referència de la notació v2.23.5 (branca de desenvolupament).