Direkt zum Inhalt

Tempo Map Issue when Relocating

Posted

When relocating from Synfire to Cubase 8, the tempo map in Cubase does not get updated. Instead, it has a fixed tempo throughout, equal to the first tempo value in Synfire.

Obviously the project plays okay because it's using the tempo map from Synfire, but I need the same map in Cubase so I can activate the click-track to record some audio.

I've activated the Rewire transport in Cubase (it doesn't ask to sync the tempo) and I've set the external sync in Synfire. All the drones are working fine, it's just the tempo map that's the problem.

Have I missed a step please?


Di., 13.10.2015 - 20:03 Permalink

The issue is also with signature changes, i.e. they're not mapped to the tempo track either. The resulting problem is that the bars and beats grid in Cubase does not line up with Synfire making it very difficult to accurately record any audio into the project.

Also, if I position the cursor in Synfire a way up the project (e.g. at bar 58), the cursor in Cubase is also postioned at bar 58 until I hit the Play button. At this point, Cubase tries to re-sync and immediately jumps to the correct position in the project. This results in missing notes, probably because the sync is all out of sorts. 

I've tested this by making 'Inactive' my Tempo and Signature containers and everything is fine, and there are no missing notes wherever I position the cursor.

I don't think it's a Cubase issue unless the same issue exists in Logic Pro X as reported by Codetronx. So it's either a Synfire or Rewire issue, hopefully a Synfire one which can be easily and quickly fixed! Or more hopefully, there's a setting somewhere that I've missed.

However, if it's an issue that can't be fixed, it basically means you can't relocate a Synfire project that has tempo and/or signature changes which would be quite a serious flaw in my humble opinion.

Fr., 16.10.2015 - 09:15 Permalink

Unfortunately there's no easy fix for this. There's a general challenge with tempo and signature changes passed between Synfire and DAW. This is because a DAW needs to know the tempo map in advance in order to prepare for properly timed playback. Tempo changes passed dynamically during playback in real-time will always lead to the two programs going out of synch.

While Synfire knows about all tempo changes at the time you press Play and passes them over to the Drones, the Drones themselves have no means to tell the DAW about it. That is, there is no way for a plug-in to replace the tempo map of a DAW it is hosted in.

This is also why playhead positioning is out of synch: Position is done in terms of bars/beats and the tempo map in the DAW converts that to milliseconds. If the tempo map is not exactly identical to that ins Synfire, you'll see the DAW jump to weird locations.

So, this is a general limitation of how much (or less) a plug-in can do inside a DAW. Communication from DAW to plug-in was originally designed as a one-way chain of command only.

Time signature changes are not that critical, although you won't see the DAW reflecting them in its meters and rulers. A visual issue.

As a workaround you have two options:

1) Postpone tempo changes to the production stage, after you've moved your project to the DAW. You should be able to drag & drop the tempo map to the DAW. IIRC, you do so by dragging the container name, or "global track", to the DAW.

2) Drag & drop export the tempo map to the DAW every time you changed it. This might work, but for very long arrangements, you'll still experience the transports running out of synch over time.

Fr., 16.10.2015 - 12:50 Permalink

Thanks for the response Andre.

there's no easy fix for this

Do you mean that, or is there really no fix?  If you mean it, can you get on with the 'difficult' fix asap?  :-D 

As a workaround, I initially thought of creating a click-track in Synfire (static notes on each beat), importing it into Cubase and using it to create a quantisation grid.  However, I decided that may be a bit complicated and messy, especially if I wanted to change the tempo later.

I've now decided to 'localise' the drones so that I no longer need to keep Synfire open and therefore I don't need Rewire. I can then control the tempo, etc. directly in Cubase and try to match it to the original in Synfire. If after recording some audio, I want to make MIDI changes, I can put the relevant track back to 'Merged' and temporarily use Synfire again to make the changes. Do you think that will work?

drag & drop the tempo map to the DAW

I've tried that but it doesn't seem to work. In fact, even if I drag the whole project, the tempo map in cubase is not updated, and all the MIDI aligns to the default in Cubase (i.e. 4/4 @ 120bpm). Can you explain exactly how to drag a tempo map please? Is it something other than the normal 'hit space bar'?

By the way, the reason I'm trying to work this way is because I want to record some vocals. After doing so, it's highly likely that I will want to change some of the MIDI. Even though I've got a 'MIDI Vocal Track' in Synfire, the feel of the actual vocals will no doubt change things a bit so I'm not ready to hand over fully to Cubase just yet.

It would have been easier if Synfire allowed the recording of an audio track, but I assume you have good reasons for not wanting to go down that route.

 

Fr., 16.10.2015 - 18:32 Permalink

I still can't figure out how to export the tempo map. Drag and drop doesn't work, and neither does holding shift while dragging the big green drone button (even though it says 'hold shift to export the tempo map').

In the Container menu there's an option to Export -> Export MIDI to DAW but nothing happens when I select that.

Also in the Container menu there's an Export -> Settings option but selecting that causes a crash (crash report submitted).

Mo., 19.10.2015 - 20:56 Permalink

Sorry for the wait. Been busy relaunching this site. I'll have a look at it tomorrow.

Do., 22.10.2015 - 12:07 Permalink

Sorry for the long wait! Been swamped by tasks after returning to Germany.

I still can't figure out how to export the tempo map.

Drag the container name off of Synfire's window to the desktop or over the DAW, tap the spacebar once to make the operating system aware of the dragged object (I know this is awkward, we're looking to get rid of it). Now the MIDI file icon should appear and either desktop or DAW should respond to it.

The exported MIDI file includes tempo changes, chord names, and other meta data. If the tempo changes are not accepted by the DAW, then it might not be prepared to import tempo changes from MIDI files in the first place. Maybe there's a setting in the DAW to enable this.

I couldn't get Logic X to accept tempo changes. I remember Logic Pro 9 asking whether to deal with tempo changes or not. Apple might have changed that. In any case, it's up to the DAW to decide what to do with the MIDI file being dropped. If you can find out how to make the DAW accept tempo changes, that will be the solution. They are in the file.

In the Container menu there's an option to Export -> Export MIDI to DAW but nothing happens when I select that.

It merely pumps all MIDI rendered by Synfire into the Drones sitting in the DAW. This is also done each time you save an arrangement. During playback, Synfire only pushes one measure or so worth of data to the DAW, slightly ahead of time.

Also in the Container menu there's an Export -> Settings option but selecting that causes a crash (crash report submitted).

Thanks! Although this does the same as drag & drop export of the container from the structure view.

Do., 22.10.2015 - 23:08 Permalink

I know about tapping the spacebar, that's why I said 

Can you explain exactly how to drag a tempo map please? Is it something other than the normal 'hit space bar'?

So it seems that dragging from Synfire to Cubase doesn't accept the tempo changes.  The only way to get it into Cubase is to export as MIDI and import to Cubase. At that point, Cubase asks if you want to create a new project.  Selecting 'No' will not change the tempo of the current project, but selecting 'Yes' will include the tempo map.  I can only assume that dragging to Cubase automatically selects the 'No' option. So the only way to do it is to import a MIDI file into Cubase as a new project, and then copy and paste the tempo map into the existing project.

It merely pumps all MIDI rendered by Synfire into the Drones sitting in the DAW. This is also done each time you save an arrangement.

That's a very useful function which would have saved me a lot of time if I had known about it. Previously, if I had wanted to get any changes into Cubase (before dragging the drone MIDI to Cubase), I was having to play the whole file through in order to transmit the changes to the drones. Is this documented anywhere as I can't find it?