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