\mergeDifferentlyHeadedOn

Begonnen von Hilflos-im-Code, Mittwoch, 30. August 2017, 10:24

« vorheriges - nächstes »

Hilflos-im-Code

Also eigentlich dachte ich, ich müsste \mergeDifferentlyHeadedOn einfügen, damit  zwei Notenköpfe verschmolzen werden.
\version "2.19.65"



upper = \relative c' {


  d
 
}

lower = \relative c' {


  d
}

\score {
  \new Staff  { \clef "treble_8" << \upper \\ \lower >> }
 
}


Anscheinend habe ich etwas falsch verstanden oder es wurde etwas geändert, weil es auch ohne \mergeDifferentlyHeadedOn geht. Anyway, es ist gerade punktuell notwendig, das dieser Verschmelzungseffekt nicht eintritt. \mergeDifferentlyHeadedOff hat mich nicht weitergebracht.

Manuela

Ich sehe nur zwei gleiche Notenköpfe, keine verschiedenen.

Probier mal

\version "2.19.65"

upper = \relative c' {
  d8
  }

lower = \relative c' {
   d2
}

\score {
  \new Staff  { \clef "treble_8" << \upper \\ \lower >> }
 
}
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Zitat von: Hilflos-im-Code am Mittwoch, 30. August 2017, 10:24
Also eigentlich dachte ich, ich müsste \mergeDifferentlyHeadedOn einfügen, damit  zwei Notenköpfe verschmolzen werden.
,,Differently headed" = verschieden ,,beköpft". Gleiche Notenköpfe wie in deinem Beispiel zu verschmelzen, ist Standard. Solltest du aus irgendeinem Grund wirklich davon abweichen müssen oder wollen, hilft NoteColumn.force-hshift:
  \once \override NoteColumn.force-hshift = 1.2
Anscheinend ist es üblich (zumindest macht LilyPond das so und irgendwie kommt mir das auch logisch vor), im Zweifelsfall eine Stimme nach rechts zu verschieben, also in diesem Fall die untere nach rechts, nicht die obere nach links.

Wie sieht denn Anwendungsfall aus? Hast du noch mehr Stimmen im gleichen System?

Hilflos-im-Code

Zitat von: Malte am Mittwoch, 30. August 2017, 16:11
Zitat von: Hilflos-im-Code am Mittwoch, 30. August 2017, 10:24
Also eigentlich dachte ich, ich müsste \mergeDifferentlyHeadedOn einfügen, damit  zwei Notenköpfe verschmolzen werden.
,,Differently headed" = verschieden ,,beköpft". Gleiche Notenköpfe wie in deinem Beispiel zu verschmelzen, ist Standard. Solltest du aus irgendeinem Grund wirklich davon abweichen müssen oder wollen, hilft NoteColumn.force-hshift:
  \once \override NoteColumn.force-hshift = 1.2
Anscheinend ist es üblich (zumindest macht LilyPond das so und irgendwie kommt mir das auch logisch vor),
Tastendrücker Du. ;-) Das mit den Köpfen braucht man, wenn sich Stimmen überschneiden und man notieren will, ob jetzt dieser Ton nur einmal gespielt wird oder zweimal. Deswegen hätte ich gedacht, es gibt etwas standardmäßigeres als force-shift.

Malte

#4
Öhm ... dafür gibts doch die Hälse. Übrigens möchte ich anmerken, daß es auch für Pianisten nen Unterschied macht, ob ein Ton zu einer oder zwei Stimmen gehört ;)

Aber wenn du das wirklich willst: es gibt noch eine geschummelte Methode. Die tut so, als wären es zwei verschiedene Notenwerte, macht dann aber doch zwei gleiche draus, du mußt also nicht force-hshift bemühen und kannst LilyPond die genaue Positionierung überlassen:\version "2.19.64"

<<
  \tweak duration-log 2 d''2*1/2
  \\
  d''4
>>

Ich frag mich aber, ob das wirklich nötig ist.

Edit: Hab grad noch geschaut, ob vielleicht was in Scheme machbar ist, aber die ganze Kollisionsgeschichte ist in C++ geschrieben, man kann also nicht mal eben noch ne Grob property merge-identically-headed einführen und die berücksichtigen. Der relevante Code findet sich ab Zeile 85 von lily/note-collision.cc.

Hilflos-im-Code

Zitat von: Malte am Donnerstag, 31. August 2017, 09:33
Öhm ... dafür gibts doch die Hälse. Übrigens möchte ich anmerken, daß es auch für Pianisten nen Unterschied macht, ob ein Ton zu einer oder zwei Stimmen gehört ;)

Ich sprach von spielen, nicht gehören. Weil auf der Gitarre kann man ein und denselben Ton gleichzeitig spielen. Und ob das so sein soll, wird durch die Anordnung der Köpfe notiert.

Malte

Jo, ich kenn das vom Cello. Aber auch da wüßte ich jetzt nicht, warum zwei Hälse nicht ausreichen sollten. Nichtsdestotrotz gibts ja eine mögliche Antwort auf deine Frage ;)

harm6

Zitat von: Hilflos-im-Code
Das mit den Köpfen braucht man, wenn sich Stimmen überschneiden und man notieren will, ob jetzt dieser Ton nur einmal gespielt wird oder zweimal.
Zitat von: Hilflos-im-Code
Weil auf der Gitarre kann man ein und denselben Ton gleichzeitig spielen. Und ob das so sein soll, wird durch die Anordnung der Köpfe notiert.

Das ist etwas verkürzt dargestellt, imho.

Eigentlich bedeutet ein Ton mit zwei Hälsen immer, daß er zu zwei verschiedenen Stimmen gehört und gleichzeitig zweimal zu Gehör gebracht werden soll.
Das sieht man z.b. alle Nase lang bei SATB-Chören notiert auf zwei Systemen.

Es gibt natürlich Instrumente, die das gar nicht können und deshalb gezwungen sind den Ton nur einmal anzuschlagen, wie eben Klavier.

Die Gitarre kann viele (aber auch nicht alle) Töne der selben Tonhöhe gleichzeitig mehrfach anschlagen. Situationsbedingt sind es meistens nur wenige bei denen es dann auch möglich ist.
Häufig ist es auch der Komplexität der mehrstimmigen Notation auf nur einem System geschuldet Noten mit zwei Hälsen zu schreiben. Es bleibt dann dem Spieler überlassen wie genau er es ausführt.
Falls der Komponist allerdings tatsächlich darauf besteht zwei gleiche Töne haben zu wollen, so ist das Nebeneinander zweier Notenköpfe eine Methode, die ich schon oft gesehen habe. Eine andere ist, zwei verschiedene Fingersätze anzugeben, aber das führt mitunter zur Fehlinterpretation als quasi-ossia.

Hier hat die Tabulatur tatsächlich einen ihrer wenigen Vorteile:

|----
|-0--
|-4--
|----
|----
|----

ist eindeutig.

Weit überwiegend habe ich solches allerdings in Akkorden gesehen und für <d d>4 schreibt LilyPond per default zwei Notenköpfe nebeneinander.

Zitat von: Hilflos-im-Code
Deswegen hätte ich gedacht, es gibt etwas standardmäßigeres als force-shift.

??
force-shift ist doch ein standardmäßiges property!?

Gruß,
  Harm

Malte

Zitat von: harm6 am Donnerstag, 31. August 2017, 10:57
Zitat von: Hilflos-im-Code
Deswegen hätte ich gedacht, es gibt etwas standardmäßigeres als force-shift.

??
force-shift ist doch ein standardmäßiges property!?
Ich vermute, daß Hilflos-im-Code hiermit sagen wollte, daß force-hshift ja keinen Standardwert hat, man also nicht LilyPond überlassen kann, einen guten Wert zu finden. Ich hab oben als Beispiel 1.2 gewählt, aber nur so nach Gefühl, keine Ahnung, ob das gut/richtig ist.