LilyPond Benutzerhandbuch: 2.4.1 Übliche Notation für Saiteninstrumente mit Bünden

### 2.4.1 Übliche Notation für Saiteninstrumente mit Bünden

Dieser Abschnitt zeigt Besonderheiten der Notation, die allen Bundinstrumenten eigen ist.

#### Referenz für Saiteninstrumente mit Bünden

Noten für Bundinstrumente wird normalerweise auf einem einzelnen System notiert, entweder als traditionelles Notensystem oder in Tabulaturform. Manchmal werden beide Arten miteinander verbunden, und besonders in populärer Musik ist es üblich, über dem traditionellen System Griffsymbole zu setzen. Gitarre und Banjo sind transponierende Instrumente, die eine Oktave tiefer klingen als sie notiert werden. Partituren für diese Instrumente sollten den „Tenorschlüssel“ (`"treble_8"` bzw. `\transposition c`) benutzen, um korrekte MIDI-Dateien zu erhalten. Einige Spezifika für Instrumente mit Bünden sind an anderer Stelle erklärt:

- Fingersatz kann notiert werden, siehe Fingersatzanweisungen.
- Anweisungen für Laissez vibrer-Bögen und Bögen zwischen Arpeggios und Tremolos sind beschrieben in Bindebögen.
- Hinweise, wie mehrere Stimmen gesetzt werden können, finden sich in Auflösung von Zusammenstößen.
- Instructions for indicating harmonics can be found in Flageolett.

#### Siehe auch

Notationsreferenz: Fingersatzanweisungen, Bindebögen, Auflösung von Zusammenstößen, Instrumentenbezeichnungen, Musik parallel notieren, Arpeggio, Liste der Artikulationszeichen, Notenschlüssel Transposition von Instrumenten.

#### Seitennummerbezeichnung

Die Nummer der Saite, auf der gespielt werden soll, kann angezeigt werden, indem `\Zahl` an eine Note gehängt wird:

>     \clef "treble_8"
>     c4\5 e\4 g2\3
>     <c\5 e\4 g\3>1

Wenn Fingersatz und Saitennummer zusammen benutzt werden, wird ihre Position anhand der Reihenfolge, mit der sie im Code auftauchen, nur entschieden, wenn sie in einem expliziten Akkord auftreten: Fingersatz, der außen an einen Akkord oder an einzelne Noten außerhalb eines Akkords gehängt wird, wird nach anderen Regeln positioniert.

>     \clef "treble_8"
>     g4\3-0
>     g-0\3
>     <g\3-0>
>     <g-0\3>

#### Ausgewählte Schnipsel

Position von Fingersatz in Akkorden kontrollieren

Die Position von Fingersatzzahlen kann exakt kontrolliert werden.

>     \relative c' {
>       \set fingeringOrientations = #'(left)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(down)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(down right up)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(up)
>       <c-1 e-3 a-5>4
>       \set fingeringOrientations = #'(left)
>       <c-1>2
>       \set fingeringOrientations = #'(down)
>       <e-3>2
>       \set stringNumberOrientations = #'(up left down)
>       <f\3 a\2 c\1>1
>       \set strokeFingerOrientations = #'(down right up)
>       <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 >
>     }

Fingersatz auch innerhalb des Systems setzen

Normalerweise werden vertikal orientierte Fingersatzzahlen außerhalb des Systems gesetzt. Das kann aber verändert werden.

>     \relative c' {
>       <c-1 e-2 g-3 b-5>2
>       \override Fingering.staff-padding = #'()
>       <c-1 e-2 g-3 b-5>4 g'-0
>       a8[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = ##f
>       a[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = ##t
>       a[-1 b]-2 g-0 r
>       \override Fingering.add-stem-support = #only-if-beamed
>       a[-1 b]-2 g-0 r
>     }

#### Siehe auch

Notationsreferenz: Fingersatzanweisungen.

Schnipsel: Fretted strings.

Referenz der Interna: StringNumber, Fingering.

#### Standardtabulaturen

Musik für gezupfte Saiteninstrumente wird oft notiert, indem man eine Finger/Berührungsnotation bzw. Tabulatur benutzt. Im Gegensatz zur traditionellen Notation werden hier Tonhöhen nicht mit Notenköpfen notiert, sondern mit Zahlen (oder buchstabenartigen Symbolen in historischen Tabulaturen). Die Notenlinien einer Tabulatur zeigen die Saite an, auf der eine Note gespielt werden soll, und eine Zahl auf einer Notenlinie zeigt an, welcher Bund für eine Note gespielt werden muss. Die Zahlen werden vertikal übereinander geschrieben, wenn sie gleichzeitig gespielt werden sollen.

Standardmäßig ist Saite 1 die höchste Saite und entspricht der höchsten Notenlinie des `TabStaff` (der Tabulatur). Die voreingestellte Saitenstimmung der Tabulatur ist die normale Gitarrenstimmung (mit 6 Saiten). Die Noten werden als Tabulatur ausgegeben, wenn man den `TabStaff`-Kontext und darin den `TabVoice`-Kontext benutzt. Ein kalligraphischer Tabulaturschlüssel wird automatisch hinzugefügt.

>     \new TabStaff \relative {
>       a,8 a' <c e> a
>       d,8 a' <d f> a
>     }

Standard-Tabulaturen haben weder Symbole, die Notendauern anzeigen, noch andere musikalische Symbole wie etwa Ausdrucksbezeichnungen.

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

Wenn alle musikalischen Symbole, die in der traditionellen Notation eingesetzt werden, auch in der Tabulatur gedruckt werden sollen, muss man den Befehl `\tabFullNotation` in einem `TabStaff`-Kontext hinzufügen. Dabei ist zu beachten, dass halbe Noten in einer Tabulatur mit zwei Hälsen dargestellt werden, um sie von Viertelnoten zu unterscheiden.

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

Normalerweise werden Tonhöhen der tiefstmöglichen Spielposition auf dem Bundbrett zugewiesen (erste Lage). Offene Saiten werden automatisch bevorzugt. Wenn man eine bestimmte Tonhöhe auf einer bestimmten Saite gespielt haben will, kann man eine Saitennummeranweisung zur Tonhöhe hinzufügen. Wenn man die Saitenzahlanweisung nicht in der traditionellen Notation sehen will, kann man den entsprechenden Stencil mit `\override` verändern. Es ist jedoch sehr viel bequemer, die Spielposition unter Benutzung von `minimumFret` zu definieren. Der Standardwert von `minimumFret` beträgt 0.

Auch wenn `minimumFret` gesetzt ist, werden offene Saiten immer benützt, wenn es möglich ist. Dieses Verhalten kann verändert werden, indem `restrainOpenStrings` auf `#t` gesetzt wird.

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

Akkord-Konstruktionen können mit dem Akkord-Wiederholungssymbol `q` wiederholt werden. In Verbindung mit Tabulaturen verhält sich diese Wiederholung jedoch seltsam, weil sie Saiten- und Fingerzahlen entfernt. Darum sollte man

>     \chordRepeats #'(string-number-event fingering-event)

explizit für musikalische Ausdrücke in Tabulaturen aufrufen, wenn Akkordwiederholungen gewünscht sind. Der Befehl ist so wichtig, dass er durch `\tabChordRepeats` zur Verfügung gestellt wird.

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

Bindestriche über einen Zeilenumbruch werden standardmäßig in Klammern gesetzt. Das gilt auch für die zweite Klammer einer Wiederholung.

>     ties = \relative {
>       \repeat volta 2 {
>         e'2. f4~
>         2 g2~
>       }
>       \alternative {
>          { g4 f2. }
>          { g4\repeatTie c,2. }
>       }
>       b1~
>       \break
>       b1
>       \bar "|."
>     }

>     \score {
>       <<
>         \new StaffGroup  <<
>           \context Staff {
>             \clef "treble_8"
>             \ties
>           }
>           \context TabStaff {
>             \ties
>           }
>         >>
>       >>
>       \layout {
>       indent = #0
>       ragged-right = ##t
>       }
>     }

Der Befehl `\hideSplitTiedTabNotes` hebt das Verhalten auf, dass Bundnummern in Klammern gesetzt werden:

>     ties = \relative {
>       \repeat volta 2 {
>         e'2. f4~
>         2 g2~ }
>       \alternative {
>         { g4 f2. }
>         { g4\repeatTie c,2. }
>       }
>       b1~
>       \break
>       b1
>       \bar "|."
>     }

>     \score {
>       <<
>         \new StaffGroup  <<
>           \context Staff {
>             \clef "treble_8"
>             \ties
>           }
>           \context TabStaff {
>           \hideSplitTiedTabNotes
>             \ties
>           }
>         >>
>       >>
>       \layout {
>       indent = #0
>       ragged-right = ##t
>       }
>     }

Flageolett (engl. harmonic) kann zur Tabulaturnotation als klingende Tonhöhe hinzugefügt werden:

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

Dabei ist zu beachten, dass der Befehl `\harmonic` immer an einzelne Noten angehängt werden muss (die sich auch innerhalb eines Akkordes befinden können). Flageolett ist nur sinnvoll für offene Saiten im 12. Bund. Alle anderen Flageolett-Töne sollten von LilyPond errechnet werden. Das wird erreicht, indem man den Bund angibt, wo der Finger der Greifhand die Saite berühren soll.

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

Alternativ können Flageolett-Töne auch errechnet werden, indem man das Verhältnis der Saitenlängen über und unter dem Flageolett-Finger definiert:

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

#### Ausgewählte Schnipsel

Hals- und Balkenverhalten in einer Tabulatur

Die Richtung von Hälsen wird in Tabulaturen genauso wie in normaler Notation eingestellt. Balken können horizontal eingestellt werden, wie das Beispiel zeigt.

>     \new TabStaff {
>       \relative c {
>         \tabFullNotation
>         g16 b d g b d g b
>         \stemDown
>         \override Beam.concaveness = #10000
>         g,,16 b d g b d g b
>       }
>     }

Polyphonie in einer Tabulatur

Polyphonie kann in einer Tabulatur (`TabStaff`) genauso wie in einem normalen Notensystem erstellt werden.

>     upper = \relative c' {
>       \time 12/8
>       \key e \minor
>       \voiceOne
>       r4. r8 e, fis g16 b g e e' b c b a g fis e
>     }

>     lower = \relative c {
>       \key e \minor
>       \voiceTwo
>       r16 e d c b a g4 fis8 e fis g a b c
>     }

>     \score {
>       <<
>         \new StaffGroup = "tab with traditional" <<
>           \new Staff = "guitar traditional" <<
>             \clef "treble_8"
>             \new Voice = "upper" \upper
>             \new Voice = "lower" \lower
>           >>
>           \new TabStaff = "guitar tab" <<
>             \new TabVoice = "upper" \upper
>             \new TabVoice = "lower" \lower
>           >>
>         >>
>       >>
>     }

Referenz für Flageolett von offenen Saiten

Referenz für Flageolett von offenen Saiten:

>     openStringHarmonics = {
>       \textSpannerDown
>       \override TextSpanner.staff-padding = #3
>       \override TextSpanner.dash-fraction = #0.3
>       \override TextSpanner.dash-period = #1

>       %first harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "1st harm. "
>       \harmonicByFret #12 e,2\6\startTextSpan
>       \harmonicByRatio #1/2 e,\6\stopTextSpan

>       %second harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "2nd harm. "
>       \harmonicByFret #7 e,\6\startTextSpan
>       \harmonicByRatio #1/3 e,\6
>       \harmonicByFret #19 e,\6
>       \harmonicByRatio #2/3 e,\6\stopTextSpan
>       %\harmonicByFret #19 < e,\6 a,\5 d\4 >
>       %\harmonicByRatio #2/3 < e,\6 a,\5 d\4 >

>       %third harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "3rd harm. "
>       \harmonicByFret #5 e,\6\startTextSpan
>       \harmonicByRatio #1/4 e,\6
>       \harmonicByFret #24 e,\6
>       \harmonicByRatio #3/4 e,\6\stopTextSpan
>       \break

>       %fourth harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "4th harm. "
>       \harmonicByFret #4 e,\6\startTextSpan
>       \harmonicByRatio #1/5 e,\6
>       \harmonicByFret #9 e,\6
>       \harmonicByRatio #2/5 e,\6
>       \harmonicByFret #16 e,\6
>       \harmonicByRatio #3/5 e,\6\stopTextSpan

>       %fifth harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "5th harm. "
>       \harmonicByFret #3 e,\6\startTextSpan
>       \harmonicByRatio #1/6 e,\6\stopTextSpan
>       \break

>       %sixth harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "6th harm. "
>       \harmonicByFret #2.7 e,\6\startTextSpan
>       \harmonicByRatio #1/7 e,\6\stopTextSpan

>       %seventh harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "7th harm. "
>       \harmonicByFret #2.3 e,\6\startTextSpan
>       \harmonicByRatio #1/8 e,\6\stopTextSpan

>       %eighth harmonic
>       \override TextSpanner.bound-details.left.text =
>         \markup\small "8th harm. "
>       \harmonicByFret #2 e,\6\startTextSpan
>       \harmonicByRatio #1/9 e,\6\stopTextSpan
>     }

>     \score {
>       <<
>         \new Staff
>         \with { \omit StringNumber } {
>           \new Voice {
>             \clef "treble_8"
>             \openStringHarmonics
>           }
>         }
>         \new TabStaff {
>           \new TabVoice {
>             \openStringHarmonics
>           }
>         }
>       >>
>     }

Flageolett von Bundinstrumenten in einer Tabulatur

Flageolett für Bundinstrumente:

>     pinchedHarmonics = {
>        \textSpannerDown
>        \override TextSpanner.bound-details.left.text =
>           \markup {\halign #-0.5 \teeny "PH" }
>           \override TextSpanner.style =
>              #'dashed-line
>        \override TextSpanner.dash-period = #0.6
>        \override TextSpanner.bound-details.right.attach-dir = #1
>        \override TextSpanner.bound-details.right.text =
>           \markup { \draw-line #'(0 . 1) }
>        \override TextSpanner.bound-details.right.padding = #-0.5
>     }

>     harmonics = {
>       %artificial harmonics (AH)
>       \textLengthOn
>       <\parenthesize b b'\harmonic>4_\markup { \teeny "AH 16" }
>       <\parenthesize g g'\harmonic>4_\markup { \teeny "AH 17" }
>       <\parenthesize d' d''\harmonic>2_\markup { \teeny "AH 19" }
>       %pinched harmonics (PH)
>       \pinchedHarmonics
>       <a'\harmonic>2\startTextSpan
>       <d''\harmonic>4
>       <e'\harmonic>4\stopTextSpan
>       %tapped harmonics (TH)
>       <\parenthesize g\4 g'\harmonic>4_\markup { \teeny "TH 17" }
>       <\parenthesize a\4 a'\harmonic>4_\markup { \teeny "TH 19" }
>       <\parenthesize c'\3 c''\harmonic>2_\markup { \teeny "TH 17" }
>       %touch harmonics (TCH)
>       a4( <e''\harmonic>2. )_\markup { \teeny "TCH" }
>     }

>     frettedStrings = {
>       %artificial harmonics (AH)
>       \harmonicByFret #4 g4\3
>       \harmonicByFret #5 d4\4
>       \harmonicByFret #7 g2\3
>       %pinched harmonics (PH)
>       \harmonicByFret #7 d2\4
>       \harmonicByFret #5 d4\4
>       \harmonicByFret #7 a4\5
>       %tapped harmonics (TH)
>       \harmonicByFret #5 d4\4
>       \harmonicByFret #7 d4\4
>       \harmonicByFret #5 g2\3
>       %touch harmonics (TCH)
>       a4 \harmonicByFret #9 g2.\3
>     }

>     \score {
>       <<
>         \new Staff
>         \with { \omit StringNumber } {
>           \new Voice {
>             \clef "treble_8"
>             \harmonics
>           }
>         }
>         \new TabStaff {
>           \new TabVoice {
>             \frettedStrings
>           }
>         }
>       >>
>     }

Gleiten (Glissando) in Tabulatur

Gleiten kann sowohl in normalem Notensystem als auch in Tabulaturen notiert werden:

>     slides = {
>       c'8\3(\glissando d'8\3)
>       c'8\3\glissando d'8\3
>       \hideNotes
>       \grace { g16\glissando }
>       \unHideNotes
>       c'4\3
>       \afterGrace d'4\3\glissando {
>       \stemDown \hideNotes
>       g16 }
>       \unHideNotes
>     }

>     \score {
>       <<
>         \new Staff { \clef "treble_8" \slides }
>         \new TabStaff { \slides }
>       >>
>       \layout {
>         \context {
>           \Score
>           \override Glissando.minimum-length = #4
>           \override Glissando.springs-and-rods =
>                               #ly:spanner::set-spacing-rods
>           \override Glissando.thickness = #2
>           \omit StringNumber
>           % or:
>           %\override StringNumber.stencil = ##f
>         }
>       }
>     }

Akkordglissando in Tabulaturen

Gleiten von Akkorden kann sowohl im normalen Notensystem als auch in einer Tabulatur notiert werden. Saitennummern werden für Tabulaturen benötigt, weil die automatische Saitenberechnung unterschiedlich für Akkorde und einzelne Noten funktioniert.

>     myMusic = \relative c' {
>       <c e g>1 \glissando <f a c>
>     }

>     \score {
>       <<
>         \new Staff {
>           \clef "treble_8"
>           \myMusic
>         }
>         \new TabStaff \myMusic
>       >>
>     }

>     \score {
>       <<
>         \new Staff {
>           \clef "treble_8"
>           \myMusic
>         }
>         \new TabStaff \with { \override Glissando.style = #'none } {
>           \myMusic
>         }
>       >>
>     }

#### Siehe auch

Notationsreferenz: Hälse, Akkord-Wiederholungen, Ausgeschriebene Wiederholungen Flageolett, Glissando.

Schnipsel: Fretted strings.

Referenz der Interna: TabNoteHead, TabStaff, TabVoice, Beam.

#### Bekannte Probleme und Warnungen

Akkorde werden nicht gesondert behandelt, sodass die Saitenauswahlfunktion eventuell die selbe Saite für zwei Töne eines Akkordes auswählen kann.

Damit die Kombination von Stimmen (`\partCombine`) richtig funktioniert, müssen speziell erstellte Stimmen innerhalb des Tabulatursystems (`TabStaff`) benutzt werden:

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

Spezialeffekte für Gitarre beschränken sich auf Flageolett und Slide.

#### Angepasste Tabulaturen

LilyPond errechnet automatisch den Bund für eine Note auf Grundlage der Saite, zu welcher der Ton zugeordnet ist. Um das tun zu können, muss die Stimmung der Saiten angegeben werden. Die Stimmung wird in der `StringTunings`-Eigenschaften bestimmt.

LilyPond hat vordefinierte Stimmungen für Banjo, Mandoline, Gitarre, Bassgitarre, Ukulele, Geige, Bratsche, Cello und Kontrabass. Für diese Stimmungen wird automatisch die richtige Transposition eingesetzt. Das nächste Beispiel ist für Bassgitarre, welche eine Oktave niedriger erklingt, als sie geschrieben ist:

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

Die Standardstimmung ist die Gitarrenstimmung (`guitar-tuning`) in der EADGHE-Stimmung. Andere vordefinierte Stimmung sind: `guitar-open-g-tuning`, `mandolin-tuning` und `banjo-open-g-tuning`. Die vordefinierten Stimmungen finden sich in ‘`ly/string-tunings-init.ly`’.

Jede beliebige Stimmung kann erstellt werden. Die Funktion `\stringTuning` kann benutzt werden, um eine Saitenstimmung zu definieren und als den Wert von `stringTunings` für den aktuellen Kontext zu bestimmen.

Als Argument braucht die Funktion eine Akkordkonstruktion, die die Tonhöhen jeder Saite der Stimmung angibt. Die Akkordkonstruktion muss im absoluten Oktavenmodus angegeben werden, siehe Absolute Oktavenbezeichnung. Die Saite mit der höchsten Zahl (normalerweise die tiefste Seite) muss im Akkord zuerst geschrieben werden. Eine Stimmung für ein viersaitiges Instrument mit den Tonhöhen `a''`, `d''`, `g'` und `c'` kann folgenderweise erstellt werden:

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

Die `stringTunings`-Eigenschaft wird auch von `FretBoards` benutzt, um automatische Bunddiagramme zu errechnen.

Saitensitmmungen werden als Teil des Hash-Schlüsselwertes für vordefinierte Bunddiagramme eingesetzt (siehe auch Vordefinierte Bund-Diagramme.

Das vorherige Beispiel könnte auch folgenderweise geschrieben werden:

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

Intern ist die Stimmung eine Scheme-Liste von Tonhöhen der Saiten, eine für jede Saite, geordnet von Saitennummer 1 bis n, wobei 1 die höchste Saite der Tabulatur ist und n die unterste. Normalerweise wird so die Stimmung vom höchsten bis zum tiefsten Ton angegeben, aber bei einige Instrumente (etwa Ukulele) werden die Saiten nicht aufgrund der Tonhöhe angeordnet.

Die Tonhöhe einer Saite in einer Seitenstimmungsliste ist ein Tonhöhenobjekt für LilyPond. Tonhöhenobjekte werden mit der Scheme-Funktion +`ly:make-pitch` erstellt (siehe Scheme-Funktionen).

`\stringTuning` erstellt derartige Objekte aus der Akkord-Eingabe.

LilyPond errechnet automatisch die Linienanzahl für die Tabulatur und die Zahl der Saiten in dem automatisch erstellten `FretBoard` (Bunddiagramm) aus der Anzahl der Elemente von `stringTunings`.

Um für alle `TabStaff`-Kontexte die selbe Standardstimmung zu benutzen, kann man benutzen:

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

Auch ein moderner Tabulatur-Schlüssel kann verwendet werden:

>     \new TabStaff {
>       \clef moderntab
>       <a, e a>1
>       \break
>       \clef tab
>       <a, e a>1
>     }

Der moderne Tabulatur-Schlüssel unterstützt Tabulaturen von 4 bis 7 Saiten.

#### Siehe auch

Notationsreferenz: Absolute Oktavenbezeichnung, Vordefinierte Bund-Diagramme, Scheme-Funktionen.

Installierte Dateien: ‘`ly/string-tunings-init.ly`’ ‘`scm/tablature.scm`’.

Schnipsel: Fretted strings.

Referenz der Interna: Tab_note_heads_engraver.

#### Bekannte Probleme und Warnungen

Automatische Tabulatur-Berechnung funktioniert in den meisten Fällen nicht korrekt bei Instrumenten, deren Saitenstimmung nicht monotonisch fortschreitet, wie etwa Ukulele.

#### Bund-Diagramm-Beschriftung

Bunddiagramme können zu Notation als Textbeschriftung hinzugefügt werden. Die Beschriftung enthält Information zu dem gewünschten Bunddiagramm. Es gibt drei unterschiedliche Darstellungsarten: normal, knapp und ausführlich. Die drei Arten erzeugen die gleiche Ausgabe, aber mit jeweils mehr oder weniger Einzelheiten. Einzelheiten zur Syntax der unterschiedlichen Beschriftungsbefehle, mit denen die Bunddiagramme definiert werden, findet sich in Instrument Specific Markup.

Die Standard-Bunddiagrammbeschriftung beinhaltet die Saitennummer und die Bundnummer für jeden Punkt, der notiert werden soll. Zusätzlich können offenen und nicht gespielte (schwingende) Saiten angezeigt werden.

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context 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;"
>         }
>       }
>     >>

Barré kann hinzugefügt werden:

>     <<
>       \context ChordNames {
>          \chordmode {
>            f1 g
>          }
>       }
>       \context 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;"
>         }
>       }
>     >>

Die Größe des Bunddiagrammes und die Anzahl der Bünde im Diagramm kann geändert werden:

>     <<
>       \context ChordNames {
>          \chordmode {
>            f1 g
>          }
>       }
>       \context 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;"
>         }
>       }
>     >>

Die Anzahl der Saiten in einem Bunddiagramm kann geändert werden, um sie für andere Instrumente anzupassen, wie etwas Banjo oder Ukulele.

>     <<
>       \context ChordNames {
>         \chordmode {
>           a1
>         }
>       }
>       \context Staff {
>         % An 'A' chord for ukulele
>         a'1^\markup {
>           \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;"
>         }
>       }
>     >>

Fingersatz kann auch angezeigt werden, und die Position der Fingersatzzahlen kann kontrolliert werden.

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context 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;"
>         }
>       }
>     >>

Die Größe und Position der Punkte kann geändert werden:

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context 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;"
>         }
>       }
>     >>

Die Beschriftungsfunktion `fret-diagram-terse` (knappe Version) lässt die Saitennummern aus: das Vorhandensein einer Saite wird durch ein Semikolon ausgedrückt. Für jede Saite des Diagramms muss ein Semikolon gesetzt werden. Das erste Semikolon entspricht der höchsten Saite, das letze der ersten Saite. Stumme und offene Saiten sowie Bundnummern können angezeigt werden.

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context 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;"
>         }
>       }
>     >>

Barré kann im knappen Modus auch angezeigt werden:

>     <<
>       \context ChordNames {
>         \chordmode {
>           f1 g
>         }
>       }
>       \context 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-);"
>         }
>       }
>     >>

Fingersatz kann im knappen Modus hinzugefügt werden:

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context 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;"
>         }
>       }
>     >>

Andere Eigenschaften der Bunddiagramme müssen im knappen Modus mit `\override`-Befehlen angegeben werden.

Die Beschriftungsfunktion `fret-diagram-verbose` (ausführlicher Stil) ist in der Form eine Scheme-Liste. Jedes Element stellt ein Element dar, dass im Bunddiagramm gesetzt werden soll.

>     <<
>         \context ChordNames {
>           \chordmode {
>             c1 d:m
>           }
>         }
>       \context 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)
>           )
>         }
>       }
>     >>

Fingersatz und Barré kann im ausführlichen Modus notiert werden. Nur im ausführlichen Modus kann ein Capo angezeigt werden, das auf dem Bunddiagramm plaziert wird. Die Capo-Anzeige ist ein dicker Strich, der alle Saiten bedeckt. Der Bund mit dem Capo ist der unterste Bund im Diagramm.

>     <<
>         \context ChordNames {
>           \chordmode {
>             f1 g c
>           }
>         }
>       \context 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 e g c' e'>1^\markup {
>           \fret-diagram-verbose #'(
>             (capo 3)
>             (mute 6)
>             (place-fret 4 5 1)
>             (place-fret 3 5 2)
>             (place-fret 2 5 3)
>           )
>         }
>       }
>     >>

Alle anderen Bunddiagramm-Eigenschaften müssen im ausführlichen Modus mit mit `\override`-Befehlen angegeben werden.

Die graphische Erscheinung eines Bunddiagramms kann den Wünschen des Notensetzers angepasst werden. Hierzu werden die Eigenschaften des `fret-diagram-interface` (Bunddiagramm-Schnittstelle) eingesetzt. Einzelheiten hierzu in fret-diagram-interface. Die Eigenschaften der Schnittstelle gehören dem `Voice.TextScript`-Kontext an.

#### Ausgewählte Schnipsel

Changing fret orientations

Fret diagrams can be oriented in three ways. By default the top string or fret in the different orientations will be aligned.

>     \include "predefined-guitar-fretboards.ly"

>     <<
>       \chords {
>         c1
>         c1
>         c1
>       }
>       \new FretBoards {
>         \chordmode {
>           c1
>           \override FretBoard.fret-diagram-details.orientation =
>             #'landscape
>           c1
>           \override FretBoard.fret-diagram-details.orientation =
>             #'opposing-landscape
>           c1
>         }
>       }
>       \new Voice {
>         c'1
>         c'1
>         c'
>       }
>     >>

Anpassung von Beschriftungs-Bunddiagrammen

Bunddiagramme können mit der Eigenschaft `'fret-diagram-details` angepasst werden. Bunddiagramme, die als Textbeschriftung eingefügt werden, können Veränderungen im `Voice.TextScript`-Objekt oder direkt in der Beschriftung vorgenommen werden.

>     <<
>       \chords { c1 | c | c | d }

>       \new Voice = "mel" {
>         \textLengthOn
>         % Set global properties of fret diagram
>         \override TextScript.size = #'1.2
>         \override TextScript.fret-diagram-details.finger-code = #'in-dot
>         \override TextScript.fret-diagram-details.dot-color = #'white

>         %% C major for guitar, no barre, using defaults
>            % terse style
>         c'1^\markup { \fret-diagram-terse "x;3-3;2-2;o;1-1;o;" }

>         %% C major for guitar, barred on third fret
>            % verbose style
>            % size 1.0
>            % roman fret label, finger labels below string, straight barre
>         c'1^\markup {
>           % standard size
>           \override #'(size . 1.0) {
>             \override #'(fret-diagram-details . (
>                          (number-type . roman-lower)
>                          (finger-code . in-dot)
>                          (barre-type . straight))) {
>               \fret-diagram-verbose #'((mute 6)
>                                        (place-fret 5 3 1)
>                                        (place-fret 4 5 2)
>                                        (place-fret 3 5 3)
>                                        (place-fret 2 5 4)
>                                        (place-fret 1 3 1)
>                                        (barre 5 1 3))
>             }
>           }
>         }

>         %% C major for guitar, barred on third fret
>            % verbose style
>            % landscape orientation, arabic numbers, M for mute string
>            % no barre, fret label down or left, small mute label font
>         c'1^\markup {
>           \override #'(fret-diagram-details . (
>                        (finger-code . below-string)
>                        (number-type . arabic)
>                        (label-dir . -1)
>                        (mute-string . "M")
>                        (orientation . landscape)
>                        (barre-type . none)
>                        (xo-font-magnification . 0.4)
>                        (xo-padding . 0.3))) {
>             \fret-diagram-verbose #'((mute 6)
>                                      (place-fret 5 3 1)
>                                      (place-fret 4 5 2)
>                                      (place-fret 3 5 3)
>                                      (place-fret 2 5 4)
>                                      (place-fret 1 3 1)
>                                      (barre 5 1 3))
>           }
>         }

>         %% simple D chord
>            % terse style
>            % larger dots, centered dots, fewer frets
>            % label below string
>         d'1^\markup {
>           \override #'(fret-diagram-details . (
>                        (finger-code . below-string)
>                        (dot-radius . 0.35)
>                        (dot-position . 0.5)
>                        (fret-count . 3))) {
>             \fret-diagram-terse "x;x;o;2-1;3-2;2-3;"
>           }
>         }
>       }
>     >>

#### Siehe auch

Notationsreferenz: Instrument Specific Markup.

Schnipsel: Fretted strings.

Referenz der Interna: fret-diagram-interface.

#### 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 =
>             #(ly:make-moment 1 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"

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

#### Automatische Bund-Diagramme

Bunddiagramme können automatisch aus notierten Noten erstellt werden. Hierzu wird der `FretBoards`-Kontext eingesetzt. Wenn keine vordefinierten Diagramme für die entsprechenden Noten mit der aktiven Saitenstimmung (`stringTunings`) vorhanden sind, errechnet der Kontext Saiten und Bünde die benutzt werden können, um die Noten zu spielen.

>     <<
>       \context ChordNames {
>         \chordmode {
>           f1 g
>         }
>       }
>       \context FretBoards {
>         <f, c f a c' f'>1
>         <g,\6 b, d g b g'>1
>       }
>       \context Staff {
>         \clef "treble_8"
>         <f, c f a c' f'>1
>         <g, b, d g b' g'>1
>       }
>     >>

Da in den Standardeinstellungen keine vordefinierten Diagramme geladen werden, ist die automatische Diagrammerstellung das Standardverhalten. Wenn die vordefinierten Diagramme eingesetzt werden, kann die automatische Berechnung an- und ausgeschaltet werden.

>     \storePredefinedDiagram #default-fret-table
>                             <c e g c' e'>
>                             #guitar-tuning
>                             "x;3-1-(;5-2;5-3;5-4;3-1-1-);"
>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 c c
>         }
>       }
>       \context FretBoards {
>         <c e g c' e'>1
>         \predefinedFretboardsOff
>         <c e g c' e'>1
>         \predefinedFretboardsOn
>         <c e g c' e'>1
>       }
>       \context Staff {
>         \clef "treble_8"
>         <c e g c' e'>1
>         <c e g c' e'>1
>         <c e g c' e'>1
>       }
>     >>

Manchmal kann die Berechnungsfunktion für Bunddiagramme kein passendes Diagramm finden. Das kann oft umgangen werden, indem man manuell einer Note eine bestimmte Saite zuweist. In vielen Fällen muss nur eine Note derart gekennzeichnet werden, der Rest wird dann entsprechend durch den `FretBoards`-Kontext behandelt.

Fingersatz kann zu FretBoard-Bunddiagrammen hinzugefügt werden.

>     <<
>       \context ChordNames {
>         \chordmode {
>           c1 d:m
>         }
>       }
>       \context FretBoards {
>         <c-3 e-2 g c'-1 e'>1
>         <d a-2 d'-3 f'-1>1
>       }
>       \context Staff {
>         \clef "treble_8"
>         <c e g c' e'>1
>         <d a d' f'>1
>       }
>     >>

Der kleinste Bund, der benutzt wird, um Saiten und Bünde im FretBoard-Kontext zu errechnen, kann mit der `minimumFret`-Eigenschaft gesetzt werden.

>     <<
>       \context ChordNames {
>         \chordmode {
>           d1:m d:m
>         }
>       }
>       \context FretBoards {
>         <d a d' f'>1
>         \set FretBoards.minimumFret = #5
>         <d a d' f'>1
>       }
>       \context Staff {
>         \clef "treble_8"
>         <d a d' f'>1
>         <d a d' f'>1
>       }
>     >>

Die Saiten und Bünde des `FretBoards`-Kontextes hängen von der `stringTunings`-Eigenschaft ab, die die gleiche Bedeutung wie im TabStaff-Kontext hat. Siehe auch Angepasste Tabulaturen zu Information über die `stringTunings`Eigenschaft.

Die graphische Erscheinung eines Bunddiagrammes kann den Bedürfnissen angepasst werden, indem Eigenschaften der `fret-diagram-interface`-Schnittstelle verändert werden. Einzelheiten finden sich in fret-diagram-interface. Die Schnittstelleneigenschaften eines `FretBoards`-Diagramms gehören dem `FretBoards.FretBoard`-Kontext an.

#### Vordefinierte Befehle

`\predefinedFretboardsOff`, `\predefinedFretboardsOn`.

#### Siehe auch

Notationsreferenz: Angepasste Tabulaturen.

Schnipsel: Fretted strings.

Referenz der Interna: fret-diagram-interface.

#### Bekannte Probleme und Warnungen

Automatische Bundberechnung funktioniert nicht richtig für Instrumente mit nicht-monotonischer Stimmung.

#### Fingersatz der rechten Hand

cindex Fingersatz der rechten Hand, Bundinstrumente

Fingersatz für die rechte Hand p-i-m-a muss mit `\rightHandFinger`, gefolgt von einer Zahl, notiert werden.

Achtung: Wenn die Zahl in Scheme-Notation eingegeben wird, muss darauf geachtet werden, ein Leerzeichen anzuhängen vor dem schließenden `>` o. Ä.

>     \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

Zur Erleichterung kann der Befehl `\rightHandFinger` zu ein paar Buchstaben abgekürzt werden, etwa `RH`.

>     RH=#rightHandFinger

#### Ausgewählte Schnipsel

Positionierung von Fingersatz der rechten Hand

Man kann die Positionierung von Fingersatz der rechten Hand besser kontrollieren, wenn eine bestimmte Eigenschaft gesetzt wird, wie das folgende Beispiel zeigt:

>     #(define RH rightHandFinger)

>     \relative c {
>       \clef "treble_8"

>       \set strokeFingerOrientations = #'(up down)
>       <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >4

>       \set strokeFingerOrientations = #'(up right down)
>       <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >4

>       \set strokeFingerOrientations = #'(left)
>       <c\RH #1 e\RH #2 g\RH #3 c\RH #4 >2

>       \set strokeFingerOrientations = #'(right)
>       c\RH #1
>     }

Fingersatz, Saitennummern und Fingersatz für die rechte Hand

Dieses Beispiel kombiniert Fingersatz für die linke Hand, Saitennummern und Fingersatz für die rechte Hand.

>     #(define RH rightHandFinger)

>     \relative c {
>       \clef "treble_8"
>       <c-3\5\RH #1 >4
>       <e-2\4\RH #2 >4
>       <g-0\3\RH #3 >4
>       <c-1\2\RH #4 >4
>     }

#### Siehe auch

Schnipsel: Fretted strings.

Referenz der Interna: StrokeFinger.

#### LilyPond – Notationsreferenz v2.22.2 (stabiler Zweig).