Deutschsprachiges LilyPond Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Manuela am Mittwoch, 5. Juni 2024, 16:40

Titel: Niedrigste/höchste Note aus Musik herausfiltern
Beitrag von: Manuela am Mittwoch, 5. Juni 2024, 16:40
Möglicherweise gibt es diese Funktion schon irgendwo. Ich habe eine Scheme-Funktion geschrieben, bin aber noch nicht ganz zufrieden, das muss doch eleganter gehen?

\version "2.25.7"
\language "deutsch"

highlow =
#(define-music-function (mus)(ly:music?)
   (let*
    (
      (alle-pitches
       (let loop ((mus mus) (pitches '()))
         (let ((p  (ly:music-property mus 'pitch)))
           (if (ly:pitch? p)
               (cons p pitches)
               (let ((elt (ly:music-property mus 'element)))
                 (fold loop
                   (if (ly:music? elt)
                       (loop elt pitches)
                       pitches)
                   (ly:music-property mus 'elements)))))))
      (alle-sortiert (sort alle-pitches ly:pitch<?))
      (tief (car alle-sortiert))
      (hoch (car (reverse alle-sortiert)))
      )
    (make-music
     'SequentialMusic
     'elements
     (list
      (make-music
       'NoteEvent
       'duration
       (ly:make-duration 2)
       'pitch
       tief)
      (make-music
       'NoteEvent
       'pitch
       hoch
       'duration
       (ly:make-duration 2))))
    ))

mus = { c, d' e' f' a d, }

{
  \clef bass
  \highlow \mus
}
Titel: Antw:Niedrigste/höchste Note aus Musik herausfiltern
Beitrag von: Rudi Guggt am Mittwoch, 5. Juni 2024, 19:05
Hallo

suchst du den Ambitus, bzw den ambitus_engraver?

Gruß
Rudi
Titel: Antw:Niedrigste/höchste Note aus Musik herausfiltern
Beitrag von: Manuela am Mittwoch, 5. Juni 2024, 21:50
Danke für die Antwort. Genau wegen dieses Ambitus-Engravers brauche ich diese Funktion, weil bei einem Auszug aus der Musik (https://lilypondforum.de/index.php/topic,1219.msg6436.html) der Ambitus nicht korrekt angezeigt wird (klarerweise). Den Ambitus händisch umsetzen (https://lilypondforum.de/index.php/topic,1237.msg6466.html) ist auch mühsam auf Dauer.