Autor Thema: divisi mal auf demselben Staff (\partcombine?), mal auf mehrere verteilt  (Gelesen 3038 mal)

fugenkomponist

  • Member
Hallo,

angenommen, ich möchte was ähnliches setzen wie den Ausschnitt von Beethovens Fünfter im angehängten Bild, wie geh ich am besten mit teilweise geteilten Stimmen um? Meine Gedanken dazu:

Man könnte erstmal Cello- und Baßstimme einzeln schreiben, per \partcombine auf einen Staff setzen und das Verhalten evtl. noch mit \partcombineApart und seinen Kollegen anpassen. Damit lässt sich der Unterschied zwischen divisi und unisono ganz gut handhaben (3. Zeile des Beispiels).

Da aber weite Teile unisono sind, müsste man dafür viel Code doppelt schreiben. Könnte man da innerhalb der Voice (die wird doch implizit erstellt, wenn ich \new Staff { \relative c' { %Noten } } sage, oder?) irgendwie ein temporäres \partcombine mit einer oder zwei neuen Voices einbauen?

Und nun zu dem wahrscheinlich schwierigeren Teil meines Anliegens: Ab und zu sind ja die Stimmen zu verschieden, um sie auf demselben Staff darzustellen, z. B. wegen verschiedener Schlüssel. Dann werden sie halt auf zwei Staffs aufgeteilt (1. Zeile des Beispiels). Da hab ich mir überlegt, könnte man von Hand einen neuen Staff einführen, der eben nur ein paar Takte dauert; das verträgt sich aber nicht mit automatischen Zeilenumbrüchen (die sich zudem in Partitur und Stimme noch unterscheiden können).
Gibt es also irgendeine Möglichkeit, zu sagen „von Takt 145 bis Takt 153 musst du zwei Staffs verwenden, den zweiten Staff aber über die ganze Zeile (in diesem Fall Takt 142 bis 155) gehen lassen“? Insbesondere müsste man da ein eventuell auftretendes unisono auf beiden Staffs stehen haben (falls man nicht sowieso die komplette Stimme per \partcombine zusammenfügt statt nur die divisi-Teile).

Ist sowas generell machbar in Lilypond? Da ich keinen sinnvollen Ansatz habe, wie das in Lilypond richtig geht, hab ich auch kein Minimalbeispiel … Ich verwende 2.16.1 und wäre auch bereit, die 2.17 zu installieren, wenn das nötig wäre.

fugenkomponist

  • Member
Re: divisi mal auf demselben Staff (\partcombine?), mal auf mehrere verteilt
« Antwort #1 am: Freitag, 11. Januar 2013, 10:48 »
Minimal ist das Beispiel im Anhang nicht, aber es hat mir nochmal klar gemacht, dass das sogar von Hand schon nicht so einfach ist …
Was ich nicht hingekriegt habe, ist, den Bogen vom letzten d in der ersten Zeile zum ersten d in der zweiten Zeile zu ziehen. Ist auch irgendwie klar, weil ich da die Stimme wechsele.

Edit: Was man im Prinzip auf jeden Fall bräuchte, wäre die Möglichkeit, verschiedene Teile einer Stimme auf verschiedenen Staffs stehen zu haben.
Und mir ist gerade eingefallen, dass es sowas ja gibt …
« Letzte Änderung: Freitag, 11. Januar 2013, 10:51 von fugenkomponist »

Be-3

  • Member
Re: divisi mal auf demselben Staff (\partcombine?), mal auf mehrere verteilt
« Antwort #2 am: Freitag, 11. Januar 2013, 11:21 »
Hallo fugenkomponist,

ich habe gestern auch mal herumprobiert, war mit dem Ergebnis zwar zufrieden, aber nicht mit der Lösung: es ist doch einiges an Handarbeit und Gefummel nötig.
Nachdem Du jetzt Deinen Versuch gepostet hast, möchte ich Dir meinen Ansatz auch nicht vorenthalten.

Edit: Was man im Prinzip auf jeden Fall bräuchte, wäre die Möglichkeit, verschiedene Teile einer Stimme auf verschiedenen Staffs stehen zu haben.
Und mir ist gerade eingefallen, dass es sowas ja gibt …

Ja, genau! Ich habe Cello- und Baßstimme separat definiert. Wenn beide Stimmen gemeinsam in einem System sein sollen, wechsle ich in der Baßstimme mit \change Staff = "cello" in den Cello-Staff. Den Rest kann man über \voiceOne, \voiceTwo, \oneVoice usw. genau steuern.
Wenn dies an den richtigen Stellen passiert (sicherheitshalber mit \break zementiert) verschwindet der zeitweise leere Baß-Staff per \RemoveEmptyStaves.

Der "Witz" (und leider auch Aufwand) besteht darin, daß man zwischen Partitur und Stimmauszug unterscheiden kann, indem man \tag benutzt. Ich habe mir z. B. den Spaß gemacht, in der Partitur auf getrennten Staves die wiederholten Achtelnoten mit \repeat tremolo auszugeben (wie in der Original-Vorlage), in der Einzelstimme, wo Cello und Baß zusammenstehen, aber Einzelnoten zu setzen.

Alle "Sonderbehandlungen" für die Partitur habe ich mit \tag #'score gekennzeichnet, alle für den Stimmauszug relevanten Anweisungen mit \tag #'part. So lassen sich in Partitur und Auszug unabhängig voneinander Stimmen in einem gemeinsamen oder zwei getrennten Staves setzen, unterschiedliche Zeilenumbrüche usw. realisieren.

Größere Unisono-Passagen kann man bei Bedarf mit \quoteDuring aus der anderen Stimme zitieren und muß sie nicht doppelt eingeben (das kam in diesem Schnipsel aber nicht vor).


\version "2.16.1"

#(set-global-staff-size 14)
\paper { indent = 0 ragged-last-bottom = ##f }
obreak = { \break }

global = {
  \set Score.currentBarNumber = #142 \bar ""
  \compressFullBarRests
  \key c \minor
  \time 2/4
  \set Timing.beatStructure = #'(2)
}

dummyMusic = { \global \repeat unfold 38 { c''2 } }

celloMusic = \relative c' {
 
  \global
  \clef tenor

  c2( |
  d!4 es |
  f4 fis) |
  g8 g g f! |
  es2( |
  d8) g g f |
  es2( |
  d8) g g f |
  es8 es es d |
  c8 c c bes |
  a8 a a g |
  fis4 r |
  r8 \clef bass bes bes c |
  d2 ~ |
\tag #'part { \break \voiceOne }

  d8 bes bes c |
  d8 d d c |
\tag #'score \break
  bes8 bes bes a |
  g8 g g f |
  es8 es es d |
  c8 c' c bes |
  a8 a a g |
  fis8 fis fis es |
  d8 d d c |
  bes8 d' d c |
  bes8 bes bes a |
  g8 f es d |
\tag #'part \break 
  \repeat tremolo 4 { <c, c'>8 } |
  \repeat tremolo 4 { <c c'>8 } |
  <c c'>4 r |
\tag #'score \break 
  \oneVoice  % ab hier wieder unisiono 
  r8 cis' cis cis |
  \repeat tremolo 4 { cis8 } |
  \repeat tremolo 4 { cis8 } |
  cis4 r |
  r8 d d d | 
  d4 r |
  r4 e8 e |
  e4 fis8 fis |
  fis4 r |
}

bassMusic = \relative c {
  \global
  \clef bass
 
  R2*3 |
  r4 g |
  c4 r |
  r4 g |
  c4 r |
  r4 g |
  c4 r |
  R2 |
  a4 r |
  d4 r |
  g4 r |
  d4 r |
\tag #'part { \change Staff = "cello" \voiceTwo } 
  g4 r |
  d4 r |
  g,2 ~ |
  \tag #'score \repeat tremolo 4 { g8 } |
  \tag #'part { g8 g g g | }
  a2 ~ |
  \tag #'score \repeat tremolo 4 { a8 } |
  \tag #'part { a8 a a a | }
  a2 ~ |
  \tag #'score \repeat tremolo 4 { a8 } |
  \tag #'part { a8 a a a | }
  bes2 ~ |
  \tag #'score \repeat tremolo 4 { bes8 } |
  \tag #'part { bes8 bes bes bes | }
  bes2 ~ |
  \tag #'score \repeat tremolo 4 { bes8 } |
  \tag #'part { bes8 bes bes bes | }

  \repeat tremolo 4 { c8 } |
  \repeat tremolo 4 { c8 } |
  c4 r |
  \tag #'score { \break \change Staff = "cello" }
  s2*9 |

}

\score { <<
  \new StaffGroup <<
    \new Staff \dummyMusic
    \new Staff \dummyMusic
    \new Staff { \clef alto \dummyMusic }
    \new Staff = "cello" \keepWithTag #'score \celloMusic
    \new Staff = "bass" \keepWithTag #'score \bassMusic
   >>
  >>
  \layout { \context { \Staff \RemoveEmptyStaves } }
  \header { piece = "Partitur (Streicher)" }
}



\score {
  \new GrandStaff <<
    \new Staff = "cello" \keepWithTag #'part \celloMusic
    \new Staff = "bass" \keepWithTag #'part \bassMusic
  >>
  \layout { \context { \Staff \RemoveEmptyStaves } }
  \header { piece = "Stimmauszug (Cello und Kontrabaß)" }
}

Viele Grüße
Torsten
« Letzte Änderung: Freitag, 11. Januar 2013, 11:23 von Be-3 »

fugenkomponist

  • Member
Re: divisi mal auf demselben Staff (\partcombine?), mal auf mehrere verteilt
« Antwort #3 am: Freitag, 11. Januar 2013, 12:16 »
Vielen Dank für dein Beispiel, \tag kannte ich noch gar nicht. Und an \quoteDuring hab ich auch nicht gedacht (hab das immer unter Stichnoten einsortiert, aber nicht dran gedacht, dass das ja auch für unisono spielende Instrumente im Orchester nen Haufen Arbeit spart). Ich schau mir das nachher oder am Wochenende genauer an.