Forumsadmin gesucht! Details gibt’s in diesem Thread.

Hauptmenü

Neueste Beiträge

#1
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von harm6 - Heute um 10:47
Zitat von: GerhardIch würde es begrüßen, wenn Du Dich dafür einsetzst, dass Postscript drinbleibt. Ich mache sehr viel damit.
Kann ich natürlich machen, aber es gibt schon gewichtige Argumente pro cairo. Auf jeden Fall wäre es besser du würdest selbst das Wort ergreifen, immerhin nutzt du postscript ja viel. Ich selbst nur gelegentlich.
Du könntest die devel-mailinglist abonieren bzw einen account auf GitLab anlegen und beobachten was passiert, um dann gegebenenfalls zu reagieren.

Zitat von: GerhardIch habe noch etwas experimentiert, es gibt ein Beispiel in notation.pdf
[...]
das kann man modifizieren in:
[...]
Zwei Probleme: das horizontale Spacing  und  die Notenwertübernahme, jetzt malt er ja immer eine Viertelnote (noteheads.s2). Wie kann ich den originalen Namen hier einbringen à la \fromproperty #'NoteHead:glyph-name ?
Dein override verändert NoteHead.stencil so, dass die Klammer zum Notenkopf kommt. In der Folge erscheint die Klammer zwischen einem möglichen Versetzungszeichen und dem Notenkopf. Gewollt?
Wenn du die Klammer via postscript generierst, so werden die horizontalen Abmessungen des NotenKopfs nicht verändert (Fluch und Segen des postscript-markup). Führt dann aber dazu, dass die horizontalen Abstände auch nicht verändert werden.
Wenn du eine andere Methode wählst, die die Abmessungen des Notenkopfes verändert, so werden auch mögliche Hilflinien länger und Notenhälse müssen auch neu positioniert werden.

Insoweit denke ich, dass ein override für NoteHead.stencil nicht zum Ziel führt bzw einen Rattenschwanz weitere Befehle notwendig macht.

Nichtsdestotrotz noch eine Anmerkung zu der Methode.
Den stencil auf ly:text-interface::print zu setzen und dann das text-property anzugehen, ist eine Methode mit einfachen Mitteln Ergebnisse zu erzielen. Aber sie unterliegt auch Beschränkungen. Hier ist es nicht direkt möglich auf den originalen NoteHead zuzugreifen.
Besser wäre es grob-transformer zu nutzen:
\version "2.25.26"
{
  \override NoteHead.stencil =
  #(grob-transformer 'stencil
    (lambda (grob orig)
      (ly:stencil-add
        (grob-interpret-markup grob
          #{ \markup \postscript " -1.5 -.9 moveto 1.0 0.9 scale(\()show" #})
        orig)))
  b'4
  b'2
}
Zeigt aber natürlich auch obige Probleme.

Gruß,
  Harm

#2
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von Gerhrd - Mittwoch, 16. Juli 2025, 21:22
Harm und Lilysetter,
ich bin überrascht, auf wieviel Kompetenz ich gestoßen bin; ich werde nacharbeiten.
Zunächst zur Frage, woher mein Ansinnen kommt.
Natürlich kann man einen Legato-Bogen auch als Spielanweisung verstehen. Wann aber ist das Legato-Spiel gefragt, wann das Abziehen oder Aufschlagen des Fingers? Oft läuft der Bogen über mehrere Noten. Auch hier übt sich der Gitarrist im Legato, obgleich er erneut zupfen muß.
Die Tabelle von Jean-Henri d'Anglebert hat es mir angetan. Die Beispiele 9 (Aufschlag des Zeigefingers zum c nachdem die leere h-Saite gezupft wurde) und 10 (Abzug des Ringfingers zum c nachdem das d gezupft wurde) treffen mein Problem.
Für Beispiel 9 steht bei mir die Klammer auf vor der Note c, für 10 die Klammer zu hinter der Note c.
Als Beispiel wollte ich ein PDF anhängen - ich weiß nicht, wie ich das hier machen kann. Es ist ein Zitat einer Ausarbeitung der Tabulatur von Antonio Brescionello von Ruggero Chiesa. Chiesa setzt in seiner Übertragung ein u über die Note für Klammer auf und ein n für Klammer zu.
Ein anderer Weg ist natürlich, diese Situationen immer mit einer Vorschlagnote zu beschreiben. Ich werde das überdenken.

In jedem Fall, Danke für Eure Beiträge; ich werde versuchen, sie zu durchdringen.
Gerhard
#3
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von Lilysetter - Mittwoch, 16. Juli 2025, 13:23
Vielen Dank, Harm!  Ich würde es begrüßen, wenn Du Dich dafür einsetzst, dass Postscript drinbleibt. Ich mache sehr viel damit.
In meinem obere Beispiel gibt es eine interne Warnung, dass er den Font /Emmentaler durch einen anderen ersetzt, denn es muss /Emmentaler-20 bzw. /Emmentaler-xx  (xx für gerade size) heißen.

Ich habe noch etwas experimentiert, es gibt ein Beispiel in notation.pdf (5.4.10 Modifying stencils):
XinO = {
  \once \override NoteHead.stencil = #ly:text-interface::print
  \once \override NoteHead.text = \markup {
    \combine
    \halign #-0.7 \draw-circle #0.85 #0.2 ##f
    \musicglyph "noteheads.s2cross"
    }}
\relative {a' a \XinO a a}

das kann man modifizieren in:lp =
  \tweak NoteHead.stencil #ly:text-interface::print
  \tweak NoteHead.text
%   \markup\combine\musicglyph"noteheads.s2"\translate #'(-1 . -.7) "("
%   \markup\combine\musicglyph\fromproperty #'NoteHead:glyph-name \postscript"-.8 -.9 moveto 1.0 0.9 scale(\()show"
    \markup\combine\musicglyph"noteheads.s2"\postscript"-1.5 -.9 moveto 1.0 0.9 scale(\))show"
  \etc
rp =
  \tweak NoteHead.stencil #ly:text-interface::print
  \tweak NoteHead.text
    \markup\combine\musicglyph"noteheads.s2"\postscript" 1.5 -.9 moveto 1.0 0.9 scale(\))show"
  \etc
\relative{ c'4 d e f
  \lp g^\markup{\hspace #15 }
  \rp a^\markup{\hspace #15 }
  \lp b2^"-------"
  \rp c^"-------"}

Zwei Probleme: das horizontale Spacing  und  die Notenwertübernahme, jetzt malt er ja immer eine Viertelnote (noteheads.s2). Wie kann ich den originalen Namen hier einbringen à la \fromproperty #'NoteHead:glyph-name ?
#4
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von harm6 - Mittwoch, 16. Juli 2025, 10:04
Zitat von: GerhardAls "Spielanweisung" will ich das Aufschlagen des Greiffingers auf die Saite mit einer "Klammer auf" vor der Note angeben, das Abziehen eines Fingers mit einer "Klammer zu" hinter der Note. Eine Notation, die in den Tabulaturen aus dem Barock oft zu finden ist.
Das kenne ich so nicht, kannst du eine Quelle nennen, besser noch ein Bild posten?
Tatsächlich kenne ich solche "Klammern" in der alten Musik nur als Verzierungsanweisung. Siehe https://en.wikipedia.org/wiki/Ornament_(music) insbesondere die Tabelle von Jean-Henri d'Anglebert.
Aufschlag/Abziehbindungen kenne ich nur wie hier:
{ c''( d'') }

Zitat von: Gerhardich arbeite mit \version "2.24.3" und dachte, das sei die neueste.
LilyPond kommt stets in zwei Versionen. Einerseits die "stable", andererseits die "devel"-Version. Alle neueren Entwicklungen und neuen features kommen mit der devel-Version. Der Neuheit wegen ist die Wahrscheinlichkeit für bislang unentdeckte bugs dort geringfügig größer. Wenn eine neue stable veröffentlicht wird geht die devel-Version darin auf.
Erfahrungsgemäss ist die bug-Wahrscheinlichkeit allerdings wirklich nur geringfügig größer. Das ein schwerer bug sich in der devel zeigt ist sehr selten, ca einmal pro Dekade.
Insoweit rate ich immer zur neuesten devel-Version, zur Zeit ist das 2.25.26 https://lilypond.org/doc/v2.25/Documentation/web/development
Die neueste stable ist 2.24.4 https://lilypond.org/doc/v2.25/Documentation/web/download
Es ist auch kein Problem mehrere Versionen parallel zu installieren. Frescobaldi macht das sehr einfach möglich. Es geht aber auch anders...

Zitat von: Gerhardich kenne "ly\music-functions-init.ly nicht
Das gehört zu den internen Dateien. Wo auch immer du LilyPond installiert hast kannst Du es finden.
Wenn du LilyPond erweitern willst, so wirst du in diese Dateien schauen und den source-code verstehen müssen, um dann im eigenen ly-file modifizierte oder ganz neue Versionen davon zu verwenden.
Falls du dabei auf Schwierigkeiten stösst (egal auf welchem level), frag hier. :)


Zitat von: LilysetterDie parenthesize-Funktion ist in ly\music-functions-init.ly definiert:
[...]
man könnte eine neue  \parenthesize_right definieren.
\parenthesize setzt im wesentlichen nur das 'parenthesized-property und die stencil(s)-proceduren reagieren darauf.
Um \parenthesize_right/left sinnvoll zu definieren bräuchtest du noch zwei neue properties: 'parenthesized-left/right oder du müsstest 'parenthesized richtungsabhängig machen.
Dazu noch entsprenchende 'stencils sowie den eigentlichen 'stencil.
Scheint mir bei weitem zu viel Aufwand zu sein...

Zitat von: Lilysettersowas kann man leicht in postscript machen.
Geht natürlich, allerdings gibt es Überlegungen in zukünftigen Versionen nativen postscript-code nicht mehr zu unterstützen.
Grund: LilyPond kann im Moment entweder ghostscript oder cairo verwenden. ghostscript hat allerdings ein paar Probleme. Mit cairo ist kein postscript möglich.
Anstatt \postscript ist es oft möglich \path zu verwenden.

Nachdem das alles gesagt ist ... zum eigentlichen Thema:
https://lsr.di.unimi.it/LSR/Item?id=902 zeigt eine recht gute Lösung. Allerdings gibt es dort ja die Anmerkung:
Zitat von: LSR 902%It's probably possible to automate a bit more
Das habe ich unten mal gemacht (und das snippet gleich komplett neu geschrieben).

\version "2.24.3"

#(define (paren-left grob)
  (ly:font-get-glyph (ly:grob-default-font grob) "accidentals.leftparen"))
 
#(define (paren-right grob)
  (ly:font-get-glyph (ly:grob-default-font grob) "accidentals.rightparen"))

leftParen =
  \tweak Parentheses.stencils
    #(lambda (grob) (list (paren-left grob) empty-stencil))
  \parenthesize
  \etc
 
rightParen =
  \tweak Parentheses.stencils
    #(lambda (grob) (list empty-stencil (paren-right grob)))
  \parenthesize
  \etc

{
  \override Parentheses.font-size = #1
  \leftParen <b d'>
  < \rightParen b d'>
  \leftParen d'
  \rightParen b
}

HTH,
  Harm

#5
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von Gerhrd - Dienstag, 15. Juli 2025, 12:23
Hallo Lilysetter,

ich bin beeindruckt, verstehe aber leider nur "Bahnhof".

zum ersten snipsel:
ich arbeite mit \version "2.24.3" und dachte, das sei die neueste.


ich kenne "ly\music-functions-init.ly nicht und kann mit dem zweiten snipsel nichts anfangen.
Wo finde ich eine Erklärung, was dort geschrieben steht?

Danke für Deine Antwort.

Gerhard
#6
Fragen und Probleme aller Art / Antw:Klammern an und um Noten
Letzter Beitrag von Lilysetter - Montag, 14. Juli 2025, 22:39
Hi, 1000 Wege führen zum Layout, sowas kann man leicht in postscript machen. Meinst Du so:\version"2.25.6"\relative{
  c'_\markup\postscript"/Emmentaler 2.5 selectfont -1.6  -1 moveto (\() show"
  c'_\markup\postscript"/Emmentaler 2.5 selectfont  1.8 2.5 moveto (\)) show"
  }

Die parenthesize-Funktion ist in ly\music-functions-init.ly definiert:parenthesize =
#(define-music-function (arg) (symbol-list-or-music?)
   (_i "Tag @var{arg} to be parenthesized.

@var{arg} may be either a music event or a grob path.")
   (let ((maybe-with-id (if (and (ly:music? arg)
                                 (music-is-of-type? arg 'event-chord))
                            (tweak 'parenthesis-id
                                   (gensym "unique-parenthesis-id")
                                   arg)
                            arg)))
     (once (propertyTweak 'parenthesized #t maybe-with-id))))
man könnte eine neue  \parenthesize_right definieren.
#7
Fragen und Probleme aller Art / Klammern an und um Noten
Letzter Beitrag von Gerhrd - Montag, 14. Juli 2025, 20:34
Hallo Lilyponder

Gitarristen haben spezielle Probleme.
Als "Spielanweisung" will ich das Aufschlagen des Greiffingers auf die Saite mit einer "Klammer auf" vor der Note angeben, das Abziehen eines Fingers mit einer "Klammer zu" hinter der Note. Eine Notation, die in den Tabulaturen aus dem Barock oft zu finden ist.
Mit "\parenthesize" kann ich die ganze Note einklammern. Das hilft mir nicht.

Alternativ kann ich mir auch einen kleinen Pfeil vorstellen, der auf die Note zeigt oder von ihr weg. Das verlangt aber ein "Sonderzeichen" ??!!??

( Schon versucht: \parenthesize_right ; ergibt einen Fehler.)

Danke für Eure Ideen.


Gerhard
#8
Alte Musik / Antw:Te Deum laudamus in Vatic...
Letzter Beitrag von Moatl - Dienstag, 8. Juli 2025, 18:47
Hallo Malte,

vielen Dank für die dann doch schnelle Hilfe.  ;)
Das schaut so schon viel besser aus.
Ich hab' mich gerade noch mit der letzten Notenzeile etwas gespielt, und konnte diese noch etwas vereinfachen.
  \[ \augmentum { h \flexa a }  \] Nur die Moræ schauen immer noch etwas komisch aus; vor allem der obere ist zu hoch. Für meinen Zweck reicht das aber; Danke.
#9
Alte Musik / Antw:Te Deum laudamus in Vatic...
Letzter Beitrag von Malte - Dienstag, 8. Juli 2025, 08:33
Hallo Moatl,

willkommen im Forum! (Und bitte entschuldige, dass die Freischaltung fast zwei Wochen gebraucht hat.)

Merkwürdig, dass LilyPond Ligaturen nicht als Melismen behandelt. Du kannst aber mit \melisma und \melismaEnd arbeiten, ich nutze in solchen Fällen ( und ) statt Legatobögen:
"(" = \melisma
")" = \melismaEnd
So sieht die Anwendung aus:
     \[ e \]
     \[ g( \pes a) \]
     \[ a \]
     \[ a(  \flexa g) \]
Und dann würde ich noch die Silbentrennstriche mit -- setzen:
   \new Lyrics \lyricsto "cantus" {
    Te De -- um lau -- da -- mus
   }
Damit setzt LilyPond Striche abhängig von der Lücke zwischen Silben.
Insgesamt ergibt sich:
\version "2.24.3"
\language "deutsch"

\include "gregorian.ly"

"(" = \melisma
")" = \melismaEnd

\score {
 <<
   \new VaticanaVoice = "cantus" {
     \clef "vaticana-do3"
     \[ e \]
     \[ g( \pes a) \]
     \[ a \]
     \[ a(  \flexa g) \]
     \[ a( \pes \quilisma h \pes c') \]
     \[ \augmentum h( \flexa \augmentum a)    \]
   }
   
   \new Lyrics \lyricsto "cantus" {
    Te De -- um lau -- da -- mus
   }
 >>
}


Viele Grüße
Malte
#10
Alte Musik / Te Deum laudamus in Vaticana
Letzter Beitrag von Moatl - Montag, 7. Juli 2025, 18:16
Hallo zusammen,
ich möchte meinem Orgelsatz von »Großer Gott« ein »Te Deum laduamus« in Vaticana vorausstellen – weil es unser Pfarrer so macht...
Ich hab' mich mal am »Sanctus«-Beispiel in der Doku versucht:
\version "2.24.3"
\language "deutsch"

\include "gregorian.ly"

\score {
 <<
   \new VaticanaVoice = "cantus" {
     \clef "vaticana-do3"
     \[ e \]
     \[ g \pes a \]
     \[ a \]
     \[ a  \flexa g \]
     \[ a \pes \quilisma h \pes c' \]
     \[ \augmentum h \flexa \augmentum a    \]
   }
   
   \new Lyrics \lyricsto "cantus" {
    Te De- um lau- da- mus
   }
 >>
}
Leider verschiebt es mir den Text unten total zusammen, und die Punkte am Ende kommen z.T. auch in die falschen Zeilen. +

Ich bin mir fast sicher, dass der Fehler vorm Monitor sitzt; aber kann mir bitte hier jemand helfen?

Alternativ:
In Lilypond gibt es keine Möglichkeit Gregorio-Schnipsel unterzubringen, oder? (da funktioniert mein Code...)

Sorry, daſs ich gleich beim ersten Mal mit einer solchen »Orchidee« auftauche...