Change global BPM without destroying arrangement ?

Discuss music production with Ableton Live.
nc2010
Posts: 307
Joined: Fri Jul 02, 2010 9:34 am

Change global BPM without destroying arrangement ?

Post by nc2010 » Sun Jun 08, 2014 11:02 pm

Hello,

In older projects, I have done some live recording on lots of tracks + some editing (copy paste, etc.) but without setting the correct BPM : for this project, the BPM is still "120", and that is not the correct BPM of the song. :)
I know this is bad (of course now I do differntly), but I still want to work on these older projects.

Now if I change 120.00 to 95.00 for example (because this is the real BPM), all the arrangement's timing is lost... : a clip that began at 0'24" (ie bar 13 @BPM=120) now begins at 0'30" (still bar 13 but at @BPM=95).... Everything is moved :(

How to change the global BPM of a song without destroying arrangement already done ?

siliconarc
Posts: 2838
Joined: Mon Jul 16, 2007 12:27 pm
Location: UK
Contact:

Re: Change global BPM without destroying arrangement ?

Post by siliconarc » Mon Jun 09, 2014 10:16 am

unfortunately you can't "unlink" the clips' positions from the grid/tempo so, apart from bouncing each track to a new single audio file, perhaps your only option is to alter the tempo from 120 to 95, then use 'delete time' on the gaps between the clips. not great, i know...
and if you need to increase the tempo, you're screwed!

Winterpark
Posts: 1671
Joined: Thu Apr 15, 2004 2:59 am
Location: Melbourne, Australia

Re: Change global BPM without destroying arrangement ?

Post by Winterpark » Mon Jun 09, 2014 10:21 am

Highlight everything in the track, and consolidate it into a new clip... do this for every channel... then change the global BPM, and set the new clips warp marker tempos to the 'real' bpm.
web | fb | sc | twt | bc

nc2010
Posts: 307
Joined: Fri Jul 02, 2010 9:34 am

Re: Change global BPM without destroying arrangement ?

Post by nc2010 » Mon Jun 09, 2014 10:22 am

Thanks for your answer.

So there is no real way to do it ?
That's strange, changing BPM without destroying the clip's absolute timing position is possible on most major DAW if I remember well, don't you think so?

Hermanus
Posts: 1659
Joined: Mon Apr 20, 2009 7:47 pm
Location: Belgium

Re: Change global BPM without destroying arrangement ?

Post by Hermanus » Mon Jun 09, 2014 11:41 am

This is not clear.

I don't see any reason where raising down the bpm would ruin your clips placement in the arrangement.

You said:
a clip that began at 0'24" (ie bar 13 @BPM=120) now begins at 0'30" (still bar 13 but at @BPM=95)
don't look at the timing, look at the measures.

I would like to see both screenshots comparison > the project at 120 bpm and the same one at 95 bpm.
Take a wide view of the arrangement section and do screenshots.

The only real problem with bpm and audio clips is where you use lot of repitch, there it really turns to nightmare for reediting concerning pitch.

OR with unwarped clips, there off course every timings could be ruined.

Maybe, try changing bpm inside the clips themselves:

Image


I've just been trying out with my own older projects with plenty of audio editings.
Moving bpm up or down doesn't move anything.
Even if I tick/untick the lock enveloppes button.

Image

Image
you can see my arrangement doesn't move at all, nothing is ruined.
I've checked again, even automation is in place both in clips and arrangement itself

It is logical that the timing will change as you change the bpm, you said it yourself [see my quote].
why is the timing so important for you then?

Maybe you think there's a problem though there is not.

If you play a song faster, it will last shorter.
if you play it slower, it will last longer.

common sense

siliconarc
Posts: 2838
Joined: Mon Jul 16, 2007 12:27 pm
Location: UK
Contact:

Re: Change global BPM without destroying arrangement ?

Post by siliconarc » Mon Jun 09, 2014 11:55 am

when OP said 'live recording', i assumed that he was using the recordings unwarped. your example uses warped clips so you won't have this issue.

with unwarped clips, gaps are left when slowing down the tempo and there's no way to decouple the clips from the arrange grid.

nc2010
Posts: 307
Joined: Fri Jul 02, 2010 9:34 am

Re: Change global BPM without destroying arrangement ?

Post by nc2010 » Mon Jun 09, 2014 12:26 pm

Yes, all is unwarped, as it's live recording...

I found a tricky way to do what I wanted, and it works :)

I used the fact that .als files are just XML files gzipped into an .als file.
Then I did a Python programming script that modifies the timing for each clips in order that after BPM is changed, the absolute position (in minutes:seconds:milliseconds) is the same as before, with a little bit of math.

For example, in the .als (=XML) file :

Code: Select all

<AudioClip Time="32">
means that the clip begins at bar 9 (0=bar1, 4=bar2, 8=bar3, 12=bar4, etc. )
I modifed all these numbers such that, after BPM-change, the position remains the same.

--

Dirty method involving programming, but it worked flawlessly on a song with many many tracks and audio clips :)

nc2010
Posts: 307
Joined: Fri Jul 02, 2010 9:34 am

Re: Change global BPM without destroying arrangement ?

Post by nc2010 » Tue Jun 10, 2014 7:27 am

Hermanus wrote: You said:
a clip that began at 0'24" (ie bar 13 @BPM=120) now begins at 0'30" (still bar 13 but at @BPM=95)
don't look at the timing, look at the measures.
This is precesily the point : I don't want to look at the measures, I want to look at the timing.

I don't want to change the BPM in order to change the speed of the song : I want to keep exactly the same speed (no slower nor faster play). I want to change the BPM because the BPM was incorrectly set while the recording session.

All what you say @Hermanus would make sense if I would want to change the speed of the song : then, of course, the measures (instead of timing) would be important. For my purpose, keeping the exact timing is important.
If you play a song faster, it will last shorter.
if you play it slower, it will last longer.
This is the point : I don't want to play faster nor slower, I want to keep the same timing.


The problem is now solved thanks to my Python script. Feel free to ask if someone is interested in this script.

noou
Posts: 154
Joined: Thu Sep 08, 2005 4:16 pm
Location: Lugano (Switzerland)
Contact:

Re: Change global BPM without destroying arrangement ?

Post by noou » Thu Aug 20, 2015 8:43 pm

nc2010 wrote: This is the point : I don't want to play faster nor slower, I want to keep the same timing.

The problem is now solved thanks to my Python script. Feel free to ask if someone is interested in this script.
Hi nc2010, where can I find your Python script?
It would help a lot!
.:: (noou) - electronic + music ::.
noou.bandcamp.com

whoismavric
Posts: 1
Joined: Sat May 09, 2020 5:37 pm

Re: Change global BPM without destroying arrangement ?

Post by whoismavric » Sat May 09, 2020 5:47 pm

I also had this problem myself recently, and so I wrote a little python script which does as nc2010 describes; adjust all timings in the project that are expressed in terms of beats. It's here: https://github.com/henrybetts/ableton-retime

noou
Posts: 154
Joined: Thu Sep 08, 2005 4:16 pm
Location: Lugano (Switzerland)
Contact:

Re: Change global BPM without destroying arrangement ?

Post by noou » Sat May 09, 2020 7:46 pm

Hey thanks a lot! :D
.:: (noou) - electronic + music ::.
noou.bandcamp.com

kllyshhn
Posts: 2
Joined: Wed Jun 17, 2020 3:44 pm

Re: Change global BPM without destroying arrangement ?

Post by kllyshhn » Wed Jun 17, 2020 3:46 pm

whoismavric wrote:
Sat May 09, 2020 5:47 pm
I also had this problem myself recently, and so I wrote a little python script which does as nc2010 describes; adjust all timings in the project that are expressed in terms of beats. It's here: https://github.com/henrybetts/ableton-retime
hey, I'm new to python. Could you break down how to use the script? Basically, I can't figure out where to enter my target BPM, current BPM, and path files for the input and output .als files. Please help and much appreciated. Thank you!

kllyshhn
Posts: 2
Joined: Wed Jun 17, 2020 3:44 pm

Re: Change global BPM without destroying arrangement ?

Post by kllyshhn » Fri Jun 19, 2020 11:31 pm

just bumping this!

RobTheSoundBank
Posts: 2
Joined: Mon Aug 10, 2020 5:05 pm

Re: Change global BPM without destroying arrangement ?

Post by RobTheSoundBank » Mon Aug 10, 2020 5:08 pm

whoismavric wrote:
Sat May 09, 2020 5:47 pm
I also had this problem myself recently, and so I wrote a little python script which does as nc2010 describes; adjust all timings in the project that are expressed in terms of beats. It's here: https://github.com/henrybetts/ableton-retime
This worked like a charm! You are a lifesaver!
One piece of feedback - I needed the tool to accept non-integer values for the original tempo and target tempo. So, I popped in and edited the argument declarations to accept float and everything worked just fine! It was a straightforward change, and one I'd recommend including in your next update :)

RobTheSoundBank
Posts: 2
Joined: Mon Aug 10, 2020 5:05 pm

Re: Change global BPM without destroying arrangement ?

Post by RobTheSoundBank » Mon Aug 10, 2020 5:14 pm

kllyshhn wrote:
Wed Jun 17, 2020 3:46 pm
whoismavric wrote:
Sat May 09, 2020 5:47 pm
I also had this problem myself recently, and so I wrote a little python script which does as nc2010 describes; adjust all timings in the project that are expressed in terms of beats. It's here: https://github.com/henrybetts/ableton-retime
hey, I'm new to python. Could you break down how to use the script? Basically, I can't figure out where to enter my target BPM, current BPM, and path files for the input and output .als files. Please help and much appreciated. Thank you!
I'm happy to help you out if I can on using this!

A preliminary question, do you use Windows or Mac? I'll drop some quick Mac-instructions here, but for Windows you'll be a little bit more on your own.

1. Download the repo, unzip it, put it somewhere on your filesystem

2. Make sure you have python3 (as opposed to python2.7). If I'm not mistaken python3 is typically installed on mac osx by default, but for Windows you may need to install the python3 interpreter yourself

3. Open up a terminal. In OSX this is called "terminal"

4. Use "cd" to change directory to the python tool (on windows this will be a different command)

5. Execute the tool! The original tempo and target tempo and the input file and output file are arguments that you express when running the program. This is documented in the github repo, but I'll copy paste it here as well!

python3 ableton_retime.py --current-bpm 120 --target-bpm 150.7 PATH_TO_INPUT_FILE.als NAME_OF_OUTPUT_FILE.als


Good luck!

-RtSB

Post Reply