Syncing with audio via MIDI or BPM

Can anyone tell me if Dorico will be able to accurately import a MIDI tempo map, or stay synced with audio with a constant BPM? It’s critical for me to be able to make arrangements with my notation program and hear it against the recording I’m arranging to. Sibelius tempo drifts at a set BPM, and when you import a MIDI tempo map it throws up CRAZY looking tempo shifts all over the score, it gets the numbers wrong (108BPM will look like 107.978556723466BPM), and it doesn’t sync up.

If not, are there plans to be able to sync audio with a dorico score/playback? The ability to import tempo information and sync up is a MUST.

Thanks!

I think you’ll find that is not totally the fault of Sibelius. If you export a MIDI file from a sequencer, you are not exporting the tempo as BPM (beats per minute) you are exporting as minutes per beat. Hence the fractions when converted back into BPM. You can test this out for yourself, because certain tempos will import perfectly. In terms of actual playback, these anomalies make no real difference, but unless Dorico is able to do a kind of intelligent reverse engineering, I don’t see how it will become more accurate than Sibelius in this regard.

DG

I frequently interface between Cubase and Reaper, using MIDI exported from Cubase and into Reaper…also into protools. I’ve never had a problem sending tempo maps back and forth except with Sibelius. Also, if you import an mp3 into sibelius that is locked into 120 BPM with a bar of rest up front, Sibelius playback won’t line up with it no matter what you do.

Yes, but what you need to find out is whether or not there is a conversion taking place.

I’m not discussing the sync issue, as I agree it’s not good, but the BPM thing, where I am correct.

How is it that other sequencers are able to take this data (minutes per beat) and import it perfectly? It seems that if every single DAW can do this with ease, we should expect that music notation software be able to do the same thing.

Well, as you point out, these are sequencers, not notation programs and as you probably know there is a totally different philosophy in terms of derivation of playback between a sequencer and a notation program. In any case this is all moot until we hear back from the Dorico team. I just thought that you’d like to understand why the anomaly occurs in Sibelius.

DG

Thanks DG. It’s my hope that Dorico will function a little more like a sequencer…OR…be fully and intelligently integrated with Cubase. It would seem that integration would solve all of these problems and keep them from having to build a lot of tools from scratch.

The “minutes per beat” thing shouldn’t be an issue with 120 BPM. The MIDI file tempo is actually stored as “microseconds per beat” not “minutes per beat”, but it stores an integer number of microseconds not fractions.

If Sibelius can’t convert “exactly 500000 microseconds per beat” into “exactly 120 beats per minute” I would call that a software bug - though it’s easy to think of ways to do the conversion wrong in most programming languages.

For tempos that don’t convert exactly, the conversion should be “correct” to about 6 figures. If you are really bothered about losing sync by 1 video frame in about 4 hours or more, then sorry, MIDI tempos aren’t accurate enough for you.

But notation software designers might decide to round off “100.1234 BPM” to “100 BPM” as a sensible format for a human performer to read, and then use the “wrong” value of “exactly 100 BPM” for computer playback.

Another issue is whether the notation program actually plays back at the advertised speed. Old versions of Sibelius were well known for not doing that - you could easily demonstrate that the playback tempo depended on the number of notes being played back, for example. I have no idea what the recent version of Sibelius (i.e. 6, 7, 8) do.

The MIDI standard stores tempo in microseconds per quarter note. 180bpm (for instance) cannot be exactly represented in this format - it’s 60,000,000/180 = 333,333.333… microsecs/qn. If you convert this back to bpm you get 180.000180. When you set a tempo of 180 bpm in most sequencers, actually you’ll be setting it to 180.000180, but you won’t see this in the UI.

In Sibelius there is a conflict because tempo events are interpreted directly from the tempo text, so it has to either store as ‘q=180’ or ‘q=180.000180’. Many people don’t like seeing that number of decimal places, so you can reduce them, but then the tempo value is wrong…

In Dorico we get around these problems by treating tempo changes as a proper event type, whose text can be independent of its internal value. So we can store the value at the full microsecs/qn resolution and display the value to the user’s preferred number of decimal places.

Can you say whether importing tempo maps will be a feature? Often a group will record without a click, and then will map the tempo and export a midi. This feature is a must for me

I’m not sure what you mean - do you mean importing tempo maps into a new or existing Dorico project? Or importing an unquantized MIDI file and then re-quantizing to a new tempo map?

Importing a tempo map into a new project. Here’s my ideal scenario #1

I record the rhythm section in Cubase, no click.
I go into Cubase and Tempo Map it. At my last audio job, I did this hundreds of times and am incredibly fast at this.
This tune needs strings! Lets import the tempo map and audio into a new Dorico project, and then I can arrange my strings on top of the existing audio and hear Dorico’s string playback on top of the audio I imported.

Ideal scenario #2

Song is to a click, but the choruses speeds up 10BPM, record rhythm section in Cubase
I manually input the tempos at the correct bar numbers in Dorico
Lets import the audio into a new Dorico project, and then I can arrange my strings on top of the existing audio and hear Dorico’s string playback on top of the audio I imported.


While sibelius has the functions necessary to accomplish this, the audio will not line up with playback. If I nudge my audio in cubase and re-export it, it will line up for a little while, but eventually drift. If Dorico could accomplish the above task, I would be a very happy customer.

In the initial version of Dorico there won’t be any audio track support, but we will have the ability to import a MIDI file into a new project and that will initialise the timeline. Video sync is certainly something we want to support in the future.