Allgemein > LilyJAZZ: Eine Jazz-Schrift für Lilypond

LilyJAZZ: eine Jazz-Schrift für Lilypond (1)

(1/3) > >>

Be-3:
Hallo zusammen,

angeregt durch eine Anfrage von Acamat (https://liarchiv.joonet.de/index.php?topic=1194.0) habe ich mich auf meinen alten Wunsch besonnen, mit Lilypond auch eine Art "Jazz-Stil" setzen zu können.
Hier sind nun die ersten Ergebnisse:

Lilypond-Version 2.16
Weil die Fähnchen (Flags) nun selbständig sind (sich vom Stem getrennt haben), benötigt LilyJAZZ eine Version > 2.14.

Schrift
Im Gegensatz zu einfach auszutauschenden Text-Schriften stammen die Notensymbole bei Lilypond aus einer zentralen Systemschrift. Will man also Notenköpfe, Fähnchen usw. durch nicht in Feta/Emmentaler enthaltene Zeichen ersetzen, muß man ziemlich tief in die Trickkiste greifen.
Am einfachsten wäre es, wenn die speziellen Jazz-Zeichen ebenso wie beispielsweise die Mensuralnotation in Emmentaler aufgenommen wären. Dies ist eventuell ein Fernziel. Momentan begnüge ich mich damit, die Zeichen aus einer "externen" Schrift zu benutzen.
Um von kommerziellen Schriften unabhängig zu sein, habe ich mit font forge die Schrift "LilyJAZZ" aus der Taufe gehoben, die als OTF (Open Type) an dieses Posting angehängt ist.

LilyJAZZ enthält eine gesunde Basis an Zeichen (Anhang: LilyJAZZ-glyphlist-v01.pdf), die (zur besseren Orientierung) an den Unicode-Plätzen liegen, an denen auch die ensprechenden Feta-Zeichen in Emmentaler stehen. Sie heißen auch so, nur, daß noch ein "jazz" hinten angehängt ist.
Pate gestanden haben (ganz offensichlicht) die Sigler-Jazz-Fonts (ich habe mich an Frank Sikoras "Neuer Jazz-Harmonielehre" orientiert - bis auf die dort allgemein nach meinem Geschmack viiieel zu dünnen Linien).
Die LilyJAZZ-Zeichen sind alle aus Grafiken vektorisiert und bedürfen sicherlich noch der Überarbeitung - aber als Ausgangsbasis reichen sie allemal.

Die Zeiten, in denen ich mich mit Metafont beschäftigt habe, liegen erschreckend lange zurück und momentan liegt meine Priorität auch nicht unbedingt auf der Schrift selbst, sondern eher ihrer Einbindung in Lilypond.
Außerdem ist eine solche "Handschrift" nicht auf hunderprozentige Exaktheit angewiesen.

Eine passende Text-Schrift (nicht einmal für Akkord-Symbole) gibt es noch nicht, sie ist aber in Planung. Zunächst einmal soll es wirklich nur um die Noten gehen.

Generelles Prinzip
Das Prinzip besteht darin, an allen nötigen Stellen - und das sind viele - die Stencils auszutauschen.

Zeichenzugriff
Genau wie in Lilypond werden die Zeichen über ihren Namen, nicht ihre (keinesfalls festgelegte Unicode-Nummer) angesprochen.
Als "Ersatz" für den \musicglyph-Befehl gibt es beispielsweise den \jazzglyph-Befehl, der das ensprechende LilyJAZZ-Zeichen als Markup liefert:
Beispiel:
\mark \markup { \musicglyph "scripts.segno" } }
wird zu
\mark \markup { \jazzglyph "scripts.segnojazz" } }

Die "jazz"-Endung wäre eigentlich unnötig, ich fand aber die Abgrenzung zu den Originalnamen sinnvoll - vor allem in Hinblick auf eine eventuell spätere Eingliderung in Emmentaler (man kann ja nie wissen...)

Nun aber genug fürs erste: "der Worte sind genug gewechselt, laßt mich auch endlich Taten sehn":


--- Code: ---\version "2.16.0"
\include "LilyJAZZ.ily"

#(set-global-staff-size 23)

\new Staff \relative c'' {
   \jazzOn
   \key bes \major
   \time 4/4
    r8 f,\fp g[ f] c'\accent c4.\tenuto |
    r8 g\p a[ g] d'2\trill |
    \mark \markup { \small \jazzglyph #"scripts.segnojazz" }
    r8 c\mp d[ c] f f4 e8 |
    g8\staccato f\staccato d\staccato a ~ a as \acciaccatura as8 g4\mf |
    r8 f\f g f\marcato c'\marcato  c4. |
    r8 g\sfpp a[ g] d' d4 c8 |
    a1\fff ~ | a2\fermata r \bar "||"
}

--- Ende Code ---
Die Schriftart LilyJAZZ.otf und die benötigte Include-Datei LilyJAZZ.ily befinden sich im Anhang.

Es gibt noch viele Probleme und unfertige/unvollkommene Lösungsansätze, aber immerhin: ein Anfang ist gemacht.
Zu Einzel- und Besonderheiten sollten wir vielleicht dezidierte Threads eröffnen. Diese Mammut-Baustelle ist zu vielschichtig, um in einem einzigen Faden sinnvoll beackert zu werden.
Meine Güte, was hab' ich da angefangen...  :o

Viele Grüße
Torsten

kilgore:
 :o

Echt super! Ich freue mich damit bald rumzuspielen! Toll gemacht Torsten!

Gruß
kil

harm6:
Hallo Torsten,

wow!!


--- Zitat ---Meine Güte, was hab' ich da angefangen...  :o
--- Ende Zitat ---

Grins!
Ein Riesenprojekt eben. :D


--- Zitat ---Zu Einzel- und Besonderheiten sollten wir vielleicht dezidierte Threads eröffnen. Diese Mammut-Baustelle ist zu vielschichtig, um in einem einzigen Faden sinnvoll beackert zu werden.
--- Ende Zitat ---

Ein paar Sachen kann man direkt erkennen:
-Takt-Angabe klappt nur numerisch, statt C-Zeichen
-Fonts für Texte, Akkordnamen etc.
-shortcuts für Artikulationen
-Bracket-BarLines (btw, der patch macht Fortschritte)
ist, was ich so direkt sehe.
Falls Du einzelne Probleme in gesonderten Threads erörtern magst werde ich mithelfen so gut ich kann.

Ich habe mir mal LilyJAZZ-glyphlist-v01.pdf angesehen.
(Muß eine Heidenarbeit gewesen sein.)

Nun habe ich von Metafont keine Ahnung, aber Du hast ja dankenswerter Weise den LilyPond-default und Deine Arbeit einander gegenübergestellt.
Dabei ist mir aufgefallen, daß Du die Bounding Box gelegentlich sehr stark überschreitest.

Der LilyPond-default für z.B. "scripts.trill" und das forte-Zeichen macht das auch, aber gerade bei diesen Zeichen habe ich die Erfahrung gemacht, daß sie in dem Bereich wo die Box überschritten wird kollisionsanfällig sind, je nachdem wie man diese Zeichen weiterverarbeitet.
Wenn ich hier aufgrung mangelnder Erfahrung mit Metafont Blödsinn schreibe, ignorier es einfach. Aber es stellt sich mir die Frage, ob die Kollisionen nicht vermieden werden könnten, wenn man die Bounding Box einhielte.

Schriftarten:
Vielleicht kennst Du ja folgenden Thread, insbesondere:
https://liarchiv.joonet.de/index.php?topic=167.msg867#msg867
Dem link dort folgend habe ich ein paar Schriftarten runtergeladen und kann damit das png aus dem Anhang erzeugen.
Die Schriften sind nicht perfekt, der Autor schreibt ja auch, daß er die Entwicklung eingestellt hat.
Aber vielleicht trotzdem interessant.

Der Code dafür:

--- Code: ---\markup \fill-line { \null \fontsize #6 \override #'(font-name . "Real Book Title") "LilyJazz-Test" \null }
\markup \fill-line { \null \fontsize #6 \override #'(font-name . "Colorado Book Text")"LilyJazz-Test" \null }
--- Ende Code ---


Soweit erstmal mit ehrfürchtigem Gruß :)
  Harm

Be-3:
Hallo Harm,

die von Dir genannten Punkte sind auch (unter anderem) die offenen/verbesserungswürdigen Stellen.
Ich hatte mir nur gestern gedacht: "Was soll's - jetzt ist mal Zeit für einen Redaktionsschluß für eine Alpha-alpha-Vorab-Version". Sinn und Zweck war, überhaupt irgendeine Diskussionsgrundlage zu schaffen, und bei den vielen zu beachtenden Dingen sind einige unfertig oder fehlen gar (noch) komplett.


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ---Ein paar Sachen kann man direkt erkennen:
-Takt-Angabe klappt nur numerisch, statt C-Zeichen

--- Ende Zitat ---
Die numerischen Angaben funktionieren, weil die Ziffern auch im "Original-Lilypond" auf ihren Standard-Ascii-Plätzen liegen und direkt (nicht über ihren Postscript-Namen) angesprochen werden. Daher genügte es, einfach Fontname und -größe zu ändern:

--- Code: ---  \override Staff.TimeSignature #'font-name = #"LilyJAZZ"
  \override Staff.TimeSignature #'font-size = #5

--- Ende Code ---
Für die nicht-numerischen (also das Common-Time-C und das Cut-Time-C) müßte man noch manuell den Stencil ersetzen (die Zeichen gibt es schon als "timesig.C44jazz" und "timesig.C22jazz").
Ich konnte mich nur noch nicht zu einer Entscheidung durchringen, wie genau das abgebildet werden soll. Am liebsten wäre mir ja, den \time-Befehl zu ersetzen.


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ----Fonts für Texte, Akkordnamen etc.

--- Ende Zitat ---
Ja, die habe ich bewußt noch hinten angestellt, weil sie ja kein prinzipielles Problem darstellen (außer vielleicht die Besonderheiten bzw. Lücken im "Ignatzek": bei den Feinheiten stecken dann noch einige Teufel in einigen Details...)


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ----shortcuts für Artikulationen

--- Ende Zitat ---
Du glaubst nicht, wie es mich genervt hat, im Vorab-Beispiel immer "\staccato" usw. schreiben zu müssen. Aber der Versuch, die Shortcuts so einfach zuzuweisen (à la "slashHat = "marcato") führte zu Fehlern wegen unbekannter Richtung (direction). Baustelle!


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ----Bracket-BarLines (btw, der patch macht Fortschritte)

--- Ende Zitat ---
Schön, daß der Patch Fortschritte macht. Bei mir auch noch in der Rubrik "Mut zur Lücke", gepaart mit der mathematischen Denkweise "das Problem ist lösbar". :)


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ---Dabei ist mir aufgefallen, daß Du die Bounding Box gelegentlich sehr stark überschreitest.

--- Ende Zitat ---
Die Schrift hat übrigens Metafont nie gesehen, sondern stammt direkt aus font forge.
Bei den Bounding Boxes habe ich mich einerseits ursprünglich an den Original-Feta-Werten orientiert, andererseits experimentell festgestellt, daß sie manchmal praktisch überhaupt keine Auswirkungen hat (Fähnchen sind ohnehin noch ein Thema). Andererseits war es erst einmal bequem, z. B. bei den Schlüsseln die Box so weit nach rechts zu erweitern, daß sich ohne große Verschiebereien ein vernünftiger Abstand zur nachfolgenden Key- oder Time-Signature oder ergibt.  :-[

Übrigens: für den \clef-Befehl gibt es auch noch keine vorzeigbare Lösung, da wird erst einmal ganz dumm der Stencil auf den Violinschlüssel gesetzt. Bei "\clef bass" bekommt man dann einen Violin-F-Schlüssel, hüstel  ;D


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ---Der LilyPond-default für z.B. "scripts.trill" und das forte-Zeichen macht das auch, aber gerade bei diesen Zeichen habe ich die Erfahrung gemacht, daß sie in dem Bereich wo die Box überschritten wird kollisionsanfällig sind, je nachdem wie man diese Zeichen weiterverarbeitet.

--- Ende Zitat ---
Das klassische Forte-Zeichen hängt deshalb so aus seiner Box heraus, damit es nicht zu weit von evtl. benachbarten Zeichen steht (bei mf usw.). Das war im Bleisatz auch schon so. Zumindest brechen heute die überstehenden Teile nicht mehr ab...


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ---Wenn ich hier aufgrung mangelnder Erfahrung mit Metafont Blödsinn schreibe, ignorier es einfach. Aber es stellt sich mir die Frage, ob die Kollisionen nicht vermieden werden könnten, wenn man die Bounding Box einhielte.

--- Ende Zitat ---
Bei den "script.*"-Zeichen stehen z. B. auch die Fetas zentriert und ich habe (bis auf Flüchtigkeitsfehler), die Left Boundary entsprechend gesetzt, was aber in der Liste nicht sichtbar wird.
Wie dem auch sei - die blaue Grundlinie und die rote Box sind auch genau dazu gedacht, die Gründe für eventuelle Probleme schneller zu erkennen. Eins ist sicher - die Schrift ist auf jeden Fall noch verbesserungswürdig.


--- Zitat von: harm6 am Sonntag, 30. September 2012, 00:23 ---Schriftarten:
Vielleicht kennst Du ja folgenden Thread, insbesondere:
https://liarchiv.joonet.de/index.php?topic=167.msg867#msg867
[...]

--- Ende Zitat ---
Mit dem Gedanken habe ich auch schon gespielt. Vielleicht wäre es schön, wenn man auch verschiedene Akkord- und Titel-Stile hätte. In Planung ist jedenfalls auch eine (ebenfalls an die Sigler-Fonts) angelehnte (ähem...) Text- und Chord-Schrift, weil sie einfach sehr schön zu den Jazz-Noten paßt.

Ich habe gerade das Real Book (Hal Leonard Corporation) Volume I bis III, überflüssigerweise gleichzeitig in C-, Bb- und Eb-Ausgabe vor mir liegen :)

Viele Grüße
Torsten

Acamat:
Hallo Torsten,

vorab erst einmal ein riesen.dickes.mega.fettes Lob an Dich! Beim Lesen deines Beitrags blieb mir zunächst die Spucke weg, dann bekam ich keine Luft mehr und schließlich fand ich mich auf dem Boden sitzend wieder. :)

Im Ernst: Mit meinem Beitrag ahnte ich schon, dass ich da ein großes Fass aufmache; was mir allerdings nicht klar war, dass es dem Umfang des "Dürkheimer Riesenfass" ähneln sollte (für alle, denen die Pfalz eher unbekannt ist: http://de.wikipedia.org/wiki/D%C3%BCrkheimer_Riesenfass).

In diesen Tagen jährt sich mein Umstieg auf Ubuntu und damit die Beschäftigung mit der Linux-Komandozeile und deren Möglichkeiten. Ungefähr neun Monate arbeite ich mit Lilypond, wie auch PostScript. In dieser Zeit habe ich viel gelernt; vorallem, welches Potential in diesen Werkzeugen steckt und dass die bisher von mir erkundeten Landschaften im Verhältnis zu der Gesamtfläche des unbekannten Kontinents bestenfalls marginal sind.

Ich möchte gerne meine Hilfe anbieten. Als Anwendungsentwickler darf ich mich durchaus als profunden Kenner von C/C++, VB und C# wähnen; einigen Skriptsprachen bin ich hier und da auch schon begegnet. Allerdings ist LISP für mich absolutes Neuland. Ich ahne zwar, was in "LilyJAZZ.ily" passiert (und an einigen Stellen meine ich sogar "raw ps" zu erkennen), das reicht für eine wirksame Unterstützung wohl kaum aus. Wie kann also helfen; die ps-Daten der einzelnen Glyphen extrahieren? ;)

Klar, ist das nicht legal, aber ich finde, dass jemand, der dieses Design _produktiv_ einsetzen will, durchaus bereit sein sollte diese $59.95 USD zu berappen; genauso wie ich dieses Jahr anstatt für Wikipedia diesmal für Lilypond spenden werde. Bis dahin kann man ja die Glyphen - mit absichtlichen Qualtitätminderungen - (sagen wir mal) nachempfinden.

--
LG,
Acamat

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln