Autor Thema: Bug in (4.5.5) Proportionale Notation?  (Gelesen 9150 mal)

bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #15 am: Sonntag, 30. Juni 2013, 14:12 »
Zunächst warum habe ich einige Anweisungen weggelasse? Beim "Aufräumen" habe ich durch Auskommentieren festgestellt, dass sie nicht benötigt werden.  Z. B.
  \override Score.SpacingSpanner #'strict-note-spacing = ##t bringt zusammen mit
proportionalNotationDuration = #(ly:make-moment 1 16) doch wohl nichts - oder?

Kern der "Lösung" sind die Anweisung
  proportionalNotationDuration = #(ly:make-moment 1 16) mit (wichtig!) der Referenz größer/gleich 1/15. Vermutlich muss man die noch verkleinern wenn man mit Sechzelnden oder kleiner arbeitet. Dazu kommt die vorgegebene Zeilenlänge, die Lilypond vermutlich die Freiheit zum optisch perfekten Aufbereiten nimmt:
\paper {
      indent = #0
      line-width = #150

ident = #0 unterdrückt  die Einrückung bei neuer Zeile. Iim Fall eines Zeilenumbruchs macht sich das bemerkbar, im Fall von lediglich einzelnen Notenzeilen gibt das nur zusätzlichen Raum am Zeilenanfang.

Der Code funktioniert für meine Zwecke für 4 Takte in einer Zeile zunächst mal, aber dass das keine wirklich "gute" Lösung ist zeigt sich wenn man etwas weiter "spielt". Dann könnten die weggelassenen Anweisungen doch wieder eine Rolle spielen. Ich sende mal ein Code-Beispiel wo das erkennbar wird. Nämlich wenn die Zeile aus 5 oder 6 Takten Takten besteht statt 4, oder nur einem Takt. Dann kommt der Zeile
\override NonMusicalPaperColumn #'line-break-permission = ##fim layout-Block große bedeutung zu, wovon man sich durch Auskommentieren ja überzeugen kann. Das Ergebnis ist wesentlich untershiedlich.

Im Fall eiens Zeilenumbruchs kommt dann auch dem Platzhalter für die Taktangabe wieder Bedeutung zu, wenn die Taktstriche nach einem Zeilenumbruch fluchten sollen (siehe weiter oben im Thread).

Platzhalter für Taktstriche braucht am aber glücklicherweise nicht - das wäre sehr großer Aufwand, die je nach Fall von Hand sichtbar/unsichtbar zu setzen.

Hier zum Experimentieren der Code:

\version "2.16.2"

\paper {
  indent = #0
  line-width = #150
}


\layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 16)
      %\override NonMusicalPaperColumn #'line-break-permission = ##f
    }
}

 
Noteneins = {
  \relative c''{
   
   \key a \major
   \time 2/4
     \tempo "1. Beispiel"
      a8 [cis8] a [e] |
gis8 [b8] e [e8]
  cis8 [e] a,4 |
  cis8 [e] a,4 |
  a8 [cis8] a [e] |
\bar "||"
  }
  }
 
  Noteneinszwei = {
  \relative c''{
   
   \key a \major
   \time 2/4
     \tempo "1. Beispiel"
      a8 [cis8] a [e] |
gis8 [b8] e [e8]
  cis8 [e] a,4 |
  cis8 [e] a,4 |
  a8 [cis8] a [e] |
  gis8 [b8] e [e8]
\bar "||"
  }
  }

 
  Notenzwei = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "2. Beispiel 4/4"
      a8 [cis] a [e] gis [b] e [e] |
  cis8 [e] a,4 cis8 [e] a,4 |
\bar "||"
  }
  }

 
   
  Notendrei = {
  \relative c''{
   \key a \major
   \time 3/4
     \tempo "3. Beispiel 3/4"
      a8 [cis] a [e] gis [b] |
      e [e] cis [e] a,4 |
      e8 [e] cis [e] a,4 |
\bar "||"
  }
  }
 
  Triolen = {
   \relative c'{
    \key a \major
     \time 2/4
      \tempo "4. Beispiel -Triples (Triolen)"
      \times 2/3 {cis'8 [b cis]} \times 2/3  {e [cis a]} |
       \times 2/3 {d [b b]} \times 2/3 {e [b g]} |
\times 2/3  {a [b cis]} \times 2/3 {e [cis a]}|
\times 2/3  {a [b cis]} \times 2/3 {e [cis a]}|
\bar "||"
  }
  }
 
    Triolenzwei = {
   \relative c'{
    \key a \major
     \time 3/4
      \tempo "4. Beispiel -Triples (Triolen)"
      % drei Triolen = 3 Viertel
      \times 2/3 {cis'8 [(b) cis]} \times 2/3  {e [cis a]} \times 2/3 {d [b b]}
       \times 2/3 {e [b g]} \times 2/3  {a [b cis]} \times 2/3 {e [cis a]}|
\times 2/3  {a [b cis]} \times 2/3 {e [cis a]} \times 2/3 {d [b b]} |
\bar "||"
  }
  }
 
    Notenvier = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "2. Beispiel 4/4"
      a8 [cis] a [e] gis [b] e [e] |
\bar "||"
  }
  }
 
  \score {
  <<
  \new Staff  {
    \Noteneins
  }
  >>
  }
 
    \score {
  <<
  \new Staff  {
    \Noteneinszwei
  }
  >>
  }
 
  \score {
  <<
  \new Staff  {
    \Triolen
  }
  >>
  }
   
  \score {
  <<
  \new Staff  {
    \Notenzwei
  }
  >>
  }
 
    \score {
  <<
  \new Staff  {
    \Notenvier
  }
  >>
  }
 

  \score {
  <<
  \new Staff  {
    \Notendrei
  }
  >>
  }

  \score {
  <<
  \new Staff  {
    \Triolenzwei
  }
  >>
  }

Nicht immer ist alles so klar und einfach, wie es oft in den Blogs hier dargestellt wird. Beispielsweise der Code in Kapitel 4.5.4 Zeilenlänge
http://lilypond.org/doc/v2.16/Documentation/notation/line-length
\layout {
indent = #0
line-width = #150
ragged-last = ##t
}
führt zu endlosen Meldungen. Erst wenn ich das in
\paper {
indent = #0
line-width = #150
}
auslagere compiliert das ohne besondere Meckerei.

eluze

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #16 am: Sonntag, 30. Juni 2013, 14:55 »
vielleicht doch:
Zitat von: NR
When strict-note-spacing is set, notes are spaced without regard for clefs, bar lines, and
grace notes

und :
Zitat
By default, spacing in tuplets depends on various non-duration factors (such as accidentals,
clef changes, etc). To disregard such symbols and force uniform equal-duration spacing, use
Score.SpacingSpanner.uniform-stretching. This property can only be changed at the beginning
of a score

oder:
Zitat
Setting proportionalNotation-Duration without also setting the SpacingSpanner’s ’uniform-stretching attribute to ##t will,
for example, cause Skips to consume an incorrect amount of horizontal space.
Eluze

bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #17 am: Montag, 1. Juli 2013, 14:52 »
Es ist leider so, dass
override SpacingSpanner #'strict-note-spacing = ##tvöllig wirkungslos bleibt! Vielleicht funktioniert diese Methode ja gar nicht?

Hier ein Code zum Testen (nicht besonders sorgfältig formatiert, sondern "quick and dirty". Komentiere mal mit und ohne der fraglishen Zeile. Ich habe das getan, jeweils ausgedruckt  und die zwei Ausgaben übereinander gelegt und gegen eine Lichtquelle betrachtet. Ergebnis. Völlig identisch! Weder in dem einen noch im anderen Fall werden diese von Dir aus dem Handbuch zitierten Extras irgendwie kompensiert! Die Taktstriche werden leider unterschiedlich gesetzt. Die Eigenschaft die der Zeile laut Handbuch zugeschrieben wird, erfüllt diese nicht!

Code zum "spielen":

\version "2.16.2"

\paper {
  indent = #0
  line-width = #150
}


\layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 16)
      \override NonMusicalPaperColumn #'line-break-permission = ##f
      %override SpacingSpanner #'strict-note-spacing = ##t
     
    }
}

  Noten = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 4/4 4 Takte"
      a8 [cis] a [e] gis [b] e [e] |
  cis8 [e] a,4 cis8 [e] a,4 |
        a8 [cis] a [e] gis [b] e [e] |
  cis8 [e] a,4 cis8 [e] a,4 |
\bar "||"
  }
  }
 
Noteneins = {
  \relative c''{
   
   \key a \major
   \time 2/4
     \tempo "Beispiel 4/4 5 Takte mit extras"
      a8 [cis8] a [e] |
c4 \grace { a32[ b] } c4 |
c4 \appoggiatura b16 c4 |
c4 \acciaccatura b16 c4 |
\bar "||"
  }
  }

 
  Notenzwei = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 3/4 mit accidentals"
      \time 3/4
      % FIXME: standard vs default, alteration-FOO vs FOO-alteration
      \override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter default } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter hufnagel } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter medicaea } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter vaticana } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter mensural } c ces 
\bar "||"
  }
  }

 
 
    Notenvier = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 4/4 mit clef changes "
      a8 [cis] a [e] gis [b] e [e] |
      \clef "treble_(8)"
c2 c
\clef "bass^[15]"
c2 c
 a8 [cis] a [e] gis [b] e [e] |
\bar "||"
  }
  }
 
    \score {
  <<
  \new Staff  {
    \Noten
  }
  >>
  }
 
  \score {
  <<
  \new Staff  {
    \Noteneins
  }
  >>
  }
 
   
  \score {
  <<
  \new Staff  {
    \Notenzwei
  }
  >>
  }
 
    \score {
  <<
  \new Staff  {
    \Notenvier
  }
  >>
  }

Grüße

eluze

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #18 am: Montag, 1. Juli 2013, 15:57 »
hallo

man müsste eigentlich nur einen score mit verschiedenen paramtern vergleichen, z.b. dein notenvier:

das sind doch sichtbare unterschiede, nicht!?

dass mit dem hier unsinnigen line-break-permission = ##f alles an der "falschen" stelle zusammengestacuht  wird sei hier nur am rande bemerkt (man kann nicht erwarten dass ein mit 16-tel oder 64-tel gefüllter takt gleich lang ist wie einer mit einem ganzton…) - wenn man diesen parameter setzt, ist man selbst verantwortlich für stimmige breaks!

LilyPond versucht sein bestes und wo es nicht mehr geht passieren eben diese staucheffekte.

ich hänge noch ein bild der 4 varianten für notenvier an.

gruss
Eluze

bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #19 am: Montag, 1. Juli 2013, 18:23 »
Ich kann nur noch mal bestätigen, dass kein Unterschied feststellbar ist, ob ich die Zeile
\override SpacingSpanner #'strict-note-spacing = ##taktiv lasse oder auskommentiere - das gilt für meinen Code, ich habe das mit einigen Änderungen der Noten erneut probiert. Ich bin sicher dass das mit anderem Code anders sein kann. Mit den Extras... etc  funktioniert zwar die gleiche Länge, aber die Taktstriche fluchten nicht mehr, ob mit oder ohne die Zeile oben. Nochmal: Da ist kein Unterschied feststellbar! Aus Deinen Code-Beispielen sehe ich, dass Du 2.17 verwendest, ich verwende 2.16 - kann das den Unterschied machen?

Zitat
(man kann nicht erwarten dass ein mit 16-tel oder 64-tel gefüllter takt gleich lang ist wie einer mit einem ganzton…)
das funktioniert schon, sofern nichts unmögliches von lilypond verlangt wird. Meine ganzen Beispeile zeigen das ja, dass es funktioniert. Allerdings mit den Extras \clef usw. versagt das und zwar wie mehrfach geschrieben mit oder ohne die Zeile oben.
      proportionalNotationDuration = #(ly:make-moment 1 32) ist ziemlich powerfull, solange man den Wert nicht zu klein setzt. Der geht übrigens logarithmisch oder quadratisch ein, wie ich aus Reihenexperimenten gefunden habe. Ob das so gut ist, weiß ich nicht. Am Anfang tut sich bei Erhöhung nämlich (fast) gar nichts, "explodiert" aber dann. Vermutlich funktioniert das bei mir erst ab 1/15.

Für mich als Laien sind dei Zusammenhänge der verschiedenen Möglichkeiten in \layout nicht transparent. Wie ich ja oben schrieb, geht der Pramater in
proportionalNotationDuration = #(ly:make-moment 1 16)logarithmisch, vielleicht aber auch quadratisch ein, andere Parameter anderer Funktionen vielleicht linear ... usw. Man kann ja widersprechende Optionen aneinanderreihen, dann gibt es immer minimale Unterschied, wie Du ja gezeigt hast.

Ich bin sehr weit davon entfernt, das voll zu verstehen - müsste ich möglicherweise Sourcen analysieren, Gott bewahre!

Grüße

Ich hänge nochmal einen Code zum Spielen an, wo man sieht, dass die Taktsriche nicht mehr fluchten. Das liegt vermutlich am Platz, den die "Extras" benötigen.
(Aber
\override SpacingSpanner #'strict-note-spacing = ##thilft nicht dagegen!

\version "2.16.2"

\paper {
  indent = #0
  line-width = #150
}


\layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 32)
      \override NonMusicalPaperColumn #'line-break-permission = ##f
     
      \override SpacingSpanner #'strict-note-spacing = ##t
     
    }
}

  Noten = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 4/4 4 Takte"
      a2  e2 |
  cis8 [e] a,4 cis8 [e] a,4 |
        a8 [cis] a [e] gis [b] e [e] |
  cis8 [e] a,4 cis8 [e] a,4 |
\bar "||"
  }
  }
 
Noteneins = {
  \relative c''{
   
   \key a \major
   \time 2/4
     \tempo "Beispiel 4/4 4 Takte mit extras"
c4 \appoggiatura b16 c4 |
c4 \acciaccatura b16 c4 |
      a8 [cis8] a [e] |
      c4 \acciaccatura b16 c4 |
\bar "||"
  }
  }

 
  Notenzwei = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 3/4 4 Takte mit accidentals"
      \time 3/4
      % FIXME: standard vs default, alteration-FOO vs FOO-alteration
      \override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter default } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter hufnagel } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter medicaea } c ces 
\override Staff.Accidental #'glyph-name-alist = #standard-alteration-glyph-name-alist
      cis^\markup { \typewriter vaticana } c ces   
\bar "||"
  }
  }

 
 
    Notenvier = {
  \relative c''{
   \key a \major
   %\time 2/4
     \tempo "Beispiel 4/4 mit clef changes "
  \override Staff.Clef #'full-size-change = ##t
  %\set Score.proportionalNotationDuration = #(ly:make-moment 1 8)
    \clef french
    gis4 a8 [b] c4 d4
    \clef treble
    g1
    \clef "G^8"
    g1
    \clef "G_8"
    g1
}
  }
 
    \score {
  <<
  \new Staff  {
    \Noten
  }
  >>
  }
 
  \score {
  <<
  \new Staff  {
    \Noteneins
  }
  >>
  }
 
   
  \score {
  <<
  \new Staff  {
    \Notenzwei
  }
  >>
  }
 
    \score {
  <<
  \new Staff  {
    \Notenvier
  }
  >>
  }

eluze

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #20 am: Dienstag, 2. Juli 2013, 00:42 »
also nochmals von vorn:

mit dem code

\version "2.16.0"
\paper { indent = #0 }
{ \repeat unfold 2 \repeat unfold 16 c'16 }
bringst du 2 takte auf eine zeile - ein dritter takt liegt offensichtlich nicht drin.

nun fügst du weitere parameter hinzu:

\layout {
  \context {
    \Score
    proportionalNotationDuration = #(ly:make-moment 1 16)
  }
}

das funktioniert gut, denn LilyPond orientiert sich hier (soviel ich weiss) an der kürzesten dauer.

wenn wir diesen parameter nun auf

proportionalNotationDuration = #(ly:make-moment 1 32) ändern (also verdoppeln) dann hat der code zu wenig platz in einer zeile und es erfolgt - wenn durch ein \bar … oder natürlicherweise am taktende ermöglicht - ein umbruch: LilyPond skaliert die abstände als ob 32 32-tel vorhanden wären (pro takt)

mit diesen überlegungen sollte es klar sein, dass eine zeile mit 64 64-teln (4 takte à 16 16-tel) gar nicht dargestellt werden kann!

du hast übrigens noch nicht beantwortet, was du mit dem ganzen erreichen willst!

Eluze

bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #21 am: Dienstag, 2. Juli 2013, 11:05 »
Zitat
du hast übrigens noch nicht beantwortet, was du mit dem ganzen erreichen willst!
Doch. Ich habe weiter oben geschrieben, dass ich für kurze Übungsstücke mit beliebig gemischten Notenwerten (viertel, achtel, sechzehntel ...) natürlich unter Befolgung der musikalischen Grundregeln je Takt, jeweils 4 Takte in einer Zeile haben möchte. Daraus ergibt sich natürlich in jeder Zeile gleiche, addierte  Gesamtnotenzeit. Das habe ich auch bereits erreicht, wenn auch unter großen Mühen und damit bin ich (zunächst) völlig zufrieden.

Danach tauchte die Frage der "besonderen" Umstände auf (clefs, Extras ...usw.) ud ich habe das daraufhin untersucht. Es  funktioniert zwar eine Zeile immer noch, aber dann doch nicht mit gleichen Taktlängen. Wundert mich eigentlich nicht, da
proportionalNotationDuration = #(ly:make-moment 1 32)ja nur Notenwerte Berücksichtigt und nicht "Extras". Das stört mich zunächst nicht, weil ich solche nicht habe. Die Frage nach solchen "Extras" kam nicht von mir, tauchte dann aber in der Diskussion auf. Ist ja auch gut, die Grenzen der "Lösung" zu kennen. Und noch mal:
\override SpacingSpanner #'strict-note-spacing = ##thilft dagegen nicht. obwohl das nach Handbuch Abhilfe bieten soll?

Zitat
das funktioniert gut, denn LilyPond orientiert sich hier (soviel ich weiss) an der kürzesten dauer.
Die weitere Diskussion hat sich dann ein bisschen vom Kernproblem zu Partikularproblemen verlagert. Z. B. dass das Ganze mit 1/8 absolut nicht funktioniert, erst ab 1/15. Daran anknüpfend ist festzustellen, dass zwar der Wert von 1/16 auf 1/32 sich verdoppelt, aber sich eine Taktlänge von 46 mm auf 70 mm (1,52 fach) verlängert (gleiche Notenwerte - versteht sich), die gesamte Zeilenlänge von 87 mm auf 154 mm (1,77 fach), sich also nicht verdoppelt. Der Zusammenhang ist also nicht linear - was im Handbuch beispielsweise nicht steht. Im Allgemeinen ist das auch nicht wichtig, aber unter besonderen Umständen dann eben doch. Ich habe ja schon angemerkt, dass die Unterschiede verschiedener Anweisungs-Kombinationen vermutlich von solchen verschiedenen Funktionen folgenden Parametern ist. Diese sind sicherlich durchdacht und gut für die Skalierung zu einem schönen Notenbild, für einen Laien mit Sondervorsttellung hinsichtlich der Darstellung wie mich aber recht schwierig zu verstehen.

Die wichtigste Erkenntnis war, dass es keineswegs ausreicht, den Wert in
proportionalNotationDuration = #(ly:make-moment 1 32)auf den kleinsten vorkommenden Notenwert zu setzen! Das machte große Probleme und unter 1/15 lief bei mir gar nichts (sieh die Entwicklung des Codes in den zurückliegenden Postings).  Und das steht auch so nicht im Handbuch.

Ich habe sehr viel dazu gelernt, mein Problem ist gelöst. Wenn kein weiteres Interesse an Diskussion besteht, würde ich vorschlagen, den Thread zu schließen? In Einzelfragen kann ja ein möglicher Interessent einen neuen Thread öffnen?


bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #22 am: Dienstag, 2. Juli 2013, 12:46 »
Nachdem die Frage gestellt wurde, was ich eigentlich will/erwarte möchte ich zuj Abschluss doch nochmal auf die Eingangs gestelle Frage
Zitat
Bug in (4.5.5) Proportionale Notation?
zurückkommen. Damit wird ja nach dem Namen und nach er Beschreibung der Notenwert mit dem eingenommenen Platz in der Notenzeile erreicht. Oder vielleicht doch nicht? Das wäre dann vielleicht ein Bug?

Als ich den Thread startete habe ich solche Beispiele bereits angeführt und dann vielerlei Hilfen und Vorschläge erhalten, die mich dann zuletzt befähigten mein Problem zu lösen. Damit sehe ich aber die Frage nach einem möglichen Bug noch nicht beantwortet.
Hier erneut ein Beispiel mit
      proportionalNotationDuration = #(ly:make-moment 1 8 ),
also 1/8 als Basis dazu:
\version "2.16.2"

\layout {
    \context {
      \Score
      %\override NonMusicalPaperColumn #'line-break-permission = #f
      proportionalNotationDuration = #(ly:make-moment 1 8 )
        %von https://liarchiv.joonet.de/index.php?topic=1462.0
%\override SpacingSpanner #'uniform-stretching = ##t
%\override SpacingSpanner #'strict-note-spacing = ##t
    }
}
 
Noteneins = {
  \relative c''{
   \key a \major
    \time 2/4
     \tempo "2/4 4 Takte mit je 4 Achtel"
      cis8 [e] cis [(b)] |
cis8 [e] d [(b)]  |
  cis8 [e] cis [b] |
    cis8 [e] d [b]  |
  }
  }
 
Notenzwei = {
   \relative c'{
    \key a \major
     \time 2/4
      \tempo "2/4 Beispiel -Triples (Triolen) 4 Takte"
      \times 2/3 {cis'8 [(b) cis]} \times 2/3  {e [cis a]} |
       \times 2/3 {d [b b]} \times 2/3 {e [b g]} |
\times 2/3  {a [b cis]} \times 2/3 {e [cis a]}|
\times 2/3 {cis'8 [(b) cis]} \times 2/3  {e [cis a]} |
  }
  }
 
   
Notenzweizwei = {
   \relative c'{
    \key a \major
     \time 4/4
      \tempo "4/4 Beispiel -Triples (Triolen) 4 Takte"
      \times 2/3 {cis'8 [(b) cis]} \times 2/3  {e8 [cis a]}
       \times 2/3 {d8 [b b]} \times 2/3 {e8 [b g]} |
\times 2/3  {a8 [b cis]} \times 2/3 {e8 [cis a]}
\times 2/3 {cis'8 [(b) cis]} \times 2/3  {e8 [cis a]} |
  }
  }
 
  Notendrei = {
   \relative c''{
    \key a \major
     \time 2/4
      \tempo "2/4 4 Takte mt punktierten Noten"
      a8. [cis16 a8 e] |
gis8. [b16 e8 e8]
  cis8 [e] a,4 |
  cis8 [e] a,4 |
  }
  }
 
  Notenvier = {
   \relative c''{
    \key a \major
    %\time 2/4
      \tempo "4/4 zwei Takte"

d8 [e] d4
  d8 [e] d4 |
    d8 [e] d4
      d8 [e] b4 |
  }
  }
 

  \score {
  <<
  \new Staff  {
   \Noteneins
  }
  >>
  }
 
  \score {
  <<
  \new Staff  {
  \Notendrei
  }
  >>
  }
   
  \score {
  <<
  \new Staff  {
   \Notenzwei
  }
  >>
  }

  \score {
  <<
  \new Staff  {
   \Notenzweizwei
  }
  >>
  }

  % 4. Zeile 
  \score {
  <<
  \new Staff  {
  \Notenvier
  }
  >>
  }

Compiliert man dieses Beispiel erhält man einen "Flattersatz", obwohl doch jede Zeile gleiche Notenwertsumme enthält udn keine "Extras" im Spiel sind! Das widerspricht doch absolut dem Versprechen von "proportionalNotationDuration"? Ist das ein Bug?

Setzt man die Basis auf 1/16, dann funktioniert das für die ersten Drei Zeilen, aber nur deshalb, weil die Enden auf das Zeilenende "auflaufen" und nicht etwa wegen "proportionalNotationDuration"! (Das ist auch genau der Trick wie ich meine gleich langen Zeilen erreichen kann! Es ist also eigentlich keine Lösung sondern ein "workaround" um den proportionalNotationDuration-Bug.

Grüße

bblochl

bblochl

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #23 am: Dienstag, 2. Juli 2013, 16:43 »
Ein Nachtrag:
Die Problematik um die sich dieser Thread dreht, ist im Handbuch Kapitel 4.5.1 beschrieben. (Steht doch Alles im Handbuch, man muss es nur finden!)

Wenn man sich das Kapitel durchliest wird klar, dass es zwar Möglichkeiten gibt, die Notenabstände zu vergrößern (padding), aber keine Möglichkeit die Abstände absolut zu setzen (also per eingegebenen Wert). Der Parameter von proportionalNotation ist also keine Konstante, sondern unterliegt auch dem in dem Kapitel beschreibenen Optimierungsmechanismus. Irgendewelche konstanten Werte wären aber erforderlich, um meinen Wunsch nach gleicher Zeilenlänge zu erfüllen. Das erklärt auch das seltsame Ergebnis, dass sich das Aussehen bei fortschreitender Verarbeitung/Erweiterung/Ergänzung ändert, sofern sich die Häufigkeit der Notenwerte ändert! Un das erklärt auch die Nichtlinearität von proportionalNotationDuration.

Keine Bugs sondern optimierende Absicht!

Gleiche Abstände und konstante Zeit für einen Notenwert  sind einfach in lilypond nicht vorgesehen, weil eben die Optimierung des Aussehens im Vordergrund steht. Ausdrücklich steht unten im Dokument:
Zitat
Es gibt derzeit keine Möglichkeit, den Platz zu verringern.

So sind konstante Längen einer Zeile nur durch den Trick zu erreichen, den ich gefunden habe (siehe oben).

Damit ist die Frage Bug oder Nicht-Bug klar mit Nicht-Bug zu beantworten.

Ich bin aber überzeugt davon, dass ein lilypond-Meister  durch gekonnte eigene Kontrolle der Werte shortest-duration-space, spacing-increment, common-shortest-duration und base-shortest-duration  im SpacingSpanner-Objekt das ohne Trick hinkriegen könnte.

Grüße BB

PS: Nachdem dasThema gewissermaßen am Ende angelangt ist, schlage schlage nochmal vor, den Thread zu schließen.


eluze

  • Member
Re: Bug in (4.5.5) Proportionale Notation?
« Antwort #24 am: Dienstag, 2. Juli 2013, 17:22 »

PS: Nachdem dasThema gewissermaßen am Ende angelangt ist, schlage schlage nochmal vor, den Thread zu schließen.

 :) und weiterhin viel spass mit LilyPond! - Eluze