Griffschrift - LilyPond-Prototyp zum Advent

Be-3
Be-3
Mod Emeritus
Ex-Moderator
HFU
Zuletzt hier
13.01.24
Registriert
28.05.08
Beiträge
5.824
Kekse
63.210
Hallo zusammen,

angeregt durch Griffschrift-Nachfragen der letzten Zeit habe ich nun als Feierabend- und Wochenendbeschäftigung (statt fernsehen) einen kleinen Griffschrift-Prototypen für LilyPond zusammgengebastelt, dessen Funktion ich hier gerne einmal vorstellen möchte.
Ich habe den Thread absichtlich hier im Unterforum eröffnet, weil die Thematik sehr speziell ist und von den meisten Spielern diatonischer Akkordeons im
allgemeinen Musiktheorie-Notensatz-Bereich wohl übersehen würde...

Wer sich für Hintergründe nicht interessiert, möge gleich zum Punkt "Praxis" springen.
Am jahreszeitlich passenden Beispiel von "Wir sagen euch an den lieben Advent" wird der Weg von "normalen" Noten zur fertigen Griffschrift gezeigt.


Grundidee - Umsetzung in LilyPond

anders als bei z. B. der Script-Lösung von Capella werden nicht in einem mehrschrittigen, aber einmaligen Verfahren "normale" Noten unwiederbringlich abgeändert, sondern der musikalische Inhalt (Tonhöhen) bleibt stets erhalten - nur die Darstellung wird beeinflußt.
Insbesondere ist es im Gegensatz zu Capella immer möglich, das Ergebnis zur Kontrolle abzuhören (bei Capella kommen nur die

Kernstück ist im Prinzip eine Funktion, die zu einer beliebigen Tonhöhe ("Pitch") drei Werte zurückliefert:
  1. Die Nummer des Knopfes in der Reihe
  2. Die Nummer der Reihe (bis zu vier Reihen sind unterstützt, Club braucht aber nur drei)
  3. Farbinformation: rot, wenn kein Knopf gefunden werden konnte (nicht spielbar), blau, wenn mehrere Knöpfe möglich sind (bei Club eigentlich nur die Cs auf Druck)

Mit Hilfe dieser Funktion ließen sich auch andere Tabulatursysteme wie z. B. das bretonische CADB-System realisiert werden, bei denen unter dem normalen Notentext die Knopfnummer angegeben wird (für die Kennzeichnung der Reihe wird eine unterschieliche Anzahl von Apostrophen angefügt).

Wie dem auch sei - die Griffschrift arbeitet ja immer nach dem Prinzip, daß mit der mittleren Linie als Zentrum der Reihe nach die Knöpfe der ungeraden Reihen auf den Linien, die Knöpfe der geraden Reihen zwischen den Linien liegen.
Um zwischen erster und dritter (bzw. zweiter und vierter) Reihe unterscheiden kann, werden die Noten der dritten und vierten Reihe gekennzeichnet.
In der klassischen Club-Griffschrift in der Regel mit Kreuz-Versetzungszeichen, bei der Steirischen meist mir Doppelkreuzen oder kreuzförmigen Notenköpfen.

Implementiert ist beides (Standard ist Kreuz-Versetzungszeichen).

Die Instrumentendefinition ist flexibel gehalten und es können praktisch beliebige Knopf-Layouts (auch Club G/C oder Steirisch bis zu 4 Reihen) definiert werden. Auch die Bezeichnungen der Baß-Ziffern bzw. -Buchstaben können frei zugeordnet werden.
Beispielsweise habe ich eine Hohner Ouverture IV mit 10 Baßknöpfen. Die zwei zusätzlichen (Septakkorde) habe ich willkürlich mit 2* und 4* bezeichnet. Das hat den Vorteil, daß bei Instrumenten ohne diese beiden Knöpfe einfach 2 und 4 gespielt werden können - dann klingt eben nur der Dur-Akkord (ohne Sept).

Die Instrumentendefinition erfolgt separat pro Reihe, und jede Reihe ist im Gunde ein Riesen-Akkord, bestehend aus den Tönen in aufsteigender Reihenfolge.
Momentan auf #-Schreibweise (wie in MIDI) beschränkt (sieht vielleicht ungewohnt aus, wenn man es erwartet, aber dis schreibt).
Beispiel für meine Ouverture IV (C/F), Diskant Druck:
Code:
[COLOR=#A9A9A9]% Instrumenten-Definitionen (Hohner Club C/F, OUVERTURE IV)[/COLOR]
[COLOR=#0000FF]\makeDefaultDiatoTuning[/COLOR] [COLOR=#A52A2A]#'push[/COLOR] [COLOR=#0000FF]\diatoTuning[/COLOR] { 
  <fis e g c' e' g' c'' e'' g'' c''' e''' g'''>    [COLOR=#A9A9A9]% 1. Reihe[/COLOR]
  <f a c' f' a' c'' f'' a'' c''' f''' a'''>        [COLOR=#A9A9A9]% 2. Reihe[/COLOR]
  <dis' ais' fis' dis'' d'' fis'' dis'''>          [COLOR=#A9A9A9]% 3. Reihe[/COLOR]
}
[...]
Man sieht: das fis als erster Ton der ersten Reihe ist heute nicht mehr unbedingt Standard. ;)


Zusätzlich benötigte Befehle/Angaben im Noten-Quellcode

Die Eingriffe am "normalen" Original-Notenquellcode sind minimal. Eigentlich braucht man nur die Druck- und Zug-Anweisungen sowie die Möglichkeit, im Zweifelsfall die zu spielende Reihe anzugeben. Natürlich muß man eventuell auch die eine oder andere Note ändern, wenn sie partout nicht spielbar ist. Das ist aber eigentlich kein Problem der Griffschrift, sondern des Instruments an sich.

  • \druck Umschalten auf Zudruck
  • \zug Umschalten auf Aufzug
  • Wenn ein Ton in mehreren Reihen spielbar ist, kann nach der Noten die Reihe angegeben werden: z. B. c\2 bedeutet, daß das c in der zweiten Reihe gespielt werden soll.


Bestimmung der zu druckenden Griffschrift-"Noten"

Glücklicherweise habe ich in LilyPond einen wunderbaren Ansatzpunkt gefunden (das ist ja meistens die Schwierigkeit):
Jedes Notenkopf-Objekt (NoteHead) hat eine Eigenschaft Y-offset, die dem Abstand (gemessen in Linienabständen) von der mittleren Notenlinie bedeutet. Alle anderen Noten-Bestandteile (Hälse, Verländerungspunkte, evenutelle Versetzungszeichen, Akzente, Bögen usw.) richten sich nach diesem Wert.

An Stelle der "normalen" Y-offset-Werte setze ich nun einfach abhängig von Zug oder Druck eine eigene Funktion, welche die Position der Note nach den Griffschrift-Regeln bestimmt - völlig unbeeinflußt von der gewöhnlichen Notenschrift.

Für die direkte Reihenvorgabe per \1, \2 usw. habe ich den Saitennummer-Mechanismus, der sonst bei Gitarren-Noten zum Einsatz kommt, "zweckentfremdet".


Die Praxis

Als Versuchskarnickel habe ich passend zum 1. Advent das Lied Wir sagen euch an den lieben Advent gewählt. :)

Basis: "Normale" Noten

Als Ausgangsbasis habe ich eine vielleicht etwas ungewöhnliche Version von "Wir sagen euch an den lieben Advent" aufgeschrieben. Im zweiten Teil kommt auch mal die Melodie im Baß - das funktioniert hier wunderbar und war für mich unwiderstehlich angesichts der einschränkten Möglichkeiten der Club-Diatonie! :evil:
Natürlich habe ich alles so angelegt, daß alles auf der Club spielbar ist.

club-advent-1.PNG

1. Schritt: Griffschrift-Modus ohne sonstige Vorgaben

Wenn man den "Diatonie-Modus" aufruft, und einfach mal ohne weitere Vorgaben laufen läßt (alles auf Druck, da bräuchte man Klangbutters Endlos-Balg aus der Witzeecke), erhält man folgendes Ergebnis:

club-advent-2.PNG

Alle nicht spielbaren Noten oder Baßtöne sind rot dargestellt (davon gibt es ein paar, weil ja die Balgrichtung noch überhaupt nicht stimmt).
Man sieht auch ein paar blaue Zehen ;) - das C wird jeweils in der ersten passenden Reihe (die erste) dargestellt und blau markiert, damit man den Nachbearbeitungsbedarf sieht.


2. Schritt: Befehle für Zug und Druck einfügen

Was man als erstes tun muß, ist die Balgrichtung vorzugeben. Dies geschieht (absichtlich) nicht automatisch. Es genügt, in der Diskantzeile immer beim Wechsel entweder den Befehl \druck oder \zug in den Quellcode einzutragen.
Dann sieht alles gleich viel besser aus. Auch die Anzahl der blauen Noten ist reduziert.
Man beachte: Auch die Ziffern der Baßzeile richten sich automatisch nach den Zug-/Druck-Vorgaben aus der Diskantzeile!
Die nicht darstellbaren roten Fragezeichen sind verschwunden.

club-advent-3.PNG


3. und letzter Schritt: Reihenangaben für nicht eindeutige Noten

In den vorliegenden Fällen ist es zweifellos geschickter, die blauen Noten in der zweiten Reihe zu spielen.
Nach dem Einfügen von \druck- und \zug-Befehlen und den Reihenangaben haben wird aus dem ansonsten unveränderten Notentext eine brauchbare Club-Griffschrift gezaubert:

club-advent-4.PNG


Soweit erst mal an dieser Stelle vom Prototypen, dessen Nebenwirkungen noch nicht vollends bekannt sind. :eek:
Aber immerhin ein Anfang...

In diesem Sinne: Frohen Advent
Torsten
 
Eigenschaft
 
  • Gefällt mir
Reaktionen: 7 Benutzer
Hallo Torsten,
Zufällig habe ich gerade Deinen Beitrag hier gefunden. Das finde ich ja unheimlich interessant. Ich werde mich gleich mal daran machen, LilyPond zu downloaden und erste Versuche damit zu machen. Nun bin ich kein Programmierer, aber ich hoffe, mit den Anleitungen des Handbuches doch erste Schritte machen zu können. Neben meinem Hobby des Harmonikaspielens (seit gut 2 Jahren), spiele ich auch im Posaunenchor. Da gibt es ja doch manchmal Situationen, dass man etwas bestimmtes spielen möchte, aber die Noten dazu nicht findet. Ich stelle mir vor, hierfür die 4 Stimmen mit Lilypond erstellen zu können.
Mit der Steirischen spiele ich überwiegend auswendig, wobei ich in letzter Zeit auch wohl mal nach Griffschrift einübe, aber dann auswendig spiele. Insofern wäre es auch für mich interessant, normale Noten in Griffschrift umzusetzen. Ich habe eine 5-reihige Strasser (DGDFB), aber 4-reihige Griffschrift reicht mir allemal.
Vielleicht kannst Du mir ja mal unter die Arme greifen, wenn ich Fragen oder Probleme mit Lilypond habe. Oder hast Du schon Tipps für mich, was ich zu Anfang besonders bedenken sollte?
Schöne Grüße aus dem z.Zt. sehr stürmischen Ostfriesland
Wilhelm
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Moin Wilhelm,

LilyPond hat keine grafische Oberfläche und die Noteneigabe ist rein textbasiert. Das ist nicht jedermanns Sache, das mußt Du für Dich ausprobieren.
Als wichtiger Hinweis zu Beginn wäre es, Dir unbedingt (!) frescobaldi runterzuladen - das ist ein spezieller Editor für Lilypond, der gleichzeitig auch eine Vorschaudarstellung des Ergebnisses bietet und per Point-and-Click kann man direkt vom Notentext an die entprechende Stelle im Coding springen.
Das ist ein tausendmal angenehmeres Arbeiten als mit Notepad und Co.

Für Posaunenchor-Noten ist es auch recht einfach anwendbar, aufwendig wird es vor allem bei komplexer Klaviermusik.
Bei Fragen allgemein bietet sich das Notations/Notensatz-Unterforum im Theoriebereich an. Da schaue ich regelmäßig rein.

Griffschrift für Fünfreiher wäre übrigens eigentlich auch kein Problem, es scheitert momentan nur daran, daß ich nicht weiß, wie man die fünfte Reihe darstellt. ;)
Vierreihig funktioniert schon ganz gut (siehe erste Beispiele im Nachbarthread).
Unkomfortabel ist vor allem die Problematik, daß es bei wachsender Reihenzahl immer mehr nicht eindeutige Knopfzuordnungen gibt. Für diesen Fall habe ich jetzt (neben der expliziten Reihenangabe an der Note) einen weiteren Befehl hinzugefügt, mit dem man bei Mehrdeutigkeit gezielt Reihen und Prioritäten vorgeben kann.
Beispielsweise würde bei \rowprio 231 ein Knopf der zweiten Reihe bevorzugt werden. Wenn es den nicht gibt, wird in der dritten Reihe gesucht. Wenn dort auch nichts gefunden wird, kommt die erste Reihe dran.

Viele Grüße und pack Dein Akkordeon wasserdicht ein
Torsten
 
  • Gefällt mir
Reaktionen: 4 Benutzer
Hallo Torsten,

ich finde Deinen Ansatz echt super. Ich bin ein Freund der freien Software und habe mich von meiner Frau begeistern lassen Ihr ein paar Stücke für die Steirische umzusetzen. Die Aufgaben sind klar verteilt, ich sitze am Computer und Sie ist die Musikerin.
Wirst Du deine Funktionen und Skripte auch öffentlich zugänglich machen oder behältst Du die tolle Umsetzung für Dich?
 
Hallo Kaffeetas,

schön, daß Du Gefallen an der kleinen Spielerei findest. :)


Wirst Du deine Funktionen und Skripte auch öffentlich zugänglich machen oder behältst Du die tolle Umsetzung für Dich?

So "toll" war die Umsetzung gar nicht, sie diente vor allem der Auslotung prinzipieller Möglichkeiten.
Klar soll die fertige Lösung frei verfügbar werden, aber im Moment habe ich unglücklicherweise wenig Zeit und zudem noch eine völlig chaotische Baustelle aus der Angelegenheit gemacht, weil ich die interne Verarbeitung bzw. das "Datenmodell" völlig auf den Kopf gestellt und nach den gewonnenen Erkenntnissen verallgemeinert habe, um später mal alle möglichen Arten von Tabulaturen (auch CADB) aus diesen Instrumentendefinitionen erzeugen zu können.

Kurz: momentan ist die Baustelle in der Umstellung und die Prototyp-Version erfordert einfach zu viele Eingriffe, um sie sinnvoll nutzen zu können.

Wenn's demnächst fertig ist, werde ich es auch hier bereitstellen.


Die Aufgaben sind klar verteilt, ich sitze am Computer und Sie ist die Musikerin.

Aber Du bist Dir bewußt, daß man auch musikalisches Hintergrundwissen braucht, um sinnvolle Griffschrift zu produzieren? Gerade bei den Steirischen gibt es oft mehrere Möglichkeiten, ein und dieselben Noten zu spielen/greifen und darüberhinaus basiert LilyPond und auch die Griffschrift-Implementierung auf Standard-Notenschrift.
Will damit sagen, daß eine gewisse Überschneidung der Kompetenzen von Vorteil sein könnten. :D

Ich bin ein Freund der freien Software und habe mich von meiner Frau begeistern lassen Ihr ein paar Stücke für die Steirische umzusetzen.

Wenn Du LilyPond noch nicht kennst, dann stelle Dich auf nicht unerhebliche Einarbeitung ein (nur als Warnung am Rande). ;)
Viele tun sich mit grafischen Oberflächen und Mausbedienung leichter: Schau Dir auch mal MuseScore an.
Das Schöne an Griffschrift ist ja, daß sie mit "normalen" Noten arbeitet, also auch mit fast jedem Notenprogramm gesetzt werden kann, solange man es schafft, irgendwie die Druck- und Zug-Striche zu ziehen.

Viele Grüße
Torsten
 
Hi Torsten,

gibt's was neues von der Griffschrift für LilyPond? Ich würde auch gerne eine "nur einigermaßen" brauchbare Version deiner Implementierung ausprobieren. Bin nämlich heftig am Suchen nach Griffschrift für Steirische mit LilyPond... und finde nichts überzeugendes; am ehesten noch http://media.repro-mayr.de/68/130268.sonst

Grüße, Jakob

edit: Ich wollte keinen Stress machen, dein letzter Beitrag war ja im März -- ich hab' das mit dem "Registriert seit 2008"-Datum verwechselt.
 
Hallo Be-3,

mit großem Interesse habe ich diesen Thread gelesen. Da ich seit langer Zeit schon mit Lilypond arbeite, hatte ich ebenfalls schon überlegt, wie man die Griffschrift umsetzen könnte.

Aus verschiedensten Gründen kommt für mich bei allgemeinen Notensatz nur Lilypond infrage.
Meine persönliche Abneigung gegen Capella (WYSIWYG-Oberfläche und unschönes Notenbild) habe ich zugunsten der Griffschrift mal in den Hintergrund gestellt und das Capella Script getestet. Hierbei stört mich besonders, dass man keinen direkten Zugriff auf die Wahl der alternativen Töne bekommt. Darüber hinaus stören mich weitere grundsätzliche Dinge beim Editieren des Notensatzes, die Capella betreffen.

Leider sind ja schon ein paar Jahre vergangen, aber ich grabe diesen Faden trotzdem noch mal aus, um Dich zu Fragen:

Hast Du die Umsetzung noch weiter verfolgt oder ist das im Sande verlaufen?

Viele Grüße

Multimax
 
Hallo Multimax,

@Be-3 ist leider seit fast 2 Jahren inaktiv - von ihm wirst Du also vermutlich keine zeitnahe Antwort erwarten können - falls überhaupt :(.
 
Ja, das befürchte ich auch. Ich wollte es aber nicht unversucht lassen. Vielleicht bekommt er ja E-mail-Benachrichtigunen.
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben