Hallo allen!
Fermaten werden bei der Umsetzung in Midi nicht berücksichtigt, wie mir scheint.
Ich ersetze beispielsweise
d4 \fermata
durch
d4~\cadenzaOn d8... r32 \cadenzaOf
Dabei ist allerdings zu berücksichtigen, dass anschließend Noten oder Pausen
mit einer Dauer von 1/32 erwartet werden und nicht wie vor der Ersetzung von 1/4
Der Parser wird sich die letzte Dauer irgendwo merken.
Gibt es eine Möglichkeit diese im Notentext zu setzen?
Gruß Erich
P.S. Zunächst meinen Dank an fugenkompunist und RohUr!
Um mich besser verständlich zu machen, habe ich mein Anliegen ausführlicher auf meiner eigenen Internetseite dargestellt:
http://meyerich.pythonanywhere.com/Lilypondforum (http://meyerich.pythonanywhere.com/Lilypondforum)
Ich hoffe, es nimmt mir keiner Übel, dass ich dorthin ausweiche, und würde mich freuen, wenn ich nun verstanden werde.
Erich
Versteh ich richtig, dass du
d4 \fermata e
durch
d4~ \cadenzaOn d4... r32 \cadenzaOff e
ersetzt, was aus der ursprünglichen Viertel e eine Zweiundreißigstel macht?
Dann wär die einfachste Lösung, Dauern explizit anzugeben, denn dann wird
d4 \fermata e4
zu
d4~ \cadenzaOn d4... r32 \cadenzaOff e4
@fugenkomponist: Ich weiß eben nicht immer, was hinter "d4 \fermate" kommt; wenn es sich beispielsweise vor einem Wiederholungszeichen befindet. Ich möchte aber lokal die Fermateninterpretation ausführen können.
Ich versteh nicht so ganz, was du vor hast. Kannst du mal ein kompilierbares (Minimal-)Beispiel posten und daran erklären, was du gerne hättest?
Wozu denn die unnötige Friemelei mit
cadenzaOn/Off bzw. Überbindungen? Ich löse solches per Tempo:
\set Score.tempoHideNote = ##t
\tempo 4 = <halbes Tempo>
Anschließend wieder das Ausgangstempo angeben.
Zitat von: erichFermaten werden bei der Umsetzung in Midi nicht berücksichtigt, wie mir scheint.
Es scheint nicht nur, es ist so. Erstens ist
\fermata ein Markup-Befehl und keine Spielanweisung. Woher soll den Lily wissen,
wie lange gehalten werden soll?
Zitat von: erichDabei ist allerdings zu berücksichtigen, dass anschließend Noten oder Pausen
mit einer Dauer von 1/32 erwartet werden und nicht wie vor der Ersetzung von 1/4
Der Parser wird sich die letzte Dauer irgendwo merken.
Der Parser merkt sich
immer die letzte Dauer! Das gehört schlicht zur Eingabesyntax und vermeidet das ständige Eingebenmüssen der Tondauern. Man tippt sich ja sonst die Finger wund ... Es wird also keine Dauer
erwartet, sondern absichtlicherweise
die zuletzt eingegebene verarbeitet.Zitat von: erichIch weiß eben nicht immer, was hinter "d4 \fermate" kommt; wenn es sich beispielsweise vor einem Wiederholungszeichen befindet.
Das verstehe ich nicht. Du beendest doch das entsprechende
\repeat-Konstrukt und schreibst anschließend ganz normal weiter, z.B.
r2. Somit weißt du doch, was ,,hinter" der Fermate kommt.
Ansonsten gilt wie immer: Minimalbeispiel!
Gruß, Robert
Vielen Dank an fugenkompunist und RohUr!
Um mich besser verständlich zu machen, habe ich mein Anliegen ausführlicher auf meiner eigenen Internetseite dargestellt:
http://meyerich.pythonanywhere.com/Lilypondforum (http://meyerich.pythonanywhere.com/Lilypondforum)
Hallo,
eine kleine Anmerkung zur Nichtunterbrechung von Notendauern;
Das Script
F = #(define-music-function (parser location)()
#{
<f a c>4
#}
)
\relative c'{
c2 \F c
}
gibt nach dem Akkord in Viertelnoten das c wieder als Halbe aus.
Erich