Verlängerung einer Pause durch Angabe einer Duration [BEANTWORTET]

Begonnen von ingmar, Mittwoch, 5. Mai 2021, 14:23

« vorheriges - nächstes »

ingmar

Hallo Freunde,

ich bin doch überrascht – ich hatte erwartet, eine Pause (R oder r) per ~ verlängern zu können. Stattdessen wird offenbar die letzte vorhergehende Note eingesetzt. Ist das auch das, was ihr erwarten würdet?

\version "2.20.0"
\relative { c'2 r R1 ~1 }


Gruß,
--ingmar

EDIT: Titel

ingmar

... aber es hat mit dem Bindebogen (Tilde) gar nix zu tun:

\version "2.20.0"
\relative { c'2 r R1 1 }


Auch hier würde ich im letzten Takt eine Pause erwarten. (Auch hier ist egal, ob der Typ der Pause R oder r war.)

Also, ich finds jedenfalls verwirrend und fehlerträchtig.
--ingmar

harm6

"unpitched Durations" sind ein relativ neues feature. Ich glaube David Kastrup hat es eingeführt.
Es gab gewichtige Gründe es nicht so wie Du es erwartest zu implementieren, ich muß allerdings gestehen mich nicht mehr recht erinnern zu können ...

Vielleicht jemand anders?

Etwas wie { r4~ r } empfinde ich aber in jedem Fall als extrem befremdlich.

Gruß,
  Harm

Arnold

Hallo zusammen,

ich habe nur { R1 ~ R1*7 ~ R1*2 } und dergleichen ausprobiert und keinen Effekt durch die »Anbindung« erhalten.
Deshalb hab ich mir extra eine Musikmap-Routine geschrieben, welche diese Folge dann zu R1*10 zusammenfasst.
Also, auch nur für die Ganztaktpausen, innerhalb eines Sequential-Music-Elements und allenfalls mit Barcheck dazwischen.

Und wozu der Aufwand?
Beim Abschreiben von Stimmen aus Partituren wollte ich mir das Zusammenzählen ersparen, und dennoch kommentieren können, auf welcher Partiturseite ich gerade bin. Also etwa so:
\mergeTiedFullMeasureRests {
  % Seite 7
   c'1
   \mark "E"
   R1*4 ~
  % Seite 8
   R1*7 ~
  % Seite 9
   R1*6 ~
  % Seite 10
   R1*5
   \mark "F"
   R1*2 ~
  % Seite 11
   R1*3
   g'1
  % und so weiter
}
Das ist bequemer als meine vorherige Lösung mit scaleDurations und den Faktor mit einer direkt angegebenen Scheme-Funktion auszurechnen.
Und es wäre auch ein Hilfsmittel, wenn bei parallelMusic eine Stimme längere Zeit pausiert.

Arnold

ingmar

#4
Danke für eure Antworten.

Zitat von: harm6 am Mittwoch,  5. Mai 2021, 22:35
Etwas wie { r4~ r } empfinde ich aber in jedem Fall als extrem befremdlich.

So etwas entsteht bei der Verwendung längerer Takte als 4/4. Zum Beispiel wird Alte Musik oft im 4/2-Takt notiert. Um in Kadenzen (besonders am Schluss) auf der Eins zu landen, brauchst du dann zwischendurch immer mal einen 3/1-Takt. Der braucht dann wieder Pausen der Art r1 r1 r1. Ich finde es nicht unnatürlich oder missverständlich, dann r1 1 1 zu notieren.

Was die Bindung angeht: Das hatte wohl mit dem Workflow zu tun. Nach Einfügen eines solchen 3/1-Takts musst du als Nächstes alle betroffenen c\breve d\breve ändern in c1 ~1 d ~1 und umgekehrt; Gleichzeitig wird aus R\breve *2 nun r1 R\breve r1 und umgekehrt; bei solchen Arbeiten (oft in wenigen Minuten an vielen Stellen in mehreren Stimmen – und immer wieder hin und her) entstehen dann Gebilde, wo auch Pausen Bindungen haben. – Die ich aber persönlich eigentlich auch nicht als sehr problematisch empfinde.

Natürlich kann man auf solche Notationen verzichten.

Aber der Inhalt meiner Botschaft war eigentlich eher, dass ich es unerwartet finde, wenn LilyPond nach mehreren Pausen, wo am Ende dieses r vergessen wurde, plötzlich eine Note aus der Versenkung holt, die unter Umständen ziemlich weit zurückliegen kann. Dabei hat ja das entstehende Notenbild überhaupt nichts Unnatürliches, aber es ist eine Art von Notationsfehler, mit der ein Musiker bei bestem Willen einfach nicht rechnen kann – im Gegensatz etwa zu falschen Notenlängen oder Vorzeichen. Das heißt, Musiker würden wahrscheinlich gar keinen Fehler vermuten. Mir persönlich würde daher in diesem Fall eine Warnung oder, ja, auch eine Fehlermeldung eher helfen als der stillschweigende Ersatz des letzten Ereignisses "Pause" durch ein dritt- oder viertletztes Ereignis "Note".

Empfindet ihr das wirklich anders?

Ich erwarte jetzt auch nicht unbedingt irgendeine Aktion, möchte den Umgang mit einer Notation wie c1 r1 r1 1 aber doch zur Diskussion stellen. Die in der Vergangenheit geführte Diskussion dazu würde mich auch interessieren.


Gruß,
--ingmar

EDIT: Formulierung etwas klarer, hoffentlich.

Arnold

Hallo ingmar,

ich vermute einen programmtechnischen Zusammenhang mit dem q. Dort wird ja auch nur der letzte Akkord wiederholt, selbst wenn der schon länger zurückliegt. Dieses Verhalten ist jedoch bei bestimmten Tonfolgen ganz praktisch:{ <g d' b' g''>4 e'' q  c'' q a' q2 }
Das beantwortet dann aber nicht die Frage, wieso damals nur NoteEvents, aber nicht zusätzlich RestEvents in die »Wiederholung by Duration« aufgenommen wurden.

Arnold

P.S. eigentlich schrecklich, dieser zwei-Sprachen-Satz.

Jean Abou Samra

Hallo,
(Ich soll von Zeit zu Zeit ausprobieren, ein bisschen auf Deutsch zu schreiben, um nicht *alles* zu vergessen ...)
Dieses Verhalten wurde absichtlich implementiert. Es wurde darüber vor einigen Monaten auf dem englischsprachigen Forum diskutiert:

https://lists.gnu.org/archive/html/lilypond-user/2021-02/msg00287.html

Dort finden Sie ein Beispiel, das zeigt, wie es nützlich sein kann.

Gruß,
Jean

ingmar

Danke für den Hinweis!

Ich persönlich halte das eigentlich nicht für nützlich. Bestimmt gibt es auch Leute, die Folgendes nützlich finden:

\version "2.20.0"
{ 4 8 8 2 }


Für mich ist explizit hier definitiv besser als implizit. Aber natürlich jeder darf seine Sprache so bauen, wie er will...

Letzten Endes steckt die Frage dahinter, ob die Sprache LilyPond strukturell Musik beschreiben will oder ob sie Notation beschreiben will. Ich persönlich empfinde sie immer als stark, wo sie ersteres tut und immer wieder als inkonsistent und verwirrend, wo sie Aspekte des zweiten hineinmischt. Das mag fallweise nötig oder hilfreich sein, hier tut sie sich, finde ich, keinen Gefallen.

--ingmar