Be-3
Mod Emeritus
- 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:
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:
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.
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!
Natürlich habe ich alles so angelegt, daß alles auf der Club spielbar ist.
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:
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.
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:
Soweit erst mal an dieser Stelle vom Prototypen, dessen Nebenwirkungen noch nicht vollends bekannt sind.
Aber immerhin ein Anfang...
In diesem Sinne: Frohen Advent
Torsten
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:
- Die Nummer des Knopfes in der Reihe
- Die Nummer der Reihe (bis zu vier Reihen sind unterstützt, Club braucht aber nur drei)
- 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]
}
[...]
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!
Natürlich habe ich alles so angelegt, daß alles auf der Club spielbar ist.
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:
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.
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:
Soweit erst mal an dieser Stelle vom Prototypen, dessen Nebenwirkungen noch nicht vollends bekannt sind.
Aber immerhin ein Anfang...
In diesem Sinne: Frohen Advent
Torsten
- Eigenschaft