Independent clock per track
Hey was hoping to get some guidance on where to start with this. Basically, I want each track on Ableton to be able to step at an independent tempo. I am using this great m4l device called Opal. I'm assuming it listens to the global tempo, but I was wondering if there was a way I could tell it to listen to a different tempo (without editing the opal patch)
There is no such thing like per-track tempo in Live.
Alternatively, you can natively stretch a midi clip over time. Maybe you can find a transformer device that helps you use it as a BPM changer.
For audio tracks,the LOM allows to dynamically add, move and remove warp markers, so maybe there's a M4L device for that too.
Take a look where that device syncs to live transport.
Insert a switch that disables it and uses own made clock.
But it is not that simple if that device uses objects that directly
depend on Live's tempo, like translate , or uses note values as time base
You would have to replace that with proper ticks to ms calculation, because translate object can't receive other then BPM form Live
something like this

No, you can not make Opal listen to anything else than the Ableton master Tempo without changing the patch. And even if you changed the patch it would not be trivial.
You can change the clock division though, but I'm sure you're aware of that already.
If you study music composition
You should know that within 1 tempo
you can create many tempos with different metric divisions
for example
4/4 on the beat .. |: 1 1 1 1 | 1 1 1 1 | 1 1 1 1 etc
4/4 every 3 beat. |: 1 0 0 1 | 0 0 1 0 | 0 1 0 0 etc
4/4 every 5 beat. |: 1 0 0 0 | 0 1 0 0 | 0 0 1 0 etc
I just created the illusion of 3 different conductors at different tempos
//
more complex
4/4 on the beat...... .. |: 1 1 1 1 | 1 1 1 1 | 1 1 1 1 etc
4/4 1/2 note triplet. |: 1 . 0 . 1 | 0 . 1 . 0 | 1 .0 .0 etc
4/4 quintuplets. ..... . |: 10010 | 01001 | 00100 etc
again 3 independent conductors and tempos - doable in 1 time sig
***dots are for spacing - text editor doesn't allow double spacing
so 110 110 110 is the famous 2/3 signature?
but talking about strange numbers, i think the idea is not wrong, if you use a very high order signature (not sure what is possible in live) such as 32/32, you can alteady create a bunch of different timings from its beats. of course not arbitrarily, but at least several "integer" polymetric clocks.
tempo is tempo, division is division.
you can not slowdown from 146 to 128 in 10 sec using divisions
thou shalt not overestimate the compositional ambitions of the OP.
can slow down to 127.75 using divisions and keep master tempo 146
this isn't 100% authentic because I quickly built it using [switch]
but it should be possible to program the mechanism/contraption without a switch - metrically ritardando
in 10 seconds? Maybe
I don't have any composition paper nearby - or a finale / Sibelius right now
-- this will be impossible for humans to perform , but thanks SOURCE AUDIO - give me ideas for computer
try to show it with text:
start 4/4 |: 1 2 3 4 :| (loop counting 1 2 3 4)
start 'thinkinh' septuplets inside each 4/4 beat
its really fast |: 1 2 3 4 5 6 7 2 2 3 4 5 6 7 3 2 3 4 5 6 7 4 2 3 4 5 6 7 :|
move to the new beat |: 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 :|
All of the 1's in the above pattern are tempo 146, all of the large numbers (1 2 3 4 5 6 7) are tempo 127.75
I am not sure about gradual change over 10 seconds - those septuplets are already 32nd notes - maybe introduce 64th notes
If one goes back to original question, there are 3 values:
play state, bpm and raw ticks - which in Live are elapsed quarter notes,
1 quarter note == 1.
so why not simply grab bpm, scale it and accordingly slow down or speed up
raw ticks float counter which can generate scaled bbu or whatever progress.
but again - in this case where there are translate objects that do notevalues to Hz
or ticks to ms, it can not work whatever one does, without decoupling this values from Live transport.