Neueste Beiträge

#1
Fragen und Probleme aller Art / Antw:System verstecken
Letzter Beitrag von markusw - Gestern um 18:33
Vielen Dank!

Allerdings sorgt "\silence" dann auch für Stille in der Midi-Datei für die Bassstimme. Ich hätte in der Midi-Datei gerne alle Stimmen und nur eine Stimme im Notenbild. Aber vermutlich geht das dann leider nicht in einem lilypond-Durchlauf.
#2
Instrumentenspezifisch / Antw:Fingersatz Violine - auto...
Letzter Beitrag von Malte - Gestern um 10:57
Zitat von: Rudi Guggt am Montag, 27. Mai 2024, 11:58Hallo,

ich glaube, dass hier ein Automatismus/Algorithmus nicht nur sehr komplex oder gar unmöglich wäre, sondern auch kontraproduktiv für das Erlernen des Instrumentes wäre. Am Anfang gibt sicher die Lehrkraft die Fingersätze vor, aber selbstständig die Finger sinnvoll zu setzen zu können ist auch Ziel der Übung...

Gruß
Rudi
Im Anfängerunterricht auf dem Streichinstrument gibt es meistens erstmal eine eindeutige Zuordnung Ton zu Finger. Später, wenn verschiedene Lagen gelernt werden und Töne je nach enharmonischer Verwechslung und umgebenden Tönen verschieden gegriffen werden, wird das sehr schnell sehr komplex und uneindeutig, aber darum ging es ja oben nicht, wenn ich das richtig sehe.
#3
Instrumentenspezifisch / Antw:Fingersatz Violine - auto...
Letzter Beitrag von harm6 - Donnerstag, 30. Mai 2024, 23:23
\version "2.24.3"

pitchFingerList =
#`((,#{ c'' #} . 2)
   (,#{ d'' #} . 3)
   (,#{ e'' #} . 0)
   (,#{ f'' #} . 1)
   ;; to be continued ...
   )

%% NB does not work inside \relative !!
autoFingering =
#(define-music-function (music)(ly:music?)
  (map-some-music
    (lambda (m)
      (and
        (music-is-of-type? m 'note-event)
        (let* ((pitch (ly:music-property m 'pitch))
               (finger (assoc-get pitch pitchFingerList #f)))
          (when finger
            (set! (ly:music-property m 'articulations)
              (cons
                (make-music 'FingeringEvent 'digit finger)
                (ly:music-deep-copy (ly:music-property m 'articulations))))))
        m))
    music))
       
\relative { c''4-2 d-3 f-1 e-0 }

\autoFingering
\relative { c''4 d f e }

HTH,
  Harm
#4
Fragen und Probleme aller Art / Antw:System verstecken
Letzter Beitrag von harm6 - Donnerstag, 30. Mai 2024, 22:45
ZitatHabe ich da etwas falsch verstanden?
Eher ist die deutsche Übersetzung des manuals missverständlich (und generell veraltet).
Im englischen heisst es:
ZitatA staff is considered empty when it contains only multi-measure rests, rests, skips, or a combination of these elements.
Noten unsichtbar zu machen ist nicht hinreichend, denn dann existiert das note-event ja immer noch.
Also mach note-events zu skip-events:

\version "2.24.1"
\language "deutsch"

silence =
#(define-music-function (arg) (ly:music?)
   (map-some-music
     (lambda (m)
        (and (music-is-of-type? m 'rhythmic-event)
             (music-clone (make-music 'SkipEvent m) 'articulations '())))
     arg))

\layout {
  \context {
    \Staff \RemoveAllEmptyStaves
  }
}
\score {
  <<
    \new Staff \relative c' {
      c d e f g a h c c, d e f g a h c c, d e f g a h c c, d e f g a h c
      c, d e f g a h c c, d e f g a h c c, d e f g a h c c, d e f g a h c
    }
    \silence
    \new Staff \relative c {
      \clef bass
      c h a g f e d c c' h a g f e d c c' h a g f e d c c' h a g f e d c
      c' h a g f e d c c' h a g f e d c c' h a g f e d c c' h a g f e d c
    }
    \new Staff \relative c {
      \clef bass
      r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1
    }
  >>
}

HTH,
  Harm
#5
Fragen und Probleme aller Art / System verstecken
Letzter Beitrag von markusw - Donnerstag, 30. Mai 2024, 21:59
Einen schönen guten Abend!

Ich habe eine Frage zum Thema "Systeme verstecken". Laut der Doku sollten leere Systeme/Notenzeilen" versteckbar sein, wobei "Eine Notenzeile gilt als leer, wenn sie nur Ganztaktpausen, Pausen, unsichtbare Noten, \skip-Befehle oder eine Kombination der drei enthält."

Demnach sollte, wenn ich alle richtig verstanden habe, in folgendem Beispiel nur ein System sichtbar sein:
\version "2.24.1"
\language "deutsch"

\layout {
  \context {
    \Staff \RemoveAllEmptyStaves
  }
}
\score {
  <<
    \new Staff \relative c' {
      c d e f g a h c c, d e f g a h c c, d e f g a h c c, d e f g a h c
      c, d e f g a h c c, d e f g a h c c, d e f g a h c c, d e f g a h c
    }
    \new Staff \relative c {
      \clef bass \hideNotes
      c h a g f e d c c' h a g f e d c c' h a g f e d c c' h a g f e d c
      c' h a g f e d c c' h a g f e d c c' h a g f e d c c' h a g f e d c
    }
    \new Staff \relative c {
      \clef bass \hideNotes
      r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1 r1
    }
  >>
}

Ist es aber leider nicht. D.h. das "Pausensystem" ist versteckt, aber die Bassstimme ist zwar leer, aber dennoch ist das System zu sehen. Habe ich da etwas falsch verstanden?

Ich möchte gerne in einem Übersetzungsschritt eine Midi-Datei mit mehreren Instrumenten (daher die Systeme) erzeugen und aber gleichzeitig nur den Notensatz für das oberste bekommen. Mir ist klar, dass ich das bewerkstelligen kann, indem ich in der lilypond Datei z.B. zwei entsprechende books anlege. Aber in diesem Fall benötigt der Notensatz länger. Das Ganze soll in einer App (https://pyanora.streamlit.app/) benutzt werden, die mir "on-demand" eine Übehilfe produziert.

Musikalische Grüße
Markus
#6
Instrumentenspezifisch / Antw:Fingersatz Violine - auto...
Letzter Beitrag von Rudi Guggt - Montag, 27. Mai 2024, 11:58
Hallo,

ich glaube, dass hier ein Automatismus/Algorithmus nicht nur sehr komplex oder gar unmöglich wäre, sondern auch kontraproduktiv für das Erlernen des Instrumentes wäre. Am Anfang gibt sicher die Lehrkraft die Fingersätze vor, aber selbstständig die Finger sinnvoll zu setzen zu können ist auch Ziel der Übung...

Gruß
Rudi
#7
Instrumentenspezifisch / Fingersatz Violine - automatis...
Letzter Beitrag von georgfx - Sonntag, 26. Mai 2024, 15:53
Hallo zusammen

Natürlich ist es simpel, einen Fingersatz für Violine folgendermaßen zu setzen:
\relative { c''4-2 d-3 f-1 e-0 }
Für Geigenanfänger wäre es praktisch, dies aus einem einfachen Notensatz, also z.B. Noten wie oben
\relative { c''4 d f e }automatisiert generiert zu bekommen. Würde viel Arbeit beim Schreiben sparen. Vllt. hat das Problem ja schon mal jemand programmiert?

.. und: leider spielen die Violinisten die Töne in den verschiedenen Oktaven mit verschiedenen Fingern, so dass ein einfaches Ersetzen nicht ganz so perfekt wäre....

Vielen Dank

Georg (seit kurzem "GeigenPapa" ;)  )
#8
Gesang / Antw:Dynamik und Liedtext taus...
Letzter Beitrag von harm6 - Samstag, 25. Mai 2024, 11:21
\version "2.24.3"

<<
  \new Dynamics
    \with { \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = 1 }
    { \textLengthOn s1-"C-Dur" s1-"D-Dur" }
  \new ChordNames
    { c1 d }
>>

funktioniert.
Oder meinst Du was anderes?

Gruß,
  Harm
#9
Gesang / Antw:Dynamik und Liedtext taus...
Letzter Beitrag von FionaFelamìn - Freitag, 24. Mai 2024, 11:10
Hallo,

das hat damals super geklappt, jetzt hab ich ein paralleles Problem versucht, parallel zu lösen:

markup oberhalb von den Akkordsymbolen wäre jetzt mein Traum. Dynamik kriege ich mit diesem Trick drüber, aber ich schaffe es nicht, im Dynamics-Kontext markup zu verwenden, obwohl ich gehofft hatte, dass das vielleicht einfach gehen würde (und nicht ganz unlogisch wäre, weil es Vortragsbezichnungen sind).

Geht das prinzipiell?

LG, Fiona
#10
Akkordeon / Antw:Steirische Harmonika von ...
Letzter Beitrag von harm6 - Dienstag, 21. Mai 2024, 11:26
Hallo,

folgender Minimal-Code wirft in 2.24. einen Fehler aus:
tst =
#(define-music-function (parser location music) (ly:music?)
  (music-map
    (lambda (m) (if (music-is-of-type? m 'note-event) m))
    music))
   
\tst { b-2 }
da die procedure die music-map über music laufen lässt, unspecified zurückgibt sobald kein note-event vorliegt.
2.18. hatte wohl in diesem Fall m als fall-back genommen.
Das jetzige Verhalten ist allerdings logischer.

In 4.ly kommt dieser Sachverhalt an zwei Stellen zum tragen: griffschrift_autod und griffschrift_autoz.
Gebe dort für nicht-note-events m zurück.
Allerdings werden Saitennummern nun magenta, da music-map nicht vom weiteren rekursieren abgehalten werden kann.
Insoweit solltest Du prüfen ob map-some-music oder for-some-music nicht eine bessere Wahl ist.

Aber bitte räume den Code auf:
- Formatierung und Indentation ist grauenhaft ;)
- viele, viele Setzungen von (and ...) bzw (begin ...) sind schlichtweg überflüssig
- ...

HTH,
  Harm