Neueste Beiträge

#1
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von elvi77 - Donnerstag, 4. Juni 2026, 16:36
Danke!
#2
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von joo4wie - Donnerstag, 4. Juni 2026, 11:56
Hallo Elvi,

Markups kann man ganz gut mit \hspace verschieben, z.B.
\markup{ \hspace #5 \column{...} }
Ciao, Joo
#3
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von elvi77 - Mittwoch, 3. Juni 2026, 21:10
\version"2.24.1" \pointAndClickOff \language"deutsch" \paper{indent=0}
\header{title="І счумитй" composer="трад. украін"}
glob={\key c\major\time2/4}
sopr=\relative{\glob
  \override Score.BarNumber.break-visibility =#'#(#f #t #t)
  \override Score.BarNumber.self-alignment-X =#0
  c''8g e'4 | c8g e'4 | c8g e'4 | d16[c16]h16[a16]g4\break |
  e8g g g | f a a a | g h d8.h16 | c8e c4}
alto=\relative{\glob
  e'8e g4 | e8e g4 | e8e g4 | f16[e]d[c]h4 |
  c8e e e | c f f f | f f f8.f16 | e8g e4}
bari=\relative{\glob
% c'8c c4 | c8c c4 | c8c c4 | g8 g g4 |
  c'8c c4 | c8c c4 | c8c c4 | g16~g g~g g4 |
  g8c c c | a8c c c | h8d g,8.g16 | c8c c4}
text=\lyricmode{\set stanza ="1."
  І счу митй і ґу -- де, дрі -- бен досч тсчік ві де!
  А гто зме -- не мо -- ло -- ду -- ю та до до -- му про -- ве -- де! }           
               
  % I schu mytj i gu -- de, dri -- ben dosch tschik wi de!
 % A hto zme -- ne mo -- lo -- du -- ju ta do do -- mu pro -- we -- de! }
\score{ \new Voice <<\sopr \alto \bari>> \addlyrics\text
  \layout{} \midi{} }
\markup{\column{\null
  "2.Обізвався Козак на солодкім меду:"
    "Гуляй, гуляй, тсчорнобрива, я до дому заведу."\null
    "3. Не веди з ту мене, ой просчу з я тебе,"
    "Бо лугого муза маю, буде бити, добре знаю."\null
    "4. На бік, глоптсі, на бік, бо тсчорт мусчсча несе!"
    "Як побатсчитй мене з вами, його трястся затрясе."\null
    "7. І счумитй, і ґуде, Скринка ґрає, бас ґуде,"
    "Козак мовтсчитй. А все знає, він до дому заведе."               
              }}           
               

Sieht jetzt so aus. Frage: Wie krieg' ich den Text der Strophen 2, 3, 4 und 7 etwas weiter nach rechts? LG
#4
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von elvi77 - Mittwoch, 3. Juni 2026, 17:49
Ja, vielen Dank, das ist genauso, wie gewünscht.
Setze mich mal dran und mache mal die ukrainische Version und melde mich dann wieder.

Übrigens hatte ich mir das so gedacht: ich arbeite mich am besten an konkreten Beispielen ein. Deshalb kein neuer Thread. Mir ging es ja um ein paar Musterdateien, die ich dann später weiter benutzen kann.
LG
#5
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von Lilysetter - Mittwoch, 3. Juni 2026, 14:57
Bei mir würde das so aussehen: Hast Du Dir das auch so vorgestellt?\version"2.24.1" \pointAndClickOff \language"deutsch" \paper{indent=0}
\header{title="I schumytj" composer="trad. ukrain"}
glob={\key c\major\time2/4}
sopr=\relative{\glob
  \override Score.BarNumber.break-visibility =#'#(#f #t #t)
  \override Score.BarNumber.self-alignment-X =#0
  c''8g e'4 | c8g e'4 | c8g e'4 | d16[c16]h16[a16]g4\break |
  e8g g g | f a a a | g h d8.h16 | c8e c4}
alto=\relative{\glob
  e'8e g4 | e8e g4 | e8e g4 | f16[e]d[c]h4 |
  c8e e e | c f f f | f f f8.f16 | e8g e4}
bari=\relative{\glob
% c'8c c4 | c8c c4 | c8c c4 | g8 g g4 |
  c'8c c4 | c8c c4 | c8c c4 | g16~g g~g g4 |
  g8c c c | a8c c c | h8d g,8.g16 | c8c c4}
text=\lyricmode{\set stanza ="1."
  I schu mytj i gu -- de, dri -- ben dosch tschik wi de!
  A hto zme -- ne mo -- lo -- du -- ju ta do do -- mu pro -- we -- de! }
\score{ \new Voice <<\sopr \alto \bari>> \addlyrics\text
  \layout{} \midi{} }
\markup{\column{\null
    "2. Obizwawsja Kozak na solodkim medu:"
    "Huljaj, huljaj, tschornobrywa, ja do domu zawedu."\null
    "3. Ne wedy z tu mene, oj proschu z ja tebe,"
    "Bo luhoho muza maju, bude byty, dobre znaju."\null
    "4. Na bik, hloptsi, na bik, bo tschort muschscha nese!"
    "Jak pobatschytj mene z wamy, joho trjastsja zatrjase."\null
    "7. I schumytj, i gude, Skrynka graje, bas gude,"
    "Kozak mowtschytj. A wse znaje, win do domu zawede."\null\null
    \bold "Deutsche Übersetzung (sinngemäß)"\null
    "1. Es rauscht und dröhnt, ein leichter Regen fällt!"
    "Und wer wird mich, die ich noch jung bin, nach Hause begleiten?"\null
    "2. Der Kosak versprach es beim süßen Honig:"
    "Feiere, feiere, du Schwarzbrauige, ich bringe dich nach Hause."\null
    "3. Führ mich nicht dorthin, oh, ich bitte dich,"
    "denn ich habe einen wilden Ehemann, er wird schlagen, das weiß ich genau."\null
    "4. Aus dem Weg, Jungs, aus dem Weg, denn der Teufel bringt den Mann herbei!"
    "Wenn er mich unter euch sieht, fängt er an zu zittern."\null
    "7. Es rauscht und dröhnt, die Schüssel spielt, der Bass dröhnt,"
    "Der Kosak schweigt. Doch er weiß alles, er wird nach Hause führen."
    }}
#6
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von joo4wie - Dienstag, 2. Juni 2026, 22:15
Hi Elvi,

[bei deinem aktuellen Beitrag geht es um ein anderes Problem, oder? Da wäre es gut gewesen, ein neues Thema anzufangen - nur so angemerkt].

Also einen Umbruch macht man mit \break. Allerdings setzt du damit die automatische Ermittlung der optimalen Verteilung außer Kraft, was meistens nicht optimal ist. Besser ist es daher folgendes einzubauen:

\paper {
    page-count = 2
    system-count = 6
    systems-per-page = 3
}

Es reicht meistens, eine der Zeilen zu verwenden, ja nach Situation und Wünschen.

Ciao, Joo
#7
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von elvi77 - Dienstag, 2. Juni 2026, 19:20
Oh, war das für mich? Vielen Dank! Hatte die letzten Tage andere Baustellen ...

Momentan arbeite ich mich an einem Stück ab, das laut Chorleiterin lieber alle drei Stimmen Sopran, Alt und Bariton) in einem System zusammenfasst, weil es in der Vorgängerversion auch so aussah.

Die beiden Vorschläge habe ich mal im "Baukasten" abgespeichert.

Jetzt brauche ich ein Muster für ein dreistimmiges Stück, das nur mit dem Text der ersten Strophe unterlegt ist, die anderen Strophen als Text unterhalb des Notenblocks.

Bis jetzt sieht das so aus:
\version "2.24.1"
\language "deutsch"

\header {
  title = "I schumytj"
  composer = "trad. ukrain"
}

Melodie = {
  \key c \major
  \time 2/4
 
  % Takt 1-3
  c''8 g' e''4 |
  c''8 g' e''4 |
  c''8 g' e''4 |
 
  % Takt 4: zwei 16tel-Blöcke zu je zwei Noten
  [d''16 c''16] [h'16 a'16] g'4 |
 
  % Takt 5
  e'8 g' g' g' |
 
  % Takt 6
  f'8 a' a' a' |
 
  % Takt 7
  g'8 h' d''8. h'16 |
 
  % Takt 8
  c''8 e'' c''4
}

Text = \lyricmode {
  I schu mytj
  i gu -- de,
  dri -- ben dosch tschik _ wi _ de!
  A hto zme -- ne mo -- lo -- du -- ju
  ta do do -- mu pro -- we -- de!
}

\score {
  \new Staff {
    \Melodie
  }
  \addlyrics { \Text }
  \layout { }
  \midi { }
}

\markup {
  \column {
    \null
    \null
   
    \null
   
    "2. Obizwawsja Kozak na solodkim medu:"
    "Huljaj, huljaj, tschornobrywa, ja do domu zawedu."
    \null
   
    "3. Ne wedy z tu mene, oj proschu z ja tebe,"
    "Bo luhoho muza maju, bude byty, dobre znaju."
    \null
   
    "4. Na bik, hloptsi, na bik, bo tschort muschscha nese!"
    "Jak pobatschytj mene z wamy, joho trjastsja zatrjase."
    \null
   
    "7. I schumytj, i gude, Skrynka graje, bas gude,"
    "Kozak mowtschytj. A wse znaje, win do domu zawede."
    \null
    \null
    \bold "Deutsche Übersetzung (sinngemäß)"
    \null
        "1. Es rauscht und dröhnt, ein leichter Regen fällt!"
    "Und wer wird mich, die ich noch jung bin, nach Hause begleiten?"
    \null
        "2. Der Kosak versprach es beim süßen Honig:"
    "Feiere, feiere, du Schwarzbrauige, ich bringe dich nach Hause."
    \null
   
    "3. Führ mich nicht dorthin, oh, ich bitte dich,"
    "denn ich habe einen wilden Ehemann, er wird schlagen, das weiß ich genau."
    \null
        "4. Aus dem Weg, Jungs, aus dem Weg, denn der Teufel bringt den Mann herbei!"
    "Wenn er mich unter euch sieht, fängt er an zu zittern."
    \null
   
    "7. Es rauscht und dröhnt, die Schüssel spielt, der Bass dröhnt,"
    "Der Kosak schweigt. Doch er weiß alles, er wird nach Hause führen."
  }
}

Die Noten der anderen Stimmen:
Alt:
% Takt 1-3
e' 8 e' g'4|
e' 8 e' g'4|
e' 8 e' g'4|

% Takt 4: zwei mal zwei 16tel und eine Viertel

[f' 16 e' 16] [d' 16 c' 16] h 4 |
% Takt 5
c' 8 e' e' e'|
% Takt 6
c' f' f' f' |
% Takt 7
f'8 f' f'8. f'16 |
% Takt 8
e'8 g' e'4


Bariton:
% Takte 1-3
c'8 c' c'4|
c'8 c' c'4|
c'8 c' c'4|

% Takt 4
g8 g g4

% Takt 5
g8 c' c' c'

% Takt 6
a8 c' c' c'

% Takt 7
h8 d' g. g16

% Takt 8
c'8 c' c'4

Momentan gefällt mir die Taktverteilung nicht (die ersten drei Takte in der ersten Zeile, die restliche fünf in der zweiten Zeile). Wie erzwingt man denn den Umbruch?
#8
Fragen und Probleme aller Art / Antw:Länge eines Musikstücks? ...
Letzter Beitrag von Manuela - Freitag, 29. Mai 2026, 12:49
So, jetzt habe ich mich nochmals mit dem Thema befasst und eine Markup-Funktion geschrieben, die die Dauer in Minuten und Sekunden ausgibt

#(define-markup-command
  (musikdauer layout props mus duration beat)
  (ly:music? ly:duration? number?)
  (let* ((l (ly:music-length mus))
         (dauer (if (string<? "2.24.4" (lilypond-version))
                    (ly:moment-main (/ l (ly:duration->number duration)))
                    (ly:moment-main (ly:moment-div l (ly:duration-length duration)))))
         (minuten  (exact->inexact (/ dauer beat)))
         (gminuten (inexact->exact (floor minuten)))
         (einemin (if (= gminuten 1)
                      ""
                      "n"
                      ))
         (sekunden (inexact->exact (floor (- (* 60 minuten) (* gminuten 60)))))
         (einesek (if (= sekunden 1)
                      ""
                      "n"
                      ))
         (mydur (ly:duration->string duration))
         (dur-log (ly:duration-log duration))
         (dot-count (ly:duration-dot-count duration))
         (dots (list->string  (make-list dot-count #\.)))
         (dur-string
          (if (negative? dur-log)
              (case dur-log
                ((-1) (format #f "breve ~a" dots))
                ((-2) (format #f "longa ~a" dots))
                ((-3) (format #f "maxima ~a" dots))
                (else (begin
                       ;; Bad durations should error earlier, better be
                       ;; paranoid, though.
                       (ly:warning "Unknown duration ~a" duration)
                       "?")))
              (ly:duration->string duration)))
         )
    (interpret-markup
     layout props
     #{
       \markup \concat
       {
         "Die Musik dauert "
         #(ly:number->string gminuten)
         " Minute" $einemin " und "
         #(ly:number->string sekunden)
         " Sekunde" $einesek " bei "
         #(ly:number->string beat)
         " "
         $dur-string "-er"
         " Schlägen pro Minute "
       }
     #}
     ))
  )

\markup \musikdauer \allemeinemusic ##{ 4 #} #120

Vll. kann man das mit den Schlägen noch geschickter formulieren, meine Version stellt mich nicht ganz zufrieden.

Update: Einzahl bei Minuten und Sekunden berücksichtigt
#9
Gesang / Antw:ganz neu in LilyPond
Letzter Beitrag von Lilysetter - Mittwoch, 27. Mai 2026, 00:19
Wenn die Stimmen nicht synchron laufen (polyphon), braucht man für jede Stimme einen eigenen Text:
Sopran über der erste Zeile (sta1), Alt und Tenor zwischen den Zeilen und Bass unter der zweiten Zeile.
Als System bezeichnet man die beiden Zeilen zusammen.\version"2.25.6" \paper{indent=3} \header{title="Für Elvi" composer="Lilysetter"}
glob={\key c\major \time 2/2 \tempo 4=100}
sopr=\relative{\glob % die folgende Zeile macht nur den ganz rechten Taktstrich durchgehend (geht nur mit \new StaffGroup)
  \override Staff.BarLine.after-line-breaking=#(lambda(G)(ly:grob-set-property! G 'allow-span-bar (!= 0(ly:item-break-dir G))))
  \override Score.BarNumber.break-visibility =#'#(#f #t #t)
  \override Score.BarNumber.self-alignment-X =#(break-alignment-list 0 0 1) % linke Taktnummer etwas nach links
                         \repeat unfold44 c''4\bar"|."}
alto=\relative{\glob r2  \repeat unfold42 c'4}
teno=\relative{\glob R1  \repeat unfold40 c'4}
bass=\relative{\glob R1r2\repeat unfold38 c4}
soprTxt=\lyricmode{So -- pr Te -- xt }
altoTxt=\lyricmode{Al -- to Te -- xt }
tenoTxt=\lyricmode{Te -- no Te -- xt }
bassTxt=\lyricmode{Ba -- ss Te -- xt }
\score{\new StaffGroup<<
  \new Staff="sta1" \with{\consists Merge_rests_engraver midiInstrument ="choir aahs"
      instrumentName =\markup\large\center-column{S A}}<<
    \new Voice ="sopr"{\voiceOne\sopr}
    \new Lyrics \with{alignAboveContext="sta1"} \lyricsto"sopr" \soprTxt
    \new Voice ="alto"{\voiceTwo\alto} \addlyrics\altoTxt>>
  \new Staff="sta2" \with{\consists Merge_rests_engraver midiInstrument ="choir aahs"
      instrumentName =\markup\large\center-column{T B}\clef bass}<<
    \new Voice ="teno"{\voiceOne\teno}
    \new Lyrics \with{alignAboveContext="sta2"} \lyricsto"teno" \tenoTxt
    \new Voice ="bass"{\voiceTwo\bass} \addlyrics\bassTxt>>
  >>
  \layout{}
  \midi{}}
Seit der (Developer-)Version 2.25.13 braucht man das "\consists Merge_rests_engraver" nicht mehr.
#10
Fragen und Probleme aller Art / Antw:Länge eines Musikstücks? ...
Letzter Beitrag von Manuela - Montag, 25. Mai 2026, 20:47
Du kannst die Funktion (ly:number->string auch direkt in das Scheme-Programm einbauen, je nachdem, wie du den Output verwenden willst.