• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Fermaten und Midi

Begonnen von erich, Freitag, 17. April 2015, 08:57

Vorheriges Thema - Nächstes Thema

erich

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

Ich hoffe, es nimmt mir keiner Übel, dass ich dorthin ausweiche, und würde mich freuen, wenn ich nun verstanden werde.

Erich

fugenkomponist

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

erich

@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.

fugenkomponist

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?

RobUr

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

erich

#5
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

erich

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