Der Ambitus_engraver für einen Staff schaut natürlich nach der höchsten und tiefsten Note aller Stimmen. Ergo könnte man die Kanonabschnitte splitten und gleichzeitig in einer Zeile in der Partitur notieren, wobei nur der jeweilige Abschnitt sichtbar bleibt. Die erste Überlegung wäre, den Note_heads_engraver für die unsichtbar zu machenden Stimmen zu entfernen, aber dies unterdrückt die Notenausgabe gänzlich, wodurch der Ambitus_engraver keine Information über die Existenz der zusätzlichen Stimmen erhält. Deshalb muss man sie per \hideNotes unsichtbar machen und alle anderen relevanten Engraver entfernen. Das könnte dann etwa so aussehen:
\version "2.13.14"
\include "deutsch.ly"
\header {
title = "Singen macht Spaß"
subtitle = "Kanon"
}
\paper {
left-margin = 1.5\cm
line-width = 18\cm
ragged-bottom = ##t
print-page-number = ##f
%tagline = ##f
}
globalScore = {
\key d \major
\time 12/8
\tempo 4. = 116
\skip 1.*2 \break
\skip 1.*2 \bar ":|"
}
globalVoice = {
\key d \major
\time 12/8
\tempo 4. = 116
\skip 1.*4 \bar "||" \break
\skip 1.*4 \bar "||" \break
\skip 1.*4 \bar "||" \break
\skip 1.*4 \bar ":|"
}
notenI = \relative c' {
fis4\fermata fis8 fis4 a8 ~ a4 r8 r4. d,4 d8 d4 fis8 ~ fis4 r8 r4
d8 g4 g8 fis4. e4 e8 d4. e4 e8 fis4 e8 ~ e4. r4.
}
notenII = \relative c' {
a'4\fermata a8 a4 a8 ~ a4. h4( cis8) d4 d8 d4 a8 ~ a4. r4
a8 h4. a4. g4 g8 fis4. a4. h4 a8 ~ a4. r4.
}
notenIII = \relative c' {
d'4.\fermata ~ d4 cis8 ~ cis4. d4( cis8) h4. ~ h4 a8 ~ a4. r4
d,8 d4 d8 d4 d8 d4 d8 d4 d8 a4. d4 cis8 ~ cis4. r4.
}
notenIV = \relative c' {
d4\fermata d8 d4 cis8 ~ cis4. a4. h4 a8 h4 d8 ~ d4. r4.
g4 g8 fis4. e4 e8 d4. a'4 a8 a4 a,8 ~ a4. a4.
}
akkorde = \chordmode {
\germanChords
d2. a h:m d g e:m7 a:sus4 a
}
textI = \lyricmode {
Sin -- gen macht Spaß, Sin -- gen tut gut, __
ja, Sin -- gen macht mun -- ter, und Sin -- gen macht Mut! __
}
textII = \lyricmode {
Sin -- gen macht froh, und __ Sin -- gen hat Charme,
die Tö -- ne neh -- men uns in den Arm. __
}
textIII = \lyricmode {
All __ un -- s’re __ Stim -- men,
sie klin -- gen mit im gro -- ßen Chor, im Klang der Welt. __
}
textIV = \lyricmode {
Sin -- gen macht Spaß, und Sin -- gen tut gut, __
Sin -- gen macht mun -- ter, und Sin -- gen macht Mut! __ Ja,
}
\score {
<<
\new ChordNames { \akkorde }
\new ChoirStaff
<<
\new Staff \with {
instrumentName = "I"
\consists Ambitus_engraver
}{
<<
\new Voice = "partI" { << \globalScore \notenI >> }
\new Voice \with {
\remove Dots_engraver
\remove Dot_column_engraver
\remove Rest_engraver
\remove Rest_collision_engraver
\remove Stem_engraver
\remove Slur_engraver
\remove Tie_engraver
\remove Rhythmic_column_engraver
\remove Axis_group_engraver
\remove Script_engraver
}{ \hideNotes << \notenII \notenIII \notenIV >> }
>>
}
\new Lyrics \lyricsto "partI" { \textI }
\new Staff \with {
instrumentName = "II"
}{ << \globalScore \notenII >> }
\addlyrics { \textII }
\new Staff \with {
instrumentName = "III"
}{ << \globalScore \clef "treble_8" \transpose c c, \notenIII >> }
\addlyrics { \textIII }
\new Staff \with {
instrumentName = "IV"
}{ << \globalScore \clef "bass" \transpose c c, \notenIV >> }
\addlyrics { \textIV }
>>
>>
\layout {
indent = #10
\context {
\Staff
\override InstrumentName #'font-series = #'bold
}
\context {
\Score
\remove Bar_number_engraver
}
\context {
\Lyrics
\override LyricHyphen #'minimum-distance = #1.0
}
}
%\midi {}
}
\pageBreak
\score {
<<
\new ChordNames { \repeat unfold 4 \akkorde }
\new Staff \with {
\consists Ambitus_engraver
}{
<< \globalVoice { \notenI \notenII \notenIII \notenIV } >>
\addlyrics { \textI \textII \textIII \textIV }
}
>>
\layout {
indent = 0
system-count = #8
\context {
\Lyrics
\override LyricHyphen #'minimum-distance = #1.0
}
\context {
\Score
\remove Bar_number_engraver
}
}
}
Es produziert zwar etliche Warnungen, aber die Ausgabe ist in Ordnung.
Vielleicht hilft dir dieses Konzept für die „Weiterverarbeitung“.
Grüße, Robert