Translate ms to beats.bars.units in Liveset with metrum changes?

Jan 13, 2014 at 3:06am

Translate ms to beats.bars.units in Liveset with metrum changes?

Hey, what would be the best way to get the Beats.Bars.Units position from a miliseconds value in a Liveset with M4L.

When I use the max translate object the ms value and beat value doesnt correspond. Is there any way to grab this value directly from Live?

#278065
Jan 13, 2014 at 5:18am

You can get ‘property current_song_time’ by observing the live_set. It seems what you get is a beat counter as float number. Do what you want from here. No need for [translate] object.

#278074
Jan 13, 2014 at 6:07am

Thanks Stephane, the problem is though the metrum changes. The ms are actually translated from the beatcounter, though I wonder if you have 4/4, then 7/8 etc. how to gain the correct beats:bars:units from the beatcounter?

#278079
Jan 13, 2014 at 6:18am

Observe ‘property signature_numerator’ and there you go.

#278080
Jan 13, 2014 at 7:29am

Thanks for the help Stephane, I really appreciate it!

Though I think the problem is a bit more tricky.Right now if I would calculate the b:b:u from the observed signature_numerator and song_time it would only be based on the last signature change.

However if you have automation in your Liveset, altering between different time-signatures and you want to calculate the b:b:u from the beatcounter value you would have to know and incorporate all signature changes.

I wonder if there is not an easier way to translate the beatcounter to b:b:u so that it goes directly with the one ableton displays?

#278084
Jan 14, 2014 at 1:34am

It seems to me that something like that would work, because the live.observer for signature denominator will update.

<code>

– Pasted Max Patch, click to expand. –

</code>

#278175
Jan 16, 2014 at 8:07am

Hey Stephane, thanks for the patch but the problem is the same. It doesn’t work as soon as you have timesignature changes in Live. I also can grab the internal transport values with tick which works too but only if the whole set is in one metrum (eg no automated changes between 7/4, 4/4, 3/4 etc)

Does anyone has some ideas for this and could join in here? Really would love to solve this.

#278373
Jan 16, 2014 at 9:29am

I think from the [transport] object you get basically the same bbu as displayed in Live.

<code>

– Pasted Max Patch, click to expand. –

</code>

#278385
Jan 16, 2014 at 10:59am

Hey Brok, thanks that’s clear. I wonder though how you can get the bbu for points in time that are not related to the current playing position of live.

For example I have a certain ms values and want to translate them to the bbu in the Ableton Live Set.

#278391

You must be logged in to reply to this topic.