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

@ignore
    Translation of GIT committish: 25e813b12d6db7bc498916bddc4d637647c82b73

    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"

@node Fretted string instruments
@chapter Instrumentos de cuerda con trastes

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

Esta sección trata varios aspectos de la notación musical que son
exclusivos de los instrumentos de cuerda con trastes.

@cindex tablatura
@cindex guitarra, tablatura de
@cindex tablatura, de banjo
@cindex banjo, tablatura de


@node Common notation for fretted strings
@section Notación común para cuerdas con trastes

Esta sección se ocupa de la notación común exclusiva de los
instrumentos de cuerda con trastes.


@node References for fretted strings
@subsection Referencias para cuerdas con trastes

La notación musical para instrumentos de cuerda con trastes se
realiza normalmente en una sola pauta, ya sea en notación musical
tradicional o en tablatura.  A veces se combinan los dos tipos, y
es común en música popular utilizar diagramas de acordes por
encima de un pentagrama de notación tradicional.  La guitarra y el
banjo son instrumentos transpositores, que suenan una octava por
debajo de lo escrito.  Las partituras para estos instrumentos
deben usar la clave de Sol octava baja @code{"treble_8"} (o
@code{\transposition c} para obtener una salida MIDI correcta).
Otros elementos relativos a los instrumentos de cuerda con trastes
se estudian en otras partes de manual:

@itemize
@item
Las digitaciones se indican como se explica en @ref{Fingering instructions}.

@item
Las instrucciones para ligaduras @notation{Laissez vibrer} así
como ligaduras de unión sobre arpegios y trémolos están en
@ref{Ties}.

@item
Las instrucciones para el manejo de varias voces se encuentran en
@ref{Collision resolution}.

@item
Las instrucciones para la indicación de armónicos está en
@ref{Harmonics}.

@end itemize

@morerefs
Referencia de la notación:
@ref{Fingering instructions},
@ref{Ties},
@ref{Collision resolution},
@ref{Instrument names},
@ref{Writing music in parallel},
@ref{Arpeggio},
@ref{List of articulations},
@ref{Clef},
@ref{Instrument transpositions}.
@endmorerefs


@node String number indications
@subsection Indicación de los números de cuerda

@cindex cuerda, número de la
@cindex número de cuerda, frente a digitaciones
@cindex digitación, frente a números de cuerda

Se puede indicar la cuerda en que se debe tocar una nota añadiendo
@code{\}@tie{}@var{número} a una nota.

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

Cuando se usan indicaciones de cuerdas junto a digitaciones, se
puede controlar su ubicación vertical con la propiedad
@code{script-priority}, @pxref{Controlling the vertical ordering of scripts}
y @ref{Default values for script-priority}; el orden en el código
fuente no influye.

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
g4\3-0
g-0\3
g-\tweak script-priority 200 -0 \3
@end lilypond

@funindex \arabicStringNumbers
@funindex \romanStringNumbers

Los números de cuerda también pueden (así como en los instrumentos
sin trastes, donde es obligatorio) imprimirse en números romanos y
colocarse bajo el pentagrama, en lugar de encima de él.

@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


@snippets

@c XXX also included in `editorial.itely'
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/controlling-the-placement-of-chord-fingerings.ly}

@c XXX also included in `editorial.itely'
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly}


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

@morerefs
Referencia de la notación:
@ref{Fingering instructions}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals{StringNumber},
@rinternals{Fingering}.
@endmorerefs


@node Default tablatures
@subsection Tablaturas predeterminadas

@cindex tablatura, principios básicos
@cindex tablatura predeterminada

@funindex TabStaff
@funindex TabVoice

La notación para instrumentos de cuerda pulsada se realiza con
frecuencia utilizando un sistema de dedos y cifras, o tablatura.
A diferencia de la notación tradicional, las notas no se designan
mediante figuras, sino mediante números (o símbolos semejantes a
letras en la intavolatura histórica).  Las líneas de la tablatura
indican sobre qué cuerda se debe tocar la nota, y el número sobre
una línea indica el traste en que la cuerda correspondiente debe
pisarse.  Las notas que se deben tocar simultáneamente se alinean
en sentido vertical.

De forma predeterminada, la cuerda 1 es la más aguda y corresponde
a la línea superior de la pauta @code{TabStaff}.  La afinación
predeterminada de las cuerdas del @code{TabStaff} es la afinación
estándar de guitarra (con 6 cuerdas).  Las notas se imprimen como
tablatura, usando los contextos @code{TabStaff} y @code{TabVoice}.
Se añade automáticamente una clave caligráfica de tablatura.

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

Las tablaturas predeterminadas no contienen símbolos para la
duración de las notas ni ningún otro símbolo musical, como
p.ej. indicaciones expresivas.

@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

Si queremos que todos los símbolos musicales que se usan en la
notación tradicional aparezcan también en la tablatura, tenemos
que aplicar la instrucción @code{\tabFullNotation} dentro de un
contexto @code{TabStaff}.  Tenga en cuenta que, en la tablatura,
las blancas tienen doble plica para poder distinguirlas de las
negras.

@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 traste

@funindex minimumFret
@funindex restrainOpenStrings

De forma predeterminada, las notas se asignan a la posición más
baja del mástil (primera posición).  Las cuerdas al aire se toman
como preferencia, automáticamente.  Si queremos que una nota
determinada se toque sobre una cuerda concreta, podemos añadir una
indicación de número de cuerda al nombre de la nota.  Si no
queremos que las indicaciones de número de cuerda aparezcan en la
notación tradicional, podemos sobreescribir el sello
correspondiente.  Generalmente es mucho más cómodo definir la
posición utilizando el valor de @code{minimumFret}.  El valor
predeterminado de es 0.

Incluso si @code{minimumFret} está establecido, se usan las
cuerdas al aire siempre que sea posible.  Este comportamiento se
puede cambiar fijando @code{restrainOpenStrings} al valor
@code{#t}.

@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 acordes, repetición de
@cindex repetición con @code{q}
@cindex @code{q} (repetición de acordes)

Las construcciones de acorde se pueden repetir mediante el símbolo
de repetición de acordes @samp{q} (@pxref{Chord repetition}).  En
combinación con las tablaturas, su comportamiento de eliminar
números de cuerda y de dedos junto a otros eventos puede llevar a
resultados no deseados, sobre todo diferentes posiciones de los
trastes.  La instrucción @code{\tabChordRepeats} conserva
consistente la digitación de una repetición a otra.  En el
siguiente ejemplo, la digitación predeterminada para este acorde
(sin indicaciones de digitación) sería @q{sol sostenido} sobre la
cuarta cuerda, @q{si} sobre la tercera, y @q{do sostenido} sobre
la segunda.  Como usamos @code{b-0} en el código de entrada,
@q{si} está en la segunda cuerda, y el @q{do sostenido} se
traslada a la tercera cuerda.  @code{\tabChordRepeats} permite
mantener la misma digitación en los slguientes acordes de q:

@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

Las ligaduras de unión que cruzan saltos de línea llevan
paréntesis de forma predeterminada.  Lo mismo rige para la casilla
de segunda vez de una repetición.

@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 instrucción @code{\hideSplitTiedTabNotes} cancela el
comportamiento de imprimir los números de traste entre paréntesis:

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

@cindex armónicos en tablatura
@cindex tablatura y armónicos
@funindex \harmonic
@funindex \harmonicByFret
@funindex \harmonicByRatio

Se pueden añadir indicaciones de armónicos a la notación de
tablatura como sus alturas de sonido:

@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

Observe que la instrucción @code{\harmonic} se debe adjuntar
siempre a notas individuales (posiblemente dentro de un acorde) en
lugar de a acordes completos. Solo tiene sentido para armónicos
sobre una cuerda abierta en el duodécimo traste.  Cualquier otro
armónico debe estar calculado por parte de LilyPond.  Se puede
conseguir esto indicando el traste en que debe rozar la cuerda el
dedo de la mano que pisa.

@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

De forma alternativa, se pueden calcular los armónicos definiendo
la razón de las longitudes de cuerda por encima y por debajo de la
digitación de armónico.

@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 cuerda, curvatura, en tablatura
@cindex tablatura, curvatura de cuerda
@cindex curvatura, cuerda, en tablatura
@funindex \preBend
@funindex \bendHold
@funindex \preBendHold
@funindex \bendStartLevel

Se pueden añadir estiramientos de cuerda o curvaturas de tono a la
notación de tablatura.  Se escribe una curvatura añadiendo
@code{\^} después de la nota o acorde que recibe la curvatura;
termina automáticamente en la siguiente nota o acorde.  Están
disponibles los siguientes estilos: el predeterminado imprime una
curva con una punta de flecha hacia arriba o hacia abajo,
@code{'hold} una línea discontinua horizontal, @code{'pre-bend}
una línea vertical con punta de flecha, y @code{'pre-bend-hold}
una línea vertical con flecha que se continúa con una línea
discontinua.

Las instrucciones @code{\bendHold}, @code{\preBend} y
@code{\preBendHold} son atajos para la selección del estilo de las
curvaturas.

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

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

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

  <>^\markup \typewriter "'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
    }
  }
}
@end lilypond

Las cuerdas al aire normalmente no admiten la curvatura de tono.
Para que se puede hacer curvatura con una cuerda al aire, se fija
la propiedad @code{bend-me} al valor @code{#t}.  Para que otras
notas queden excluidas de la curvatura, se fija al valor
@code{#f}.

@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
    }
  }
}
@end lilypond

Para hacer varias curvaturas consecutivas, la primera puede
necesitar un ajuste en @code{details.successive-level}.  Por
conveniencia, existe la función @code{bendStartLevel}, que admite
un número entero.

@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
    }
  }
}
@end lilypond

Por omisión, el elemento de extensión de la curvatura
@code{BendSpanner} termina en la siguiente nota o acorde incluso
si está ligada a la nota o acorde inicial.  Se puede saltar una
sola columna @code{NoteColumn} usando @code{\skipNC}.  Se puede
saltar un grupo de columnas @code{NoteColumn} usando
@code{\skipNCs} al principio y @code{\endSkipNCs} al final.


@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
    }
  }
}
@end lilypond

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


@snippets

@cindex plica, en tablatura
@cindex tablatura, plicas y
@cindex barra, en tablatura
@cindex tablatura, barras y
@cindex barra horizontal
@cindex horizontal, barra
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/stem-and-beam-behavior-in-tablature.ly}

@cindex polifonía, en tablaturas
@cindex tablatura, y polifonía
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/polyphony-in-tablature.ly}

@cindex tablatura, armónicos y
@cindex armónico, en tablaturas
@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 deslizamiento en notación de tablatura
@cindex tablatura y deslizamientos

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

@cindex glissando, en acordes de tablatura
@cindex acorde, glissando en tablatura
@cindex tablatura, glisando en acorde de
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/chord-glissando-in-tablature.ly}

@cindex hammer on (deslizamiento de entrada)
@cindex pull off (deslizamiento de salida)
@cindex tablatura, hammer on (deslizamiento de entrada)
@cindex tablatura, pull off (deslizamiento de salida)
@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
Referencia de la notación:
@ref{Chord repetition},
@ref{Written-out repeats},
@ref{Stems},
@ref{Harmonics},
@ref{Glissando}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals{TabNoteHead},
@rinternals{TabStaff},
@rinternals{TabVoice},
@rinternals{Beam}.
@endmorerefs

@knownissues
Los acordes no se tratan de una forma especial, y de aquí que el
selector automático de la cuerda puede elegir fácilmente la misma
cuerda para dos notas del acorde.

Para manejar @code{\partCombine}, es necesario que @code{TabStaff}
utilice voces especialmente creadas:

@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

Los efectos especiales de guitarra se limitan a armónicos y
@emph{slides}.

@node Custom tablatures
@subsection Tablaturas personalizadas

@cindex tablatura, personalizada
@cindex tablatura, de banjo
@cindex tablatura, de mandolina
@cindex tablatura, de guitarra
@cindex tablatura, de bajo
@cindex tablatura, de ukelele
@cindex tablatura, de violín
@cindex tablatura, de viola
@cindex tablatura, de violoncello
@cindex tablatura, de bajo
@cindex tablatura, de contrabajo
@cindex tablatura, afinaciones predefinidas de
@cindex trastes, instrumentos con, afinaciones predefinidas

@funindex stringTunings

La tablatura en LilyPond calcula automáticamente el traste para
cada nota, basándose en la cuerda a que está asignada la nota.
Para hacerlo, es necesario especificar la afinación de las
cuerdas.  La afinación de las cuerdas se da en la propiedad
@code{stringTunings}.

LilyPond trae afinaciones predefinidas para el banjo, la
mandolina, la guitarra, el bajo, el ukelele, el violín, la viola,
el violoncello y el contrabajo.  LilyPond establece
automáticamente la transposición correcta para las afinaciones
predefinidas.  El ejemplo siguiente es para bajo, que suena una
octava por debajo de lo escrito.

@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

La afinación por omisión es @code{guitar-tuning} (la afinación
estándar Mi-La-Re-Sol-Si-Mi).  Otras afinaciones predefinidas son
@code{guitar-@/open-g-@/tuning} (Sol Mayor al aire,
Re-Sol-Re-Sol-Si-Re), @code{mandolin-@/tuning} (mandolina) y
@code{banjo-@/open-g-@/tuning} (banjo con Sol Mayor al aire).  Las
afinaciones predefinidas están en
@file{ly/string-@/tunings-@/init.ly}.

@funindex \stringTuning
@cindex tablatura, afinaciones personalizadas
@cindex personalizadas, afinaciones de cuerdas

Es posible crear cualquier afinación de cuerdas que se desee.  Se
puede usar la función @code{\stringTuning} para definir una
afinación de cuerdas y que puede usarse para establecerla como el
valor de @code{stringTunings} para el contexto actual.

Su argumento es una construcción de acorde que define la altura de
las notas de cada cuerda al aire en dicha afinación.  La
construcción de acorde debe estar en el modo de octava absoluto,
véase @ref{Absolute octave entry}.  La cuerda con el número
más alto (generalmente la más grave) debe ir primero en el acorde.
Por ejemplo, podemos definir una afinación para un instrumento de
cuatro cuerdas con las alturas @code{a''}, @code{d''}, @code{g'} y
@code{c'}:

@lilypond[quote,verbatim]

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
  }
>>
@end lilypond

La propiedad @code{stringTunings} también se utiliza por parte de
@code{FretBoards} para calcular los diagramas de posición
automáticos.

Las afinaciones de cuerdas se utilizan como parte de la clave de
asociación para los diagramas de posición predefinidos (véase
@ref{Predefined fret diagrams}).

El ejemplo anterior también se podría haber escrito
como sigue:

@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

Internamente, una afinación de las cuerdas es una lista de Scheme
de alturas, una por cada cuerda, ordenadas de 1 a N, donde la
cuerda 1 está arriba en la pauta de tablatura y la cuerda N está
abajo.  Esto resulta generalmente en un orden de la nota más aguda
a la más grave, pero algunos instrumentos (p.ej. el ukelele) no
tienen las cuerdas dispuestas en orden de altura.

La altura de una cuerda dentro de una lista de alturas de cuerdas
es un objeto altura de LilyPond.  Los objetos altura se crean con
la función de Scheme @code{ly:make-pitch} (véase
@rinternalsnamed{Scheme functions, Funciones de Scheme}).

@code{\stringTuning} crea dicho objeto a partir de la entrada de
acordes.

LilyPond calcula automáticamente el número de líneas dentro del
@code{TabStaff} y el número de cuerdas dentro de un
@code{FretBoard} calculado automáticamente como el número de
elementos de @code{stringTunings}.

Para permitir a todos los contextos @code{TabStaff} usar la misma afinación personalizada por omisión, podemos usar

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


@cindex moderntab, clave
@cindex clave moderntab
@cindex clave de tablatura
@cindex tablatura, clave de

También se puede usar una clave moderna de tablatura.

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

La clave moderna de tablatura contempla tablaturas de 4 a 7
cuerdas.

@cindex microtonos, tablatura
@cindex cuartos de tono, tablatura
@cindex tablatura de microtonos
@cindex tablatura de cuartos de tono

Ua pauta de tablatura @code{TabStaff} puede contener intervalos
microtonales como cuartos de tono, que se pueden reproducir
mediante eventos de la rueda de cambio de tono.  Es necesario
fijar el valor @code{supportNonIntegerFret = ##t} dentro del contexto @code{Score}.  Sin embargo, los microtonos no están contemplados en los diagramas @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
Referencia de la notación:
@ref{Absolute octave entry},
@ref{Predefined fret diagrams}.

Archivos instalados:
@file{ly/string-tunings-init.ly},
@file{scm/tablature.scm}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals{Tab_note_heads_engraver},
@rinternalsnamed{Scheme functions, Funciones de Scheme}.
@endmorerefs

@knownissues
Los cálculos de tablatura automáticos no funcionan bien en la
mayoría de los casos para instrumentos en que la afinación de las
cuerdas no varía de forma monótona con el número de cuerda, como
el ukelele.


@node Fret diagram markups
@subsection Marcas de diagramas de trastes

@cindex trastes, diagramas de
@cindex acordes, diagramas de
@cindex diagrama de trastes
@cindex diagrama de acordes para instrumentos de trastes
@cindex traste, diagramas de, personalizados
@cindex personalizado, diagrama de trastes

Se pueden añadir diagramas de trastes a la música como elementos
de marcado sobre la nota deseada.  El marcado contiene información
sobre el diagrama de trastes deseado.  Existen tres interfaces
distintos de marcado de diagramas de trastes: standard (estándar),
terse (escueto) y verbose (prolijo).  Los tres interfaces producen
marcados equivalentes, pero tienen cantidades variables de
información en la cadena de marcado.  Hay más detalles sobre la
sintaxis de las distintos cadenas de marcado que se usan para
definir diagramas de posiciones en @ref{Instrument-specific
markup}.

La cadena de marcado de los diagramas estándar de trastes indica
el número de la cuerda y el número de traste en que se coloca cada
uno de los puntos sobre la cuerda.  Además se pueden indicar
cuerdas al aire y cuerdas mudas (que no se tocan).

@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 cejilla, indicación de

Las indicaciones de cejilla se pueden añadir al diagrama a partir
de la cadena de marcado del diagrama de trastes.

@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, marcado con
@cindex ukelele

@funindex \fret-diagram

El tamaño del diagrama de trastes y el número de trastes del
diagrama, se puede cambiar en la cadena de marcado
@code{fret-diagram}.

@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

Se puede cambiar el número de cuerdas de un diagrama de trastes
para que se adapte a distintos instrumentos como el bajo y el
ukelele, con la cadena de marcado del diagrama.

@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

Se pueden añadir indicaciones de digitación, y la posición de las
etiquetas de los dedos se puede controlar mediante la cadena de
marcado del diagrama.

@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

Se puede controlar el radio y la posición de los puntos con la
cadena de marcado @code{fret-diagram}.

@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 zurdo, diagrama de trastes
@cindex trastes, diagrama, zurdo

Se pueden imprimir diagramas de trastes de acordes invertidos para
personas zurdas.

@lilypond[verbatim,quote]
\markup
  \center-column {
    "C"
    "(left-handed)"
     \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}, marcado con

@funindex \fret-diagram-terse

La cadena de marcado de diagrama de trastes escueta,
@code{\fret-diagram-terse}, omite los números de la cuerda; el
número de cuerda viene implícito por la presencia del punto y
coma.  Hay un punto y coma por cada cuerda del diagrama.  El
primer punto y coma corresponde al número de cuerda más alto, y el
último punto y coma corresponde a la primera cuerda.  Se pueden
indicad cuerdas mudas, al aire y números de traste.

@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

Se pueden incluir números de cejilla en la cadena de marcado
escueta @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

Se pueden incluir indicaciones de digitación en la cadena de
marcado escueta @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

Otras propiedades de los diagramas de trastes se deben ajustar
usando @code{\override} al utilizar el marcado escueto con
@code{\fret-diagram-terse}.

Solo se puede incluir una indicación por cada cuerda en un marcado del tipo
@code{\fret-diagram-terse}.  Para tener más de una indicación por cuerda, utilice un
marcado de diagrama normal o del tipo prolijo.

@cindex @code{\fret-diagram-verbose}, marcado con
@cindex capo
@cindex cejilla

@funindex \fret-diagram-verbose

La cadena de marcado prolija @code{\fret-diagram-verbose} está en el formato de una lista de Scheme.  Cada elemento de la lista
indica la colocación un elemento sobre el diagrama de trastes.

@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

Se pueden incluir digitaciones y cejillas en una cadena de marcado prolija @code{\fret-diagram-verbose}.  Es exclusiva del interfaz de @code{\fret-diagram-verbose} la indicación @q{capo} que se puede colocar sobre el diagrama de posición.  La indicación de capo es una barra
gruesa que cubre todas las cuerdas.  El traste que tiene el capo
es el más bajo del diagrama de posición.

Los puntos que indican las digitaciones se pueden tanto colorear
como imprimir entre paréntesis; asimismo, es posible alterar
independientemente el color de los paréntesis.

También se pueden insertar elementos de marcado dentro de los
puntos.

@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 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)
      )
  }
>>
@end lilypond

Todas las otras propiedades de diagrama de trastes se deben
ajustar utilizando @code{\override} cuando se usa el marcado
prolijo con @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 personalizados, diagramas de trastes
@cindex trastes, diagramas personalizados de
@cindex diagrama de trastes personalizado

@funindex fret-diagram-interface

El aspecto gráfico de un diagrama de trastes se puede personalizar
según las preferencias del usuario a través de las propiedades del
interface @code{fret-diagram-interface}.  Los detalles están en
@rinternals{fret-diagram-interface};  consulte @rlsrsnippet{Fretted
string instruments, Fret diagrams explained and developed} para ver
un ejemplo exhaustivo.  Para un marcado de diagrama
de trastes, las propiedades del interface pertenecen a
@code{Voice.TextScript}.

@snippets

@cindex trastes, diagrama de, cambiar la orientación
@cindex orientación, modificación de, diagrama de trastes
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/changing-fret-orientations.ly}

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

@morerefs
Referencia de la notación:
@ref{Instrument-specific markup}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals{fret-diagram-interface}.
@endmorerefs


@node Predefined fret diagrams
@subsection Diagramas predefinidos de trastes

@cindex diagrama de posiciones
@cindex diagrama de posiciones, de ukelele
@cindex diagrama de posiciones, de mandolina
@cindex diagrama de acordes

@funindex FretBoards
@funindex stringTunings

Se pueden imprimir los diagramas de trastes usando el contexto
@code{FretBoards}.  De forma predeterminada, el contexto
@code{FretBoards} imprime diagramas de trastes que están
almacenados en una tabla de búsqueda:

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

Los diagramas de traste predefinidos están en el archivo
@file{predefined-@/guitar-@/fretboards.ly}.  Los diagramas de trastes
se almacenan tomando como base las notas de un acorde y el valor
de @code{stringTunings} que se está utilizando en cada momento.
@file{predefined-@/guitar-@/fretboards.ly} contiene diagramas de
traste predefinidos solo para @code{guitar-@/tuning}.  Los diagramas
de traste predefinidos se pueden añadir para otros instrumentos u
otras afinaciones siguiendo los ejemplos que aparecen en
@file{predefined-@/guitar-@/fretboards.ly}.

Los diagramas de posiciones para el ukelele están en el archivo @*
@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

Los diagramas de posiciones para la mandolina
están contenidos en el archivo @*
@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

Las notas de los acordes se pueden introducir como música
simultánea o bien usando el modo de acordes (véase
@ref{Chord mode overview}).

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

@cindex acorde, diagramas de trastes con nombres de
@cindex trastes, diagrama de, con nombres de acorde

@funindex ChordNames
@funindex \chordmode

Es corriente que se impriman juntos los nombres de acorde y los
diagramas de traste.  Esto se puede hacer poniendo un contexto de
nombres de acorde @code{ChordNames} en paralelo con un contexto de
trastes @code{FretBoards} y dando a los dos contextos el mismo
contenido musical.

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

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

@cindex transporte de diagramas de trastes
@cindex trastes, diagrama de, transporte
@cindex diagrama de traste, transporte de

Los diagramas de traste predefinidos se pueden transportar, en la
medida en que esté almacenado un diagrama para el acorde
transportado, en la tabla de diagramas de traste.

@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 tabla de diagramas de traste predefinidos para la guitarra
contiene ocho acordes (mayor, menor, aumentado, disminuido,
séptima dominante, séptima mayor, menor séptima y novena
domniante) para 17@tie{}tonalidades distintas.  La tabla de diagramas
predefinidos para el ukelele contiene estos acordes y además otros
tres (sexta mayor, segunda suspendida y cuarta suspendida).  
@xref{Predefined fretboard diagrams} para ver una lista completa de los diagramas de traste
predefinidos.  Si no
hay una entrada en la tabla para un acorde, el grabador @code{FretBoards} calcula un cadena de diagrama fret-diagram usando la funcionalidad de diagramas automáticos, @pxref{Automatic fret diagrams}.

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

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

@cindex trastes personalizados, añadir diagramas de
@cindex personalizado, añadir diagramas de traste
@cindex diagrama de trastes personalizados, añadir

Se pueden añadir diagramas de posiciones a la tabla de diagramas
de posiciones.  Para añadir un diagrama debemos especificar la
tabla de correspondencias para el diagrama, el acorde del
diagrama, la afinación utilizada y una definición del diagrama.
Normalmente la tabla de correspondencias será
@var{default-fret-table}.  La definición del diagrama puede ser
una cadena de definición escueta @code{\fret-diagram-terse} o una lista de
marcados prolija @code{\fret-diagram-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

Se pueden almacenar distintos diagramas de traste para el mismo
acorde usando distintas octavas para las notas.  Las octavas de
diferencia deben ser al menos dos por encima o por debajo de la
octava predeterminada, porque las octavas inmediatas superior e
inferior de la predeterminada se utilizan para los trasteros
transpositores.

@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 trastes, instrumentos de, formas de acordes
@cindex acorde, formas de, en instrumentos de trastes

@funindex \addChordShape
@funindex \storePredefinedDiagram

Además de los diagramas de traste, LilyPond almacena una lista
interna de formas de acorde.  Las formas de acorde son diagramas
de traste que se pueden desplazar por el mástil para dar acordes
distintos.  Se pueden añadir formas de acorde a la lista interna y
luego usarlas para definir diagramas de posición predefinidos.
Dado que se pueden mover a distintas posiciones dentro del mástil,
las formas de acorde normalmente no contienen cuerdas al aire.
Como los diagramas de posiciones, las formas de acorde se pueden
introducir como cadenas escuetas @code{\fret-diagram-terse} o como listas
de marcado prolijas @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

El aspecto gráfico de un diagrama de traste se puede personalizar
según las preferencias del usuario a través de las propiedades del
interface @code{fret-diagram-interface}; consulte @rlsrsnippet{Fretted
string instruments, Fret diagrams explained and developed} para ver un
ejemplo exhaustivo.  Para un diagrama de trastes
predefinido, las propiedades de interface pertenecen a
@code{FretBoards.FretBoard}.

@snippets

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

@cindex traste, definir predeterminado
@cindex definición, traste predefinido
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/setting-up-predefined-fretboards-for-other-instruments.ly}

@cindex acorde, suprimir repetido
@cindex repetido, acorde, suprimir
@cindex supresión, acorde repetido
@funindex chordChanges
@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
{snippets/chord-changes-for-fretboards.ly}

@cindex trastes, tabla alternativa
@cindex alternativa, tabla de trastes
@funindex predefinedDiagramTable
@funindex \storePredefinedDiagram
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fretboards-alternate-tables.ly}

@morerefs
Referencia de la notación:
@ref{Custom tablatures},
@ref{Automatic fret diagrams},
@ref{Chord mode overview},
@ref{Predefined fret diagrams}.

Archivos de inicio:
@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}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals {fret-diagram-interface}.
@endmorerefs


@node Automatic fret diagrams
@subsection Diagramas de traste automáticos

@cindex trastes, diagrama automático de
@cindex acorde, diagrama automático de
@cindex automático, diagrama de traste
@cindex automático, diagrama de acordes

Se pueden crear diagramas de traste automáticamente a partir de
las notas introducidas usando el contexto @code{FretBoards}.  Si
no está disponible ningún diagrama predefinido para las notas
introducidas en la afinación @code{stringTunings} activa, este
contexto calcula las cuerdas y los trastes que se pueden usar para
tocar las notas.

@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

Puesto que de forma predeterminada no se carga ningún diagrama
predefinido, el comportamiento predeterminado es el cálculo
automático de los diagramas de traste.  Una vez que los diagramas
predeterminados se han cargado, se puede habilitar e inhabilitar
el cálculo automático con instrucciones predefinidas:

@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



A veces el calculador de trastes es incapaz de encontrar un
diagrama aceptable.  Esto se puede remediar generalmente mediante
la asignación manual de una nota a una cuerda.  En muchos casos
solo hay que colocar manualmente una nota sobre una cuerda; el
resto de las notas se situará en el lugar adecuado por parte del
contexto @code{FretBoards}.

@cindex trastes, añadir digitaciones a diagramas de
@cindex digitación, añadir, a diagramas de trastes

Se pueden añadir digitaciones a los diagramas de traste del
contexto @code{FretBoard}.

@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

El traste mínimo que usar en el cálculo de cuerdas y trastes para
el contexto @code{FretBoard} se puede fijar con la propiedad
@code{minimumFret}.

@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

Las cuerdas y los trastes para el contexto @code{FretBoards}
dependen de la propiedad @code{stringTunings}, que tiene el mismo significado que en el contexto de tablatura @code{TabStaff} context.  @xref{Custom tablatures} para ver más información sobre la propiedad @code{stringTunings}.

El aspecto gráfico de un diagrama de trastes se puede personalizar
de acuerdo a las preferencias del usuario a través de las
propiedades del interface @code{fret-diagram-interface}.  Los
detalles están en @rinternals{fret-diagram-interface};  consulte
@rlsrsnippet{Fretted string instruments, Fret diagrams explained
and developed} para ver un ejemplo exhaustivo.  Para un
diagrama de @code{FretBoards}, las propiedades del interface
pertenecen a @code{FretBoards.FretBoard}.


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

@morerefs
Referencia de la notación:
@ref{Custom tablatures}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals {fret-diagram-interface}.
@endmorerefs

@knownissues
Los cálculos de tablatura automáticos no funcionan bien para
instrumentos con afinaciones no monótonas.


@node Right-hand fingerings
@subsection Digitaciones de la mano derecha

@cindex trastes, instrumentos de, digitaciones de la mano derecha
@cindex digitación, de la mano derecha para instrumentos de trastes
@cindex derecha, mano, digitaciones para instrumentos de traste

@funindex \rightHandFinger

Las digitaciones de la mano derecha @var{p-i-m-a} se deben introducir
usando @code{\rightHandFinger} seguido de un número.

@warning{Si el número se introduce en notación de Scheme, recuerde
escribir al final un espacio seguido de un ángulo de cierre
@code{>} o similar.}

@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

Por brevedad, se puede escribir @code{\rightHandFinger} como algo
más corto, como por ejemplo @code{RH}:

@example
RH = \rightHandFinger \etc
@end example

Casi todos los comprtamientos de las digitaciones de la mano
derecha (concretamente el objeto @code{StrokeFinger}) se pueden
establecer de la misma forma que las digitaciones ordinarias:
véase @ref{Fingering instructions}.

@snippets

@cindex posicionamiento, digitación, mano derecha
@cindex derecha, mano, digitación, posicionamiento
@cindex digitación, posicionamiento, mano derecha
@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
Referencia de la notación:
@ref{Fingering instructions}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de funcionamiento interno:
@rinternals{StrokeFinger}.
@endmorerefs


@node Guitar
@section Guitarra

Casi todos los asuntos de notación relacionados con la música para
guitarra están suficientemente cubiertos en la sección general
sobre ajustes de instrumentos de trastes, pero hay algunos más de
los que merece la pena hablar aquí.  De forma ocasional, los
usuarios quieren crear documentos del tipo de cancioneros que
tengan solo la letra de las canciones con indicaciones de acordes
sobre ella.  Dado que LilyPond es un tipografiador de música, no
se recomienda para documentos que no tienen notación musical.  Una
alternativa mejor es un procesador de texto, editor de texto o,
para usuarios con experiencia, un tipografiador como GuitarTeX.


@node Indicating position and barring
@subsection Indicar la posición y la cejilla

@cindex posición y cejilla, indicación para instrumentos de trastes
@cindex trastes, instrumentos de, indicación de la posición y cejilla
@cindex barré, ĺinea
@cindex línea, barré

Este ejemplo muestra cómo incluir indicaciones de posición y
cejilla de guitarra usando una línea de barré.

@lilypond[quote,ragged-right,verbatim,fragment]
\relative {
  \clef "treble_8"
  b,16 d g b e
  \once \override TextSpanner.bound-details.left.text =
    \markup {"XII" \hspace #0.4 }
  \once \override TextSpanner.bound-details.right.text =
    \markup \draw-line #'(0 . -.5)
  \once \override TextSpanner.bound-details.right.padding = -0.65
  \once \override TextSpanner.dash-fraction = 0.4
  \once \override TextSpanner.dash-period = 1.3
  g16\startTextSpan
  b16 e g e b g\stopTextSpan
  e16 b g d
}
@end lilypond

A more sophisticated solution can be found in @url{https://lsr.di.unimi.it/LSR/Item?id=952,LSR snippet 952}.

@morerefs
Referencia de la notación:
@ref{Text spanners}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes},
@rlsrnamed{Expressive marks,Marcas de expresión}.
@endmorerefs


@node Indicating harmonics and dampened notes
@subsection Indicar armónicos y notas tapadas

@cindex trastes, notas tapadas en instrumento de
@cindex trastes, armónicos en instrumento de
@cindex tapada, nota, en instrumento de trastes
@cindex armónico,  en instrumento de trastes

Se pueden usar cabezas de nota especiales para indicar notas
apagadas o armónicos.  Los armónicos se suelen explicar de forma
más completa con un marcado de texto.

@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

Las notas tapadas (llamadas también @notation{notas muertas})
están contempladas dentro de los pentagramas normales y de
tablatura.  En el ejemplo siguiente, estas notas se muestran con
alturas en la pauta normal, indicando los trastes donde están
tapadas.  Una notación alternativa sería usar cuerdas vacías.  Sin
embargo, en la notación de tablatura, no hay ninguna diferencia.

@lilypond[quote,ragged-right,verbatim]
music = \relative c' {
  \omit StringNumber

  <a \deadNote cis a'>4
    <b\3 \deadNote dis b'>
    <c\3 \deadNote e\2 c'>
    \deadNotesOn
    \tuplet 3/2 { g8 b e }
    \deadNotesOff
  <a, c e>1
}

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

Otra téctnica de ejecución (utilizada especialmente en la guitarra
eléctrica) se llama @notation{tapado de palma}.  La cuerda es
parcialmente tapada por la palma de la mano que pulsa (de ahí el
nombre).  LilyPond contempla la notación de las notas de estilo de
tapado de palma mediante el cambio de la forma de la cabeza de
nota a un triángulo.

@lilypond[quote,ragged-right,verbatim]
\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
Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.

Referencia de la notación:
@ref{Special note heads},
@ref{Note head styles}.
@endmorerefs


@node Indicating power chords
@subsection Indicación de acordes de potencia o de quinta vacía

@cindex potencia, acorde de
@cindex acorde, de potencia
@cindex acorde, de quinta vacía
@cindex quinta vacía, acorde de
@cindex vacía, acorde de quinta

Los acordes de quinta vacía o acordes de potencia (@emph{power
chords}) y sus símbolos se pueden tipografiar en el modo de
acordes o como construcciones de acorde normales.  Como excepción,
se especifica la quinta en estos nombres de acorde, meintras que
habitualmente se omite en otros acordes (p. ej. en las tríadas
mayores o menores).

@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
Glosario musical:
@rglos{power chord}.

Referencia de la notación:
@ref{Extended and altered chords},
@ref{Printing chord names}.

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.
@endmorerefs


@need 1500
@node Banjo
@section Banjo


@node Banjo tablatures
@subsection Tablaturas de banjo

@cindex banjo, tablatura de
@cindex tablatura, de banjo

LilyPond contempla el banjo de cinco cuerdas de una manera básica.
Cuando haga tablaturas para banjo de cinco cuerdas, utilice la
función de formato de tablatura de banjo para obtener los números
correctos de los trastes para la quinta cuerda:

@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, afinación del
@cindex afinación, del banjo

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

Se encuentran predefinidas varias afinaciones comunes para
el banjo de cinco cuerdas:
@code{banjo-@/open-g-@/tuning} @w{(sol-Re-Sol-Si-Re)}, @code{banjo-@/c-tuning} @w{(sol-Do-Sol-Si-Re)},
@code{banjo-@/modal-@/tuning} @w{(sol-Re-Sol-Do-Re)},
@code{banjo-@/open-d-@/tuning} @w{(Re mayor al aire, la-Re-Fa#-La-Re)},
@code{banjo-@/open-dm-@/tuning} @w{(Re menor al aire, la-Re-Fa-La-Re)},
@code{banjo-@/double-c-@/tuning} @w{(doble Do, sol-Do-Sol-Do-Re)} y
@code{banjo-@/double-d-@/tuning} @w{(doble Re, la-Re-Sol-Re-Mi)}.

Estas afinaciones se pueden convertir a afinaciones para banjo de
cuatro cuerdas utilizando la función @code{four-string-banjo}:

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

@morerefs
Archivos de inicio:
@file{ly/string-tunings-init.ly}

Fragmentos de código:
@rlsrnamed{Fretted string instruments,Instrumentos de cuerda con trastes}.
@endmorerefs


@need 1500
@node Lute
@section Laúd


@node Lute tablatures
@subsection Tablaturas de laúd

@cindex laúd, tablaturas de
@cindex tablatura, laúd

LilyPond contempla las tablaturas para laúd.

Para obtener las cuerdas graves adicionales, utilice
@code{additionalBassStrings}, donde se determinan las notas
correspondientes a dichas cuerdas.  Se imprimen por debajo de la
línea inferior como: a, /a, //a, ///a, 4, 5, etc.

Se debe usar el valor @code{fret-letter-tablature-format} para la
propiedad de contexto @code{tablatureFormat} y probablemente
también ajustar la propiedad @code{fretLabels} para una mayor
personalización.

@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 laúd, afinación del
@cindex afinación del laúd

@knownissues
No se contempla el uso de @code{FretBoards} con
@code{additionalBassStrings}; de utilizarse, puede dar lugar a un
resultado poco satisfactorio.
