Deutschsprachiges LilyPond Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: ingmar am Samstag, 9. Mai 2026, 11:19

Titel: Länge eines Musikstücks?
Beitrag von: ingmar am Samstag, 9. Mai 2026, 11:19
Bei der Vorbereitung eines Konzerts entsteht oft die Frage: Wie lang dauert eigentlich dieses oder jenes Stück? Da gibt es immer zwei Möglichkeiten: Einmal durchspielen (aber dann auf keinen Fall abbrechen...) oder ausrechnen – wenn man das Tempo weiß und die Länge kennt. Die Musik, mit der ich zu tun habe, hat keine echten Tempoänderungen, aber doch immer mal wieder Taktwechsel.

Ich stelle mir daher immer oft eine scheme-Funktion vor, der ich eine Voice oder einen Staff übergebe und die mir dessen Länge, am einfachsten wohl in Viertelnoten, zurückliefert. Dazu müsste sie einfach alle Noten und Pausen (und Spaces s1, s2, s4,...) zusammenzählen.

Tempoänderungen würd ich erstmal ignorieren – man könnte sie später durchaus noch berücksichtigen, so weit sie durch das Verhältnis zum Grundtempo definiert sind (ich muss erstmal schauen, wie ich das in meinen Partituren bisher gehandhabt habe). Aber ich denke, das kann später dazukommen, wenn es jemandem fehlt.

Und dann, natürlich, Wiederholungen (\repeat volta 2). Da sie nun dastehen, sollten sie per default wohl auch berücksichtigt werden (soll heißen, zweimal gezählt werden). Das ist natürlich nicht ganz trivial, bedenkt man die vielen Möglichkeiten mit \alternative, Dal Segno, Repeat unfold usw. Also entweder doch erstmal Wiederholungen ganz ignorieren (das ist OK, denn viele der Stücke mit Wiederholungen sind Tanzsätze, die sich schnell von Hand auszählen lassen). Oder, da \midi das Thema ja konsequent und richtig behandelt, sich irgendwie darauf stützen.

Auch Tempoänderungen würd ich erstmal ganz ignorieren – man könnte sie durchaus berücksichtigen, so lange sie durch das Verhältnis zum Grundtempo definiert sind (ich muss mal schauen, wie ich die in meinen Partituren bisher behandelt habe). Aber ich denke, das kann dann in der nächsten Stunde kommen..

Da Michaela vor kurzem schon ein Beispiel gegeben hat für das Durchgehen Note für Note (https://lilypondforum.de/index.php/topic,1601.msg7697.html#msg7697), fehlt mir für eine erste Fassung eigentlich nur das Stück Code, das die Länge der Note/Pause liefert und eventuell für das Aufaddieren.

Kann jemand weiterhelfen? : - )

Danke! – und Gruß,
--ingmar

Codebeispiel:
\version "2.24.3"

musicA = \relative { % Length = 48
c'4 d e f g2 g
a4 a a a g1
f4 f f f e2 e
d4 d d d c e g2
f4 f f f e2 e
d4 d d d c1 }

musicB = \relative { % Length = 49
\time 3/4
R2. *2
c'4 c d
b4. c8 d4
e4 e f
e4. d8 c4
d4 c b
c4 c8 d e f

g4 g g
g4. f8 e4
f4 f f
f4. e8 d4
e4 f8 e d c
\time 4/4 
e4. f8 g4 r\fermata
\time 3/4 
a8 f e4 d
c2 r4
\bar "|." }

musicC = \relative { % Length = 35
\time 4/2
R\breve
r2 d'' d d
es2 r d4 es d  c
b8 c b a g4 r8 a b4 r8 d e4 fis
g4 g8 fis g4
}

musicD = \relative { % Length including repetition = 328, without repetition (using alternative 2) = 236
\language "english"
\time 4/2
g'2 b4. c8 d4 e d b
a2 cs d4. d8 d4 d
cs4( d2) cs4 d2 r
b2 c4 d c c b b
a4 a d4. c8 b4 g d'2

r4 a e'4. d8 c4 c b b
c4. b8 a4 g fs2 r
g4 g8 g g2 r g4 c8 c
c4 a b b a2 r
r1 r2 a

g4 a b2 a4 b c2
b1 a2 r
r1 r2 d4 d8 c
b4. a8 g4 g fs2 r
d'4 d8 c b4 b a a g2

r1 e'2 d4 d
d2 cs d2. r4
\repeat volta 2 {
r4 d2 c b a
g2 fs4 fs8( g4) fs8 g2
b4 g a2 g f4 f
e2 g b4 c2( b4)
c2 r4 b a c b cs
d2 r4 d e2 d
d2 r4 d g2. g,4
g2 c e2. e4
d2. d4 c b c c
b4 g a2 r b
a2 g a2. a4
}
\alternative {
{ g2. r4 }
{ g2. g4 a a g f g1\fermata }
}
\bar "||"
}


lengthA = "99" % \length \of \musicA \...

\markup "A – Länge in Vierteln:"
\markup \lengthA