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 } }
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 }
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 }
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 }
É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 } >>
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 } >>
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 } >>
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 } >>
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 } >>
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 } >>
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
Personalitzar els diagrames de posicions
Es poden establir les propietats dels diagrames de posicions
d’acords per mitjà de 'fret-diagram-details
. Per als
diagrames de posicions de FretBoard, s’apliquen els
overrides (sobreescriptures) a l’objecte
FretBoards.FretBoard
. Com Voice
, FretBoards
és un context del nivell inferior, i per tant es pot ometre el seu
nom a la sobreescriptura de propietats.
\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' } >>
Definició de posicions predefinides per a d’altres instruments
Es poden afegir diagrames de posicions predefinides per a instruments nous a més dels estàndard que s’usen per a la guitarra. Aquest fitxer mostra com es fa, definint una afinació nova i unes quantes posicions per al cuatro veneçolà.
Aquest fitxer també mostra com es poden incloure les digitacions
als acords que s’usen com punts de referència per a la cerca
d’acords a la taula, i mostrar-se al diagrama de posiciones i la
tabulatura TabStaff
, però no a la música.
Aquestes posicions no es poden transportar perquè contenen informació de les cordes. Hi ha plans per corregir això en un futur.
% 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 = \musicLength 16 } } \midi { } }
Canvis d’acord de posicions de trastos
Es pot fer que els diagrames de posicions es mostren sols quan l’acord canvia o al començament d’una nova línia.
\include "predefined-guitar-fretboards.ly" \paper { tagline = ##f } myChords = \chordmode { c1 c1 \break \set chordChanges = ##t c1 c1 \break c1 c1 } << \new ChordNames { \myChords } \new FretBoards { \myChords } \new Staff { \myChords } >>
Taules alternatives de diagrames de posicions
Es poden crear taules alternatives de diagrames de posicions. S’utilitzarien per tenir diagrames alternatius per un acord donat.
Per usar una taula alternativa de diagrames de posicions, s’ha de crear primer la taula. Després s’afegeixen els diagrames a la taula.
La taula de diagrames de posicions que es crea pot estar buida o es pot copiar a partir d’una taula existent.
La taula a usar en la impressió dels diagrames predefinits se
selecciona per mitjà de la propietat \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 | } >> } >>
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.