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