User:Lilipond/Lilypond/Griffschrift

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Allgemeines

[edit]

Für die Griffschrift für Steirische Harmonika soll eine Möglichkeit definiert werden, diese in Lilypond möglichst einfach zu notieren.

Die Griffschrift sieht zwar aus wie eine Notenschrift, bezeichnet jedoch keine Notenwerte. Welcher Notenwert durch eine bestimmte Note der Griffschrift dargestellt wird, hängt von der aktuellen Stimmung der Harmonika ab.

Tasächlich bedeuten die Notenköpfe, welcher Knopf in welcher Reihe zu drücken ist. Noten in der ersten Reihe liegen ausschließlich auf den Notenlinien, Noten in der zweiten Reihe in den Zwischenräumen (oder umgekehrt, was jedoch für die Notation keinen Unterschied macht). Noten in der dritten Reihe werden durch ein Kreuz (ähnlich einem Doppelkreuz) bezeichnet, Noten in einer eventuell vorhandenen vierten Reihe durch ein anderes Zeichen, beispielsweise eine Raute oder ein Kreuz in einem Kreis.

Die Platzierung eines Notenkopfes innerhalb der Notenlinien sagt aus, der wievielte Knopf in der Reihe zu drücken ist, nicht welche Höhe der dadurch erzeugte Ton hat.

Für die Erstellung einer Griffschriftnotation ist es nicht erforderlich zu wissen, welche Reihe durch welchen Ton repräsentiert wird.

Die Bassnotation kann durch einfachen Lyric-Mode erfolgen, da eine Transponierung grundsätzlich nicht erforderlich ist. Ebenso werden die Griffschriftnoten prinzipiell nicht transponiert. Zug- und Drucknotation realisiere ich in einem Dynamic-Context mit Hairpins, deren Höhe auf 0 gesetzt wird.

Eine Griffschrift muss daher folgende Anforderungen erfüllen:

- Vorzeichen sind nicht erforderlich
- Notenschlüssel sind nicht erforderlich
- die Symbole vor den Noten sollen untereinander exakt in einer Spalte stehen
- die Eingabe soll mit möglichst wenigen Zeichen erfolgen

Lösung

[edit]

Im LSR fand ich den Beitrag #784, Arrow notation and transposition for quarter tones, den ich für meine Zwecke adaptierte.

Ich habe die nicht benötigten Definition aus dem Snippet entfernt.

Weiters habe ich sowohl »h« als auch »b« definiert, da ohnehin keine Versetzungszeichen benötigt werden.

Für die Verwendung in der Bassnotation habe ich Variablen für Pausen definiert, um die Schreibarbeit zu reduzieren.

Variablendefinitionen

[edit]
#(allow-volta-hook "||")
SPause = \markup { \musicglyph #"rests.4" } %% Sechzehntelpause
APause = \markup { \musicglyph #"rests.3" } %% Achtelpause
VPause = \markup { \musicglyph #"rests.2" } %% Viertelpause
HPause = \markup { \musicglyph #"rests.1" } %% Halbe Pause
GPause = \markup { \musicglyph #"rests.0" } %% Ganze Pause


%% http://lsr.di.unimi.it/LSR/Item?id=784
%% war die Vorlage
%% ich habe überflüssige Definitionen entfernt, um die Sachlage übersichtlicher
%% zu gestalten

#(define-public NATURAL-RAISE  2/10)
#(define-public NATURAL-LOWER -2/10)

% Note names can now be defined to represent these pitches in our
% Lilypond input.
% Das Ziel ist, die Eingabe so einfach wie möglich zu gestalten

GriffPitchNames =  #`(
                       (ce    . ,(ly:make-pitch -1 0 NATURAL-LOWER))
                       (c     . ,(ly:make-pitch -1 0 NATURAL))
                       (ci    . ,(ly:make-pitch -1 0 NATURAL-RAISE))

                       (de    . ,(ly:make-pitch -1 1 NATURAL-LOWER))
                       (d     . ,(ly:make-pitch -1 1 NATURAL))
                       (di    . ,(ly:make-pitch -1 1 NATURAL-RAISE))

                       (ee    . ,(ly:make-pitch -1 2 NATURAL-LOWER))
                       (e     . ,(ly:make-pitch -1 2 NATURAL))
                       (ei    . ,(ly:make-pitch -1 2 NATURAL-RAISE))

                       (fe    . ,(ly:make-pitch -1 3 NATURAL-LOWER))
                       (f     . ,(ly:make-pitch -1 3 NATURAL))
                       (fi    . ,(ly:make-pitch -1 3 NATURAL-RAISE))

                       (ge    . ,(ly:make-pitch -1 4 NATURAL-LOWER))
                       (g     . ,(ly:make-pitch -1 4 NATURAL))
                       (gi    . ,(ly:make-pitch -1 4 NATURAL-RAISE))

                       (ae    . ,(ly:make-pitch -1 5 NATURAL-LOWER))
                       (a     . ,(ly:make-pitch -1 5 NATURAL))
                       (ai    . ,(ly:make-pitch -1 5 NATURAL-RAISE))

                       (be    . ,(ly:make-pitch -1 6 NATURAL-LOWER))
                       (b     . ,(ly:make-pitch -1 6 NATURAL))
                       (bi    . ,(ly:make-pitch -1 6 NATURAL-RAISE))

                       (he    . ,(ly:make-pitch -1 6 NATURAL-LOWER))
                       (h     . ,(ly:make-pitch -1 6 NATURAL))
                       (hi    . ,(ly:make-pitch -1 6 NATURAL-RAISE))
                       )

pitchnames = \GriffPitchNames
#(ly:parser-set-note-names pitchnames)

% The symbols for each alteration
GriffGlyphs = #`(
                  (,NATURAL-RAISE . "noteheads.s2cross")
                  (  0            . "accidentals.natural")
                  (,NATURAL-LOWER . "noteheads.s0harmonic")
                  )

Layout

[edit]
\paper {
  line-width = 175\mm
  top-margin = 15\mm
  bottom-margin = 20\mm
  indent = #0
  tagline=##f
}

\header {
  title = "Beispiel für Griffschrift"
  subtitle = ##f %"sempre staccato"
  subsubtitle = ##f
  poet = "Vierreihige Steirische"
  composer = \markup \override #'(baseline-skip . 2)
  \right-column {
    \line \vcenter { 3. Reihe: \musicglyph #"noteheads.s2cross" }
    \line \vcenter { 4. Reihe: \musicglyph #"noteheads.s0harmonic" }
    \line \vcenter {
      "kann beliebig geändert werden"
      \with-color #white \musicglyph #"noteheads.s0harmonic"
    }
  }
  piece = ##f
  opus = ##f
}

\layout {
  \context {
    \Score
    \override KeySignature.glyph-name-alist = \GriffGlyphs
    \override Accidental.glyph-name-alist = \GriffGlyphs
    \override AccidentalCautionary.glyph-name-alist = \GriffGlyphs
    \override TrillPitchAccidental.glyph-name-alist = \GriffGlyphs
    \override AmbitusAccidental.glyph-name-alist = \GriffGlyphs
    %% Abstand zwischen Nicht-Noten Kontexten untereinander, Lyrics, Dynamics etwa
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.basic-distance = #4
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.minimum-distance = #3
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = #1
  }
  \context {
    \Staff
  }
  \context {
    \Voice
    \override Accidental.X-offset = -1.5
  }
  \context {
    \Dynamics
    \override Hairpin.height = #0
    \override Hairpin.thickness = #3
    % Abstand der Zug/Druck-Linie zur darüber liegenden Notenzeile
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.minimum-distance = #5
  }
}

Notenbeispiel

[edit]
notes = \relative c'' {
  < ei ci >8. be16
  q8 < ci bi, >16 q
}

ZugDruck = \new Dynamics {
  \repeat unfold 3 { s2\< s\!  }
}

Bass = \new Lyrics \lyricmode {
  C8 c8 B c c4 c
  C8 \APause % eine Achtelpause
  F B
  c4 B C8 c B c
  C8 c B c
}

%% untere Bassreihe
Bassu =  \new Lyrics \lyricmode {
  \skip 2
  C4 C
  \skip 2
  C2
}

Score

[edit]
\score {
  <<
    \new Staff
    <<
      \new Voice=melodie   {
        \key c \major
        \time 2/4
        \accidentalStyle forget
        \omit Staff.Clef
        \repeat unfold 6 \notes
      }
    >>
    \new Dynamics \ZugDruck
    \new Lyrics \Bass
    \new Lyrics \Bassu
  >>
}

Output

[edit]

[edit]
Unterseiten von User:Lilipond/Lilypond/Griffschrift

WikiText der Seite User:Lilipond/Lilypond/Griffschrift
{{User:Wirklich/bearbeiten}}

=='"`UNIQ--h-8--QINU`"'Allgemeines== Für die Griffschrift für Steirische Harmonika soll eine Möglichkeit definiert werden, diese in Lilypond möglichst einfach zu notieren. Die Griffschrift sieht zwar aus wie eine Notenschrift, bezeichnet jedoch keine Notenwerte. Welcher Notenwert durch eine bestimmte Note der Griffschrift dargestellt wird, hängt von der aktuellen Stimmung der Harmonika ab. Tasächlich bedeuten die Notenköpfe, welcher Knopf in welcher Reihe zu drücken ist. Noten in der ersten Reihe liegen ausschließlich auf den Notenlinien, Noten in der zweiten Reihe in den Zwischenräumen (oder umgekehrt, was jedoch für die Notation keinen Unterschied macht). Noten in der dritten Reihe werden durch ein Kreuz (ähnlich einem Doppelkreuz) bezeichnet, Noten in einer eventuell vorhandenen vierten Reihe durch ein anderes Zeichen, beispielsweise eine Raute oder ein Kreuz in einem Kreis. Die Platzierung eines Notenkopfes innerhalb der Notenlinien sagt aus, der wievielte Knopf in der Reihe zu drücken ist, nicht welche Höhe der dadurch erzeugte Ton hat. Für die Erstellung einer Griffschriftnotation ist es nicht erforderlich zu wissen, welche Reihe durch welchen Ton repräsentiert wird. Die Bassnotation kann durch einfachen Lyric-Mode erfolgen, da eine Transponierung grundsätzlich nicht erforderlich ist. Ebenso werden die Griffschriftnoten prinzipiell nicht transponiert. Zug- und Drucknotation realisiere ich in einem Dynamic-Context mit Hairpins, deren Höhe auf 0 gesetzt wird. Eine Griffschrift muss daher folgende Anforderungen erfüllen: :- Vorzeichen sind nicht erforderlich :- Notenschlüssel sind nicht erforderlich :- die Symbole vor den Noten sollen untereinander exakt in einer Spalte stehen :- die Eingabe soll mit möglichst wenigen Zeichen erfolgen =='"`UNIQ--h-9--QINU`"'Lösung== Im LSR fand ich den Beitrag <nowiki>#</nowiki>784, [http://lsr.di.unimi.it/LSR/Item?id=784 Arrow notation and transposition for quarter tones], den ich für meine Zwecke adaptierte. Ich habe die nicht benötigten Definition aus dem Snippet entfernt. Weiters habe ich sowohl »h« als auch »b« definiert, da ohnehin keine Versetzungszeichen benötigt werden. Für die Verwendung in der Bassnotation habe ich Variablen für Pausen definiert, um die Schreibarbeit zu reduzieren. =='"`UNIQ--h-10--QINU`"' Variablendefinitionen == {{User:Wirklich/cocol|code={{:User:Lilipond/Lilypond/Griffschrift/var}}}} =='"`UNIQ--h-11--QINU`"' Layout == {{User:Wirklich/cocol|code={{:User:Lilipond/Lilypond/Griffschrift/layout}}}} =='"`UNIQ--h-12--QINU`"' Notenbeispiel == {{User:Wirklich/cocol|code={{:User:Lilipond/Lilypond/Griffschrift/exmp}}}} =='"`UNIQ--h-13--QINU`"' Score == {{User:Wirklich/cocol|code={{:User:Lilipond/Lilypond/Griffschrift/score}}}} =='"`UNIQ--h-14--QINU`"' Output == [[File:LilyWiki GriffschriftSteirischeHarmonika.gif|600px]] =='"`UNIQ--h-15--QINU`"'Links== * [http://lilypond.1069038.n5.nabble.com/Bass-and-chords-td135858.html Bass and chords (Mailingliste)] * [http://lilypond.1069038.n5.nabble.com/Position-fingerings-for-diatonic-accordion-that-include-button-name-not-just-finger-td192429.html Position fingerings for diatonic accordion that include button name (Mailingliste)] * [http://lilypond.1069038.n5.nabble.com/relative-pitch-with-song-sections-td162328.html relative pitch with song sections (Mailingliste)] * [http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=search_page&node=2&query=griffschrift&n=2 In der Mailingliste nach Griffschrift suchen] * [https://code.google.com/archive/p/lilypond/issues/559 Feature request: support accordion with standard bass] * [http://lilypond.org/doc/v2.19/Documentation/snippets/templates Lilypond Vorlagen (Dokumentation)] * [http://lsr.di.unimi.it/LSR/Item?id=311 Score for diatonic accordion (LSR)] * [https://archiv.lilypondforum.de/index.php/topic,2391.msg13457.html Unterlegnoten für Akkordzither (Lilypondforum Archiv)] * [https://archiv.lilypondforum.de/index.php/topic,1729.msg9573.html Griffschrift mit Begleitung (Lilypondforum Archiv)] * [https://archiv.lilypondforum.de/index.php/topic,1158.msg6343.html Akkordeon - Stradella-Bass (Lilypondforum Archiv)] {{User:Wirklich/ShowSub|nouse=1}} {{User:Wirklich/ruler}} {{User:Wirklich/ShowMe}} [[Category:LilyPond_SourceCode]]