Getting Warp to Detect BPM Correctly

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Getting Warp to Detect BPM Correctly

Post by Syncretia » Tue Apr 30, 2013 9:30 am

I've had an ongoing problem where Live never guesses the BPM of a track correctly. I twas happening 8 and it's still happening in 9. I've turned off Auto Warp Long Samples, but whenever I load a clip in to Ableton it almost always puts the track's BPM in the Seg BPM even on simple drums clips where it should be easy to guess the BPM. Other times it's just off completely. What the hell is it doing? How can I fix this?

As an example, I loaded up some stems that were 140 BPM. The global tempo was 125. But, the Seg BPM said 120. Is it just the case that Ableton never gets it right?
Download and listen @ http://www.syncretia.com

102455
Posts: 1638
Joined: Sat Nov 21, 2009 1:41 pm
Location: Location: Location:
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by 102455 » Tue Apr 30, 2013 9:45 am

Syncretia wrote:but whenever I load a clip in to Ableton
Into Ableton? The software is called Live. The company is called Ableton.
Syncretia wrote:it almost always puts the track's BPM in the Seg BPM
Yes, that's exactly what it's supposed to do. Have you read the manual? Page 124 for example, where it talks about warping and the seg BPM area.
Syncretia wrote:some stems that were 140 BPM
140 BPM according to who or what? If you're 100% sure that the BPM is X, then move the markers to the correct points and enter that BPM into the seg BPM box.

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Syncretia » Thu May 02, 2013 11:05 pm

Thanks for the rude response 102455. Most unhelpful.
Into Ableton? The software is called Live. The company is called Ableton.
Obviously.
it almost always puts the track's BPM in the Seg BPM
I realised that after typing this that what I meant to write here was that it puts the Global Tempo in the Seg BPM - not the track's tempo. My bad. Yes. I have read the manual. The manual says "The Seg. BPM field displays Live’s guess of the loop’s tempo". And, this specifically is my problem: this almost never works for me.
140 BPM according to who or what? If you're 100% sure that the BPM is X
The stems are at 140bpm. I know this because all the stems line up correctly in bars when I set the global tempo to 140. This was only an example. It happens all the time with other samples that I have created myself, or where the drum loop is labelled with something like Look_BlaBlaBla_130BPM.WAV or something similar.

So, to reiterate and reword the problem:

Ableton is not guessing the BPM of the stems I feed it well.

Again, this is an example of what happened recently:

-Turn off auto-warp long samples
-Set Global Tempo to 125
-Drag some stems in at 140BPM (which I am sure are 140bpm)
-Select the drums stem
-Seg. BPM says "120"

For everyone else, Ableton seems to guess correctly, but it rarely works for me.

Anyway, I'm going to back over this section of the manual:
However, if Auto-Warp does not quite do what you
want, you can control its results. The remainder of this section will focus on various ways of guiding
Live’s auto-warping. Remember that the metronome in the Control Bar will probably come in
handy as you warp longer pieces.
But, I would have though that Ableton would get it right most of the time without me needing to go in and manually adjust things. I guess my question is:

Is it common for Ableton to get the BPM wrong? Is it normal that you have to go in and apply warp markers etc. for it to guess correctly?
Download and listen @ http://www.syncretia.com

yur2die4
Posts: 6531
Joined: Sat Oct 03, 2009 3:02 am
Location: Menasha, Wisconsin
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by yur2die4 » Thu May 02, 2013 11:18 pm

It mostly depends on the material and the context for me.

If it is a 'Loop' that I drag in, in an ideal situation this Loop is cut accurately at the start and end, making it relatively easy for Live to guess...or more like calculate the bpm.

If I use tracks with strong downbeat and backbeat patterns, ones which we very clear, consistent and obvious, it tends to do pretty darn good guessing the bpms on those, and then I just have to set the start point ... Except..

I personally do not trust a program to warp for me. I need to confirm with my eyes and ears (and experienced brain) that the markers are placed accurately.

SuburbanThug
Posts: 1479
Joined: Wed Apr 03, 2013 9:22 am
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by SuburbanThug » Thu May 02, 2013 11:28 pm

I've gotten used to having to warp things but when I first started using Live I wondered why it even attempted to warp if it was going to do such a terrible job. Ten years later the function still does a terrible job if left to do it's thing. It surprises me that it won't even detect the beginning of a transient correctly. Seems like this should be a simple thing to do but I'm guessing that if they increased the detection sensitivity that a lot more useless transient markers would be created. I haven't used Traktor. I'm kind of intrigued now. I'll have to check out their warp function.

UltimateOutsider
Posts: 241
Joined: Sun Aug 30, 2009 7:02 am
Location: Portland, OR

Re: Getting Warp to Detect BPM Correctly

Post by UltimateOutsider » Fri May 03, 2013 12:17 am

Syncretia wrote:I've had an ongoing problem where Live never guesses the BPM of a track correctly. I twas happening 8 and it's still happening in 9.
Weirdly, 8 works fine for me but I cannot get Live 9 to do it right at all.

I am going to capture some screenshots probably tonight. Something really does seem to be up with Live 9, at least on my setup.

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Syncretia » Fri May 03, 2013 12:22 am

I see. So, I'm not alone in thinking that it often gets it wrong for no reason.

I find it quite surprising that this has not been revisited in Ableton 9. Ableton does do a pretty good job at detecting transients in the new Convert Drums to Midi feature. It seems as though it is using a different engine to detect the transients in this way. I.e. the new feature seems to know the difference between a kick and a hihat and therefore it knows where the downbeat is. I wonder why the same logic has not been applied.
Weirdly, 8 works fine for me but I cannot get Live 9 to do it right at all.
I have the same problem in both versions.

Yeah, I'm going to some serious investigation tonight and see if I can get some kind of consistent results with some contrived tests to prove one way or another what the hell Ableton is doing.
Download and listen @ http://www.syncretia.com

UltimateOutsider
Posts: 241
Joined: Sun Aug 30, 2009 7:02 am
Location: Portland, OR

Re: Getting Warp to Detect BPM Correctly

Post by UltimateOutsider » Fri May 03, 2013 3:12 am

Syncretia wrote:I have the same problem in both versions.

Yeah, I'm going to some serious investigation tonight and see if I can get some kind of consistent results with some contrived tests to prove one way or another what the hell Ableton is doing.
All right. For me it turned out that Default Warp Mode was still set to Beats in Live 9. When I switched it to Complex and re-imported a track that was previously importing with no proper BPM analysis or warping, it came in exactly right; all beats aligned, correct tempo selected.

And for comparison I analyzed my test file in Traktor. Traktor reported the file's BPM at 127.999. Live doesn't go to 3 decimals, so it rounded up to 128, which is as close as Live can get.

So now my Live 8 and Live 9 are behaving the same, wewt. (I'm running 9.0.4beta and 8.0.4, both 32-bit Windows, BTW.)

ONE OBSERVATION: In Live 8 I can choose between Complex and Complex Pro in the Default Warp Mode setting of Preferences, but in Live 9 I can only select Complex. I can change an individual clip's setting to Pro, though... just not the global default. I wonder why that is?

vanhaze
Posts: 117
Joined: Sat Jul 23, 2005 2:31 pm

Re: Getting Warp to Detect BPM Correctly

Post by vanhaze » Fri May 03, 2013 9:39 pm

Maybe this video will help :

http://www.youtube.com/watch?v=DQQcibUbYGY


Sorry for my bad / stuttery english :D

Best,
Rob van Hees
Macbook Pro 15", 8 Gig Ram, Mavericks 10.9, Novation Impulse, Maschine MKII, Live 9.1 (latest beta 64bit), Logic Pro X 10.04, Protools 11.02, just too many plugins.

vanhaze
Posts: 117
Joined: Sat Jul 23, 2005 2:31 pm

Re: Getting Warp to Detect BPM Correctly

Post by vanhaze » Fri May 03, 2013 9:49 pm

Also sorry for abit blurred video, still fighting with the right video settings.
Rob van Hees
Macbook Pro 15", 8 Gig Ram, Mavericks 10.9, Novation Impulse, Maschine MKII, Live 9.1 (latest beta 64bit), Logic Pro X 10.04, Protools 11.02, just too many plugins.

Tarekith
Posts: 17642
Joined: Fri Jan 07, 2005 11:46 pm
Location: Ableton Forum Administrator
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Tarekith » Fri May 03, 2013 11:37 pm

Complex Pro has never been a default option, despite many of us asking for it,

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Syncretia » Sat May 04, 2013 1:49 am

vanhaze - that video only goes for 19 seconds. Yes, I realise that Complex Pro is not the default option. I really want to get to the bottom of this now, so I'm going to change the question in the OP. What I want to know now is: when Live tries to detect the BPM of a clip, how does it do it? Does it guess based on the transients inside the clip and what they are: i.e. kicks, snares, hihats? Or, does it guess merely on the length of the clip?

My first test seems to suggest length only. Here's my experiment:

-Version: 9
-Preferences ->
Loop/Warp Short Samples: Auto
Auto Warp Long Samples: Off
Default Warp Mode: Complex
Create Fades on Clip Edges: Off
-Create a new project
-Drag a tune from iTunes in to an audio channel. Obviously it starts out unwarped.
-Find a rough loop in the song and delete the part of the clip before the downbeat (first kick) of said loop
-Delete everything after 4 bars of the loop. In other words, I'm left with a 4 bar loop
-Line the clip up with Bar 17 in Live (so that it starts dead on 17)
-Leave warping for the clip off.
-Adjust tempo until the clip sits roughly inside the bars 17-21. The tempo ended up being 186.7. It's important to note here that I HIGHLY doubt this to be the absolute correct tempo.
-Consolidate the clip (which creates a sample of the loop and leaves the clip warped)
-The seg BPM becomes 186.7
-Delete the ASD (analysis) file corresponding to the sample.
-Exit and re-enter Ableton (to clear out analysis data that may be left behind
-Create a new project (125 bpm)
-Drag the sample in to the project. The Seg BPM is 186.7. <---- The problem right here
-After a few experiments, of turning warping on/off and switching the different warp modes, the temp changes to the global tempo 125


What the above experiment tends to make me think is that Ableton is paying no attention to the transients inside the clip. It is only paying attention to the length of the clip. Because the clip has a length which is dead on 186.7 BPM X 4 bars, it assumes that it is a perfectly edited clip. It could be that the clip is dead on 186.7 but this is unlikely. I will need to do further experiments but do other people experience this same thing?

Are there any circumstances where Ableton uses the transients inside the track to determine the BPM as opposed to clip length? Am I doing something wrong?
Download and listen @ http://www.syncretia.com

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Syncretia » Sat May 04, 2013 2:41 am

OK. I think I've figured it out. My problem apparently stems from my literal interpretation of the Ableton help. This is what Ableton says about the Seg BPM.
This shows Live's guess at the tempo of the original file
The problem was that I was taking this too literally. I believed that as soon as I dragged a clip in Ableton, this would automatically come up with a good guess. It seems I was wrong about that. I think that the help should be reworded here to be something like

This either shows Live's guess at the tempo of the original file based on the information that is supplied, or shows this Live Set's Tempo.

Here's why:

What Ableton needs to know about a given clip in order to make a good guess about the tempo is where the first downbeat is. You might assume that if you give Ableton a track that it would do a decent job of finding that out by itself, but it doesn't. From my experimentation, there really is only one way to do this and it is a process. Here are the steps that seem to consistently create the correct results:

-Drag the file in to an audio track in Ableton (unwarped - make sure your preferences are set to not warp long clips)
-Turn warping on the clip on
-Find a reliable downbeat <-------- This is the key right here
Note: The downbeat should probably be somewhere like the first drop rather than the first kick as part of an intro or whatever. Ultimately it should really be the first kick of the main loop.
-Insert a warp marker at that spot
-Right click on the warp marker and click "Set 1.1.1 Here"
-Right click on the warp marker again, and click "Warp From Here"
-Scroll back to the start of the clip and delete the warp marker that Ableton would have <-------- This was the step I was missing

Bingo!

The Seg BPM shows me a useful value which seems to be dead on for the track!I have repeated these steps several times with different tracks and they all work great. I can confirm that it is correct because when I loop 4 bars (or in the case of a 5/4 track - 5 bars), it loops perfectly, and when I click the "Master" button next to the "Warp" button, it sets the global tempo to the tempo of the actual track.

Wow! This is a massive leap forward for me because I've had to rely on my own ears and sense of rhythm in the past to get the BPM right when warping clips etc. This is going to make analysing a track and doing remixes so much easier!

There are probably dozens of warping tutorials out there that get it right and follow the same steps I mentioned, but what made this process tweak in my mind was this tutorial here. As I was watching, everything fell in to place:
http://www.youtube.com/watch?v=1vx6X_bLrVM

I'll write a blog post about this at some point. I think one of the points to take away from this is that a) Ableton needs to know where the first down beat occurs, but it won't know this until you've specified where it is, and b) even when you do specify it, Ableton won't do anything right until you delete Ableton's original warp marker at the start of the clip.

Another thing to note is that even if you drag in a perfectly cut loop and Ableton puts its first warp marker at the start of the clip, it will still get it wrong. You still need to delete the original warp marker and replace it with a new one following the steps I outlined. Is this a bug? It does very much seem to me that this is a bug and perhaps one of the reasons why so many people have trouble with warping.

PS: I was damn close on the BPM of my last experiment. It turns out that Ableton says it has a tempo of 186.65
Download and listen @ http://www.syncretia.com

Syncretia
Posts: 328
Joined: Tue Jun 14, 2011 9:34 pm
Location: Melbourne
Contact:

Re: Getting Warp to Detect BPM Correctly

Post by Syncretia » Sun May 05, 2013 3:23 am

So, the steps above work really well with loops and full songs etc. but now I'm having real difficulty warping multiple stems for a remix. Up until now, what I've been doing with remixes it to turn off warping, chop off everything from the start of the track before the first downbeat. Then, I adjust the global tempo until the stems create nice loops that sit within the bar lines. I then turn warping on and put some warp markers in just to make sure the transients are snapped in to place. This works fine, but intuitively, it has always felt as though this is the wrong way to go about it and warping should be my friend here not my enemy.

I'm trying to follow this tutorial which has pointed out some really amazing stuff about warping multiple stems that just wasn't obvious to me, but I'm still finding it difficult to get it right with the stems I've got.

http://www.youtube.com/watch?v=ROn06lU3JCg
Download and listen @ http://www.syncretia.com

vanhaze
Posts: 117
Joined: Sat Jul 23, 2005 2:31 pm

Re: Getting Warp to Detect BPM Correctly

Post by vanhaze » Thu May 09, 2013 11:50 am

Several questions arise for me, regarding your last post.

If you get stems delivered for making a remix, the person that sent you the stems has to have rendered them with all the same start and end points.
The start point of all the stems should at very beginning of any audio in a stem.
Also he/she must give you the exact tempo of the stems (assuming the stems come from a steady BPM track).
This is a very common delivery method for stems.

What you do then is.
- Import all stems into arrangement view.
- select them all and go to clip view.
- Turn Warp ON
- Set the 1.1.1. marker at the very beginning of the track.
- Right click on the triangle and select WARP X BPM FROM HERE. (where X is the BPM of the track, from which the stems are derived)

If the stems come from a track that has a drifting bpm, then the youtube tutorial you posted is indeed a good method for warping the right way of stems.
However, in don't understand really what you don't get from that youtube vid.

Hope this helps.
Rob van Hees
Macbook Pro 15", 8 Gig Ram, Mavericks 10.9, Novation Impulse, Maschine MKII, Live 9.1 (latest beta 64bit), Logic Pro X 10.04, Protools 11.02, just too many plugins.

Post Reply