Autor Thema: Verbesserung der LilyPond-Eingabe-Syntax!?  (Gelesen 16635 mal)

harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #15 am: Freitag, 28. September 2012, 23:33 »
Hallo Arnold,

Zitat
c) einfachere Syntax um manuell die Balkensetzung in der zweiten Balkenebene angeben zu können. Vielleicht so:

c32[[ c c c] c[ c c c]]


Rückfrage:

Welchen output stellst Du Dir bei Deinem Vorschlag vor Version a) oder b) aus dem Bildanhang?
Oder hast Du einen Vorschlag wie eine Syntax aussehen könnte, die geeignet wäre zwischen a) und b) zu differenzieren?


Viele Grüße,
  Harm


fugenkomponist

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #16 am: Freitag, 28. September 2012, 23:46 »
Ich hab Variante b) so noch nie gesehen; gibts sowas wirklich?

harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #17 am: Samstag, 29. September 2012, 01:53 »
Zitat von: fugenkomponist
Ich hab Variante b) so noch nie gesehen; gibts sowas wirklich?

Im Anhang ein Bild aus dem Artikel:

"Notation in Elliott Carter’s Double Concerto"
Example 25c

Zugegebenermaßen ist die musikalisch Situation natürlich grundsätzlich anders, aber es geht ja auch nur darum, daß man unterteilte Balken mit einem oder zwei oder bei noch kleineren Notenwerten mit noch mehr durchgehenden Balken schreiben kann, bzw um die Syntax mit der man es LilyPond mitteilen kann.

Gruß,
  Harm
« Letzte Änderung: Samstag, 29. September 2012, 02:16 von harm6 »

Norbert31

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #18 am: Samstag, 29. September 2012, 21:21 »
Hallo,

ich lese in diesem Forum schon ein paar Monate und habe viele interessante Postings gelesen die mir bei eigenen Problemen geholfen haben. Danke dafür!

Nach Harms Aufruf möchte ich zum ersten Mal in diesem Forum aktiv werden. Jetzt aber zum Thema:

Die Verteilung von Silben in Liedern mit mehreren Strophen empfinde ich als umständlich. Speziell die Befehle:   \set ignoreMelismata = ##t     und     \unset ignoreMelismata .
Meine Idee wäre, die Möglichkeit zu schaffen mit einem speziellen Zeichen das ignorieren von Melismata an dieser Stelle einmal auszuschalten. Man hätte dann zusätzlich zum Bindestrich und Unterstrich ... noch ein zusätzliches Zeichen (z.B. | )

Gruß
  Norbert





harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #19 am: Samstag, 29. September 2012, 22:46 »
Hallo Norbert,

herzlich willkommen im Forum.

In der NR kann man folgendes finden

Zitat von: NR
Known issues and warnings

Unlike most \set commands, \set ignoreMelismata does not work if prefixed with \once. It is necessary to use \set and \unset to bracket the lyrics where melismata are to be ignored.

Wenn ich Dich richtig verstehe, schlägst Du also einen short-cut vor, der \once \set ignoreMelismata bewirken soll.

Werde ich in meine Liste aufnehmen.


Danke,
  Harm

Acamat

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #20 am: Sonntag, 30. September 2012, 13:36 »
Hallo Leute,

nach etwa neun Monaten der Beschäftigung mit Lilypond meine ich vom blutigen Anfänger zum fortgeschrittenen Anfänger transistiert zu sein. Die wirklichen Feinheiten und Möglichkeiten muss ich zwar noch oft aus Beispielen (manchmal unverstanden) herauskopieren, allerdings fühle ich mich bereits in der Lage die meisten Wünsche und Anliegen bis zu einem geweissen Grade mir selbst zu erarbeiten. Ich hoffe, dass ist genau die Anwendergruppe, auf die Harm mit seiner Anfrage abzielt. Allerdings bin ich durch meinen Beruf etwas "versaut", was Programmierung angeht und vielleicht deshalb doch nicht so gut geeignet.

Im Allgeminen komme ich jedenfalls mit der Syntax und der Grammatik gut zurecht. In den meisten Fällen sind sie einheitlich und plausibel; und es ist für mich durchaus natürlich, dass man sich die Semantik und bspw. die Rollen und Aufgaben der einzelnen Engraver erarbeiten muss, bevor man sie nach seinen Vorstellungen steuern möchte.

Mein dringlichster Wunsch ist bei Bezeichnern neben Buchstaben auch Ziffern und "_" zuzulassen, also [a-z][a-z0-9_]; gerade bei umfangreichen Arbeiten wird das meiner Meinung nach eine besser Strukturierung und Übersicht ermöglichen.

Zum zweiten war mir, vorallem am Anfang, die Bedeutung der unterschiedlichen Blöcke "<<…>>", "{…}" und "<>" ersteinmal schleierhaft. Auch jetzt ist es für mich manchmal eine Stolperfalle. Meine Idee, noch ausgesprochen unausgegoren und nicht wirklich durchdacht: Warum nicht auf alle "anonymen" Ausdrücke und Blöcke verzichten und ausschließlich Konstrukte vom Schema \Befehl [Attribute] {…} verwenden?

Aus
< […] >

<< {…} \\ {…} >>

\score{<< \new Staff<< […] >> >>}

würde dann möglicherweise
\chordtonics{[…]}

\polytonic{\tonics{…} \tonics{…}}

\score{
\multipart{
\new Staff{[…]}
}
}

werden. Oftmals fällt dabei zwar mehr Schreibarbeit an, aber einzelne Ausdrücke und Blöcke sind einfacher (bspw. für Suchen und Ersetzen) zu identifizieren und die Arbeit verständlicher zu strukturieren.

--
LG,
Acamat



harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #21 am: Sonntag, 30. September 2012, 15:01 »
Hallo Acamat,

vielen Dank für Deine Vorschläge.

Zitat von: Acamat
Mein dringlichster Wunsch ist bei Bezeichnern neben Buchstaben auch Ziffern und "_" zuzulassen, also [a-z][a-z0-9_]; gerade bei umfangreichen Arbeiten wird das meiner Meinung nach eine besser Strukturierung und Übersicht ermöglichen.

Ich nehme an Du meinst, z.B.

geige_1 = { ... }
geige_2 = { ... }
etc

Dieser Wunsch wurde schon sehr häufig geäußert und auch auf -devel diskutiert. Ich habe die Diskussionen aber nicht so genau verfolgt, daß ich jetzt sagen könnte wie der Stand der Dinge ist.

Tatsächlich geht aber bereits jetzt:

geige¹ = { ... }
geige² = { ... }
etc

Das habe ich auch schon mal dort gepostet, zuletzt hat es Arnold ebenfalls geschrieben.

Zitat von: Acamat
\score{<< \new Staff<< […] >> >>}

Du weißt, daß eine << ... >> hier überflüssig ist?
\score {
  << % hier
  \new Staff
  << […] >> 
  >> % und hier
}

Sie sind nur dann nötig, falls man mehrere Staffs hat, aber keine StaffGroup, ChoirStaff haben möchte.
\new Staff << […] >> sollte idR auch eher \new Staff { ... } sein.
Z.B.:
\score {
  <<
  \new Staff { ... }
  \new Staff { ... }
  >>
}

Wobei \score { ... } auch wegelassen werden kann (zumindest in diesem minimal-Beispiel).

Gruß,
  Harm

Acamat

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #22 am: Sonntag, 30. September 2012, 16:41 »
Hallo Harm,

Zitat
Du weißt, daß eine << ... >> hier überflüssig ist?

Ja ;) Es ging mir bei diesem beispielhaften Beispiel auch um die anonymen Elemente, nicht um das konkrete Beispiel.

\multistaff{…}

ersetzt

<< … >>

im Gegensatz zu

\multimusic{\music{…} \music{…}}

ersetzt

<< {…} \\ {…} >>


Das <<->>-Blöcke mehrfach enthaltene Blöcke enthalten, kann man in diesen beiden Beispielen durchaus einsehen. Doch der Anfänger mag das vielleicht als verwirrend empfinden.

--
LG,
Acamat

Arnold

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #23 am: Montag, 1. Oktober 2012, 09:37 »
Zur Rückfrage von harm:
Zitat
c) einfachere Syntax um manuell die Balkensetzung in der zweiten Balkenebene angeben zu können. Vielleicht so:

c32[[ c c c] c[ c c c]]

Die Variante a ist die typische Variante, für die ich mir eine einfachere Eingabe/Steuerung vorstelle.
Ob da die doppelten eckigen Klammern die beste Syntax-Wahl sind, bin ich mir gar nicht so sicher.

Außer der Trennung »ein Balken / viele Balken« kommt auch noch die Richtungssteuerung der »Fähnchenbalken« (die nur an einem Notenhals hängen) hinzu, die man gelegentlich auch manuell steuern will oder muß.
c'16 c'32 c'16 c'32 c'16Vielleicht als Kommandos \beamletLeft und \bemletRight.

Arnold


fugenkomponist

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #24 am: Montag, 1. Oktober 2012, 11:51 »
Wie wärs mit
c32[[ c c c] c[ c c c]]
für Variante a und
c32[[[ c c c] c[ c c c]]]
für Variante b? Damit würde man klar machen, dass es bei b mehr „äußere“ Balken gibt als bei a.
Für \beamletleft und \beamletright könnte ich mir
c8[[ c16] c8] und c8[ c16[ c8]] vorstellen.
Ich überleg mir mal, wie man das formal sinnvoll definieren könnte.

Arnold

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #25 am: Dienstag, 2. Oktober 2012, 11:22 »
So, und mir ist jetzt noch das verbesserungswürdige tie/slur/phrasingSlur-in/out eingefallen - das Problem, wenn außer einem Haltebogen auch noch Bindebogen und/oder Phrasierungsbogen in- bez. aus der Wiederholungsklammer hinein- oder herausgehen. Und das ganze sollte selbstverständlich auch bei \unfoldRepeats (oder einem zukünftigen \senzaRep zur Extraktion einer D.C. bzw. D.S.-Wiederholung) die richtigen Bögen setzen.

Grobes Beispiel (mit dem nicht zu bändigenden Bestreben, es noch ein bischen musikalisch sinnvoll zu gestalten):
\partial 2
e''4(\( c'''~
\repeat volta 2 {
  c''' g'') r f''(
  a'')\) r g(\( d'~
}
\alternative {
  { %quasi save tie/slur/phrasingSlur state (if not unfolded)
    d' b) r g'(
    f')\) r e''(\( c'''~
    %quasi terminate tie/slur/phrasingSlur state (in not unfolded)
  }
  { %quasi recall saved tie/slur/phrasingSlur state (if not unfolded)
    d' b g) r
    c'2\)
  }
}

In gedruckten Noten fand ich sogar die Konstellation, daß der Haltebogen nur in die erste Volta ging, in der zweiten aber gleich eine Pause kam. Hier wäre der Status also gegebenenfalls manuell zu setzen.

Arnold


Arnold

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #26 am: Donnerstag, 4. Oktober 2012, 08:57 »
Und noch ein Thema: Seitenaufteilung

- Anstelle der System-Anzahl auch die Seitenanzahl vorgeben können
- Seiten-Anzahl als Modulo-Wert vorgeben (gerade oder ungerade Seitenzahl - gut bei kapitelweiser Erstellung von Liederbüchern - oder Modulo-4-Rest = Booklet-Grenze)
- Booklet/Heft mit Aufklappseiten (die Ergänzungsseiten müssen dann ca. 5 bis 10 mm schmäler sein) - kann ich mir nur in Kombination mit explizit gesetzen \pageturn-Anweisungen vorstellen.
   Z. Bsp. [ 1]       [2a| 3| 4]        [ 5| 6]      ...

Arnold

harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #27 am: Donnerstag, 4. Oktober 2012, 11:08 »
Hallo Arnold,

Rückfragen:

Zitat
- Anstelle der System-Anzahl auch die Seitenanzahl vorgeben können
Ok, verstanden.
EDIT: (Doch nicht verstanden)
page-count gibt es ja bereits, meinst Du etwas anderes?

Zitat
- Seiten-Anzahl als Modulo-Wert vorgeben (gerade oder ungerade Seitenzahl - gut bei kapitelweiser Erstellung von Liederbüchern - oder Modulo-4-Rest = Booklet-Grenze)
Hier bin ich nicht sicher, ob ich Dich schon verstanden habe.
Kannst Du das in pseudo-code schreiben?
Und auf welchem level soll das angegeben werden: book, bookpart, score?

Zitat
- Booklet/Heft mit Aufklappseiten (die Ergänzungsseiten müssen dann ca. 5 bis 10 mm schmäler sein) - kann ich mir nur in Kombination mit explizit gesetzen \pageturn-Anweisungen vorstellen.
   Z. Bsp. [ 1]       [2a| 3| 4]        [ 5| 6]      ...
Meinst Du das Leporello-Format?


Gruß,
  Harm

EDIT Zusatz: s.o.
« Letzte Änderung: Donnerstag, 4. Oktober 2012, 12:06 von harm6 »

Arnold

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #28 am: Freitag, 5. Oktober 2012, 09:25 »
Hallo Harm.

Zu page-count: Diese Option habe ich wohl bisher übersehen.

Zu Modulo: qaasi page-count = 4n + 3 - also 3 oder 7 oder 11 oder 15 ... Seiten
theoretish in allen Ebenen möglich - bei Score-Ebene muß ein Seitenumbruch vor und nach dem Score durchgeführt werden.

Zu Leporello: Leporello = Ziehhamonika-Blätter, z. Bsp. für Kavier: [ 1| 2| 3| 4] mit Rückseite [ 5| 6| 7| 8]
Hier ist aber in einem Heft (eigentlich immer 2 Seiten) quasi eine Extraseite zum Aufklappen angesetzt weil die Noten bis zum nächsten pageTurn nicht auf zwei Seiten passen, eventuell auch zwei Extraseiten (eine links und eine rechts). Ähnlich den kopierten Seiten die manche Musiker in ihren Stimmheften verwenden, um ein ungünstig gedrucktes Umblättern zu vermeiden.

Und noch ein Nachtrag zur Beamlet-Richtung: Ich könnte mir eine Schreibweise wie eine Artikulation dafür vorstellen:
c'8[ c'16-] c'-[ c'8]
% wird dann zu
%  ____ ____ ____
% |  __|    |__  |
% |    |    |    |
% o    o    o    o
%

Arnold

harm6

  • Member
Re: Verbesserung der LilyPond-Eingabe-Syntax!?
« Antwort #29 am: Freitag, 5. Oktober 2012, 22:24 »
Zitat von: fugenkomponist
Ich fänds gut, wenn

\times 2/3 { a8 b c d e f g h i }

das gleiche täte wie

\times 2/3 { a8 b c } \times 2/3 { d e f } \times 2/3 { g h i }

Hallo,

erstmal vielen Dank für Deinen Vorschlag!

Aber schau mal hier hin.

Insoweit werde ich Deinen Vorschlag nicht in meine Liste Aufnehmen, es sei denn Du meinst doch etwas anderes oder Du hast noch einen Verbesserungsvorschlag.


Gruß,
  Harm