Vordefinierte Bund-Diagramme
Bunddiagramme können mit dem FretBoards
-Kontext angezeigt
werden. Standardmäßig zeigt der FretBoards
-Kontext
Bunddiagramme an, die in einer Tabelle definiert sind:
\include "predefined-guitar-fretboards.ly" \context FretBoards { \chordmode { c1 d } }
Die vordefinierten Diagramme sind in der Datei
predefined-guitar-fretboards.ly enthalten. Sie werden
basierend auf der Tonhöhe eines Akkordes und dem Wert von
stringTunings
(Saitenstimmung), der gerade benutzt wird,
gespeichert. predefined-guitar-fretboards.ly beinhaltet
vordefinierte Diagramme für die Gitarrenstimmung (guitar-tuning
).
Anhand der Beispiele in dieser Datei können auch für andere
Instrumente oder Stimmungen Diagramme definiert werden.
Bunddiagramme für die Ukulele finden sich in der Datei
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 }
Bunddiagramme für Mandoline sind in der Datei predefined-mandolin-fretboards.ly enhalten:
\include "predefined-mandolin-fretboards.ly" myChords = \chordmode { c1 c:m7.5- c:aug } \new ChordNames { \myChords } \new FretBoards { \set Staff.stringTunings = #mandolin-tuning \myChords }
Tonhöhen von Akkorden können entweder als Akkordkonstrukte oder im Akkordmodus notiert werden (siehe auch Überblick über den Akkord-Modus).
\include "predefined-guitar-fretboards.ly" \context FretBoards { \chordmode { c1 } <c' e' g'>1 }
Oft wird sowohl eine Akkordbezeichnung als ein Bunddiagramm
notiert. Das kann erreicht werden, indem ein
ChordNames
-Kontext parallel mit einem FretBoards
-Kontext
gesetzt wird und beiden Kontexten die gleichen Noten zugewiesen
werden.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 f g } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Vordefinierte Bunddiagramme können transponiert werden, solange ein Diagramm für den transponierten Akkord in der Bunddiagramm-Tabelle vorhanden ist.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 f g } mychordlist = { \mychords \transpose c e { \mychords } } << \context ChordNames { \mychordlist } \context FretBoards { \mychordlist } >>
Die Tabelle der vordefinierten Bunddiagramme für Gitarre enthält
acht Akkorde (Dur, Moll, übermäßig, vermindert, Dominantseptakkord,
große Septime, kleine Septime und Dominantnonenakkord) für alle 17
Tonarten. Die Tabelle der vordefinierten Bunddiagramme für
Ukulele enthält neben diesen Akkorden noch zusätzlich drei
weitere (große Sext, Sekundakkord und Quartakkort). Eine
vollständige Liste der vordefinierten Bunddiagramme findet sich
in Die vordefinierten Bund-Diagramme. Wenn in der Tabelle für
einen Akkord kein Wert steht, wird ein Bunddiagramm vom
FretBoards
-Engraver errechnet, wobei die automatische
Bunddiagrammfunktion zu Anwendung kommt. Siehe hierzu
Automatische Bund-Diagramme.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 c:maj9 } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Bunddiagramme können zu der Tabelle hinzugefügt werden. Um ein
Diagramm hinzuzufügen, muss der Akkord des Diagramms, die Stimmung
und die Diagramm-Definition angegeben werden. Dies geschieht normalerweise
in der Tabelle default-fret-table. Die Diagramm-Definition
kann entweder eine fret-diagram-terse
-Definition oder eine
fret-diagram-verbose
-Liste sein.
\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 } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Unterschiedliche Bunddiagramme für den selben Akkord können gespeichert werden, indem unterschiedliche Oktaven für die Tonhöhe benutzt werden. Die unterschiedliche Oktave sollte mindestens zwei Oktaven über oder unter der Standardoktave liegen, die für transponierende Bunddiagramme eingesetzt wird.
\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'' } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Zusätzlich zu Bunddiagrammen speichert LilyPond auch eine interne
Liste an Akkordformen. Die Akkordformen sind Bunddiagramme,
die am Hals entlang verschoben werden können und dabei unterschiedliche
Akkorde ergeben. Akkordformen können zu der internen Liste
hinzugefügt werden und dann benutzt werden, um vordefinierte
Bunddiagramme zu definieren. Weil sie auf verschiedenen Positionen
auf dem Steg gelegt werden können, beinhalten vordefinierte
Akkord üblicherweise keine leeren Saiten. Wie Bunddiagramme können auch
Akkordformen entweder als fret-diagram-terse
-Definition
oder als fret-diagram-verbose
-Liste erstellt werden.
\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'' } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Die graphische Form eines Bunddiagramms kann entsprechend den
eigenen Wünschen verändert werden, indem man die Eigenschaften
der fret-diagram-interface
-Schnittstelle verändert.
Einzelheiten hierzu in fret-diagram-interface. Die
Schnittstelleneigenschaften eines vordefinierten Bunddiagrammes
gehören dem FretBoards.FretBoard
-Kontext an.
Ausgewählte Schnipsel
Bunddiagramme anpassen
Eigenschaften von Bunddiagrammen können in
'fret-diagram-details
verändert werden. Einstellungen mit
dem \override
-Befehl werden dem FretBoards.FretBoard
-Objekt
zugewiesen. Genauso wie Voice
ist auch FretBoards
ein
Kontext der niedrigsten Ebene, weshalb der Kontext auch in dem Befehl
weggelassen werden kann.
\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' } >>
Eigene vordefinierte Bunddiagramme für andere Instrumente erstellen
Vordefinierte Bunddiagramme können für neue Instrumente hinzugefügt werden neben denen, die schon für die Gitarre definiert sind. Dieses Schnipsel zeigt, wie man eine neue Saitenstimmung definiert und dann eigene vordefinierte Bunddiagramme bestimmt. Das Beispiel ist für das venezualische Cuatro.
Dieses Schnipsel zeigt auch, wie Fingersatz in die Akkorde eingebunden werden kann, um als Referenzpunkt für die Akkordauswahl benutzt werden kann. Dieser Fingersatz wird im Bunddiagramm und in der Tabulatur, aber nicht in den Noten angezeigt.
Diese Bunddiagramme sind nicht transponierbar, weil sie Saiteninformationen enthalten. Das soll in der Zukunft verbessert werden.
% 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 { } }
Akkordänderungen für Bunddiagramme
Bunddiagramme können definiert werden, sodass sie nur angezeigt werden, wenn der Akkord sich ändert oder eine neue Zeile anfängt.
\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 } >>
Alternative Bunddiagrammtabellen
Alternative Bunddiagrammtabellen können erstellt werden. Sie können benutzt werden, um alternative Bunddiagramme für einen bestimmten Akkord zu haben.
Damit eine alternative Bunddiagrammentabelle benutzt werden kann, muss die Tabelle zuerst erstellt werden. Dann werden die Bunddiagramme zur Tabelle hinzugefügt.
Die erstellte Bunddiagrammtabelle kann auch leer sein, oder sie kann aus einer existierenden Tabelle kopiert werden.
Die Tabelle, die eingesetzt wird, um vordefinierte Bunddiagramme anzuzeigen,
wird mit der Eigenschaft \predefinedDiagramTable
ausgewählt.
\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 | } >> } >>
Siehe auch
Notationsreferenz: Angepasste Tabulaturen, Automatische Bund-Diagramme, Überblick über den Akkord-Modus, Die vordefinierten Bund-Diagramme.
Installierte Dateien:
ly/predefined-guitar-fretboards.ly,
ly/predefined-guitar-ninth-fretboards.ly,
ly/predefined-ukulele-fretboards.ly,
ly/predefined-mandolin-fretboards.ly.
Schnipsel: Fretted strings.
Referenz der Interna: fret-diagram-interface.