Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

CellDNA BPM Clip Sync

edited February 2013 in Software Discussion

I am trying to beat sync some clips of dancing to my music (playing in Ableton). I have set BPM Clip sync to "rate" in preferences.

As far as I understood it the "Rate" method worked by matching the video clip to the nearest 1 bar, or 2 bars, or 4 bars etc

I have a tune playing at 84bpm (2.85 seconds/bar) and a 5 second video clip that is 2 bars worth of dancing, CellDNA keeps playing this clip as if it were 1 bars length unless I press the "Slow" button, which I do not want to do.

I also tried  time stretching the clip by 200% in After Effects so it is 10 seconds long - CellDNA still plays it as one bar.

I tried time stretching by 400% to 20 seconds long and  CellDNA plays it as 4 bars in length.

Is there nothing I can do to get this clip to play as a 2 bar clip?

It would be great if you could add some way of defining the length of individual clips in bars length so that they beat match quickly and easily

I hope there is some answer to this rather annoying behaviour





  • I think I'm regretting buying this software, this utter lack of support is appalling

  • Here's how BPM Rate sync works. We assume a 4/4 signature. First we get the seconds/measure value:

    ex. 4 * 60 ÷ 84 = 2.85
    we then calculate the number of measures in the clip:
    5 secs ÷ 2.85 sec/meas = 1.754
    (we multiply this factor by the current speed (slow/fast), but let's assume it's unaltered)
    This gives us the factor by which we need to change the speed to match the amount of time a measure takes: a 5 second clip needs to be sped up 1.754 times to take 2.85 seconds to play.
    There's an additional step to this algorithm, and it's this part that is a bit arbitrary that is frustrating you. Once we've found that speed factor, we check to see if it's going to result in a speed change > 4x, as this would create somewhat absurd results. So if it's >4, we iteratively half it until it reaches a reasonable speed. For example, a 30 second clip:
    ex: 30 ÷ 2.85 = 10.52
    Greater than 4? Yes.
    10.52 ÷ 2 = 5.26
    Greater than 4? Yes.
    5.26 ÷ 2 = 2.63

    Greater than 4? No.

    So we speed up the clip 2.63 times. 
    You can see that by time stretching 2x (alternatively, you could have just cut and pasted the clip to double it's duration) in this particular case didn't help:
    10 ÷ 2.85 = 3.5 
    Not greater than 4!
    However, if you had time stretched it to a new duration of 6 seconds (or, cut and pasted a repeat of the clip, then time stretched), you'd get:
    6÷ 2.85 = 4.2
    4.2 ÷ 2 = 2.1
    a rate adjustment of 2.1 times.

    So that is how it works. I'm thinking the simplest thing for this case might be to offer a preference for the maximum rate adjust. I can't realistically add per-clip BPM assignments, but I think adding this max rate adjust preference would help.

  • Hi Peter

    Thanks for getting back to me. My brain is a bit too frazzled this evening to take all that in, but I shall have a look at it and see if I can get a value that gets this to work for me.

    I have been hard at programming a vj set to be controlled completely by Ableton Live, I have discovered a few issues that make total automation via midi and max4live very difficult.

    I have been having an issue where the "More Controls" FX #1 knob has mapped itself to the start and stop controls of Ableton and I can't seem to unmap it, I really wanted it on Ch1 cc41. Is there another way I can unmap this apart from hitting backspace on that knob in learn mode? (which doesn't clear it)

    Another feature I am struggling with is the toggle nature of switches when assigned to midi continuous controllers. For instance, I can never be sure whether I am switching the top mask on or off, it is utterly dependent on the state it was last in, I would really like to be able to send 127 and know I am switching it on and to send 0 to know that I am switching it off


  • Hi Peter

    I've just had another thought about the tempo matching clips issue.

    If the length of the clip in bars (assuming 4/4) was part of the filename of the video clip, perhaps at the end preceded by a special character or word to signify that there was a bar length declaration
    eg DancersClip1%bar%2

    where %bar% signifies the declaration of 2

    If the filename doesn't have %bar% in it you do the BPM rate your way, if it does have %bar% then the calculation of the rate adjustment is really simple

    where y=length of clip in bars ie the value following %bar%
    and t=length of the clip in seconds

    then the rate adjustment factor = (t x bpm)/240y

    Which is a really simple calculation.

    Just a thought


  • Hi Peter

    First calculations indicate that I'm unlikely ever to be able utilise 2 bar clips however much I timestretch them to try to fool your system, which is a bit of a limitation.

    Thinking more about the solution I proposed could add the length of the clip in bars at end of filename between square brackets eg DanceClip1[2].mov


  • I keep coming back here most days in the foolish hope that someone from Livid has replied to my post, I think I may be wasting my time!

Sign In or Register to comment.