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.


Referència de la notació del GNU LilyPond v2.25.21 (branca de desenvolupament).