Poor Quality Beat Tracker

Following up from my bafflement with fl.chain~ and @james.bradbury’s helpful explanation, here is the rubbishy beat tracker. It’s pretty rubbishy. Arguments are analysis window size (samps), minimum IOI (samps), and adaptivity (0-1).

An interesting exercise in trying to do conditional logic with FL. Probably worth rewriting in something else one day.


----------begin_max5_patcher----------
7934.3oc6cszbiiij9bU+JX3ciXmGt0fLw6Mlo2XO1m1S6oIlnBYaZa1srjZ
I4p5dmX7u8EffRVhDjDjBThxkTLgmtHoDA9PhD467e94OcycK9sz02j7el72
S9zm9me9SeJ+R1K7oh+8mt4ko+18yltN+wtYwqalkt4lac2Z9qu3tP9MIEWM
6A2id2O+CxsO4xoat+4r4O8kUo2uw8BAFaBmX9fHgSkfhKuMgi7I.UxDRkP.
JJmKtMgRlPb+M4e79aNa91WLTbw6W7xKoyy+4uY6KNa9Co4SHz9u+We9y1+b
afy14oeyLK19SsI82b+1ONaxlElG7M+3.TEGnaeR2is42Wl5.gatY2TJTHhI
nSn1OJhxfPBKpor.Dh0BP8Xtm+sCdBx64DTvqNAQ1t06lV0IC0p9KoqWO8oz
JK6+6zfgCV+fCJSamyfhkudpmvaZUMtTzOtxficglFoXOmk.3VzAcwG6zjBS
D1OZh6CPuMQhwmtt1UWrCybHhybPKcyb41Yt5jt1mONSWMc0SqS3.lvX.IgL
oF3.8.Gntd3319.IRtiCGQPAjK.By.SLd7IF53wYHpZ3.Mg1y4YvPcd1vySG
QQsqqqydZ9zYMtxxkSHnYAjIoblYYTaIqEQiyNDwc.Iut7goaRCmN.3MPGXt
qaCMQpQPPUT8s1cUSXJpRJjBlTxnng+FuERZb+WR5phYVwT6S27X1rzultZc
1h46sD9oaltb4dW9S68Ur3wOuH+GRc6tKkM2cIX2kVk90rseextqNckYptwL
OecUNcvM+lX6Ac1elEOjtZ9qY6VbxWYJFR4qAymZX9tb58turcoZ6s2ipwcB
HI+DPFofRQ8NBYVieZ1h6+kzG1evcyhkoyylubU5ZCEyzMkF627P5iSec1lu
73h4aVm8+kOB.6oKdt+iEiPu2zNGxG9+2qxLa.19HOsJ6gEysChCVIrWd6qy
HsS9xs8uuOYxeh4SW54KanzLvRM2bsYR9556ltxtPc2rz8HWLT1KVL6vas66
MK8wME2dY174kPwMKVV+MWk8zyM7cuag4luzzuc9cV+kWm6t6WLzDa9x5oe8
PzdyzYyJ1nd3O+uMcd1KlsoaxbKAHY2MSmO0LQed88qVLa1AyW2c9pm67fgF
+9zuk8vlmyeQ6SLXd7rkaIhtY2p7CYOktdygWayzmVe3UVu42cf9dW506J1C
+kMourblkYyAOvAJhs+F18Yocv0ah0VY1aYyy1r+s7xfqJSNx9eGeL5LaOsm
XKAlvH0hVYNlFIXNyONSyL77zJAX1.yJymqVdc932c37tV9d0w6qzW2GOvZ3
CVOuv14GVGOwC3KF.uwR7GcpF.n1wXj5TTPcHx5mGY.7ICgWYq7KCjmYC7MC
i2YK7OakGZq7QagWZ67SakmZ.7UCg2ZW3u1.O1V4y1Lu1l421LO2F46VGuW+
7eqgGbP7g8yKtLCjx7jqb+R7l2JG6sG9L6XPaYOmk70oydMccxiKVkrLcU1h
GRlN+gDyN0GxteS5CI2kNcSxzUoIadNMYscKUoeuYYySuewqNAloktYsr7qv
1u7OqWy1jyEh5jUimKjFSVZqoeEzdmE3m2+ebajf5JGCVwNGq2rXU5aI+aj4
lK9kMY2+KMhiXi3HTONJjk+cq2VAMg0RQtk.nFFv41FfHHHQla1O.D9NWsFq
Eb1QdyN02RLfvxWqrUHbTUDGTE.5DvJmBR0Vk1Yb0N7TptjP0UF.H8slATrA
.k0Nfdaffph3AS44XJGujvz+1e6sDRuoQ45AjFUkKwmyNwWJv4NVtty0FF9s
5AkyfUB6JreIiHh58MsW2AOjnhzoUppfWctywOXUVzDOFA78YvAFCbjivCIW
gS.D2DQ7gpjY2O2h7y4yK6y0L9udwqqteK5r83+jpyNihCaxluSa1+96Gsk.
I+idQaz6QHqCiPs+oyhUO3L9AY7Nzsh21zPGNoCc6QtgOzKP8S5HLe+evCws
ymS7PT00cWMOD26l6awqarlj3gu3LMyWltYypr6LxvttNy80KyB7zrE2McVg
x96L.UMVN3yUm.69udGoinIY2WnnUS+VE4hpUln5Ov4.Ygn6+a074LdMrqv4
TVfIYJMgCpbsMAmoGg.Ll6ICFMC5oylYwQq0tVLe8AmQej3HWcj3HCyMPtFX
fPSAfiVGY6heGqGQMbEnJ.rfqZbgpOksdS5p2Rfa5JnAD1wgZN6IAV+GaiJB
q.2BDQNMOv.FQnztsveKdjb.gGEzSCNzSRnTMwro0FVExQI5MDabEGGHZC1j
JabQVQf5nTZPSDRppVavMbfZY0PBCPPfNDHh1cMsDznhfbVcJgTqBH0o7gGc
6NifGa.NG3j.d9n7dO3Cpno163oOgH2CUqJAdEYGqSzVgSqr8AzJ56z3R8fM
zx83cow1KYOrbQ17MEvDxwIrJmnaXrluRRXByw5BEUX4Hvyex8cNtmGzOP.C
BPjSGGDRXEfrzCNvKRgO17rbNZvMGEDo6TPls7JqLgRJETFQuyiCZfTkBp5C
5GIvABIncYa9IlBJzwVtDpmVRHeux5Fb7CUr9.N2edekoaSQ5+YehmolUbtr
RytAWrBCSyobYu75K+z+yOEdPpRj8KVrsRyUMJzEtnPWRKhEaBcqKWtFkl6E
ERnzE+QNnQ3L+LSQtFllWCSyqgoYzU.ANN0Ozphn0ImMmhKU.ynug7DouwvX
9f+b+rMEDEqqHXEVBfqoJEkCFQyX3Xx5JkCggPwGRTvGJVjRSliFPhFr49g+
XV3bgO9CFo.stTjLQGKOlBHFk+M5Bnn1rbRNpLC7O9VBi0c3gFE3wk6GmZpl
dZgni0psrBlyRolIPC+Y5IhgcLst1AYSWGRz.h3ltiNnjeH7HBz9YvwBOCi8
y3gZhAhnV8CifsxBWGZx.NLPRnvw1A7.o0ND5vfOnCCRvqJvPNN5xZB7coEL
LJ8XXcEdpSSX8O0os4YZ0hm.fUyidNzRpS+cddld0.FWMfwUCXDAEF94EYye
qyROKihRmVmrlywiA.JMbVyy59wj5T+P2gFNdjl9Q3wwy.oPwSJx3J.XBeEb
jQbTcEDzwzGYDOPj9b0KeRwwpRhlHTTm0NFQTYyW7stSmQUwTm8.hynQPTcb
r1BrPqTkFMzFbMpE6oytQ9KkfH4eTUYGuoGfCt0hWaQmSkJ6mb3gdSP7kOCv
yIKhfjjfsnANjVz.CbXHI0GXRv4cnkSOcZilBlNTk8wZU1+3GETUWV7HmxPg
I3glmU4AltJ3glmE4gNHcB1hZamDeGZDoukZ0.tCg.Comg.iOCHARU0xQHmd
0.RkLfD.RmqfIWsfzUKHc0BRQOyi5SzKbjddtHR+JJEsRif3nBnbg5xHyiBD
jvn.RaiTR.kBhF4n91DM4iRHd.PL.IPfaiSHJCkJaZTN5hvi9rOKJfCksMHg
LJBCTk0q9iqfnpRs0o95piuhgdfkSmlBQnhBgr.jLlRQrbh3iJHZ8quzCqMF
SiMptDL1HnUw2XiLxVaQC.kfF42+XZsQPquIHO.YTSY+yjXR7hNjfBMnOz5g
z9YUrJVcgdxPFINAm1QmbasDbj4bpM0RNKmvL0xPFyPPGV4fAK.pBeYBGz.4
JzgA7cqwul9vzkaBN.p.sr+APkuF1.kwpF+TZ10L.qj4unnStKW4cjxxEomq
4WM+0Uyec07WCfLvsHArsr.lyLixo.Wxw7LW0YzJXqd1bNXNJjq8csAz8xmV
UsNREsLXlMA6obkTvDLEylZWN1aHY6eGgYKW0hL96mpt4YC61mWL6gjEySVu
3kzjGWM8d61ljEOlL0UZwKJ53+gzeMA+i8nT7TCgqrMB2hHwEkNkYEF4VUJZ
dEP.b9chROUJ22DH97huk7xz4+dAPsNIacxlmM+Y4qyVmlL8aS+8DaSTKwH0
WR5usLcWUa++J4ObW5iKVklrXUxzG2jt5OlCyP8vLqqvLuMXls0dsfxZORt.
2ZsshB3tfbpP4F6UIOjYjI5oz42m1Y6tQifc23U4h5DwIjhmEbsGlz4dXhWO
mVq3iAHBYHhQ1pnjAJNYChTFlXksHZYqhW1pHlsHlY6hZ1p3lAHxYHhc1EQO
aP7yVEAsYwPaVTzlEGsQQRqSrT+hlVi3oAIhpewTKy.oqU+5Jhs17QSMwZt1
inLZOZsfsqNiFZwrFhcwr9D15F1Ek69KL9AWbwUQp5sKx60HdSL8BwztTZ4.
+va8GL4wAL4EcCCFfFoI3fsyeB7BG5wzJa8aGjXcodwXEYemncfafNJVjJX9
DXhFrgyg.ILFvnxcNOrn5cR4WFXeoT6ni3Ic.oqaJwOZPYhyJZ9W5OVRwngk
4.l1wvkpjLJAzPNII+iQuEAhTmEw.UL3PxtOHcVjiT1pP5Xa7hPEfrE8zmFA
sfwPWCQ0k9Z.EK6v6ZbibmHHNMC8wT2DQw6vHulo4kvPmhioFghpK8vEE+Lz
fbTztNBO08AkZVQqI0rNCCPnKHHaLsypSibZ+2XcsyyzVbQmMuWgEM6HqD9f
Dx0d3.2PPMZOj6MRTqABSnIFY6jvGlXImcjw6pNXLa7Da4KSR+U9g9hMPv5H
SOAuNBmIESXVHD0bglYD.FCqzBd0iNA4Qm71MiMj9cUZVvYM.Pe0kNWcoyUW
5LRcoyP2GjijMxPnH.QDSj4lNGYTTK4R4kVeP9GOFzLRlQi4jkP.BoVxxyPB
PS7fr32asV9HYdbIqB.itXk8xpux+m6u0wApHtDqFobEZJAsdtgRKLVNSgFD
Vfn0cNEorqPYDvSIHn0D5W8nVk0kH4ZSab4obtwz.+ZBGyKM0LmuMk.p.ARy
6WQvEEQeadjOVqCrAb+g2kAB6hZYnbd21bL.VEeC3vxa6+Al1be2kVtDtgzW
Ik0lVtiUD9OcLb2ICmnHbcAebljIjLDyiGEgiaihhDzf3pKIQ95ONi5gCm8I
Lsj5p2kJkPxAPZKfpWJ37QEYDFFkCFRqu.CLh2OE7aCzAfnLp5F5.Yo9xTTi
gVpOLRRiq4NdyDtgxlKXxs.+nRHuiLXUXQ5vMdENAEQfAEXRJZKmGWibEfA2
zSobkruOhckt3s7b4dO4NzG6zHjbFFg4apCeLh9CFkR8wWnHOw2aGtTMwVzD
ABvIBIQa2hyIA7X06jabTCTxdBTBxDVdvnwnDAfbovYjLtuaMZhcgNBNh9RE
ssp9vkTgfJwb82KNOYuydq9bikfPJ29egiTL3bDCMTdm3aING7snrNOFO83H
zowHOjcEdXZhZZgMW3ZPhDtBr0WO51zo3c6P54IGMrP5HXwFSgVn6r6fG7mC
ZQT2YYQN8iQUmNEQeVFixwdDPhhNihvHNJMo8kqHnmnJJ4cffojJUd+pOfm6
RLjPqi+40XB8niUO5Oz8F8KPOxVrD2WsVougpGdMT8BIT8ntH6vYrTJhNySe
MR8tFodWiTuK2H0yV3gLek2N2AqGn3E0NeoVibaYUbWOxPhiGmfMJRoUufUg
WVTRBQo4ThdfcSvXyaXql9sgL1ahUHPgPtnKHmnTDjYDExVY31Visn1UNPAZ
qq1oWLkXfkIVN9HY5Wep26MDCH9RcUhKRf7Q78VNTnvp3UiBG1j.hd9opSPw
FDVrYAFCSnwlDbrhviAJ.Y478v0NTbMxAsS5bkxCCp5EjLPgICUfxfDprCBV
1hvkgKfY.BYFjflAIrY.BbFlPmAI3YfBeFp.ncUHzVDDMHgQaWfz1EJscASa
U3zlDPsdgTaPP0fEVsdAV8wPy24MdetPhSf1iUfxmsv099I7c5AxcQbur4nD
n0CMZSNpFhXfJGiW8n7XBwdOZ2ehRTN2eC6P9JKFbe+DseZesg4gxcttH+PE
+o+a.RNMJg80oyLyy2NZLmEYLuvXPToqiLUeMdqJnSG+f9xYYadKAZG0wlQ8
JoyRGBo7ZQdmDTTVNctqDy9ggZ+4rGCC3agbmJiL4dAn6xOYt7iDn+yKxle7
LX3h3h3nV3RE77+OA+iDh+miBItdPHwslhfzTVbdIB39RG4dbF5vvTAbl2jo
+Hg3+UChCjHf4vvf4N5awGJpbuI+V2EZgoF.gVJ3m3jTm+gB1qOEx6A49.wT
mIZNOxuDw8YoyeZyyQP0H1vvhwkaK7Nf4ieq.7t2V90WSeM02i2j2V5gXkxA
QuU2QtMjbyWjZOss2dehVa.RjsiiKm7XZmMEHe7NkX8loq1jjN+giWcqHyzB
c5zJz47tz3GJy475cOtZ5KoQPIWZjQcWiASVvT5CkRt+PLTxkiQFvYEsNHWA
r9CkJWEVsjLgm7Wdcd1l0IqrNFc8wqPv.XEyB+rvQWGchBWkL0iIdhrxuny2
Hb8GPISeI8groyeLa1lzU4ldH4uXijgjusZ5xidg.hswMcT+ENtBjWHFw2Wr
u0CvL1Rt33hS6pCaICsCaqFMGdS2a+qP0kUD0rNUI6H3dyDmswSfmTjfop8K
3OKI5Mw2oepwp8KTJSYnbHuQVQbMTLEa2+pYfgLN.FQGAFPbwrl24oFo8o1H
YUi2UxY6W.OLozNeidVGG8VcnJmRcmuQOsqidOoU44azicczyFQidltOmPMV
nbZ33xF10RFSidnCidpbLM56p..zwztVlnObLuHNktySM+ok6X7TZVWOklKF
Sbq55oz9JsJmuQOz0Q+XhaEsqmy0f.girMEcdp0vY9iLVYzNeFiXLQyI5346
L9HhaEE5ibsvEwNlNO0vKkcLPWO7mMl1wz40E4kBSZnOBtDAJtRKrkSdvPJe
JdlhGW1P0d4Tw4XgpkTkpSxAJSa2ZB5ZS01oVeYuIcUxuz6xmpJfhmJV3SNR
t40c44ARtLpC0GSKHAiTN5iEIHC5xraJgvDnDs0fdPRu1zQBXkfD0UBlzsRf
fj.BDIvtfz6hHG62OBuFzlLBDohZ+68zup01.Wvccof6GSSu.jwjJFEpBVGb
JCkJksGF4bZ0kS+gpRfA0E3TDqNQDqZITonNQvtv5HKIjI3Qfn7gDQ8UYS3j
OLU8epb3pZIlylrcUEMiALlYGuPesv+Czfjc0kQUDQNsGmT.fb02CE9+NUfS
A4YnHr1oJn84n1T2oNS.vOKU36tTocqAvOWMK.ZOpRvMWgaot9pVI1m77NB.
RLm6PYfRakUBnSPaypRpYTAUK47N8jbWt8ncUU+CKVcbeRyd1JX3xNSC2STF
mvsERcyoTREPnJpst8w7fOUexQSEJG6VwDVcVpb0cqKRbVpi5fryiQH.pNar
3wvsRWJzLinjrbhOgq6VrugT77jilckcDeHiJ11cavCp.YoXUcUWz8F0ZASp
ITW8btlaMZ3Z.cWTqStbBPm5VIvYoSfD0dFv0p0dcUqcukSp.KX6HO9ErciX
D4MhHirJDMwxC2ZabZQWHlSABhDInZq9sSOYvWkJrP8IR0glXgzL5caOQPir
Xti5TFIUUTtVXabXcF.wSF.Vx1eAR7QNxtEf10G.klyjrVAfKrM1Bti3inMj
cTjwU75L724BrJW0ZBEsTC.ZY1UVEsziIz5O0CtZD4..UjByfxzRfqHbBeqU
mFKPk+1zanXl33vLqqep.Zfrf9RhRPZgOqVjHLlPs+p0N6zNCX5AX6HPKXdI
.sRonDtrtppy4Bsld25tugTO.6GgBoLHVMAU.kly5h0NVAQDqJ6kg.2qoYwW
pKf47pfRqABSnI0ZT7Z8nPcFC2igvi.1UwiA06sfCAuCXT0.5HHEenVgmD4T
KTQA7vYgAOvwBO69oq5af2QLepXsGtUQ0JcEkvqMc4pnbuG0pab0b.Gah5Ga
jgYrICbroKYJvnNJBFfnkZScQcTPCEJjm5UoPGYP0jAcnItoksrYXc6xnNFx
O9HH.hNjiBVnihbiLrehsF4wQ2HWfAabfcBOFrwQ0j2nwwwfQef7PGGZwPNN
1tp293vyJX4tyMYaPusmjnTa2rxdQtfXDCUKYEM4mbAN3TfK4nUHjpO3fNmC
+HlAC6IASK5gaRHXOpzEB6YCEDEWxx86aXO4o7Lst.EzS8oZ41VJPY1FV5EY
viC0fNNDcR9Z+7xKt3VuUzlmJJFP05gBedmnEOST1qDtAW9ecvT96bO80big
FrGv9sFr6r8wo+24axl8Syy1pHmeMfOTAtsFaoAMe8oWmfNgaYohHwF4AJqw
Qr8wXgyqvtOVqhqpTG+8pSW49+01EfZ52W95yWaIh7zWu7zOu72GuZt+c4qu
csy+Wszmt1q+b4JlREEFUAirqLU8t5o95KWszOtZqOb0X+2Jf9tUM8aq16yV
MzesZruZ0X+zpg9nUy8OqF6aVszurZqOYEZ+wpl9hUi8Cq56CV02+qpuuW0M
FaU5uUd5qUs1Oqp1GqFJCtaw7EyWen8rpKuMByJgJ3HMZZQ41krWUqdz3ohb
Gt1jWvpwkqHKBdb0gHZWTuY9.TlfC1SNDiJas6uBzGF0CRiB0iXaFsY8dC2P
LA0Ut4OWfzO1GmohXTPGapTV3CBAiYT6fd580becAwQxcQvmXChVMUgbl.o4
1SW6bAgb6NJwGUWPfs3BBVARrO5fRZUFNWttfPAAphDhCnlZXvFgTOnCiPsA
IxFPS+ggZARbPMLrNTJCOjPCsUXBdr4gvpQiv7QWY+0l24CuNKsCp4S5oZ95
pp4a6GkZCCSBJYDiXHJp4nEwU07aVMemL+LI+pZ9WUy+pZ9MHHX0hyxd5Xjs
JMYdx5ourbcxiqV7Rx7EeqyxL1VPqTj9+DPoEnRPxqbHFldbBW.bjHLbBy8q
jzWAaY3hvolPl7xVQhkfJYwiI1xFRRoxFRXXCuErAcSZPRphGE4b9n.Ote1h
0oIOYIO6JDvZSghhfxknG2PfkSa+P.ZaDARlqrinmPMHfBT1R8BUwgQFD73r
I2+7zr4IOrHc87+iMIqSSeIYyhjYY+RZR1ljrGS9ojeIMcYhg0hYRlXNWe8T
Cuwj+f4t+7qqMekmecy5jWW9GuMY8hb7L4UqiVre8mmtNwbDvSoOTqsF4cE7
aSeVpShBqFr0f81UmSC1Ob1LyLUNxXfdaAfZe13VV1k2yNtLgVOSHAld.PKs
pBXMtxGgR0IqnZxefIG.H06tVPL97GP2S.Kl33cG.vHd1zx4UnCGWAhuQHz9
jueGoguAiFlPEAUIU4vwjm1Hwuk7ibaAVa.1ydjHJEEdPTpG47.13hO3SYqc
MkqNSFJGBHyCQn+Nu34BwNjHrrlRGIUH+H82GRTggoirSN9gdvDTbrBt36DC
jJmHTTk1lLRDAQvxsaouJ32k3VVfyF.PiJLx1onZB0vciQPUt7Ji3csQ8nC7
XoC4zp6Yo1huYYHczd1Q2U6fRFBPiHF6zg41T3shte4z6VuX1qMYkk5H4TCA
qOytXKqOE5X8IskqGfpuHBDB0PfHaKwiZN.liMkn7CZjPnz2zF73RadaNPvj
ng7vpbf0ftlsaH0gOB8Ec1XFbPqOjgf.MzT9.GxH3GCMQBnjSsu+CdnAb1IO
ALTAO3Xm7zwrKCNwIG4DglWM3flwH7fCDI0flAMbRmVqFtrgL3zcZ6HdfFGA
yblMnqKrPynHYq4AGmTU.VPiSXkzT2pIfn8G7jxJIXXv295P.BqIKnfseb.1
Rqs.YEtHMjmzOTPO2PQ0FEYuoIPP1eZB3bCDHFMf.Dp9CD3.kwzXm1b78XVG
1fAYZOjDE8KfDYB5DTxnDz7eAZhlX0lCYS.tPSkZNmpY78BNmZiHQLt.Q17e
4sviGStr1o+5rmlOcVmiJSFuHh1UDEnnB6kDmRDnpcjB.GH8L8SMpuVjxCLy
9OqghxICTEEkXTXs9A2VoFqZ3nAkLX69gu0AL.iIFHJpVkF5eAQibTeahlLx
w.stmbC37IT9dbCxg.NLgQLRTPXTJQCJa025LAAGzCoB.G38DGXrIJCMujpz
fTfTakvPZ1MvjnsfcSjJCiRg01ymmsCk8xV6Pgrm6JXTbhYy.yvODIF1gRaD
VvH7IJMZqWqJESIn4UlBTeR4OteXU3OjJNHNLY0O+usMNC.yc.AnK9jWjuKp
DvDfhF5AAf9Bihw1QDLUOoCPW9.BBIyP7yAUdcGwSpKbZOgXw76SCWPAlLly
dtn54ibnkD2XXXHTNGsC.JDQDJLmLLAnRlPZT1zHtDmaYNROsGRjqygAL.y+
KXX.iW85v1S6xEYjXN7zPb.DVQo7rIPfFUPvnsX5puN0FCegiAP+vfcUozC.
Ah10vUjnlR0bsVDPQKItDBKmks483.n8yFjvwc1fSWaoFAAUYavLLvQIvXDF
RI.HsbF5f5C4OwgtwwgIk06t.Yp51lCxEv5rZLrWQRqB72oWEDzqBNxW0gFh
tNiLBQXRcX2Yu1BjDMFup.lSfVFA3ioB3UoOv1jkLP1.+p49e03v+pkn+WMc
3e0B+uYxv+lY07pYG2qVFxqVEgcNrS1NGZHjPQXFYzzLD91jXLmPZPmQPwXL
uPcHDECwNgvd0kAiHw1CQQHu7XfvjP11wYwfvgvB8UQhxqBBkFMxTNg8xKA7
whxgPBhSPTP4fdSjAAiChENcHP3cmLz3KOFR3AZYPSSRTdWzfOU73eWgPil6
bli+cwCACQLFxUrSt9Vj9OF7sg.Oe3Pl1N8CKUMOruhRUwiRUvipUui5qbGk
qZG4Ncstp0wm+We9+GX.PnqA
-----------end_max5_patcher-----------

Actually, trying this with duduk.aif is really interesting - i get a pulse that seems to follow the rubato of the sample. This is with an analysis window of 1024 and the other settings default.

One thing you might want to investigate (and I’m not sure if it affects how the algo works) is to connect the sync outlet of fl.store~ to their counterpart fl.recall~. I have recently come to learn that this is the preferred way to instantiate with fl.once~ as it means the recalls wont happen until something exists in the memory and to avoid any clicks or missed samples at the start of time.

Cheers @james.bradbury – I’ve never been quite positive about when to bother with the ordering outlets

@a.harker is obviously the authority on this, but my understanding is that your stores and recalls are not connected by the same scheduler then you need to sync them with that outlet, otherwise they auto-arrange themselves under the hood inside of a single network and you don’t have to micro manage that kind of thing.


----------begin_max5_patcher----------
726.3oc0WtsaiBCDF9ZxSgkuNsB6vw8UY0pJGxjDp.ajwjlpplm80d.Zyt8D
PYS2dCVdhi+mOlwiGdXgGcs5HTSI+f7Shm2CK77PSNCdcy8nkhiYEhZbYzLU
YIHMzks+lANZP6l8.oVTVU.j7ZRsQogMj0vV6HI23rogLQQg0pn3Nw80KIvA
PRL6UM61SpgJPKL18HaOroo.z08RTjKgLUiD0InyX9FTU05auJj0uRYSYtr.
Lnmx5LVILY6yk6twpuokTdh+09KIbVpafEhyhrOI+54cR0X52JemwGWrv8X4
m78jTYbdCYunpBjOA4Y7D3OVdXs3jbFM74kFIbm00dALaKtFizmHqE59esUJ
y8UPq2QoO4HmQI+0iZ72KpEg.xCcCwbDS9ahIaVwTC6xqMf9DY0H4zehblfI
mwgWTLUxL3z3.jEL9ieHfgA3S1+..2VnraRueYqAUJPsidSxVRnqExcuJgIz
mXQKJAaVvMfTrt.+y9i8rZLFWW0dls6v5aSOeVCuFkcgiL9lRmFg7HbHL4hl
.mKsgmChhS1hh7fQlI6OQTayjSCtnjZxKg5SjqXiDxQW2sCRVJVJJ5xFOm50
KL9DwjuZ0Wx0KtdilBmqlZ3LLt81zn+6q+FOq0eaOkFD8Mo7aHcZ.5G9Mq5a
vz.86Ts2weVEwhsx+qqx6VkZjM7NQHaw6Kpt6nojMMJSQ7hGS1JtD7if+quS
GEwY+OIuV0ny5889FzIOqzFn1jKElbk7rE49LE2hd02tCUo9M48UhMGJwFfR
t6FIrOoRL+gpzmko9M48UZNd64ZN5CUJcNDZPgI9LnT5.DJYFzIb.5DOGI3C
PmvYPmgjyMGwmgTCZVRsGfNu7vZaMVQU0APW2sXTB68H2pztoIKwo4x1oXeI
TMbHue8XinTg1V32Xq52nQ2hdLpswFZoZCnkM4c02svYkDuiRZapstRzxAdU
1hGW7avAyD.a
-----------end_max5_patcher-----------

So - if there is a straight line between store and recall the auto ordering will definitely do the job for you. If not best practice is to ensure ordering manually.

In theory this should work, but historically some crashes happened - I like having crash reports so I can fix bugs, so please follow the advice and let me know when it leads to badness.