ZitatBei mir läuft der code tadellos durch
Zitat von: Gekürzte Kopie deines Codes, Fehler hervorgehobenalto = \relative c' {
...
%4. System
h4( g) a \sS
\setblau h8[( a g f]) \revblau \setrot e8[( \revrot d])
c2 h4 \sD
c4( c) c \sS
d( c) {d
g,2 s4
}
ZitatWenn Ihr Zeit habt, schaut euch doch bitte mal den code an; er ist fehlerfrei zu kompilieren mit lilipond V 26.0.
Zitat von: terminal$ lilypond atest-123.lyDas nenne ich nicht wirklich fehlerfrei
GNU LilyPond 2.26.0 (running Guile 3.0)
Processing `atest-123.ly'
Parsing...
atest-123.ly:229:1: error: not a note name: tenor
tenor = \relative c' {
atest-123.ly:229:7: error: syntax error, unexpected '='
tenor
= \relative c' {
atest-123.ly:268:1: error: not a note name: bass
bass = \relative c {
atest-123.ly:268:6: error: syntax error, unexpected '='
bass
= \relative c {
atest-123.ly:276:1: error: not a note name: verseOne
verseOne = \lyricmode {
atest-123.ly:276:10: error: syntax error, unexpected '='
verseOne
= \lyricmode {
atest-123.ly:294:1: error: not a note name: verseTwo
verseTwo = \lyricmode {
atest-123.ly:294:10: error: syntax error, unexpected '='
verseTwo
= \lyricmode {
atest-123.ly:303:1: error: not a note name: rehearsalMidi
rehearsalMidi = #
atest-123.ly:303:15: error: syntax error, unexpected '='
rehearsalMidi
= #
atest-123.ly:303:17: warning: Ignoring non-music expression
rehearsalMidi =
#
atest-123.ly:344:23: error: unknown command: `\alto'
{\voiceTwo
\alto }
atest-123.ly:344:23: error: string outside of text script or \lyricmode
{\voiceTwo
\alto }
atest-123.ly:350:37: error: unknown command: `\verseOne'
\lyricsto "soprano"
\verseOne
atest-123.ly:350:37: error: syntax error, unexpected STRING, expecting \sequential or \simultaneous or << or '{'
\lyricsto "soprano"
\verseOne
atest-123.ly:353:36: error: unknown command: `\verseTwo'
\lyricsto "soprano"
\verseTwo
atest-123.ly:353:36: error: syntax error, unexpected STRING, expecting \sequential or \simultaneous or << or '{'
\lyricsto "soprano"
\verseTwo
atest-123.ly:365:23: error: unknown command: `\tenor'
{\voiceOne
\tenor }
atest-123.ly:371:3: error: syntax error, unexpected \layout
\layout { }
atest-123.ly:378:1: error: syntax error, unexpected \book
\book {
atest-123.ly:380:3: error: syntax error, unexpected \score
\score {
atest-123.ly:381:5: error: unknown command: `\rehearsalMidi'
\rehearsalMidi "soprano" "soprano sax" \verseOne
atest-123.ly:381:44: error: unknown command: `\verseOne'
\rehearsalMidi "soprano" "soprano sax"
\verseOne
atest-123.ly:382:5: error: syntax error, unexpected \midi
\midi { }
atest-123.ly:386:1: error: syntax error, unexpected \book
\book {
atest-123.ly:388:3: error: syntax error, unexpected \score
\score {
atest-123.ly:389:5: error: unknown command: `\rehearsalMidi'
\rehearsalMidi "alto" "soprano sax" \verseOne
atest-123.ly:389:41: error: unknown command: `\verseOne'
\rehearsalMidi "alto" "soprano sax"
\verseOne
atest-123.ly:390:5: error: syntax error, unexpected \midi
\midi { }
atest-123.ly:394:1: error: syntax error, unexpected \book
\book {
atest-123.ly:396:3: error: syntax error, unexpected \score
\score {
atest-123.ly:397:5: error: unknown command: `\rehearsalMidi'
\rehearsalMidi "tenor" "tenor sax" \verseOne
atest-123.ly:397:40: error: unknown command: `\verseOne'
\rehearsalMidi "tenor" "tenor sax"
\verseOne
atest-123.ly:398:5: error: syntax error, unexpected \midi
\midi { }
atest-123.ly:409:1: error: Unfinished main input
atest-123.ly:409:1: error: syntax error, unexpected end of input
fatal error: failed files: "atest-123.ly"

ZitatIch habe einiges heraus kommentiert, sende aber dennoch mal alles mit - evtl. kann jemand ja diesen code noch gebrauchen
\version "2.26.0"
\paper { ragged-right = ##f }
im=\set ignoreMelismata = ##t
sm=\unset ignoreMelismata
\language "deutsch"
global = {
\key c \major
\time 3/4
\partial 4
}
soprano = \relative c'' {
\global
\autoBeamOff
g4
h4( c2)
e,2 e4
}
alto = \relative c' {
\global
\autoBeamOff
c4
d( c) d
h'8[( a g f]) e8[( d])
}
verseOne = \lyricmode {
wir \im lo -- ben \sm
Pein, __ \im das __ \sm
}
\new ChoirStaff <<
\new Staff
<<
\new Voice = "soprano" { \voiceOne \soprano }
\new Voice = "alto" { \voiceTwo \alto }
>>
\new Lyrics \lyricsto "soprano" \verseOne
>>
Du hast die Reduzierung des Codes jetzt mir aufgebürdet, und meine Motivation meinen Lösungsvorschlag überhaupt noch zu posten beinahe auf null reduziert.ZitatNun kann ich erahnen, daß Lilypond die Soprannoten als Führungsnoten nimmt und nicht den Alt - einfach, weil ich es so gheschrieben habe.
\paper { ragged-right = ##f }
\language "deutsch"
global = {
\key c \major
\time 3/4
\partial 4
}
soprano = \relative c'' {
\global
\autoBeamOff
g4
h4( c2)
e,2 e4
}
alto = \relative c' {
\global
\autoBeamOff
c4
d( c) d
h'8[( a g f]) e8[( d])
}
verseOne = \lyricmode {
\set associatedVoice = "alto"
wir lo -- ben
Pein, __ das __
}
\new ChoirStaff <<
\new Staff
<<
\new Voice = "soprano" { \voiceOne \soprano }
\new Voice = "alto" { \voiceTwo \alto }
>>
\new Lyrics \lyricsto "soprano" \verseOne
>>
verseOne = \lyricmode {
\set stanza = "1."
% Liedtext folgt hier.
Es \im sun -- gen\sm drei En-gel ein'n \im sü -- ßen \sm Ge -- sang,
das in __ dem ho -- hen
%
% 2 . System
\im Him -- \sm mel er -- klang.
\set stanza = "2." Sie sun -- gen, sie sun -- gen, \im al -- les \sm so wohl, __ den
%
% 3. System
lie -- ben Gott __ \set associatedVoice = "alto" wir lo -- ben solln.
\set stanza = "5."All un -- ser Not __ und
%
% 4. System
un -- ser Pein, __ \im das __ \sm wan -- del uns __ Dein Kin -- de -- lein.
}\displayLilyMusicDann wird der fertig transponierte Code im Terminal ausgegeben.
\version "2.26.0"
% Zeitstempel als Variable definieren (Format: Tag-Monat-Jahr, Stunde:Minute)
meinZeitStempel = #(strftime "%d.%m.%Y %H:%M" (localtime (current-time)))
datum = #(strftime "%d.%m.%Y" (localtime (current-time)))
uhrzeit = #(strftime "%H:%M" (localtime (current-time)))
% Makros, weil Schreibfaul:
sD=\slurDashed
sS=\slurSolid
im=\set ignoreMelismata = ##t
sm=\unset ignoreMelismata
meinBlau = #(rgb-color 0.1 0.3 1.0)
meinRot = #(rgb-color 0.9 0.1 0.1)
meinOrange = #(rgb-color 0.9 0.6 0.0)
%
% Farbspielerein
% für einzelne Noten
setOrange =\override NoteHead.color = #meinOrange
setblau=\override NoteHead.color = #blue
revblau=\override NoteHead.color = #black
setrot =\override NoteHead.color = #red
revrot =\override NoteHead.color = #black
%
% Besser:
blau = #(define-music-function
(musik)
(ly:music?)
#{
\override NoteHead.color = #blue
\override Stem.color = #blue
\override Beam.color = #blue
$musik
\revert NoteHead.color
\revert Stem.color
\revert Beam.color
#})
%
\version "2.26.0"
%
\language "deutsch"
#(set-global-staff-size 18)
\header {
subsubtitle = "Three Angles Were Singin"
composer = "Text: M. from Mainz (vor 1605)"
arranger = "Satz: E. GBB"
copyright = "ColCan '26 - copyfree by cwh "
tagline = "frescobaldi & lilypond - a perfect couple"
meter = \markup \with-color #red
{
\tiny \italic "zuletzt bearbeitet am "
\tiny \datum
\tiny \italic um
\small \uhrzeit
\italic \tiny "Uhr"
}
}
\paper {
#(set-paper-size "a4")
system-system-spacing = #'((padding . 8) (basic-distance . 0.5))
top-margin = 15 \mm
bottom-margin = 15 \mm
left-margin = 20 \mm
right-margin = 20 \mm
% annotate-spacing = ##t % zeigt alle abstände an
system-system-spacing.basic-distance = #20
% top-system-spacing.basic-distance = #10
% last-bottom-spacing.basic-distance = #10
indent = 0
line-width = 170
}
% ---------------------------------
% -------- Layout und so
% ---------------------------------
\layout {
\override LyricSpace.minimum-distance = #2 %min. Abstand des Textes in Partitur im gesamten Stück
line-width = #170
}
global = {
\key c \major
\numericTimeSignature
\time 3/4
\partial 4
}
soprano = \relative c'' {
\global
\override Score.BarNumber.stencil
= #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) % Box um Taktzahlen
%
\autoBeamOff
% Die Noten folgen hier.
c4 \sD
c4( c) c
h4( a) c
h( g) a
e2 e4
g4.( a8) g4
e4( c) e \break
%
%2. System
g4.( a8) g4
e2 \bar "||" e4
e4 f g
g( a) e
d4( e) f \sS
g( a) h \sS \break
%
%3. System
h4( c) d
g,2 g4
\setrot h4( c2) \revrot
h2 \bar ":|." b4\rest
c4 c c \sD
h4( a) c \break
%
%4. System
h4( g) a
\setrot e2 \revrot e4 \sS
g4.( a8) g4 \sD
e4( c) e \sS
g4.( a8) g4
e2 s4
\bar "|." \break
}
alto = \relative c' {
\global
\autoBeamOff
% Die Noten folgen hier.
c4 \sD
e( c) e
c4( c) g'
f4( e) d
e2 c4
h4( a) h
c4( c) c
%
%2. System
e4 e e
c2 c4 c d
e4 c( c)
c d( c) a
h2 e4
%
%3. System
d2 g4 \sS
g4( d) c
\setblau d( c) d \revblau
e2 s4
c4 c c' \sD
h4( a) c
%
%4. System
h4( g) a \sS
\setblau h8[( a g f]) \revblau \setrot e8[( \revrot d])
c2 h4 \sD
c4( c) c \sS
d( c) {d
g,2 s4
}
tenor = \relative c' {
\global
% Die Noten folgen hier.
\stemDown
c4 \sD
h( a) g
f( f) e
d4( e) f
e2 e4
e4( e) d
\stemUp c4( \stemDown e) \stemUp c
%
%2. System
\stemUp
h4.( a8) h4
c2 \stemDown c'4
c4 c c
h4( a) c
h4( g) a
e2 e4
%
%3. System
\sS
g4.( a8) g4
e4( \stemUp c) \stemDown e
g4.( a8) g4
e2 d4\rest
c'4 c c
h4( a) c
%
%4. System
h4( g) a
e2 e4
e2 d4 \stemUp \sD
c4( \stemDown e4) \stemUp c \sS
h4( a) h
c2 s4
}
bass = \relative c {
\global
% Die Noten folgen hier.
%2. System
%3. System
%4. System
}
verseOne = \lyricmode {
\set stanza = "1."
% Liedtext folgt hier.
Es \im sun -- gen\sm drei En-gel ein'n \im sü -- ßen \sm Ge -- sang,
das in __ dem ho -- hen
%
% 2 . System
\im Him -- \sm mel er -- klang.
\set stanza = "2." Sie sun -- gen, sie sun -- gen, \im al -- les \sm so wohl, __ den
%
% 3. System
lie -- ben Gott __ wir \im lo -- ben \sm solln.
\set stanza = "5."All un -- ser Not __ und
%
% 4. System
un -- ser Pein, __ \im das __ \sm wan -- del uns __ Dein Kin -- de -- lein.
}
verseTwo = \lyricmode {
\set stanza = "3."
% Liedtext folgt hier.
Wir he -- ben an, __ wir lo -- ben Gott, wir \im ru -- fen \sm ihn an, __ es
tut __ uns not.
\set stanza = "4." Ma -- ri -- a, Gotts Mut -- ter, rei -- ne Magd, __ all
un -- ser Not __ sei \im Dir __ \sm ge -- klagt.
}
rehearsalMidi = #
(define-music-function
(parser location name midiInstrument lyrics) (string? string? ly:music?)
#{
\unfoldRepeats <<
\new Staff = "soprano" \new Voice = "soprano" { \soprano }
\new Staff = "alto" \new Voice = "alto" { \alto }
\new Staff = "tenor" \new Voice = "tenor" { \tenor }
% \new Staff = "bass" \new Voice = "bass" { \bass }
\context Staff = $name {
\set Score.tempoWholesPerMinute = #25/1 % 25 ganze Noten pro Minute
\set Score.midiMinimumVolume = #0.5
\set Score.midiMaximumVolume = #0.5
% \set Score.tempoWholesPerMinute = #(ly:make-moment 100 4) % veraltete Syntax
\set Staff.midiMinimumVolume = #0.8
\set Staff.midiMaximumVolume = #1.0
\set Staff.midiInstrument = $midiInstrument
}
% \new Lyrics \with {
% alignBelowContext = $name
% } \lyricsto $name $lyrics
\new Lyrics \with {
\override VerticalAxisGroup.staff-affinity = #CENTER
} \lyricsto "soprano" \verseOne
\new Lyrics \with {
\override VerticalAxisGroup.staff-affinity = #CENTER
} \lyricsto "soprano" \verseTwo
>>
#})
\score {
\new ChoirStaff <<
\new Staff \with {
midiInstrument = "choir aahs"
instrumentName = \markup \center-column { "S" "A" }
shortInstrumentName = \markup \center-column { "S" "A" }
}
<<
\new Voice = "soprano" \with {\consists "Ambitus_engraver" }
{\voiceOne \soprano }
\new Voice = "alto" \with { \consists "Ambitus_engraver" \override Ambitus.X-offset = #2.0 }
{\voiceTwo \alto }
>>
% -------------------------------------------------------
% Gesangs Text
% -------------------------------------------------------
\new Lyrics \with {\override VerticalAxisGroup.staff-affinity = #CENTER }
\lyricsto "soprano" \verseOne
%
\new Lyrics \with {\override VerticalAxisGroup.staff-affinity = #CENTER }
\lyricsto "soprano" \verseTwo
% -------------------------------------------------------
%
% -------------------------------------------------------
\new Staff \with {
midiInstrument = "choir aahs"
instrumentName = \markup \center-column { "TB" }
shortInstrumentName = \markup \center-column { "TB" }
}
<<
\clef bass
\new Voice = "tenor" \with {\consists "Ambitus_engraver"}
{\voiceOne \tenor }
% \new Voice = "bass" \with {\consists "Ambitus_engraver"
% \override Ambitus.X-offset = #2.0 }
% {\voiceTwo \bass }
>>
>>
\layout { }
\midi {
\tempo 4=100
}
}
% MIDI-Dateien zum Proben:
\book {
\bookOutputSuffix "soprano"
\score {
\rehearsalMidi "soprano" "soprano sax" \verseOne
\midi { }
}
}
\book {
\bookOutputSuffix "alto"
\score {
\rehearsalMidi "alto" "soprano sax" \verseOne
\midi { }
}
}
\book {
\bookOutputSuffix "tenor"
\score {
\rehearsalMidi "tenor" "tenor sax" \verseOne
\midi { }
}
}
%\book {
% \bookOutputSuffix "bass"
% \score {
% \rehearsalMidi "bass" "tenor sax" \verseOne
% \midi { }
% }
%}