Re: relative tempo changes?

Dan Eble <[email protected]> Sat, 7 Mar 2026 11:49:22 -0500
Newsgroups gmane.comp.gnu.lilypond.devel
Message-ID <[email protected]>
On 2026-02-24 18:31, Dan Eble wrote:
> On 2026-02-22 12:05, Arnold wrote:
>> Another function may create a sequential music for "tempo ramps", you
>> specify the total duration (e.g. 4 measures), the frequency (e.g. each
>> quarter an update) and the relative final tempo (e.g. 2/3), and you can
>> place the resulting sequential music (which only contains
>> relativeTempoChanges and skips) parallel to your existing music.
>> Here an example for such a sequence:
>> { relativeTempo(save OriginalTempo; alter to current * 47/48; no clear)
>>    s4
>>    relativeTempo(no save; alter to OriginalTempo * 46/48; no clear)
>>    s4
>>    relativeTempo(no save; alter to OriginalTempo * 45/48; no clear)
>>    ...
>>    relativeTempo(no save; alter to OriginalTempo * 32/48; no clear)
>>    s4
>> }
> 
> This looks heavily influenced by the workarounds that are currently 
> required.  We don't require this level of detail in music expressions 
> for dynamic ramps.  I confess that I'm not thinking deeply about this 
> right now, but it seems that it should be possible to stick to placing 
> points of interest in the music expressions and let the performance code 
> interpolate between them.

Prototype:
https://gitlab.com/eble/lilypond/-/commit/a7d0e9db9f54fc770f8f15ab06c4d94418ab5364

     \tempo 4 = 120
     \startGradualTempoChange
     \*12 c4
     \tempo 4 = 240
     \startGradualTempoChange
     \*12 c4
     \tempo 4 = 60
     c1

Midi output is attached.
-- 
Dan
tempo-gradual.midi (audio/midi, 527 B) - not displayed