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.
Installierte Dateien: ly/string-tunings-init.ly scm/tablature.scm.
Schnipsel: Fretted strings.
Referenz der Interna: Scheme-Funktionen, 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.