Dein neuestes Beispiel funktioniert gut - vom Klang her (also in der MIDI-Wiedergabe) wie ich es mir vorgestellt habe - vielen Dank schon wieder

Da nun der Code deutlich aufwändiger geworden ist, habe ich überlegt, ob es nicht noch einen anderen Ansatz geben könnte, der das Notieren vereinfacht. Ich denke da in Richtung Makro, das "einfach" für den fraglichen perkussiven Klang (musikalischerein anderes MIDI-Intstrument (aka
program change) veranlasst.
Ich habe keine Ahnung, ob das mit Lilypond zu machen ist, aber so in etwa stelle ich mir das als Pseudocode vor:
aktuellen Sound für diese Stimme zwischenlagern:
oldSound = get Staff.midiInstrument (?)
set Staff.midiIstrument = "was anderes"
dann: behandle die betreffenden Noten
set Staff.midiInstrument = oldSound
Hm .... keine Ahnung, wie das mit Variablenübergabe geht (by reference?, by value?). Vermutlich müssten man die betreffenden Noten inkl. Dauer usw. an einen Wrapper (Funktion) übergeben, die den aktuellen Klang speichert, den neuen Klang setzt, die Noten bearbeitet wie bisher und zuletzt den gespeicherten Klang wieder aktiviert, z.B.:
\mNote{\xNote<es g bes>8, "MIDI-instrumentenName"}also der gesamte betreffende musikalische Ausdruck plus Name oder Nummer des für diesen Ausdruck zu setztenden MIDI-Instruments.
Ich hoffe, du kannst dir zusammen reimen, wie ich mir das vorstelle. Wie gesagt, ich habe keine Ahnung, wie musikalische Ausdrücke in Lilypond verarbeitet werden und ob man "einfach" ein Makro als Wrapper nutzen kann, um zusätzlich zu dem musikalischen Ausdruck auch noch eine MIDI-Programmnummer oder einen MIDI-Instrumentenname übergeben kann.
Cheers,
TipTap
