Neueste Beiträge

#1
Hallo,

ich möchte Taktartwechsel, Tonartwechsel, Wiederholungen, Dal Segnos, Codas, usw. farblich markieren.

Im alten Forum habe ich das schon mal gefragt, und dabei folgende Lösung bekommen.
\version "2.20.0"

#(define* (emphasize-in-color color padding #:optional (y-padding 0) dir)
  (lambda (grob)
(let* ((stil (ly:grob-property grob 'stencil))
       (x-ext (ly:stencil-extent stil X))
       (y-ext (ly:stencil-extent stil Y))
       (item-break-dir
         (if (ly:item? grob)
             (ly:item-break-dir grob)
             #f))
       (stil-proc
         (lambda (stl)
           (ly:stencil-add
             (stencil-with-color
               (make-filled-box-stencil
                 (interval-widen x-ext padding)
                 (interval-widen y-ext (+ y-padding padding)))
               color)
             stl))))
       
  (ly:grob-set-property! grob 'layer -100)
  (ly:grob-set-property! grob 'stencil
    (if (or (or (not dir) (zero? dir))
            (and dir (equal? item-break-dir dir)))
        (stil-proc stil)
        stil)))))
{
c'1
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
\repeat volta 2 {
  c'1
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
}
c'1
\bar "|."
}

Mit dem Parameter "dir" kann man die Sichtbarkeit am Zeilenumbruch und Zeilenmitte einstellen.

Am Wiederholungsende ist "dir=0" gut.

Am Wiederholungsanfang ist "dir=0" gut, wenn die Wiederholung in die Zeilenmitte fällt. Wenn die Wiederholung aber am Zeilenanfang ist, wird auch der letzte Taktstrich in der Zeile davor markiert.
Mit "dir=1" wird zwar nur der Wiederholungs-Taktstrich am Zeilenanfang markiert. Wenn die Wiederholung jetzt aber in die Zeilenmitte fällt, wird der Taktstrich nicht mehr markiert.

Kann man die Wiederholungsanfangs-Taktstriche automatisch markieren, sowohl am Zeilenanfang als auch in der Zeilenmitte aber nicht am Zeilenende?

Gruß Thomas

PS:

Ich habe hier nochmal alle Kombinationen zusammengefasst:
\version "2.20.0"

#(define* (emphasize-in-color color padding #:optional (y-padding 0) dir)
  (lambda (grob)
(let* ((stil (ly:grob-property grob 'stencil))
       (x-ext (ly:stencil-extent stil X))
       (y-ext (ly:stencil-extent stil Y))
       (item-break-dir
         (if (ly:item? grob)
             (ly:item-break-dir grob)
             #f))
       (stil-proc
         (lambda (stl)
           (ly:stencil-add
             (stencil-with-color
               (make-filled-box-stencil
                 (interval-widen x-ext padding)
                 (interval-widen y-ext (+ y-padding padding)))
               color)
             stl))))
       
  (ly:grob-set-property! grob 'layer -100)
  (ly:grob-set-property! grob 'stencil
    (if (or (or (not dir) (zero? dir))
            (and dir (equal? item-break-dir dir)))
        (stil-proc stil)
        stil)))))


{
c'1
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
\repeat volta 2 {
  c'1
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
}
c'1
\bar "|."
}

\markup "Wiederholungsanfang"
{

c'1^"dir 0 \\noBreak" \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
\repeat volta 2 { c'1 }
    c'1^"dir 0 \\break" \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
\repeat volta 2 { c'1 }
    c'1^"dir 1 \\noBreak" \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 1)
\repeat volta 2 { c'1 }
    c'1^"dir 1 \\break" \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 1)
\repeat volta 2 { c'1 }
    c'1^"dir -1 \\noBreak" \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 -1)
\repeat volta 2 { c'1 }
    c'1^"dir -1 \\break" \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 -1)
\repeat volta 2 { c'1 }
    c'1
\bar "|."

}
\markup "Wiederholungsende"

{
c'1
\repeat volta 2 {c'1^"dir 0 \\noBreak" } \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
c'1
\repeat volta 2 {    c'1^"dir 0 \\break" } \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 0)
c'1
\repeat volta 2 {    c'1^"dir 1 \\noBreak" } \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 1)
c'1
\repeat volta 2 {    c'1^"dir 1 \\break" } \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 1)
c'1
\repeat volta 2 {    c'1^"dir -1 \\noBreak" } \noBreak
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 -1)
c'1
\repeat volta 2 {    c'1^"dir -1 \\break" } \break
  \once \override Staff.BarLine.after-line-breaking = #(emphasize-in-color red 0.2 1 -1)
c'1
\bar "|."
}

Du darfst diesen Dateianhang nicht ansehen.


#2
Allgemeine Diskussion / Algebra der Töne
Letzter Beitrag von erich - Gestern um 11:34
Hallo allen!

Im Sommer 2917 gab es hier eine Diskussion über dis-Dur in reiner Stimmung; dabei wurde angemerkt, dass es keine eine reine Stimmung gäbe. Ich war dadurch motiviert, der Frage nachzugehen, wie die reine Stimmung auf eine 12-Ton-Skala zu erweitern wäre. Man kann wohl sagen, eine reine Stimmung für 12-Ton-Skalen ist ein Desiderat der Musikwissenschaft. Ich hatte dann eine längere Diskussion in Wikipedia, die dazu führte, dass die Ausführungen über die reine Stimmung von 12-Ton-Skalen in Wikipedia  gelöscht wurden.
Diether de la Motte schreibt in seiner Harmonielehre: der Tonvorrat beschränkte sich auf alten Orgeln auf c, cis, d es, e, f, fis, g, gis, a, bes, h. Meine Untersuchungen zeigen, dass sich diese Auswahl von zwölf Tönen begründen lässt: sie besteht aus zwei sechstönigen Quintfolgen und sie lässt sich auf sich selbst spiegeln, wodurch dur-Akkorde in moll-Akkorde übergehen und umgekehrt.
Im meiner Untersucheng meyer.pythonanywhere.com/Algebra_der_Toene habe ich den Zusammenhang verschiedener Stimmungen dargestellt; ohne LilyPond wäre mir das wohl kaum gelungen.

Vielleich mag dieeine oder derandere sich meine Ausarbeitung ansehen.

Gruß Erich
#3
In der Dokumentation steht, dass der Text nach einem Zeilenumbruch eingeklammert wird. Kann ich das irgendwie unterdrücken?

\version "2.25.2"

#(set-default-paper-size "a7")

\paper {
  indent = 0
}

\header {
  tagline = ##f
}

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
    \override HorizontalBracket.direction = #UP
  }
}

\relative {
  c''4 c
  \override HorizontalBracketText.text = "intro"
  c\startGroup c \break c c c\stopGroup
  c c
}
#4
Fragen und Probleme aller Art / Antw:Volta-Klammer erscheint d...
Letzter Beitrag von eichhofener - Mittwoch, 22. März 2023, 17:33
Ich hatte das gleiche Problem mit einem Ossia Notensystem. Da hat
\remove "Volta_engraver" im Staff Kontext des Ossia-Systems aber schon geholfen.

Ich glaube (meine Kenntnisse sind aber sehr begrenzt), dass irgendeine Kontext-Art neuerdings einen Volta-Engraver bekommen hat und sich das jetzt beißt.

Schau doch mal, ob sich das Verhalten ändert, wenn Du die ChordNames oder die Lyrics herausnimmst.

Grüße
~eichhofener

#5
Klavier/Orgel/Harfe / Antw:Klavier: Wie wird das ein...
Letzter Beitrag von Malte - Mittwoch, 22. März 2023, 17:16
Ich weiß, das war nicht die Frage, aber ich habe zu Rudis Lösung noch eine Anmerkung: Und zwar hast du die Pause in der Mehrstimmigkeit der linken Hand auf eine bestimmte Höhe verschoben, indem du
g4\restgeschrieben hast.

Ich verstehe, dass dir LilyPonds Standardverhalten mit
r4in diesem Fall offenbar zu hoch vorkommt; allerdings würde ich im Zweifelsfall immer erstmal schauen, wie es am Ende im Kontext aussieht. Davon abgesehen sollte die Pause immer nur um ein Vielfaches des Linienabstands (staff-space) verschoben werden, also lieber
a4\restoder (um klar zu machen, was da eigentlich passiert)
\tweak Y-offset 2 r4Damit sitzt sie dann – wie üblich und etwas besser lesbar – mit dem Bogen nicht auf der Linie, sondern im Zwischenraum.

P.S. Danke für den Ohrwurm ;) I feel pretty, oh so pretty, ...
#6
Klavier/Orgel/Harfe / Antw:Klavier: Wie wird das ein...
Letzter Beitrag von Andre - Dienstag, 21. März 2023, 16:58
Danke, funktioniert.   :)
#7
Klavier/Orgel/Harfe / Antw:Klavier: Wie wird das ein...
Letzter Beitrag von Rudi Guggt - Dienstag, 21. März 2023, 11:02
Hallo,

am Klavier muss man meist mit zusätzlichen "voices" arbeiten:

upper = \transpose c c'{
  \clef treble
  \key d \minor
  \time 3/4

  <a, f>8 <c a>~ <c a>2
  r4 <<   { c4 e } \\ gis,2  >>
}

lower = {
  \clef bass
  \key d \minor
  \time 3/4

  f,4 c f
 
  << { g4\rest e2 } \\ c2. >>
}


Gruß
Rudi
#8
Fragen und Probleme aller Art / Antw:Volta-Klammer erscheint d...
Letzter Beitrag von Manuela - Dienstag, 21. März 2023, 10:59
#9
Fragen und Probleme aller Art / Antw:Welcher Takt ist auf welc...
Letzter Beitrag von Manuela - Dienstag, 21. März 2023, 10:47
Das ist echt spannend.

Zum Testen: mit #(set-default-paper-size "a7") kriegt man viel mehr Seiten  ;)
#10
Klavier/Orgel/Harfe / Klavier: Wie wird das eingegeb...
Letzter Beitrag von Andre - Dienstag, 21. März 2023, 09:34
Hallo.
Ich habe keine Ahnung von Klaviernoten. Möchte diese aber gerne eingeben.
Ich singe im Chor und kenne deswegen nur "einfache" Noten.
Nun bin ich aber mir Akkorden konfrontiert.
Im Anhand habe ich die Noten bei denen ich nicht weiter komme.
Der erste Takt ist für mich einfach, aber im zweiten Takt weiß ich nicht weiter.
Wie gebe ich das in Lilypond ein ?

Sniped:
upper = \transpose c c'{
  \clef treble
  \key d \minor
  \time 3/4

  <a, f>8 <c a>~ <c a>2
}

lower = {
  \clef bass
  \key d \minor
  \time 3/4

  f,4 c f
}

\score {
  <<
    \new PianoStaff <<
      \new Staff = "upper" \upper
      \new Staff = "lower" \lower
    >>
  >>
  \layout {
    \context { \Staff \RemoveEmptyStaves }
  }
  \midi { }
}
Du darfst diesen Dateianhang nicht ansehen.