Autor Thema: Bögen bei Orgelpunkt in einem System mit mehreren Stimmen  (Gelesen 1685 mal)

bkleine

  • Member
Bögen bei Orgelpunkt in einem System mit mehreren Stimmen
« am: Sonntag, 7. April 2013, 21:14 »
Wie schon gesagt, alles völlig unkonventionell. In dem Beispiel habe ich breve Noten, die in der Handschrift mit Bögen verbunden sind. Weil Bögen ja in polyphoner Notation in der gleichen Phrase aufhören müssen, funktioniert das bei mir nicht. So wie ich das empfinde, ist das in diesem Forum oder bei Lilypond doch schon mal gelöst worden.

Ich bitte um Hilfe und danke mal schon im vorraus.

Gruß Bernhard

Be-3

  • Member
Re: Bögen bei Orgelpunkt in einem System mit mehreren Stimmen
« Antwort #1 am: Montag, 8. April 2013, 00:37 »
Hallo Bernhard,

am einfachsten wäre es wohl, eine eigene Stimme für die Breve-Noten einzuführen, dann klappt's auch mit den Bögen.
Wie man dann allerdings den anderen Noten ausweicht, ist ein interessantes Problem und die Berechnung der tatsächlichen Brevis-Länge (die "Korrekturfaktoren"), damit die Noten an der richtigen Stelle der Kadenz stehen, macht auch Spaß.

Vielleicht sollte man ersatzweise einfach die Spielanweisung "Ach, machen Sie doch, was Sie wollen!" einsetzen. :)

\version "2.14.2"
%\include "Teile.ly"

\book {
    \score {
    \new Staff = "SingleII" {
     <<
      \relative c' {
        \cadenzaOn
        \voiceOne \slurDown
        r8 f64^[ g cis c,] dis8 b'8\rest \fermata
        r8 \acciaccatura ees!8 a,8 b8\rest\fermata
        \acciaccatura { ees!32^[ a, f'] } a,8 b8\rest
        \acciaccatura { ees!32^[ a, f' a, g ] } b8^\markup \musicglyph #"accidentals.natural" b8\rest
        \acciaccatura ees!8 a,8 b8\rest
        \acciaccatura { a32^[ f bes]} a8
        r8
        \bar "" \break
        << { r8 a32^[ d] aes'8 s8 r8 s8 } \\ { c,,8 r16 ees,8 s8 r8 s8 } >>
       
        <<
          { 
             \override Beam #'grow-direction = #RIGHT
             \featherDurations #(ly:make-moment 2 3)
             {<a' d aes'!>32[ <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'> <a d aes'>]}
          } \\
          {
             \override Beam #'grow-direction = #RIGHT
             \featherDurations #(ly:make-moment 2 3)
             {<ees,! c'>32_[ <ees c'> <ees c'> <ees c'> <ees c'> <ees c'> <ees c'> <ees c'> <ees c'> <ees c'> <ees c'>]}
          } >>
        << {s32 r4 } \\
           {s32 r4 }
        >>
       
        \bar "||"
        \cadenzaOff
      }
      \relative c' {
        \cadenzaOn
        e\breve*7/32 ~
        e\breve*10/16~ \bar "" \break
        \once\override Slur #'height-limit = #16
        \once\override Slur #'eccentricity = #10
        e\breve*19/32_(
        b'\breve)
      }
     >>
    }
  }   
 
}

Außerdem habe ich noch das Markup-Auflösungszeichen über demm b durch \once\set suggestAccidentals = ##t ersetzt.

Viele Grüße
Torsten


harm6

  • Member
Re: Bögen bei Orgelpunkt in einem System mit mehreren Stimmen
« Antwort #2 am: Montag, 8. April 2013, 01:09 »
Hallo Bernhard,

Torsten ist sooooooooooo gemein, schniiiiieeeeeef  ;D ;D

Zitat
am einfachsten wäre es wohl, eine eigene Stimme für die Breve-Noten einzuführen, dann klappt's auch mit den Bögen.
Das wollte ich doch schreiben.

Zitat
Wie man dann allerdings den anderen Noten ausweicht, ist ein interessantes Problem und die Berechnung der tatsächlichen Brevis-Länge (die "Korrekturfaktoren"), damit die Noten an der richtigen Stelle der Kadenz stehen, macht auch Spaß.
Das wollte ich auch schreiben.

Zitat
Vielleicht sollte man ersatzweise einfach die Spielanweisung "Ach, machen Sie doch, was Sie wollen!" einsetzen.
Nun gut, das wollte ich nicht schreiben, stimmt aber.

Zitat
Außerdem habe ich noch das Markup-Auflösungszeichen über dem b durch \once\set suggestAccidentals = ##t ersetzt.
Genau.

Nichtsdestotrotz kriegst Du jetzt auch meinen Code.

Kein großer Unterschied zu Torsten.
Aus einem mir nicht ersichtlichen Grund hast Du den Zeilenumbruch an eine Stelle gesetzt, die mir nie in den Sinn gekommen wäre. Torsten hat ihn stillschweigend verändert, ich habe ihn beibehalten. Mußt Du selbst entscheiden.
Ich habe noch ein paar andere Tricksereien eingebaut.
Ob Du zur letzten brevis einen Bogen haben willst weiß ich nicht. Ich habs gelassen. Torsten hat gezeigt wie man ihn dann tweaked.
Apropos Bögen tweaken: Der erste Haltebogen sollte auch etwas verändert werden, imho.
Zu diesem Zweck habe ich die alte (2-14-2) Funktion dafür eingefügt.
In 2.16.2 gibts sie (leicht verändert, aber deutlich verbessert) als Standard. Dank an David Nalesnik.


Mit anderen Worten: mach ein upgrade auf die aktuelle stable 2.16.2.
Möglicherweise gibt es in absehbarer Zeit eine weitere stable. Das wäre dann 2.18.

\version "2.14.2"

#(define ((alter-Curve offsets) grob)
   ;; get default control-points
   (let ((coords (ly:tie::calc-control-points grob)))
     ;; add offsets to default coordinates
     (define (add-offsets coords offsets)
       (if (null? coords)
       '()
       (cons
         (cons (+ (caar coords) (car offsets))
               (+ (cdar coords) (cadr offsets)))
         (add-offsets (cdr coords) (cddr offsets)))))

     (if (null? offsets)
         coords
         (add-offsets coords offsets))))


#(define ((shape-tie offsets) grob)
   (let* (
          ;; have we been split?
          (orig (ly:grob-original grob))
          ;; if yes, get the split pieces (our siblings)
          (siblings (if (ly:grob? orig)
                        (ly:spanner-broken-into orig) '() ))
          (total-found (length siblings)))
     (if (>= total-found 2)
         ;; shape BROKEN
         ;; walk through siblings, find index in list
         ;; and apply offsets from list of offsets:
         (let loop ((n 0))
                   (if (eq? (list-ref siblings n) grob)
                       ;; return altered:
                       ((alter-Curve (list-ref offsets n)) grob)
                       (if (< n total-found)
                           (loop (1+ n))
                           ;; end of list -- none found?!
                           ;; return defaults:
                           ((alter-Curve '()) grob))))
         ;;
         ;; shape UNBROKEN
         ((alter-Curve offsets) grob))))
         
shapeTie =
#(define-music-function (parser location offsets)
                        (list?)
  #{
    \once \override Tie #'control-points = #(shape-tie $offsets)
  #})


\new Staff <<
\new Voice
\relative c' {
\textLengthOn
s1*0-\markup \with-dimensions #'(-2 . 1) #'(0 . 0) \null 
\voiceOne
\slurDown
\override Rest #'staff-position = #0
r8
\textLengthOff
f64[ g cis c,] dis8 r8\fermata
r8 \acciaccatura ees'!8 a,8 r8\fermata
\acciaccatura { ees'!32[ a, f'] } a,8 r8
        \acciaccatura { ees'!32[ a, f' a, g ] }
        \override AccidentalSuggestion #'avoid-slur = #'inside
        \once \set suggestAccidentals = ##t
        b!8
        r8
        \acciaccatura ees!8 a,8 r8
        \acciaccatura { a32[ f bes]} a8
        r8*4
        \bar "" \break
        \revert Rest #'staff-position
        r8 a32[ d] aes'8 s8 r8 s8
        \override Beam #'grow-direction = #RIGHT
        \featherDurations #(ly:make-moment 2 3) {
        <a, d aes'!>32[ q q q q q q q q q q ]
        }
        << { s32 r4 } \\ { s32 r4 } >>
}
\new Voice
\relative c' {
\cadenzaOn
\voiceTwo
\shapeTie #'(0 0  0 -1  0 -1  0 0)
e\breve*7/32~
e\breve*10/16~
e\breve*4/16
c8 r16 ees,8 s8 r8 s8
\override Beam #'grow-direction = #RIGHT
\featherDurations #(ly:make-moment 2 3) {
<ees! c'>32[ q q q q q q q q q q ]
             }
        #(set-accidental-style 'forget)
        s32 b''\breve       
        #(set-accidental-style 'default)
        \bar "||"
\cadenzaOff
}
>>

Gruß,
  Harm

« Letzte Änderung: Montag, 8. April 2013, 02:01 von harm6 »

bkleine

  • Member
Re: Bögen bei Orgelpunkt in einem System mit mehreren Stimmen
« Antwort #3 am: Montag, 8. April 2013, 15:59 »
Hallo Ihr beiden,

ich werde das heute abend mal ausprobieren, vielleicht auch erst morgen. Leider ist das nur ein Teil der Aufgabe, denn vorher und vor allem nachher kommt noch mehr davon. Die breve Noten gehen halt noch dreimal so lang bei ziemlich wirren anderem zeug.

Auch beim Konzert klang das sehr wirr und schrill. Aber wenn ich es erstmal gesetzt habe, kann ich es vielleicht besser nachvollziehen. Ich würde ja gerne das vollständige Beispiel hier zeigen, aber das gehört mir nicht, und zuerst einmal soll es eine Überraschung für den Komponisten werden, diese Noten passabel gesetzt zu sehen.

herzlichen dank für Eure Mühe

Bernhard

Be-3

  • Member
Re: Bögen bei Orgelpunkt in einem System mit mehreren Stimmen
« Antwort #4 am: Montag, 8. April 2013, 17:24 »
Hallo Bernhard,

das mit der (auch teilweisen) Veröffentlichung fremden geistigen Eigentums ist natürlich so eine Sache, aber zur Beruhigung sei Dir gesagt, daß Anhänge aller Art nur für registrierte Benutzer sichtbar sind.

Viele Erfolg
Torsten