Is Cubase tempo detection kinda bad, or am I using it wrong?

Back in the olden times when I used Logic Pro X (until March of this year when I switched to Cubase Pro 12 and never looked back), I would try to do MIDI mockups by putting a song I liked at the top in an audio track, analyze the tempo, then applying it to the project.

I didn’t like many things about LPX, but the tempo detection seemed pretty good. Now, when I tried to do the same thing in Cubase, it seemed to me that the detection was always weird, like all over the place. That said, the song at the top usually is either classical or film music, which seems to me that it’s the not the easiest thing to guess the tempo, at least not for the whole piece.

Now, yesterday I was at a friend of mine with my Zoom recorder, and I asked him if he had a song in mind he wanted to play on his guitar so I could bring into Cubase and add all the other instruments using MIDI and VSTis. He came up with “Wagon Wheel” by Darius Rucker, which is country music. Hundreds of miles away from my cup of tea, but tolerable, so we recorded that. Obviously for our own amusement, I just bought a Zoom H4n Pro recorder and wanted to record a nice guitar, which he has.

Today I bought the song on iTunes, converted it to WAV (Cubase doesn’t take .m4a files) and I did the tempo detection. Well, this lovely rollercoaster ride came up:

For those of you who don’t know this song, it’s a run of the mill American country music song, the tempo is the same from start to finish, and it’s very easy to tell. Logic has a great feature that I wish Cubase had, or some plugin, which is that when you create a new project, there’s a button that says “Tap tempo” or something like that, so you listen to the song, and you click on that button at the tempo of the song, and it tells you right away what it is. Of course you being human, it doesn’t give you the exact tempo after each click, but it gives you a good idea.

So I start doing that, and it tells me that it’s between 73 and 75. I create the project, I import the song, and run the tempo detection on it. It gives me a constant tempo of 74:

And as you can see, the beats in the waveform match the tempo perfectly. So it is a 74 constant tempo. And this reminded me that when I analyzed tempo in Logic, it was much more accurate than Cubase, which always gives me some craziness like you see in the screenshot above. Sure, you can click on the offbeat button several times, and it gets close to a constant tempo, but it’s still kind of messy, when a song so basic, with a tempo so constant throughout it, should be detected as Logic did.

Now, this is not going to make me go back to Logic, Cubase is still my favorite software of all time, but I read the manual, and there’s not too much to learn about this, it’s fairly straightforward. You go to Project, Tempo Detection, it does its thing, then shows you the tempo track. If it detected something with a range that is too big, it shows you the Smooth tempo button, in this case it didn’t. And that’s about it.

In this case I’m just going to set the project to constant 74, but I keep wondering, why does Cubase always gets tempo with so many highs and lows, never a constant tempo, even in the most plain basic songs like this? Or is there a setting or something else that I’m missing?

Edit: I just discovered Cubase also has a tap tempo function, and it gives me about the same, but when I set the project to that tempo, somehow the lines don’t match with the peaks in the waveform like they do in Logic.

I’m not at computer right now, but if I remember correctly you can flatten the tempo to be more constant.
I personally always tap tempo

1 Like

The issue with your Cubase screenshot is that we cannot see the min and max vlaues of the tempo track. If min is at 60bpm and max at 180bpm you indeed have a crazy curve. If min is at 70bpm and mx at 77bpm it is actually quite steady.

1 Like

Watch this video.
https://youtu.be/HsHTvKoRzfc?si=9u8qupHngbwpKFi_

2 Likes

I’ll check that video and see if it explains things better, but in 10 years or so since jumping ship from Ableton I’ve constantly been frustrated at the Cubase attempt to emulate the simple warp function in Live - drop an audio track in to a project and ‘boom’ it either sets the tempo of the project to the audio (if empty) or accurately warps the audio to fit the project settings.

If the audio is a bit wonky it can be a bit off but 99% of the time it sorts out any pop or rock track. I’ve held onto my Live 8 software just for this function alone, then saving the warped track off to use in Cubase.

Must be me … must be missing something :thinking:

Thank you, very useful video.

Now, I’m still a bit confused. I started a whole new project after watching the video to avoid any issues. He played two guitar sections, one is the rhythm guitar that goes throughout the song, and then what would be a separate guitar track in the original song. This was all recorded in the same file in the Zoom.

So I trimmed this parts from that main file, put one in one track, and the other guitar in a second track. Then I did tempo detection from the track that has the rhythm guitar, and followed the instructions in the video (I was surprised that he said you have to select “set definition from tempo” instead of “set tempo from event”. But well, it works.

The thing is then I have the second guitar track, and I want to do the same process, but now tempo detection is grayed out. I did a search and I found out that it has to be in linear mode, so I set it to that, but tempo detection is still grayed out. I searched the manual and online to find out how to reset tempo detection, but I can’t find more than the usual way to reset it, which is via the tempo detection module, which is grayed out, so I can’t access it.

Does this make any sense? I mean, I need to detect the tempo in both the rhythm guitar and the I guess lead guitar, but apparently you can only do tempo detection on one track. In Logic it’s done at the file level it seems to me.

But I figured well, I can leave all the audio file segments with both guitars in one track and do it that way. But I would like to know how to delete the tempo detection done previously, rather than start a whole new project, because what if I’m at a stage where I put a lot of work into a project, and then I have to do this?

Do you mean you have two tracks recorded in a linear sequence that you want to sync up in parallel? I’m guessing here but this is what I would try: First you need to render the clips as seperate audio files in the media pool. (Right click and bounce to new audio or something) then leaving them on one track together one after the other, do the tempo detect so you have one long tempo track. Then bake the tempo into the audio files. Do it at the file level rather than project level. Then create a new project and drag in those baked wavs.

I’m pulling this out of the air , but maybe it will work.

I guess it is indeed a good idea to have the different events in seperate audio files. If you recorded them simultaneously on different inputs that will already be the case.

When doing the tempo thing for the first track and you arrive at the function “set definition from tempo” chose “write to audio file” in its dialog rather than write to project.

Once you’re done with this, you can delete the tempo events from the tempo track and start with the second track. Tempo detection should work now. Again - let the function write the tempo information directly into the audio file.

In the end both events ought to be in Musical Mode (switchable on the Info Line) so they can follow the tempo of your project.

If I had a project already and want to add stuff that needs tempo detection I’d actually create a blank project just for the tempo detection work. If you let Cubase write the definition into the audio files you can them use them in your original project just nicely.

So basically you’re saying that if I follow these steps, then the files should basically have the perfect tempo, so I should see some peaks aligned to bars and all that, kind of like when I do it with Logic Pro X. But it doesn’t seem to be the case. I actually duplicated the file twice, and opened each file in iZotope RX10 to trim the parts.

Then I started two separate Cubase projects, one after the other, and did the tempo detection, set definition, write to file, and then started a third project, brought the first file, then the second one, and to me the bars still don’t align to the waveform like they normally do in Logic.

Maybe this guy played totally out of tempo going up and down, but at least to my ears it’s not some craziness that slows down and speeds up all the time, it sounds like a pretty normal rhythm guitar.

Did you switch the events to Musical Mode?

Oh yeah.

OK so I got a good example here. This is the song “The King” from the “The Northman” score. The song starts and a few bars later, there is a very clear drum ensemble that might be one of those awesome Nordic drums that kind of sound like Taikos.

This is a very clear rhythm. Should be very easy for any software to detect the tempo. It’s also very clear to see in the waveforms, especially at the start, because the other instruments are not as loud.

So I created two new projects, one in Logic Pro X and another in Cubase, to see how the tempo detection worked. This is the result in Logic Pro X, after I applied the detected tempo to the project:

You can clearly see that the drum hits are almost perfectly aligned with the bars. It’s two hits per bar, but you can double the tempo and make it one hit per bar.

Then I ran the same WAV file in Cubase’s tempo detection, and this is what I got, once more, after I applied the detected tempo to the project, although in this case I’m not completely sure if I should select Advanced > Set Tempo from Event, or Set Definition from Tempo, which is what I saw in a tutorial video, so that’s what I did:

Well, this couldn’t be more obvious. You can tell at plain sight that the bars are not where the drum hits are. Not even remotely. But you will say, just move the event so they match. Cool. I tried that. At the beginning, they do match, but then they start to veer off.

So either I’m doing something terribly wrong, or Cubase sucks at tempo detection. However, since Cubase excels at pretty much everything, I have to conclude that I’m doing something wrong.

So what is it?

It almost looks like it’s counting the silence in the beginning… what if you trim the file?

If you mean the part before the tall waveforms, that’s not silence. It’s just a bunch of low brass with a tagelharpa and other instruments.

But no, I shouldn’t have to trim that. Logic did a very decent job with that same file.

I just can’t believe that a state of the art DAW like Cubase Pro 12, which is better than Logic in everything else, does such a poor job at tempo detection. There has to be something I’m not doing right.

I quite agree with you. Most of us use tempo measurements and just want to come up with a bpm72 or 115, and so on.
So many detection points actually make it more complicated

Tempo detection in Cubase doesn’t work the way the average user would expect.
It should be straightforward as the name implies, but instead it creates a Tempo Track with a tempo change on each “beat” (better say major transient) and sets the signature to 1/1…

There is no feature to detect the average tempo of the file and set the project tempo automatically. Instead we have to use the tap tempo thing to get an idea of the tempo and type it into the tempo field.

Why not develop a “Detect and set tempo to project” feature?
If the tempo is constant then it works immediately. If there is too much tempo changes it displays a message saying the latter and asking if we want to proceed by mapping the changes to the tempo track, with the fewer changes possible and keeping the proper time signature, as shown on your Logic screenshots.

I agree it is not only kinda bad but also very counter intuitive (and also it can make Cubase crash if the sample rate isn’t 44.1 kHz but that’s another problem).
Let’s see if there is any improvement in Cubase 13.

@Jari_Junttila pointed out that you have a short silence at the very beginning of the Event, before the tagelharpa. Strangely it seems to be the same length as your offset. You need to trim it so the first beat is exactly at the start of the Event.

1 Like

I didn’t trim the silence, but like I said, I moved the event. I can make it match the first few bars, then it goes out of sync again.

I still can’t believe that a DAW as great as Cubase has such awful tempo detection. There’s gotta be something else here.

1 Like

I used the same piece of music (The Northman).
First I trimmed the beginning and the end of the event so that there is no silence.
Then I used Project → Tempo Detection with the default settings. That created the tempo track events.
Afterwards I selected the audio event and used Audio → Advanced → Set Definition from Tempo.

The result looks spot on on my machine:

From what I can see the difference between us is that I removed the silence at the beginning of the recording.

I see also that Logic detected twice the tempo of Cubase (~110bpm compared to ~55bpm). There is, of course, the option in the tempo detection dialog to double the tempo. However, ~55bpm sounds ok to me on this particular piece of music.

Thanks, Johnny. I just did the same thing you did (although we’d have to really see how much silence you removed and how much I did, but it has to be about the same give or take a few samples), but I still get the wrong results:

Could it be that I have something in the settings that is different from yours? Or some other option somewhere?

Did you do the very same steps as I did?
Was your tempo track empty before using tempo detection?