Griffschrift: Unterschied zwischen den Versionen

Aus Lilypond Wiki
Wechseln zu: Navigation, Suche
K (Links)
K (Kategorien)
 
(37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Allgemeines==
 
==Allgemeines==
Definieren einer Griffschrift für Steirische Harmonika in Lilypond
+
Definieren einer Griffschrift für Steirische Harmonika in Lilypond. Die von mir recherierten Beispiele lasse ich der Vollständigkeit halber in dieser Seite stehen.
  
==Codebeispiel I==
+
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.
===Code===
 
{{Scode}}<pre>%%$ Versuch der Rosenzopf-Griffschrift auf lilypond, primitive Struktur, nicht für MIDI-Output geeignet.
 
%%$ Darf ohne Einschränkung kopiert, weitergegeben und verändert werden.
 
%%$ Diese Version liefert zwei Warnungen, kann aber als PS/PDF compiliert werden.
 
%%$ Compilation: Lilypond muss installiert sein, danach Befehl ausführen:~>lilypond diesedatei.ly
 
%%$ W3er, Juli 2010
 
  
\version "2.19.49"
+
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.
  
\paper {
+
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.
  line-width = 15.0\cm
 
  paper-height = 13\cm
 
  tagline = ##f
 
}
 
  
\header{
+
Für die Erstellung einer Griffschriftnotation ist es nicht erforderlich zu wissen, welche Reihe durch welchen Ton repräsentiert wird.
  subtitle = "La Paloma"
 
  %tagline = ##f % kein Footer
 
}
 
  
%{ "Stimme" wird unten mittels \DevNull ausgeblendet,
+
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.
gibt nur den Rhythmus für den Bass vor, der in TextABC als Gesang notiert wurde
 
%}
 
  
Stimme = {
+
Eine Griffschrift muss daher folgende Anforderungen erfüllen:
  \tag #'lyricrhythm
 
  {
 
    \partial 4 c \bar ".|:"
 
    \tuplet 3/2 { c c c } c c c c c c c c c c
 
    \tuplet 3/2 { c c c } c c c c c c
 
  }
 
}
 
  
TextA = \lyricmode {
+
:- Vorzeichen sind nicht erforderlich
  \markup { \musicglyph #"rests.2" }
+
:- Notenschlüssel sind nicht erforderlich
  B B B B B B B B B B B B B B B B B B B B B B
+
:- die Symbole vor den Noten sollen untereinander exakt in einer Spalte stehen
}
+
:- die Eingabe soll mit möglichst wenigen Zeichen erfolgen
  
TextB = \lyricmode {
+
==Lösung==
  \markup { \musicglyph #"rests.2" }
+
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.
  b b b b b b b b b b b b b b b b b b b b b b
 
}
 
  
TextC = \lyricmode {
+
=== LSR Code <nowiki>#784</nowiki> ===
  _ _ _ _ \markup { \note-by-number #3 #0 #DOWN }
+
{{Scode}}<pre>%% http://lsr.di.unimi.it/LSR/Item?id=784
  \markup { \note-by-number #3 #0 #DOWN } _ _ _ _ _ _ _ _ _ _ _
 
  \markup { \note-by-number #3 #0 #DOWN }
 
  \markup { \note-by-number #3 #0 #DOWN }
 
}
 
  
 +
% Define the alterations as fraction of the equal-tempered whole tone.
 +
% We use an alteration of 0.2 rather than 0.25 of a tone, so that the
 +
% raised natural is a slightly different pitch than the lowered sharp.
 +
#(define-public DOUBLE-SHARP  10/10)
 +
#(define-public SHARP-RAISE    7/10)
 +
#(define-public SHARP          5/10)
 +
#(define-public SHARP-LOWER    3/10)
 +
#(define-public NATURAL-RAISE  2/10)
 +
#(define-public NATURAL-LOWER -2/10)
 +
#(define-public FLAT-RAISE    -3/10)
 +
#(define-public FLAT          -5/10)
 +
#(define-public FLAT-LOWER    -7/10)
 +
#(define-public DOUBLE-FLAT  -10/10)
  
% Generiert die Analyseklammer, die mit \startGroup, \stopGroup aufgerufen wird und "Druck" bedeutet
+
  % Note names can now be defined to represent these pitches in our
\layout {
+
  % Lilypond input.  We extend the list of Dutch note names:
   \context {
+
arrowedPitchNames =  #`(
     \Voice
+
      (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
    \consists "Horizontal_bracket_engraver"
+
      (ceseh . ,(ly:make-pitch -1 0 FLAT-LOWER))
   }
+
      (ces  . ,(ly:make-pitch -1 0 FLAT))
}
+
      (cesih . ,(ly:make-pitch -1 0 FLAT-RAISE))
 +
      (ceh   . ,(ly:make-pitch -1 0 NATURAL-LOWER))
 +
      (c     . ,(ly:make-pitch -1 0 NATURAL))
 +
      (cih  . ,(ly:make-pitch -1 0 NATURAL-RAISE))
 +
      (ciseh . ,(ly:make-pitch -1 0 SHARP-LOWER))
 +
      (cis   . ,(ly:make-pitch -1 0 SHARP))
 +
      (cisih . ,(ly:make-pitch -1 0 SHARP-RAISE))
 +
      (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP))
  
%Notensysteme, hier werden die Teile von oben eingebunden
+
      (deses . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
\new Staff = "Noten" {
+
      (deseh . ,(ly:make-pitch -1 1 FLAT-LOWER))
   \set Staff.instrumentName = \markup {
+
      (des  . ,(ly:make-pitch -1 1 FLAT))
     \column {
+
      (desih . ,(ly:make-pitch -1 1 FLAT-RAISE))
      "Diatonische"
+
      (deh   . ,(ly:make-pitch -1 1 NATURAL-LOWER))
      \line { "Harmonika" }
+
      (d     . ,(ly:make-pitch -1 1 NATURAL))
    } \musicglyph #"clefs.tab"
+
      (dih  . ,(ly:make-pitch -1 1 NATURAL-RAISE))
  }
+
      (diseh . ,(ly:make-pitch -1 1 SHARP-LOWER))
 +
      (dis  . ,(ly:make-pitch -1 1 SHARP))
 +
      (disih . ,(ly:make-pitch -1 1 SHARP-RAISE))
 +
      (disis . ,(ly:make-pitch -1 1 DOUBLE-SHARP))
  
   <<
+
      (eeses . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
 +
      (eses  . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
 +
      (eeseh . ,(ly:make-pitch -1 2 FLAT-LOWER))
 +
      (eseh  . ,(ly:make-pitch -1 2 FLAT-LOWER))
 +
      (ees   . ,(ly:make-pitch -1 2 FLAT))
 +
      (es    . ,(ly:make-pitch -1 2 FLAT))
 +
      (eesih . ,(ly:make-pitch -1 2 FLAT-RAISE))
 +
      (esih  . ,(ly:make-pitch -1 2 FLAT-RAISE))
 +
      (eeh  . ,(ly:make-pitch -1 2 NATURAL-LOWER))
 +
      (e    . ,(ly:make-pitch -1 2 NATURAL))
 +
      (eih  . ,(ly:make-pitch -1 2 NATURAL-RAISE))
 +
      (eiseh . ,(ly:make-pitch -1 2 SHARP-LOWER))
 +
      (eis  . ,(ly:make-pitch -1 2 SHARP))
 +
      (eisih . ,(ly:make-pitch -1 2 SHARP-RAISE))
 +
      (eisis . ,(ly:make-pitch -1 2 DOUBLE-SHARP))
  
    \new Voice = "first" {
+
      (feses . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
      \voiceOne \partial 4 <g' b'>
+
      (feseh . ,(ly:make-pitch -1 3 FLAT-LOWER))
      \startGroup
+
      (fes  . ,(ly:make-pitch -1 3 FLAT))
      \bar ".|:" \tieDown <g'~ b'>1( %1
+
      (fesih . ,(ly:make-pitch -1 3 FLAT-RAISE))
      <g' b'>8) <e' g'>4 <fisis' a'>8 <g' b'>4 <fisis'! aisis'>4 %2
+
      (feh  . ,(ly:make-pitch -1 3 NATURAL-LOWER))
      <c'' e''>8 <aisis' cisis''>4 <fisis' aisis'!>8 <cisis'' e''>4 <g' b'>\stopGroup %3
+
      (f     . ,(ly:make-pitch -1 3 NATURAL))
      <e'~ g'>1( %4
+
      (fih  . ,(ly:make-pitch -1 3 NATURAL-RAISE))
      <e' g'>2.) b'4 %5
+
      (fiseh . ,(ly:make-pitch -1 3 SHARP-LOWER))
     }
+
      (fis  . ,(ly:make-pitch -1 3 SHARP))
    % nächste Zeile macht "Stimme" (s.o.) unsichtbar
+
      (fisih . ,(ly:make-pitch -1 3 SHARP-RAISE))
    \new Devnull="nowhere" \keepWithTag #'lyricrhythm \Stimme
+
      (fisis . ,(ly:make-pitch -1 3 DOUBLE-SHARP))
    \new Lyrics \lyricsto "nowhere" \TextA
 
    \new Lyrics \lyricsto "nowhere" \TextB
 
    \new Lyrics \lyricsto "nowhere" \TextC
 
  >>
 
}</pre>{{Scend}}
 
  
===Output===
+
      (geses . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
[[File:LilyWiki Griffschrift1.gif|600px]]
+
      (geseh . ,(ly:make-pitch -1 4 FLAT-LOWER))
 +
      (ges  . ,(ly:make-pitch -1 4 FLAT))
 +
      (gesih . ,(ly:make-pitch -1 4 FLAT-RAISE))
 +
      (geh  . ,(ly:make-pitch -1 4 NATURAL-LOWER))
 +
      (g    . ,(ly:make-pitch -1 4 NATURAL))
 +
      (gih  . ,(ly:make-pitch -1 4 NATURAL-RAISE))
 +
      (giseh . ,(ly:make-pitch -1 4 SHARP-LOWER))
 +
      (gis  . ,(ly:make-pitch -1 4 SHARP))
 +
      (gisih . ,(ly:make-pitch -1 4 SHARP-RAISE))
 +
      (gisis . ,(ly:make-pitch -1 4 DOUBLE-SHARP))
  
==Codebeispiel II (Bayerland)==
+
      (aeses . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
===Code===
+
      (ases  . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
{{Scode}}<pre>%{
+
      (aeseh . ,(ly:make-pitch -1 5 FLAT-LOWER))
Beschreibung zur Griffschrift der Steirischen Harmonika
+
      (aseh  . ,(ly:make-pitch -1 5 FLAT-LOWER))
%}
+
      (aes  . ,(ly:make-pitch -1 5 FLAT))
\version "2.19.49"
+
      (as    . ,(ly:make-pitch -1 5 FLAT))
 +
      (aesih . ,(ly:make-pitch -1 5 FLAT-RAISE))
 +
      (asih  . ,(ly:make-pitch -1 5 FLAT-RAISE))
 +
      (aeh  . ,(ly:make-pitch -1 5 NATURAL-LOWER))
 +
      (a    . ,(ly:make-pitch -1 5 NATURAL))
 +
      (aih  . ,(ly:make-pitch -1 5 NATURAL-RAISE))
 +
      (aiseh . ,(ly:make-pitch -1 5 SHARP-LOWER))
 +
      (ais  . ,(ly:make-pitch -1 5 SHARP))
 +
      (aisih . ,(ly:make-pitch -1 5 SHARP-RAISE))
 +
      (aisis . ,(ly:make-pitch -1 5 DOUBLE-SHARP))
  
\header{
+
      (beses . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
   title = "Tabulaturreferenz zur Steirischen Harmonika"
+
      (beseh . ,(ly:make-pitch -1 6 FLAT-LOWER))
   subtitle = "am Beispiel der vierreihigen Harmonika in G-C-F-B"
+
      (bes   . ,(ly:make-pitch -1 6 FLAT))
   tagline = "Lilypond Version 2.10.33 - PS file patched (noteheads.s2cross > accidentals.doublesharp)"
+
      (besih . ,(ly:make-pitch -1 6 FLAT-RAISE))
}
+
      (beh   . ,(ly:make-pitch -1 6 NATURAL-LOWER))
 +
      (b    . ,(ly:make-pitch -1 6 NATURAL))
 +
      (bih   . ,(ly:make-pitch -1 6 NATURAL-RAISE))
 +
      (biseh . ,(ly:make-pitch -1 6 SHARP-LOWER))
 +
      (bis  . ,(ly:make-pitch -1 6 SHARP))
 +
      (bisih . ,(ly:make-pitch -1 6 SHARP-RAISE))
 +
      (bisis . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
 +
      )
 +
pitchnames = \arrowedPitchNames
 +
#(ly:parser-set-note-names parser pitchnames)
  
\paper {
+
  % The symbols for each alteration
  tagline = ##f
+
arrowGlyphs = #`(
}
+
        (,DOUBLE-SHARP . "accidentals.doublesharp")
 +
        (,(+ SHARP SHARP-LOWER) . "accidentals.sharp.arrowup")
 +
        (,SHARP-RAISE  . "accidentals.sharp.arrowup")
 +
        (,SHARP        . "accidentals.sharp")
 +
        (,SHARP-LOWER  . "accidentals.sharp.arrowdown")
 +
        (,NATURAL-RAISE . "accidentals.natural.arrowup")
 +
        (  0            . "accidentals.natural")
 +
        (,NATURAL-LOWER . "accidentals.natural.arrowdown")
 +
        (,FLAT-RAISE  . "accidentals.flat.arrowup")
 +
        (,FLAT        . "accidentals.flat")
 +
        (,FLAT-LOWER  . "accidentals.flat.arrowdown")
 +
        (,(+ FLAT FLAT-RAISE) . "accidentals.flat.arrowdown")
 +
        (,DOUBLE-FLAT  . "accidentals.flatflat")
 +
)
 +
  % Transposition could generate pitches with alterations
 +
  %  double-sharp-lower (8/10) or double-flat-raise (-8/10)
 +
  %  but there are no such symbols in the font, so we substituted
 +
  %  the most appropriate symbols.
 +
  % If some pitch in your score has no symbol, LilyPond gives a warning.
  
\score {
+
  % The glyph-list needs to be loaded into each object that
   <<
+
   %  draws accidentals.
    \new Staff {
+
\layout {
      \clef tab
+
  \context {
      \time 1/4
+
    \Score
      f,4^\markup { "Griffschrift:" }
+
     \override KeySignature.glyph-name-alist = \arrowGlyphs
      a,4 c4 e4 g4 b4_\markup{ \tiny { "»L«" } }
+
    \override Accidental.glyph-name-alist = \arrowGlyphs
      d'4_\markup{ \tiny { "»O«" } } f'4 a'4 c''4 e''4 g''4 b''4
+
    \override AccidentalCautionary.glyph-name-alist = \arrowGlyphs
    }
+
    \override TrillPitchAccidental.glyph-name-alist = \arrowGlyphs
     \new Staff \with {
+
     \override AmbitusAccidental.glyph-name-alist = \arrowGlyphs
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      \override Stem.direction = #DOWN
 
      \override Stem.thickness = #'0.1
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      % \set Staff.whichBar = ""
 
      \time 1/4
 
      \startStaff
 
      %a4
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
     \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      g,4^\markup { "Klang:" } b, d g b d' g' b' d'' g'' b'' d''' g'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 1. (äußere) Reihe, auf Druck"
 
 
   }
 
   }
 
}
 
}
 
+
   % MIDI implements microtones as a pitch bend, with one bend per channel.
\score {
+
  % These lines below assign one channel to each Voice, in case there are
   <<
+
  % multiple voices on a staff, so that each voice can have its correct
    \new Staff {
+
  % pitch bend.
      \clef tab
+
\midi {
      \time 1/4
+
  \context {
      f,4^\markup { "Griffschrift:" }
+
     \Staff
      a,4 c4 e4 g4 b4_\markup{ \tiny { "»L«" } }
+
     \remove "Staff_performer"
      d'4_\markup{ \tiny { "»O«" } } f'4 a'4 c''4 e''4 g''4 b''4
+
  }
    }
+
   \context {
    \new Staff \with {
+
    \Voice
      \override StaffSymbol.line-count = #1
+
     \consists "Staff_performer"
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      \stopStaff
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
     \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
     } {
 
      \clef treble
 
      \time 1/4
 
      c4^\markup { "Klang:" } d fis a c' e' fis' a' c'' e'' fis'' a'' c'''
 
    }
 
   >>
 
  \header {
 
     piece = "Diskant, 1. (äußere) Reihe, auf Zug"
 
 
   }
 
   }
 
}
 
}
  
\score {
+
   %% A short example tune
   <<
+
notes = \relative c''' {
    \new Staff {
+
  \key d\major
      \clef tab
+
  b8 fis eiseh fis b g e cis |
      \time 1/4
+
  \set Staff.extraNatural = ##f % avoid bug 1701
      g,4^\markup { "Griffschrift:" }
+
  g b d feh g2
      b,4 d4 f4 a4 c'4_\markup { \tiny "»G«"} e'4 g'4 b'4 d''4 f''4 a''4
+
}
    }
+
\score { <<
    \new Staff \with {
+
  \new Staff \with {
      \override StaffSymbol.line-count = #1
+
    instrumentName = "Violin"
      \override StaffSymbol.thickness = #10
+
    midiInstrument = "violin"
      \override Clef.transparent = ##t
+
  } \notes
      \override BarLine.stencil = ##f
+
  \new Staff \with {
      \override TimeSignature.stencil = ##f
+
    instrumentName =
      } {
+
    \markup\center-column {"Clarinet" \concat{"in B"\flat}}
      \stopStaff
+
     midiInstrument = "clarinet"
      \clef percussion
+
   } {
      \set Staff.whichBar = ""
+
    \transposition bes
      \time 1/4
+
     \transpose bes c \notes
      \startStaff
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      c4^\markup { "Klang:" } e g c' e' g' c'' e'' g'' c''' e''' g'''
 
     }
 
   >>
 
  \header {
 
     piece = "Diskant, 2. Reihe, auf Druck"
 
 
   }
 
   }
}
+
>>
 +
\layout{}
 +
\midi{}}</pre>{{Scend}}
  
\score {
+
=== Griffschrift für Steirische Harmonika ===
  <<
+
:Ich habe die nicht benötigten Definition aus dem Snippet entfernt.  
    \new Staff {
 
      \clef tab
 
      \time 1/4
 
      g,4^\markup { "Griffschrift:" }
 
      b,4 d4 f4 a4 c'4_\markup { \tiny "»G«"} e'4 g'4 b'4 d''4 f''4 a''4
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      f4^\markup { "Klang:" } g b d' f' g' b' d'' f'' a'' b'' d'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 2. Reihe, auf Zug"
 
  }
 
}
 
  
\score {
+
:Weiters habe ich sowohl »h« als auch &raquo;b&laquo; definiert, da ohnehin keine Versetzungszeichen benötigt werden.
  <<
 
    \new Staff {
 
      \clef tab
 
      \time 1/4
 
      \override NoteHead.style = #'cross
 
      a,4^\markup { "Griffschrift:" }
 
      c4 e4 g4 b4 d'4_\markup { \tiny "»G«"} f'4 a'4 c''4 e''4 g''4
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      \startStaff
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      f4^\markup { "Klang:" } a c' f' a' c'' f'' a'' c''' f''' a'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 3. Reihe, auf Druck"
 
  }
 
}
 
  
\score {
+
:Für die Verwendung in der Bassnotation habe ich Variablen für Pausen definiert, um die Schreibarbeit zu reduzieren.
  <<
 
    \new Staff {
 
      \clef tab
 
      \time 1/4
 
      \override NoteHead.style = #'cross
 
      a,4^\markup { "Griffschrift:" }
 
      c4 e4 g4 b4 d'4_\markup { \tiny "»G«"} f'4 a'4 c''4 e''4 g''4
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      bes4^\markup { "Klang:" } c' e' g' bes' c'' e'' g'' bes'' d''' e'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 3. Reihe, auf Zug"
 
  }
 
}
 
  
\score {
+
==== Code ====
  <<
+
===== Variablendefinitionen =====
    \new Staff {
+
{{Scode}}\version "2.19.65"
      \clef tab
 
      \time 1/4
 
      \override NoteHead.style = #'cross
 
      b,4^\markup { "Griffschrift:" }
 
      d4 f4 a4 c'4 e'4_\markup { \tiny "»G«"} g'4 b'4 d''4 f''4
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      \startStaff
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      bes4^\markup { "Klang:" } d' f' bes' d'' f'' bes'' d''' f''' bes'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 4. Reihe, auf Druck"
 
  }
 
}
 
  
\score {
+
<nowiki>#</nowiki>(allow-volta-hook "||")
  <<
+
{{GriffschriftVariable}}{{Scend}}
    \new Staff {
 
      \clef tab
 
      \time 1/4
 
      \override NoteHead.style = #'cross
 
      b,4^\markup { "Griffschrift:" }
 
      d4 f4 a4 c'4 e'4_\markup { \tiny "»G«"} g'4 b'4 d''4 f''4
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      s4 s4 s4 s4 s4 s4 s4 s4 s4 s4
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef treble
 
      \time 1/4
 
      es'4^\markup { "Klang:" } f' a' c'' es'' f'' a'' c''' es''' g'''
 
    }
 
  >>
 
  \header {
 
    piece = "Diskant, 4. Reihe, auf Zug"
 
  }
 
}
 
  
\markup {
+
===== Layout =====
  \column {
+
{{Scode}}{{GriffschriftLayout}}{{Scend}}
    \hspace #0
 
    \wordwrap {
 
      (7.) Für die Baßtasten werden Buchstaben bzw. Kurzzeichen unter der Diskantzeile aufgelistet.
 
      Diese beschreiben nur die zu betätigenen Tasten.
 
      Auch wenn diese leicht mit Akkordbuchstaben zu verwechseln sind, wird der klingende Akkord erst über die Stimmung des Instruments und dessen Funktionsstand (Zudruck oder Aufzug) bestimmt.
 
    }
 
  }
 
}
 
\markup {
 
  \column {
 
    \hspace #0
 
    \wordwrap {
 
      (8.) Sollte der Baß rhythmisch gegen den Diskant laufen, werden zusätzliche Notenköpfe (auf einheitlicher Höhe) zur Darstellung nötig.
 
    }
 
  }
 
}
 
\markup {
 
  \column {
 
    \hspace #0
 
    \wordwrap {
 
      (9.) Es gibt unterschiedliche Systeme für die Benennung der Baßtasten.
 
      Das System nach »Rosenzopf« scheint das verbreiteste zu sein.
 
    }
 
  }
 
}
 
\markup {
 
  \column {
 
    \hspace #0
 
    \wordwrap {
 
      (10.) Die Bässe werden grundsätzlich kurz (stakkato) gespielt. (MIDI-Ausgabe!)
 
    }
 
  }
 
}
 
\markup {
 
  \column {
 
    \hspace #0
 
    \wordwrap {
 
      (11.) Es sind ettliche unterschiedliche Baß-Tonbelegungen - vor allem in der zweiten Reihe beim Aufzug -  in Gebrauch.
 
      Das kann leider zu einer Inkompatibilität führen, wenn diese Tabulaturschriften auf anderen Instrumenten gespielt werden.
 
    }
 
  }
 
}
 
\markup {
 
  \column {
 
    \hspace #0
 
    \wordwrap {
 
      Die am Instrument der Marke »BAYERLAND« vorgefundene Baßbelegung entspricht im wesentlichen dem »derzeitigen Normalbaß (Bayern-Salzburg)«.
 
      Besonders zu erwähnen ist die Taste »X«, welche beide Reihen rechts abschließt; es folgt keine Akkordtaste dazu.
 
    }
 
    \hspace #0
 
  }
 
}
 
  
\score {
+
===== Noten =====
  <<
+
{{Scode}}<pre>notes = \relative c'' {
    \new Staff {
+
   < ei ci >8. be16
      \clef tab
+
   q8 < ci bi, >16 q
      \time 1/4
 
      s4^\markup { "Griffschrift:" }
 
      s s s s s s s s
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      \startStaff
 
      s4^"F" s4^"f" s4^"C" s4^"c" s4^"B" s4^"b" s4^"A" s4^"a" s4^"X"
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef bass
 
      \time 1/4
 
      bes,,4^\markup { "Klang:" }
 
      < d f bes >4
 
      f,4
 
      < c f a >4
 
      c,4
 
      < e g c' >4
 
      g,4
 
      < g b d' >4
 
      d,
 
    }
 
   >>
 
   \header {
 
    piece = "Baß, 1. (äußere) Reihe, auf Druck"
 
  }
 
 
}
 
}
  
\score {
+
ZugDruck = \new Dynamics {
  <<
+
  \repeat unfold 3 { s2\< s\}
    \new Staff {
 
      \clef tab
 
      \time 1/4
 
      s4^\markup { "Griffschrift:" }
 
      s s s s s s s s
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      s4^"F" s4^"f" s4^"C" s4^"c" s4^"B" s4^"b" s4^"A" s4^"a" s4^"X"
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef bass
 
      \time 1/4
 
      f,4^\markup { "Klang:" }
 
      < c f a >4
 
      c,4
 
      < c e g >4
 
      g,4
 
      < b, d g >4
 
      d,4
 
      < a, d fis >4
 
      a,,
 
    }
 
  >>
 
  \header {
 
    piece = "Baß, 1. (äußere) Reihe, auf Zug"
 
  }
 
 
}
 
}
  
\score {
+
Bass = \new Lyrics \lyricmode {
  <<
+
  C8 c8 B c c4 c
    \new Staff {
+
  C8 \APause % eine Achtelpause
      \clef tab
+
   F B
      \time 1/4
+
   c4 B C8 c B c
      s4^\markup { "Griffschrift:" }
+
   C8 c B c
      s s s s s s
 
    }
 
    \new Staff \with {
 
      \override StaffSymbol.line-count = #1
 
      \override StaffSymbol.thickness = #10
 
      \override Clef.transparent = ##t
 
      \override BarLine.stencil = ##f
 
      \override TimeSignature.stencil = ##f
 
      } {
 
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      \startStaff
 
      s4^"G" s4^"g" s4^"E" s4^"e" s4^"D" s4^"d" s4^"X"
 
    }
 
    \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
    } {
 
      \clef bass
 
      \time 1/4
 
      d,4^\markup { "Klang:" }
 
      < d fis a >4
 
      a,4
 
      < cis e a >4
 
      e,4
 
      < b, e gis >4
 
      d,4
 
    }
 
   >>
 
   \header {
 
    piece = "Baß, 2. (innere) Reihe, auf Druck"
 
   }
 
 
}
 
}
  
\score {
+
%% untere Bassreihe
 +
Bassu =  \new Lyrics \lyricmode {
 +
  \skip 2
 +
  C4 C
 +
  \skip 2
 +
  C2
 +
}</pre>{{Scend}}
 +
===== Score =====
 +
{{Scode}}<pre>\score {
 
   <<
 
   <<
     \new Staff {
+
     \new Staff
      \clef tab
+
    <<
      \time 1/4
+
      \new Voice=melodie  {
      s4^\markup { "Griffschrift:" }
+
        \key c \major
      s s s s s s
+
        \time 2/4
    }
+
        \accidentalStyle forget
    \new Staff \with {
+
        \omit Staff.Clef
      \override StaffSymbol.line-count = #1
+
        \repeat unfold 6 \notes
      \override StaffSymbol.thickness = #10
+
       }
      \override Clef.transparent = ##t
+
     >>
      \override BarLine.stencil = ##f
+
     \new Dynamics \ZugDruck
      \override TimeSignature.stencil = ##f
+
    \new Lyrics \Bass
       } {
+
     \new Lyrics \Bassu
      \stopStaff
 
      \clef percussion
 
      \set Staff.whichBar = ""
 
      \time 1/4
 
      s4^"G" s4^"g" s4^"E" s4^"e" s4^"D" s4^"d" s4^"X"
 
     }
 
     \new Staff \with {
 
      fontSize = #-3
 
      \override StaffSymbol.staff-space = #(magstep -3)
 
      \override StaffSymbol.thickness = #(magstep -3)
 
     } {
 
      \clef bass
 
      \time 1/4
 
      es,4^\markup { "Klang:" }
 
      < es g bes >4
 
      bes,4
 
      < d f bes >4
 
      f,4
 
      < c f a >4
 
      a,,
 
    }
 
 
   >>
 
   >>
  \header {
 
    piece = "Baß, 2. (innere) Reihe, auf Zug"
 
  }
 
 
}</pre>{{Scend}}
 
}</pre>{{Scend}}
  
===Output===
+
==== Output ====
Die Steirische Harmonika - »steirisch« ist umgangssprachlich wienerisch für »ländlich, volkstümlich« - ist
+
[[File:LilyWiki GriffschriftSteirischeHarmonika.gif|600px]]
eine tonartgebundene (diatonische) Harmonika mit unterschiedlichen Tönen auf Zug und auf Druck. Sie
 
enthält mehrere Tastenreihen, welche im Quintabstand (vgl. Quintenzirkel) jeweils im Zudruck die Töne
 
der Tonika enthalten, im Aufzug im wesentlichen die Töne des Dominantakkords. Durch den Übergriff auf
 
die benachberten Tastenreihen zur gerade gespielten Tonart werden die Durchgangstöne in Läufen
 
ermöglicht.
 
  
Notiert wird dieses Instrument üblicherweise in einer Griffschrift (Tabulatur) auf den fünf Linien unsers
+
== Aus dem Internet ==
bekannten Notensystens. Ein Balken unter der Tabulaturzeile zeigt an, daß zum Spielen der Balg
+
===Codebeispiel I===
zusammengedrückt werden muß. Für die zu drückenden Bässe werden Kennbuchstaben unter der
 
Tabulaturzeile angegeben.
 
  
(1.) Die Diskanttasten der ersten (äußersten) Reihe werden mit runden Notenköpfen zwischen den Linien
+
wegen der Übersichtlichkeit in eine eigene Seite ausgelagert
notiert.
 
  
(2.) Die Tasten der zweiten Reihe werden auch mit runden Notenköfen, aber auf den Linien, notiert.
+
[[Griffschrift Codebeispiel I]]
  
(3.) Die Tasten der dritten Reihe werden mit Kreuz-Notenköpfen zwischen den Linien notiert. Jedoch wird
+
===Codebeispiel II (Bayerland)===
nicht das einfache Kreuz wie bei den Schlagzeugnoten verwendet, sondern das Doppelkreuz-Vorzeichen [ ?
+
wegen der Übersichtlichkeit in eine eigene Seite ausgelagert
].
 
  
(4.) Die Tasten der vierten Reihe (sofern vorhanden) werden mit Kreuz-Notenköpfen auf den Linien
+
[[Griffschrift Codebeispiel II]]
notiert.
 
  
(5.) Als Ersatz für die Kreuz-Notenköpfe können runde Notenköpfe mit vorangestelltem Doppelkreuz
+
===Score for diatonic accordion (LSR)===
(Ganztonerhöhung) verwendet werden.
+
[[Griffschrift Score for diatonic accordion (LSR)]]
  
(6.) Werden in einem Akkordgriff Töne aus mehreren Reihen zusammengefasst, so sollen die Notenköpfe
+
==Links==
der äußersten benutzten Reihe rechts des Notenhalses liegen.
+
* [[:Vorlage:Griffschrift+Noten|Variablendefinition für Kombination Griffschrift + Notensatz]]
 
+
* [http://lilypond.1069038.n5.nabble.com/Bass-and-chords-td135858.html Bass and chords (Mailingliste)]
Mit »L« ist der Orientierungston nach »www.volksmusik.cc/lehrgang/harmonika_noten.htm« bezeichnet,
+
* [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)]
den ich aber lieber als »Linienton« bezeichnen würde (auf einer Linie mit den Gleichtönen). Mit »O« ist der
 
sonst übliche Orientierungston bezeichnet - die Taste mit dem kleinsten Intervall zwischen Zug und Druck
 
auf der ersten Reihe, welche in der Nähe des Gleichtons der zweiten Reihe liegt. Und mit »G« ist der
 
Gleichton gekennzeichnet.
 
  
 +
* [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]
  
[[File:LilyWiki Bayerland1.gif|LilyWiki Bayerland1|600px]]
+
* [https://code.google.com/archive/p/lilypond/issues/559 Feature request: support accordion with standard bass]
[[File:LilyWiki Bayerland1.gif|LilyWiki Bayerland2|600px]]
 
[[File:LilyWiki Bayerland1.gif|LilyWiki Bayerland3|600px]]
 
[[File:LilyWiki Bayerland1.gif|LilyWiki Bayerland4|600px]]
 
[[File:LilyWiki Bayerland1.gif|LilyWiki Bayerland5|600px]]
 
  
==Links==
+
* [http://lilypond.org/doc/v2.19/Documentation/snippets/templates Lilypond Vorlagen (Dokumentation)]
* http://lilypond.1069038.n5.nabble.com/Bass-and-chords-td135858.html
+
* [http://lsr.di.unimi.it/LSR/Item?id=311 Score for diatonic accordion (LSR)]
* http://lilypond.1069038.n5.nabble.com/Position-fingerings-for-diatonic-accordion-that-include-button-name-not-just-finger-td192429.html
+
* [https://archiv.lilypondforum.de/index.php/topic,2391.msg13457.html Unterlegnoten für Akkordzither (Lilypondforum Archiv)]
* https://code.google.com/archive/p/lilypond/issues/559
+
* [https://archiv.lilypondforum.de/index.php/topic,1729.msg9573.html Griffschrift mit Begleitung (Lilypondforum Archiv)]
* http://lilypond.1069038.n5.nabble.com/relative-pitch-with-song-sections-td162328.html
+
* [https://archiv.lilypondforum.de/index.php/topic,1158.msg6343.html Akkordeon - Stradella-Bass (Lilypondforum Archiv)]
* http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=search_page&node=2&query=griffschrift&n=2
 
* http://lilypond.org/doc/v2.19/Documentation/snippets/templates
 
* http://lsr.di.unimi.it/LSR/Item?id=311
 
* https://archiv.lilypondforum.de/index.php/topic,2391.msg13457.html
 
* https://archiv.lilypondforum.de/index.php/topic,1729.msg9573.html
 
* https://archiv.lilypondforum.de/index.php/topic,1158.msg6343.html
 
  
 
==Kategorien==
 
==Kategorien==
 
__NEWSECTIONLINK__
 
__NEWSECTIONLINK__
{{Vorlagennutzer}}
+
{{Vorlagennutzer}}{{cat|griffschrift}}{{cat|Vertical Spacing}}
 
{{cat|Alle Lilypond Inhalte}}{{cat|2.19}}{{cat|2017}}
 
{{cat|Alle Lilypond Inhalte}}{{cat|2.19}}{{cat|2017}}

Aktuelle Version vom 29. August 2017, 13:03 Uhr

Allgemeines

Definieren einer Griffschrift für Steirische Harmonika in Lilypond. Die von mir recherierten Beispiele lasse ich der Vollständigkeit halber in dieser Seite stehen.

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

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

LSR Code #784

%% http://lsr.di.unimi.it/LSR/Item?id=784

% Define the alterations as fraction of the equal-tempered whole tone.
% We use an alteration of 0.2 rather than 0.25 of a tone, so that the 
% raised natural is a slightly different pitch than the lowered sharp.
#(define-public DOUBLE-SHARP  10/10)
#(define-public SHARP-RAISE    7/10)
#(define-public SHARP          5/10)
#(define-public SHARP-LOWER    3/10)
#(define-public NATURAL-RAISE  2/10)
#(define-public NATURAL-LOWER -2/10)
#(define-public FLAT-RAISE    -3/10)
#(define-public FLAT          -5/10)
#(define-public FLAT-LOWER    -7/10)
#(define-public DOUBLE-FLAT  -10/10)

  % Note names can now be defined to represent these pitches in our
  % Lilypond input.  We extend the list of Dutch note names:
arrowedPitchNames =  #`(
       (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
       (ceseh . ,(ly:make-pitch -1 0 FLAT-LOWER))
       (ces   . ,(ly:make-pitch -1 0 FLAT))
       (cesih . ,(ly:make-pitch -1 0 FLAT-RAISE))
       (ceh   . ,(ly:make-pitch -1 0 NATURAL-LOWER))
       (c     . ,(ly:make-pitch -1 0 NATURAL))
       (cih   . ,(ly:make-pitch -1 0 NATURAL-RAISE))
       (ciseh . ,(ly:make-pitch -1 0 SHARP-LOWER))
       (cis   . ,(ly:make-pitch -1 0 SHARP))
       (cisih . ,(ly:make-pitch -1 0 SHARP-RAISE))
       (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP))

       (deses . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
       (deseh . ,(ly:make-pitch -1 1 FLAT-LOWER))
       (des   . ,(ly:make-pitch -1 1 FLAT))
       (desih . ,(ly:make-pitch -1 1 FLAT-RAISE))
       (deh   . ,(ly:make-pitch -1 1 NATURAL-LOWER))
       (d     . ,(ly:make-pitch -1 1 NATURAL))
       (dih   . ,(ly:make-pitch -1 1 NATURAL-RAISE))
       (diseh . ,(ly:make-pitch -1 1 SHARP-LOWER))
       (dis   . ,(ly:make-pitch -1 1 SHARP))
       (disih . ,(ly:make-pitch -1 1 SHARP-RAISE))
       (disis . ,(ly:make-pitch -1 1 DOUBLE-SHARP))

       (eeses . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
       (eses  . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
       (eeseh . ,(ly:make-pitch -1 2 FLAT-LOWER))
       (eseh  . ,(ly:make-pitch -1 2 FLAT-LOWER))
       (ees   . ,(ly:make-pitch -1 2 FLAT))
       (es    . ,(ly:make-pitch -1 2 FLAT))
       (eesih . ,(ly:make-pitch -1 2 FLAT-RAISE))
       (esih  . ,(ly:make-pitch -1 2 FLAT-RAISE))
       (eeh   . ,(ly:make-pitch -1 2 NATURAL-LOWER))
       (e     . ,(ly:make-pitch -1 2 NATURAL))
       (eih   . ,(ly:make-pitch -1 2 NATURAL-RAISE))
       (eiseh . ,(ly:make-pitch -1 2 SHARP-LOWER))
       (eis   . ,(ly:make-pitch -1 2 SHARP))
       (eisih . ,(ly:make-pitch -1 2 SHARP-RAISE))
       (eisis . ,(ly:make-pitch -1 2 DOUBLE-SHARP))

       (feses . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
       (feseh . ,(ly:make-pitch -1 3 FLAT-LOWER))
       (fes   . ,(ly:make-pitch -1 3 FLAT))
       (fesih . ,(ly:make-pitch -1 3 FLAT-RAISE))
       (feh   . ,(ly:make-pitch -1 3 NATURAL-LOWER))
       (f     . ,(ly:make-pitch -1 3 NATURAL))
       (fih   . ,(ly:make-pitch -1 3 NATURAL-RAISE))
       (fiseh . ,(ly:make-pitch -1 3 SHARP-LOWER))
       (fis   . ,(ly:make-pitch -1 3 SHARP))
       (fisih . ,(ly:make-pitch -1 3 SHARP-RAISE))
       (fisis . ,(ly:make-pitch -1 3 DOUBLE-SHARP))

       (geses . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
       (geseh . ,(ly:make-pitch -1 4 FLAT-LOWER))
       (ges   . ,(ly:make-pitch -1 4 FLAT))
       (gesih . ,(ly:make-pitch -1 4 FLAT-RAISE))
       (geh   . ,(ly:make-pitch -1 4 NATURAL-LOWER))
       (g     . ,(ly:make-pitch -1 4 NATURAL))
       (gih   . ,(ly:make-pitch -1 4 NATURAL-RAISE))
       (giseh . ,(ly:make-pitch -1 4 SHARP-LOWER))
       (gis   . ,(ly:make-pitch -1 4 SHARP))
       (gisih . ,(ly:make-pitch -1 4 SHARP-RAISE))
       (gisis . ,(ly:make-pitch -1 4 DOUBLE-SHARP))

       (aeses . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
       (ases  . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
       (aeseh . ,(ly:make-pitch -1 5 FLAT-LOWER))
       (aseh  . ,(ly:make-pitch -1 5 FLAT-LOWER))
       (aes   . ,(ly:make-pitch -1 5 FLAT))
       (as    . ,(ly:make-pitch -1 5 FLAT))
       (aesih . ,(ly:make-pitch -1 5 FLAT-RAISE))
       (asih  . ,(ly:make-pitch -1 5 FLAT-RAISE))
       (aeh   . ,(ly:make-pitch -1 5 NATURAL-LOWER))
       (a     . ,(ly:make-pitch -1 5 NATURAL))
       (aih   . ,(ly:make-pitch -1 5 NATURAL-RAISE))
       (aiseh . ,(ly:make-pitch -1 5 SHARP-LOWER))
       (ais   . ,(ly:make-pitch -1 5 SHARP))
       (aisih . ,(ly:make-pitch -1 5 SHARP-RAISE))
       (aisis . ,(ly:make-pitch -1 5 DOUBLE-SHARP))

       (beses . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
       (beseh . ,(ly:make-pitch -1 6 FLAT-LOWER))
       (bes   . ,(ly:make-pitch -1 6 FLAT))
       (besih . ,(ly:make-pitch -1 6 FLAT-RAISE))
       (beh   . ,(ly:make-pitch -1 6 NATURAL-LOWER))
       (b     . ,(ly:make-pitch -1 6 NATURAL))
       (bih   . ,(ly:make-pitch -1 6 NATURAL-RAISE))
       (biseh . ,(ly:make-pitch -1 6 SHARP-LOWER))
       (bis   . ,(ly:make-pitch -1 6 SHARP))
       (bisih . ,(ly:make-pitch -1 6 SHARP-RAISE))
       (bisis . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
       )
pitchnames = \arrowedPitchNames
#(ly:parser-set-note-names parser pitchnames)

  % The symbols for each alteration
arrowGlyphs = #`(
        (,DOUBLE-SHARP . "accidentals.doublesharp")
        (,(+ SHARP SHARP-LOWER) . "accidentals.sharp.arrowup")
        (,SHARP-RAISE  . "accidentals.sharp.arrowup")
        (,SHARP        . "accidentals.sharp")
        (,SHARP-LOWER  . "accidentals.sharp.arrowdown")
        (,NATURAL-RAISE . "accidentals.natural.arrowup")
        (  0            . "accidentals.natural")
        (,NATURAL-LOWER . "accidentals.natural.arrowdown")
        (,FLAT-RAISE   . "accidentals.flat.arrowup")
        (,FLAT         . "accidentals.flat")
        (,FLAT-LOWER   . "accidentals.flat.arrowdown")
        (,(+ FLAT FLAT-RAISE) . "accidentals.flat.arrowdown")
        (,DOUBLE-FLAT  . "accidentals.flatflat")
)
  % Transposition could generate pitches with alterations
  %  double-sharp-lower (8/10) or double-flat-raise (-8/10)
  %  but there are no such symbols in the font, so we substituted
  %  the most appropriate symbols.
  % If some pitch in your score has no symbol, LilyPond gives a warning.

  % The glyph-list needs to be loaded into each object that
  %  draws accidentals.
\layout {
  \context {
    \Score
    \override KeySignature.glyph-name-alist = \arrowGlyphs
    \override Accidental.glyph-name-alist = \arrowGlyphs
    \override AccidentalCautionary.glyph-name-alist = \arrowGlyphs
    \override TrillPitchAccidental.glyph-name-alist = \arrowGlyphs
    \override AmbitusAccidental.glyph-name-alist = \arrowGlyphs
  }
}
  % MIDI implements microtones as a pitch bend, with one bend per channel.
  % These lines below assign one channel to each Voice, in case there are
  % multiple voices on a staff, so that each voice can have its correct
  % pitch bend.
\midi {
  \context {
    \Staff
    \remove "Staff_performer"
  }
  \context {
    \Voice
    \consists "Staff_performer"
  }
}

  %% A short example tune
notes = \relative c''' {
  \key d\major
  b8 fis eiseh fis b g e cis |
  \set Staff.extraNatural = ##f % avoid bug 1701
  g b d feh g2
}
\score { <<
  \new Staff \with {
    instrumentName = "Violin"
    midiInstrument = "violin"
  } \notes
  \new Staff \with {
    instrumentName =
    \markup\center-column {"Clarinet" \concat{"in B"\flat}}
    midiInstrument = "clarinet"
  } {
    \transposition bes
    \transpose bes c \notes
  }
>>
\layout{}
\midi{}}

Griffschrift für Steirische Harmonika

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.

Code

Variablendefinitionen
\version "2.19.65"

#(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
\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
  }
}
Noten
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
\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

LilyWiki GriffschriftSteirischeHarmonika.gif

Aus dem Internet

Codebeispiel I

wegen der Übersichtlichkeit in eine eigene Seite ausgelagert

Griffschrift Codebeispiel I

Codebeispiel II (Bayerland)

wegen der Übersichtlichkeit in eine eigene Seite ausgelagert

Griffschrift Codebeispiel II

Score for diatonic accordion (LSR)

Griffschrift Score for diatonic accordion (LSR)

Links

Kategorien

Wer verlinkt auf diese Seite?