Training for real-time NMF (fluid.nmfmatch~)

Ok, so I finally got around to making some recordings and then a patch to analyze with, and I’ve run into some problems I don’t understand.

The idea of the patch is to allow for training 10 different sounds, with the intention of then being to match against them. Unlike the piano example, I’ve built the patch to take individual recordings (ranging from 16s to 56s) to create all the individual dictionaries.

This part appears to be working fine (I think). Where it goes bad is where I try to create the preseed dictionary.

Why are there 89 ranks/buffers for 88 notes?
Why is it analyzing the whole (combined) audio file looking for the ranks?
What should the output of it look like? (without your source audio file it’s not possible to run the training patch)

Here are the audio files:
http://rodrigoconstanzo.com/party/nmf_audio.zip

After that, the real-time matching doesn’t work, but I think that’s because the preseed dictionary step is messed up.


----------begin_max5_patcher----------
5973.3oc68r1iaiaseN4WAgw8Bzd6DG9VT4Ka1toc2Ena281rWrnHoXfrMmw
ZirjqjblLsn4298PRIYIaIaM1xNSx5.jYzP8fm27vCO7v+8SexnIIePmMB8B
zaPO4I+6m9jmXaxzvSJ96mLZQvGlFEjYerQSSVrPGmO5J28x0eH219+6JcVd
XRb1Kda7uL+dTXFZxpahWbCJHNH59+UX7snXze.Q9ptue.5t4IQZTvpYgIna
BizvCW83vytHHe5bzpLyCOK7lazo.nft4lbTlNOGZM6qP+tIvk5TTTPtNd58
e0u28IBxQ2krJZFZhFcaRxrFuE5ljTTbR7yVFBcfdFZV5pEnrjUwyLeQ2KtL
UCcHp4mG89LTTxcnaR0+STpNKIZkgJX5yuOCEliVljkENAPp7D39KRduFkrJ
OJTmB2NFkOWCXxTy6DjdOZZpNv.Qnr7fa0eUIUNJLVOEfFKolfKZE.nL.+CL
u70s+HgyrLmjI+5yHD+xO2RCYD5kqS0SycLeeoZr3JjmhOlvoJJkJERJzBGK
GiuBQ3jwXz+n3CDuZQXbjN2JRPV2nAyJZEaZ7+7zmZ9wUGor025XS.GJ2.1n
EEvOZNH.LdzdIGzZevoIQIoNbFO1WIobIl6ywbBmeEzDF6QnXOkB66wTTaST
ONiSTJkGU3IAhQMRQCJrpDVtIINOK7eoszG0XbsliCVXadz2oiduNObZvNXK
JkvvV3BpgIP8D1ew2GqvzO2DLUedXOF8SmRr1JOukRbqhwzGOrMuglsAZNFF
k.9kGnN4y4Llvm4ArRhz7cQb5iKd3eMArFtJ0v7.KkFtHzQKWAMN2Z7KJI4c
nnv2oAq1l6GlYaJy01hUQ4gKAl9z4Aww5nLTxMn2Nh71QiOPdO+bw6kCMumy
rLXOLyp458njcWLjpgOGrvPyKFadz4hrKFbUNergPKIRCYGF95SokRq9PVT3
Lc5nswdwZzHEPQvahq0wAfOB1tq3dNHH+9kZG9MZzUv+qPFvyE.afNsjAYvV
bMrshlh26nKTyuvXLCKHdBOEwLtOymXG2Wn1GIDjwfuc3jvnv766lNRO.5Xr
9Nffskz6MQqBmMtzevOhdI7RoAwuCPVzKmmrzf6HAghd4cgw1+fi8knWBt7U
6uBABu0xSl88fQpfF.eRsN+k8LiWYY6z5UcA5pgP1huEElkulusCt.iLV5oD
fxizinLiUv3Vd.S7vb8hLbT5kFmzAudyZQLlfU6PeDDkrvtmbrR3A1Yk99TG
ZIbdwzoIQb65g06KcZAtTfLfhL3nw6A.E3m0nLOYTvxk0Z9I0dECE3WcV3TW
U0TXrqIbUSo52GV99zpVCRALNGPWXPSKI4CR9n0elDP0OdUXE6vxKJ.IKU2X
bKaYgkGKyo710ng9VUPL25LAl37ATtltAb0aiRl9N8r5f7njk53v35Ct131y
z2D.FnttgoW53VueoswVuYkA5uNMLHpBAtMMbVRrAHZvILMW1cuALr3LuTGY
rOQbvxVdYPfCHKcbSXxR4qxlDjZXTE1QK4TixSRhZdqp2KReSdwsWFB9szjJ
lmrr6alFd67c7tSRfatXWea6cxtdUr6tWCxD4WmE79lT67fnnBUyle9ODDGB
V+fQEcr.Jt5ltwRlmMMMIJpA95ty6a4Ny.Y7o56BmkO21Q0EFfGObYoPznJt
7rva0Y4MaClzZVyVxxu2Qzq0zpIE5vWmqWrzLQ5lOPiXRTWgstQrFsuSuddP
d9bp79oaOf1gWP62Sntr9BPqS8h4L0tk2PcNVRWdE0kmQOobrlBabGHKCLFl
EbqtUVVpFDRl13d0nj75susWSMP3VnTLpiPYswxUaNxz1zIZmzCxiB5A63nG
ERNT1WJzC5PHe7XibzvcslTCmCaez4E60v3GnWYu5qihFeWv66fJoD6jLcST
RPtYFHSBhus2xP.kx36G2iRjd9RqyeDkX+Dwts4POSxT2jjBCuhr3MCrtabu
zPOP.ITeE5tTv2utHkCiFnvJrQ7oetIy8r.vQMDAQHcQf3CurluUAkv3eoKb
QFByYe9JaYmU9NEtnCnvkiZUJa48EtrU0xWbbtRo7Zwp+milwrKfwND0jCtj
V6iXxoCsf25obaBrUGy0xBkl62NQMKYU5zRjsvQbTSHblYIgiqB.wapHalmq
WrzGJLv5ILn3mPff1WffdBABy.Ee5gBiIkO4BEpAPpXsFiMhFcnxrNfXFaGu
1FVpq+Ac7p0VJJCfV6v9jaA60QUwd3Ia8Df0pBSLibO0U0tUiXVP84DhxDWB
FLzEUZuBtPXLoTmXT7djxWjK39Xa.M3RpGWXuRQYBlMHGs7pz08Il365IruB
ycWAMQ1JXHOYDXVrHTcd35Q7vrrfIKSRqha4Xlei2aUdxsoAyB0tvwWEFh07
q0Aa0sJKvStcfnLCLXVml5ei1D2pXp+kU0i6xtYj5HsIDTM3HdJozyRNUXhR
4thKvT51gJJC9.1rBo4Wfhk9VdJL7.0wOTXLgu8GnJFVWGFaB.tthGw7gAWL
uJshQS8Tb117nFwdBzQ9wk5XzqChyPuVuHbRRzrliq0.V4dBByhiTelx2ckf
.Hv18yCQruh0uCI+GfTXSYeUkDuxCKTJ2UsRb1T1WJvNViz7OO2Utu1YQzuF
4LX5zMk8XFlskPvKgSis.dqLilw9DyId1WEXhbOOmTK02IIKj0MWdBT5dmaY
T+k4M7ac2Je0fe2hXV+GmX3E70TVa0b1Gn1oZJ9pZ+XSVTKLXmnZktsWgj+N
YtaPb.t4Yf3X8Y8.3jfEEXLHpecQWikKtfbt3qaMuqSAucXrEVyhVo0nsuZO
Vz7TlQ8up0qZ+U+rxOfs0Te3RDt4YcPRyV9eMes.5Dy+bHI6l.7eLZk9Yj9B
4sMhBwSxcCyUgD9llHmQjHM4t3iBKVC6hJaJryLV7M2GbbHAlBiL6L66wXTm
NNkPHryGR7soZ8QhEVt.y7OmGtFmwNeHveWGEkbW+wf5KY6ar4OgvGiU6cbZ
vGXOmkThhXGCP.bOwYAQWsXhN8aA+1OJFkQ8.aE2Df6FBK1Ppac+jhDoNGBM
XwAY2UxkRlegJhWg+r.CvmsWWgOCHdw2n7CLxjQHyt1k8KWGjmmFNYUtK7C0
y9oGTVZbaTxjfnhbvnht1RRb7z0ClNP4cJaL5GJB9YqYTVqYhsMYpOvzBkfc
YOESXCrJyWn73XJyjDGD2RGwHeZRRzUKVGXnlTA4Akfngw1vM2LOQ6NeCIX+
wTBmJjTvePJ7mFRBFu6byqD8gYisnHHXid0O80iraTD3MGcko+e8p34IqLN7
9OZkbwFtLT7OfHsPC47Q6hL0Gxi.nDLgGVHjR.2L4DK02kawcQbnm5zwzEUn
jzOhnsh1Db23cV3swAQ8B08wauJDTt+tkLXCFxuLJ3dSVy9wVwvxUWezznvk
y0l7vykmyUSdnSb+p1ux7+06AqcRgfdAa2mT3s0cXRWNWgwOrz0UTz5rf7fM
sqavwNh0bvD6lMSCPoMm8F8CASAY6jr4nu6Uu34+eYvLNedZxrzvaSd9quOd
5y+ozDaRT97+bzpuI4GBd9OYGBH64+McPjIQBMawtm+5Py7wP+4.XLklILhM
Gaqr9tmm6cgwNtlcYzLsT6AhRRV1bUqfQLhygQLt1jKmcDX+D.UBAdF.D2lO
uz7CdyHmtT6R1x2r0v4ke.SZGlT521lu+jfLPVXUrYHJ2F5f27ALhmEccy1M
6cvr4g2j2du+OWETlg7uA45lQa+Alljl5h7aa8wMIFmTcCfWCK1fBDsJsLuP
2l9XRM4tgAy6kkmpAHo89OcQfwcvcCj1GZ27.GSrlu+PWO8c.Os8UeY3cEgN
F8MlcaoF8SlDkVOC8p01.58dSqgoIxP68BWZM5x41MmIyk+Yep7WoKBIYBPI
ShmFjulBFpaeGCfGZJDCWi.QUONIPAiQ+bZPXL56imE99vYfg.z2El2FIx2e
noPR2dHA+Hf.08lLQqW1FwPt+8YmT5MFFTFKAOCDjh8rrneNw9a9MXha+Dy7
rIXBS4782ibYClbYClbYClbfIf2q9w+5e5zrUEnXqdpxNMCN6yfDpaYJLiDz
aGssGVucTWIg3ndQDHvjsLqhkPx84jh4mS3GUtkiOODkYAS+HhfncP.7X6gB
vJ1ru1zQUHNFwfyDF++7wtv0cmMyaDxhcSPZUhvWrYDadDpkL89oQ5OhTJbW
jI7vQlbVOjxOG1XOE4jf.leonKZiz+3LpRv1BFfir3I9LvnpYdncoPI85ijR
eSJ4BZCgJGaVUNNSfEph5XRe1oEzyR1vuQBkzTyY2C49PnBt8PoSIhg2EZi6
VBoQxx4lsXy0DBf93Y5Ozk3zmzD2lbByQWu9BDa+bIoybyVCeRfLiAl9kByd
mP5S4GeuPgYHUS98dZ3R3GBTbxjU5aps6w5VXg7H.zHmS43dqg0h.+NoZegr
j0.PlCfRKQgx6fVN1Fisrq.XYFXYi.XQ48q5Ec7q0VWKBs5ztFzhh.a6y2p5
v742RPmilflzFMr6hBjU33p9KjzJghHOjvbRGRcCk5jpaTV2COapCcEg5fou
CsLMYJLYkZardL5YDTXqqDuxuSdeePbAqkJGnhN1am4ef7zWNnLgCrsZZlm5
vvWChZMBpdvQwuirs323kIJlqRlvjrKQw+RT7uDE+CMv0ZP5Ylo.Q2QjEDGY
U9fnH1fpPn9JE0UyEMk.PSdWQkLehDarCdEx6n182mqPXlrXBLUDzB3OxPiQ
KxPubYvrYlhzLEFmz7+FDr1RlhsVtDVmkHKZiRj0tqUlaur4MrC8.3Ol1LrG
OehGWg4RyFDj3LQUuHMtMCRbVhD1NXPqh+0jvXDuqhjzdVZpq13+6U51yrYz
1f5wcoUHi3KTXroNidUQ1IbnR2hyCwy5zC5kEkVi4yewhEuHKqqEvpmU2l8R
CE3pzIzQ79LHdqR7wGuUGdywOBB25IgDQFfPR6Q9jPiFRwnM25bMIRzCv7ro
znZF9zrwmJZpOzlcrfvOJCWunukyB4orxdH6ajNM1COYAjVheHPwohVv6KGo
j0cZJ6LFTj0mkPw.E7SITP6KTPOkPAouPwIq52zWnftqBOyWzaHLr7EB1Xeo
psXJsqCrlx.G0R5eJoaUM7OQGXMKCh0QsE8O7oExSMmLQtXETdPYLwtFMaug
ZaoLCzQduNY8p7TzR4VEn7IZam5uU4BwWhsELk00ng9zTcvays8uXnO4.bG7
Teb8YE.UHWeVAPwb05yJ.2e03rBnqCK.zKcGBAD3Bc18w4yW+.thI2K0wuuV
a12w8oVsblYqHP56AN.azwFacw1dKUbXk7o87Fn8TA2Sr2MA.k4RLxKI+c+B
aL0UyAYzhCpAW4sTPuD23KwM9Rbiezk82DeqwYE6ytr+96iCq11S18AEfXGb
9eWPFHRVa4+M62B4+sa0vKNUXtj+2EDjVkHtj+2aRlb1Otj+2U1SH1cFoirb
I+uai1PnreSm+2Npf6H.4R9eeI+uuj+2Wx+6K4+8WZQntoiH0bBoknQIkGV1
NpntiQJl8PVWP8TLJlQdTTao5N2NkrCCaItHKQ785Sb4tjNmWRmyKgk6RX4t
jNmWRmyKoy4kz47R5bdIcNujNmWRmyuzSmygHIw9RIg4dDk7fexSjxGGIU5i
iDr8wQxFODId8W5oyI9EX4XlrsflI1UJbUDqnhb357kAmcU+C3dmz5e.w4nL
LB21mJAOdq+Acw0+44gYHKVhBL0m5LD3aMJuHUOPI2.HEZVn4v0EdcTlI6Ug
mIMYAJ.kEGjpsYDI52Yp56nIZ3S76G+132F+84HWEuNCkOWix.FAJKWuLCE3
ZAlXusazyPKCChSP5ODrXYjFcWXN.LwHPkRuXYtAFlnM.igEhxSP45nHzcyg
I.X6ZKLg.zv8TlZ7sdlEFHnmg9F.r0ouMlBW+mlcq9swL3p+V3hr4I4U2kWq
M2SIbsf94vkuMVV7GuF3KQyLufm4Smljkgdso3W+1XEzvq.D.PG2GvGZvdOy
GEfEr4umCfdq4IJQ1hf7tpgt9RacSVPbUaAbQVAPN85ctihlVT7nhCRwqWES
Cm6iR2YQs.etpdFcsxBFSyMxe3+KxAU3wo3CK97NxgmotZzzMaBkbPwp+.nM
lSkbyDwa6rdfS5Dupl18NtvXLoog3oyASD2biIJf1SLh8RZDR6B0PoToKA8Y
tyhaO+tnLhVoLk5ktCX7pgjqw6GMj5Pb7oVGRH7GykDBEFwQvcmPHmOEpNKG
MrST4nonJy25518ot1zXsLzpX.SNpO9ob09OSbJX5.ukIYXlGAWTRZnrcyya
WcfOfmHN1jL8lphyiYzdWc4ACyCv7y+6YMrwVWmqkSn.wwXJU3KGCZFfwBBS
54pRSLF8PTKHmf87B391xjLcalZYhQGoxgjwFKEdLtRVMLBVctP8cMLBiOvC
izVUotXKnnbkso0K3yfOlgQ.ezvIb395ezo2PaSiftep292xQtUwlP71dAWT
mspX1tDRTmAYDpeszg3D3IwnAz2zTMLEno511IVGXgMSz44vGWct71bOJAVp
n8L9pMEggSOnXZ+MKlerykZvCrJFRXGeULrvc51h1wifhXHAeJ8ZjwOukvvN
QS9oDKI9hGoUpwcUkF8OFu8ZczrGAEowgZON61Ly02qyVeOZI9CGquiDgZ6D
kQvImKuG6Za7K4CdDq+s6N229PMW3TGuYykgofCs8BkhajAycsBP0xB+sDC5
cW40idRLDcDtQdf2ENg4qWtyiruv8puHGceI6Qew4C.Ijy6MVcrcUene9MEc
Zl47GbO62GARe4.fip9v3LU23xE99v6Iu91SGMN42idhMDcjWOzlMkJ4iumT
8g34clD5snzZ7dQ3rkIgw4YkGftdlUYRRTiovD.jxpPiH7vsdmsUevGEN30G
pk2PHp0GiQdCwHGx9nmZh.7QOtAS02d5nE050fF3gXb29LrqbHLIP6AJIY6R
8gY2YPDk6Wfilk+0PqkH6iptXHDd48Z3rAXLFBqmczwhQ8YDF5YRbheJ7.gh
6SOSFBTTzGZ4PXEf2GbhLH942GbhMD8TezrHCxLW5SGssET2z.2X+4Y5jM1W
darm71d+308dway8gmMY6b6IoMl545sPho7r8Z6FJ65enJivJ21aMIESt8lv
nnpoNWOM8JC8wH2cq15e0mlM0mSHJyTosygVZuxLYZQ8Dv08NjxWhCS0FSMO
JWR83B6UJJSvrAIXiWittuvDeWOf8UXt6JnIRi4s2d7A1d57L+pmeUdxsoAy
BKxgZbiTI7pBIIS1ds4VAazBffFV9N0k7pXF+kUkGn4sy.zQZSZn0fp5ojRO
KYQgIJk6Jt.SoMiPQF7x1yf1luMEK8s7Dhzi5noJLlva9xlPrYeuqCiMhu5J
5LymRrzYZEihZiRRyOP8ssDnh7iK0wnWGDmgdsdQ3jjnY0xUk5vG2SPXVbh5
yT9tqDvjr2H9K8Qzrhs0gzYOkXZJeppjJUdXgR4tZKBvlxmRA1Q1MEtGom6J
2W5jHdVFMroS2T9gUFeKFuDlZK.WaFxLLm3YeMfov87bRcTemjnPVZ46HUHd
WVTHXQ6WLl61khQMXiTD4v0+XffkEAePVsukaGL5TMoyvZ1BCwIBUoW4UHM1
IyXCD1T2fFNDt1F.ZuTdPaErKS8qKBYrFvEjglOzXwaGJdwgaCol0fRs4suZ
GVC7TlQztp0q190dTNFWSsi9wEquyo5gzkkmUye..mY9CojkaYk9iQqzkq4c
6PUaVQIdRtyLdE.5aZhbB.vzj6hevP3Z3RToaxNQP32bevCG.wTXjDmIOOFi
5zcnljyc3AvuMUqO.HzR8L6VOlyiIyf+COv820lD+e2PW8MQ9araibgOFq14
3JfeSdNKKDEwZ+S.Tbwfh.1Dy8aA+4dvDWinH1x9EvPeBKjRpaMaP.vTmCEF
Hr21cjboj4WHN5U3qCP37Y6zEoS.B4lBYG0Skm9ed5+eTYXlR
-----------end_max5_patcher-----------