ToolBox2: Alpha02 is here!

fluid.buf.flatten question

I revised my idea of breaking up a sound into four chunks and analyzing each with mfcc.
Now I’m doing a full analysis, keeping the fft settings equal for short or longer sounds. Then I’m dividing the features buffer into 4 parts and calculate median values and first derivative of median.
I want to create a buffer like this:

I’m using the new helpers fluid.buf.select and fluid.buf.flatten. But for some reason, buf.flatten produces a buffer with 80 samples for each chunk, instead of 40 as I would expect.
This is perhaps just me getting lost in the channels (counting from 1) and samples (counting from 0).


----------begin_max5_patcher----------
7979.3oc6cs0iaibk9Y6eEDcxBjjsc65NKturS1KHYeH.K1KHavffFrknZSa
0RJhT1dRP7u8stPRQJQRUTpHk5wGOX5VMoHq5bpu5bspS82d6at6o0eMI6tf
+ofeL3Mu4u8127FykzW3ME+8at6k3uNaYbl4qc2r0u7Rxp76t2du7julat9e
72+mB9mU+q7Fahym8gzUO+31jY41F.yY3GBQDNORvEXBVRv2GDIjOftO.Gxe
fvPRbnv7ONice.k9.J3OW7FSmaZn0O8w2gIjx1Yw5U4Yo+0D88HzGn3nHTnL
JhykDDs3KsZ2KoqVljaHA79KtdWd4UQ5K92e6a0+39KjWj+gj.BJX1GhWsJY
YVv1jMaSxTeyfx6r9kMqWotP181KEjE+xlkIYAwaSLW4kj4owqBhWMu7iKR2
lkGLOYa5mKavkoqRlsd2JSqRJY71lJNOc8pGa+az1PCk0xPCIROzPw3VFZvc
Mzftab45qR9hpgNhouoOjGCwdPAZDHJlRPHDgPtOPpfiJxSQjb0OqSO1dX9O
sIw972sX45X06pM5EE0J8RZkdw06iIaKnxBxTAlSWl74jsYpgtZe62bW7lM0
t7ap8HZdyGWadQx6qtT5J6kvUWZaxmSKedZ0Ui2p3T4J1ztsFJ8tuJX2s+0r
Vg1VsK07lrWTMJUzkLiGqheIIaS7L6CqG1JucMduzL+NhYlkiYD8uCCQ6Y2p
A7mWtd1mRLbUT4EWuIYU5p5v4F2ddxh3cKyert..rd.sk6unnK15M0Dgo++a
2lFurhBdda570qzchFCE5KW1b54MFphWmXLeiUwaZ4gU.FEeoialoHxcYOEu
UOR8zxjZnHELe85kMuUEsrLYQdws2jpD3zjKludS22ba5yenmm8o0pa9Reua
ycxdb2J6ceTAJxeLK9yM6g4wKWVLqs4q+qwqReINOIO0NDnlZVdyjUwJB8CY
y1td4xF7I6c9bK2YtBjOK4Koyy+fogpCFTe8zMkfn6pFkmm9bRVdyqkG+bVy
qjk+SVl9cJQ5YJwG6uytmJlK+XdhRDthXp88n6uXMhduB25SjqK1qw06S7WS
Qf+FMIiv0uWaBCwTCnkX9EyLujTe5nCR.OTJnnQi1XJ49QgtjQV8LsOSrEon
k2vn4nPtzXvNwObBdIGUiUx8Cqj7ZkUpnK0K2MNFx7K6eTW0a6br6tWocId0
yMYZKVu8kXyqUzAqj0ryrUwTxUyTsRPpKKpKyUZgiQlZNV47UKKSRFWVF+Fm
kYZOGvXp+QwRTDAq9ox9Nlg6Qq94kLEMhdWWLAT2yzpcmRGGpqjwzFqlm7Ue
OszENlAiMprL1Xyx7IHy1GNCTFAIdHjgBIjHy+jxnN4f04N76F9rJzkBn1ax
p1MwNLJwP3562NaKa8tsyJg.kpuBZRnJiuxSWUYA+Otml0eQmF1FZuPC2bpW
HF0dA00dAaD6Ekj3o6E3wrW37HBYL6E3gzKvs1K1Osw3VPGyapL.6.OF167Y
6cYs0myVub81GSWo84un2aDgr+GGp9utYh+nwM3F29omWjtbo40VqUq0rp1s
PRtx8034o6ipUo7khGU2SHQHbjP2SnnHIhY+j5R3i5XEOIt7QkBRHiqe.YHh
Kk1OIYzNeTR4iJ3pFS+8MwfJz9I6a6nmTY2Sg+ygMrYVGcr0aVusJXBOPiZ7
b6xWWQ+kgmpYfOrryF7CgfwDFtffpXBVNiThCoGOPEOal5c23wCYXbn8g3Bo
fZFhYJ1SzwOdsGDWfC1+i5n06qMEYqNPiUdvVCH9hBElVmNqCtaPjs0XU9iO
OMWqY7.txIGpea8d5c5fFL+Qa.RdLNOea5S6xsStpGgrA4H+41yJe9tBszyK
W+T7xB+9qlnW0r1XY8nyLvtitv9HQ718BgFX3RUrwbEypmfihEQOXrVgiL+C
SD6CNJq7mcGbzFtYzH1nXx91sSOIbINw3yfva3bU6QElJeHhQoggTBITJoBd
EgGJOzOKG7w5X+qZxNXdhcP7WXySWsX82Bh6iMQTdd1E9.inmlOYcMPwrVll
Y9c0Eb4C5+OcUGQeGyGP1Fhtl43Q0UdJYav5EU45IMKHN3urKdat855uU957
3kkeg2G7g0aLBflnD9nlAL7D9fEWmD97ztEKR11O1UoN9gHNiyPL8O4RyD7P
cBe3jA.b6QDm7tqx71yHcWEgN5BS2EAR2EjtKHcWP5tfzcAo6BR2EjtKHcWP
5tfzcAo656yzc4gDJ7yljqbSjnoaijtcaj.RejLVHcWP5tfzcAo65m4o6pvQ
iKJcWH5qvzcYI7wHcWH9Ma5tdTG8wrgmzKKy5ZmzKjXjS5k2x4PwNH5xx4PT
HjxAHkCPJGfTN.ob.R4.jxAHkCPJGfTN.ob.R4.rCafcXCrCafcXCjxAHkCP
JGfTN7pJkCkwF8RR4Pj70WFGJn6QHiCQQ23Ib3Qas75ez9qGaTLubNIDE7Ob
T30MID3WMIgHj4gjPHfjP.Ig.RBAjDBHIDPRHfjP.Ig.RBAjDBHIDPRHf88.
ruGf88.ruGfjP.Ig.RBAjDhWWIgHjcwIgH7UXU9pftGgjPHD25IgXwx37gm0
AKC6Ju0GDgWmjNrX4tz4O7ztEOnYd4IqB9AqQG8kYmfenlQGtx8Ylv+TxtU9
XbZ1cmSLEC4nXAOBUlK2H41JRWUvMuTkt3QWmhz0dXSVxRE8dHpocDRqPIkK
doyRxBDAXZvOTU14dG1ArjMgg7h7MedXIN81.KMrLn1JzpL+oBe.sXrqT8ea
a5JGjifUD99v6P5nF9wF6yrIuUEEwriNprryj9U1yGqves4LyRc8zs0OxrTy
v9bRvuR9NL6W2e0Tz4ZkXX3YTqDCux0JwStwGashIJk5TmKwdohIhBuxBiMr
fusWVr5SFHTkPYUWv.ZxBbP5ZAygHoNJcsgsNsiRFxRqfNFNKTRablGJBvWy
cEcWROClm94z4IOlt5Q1iwqhW9SYoYOZmlz69BtH6LgOPPbTXnM9uQbod4Ab
I5WUBpGhB1u+VfIg1yIRZgggXhsLMyovJLAVgIvJLY3Y+poMYGZWVZVvWh+o
f+ifYwqB9TRxFqsVJHdPo3xfLknMk3wrfEq2Fj8g0ayMFesb8pmCTJWWMOqz
XLkyMJAOwOasXagRwqxlucq9TVYcut7cVu2zv9LZ+YoixUlgEpjCWXFlfGpK
m0OfjbNUY3Fkgw7Po1iZi7CQOooq6E4hxiAjPFxPHFUJvhnyHcdSyhZ48AL2
VgFJGCBiXQJiZC4ssFIaWMV83yLfrbRt1q0mzU4NtvUX0YKgHOvVn2trksAq
1935E6MDZg1PsrSsZBPXSgTOpNqBSDNtxU5jQgNm0PfGYT8IXzZ13dQfVKFC
TC7qsh0R9K6hWVJb6GiCdJXVv7+7cmgzKkSmsH8h7.S4sIgU7EkhlFl2YH.e
MKL62DPOACjovf5kxRH22RyZtN8tsl1V4QqIJIYIeqY7Dm6FSSfaNANj61D3
tcls+EnmiXK5zvCUdc7ofzfT23UbjrNuhQuPYcjqM5RIkOSYVV6ZETNLkeeP
QXR9P9i4ur4wWVLaV185ftsM2nkH3WhuWe3lXUYD7KI2GXQFNwOkJGo2yOoD
xExPE2vFej6NNiQCO.m4rfr6Og7LwcW2U1Yux4ImxjCkkXFfhLx2B5wQuZEz
OyQtFmRaJom4cI8gu5kzWxrXJYQ9TTuP9cpn9JzmxcAuJqOj75VVekvLk0+i
iv9P5sqv9SHS6oSv7HQFmOYbzHa7Z3qeiWK3UTL2qRzB4emJQqD6gkdVfl30
s.sB9BQHOWiyNk7rvqs7Lyg3nagPTzHDhXj7R1QW0YBQ236cKOLsD0XVI1MW
JwjGH54grl9Th4W3zx8ol80mqAwtxzjrQVO59xA9Mnhz7fkk+mSStIMUkxQC
X6Z13+6haIOGqN3SCypbwDMO3GzqEqLc1VQmfsEEpL9WuXhI10Trd6jPQjyJ
yAsuFi5rpgeCZ6aIGb1.3fRB83P+OxrP4sOK7oAvBERsCWQ3vPp8eb9nyBu1
gaqOkwVF2u7TURBcXizrDQC2T4Wbd9tg0pVsdIG.5pfMMx3IxcuN1X9JFQw1
MJRFxJWibttKy6kGfQjWSaLem1k4Ew8OD0HbFmdKku+Lm40+dJOx08Qs1Cnq
+NXVqc7fu3Koy2rV4.aACgyHFWeiH0cHQRIODcTN7q+cZN2X6b6B7DekI2vy
ibizJcOvxOGnVzUlZEmG0JhPJ+oNvDCGHWxUlbImG411Uam.oW2hdv3VKrQt
1KniXwvP6xX.ykdwXV.HL8BhKBwCG6dA1kdAcr6ENULLDicuf5PuvDmqQqaT
pz9jcC4n1KBc0FC9X2Kvt1KFKAFgBW4Ei5HhyV8MlSRBoNNhnSi+3Mh3p5L7
XZAbnqUOGwXJBWHcEWLp01IwMQElR3H5jLpUaK9MwgsgqJUMtFe8KwTjwDXP
H2BkaKrqp1KmSON8Bj6HiQkafHCwc.n5iAUeLn5iAUerelW8wP1xsUjGNk0Q
2d0Sfrd2.csliDlstgPHEQAlY1+Rg1BMtrup0hL55TDQZV24acerwjGST3Pb
6Uf9gb7aHqJZHsWpza+T4nyck+3gDpUM4acIxIsazeon8RI+f3IxWI7j7fmz
+2IEOPsUXFFx8JoRie2ZcqRNx0RktJsQeIc070eI3Cq2DrXQuUpIpYwCQUS5
YJMEDNiHnXpVYeXQkppc4.bwUppMsZqda6WsGXOorNZnc4QUHcqnxT0EUQtN
R2xcBhR3FQy3AiQakTwibkPpqAvSNhIPbax6YEovOJRKA2L9wOtjDV4OQo0O
7BK0a6ScnUSPaUZF8gd0n6pzrIUMn.SNl6QiHJGADxvhqJY3JE.zySAfHZHr
rIQAP80Gs6l8XAVBzoYF8NeJzIKCGC3EYxLfPy.05HwFUCQniAZmKZJD+pCM
osl5X52pl47Jsu0KJhxqXg7sKI2ZyILCM8nssX45wLL.VulPvtR0iv2qL5sN
+0wQVKIQcnNq0UADlwGxw32X3IbwDXJBewtBytpUVOWD0qITQX6mATCb5H8p
d3ddJhscU9dhzYja0RJd8MviCPAloNJgOdG4Lk0Pbpbjqg3cI6trv0tIon5m
0mPbQax+r6vPLuWGnnitLcWTKabRh5mY9zqH7+jxyKH1hCrsKQbNkbKKNmxj
0FTkjKbPkHtkEm2t4G1oeWrgkD5sq3bSYazgo13agSCBxXeDT6XZMH1n4dYG
hJ2dI0nbSv3nR9hBpOkfpgPt3pENFccpV3ySTz9x0eoOB1j22xj1vc33DncR
jLxmrBeI9yI5irluUQK0JExsr0VMKoalMlsZpppS2Vvqs40Cw0OiPXOqgkNM
l2yGJkTrmeYwh6WuCMETUWlPk0c5xmbifRFQtuwOqOT0f0yagO08PhvefNE8
OWug8zQXD2qTXqu81LGHiNWj2U5L8nhLeJcy5kwa6sL6WNKiUj7.7YRrD9HS
rM2ok6o1O+WWu9k86xx9FOk1ZSL8bGOEibvMN4gsUIgHPmuk+8d5ZgCuh1N0
0HbVRdQcf0QUkVolrHRsiU7yAROxC2eLaWpS5LXxZpLvBhK5L3DbMcFXIxMx
+o86PrVBTx46TQWx50GkBUpcpJ1FeNM4KO7wL+Ep6thYfFIEPP8gkrVcUbvT
DYMAqiHCvZKB+JuZjBhjFEhX7PjTJuJgDth2pI48mNKEZ5C9gEIw5iWhrFyw
LmUKyVmrXgdKZq9RKxqJJ8LTjvDlYymN8hOfEcT924tDoJ2NTW3gi75PnKgS
+qKe5o28rxhprGyT1y9tY+B9iy3u6kEOnrKr2X18.CKXbg0EXM6PXWVYms9o
nQVdUWKNKyYk0hf2++lkrM6850+16+2Rx9T95Mu2vXd++PeBqsafer09drL7
LId90wVKkbsMIp4OpesTe3kbR5z5KqTdljI6JYk0+y1mxem9GOZw5yW+kUu6
29KXuawh28e8u++geDKTpa6GxWTpFrlSSNWqpoWGT9du0sBLwHD5zzp8TzAi
odwY8Q1U8MwqRVN7i3VqXKt05DsaDs6E9P58klRnOZip+2sslvObkbKYlEDL
gxIQLrwaT8Zyt1U63Rr8FUczBLuF2z7sZVWFrL2C2HCEr3i2.C3Fafgt1DE3
ZahhiFHcuszuEwoZKTz980zE1VHmZqKltPQNwCYdosvNzVQgdqoDtzTW5nUy
xqQmCVXuPUTmZKgWZKgS.dhO.7HgSzEwKzkSBMP9PnQyRQRWfPeLMV3TKI7U
KIbokt3IVt.JD9flBcARH7gbItKSfEHeLNgbnkXHunZzEw5bpOlP4RC4g1Q5
hLchOnHoKSbkROLcJzkQoPe.HBcA5I8gXOWXdbeLuU3BxyvguzgI89.Yecoo
q4sMEibPIPxt5kX3viiSj0YwdtktzXqcBgaOI4hp1bhWFAgO0bo9nGZQhUDF
xxTktM+gO5Xm1P.eLif6DPU5iVxoY49pgN0vJs2wUrEnRJigi8WM9qh0vRDS
+ECkWNXzEkhdf6vbpg7w.NyEKJndokbxJIeHVm4xDSOzNTmkpewsjzAqlYDe
0RmDO3iQIJ0USWt3VxEjGwKiSSjAlDW7sQ5C4zDmhkjOPdDWXdLuv8bQIGk5
qV5TyaI9vGTWf3LuDXGWrEA6kVRL.nW6lHPhBMGcuEqeQp73+hIr4CJLp5ut
z9sSQYyKgobHi5cXDkkt4JS5IUlGa+qK1udm3CX+DYSjSFi6kvP6fgqGXF8g
77hiJHqGI38+QidlM+Fwa1nqbQEudSm5tWh+nMMKlUvf5sux9mlb3b21jOmV
98Mml72Euc1GRySloWWAlDA80hSpVSdc1tZWZQN5LEPlCpDSVly9s93t4oq+
uyiy2k83eHY0NaxjNnLL82daWUJoxROSUERxd2xZzxAkFIFFaJnLJeLCI1p5
i5C5RM79hD2AEEIFmEgLIahUUYZX5bKYKEPG7XjgVFlZuZH0ckPpipfTYwm4
921cUEpYEEpNRsZv32WuD2bmpgJ5a6GBRVl7xg0HI2J9SGkNODMhXXrxH8mM
qtzBdU8GqwCcbc1pNcWr8DZNcS0imoYjsVueNrdcM7J70QjUHtH4jQbNBaq7
TjHAgzRGtXcxe.H+xYSl5kjoowrxAGTQ9POpSbJzBtKzxe3OfvO9eta6lkI8
MqsMHCiQQRCRgDQIHScNHTujYNnNGnWuUKhKEWt+5sMppHVMEJ1OzRTuuHmF
e6tBPcXMZnmu4A04MzgqlOstfCl3b+A+TFUCWcZgcGVN3NP1EAwrhtLrCNlc
vp29PgVXpRG69GfHUh9vs8DilTtlkcrClJb5tWqUvMJ2NeTvwVgSJPAAy6c5
CQhMyzBQXD2fNihhH5G+jSeJmC3pL2FkUr1mAMbgRcWxAu.b0fG0OuxK34UZ
A8lhz1wdNVFAufRHnKkOvKVAeAXqbEGAvM.tMIvM.vA.tIFvMxPND.4.H2QP
NeC5.jEfrJQVf.M.1cUfcfPM.cMlnKPvF.8tFPOB.6.X2zC6n.rCfcSMrCj0
AftIGzAR5.P2zC5.2I.X2zC6XPLR.j0Hfr.C2.H2DC4.y1.H2DC4.sm.tZLv
UbXYGAPtIFxAq0M.zM0fNAXxF.4lRHGreE..2zB3.0p.jaxgbvReCPViExBv
V.1ZTvVD.WA3pQ.WQAbEfqFAbED7e.W4ebEHsBPU9GUwf.sB.toDvAYvD.bS
KfCBzJ.4lVHm.LUCPU9FUg.oX.daBwaPz7APk2AU8FJ+kqm8oj4O1fE3RgL8
5Jyap.ZCatfWPUIyS0Gg1Od5CtTWtzqP7Jrpf.wiSIbCbUE.bSLfC1cw.jax
gbvREBPViExBDnAvtqBrCDpAnqQBcAq.R.YMNHKXUEAHqw.YARr.b0Xfq.4U
.tZLvUvZ1FvUiAtBVti.japgbPVj.P2TC5fB1B.4lTHGrzL..2zB3.0p.jax
gbPRk.j0Xgr.rEfsFErED7e.WMF3JH3+.tZLvUPv+Abk+wUTvcQ.vMo.NHBE
.jaxgbfWj.xZrPV.1BvViB1BhPAfqFCbEDgB.WMF3JHBE.tx+3JF3tH.3lT.
GDgB.xM4PNXGgCftq.nCfc.rapgcD.xAPtoExQAHG.4lVHGbnU.PtIExwA.G
.3lT.Gj4S.WMN3JvsT.zM0fNvsT.xMwPNvsT.xMwPNvsT.xMoPNnna..tIEv
EBYuG.bSJfCVvH.jaZgbRHva.pxynJXqfBvsoDtAZMA.2DC3fzJ.PtIGxAfN
.zMsfNHSV.faRAbPdr..2jB3frXA.tIDvA6AU.tMgvM37XAfaSHbCxPO.2lP
3Fjed.tMgvMI.2.31zA2h.ko.bapfakwc6vWSAXbnuMHSE.3cBAu0RMl2.vP
51.P7TChgzsA.tIEvAoaC.bSHfi3Ykz91pUlmeebu99J6cKSl2bhZxxjWNb3
2M76Q3MlPAzLSQH3vPyiI4LdDsSPiBoomLY.oXVYqhHTNIpELjB8WLgo+9Ok
vYlNBs5cRCKuFidNv2Yqe4khYc6a6YKSh2d3KQQzHMUo+DQIyfXnNlr46a05
4IYMeasI.r9i7zt7bqLg8OyACARpfam2FgTrU6XHihHFJWz9P.RMBPMiVTgZ
Nt4wQQJI.xyXZL9DvvJ6hAfH.Dut.wJn3pjur9oONLdvKIYYwOmLrGp0wtS8
P6TOxtg8Hq18xSIaG1y3C9IvQ8JGk.bSOxMo.2zibSFvM8F2rzReuXUAVzkY
QRIBKLemPNmZ8FlEhizdC2oYQG6tdClUKi9d1y+yhDNxk1BChLt0Z7mGGQv7
vVHoVAm2HQynJtDzPkARXqC8klsZ9Ag1ULI5KBHnG3hCdtAG3DeEKiFlYqX6
IyS8vFKdXnnKVtS69ryFnbgxUD0ywoq9lChE5DTvlRQBsH+LS0cmoAACyiq6
uADnbLo8MOiFwRNGSLiSBZHUX+DRPLehyOoFsIW3j8tcDwT2PTCQ5zwO1.cz
26AZsQmfiCi3hdmSztbrSIDIaY57CmIM9yeS9qyim8M+2pNvlRWsL4v.azP.
GVKgyD.AkwNHyblnBgdG8xVuKu+2lB4PrAEmUEbDTQT9wtIPmOPA5kq4vWhy
2l90Y4aWdZo5UhF4XsQdlOoLcQzSHjbhYOOMd4knSgeLDus3BM7nhQ7tweNj
GmFjR7SmlFNq4.Bk.Mjr2gkrYq2jbIJ66BRPqRoCRyKv8FeyVBJXqXSEHyNw
Q8ZBQ1X6QEQgjlLg10+ypl.FVNalTLutSNnjDQrVrFgDTtU1uLjG1lo7a1lj
cnHfAwKwz9.U8.i6KGY8L3qT8lmrUo3YyG9lKVPYdQbp9eVW+z379M8srmJK
hqph4KzQI1NLzgBC8qk2T4LuFgVmD15fVqHpPMmwLHVX4SHQv0w68TSiGIEO
ujjejccGzmU5dvLKFQw3nldMkJHU85lxVmk+vmSS9R+pQ0uQqRLNGYgcBRjf
PZCKuL9mdJdaO5yPQblzzCwHTAyQ8IRkwPMFlT11nrvY8tM87Fcfy0tdQw.0
KJ6JmPmeFZZuiENvNVzOiUXCZ47rVty2V0WcJpbJIjZ3SohCY4fQnhGZkidH
7tsUQzYq1aJK9bW5pExsgmqcb47tM4cHxa3drBVMcyZ0zIEcNxVM0kWoCSHo
lSOpVi4Q6dlXC6NwpNKpZEA.VPAVPAVPMpVPA5AA8ffdvQVO3fU.R.EffBPP
AHn.DT.BJ.+dTAHET.BJ.AEffBPPAHn.76QEfLPAHn.DT.BJ.AEffBvuGU.x
AEffBPPAHn.DT.BJ.+dTAn.T.BJ.AEffBPPAHn.76MEfXjeqSnGJJCKMxGYn
HpcNHSIivVjONbyy29hZsVJJOIA8wMw4y9PxVDpqZFsyupOYml+G+PZdRebn
onFatL84OTN2nmtR6knuR8R7pYHz5ZnZWJpRLnRdfwhhH0.WXwmBkQ9jtdI9
qhmV+U+B.aPIGLjn3B8J80n2X+9dsPWfeIX61n2MDkd+VaEdTWBWgMO9saUV
Xc77XgG10NkkVxi+TO6ZmPoTw4tu0OcCssc5a3q4rC2FEKJqBthtrUcoJQDL
EMS86Lb82Xuz3aiZQceEHkNL91+0FkahZP8Er+vNEAbp5P1nTE55xFxS9bG5
lrKMzvKYLdrXUEM3of8ejWLHGQ47wp5OASduIl75mRMHLE2SEnxNmaa45+KK
2kz+r617gdPgt5x5f+tsIIqFbOruX+3wN2eJY4x0eo+d2ACfjGP7HDR1quDD
km6VqNw1fKndFdqpGOeBvTw69cqWNevL2vpR3MunTapi4QMAedoCtd6GiWEX
evAp7QFo4fFTIliKhhjfKNrJwOkNkbQGWIsEcf1UJ4bgJXb0uDEFgsC.BJRH
sBHvjwQ4BMjYctEQ4RaAoGQELu58sM.7mvaj1JEB2W6Gdr6ra6lkmmC2gUUF
VFVeBvbesvv2aTcXEk3eBGIhrYLRxEDoOoqsIyRR+bR1.4x6w56oITWdTb9c
NaX8zxL6q+c.i6jRKaMCYmp7W5EBJKY07raMMq4wY4IK1sbYQMy1cNceka0N
4zQU4CTTIYVmdxP4XPTmll7XfXIJA+1C3IZ03EkDQijWc9wWNUnw0VMsHdVo
TK+4yHwwv8d3qnrq+iA28a2ZRzdOpwHUwAlTMzQJzBqkCbNbQS6c2rkwYY59
R1lBtyc53781+9a++AvajE5E
-----------end_max5_patcher-----------

Hello! I’m happy your progressing and I now understand why you need dynamic mfccs on buffers a bit more. This is promising.

There are a few conceptual misunderstanding in your patch, and I hope these pointers will help. I can explain a bit more later in our weekly meeting.

  1. the number of frames you will get is not size / hop. See the helpfile of bufpitch~ for the formula and a graphic helper to understand the edgecases. In this case it looks you’ve been lucky

  2. bufmfcc will yield too many channels. actually it always yield the maximum number of potential coefficient since that is a dynamically modulatable value. the trick in your patch is to make the max the fixed amount. You could have found this by checking the number of channels of ht_tmp_mfccs and/or a_stats

  3. your patch is not stereo-safe. bufmfcc~ will generate 20 coef channels per channel of input so if you have stereo input you multiply the output of mfcc by the number of channels.

  4. one more subtle error is that you do not clear your buffers before bufcomposing them. this is a max idiosyncracy, but samps $1 might seem a good idea but it won’t change the number of channels… so I recommend samps 1 1 which makes an empty single channel single sample buffer~ which will then be stretched to whatever it needs. bufcompose only resize when bigger is needed (to be more efficient like in my file loading thread explains)

A quick and dirty way to sort problems #2 and #3 is to change your instantiation of mfcc like so:
fluid.bufmfcc~ 20 @source htsound @features ht_tmp_mfccs @numcoeffs 20 @fftsettings 4096 2048 4096 @numchans 1

with these mods, I get 40. I hope this helps.

makes sense, thanks (blablabla, post needs to be 20 characters)

Not getting it. In this implementation I’m not interested in stereo sounds. My source is mono. Why would stats create a maximum count of 40 channels for 20 components?

what is the message reset on bufcompose doing? I thought it would put the buffers into a clean state.

I now made it 5.

because of the argument - it is a desired non-urgent feature which require a lot of work by @weefuzzy to make the buffer automagically be the right size, so right now they are the maxnumcoeff as per documentation.

what is says in the helpfile :slight_smile: it is resetting the object to its instantiation state - it has nothing to do with the content of the destination buffer for instance… it puts all parameter of the object to their state at load as per your arguments.