lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changing midi-tempo within score


From: Flaming Hakama by Elaine
Subject: Re: Changing midi-tempo within score
Date: Sun, 8 Jan 2017 10:15:01 -0800


So, what is the better way for changing the tempo?
Doing it with \tempo seems more... semantic. Isn't it?
 
So if the composer wrote a tempo indication, use \tempo; if the composer didn’t write anything and it’s just a tempo modification, use the latter.

This strikes me as odd:  when would you change tempo unless it was indicated by the composer? 

I guess my question would be: does anyone else use \tempo for things like rit., accel. and a tempo? 

That's what I use, for both semantics and so that these markings have a consistent placement and appearance in everyone's part distinct from other textual markup.

Looking into the articulate.ly script, to see if we would expect these to affect the tempo:

% TO DO (prioritised, the ones that'll make the most difference first)
...
% * add accel (to match rall), and molto rall. I've never seen
%   molto accel but some composer somewhere has probably used it.
%
% * Fermata, and Fermata Lunga
% * Add more synonyms for accel and rall: rit ritard stringendo

then later where rall is used:

% How much to slow down for a rall. or a poco rall.
% (or speed up for accel or poco accel)
#(define ac:rallFactor (ly:make-moment 60/100)) % 40% slowdown
#(define ac:pocoRallFactor (ly:make-moment 90/100)) % 10% slowdown

...

      ((TextScriptEvent)
       (let ((t (ly:music-property e 'text)))
    (if (not (string? t))
     (loop factor (cons e newelements) tail actions)
     (begin
      (cond
       ((or
         (string= t "rall")
         (string= t "Rall")
         (string= t "rit.")
         (string= t "rall."))
        (loop factor (cons e newelements) tail (cons 'rall actions)))
       ((or
         (string= t "accelerando")
         (string= t "accel")
         (string= t "accel."))
        (loop factor (cons e newelements) tail (cons 'accel actions)))
       ((or
         (string= t "poco accel."))
        (loop factor (cons e newelements) tail (cons 'pocoAccel actions)))
       ((or
         (string= t "poco rall.")
         (string= t "poco rit."))
        (loop factor (cons e newelements) tail (cons 'pocoRall actions)))
       ((or (string= t "a tempo")
         (string= t "tempo I"))
      (loop factor (cons e newelements) tail (cons 'aTempo actions)))
       (else (loop factor (cons e newelements) tail actions)))))))

This makes me think that the articulate script might take these tempo markings into account when rendering MIDI:

accelerando
accel
accel.
poco accel.
poco rall.
poco rit.
a tempo

However, I'm not sure if TextScriptEvent means that it should be text markup (not tempo).  Or maybe tempi count as TextScriptEvent since they are also printed?

Is there anyone who could clarify what to write in order to leverage this feature in articulate.ly?


Thanks,

David Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
address@hidden
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

reply via email to

[Prev in Thread] Current Thread [Next in Thread]