broc wrote:[nis] wrote:Sure there is rounding involved, anything else wouldn't make sense.
As I mentioned a couple of times before, I'm sure that the slave algorithm can be improved and I'll do my best to give this as much priority as I can, but I'm not the one who decides this.
Best,
Nico
Just wanted to add that when using the avarage of 48 intervals, with my Max patch I'm getting fluctuation less than 0.001 BPM (!).
Here are the results for the first 5 bars (with Live as clock master @125 BPM).
print: 125.000000
print: 124.999855
print: 125.000237
print: 124.999878
print: 125.000130
print: 125.000481
print: 124.999931
print: 124.999596
print: 124.999954
print: 125.000069
Maybe you could show this to the developers for reference.
And for anybody interested, here is also the Max patch.
<pre><code>
----------begin_max5_patcher----------
467.3oc0V9sajBBEF+Z8ofP1KmNEPwwz6180noogQYlxFDLHS5rSSe2qf5tS
+OqwRRuABeb3jO9IbvGRSfa0G4cPvUfqAIIOjlj3kbBIiiSfMriURVmOLXCu
qismCWMLmkez50OIqjblYRukYqtSn1eqgWYGxeAZMZE.SwttbhePwZD3lwkr
SqrchSbWzXWrCxhZe90a+8E37ozqNzHTRt06IxYIPwZ7I.9SifIA+RKqOaM5
C1oEgGUGjr+okO3RHDbialGSScMqBDKJ988N7UTo0HT1OfIXhmFYnLemuEW9
eAkMuISvygInkaiyO1Z.DJBs9xerC+4DfTPcca1LCBTrbDHNmJNIAM7ZASE.
WHdhPKlAWnK2sEx6xkUKOa1azGZA4keNcvkktth4buI+6HcrhFtI.tP80Zyn
yfKYQfK6jZlcwgSGW1CB.InSNH+CPzxYPHRDHzVlZ+hCHiUDPImgJwj4TIFG
gJwtGTeFT79CJEpW9iL9snS+4jpSevTMkswumf+sKq4c8XhYEZ0Ywzeq.f+a
L2Ipq49omfPintU2asQK7Ne0VZGghlivA3HRTcTQ.NZSTcDM.GUDUGkEfixi
pixCvQz3dxN+KFR8CdL8ITC6T7M
-----------end_max5_patcher-----------
</code></pre>
PS.
Nevertheless I think that slaving DAWs to midi clock is questionable (as luddy has pointed out).
with correct rounding to the last two digits.. ( not truncation) this would give 125.00 bpm constantly ..
as wished
but.. i gues your patch is feed by the internal clock within ableton ? or is it fed from the midi ports?
nis states ther is rounding involved because it dont makes sense otherwise...
so the abketon problem is burried deeper in the structure..
however.. when the actual rounding bring such bad result the amount of measurements has to be risen..
the natur of dither is that it has a random disrtribution..everything else is drift...
so with a big enough analisation window and propper rounding you get the correct bpm reading...
however... in case of incoming clocks that sit on something like 125.0001 bpm you need a corection algorithm that resyncs form time to time in usefull musical intervals
from my experiance and tests i would says that the positional error that is allowed has an absolute maximum of 2 ms...
the real suitable error window is rather 1 ms.. at that point the correction should start and reallign the slave to the incoming clock ticks.. so it has some time to react in usefull rhytmical intervals..
the goal is to have as long passages on constant tempo as possible
in the moment we have a positional error on incoming clock position on steady tempos of up to 5 ms within any single bar..
thats really not especially good.. in general the brain interprets suffen rhimical jumps rather as groove as it would do with random wobbeling around.. teh only thing ableton has achived yet is to reduce the jitter rate on external clock.. so its not so super nervous anymore.. as more nerveous a jitter gets as more ungroovy does it sound.. while a very slow jitter is sometimes sold as human factor..
in this regard sometimes a smaler evaluation window that does exact quarters can be better than a slightly bigger one..depends.. the tempo has to settle on the musical chunk.. so the new tempo should be set on before the next downbeat and not after..
But for the time beeing a longer count perioud would be a quick fix that would suit many users..
also... they could apply some kind of oversampling on the counting / tempo measurement process..
so you can combie a better statistic smoothing of the results with still quick reaction to tempochanges.. so the tempo will still start to follow after a half bar or even quarter bar, but needs a longer time to do that.. rubberband sytle.. i think this will sound musical correct..at least not nasty and gives the main purpose to keep the tempo a much better chance..
see it like ist is.. tempochanges are either slow rises and falls..or they occur in breaks..
when its a break it is allowed to sound a bit weard..
check with the old akai mpcs.. the rubberband tempo follow is actually nice when you are not so anal about tempo changes..
be anal about timing stability.. thats more fun

)