Problem with syncing gradual tempo changes created in Dorico and Logic Pro

I noticed that a gradual tempo changes created both in Dorico and Logic Pro do not match each other. I investigated this and documented my little investigation below, in case someone else runs to this same issue. Problem was Logic Pro defines a gradual tempo change differently from Dorico.


Here is a simple example of a rit. exactly from q=120 to q=60:

Screenshot 2024-07-06 at 12.55.49

Here is the same rit. created in Logic:

When playing back this in sync (with TXL -timecode), both programs start in sync. However, after the rit. Logic click plays back ahead of the click in dorico.

In logic, I can see that the rit. is actually a series of tempo changes:

I exported the MIDI from dorico and imported that to Logic Pro. I got this notification, perhaps it is important?

Screenshot 2024-07-06 at 13.03.20

Here is how the rit. exported from Dorico looks like in Logic Pro tempo track:

Comparing the lists (rit. created in Logic Pro and rit. created in Dorico) I can see that rit. in Dorico has twice the “resolution” as rit. in Logic Pro:

When creating the rit. in logic pro, the curve “snaps” in place in the middle - however looking at the tempo list, the tempo is actually NOT 90 BPM at the bar position “4 1 1” (!)


Changing granularity in Logic Pro settings to maximum value seems to make the difference smaller, but even with that there is still a small difference.

I investigated the differences between Logic Pro tempo curves and Dorico tempo curves. The difference seems to be, that Dorico starts the curve right as Logic Pro starts it down.

This minor difference adds up so that after the curve the sync is lost.

I would love to find a way to create a matching tempo curve between these programs.

Logic Pro gradual tempo curve (120 BPM - 60 BPM):

Dorico tempo curve 120 BPM - 60 BPM:


This is fascinating, and thank you for the visual documentation — good to know.

Right now if you like you can use the line tool to make the tempo change to whatever you like - it will make a signpost that you can retroactively change in a ritenuto later. But this workflow is HIDDEN and the main way of inputting the ritenuto leaves you with an inflexible „percent of the inital tempo” system.

Compatibility with Logic, Cubase, DP etc. would be great, but maybe we should ask this different question about decoupling tempo curve from the actual text, just like Dorico excels in decoupling midi data (note length etc) from the representation,

This as I understand it will be prominent for people scoring entirely in Dorico inputting rit and accel independently from a list.
Predominant workflow is to import the midi data from logic, where the rit. would be just a text, but hidden time changes (from Logic) would drive the tempo.
I would assume that this way everything syncs.
There could be an argument to be had on expanding the legacy % tempo change in the properties into more robust system for timecode oriented composers (tempo curves, handled in the inhouse piano-roll sequencer like MIDI CC - not only straight lines), or at least so we can specify exact ending tempo (without %) in the properties UI for rit so we actually CAN make a linear tempo change intuitively — now your example uses 50% (120 to 60) but in real world we would use fractions of percents and a lot of guesswork. (or make the tempo from the piano roll with line tool (that do not snap to values and is more visual than surgical, but calculates the percents for you) )

1 Like

It looks like Logic sets the tempo to the average of the ramp across each interval, while Dorico leaves it at the initial value until the next step. Notice the first and last steps in Logic are half the size of the others. (The logic way is much better.)

I never use ramps in midi, myself. I always make tempo modifications in discrete steps rather than rely on software’s interpretation of a ramp.

1 Like

Interesting, I guess that means that Logic Pro curve is always the same duration, no matter what the resolution is? And that duration matches the mathematically “ideal” rit.?

Then Dorico’s rit. is actually a little bit faster than what the mathematically correct rit. should be. I wonder if it is the same in Cubase?