Spectral "Compensation"?

Yeah, if this proves to be a useful way going forward, something like that would be better, particularly with variable amounts of bands.

For now, it will probably be faster (for me anyways) to just brute force it.

I imagine this could live nicely as a gen~ thing too.

That’s good to know. I remember doing some testing a bit ago with having “nice” crossover filters (Linkwitz–Riley) and that shit was waay more expensive!

I guess I wasn’t taking into account that the cross~ filters are a higher order than the individual stages of cascade, but still, depends on one’s definition of ‘waaaay more’, I guess :smiley:

Heh yeah.

I’ll do some testing, of course, but a LInkwitz-Riley crossover is “waaaay more” expensive than what the vanilla cross~ does.

Ok, here is a HIRT to cross~ comparison.

By far, the best results so far! Both in terms of sound and appearance.

Here are the HIRT-generated versions alongside a sweep of the cross~s.

Dark:

Middle:

High:

A little ripple at the bottom end, and a bit less low end for the bottom two examples, but it’s pretty spot on otherwise!

CPU-wise, it’s a bit pricey (coming in around 1.4% just on it’s own). If I make 100x of them, it slams the computer really really hard, which may be a problem if there are many sustaining voices in a poly since I need an instance of this per grain.

But it’s a definite jumping off point.

Here is the code comparing HIRT and cross~:


----------begin_max5_patcher----------
11016.3oc68k1iiijb1et6eEbELvq85pEx6i2Os6ri2dM7L1C1oMFXLvn.KI
VUyokHkon5iwXqe6NSlTT7TJ4QRoZ1twtcqgTTLxmLhHiHxim+2W+pEOD+4f
8K79+68ydu5U+uu9UuJ6R5K7p7+6WsXq+mWswee1WaQTvmhe3WVbm4VoAeNM
6x671eXWPxeJIV88xuYzgsgQaBRydPT9E24mt58gQOceRvpTyKVPwKwHj.QH
bAjHIPxcdDBdoDhXHHFJQRrjytyS.VBtyCgVB79uO8RhOjd7s.yup4RoeYWf
4UrXe3SQ9aVT7XgqyDaUS4MRvhxxVPRdqOu4+pEOFtI3iAI6CiiJ8Nd0B+c6
Jc4WU5QzX1uDm8CItq3RgQlKAKtTRvGCO97jhq5mnPnTE7bHIS7W7YFYwoel
30AIQGBy9kLW7u85ihTV+Tj+1f867WYdXc24waeByoRMRBAjr+AQ35+UvImP
VkhvSahW8gfLjBb7hw6BhBi1kDrOHJ0OMW3Kt85fG8OrI89GiiR2G9qYh.T0
e018eLWDa8l5FQl7+GSBUcbG+JOkDtNNRKDU5JzW93q6m8fzrVEsbiI6aD4u
qkGVoDnvkNt4dUi7v9G7Sz8TOrInjtrR8ONdS0aU7baBdLM+16Bihpghow65
9lIgO89y7rODqt41y8amcm82eHxb26UJEo2u2+iUQ6T+Maxslq9y+Y+nvs9o
Aoglt.Dn3lAQ9pF562uJIdylJsWyc9XK2YsRIeUvmBWm99rWTYkA0WOb2Qkn
EE8xqCeJXeZ0qk5+z9pWYe5WLfdoKc3gbi36SC1taipUT8KnLOB2mt+8weZe
9W7nhVY.3jKwxF0kcMV45myEYU2j+5FuUu2O5ofx2sM+jc4qDQoKIHAkCM+M
FCUZ53LyXVCuis3gr7ueCujKtS8+q7vk7SBWb7x+sW+5ie3NmfQqC1n8MLoX
DHCcfB4RBgc51TpCgLAcJwLkW889UUcJ.MvRAlKk3x2bSXTvp3CQo0aD8ALg
.lPCbXBS+OzLTDSOKfAOKf0EXwmMvBBkRvR4hACIHUrIk9iPnhMAwyfFA1Bi
vgAPLzbAPHUqfvnHNY50mTQCP01gbGqNw.yj+pe+yCWQhi0fASZ7bKWRGmpS
snbqCITwLAIGh9k3vHUfCchLvyiLD0HZBNEb7OPcJAHHLaXNFcIxBu1vK51d
J++ch4n4Eygxgh4sOrYtWMHe4odii8GWnC.Lac.cB9vade.RIq4XILS5YN2g
.gOS3yJccAFgeR.eIoNHQIYfDgL1ndyAo6tLbIt8UmvhVTmxx.28pSX7MO9H
DsfOTFedvG1sO9PxTUnlRn3dDge6iHfLDgvmID412GC2TnAUTByChHeQLHkT
MbTywnxUdlwwn.uLPKPKnEgN6inCeQfVB0.TJiLBjO23C512ajYnJrDNOgLi
eYnwfxzXvb3bqwPdQfObgAeLigMm3C8kA9PnYFRB1biO29wHy.YtgmqrpP29
YUQolp4NS4Qgt8KsKEBly7nPjadDgXpj3bkGEhd6iH4C9LS4QgXuHF4gAyFY
d9ybB8xnXnTtIWfYOWIj3kA9foWmbkPxadONXyrSOW4JgeYjcMQRuN4JgQuL
vGJ8JkqzKiJ+Qf3qStRza+LCPbxblqD71OpODhLm4JAu8yL.x4yYtRvaeqFH
lOm4JQu80Qjz4LUI3KiIQAIHWmTknuLRkDQHWmTknuLBbAAPWmTkX29qKq7U
l5LkozKiDAfLz0IQI1KiIcChPWmDkXuLlzMA35jmDbRqrWVysSH.bQHn4xdv
3po3ucjOFAqrPuJd61fnp6wprGHZcvmKs2Bu9PVqqK4oBy5Fs38BsPSHZYDx
gtLtoJngvIRNMWEipTw3bj03EnC.QLZ0mS6FS8VIoi8XWVSRe+1Qp8wGRVcr
26XGkW01y5f8ogQEaN0etXyXk8Espmp2RAyRo.xcoTnahPKjBJx0RgUXgCEB
8Vl1JnPEagikBqfBfKkBrsXAz0RgMXAk3Ro.ZqIhz0RgU5EtT6LqIZEVvbsT
XEV3R8Bpv1gQDtTJX11ifcsTXUOhKGRkRtI5Qr02IQ5ZovFr.6RO3YQM.kVH
F7lAhDmr1bzp.txxVlkdGxFzcxFx1Q9fNs2SXipL24hgMnAA6bw.aiIkz4hA
wFwP3bwfZiX3dcClMhAy4hA2Fwv4pnLac56TovFr.47tDa7cgntVJrYLFj6c
jaSLIH26A0lfRzmCDtULrRJbsPPsMhYmJEDayjxoRA11bacq1osUdwYRgsUa
fQbsTfrsVXtEKrwGNCM6YO.sTmkAcMBYiqLF3p.PDaKalSAHpsErxoRAy1hz
3TofaagIt9F0j4Osan0YZ5b0EqxzjPctXXiILw4iEYUllDjyECaLhIN2iuUY
ZRbdXJ1XDicdehUYW4dOZVkPgv4hgUI4wuEBIAxma26Dam8JrKmrahsydExk
ygVKCtdlhe6To.XaAlclTvuEl2HhsyjGg5Zo.Xas1clTX6xRgPbsT.rsf+NS
JrccoPPtVJ.1NqCNSJv2DVp1VoHBz0RAv1IfwYRgs0qh.bsT.rcVfblT.rEK
DtVJ.1NUTtRJvxaAKU7MwZzAeSDeAlcSHE2Ddvw15AGIcsT.rcJJclT.uE5Q
P1laFx4RAv1oq0YRgs4lg3tVJrdxZclTvscLUlqkBfsyetyjhaBO3H5MgTbS
rVOQ2Dilg.2DRwsfP.48Y5ycpTX6JLwYBwMgcJ7lvNEdSXmBuIrSsMbOZ2Eu
H+hGYQxEZlBb88FVQ7d+zzjvGNjZ1tdkjl9wdeOsI9A+M0nbu1H2uWeR3x9a
CFMJlIck+lUGzTA3eJHJMH4OmD7+bHHZUXP6LUJralJUBIsvTo4LKmgmzFB4
j1JsjVreK+6VZIEyyOmcAekUR+Jqj9UVI0YrR5NOkKfs9aB2GLXxCCiLNAyT
xMGPHNgDDQUn3xZtFq196zEYWtIq83s4trCWlc617xtN6x8YEWnV3FslqTHl
ZNFRfY+CUZ3uSMG5UFaa2gpENUsww5EctZoC1VbxhpeqSNZyF0fWuY1zUake
hy4t8htb6vsakV4Yc8dQ2uV3B1F2v8wU7YbGeQWxm2s74cMed2ym0EcWtoa2
UcGtqOqK62pzht+cF.rxCbYW3s6FutOm5tyab+KRiqU8sCwKgB.lxp+M55f6
oSO7DygQHNyOhwOecO7m2KuEd5aDD7hx2pHmkpIOMVHrwHiUQve2aTpeiE8L
L7J7bGniCA7dbSre5YQP1bffWRI7MSlVXNBl+OL4rnERuAzBUe2vsG1Ncph3
riBbNwRDDYmp3c5C6oyqQRtAPyTuMdaNKPBuLPhyz9j7dYReQbrAg11HB3a.
76iAedWh2+viPu+Y0ei79C6W4uwOQGEqGrWJnmIxwyB64iCA4rA5B37Qa1em
DknRNG1uT+jTqI.aMBZXwQD83e6TWnPTcgtiSPLyC13TDygPZiiasQ3L.Yn0
dqAUvYPLxjiXUSHpwYvVSfrshQ2Bb173MpdQoOW0wqOEOcrc15kFvbH3MWqb
crp2mEIu4Zl6R6+2RSFv7Hg8P.aue3ZAs8Pvo2RZyn9pMO2pDnVQqNDvqf7A
6CBhtn.V5lkKr2klvs5U0bPU+37S.WaSBW0FfaOWgW+PZr+Hq8LxPKiXoyp8
7zxWOGGNuM7vO4gvzD+junZUou26w7or7Kdowd5xlo+2jf2rwek5iuOvait1
Sk+kzJ6qhOXhV.MPfEZvRrgqTgTyYHKdHmdrx45De2e2tfn0dYG8sC9HzM+r
eOKCYA0Y5Sh45X69WUY6pq79nNK7IlB.BEvwdvc2HE2JfxboorMM9wpkSYHJ
I4Xi6TRfx4SI4oj3C6FIiI.LS2jaURfyEAjj58f2FuecypMAUJ3+.TUfhr+g
ay3S3ygLO3G8TF5bmtSyHYcBTyEyRjUPn+whJB8O486U1VzQvT.ZPxv2DPnv
cVWv4y5ZeZRf+VOzHAET1vR4zGlqLvlqQldLMd6ncBCwzkBLQRjTJF.QBhvs
tjmOcl0AiefaX9BTywCbSA2LrrAQtLK.P.EAET.kymAFiPhtZ7qw3XLh1PKJ
hOVBiPhuMILBosKscpK2ILBqWI0tbWGKrc4CKc54Mts6zVjykhqMsUXMeQ.u
E1IiBWd1HY8twwomuKPq24yNcKnX8IxuK2gqPqOoDbsPftEDBq5Ob49XDBuI
jBaEBzY1AJUV8zcLP+oYq+v5v3eLa8Xd+2GDc3T7DGWKosK5O7ziga1rJdSb
mqX3iA5sv7spr5aO9b+rJgEjjnRKU0dVhgXNhk8I0Gnz5yng44fGePBkHAH8
WmvPbBM6SBDlh0eBzxihN8NAPo4MAjB.w7I0kfp2Y8G0O5o70nJu1hmbWR7t
3jhky6RrrxycHM9oD+0g4AqAZct.tqj1Rh5a11pnbwVUGQX4ei1z1J5T+tCq
7cQGYQi4L8k8.Wq1aJJ5CEb.UHLeRPvc9nE8lLp5ko+9L8e3lOY90lkNy6JC
mUvCIf.4xrlhjR3Yhlffj7rFJs5glXvl.cb8U9A3BUCxfJ.nPX9DgBPnFssE
9qVU+wwHkMRVm.4HFosrzWq9SW44HbJDm8xPRrRzy9DEBXs7fkW8OJ+S+G6B
h79Q+n8d+Xv1vGh2rtZZd6UMyUZTtZ6Do9syjOHiiLFvB.Puovp+9z4zm8r2
GFo21AAEJeXIBxLh5QOCnxZPN0n668SSs0nq752+mqEFP4Uwk5d.mK3+veL8
9reFveO4ynWO5b6zvz3a6SsY7URaAcYWB16rrZ2jjpGn131hvAYcX59Kba9R
zERuzSmUsL0OgxCH07tUfNGeQeIl0RncV+Yugi+k6M2+o28ms0boHJvpp85n
cxbzAQPJy3kVqIl42p5Y25MiAm8imbyEwU21aPFVoQm0SvILoL+S.4EM2D0t
caifSXPHvDapDwHYP.UBU9ZrZDbJfyx.K.ihgFoTovftzH3PcrzlnLz1nYJU
7iQUedqt+xWVmD+TPz6xTobqYTVgWCWMNSoll92MoYpbZ7FrjaFo.KycFpuD
EOsp+UZbhhnZZ9oQY3Xksg8s3Z1FxKqZSxG8nsOc9nS6wCVS29sAQAez+1bH
kbagu4PZppWxRKhlixJJT0.4eZ1D8usxR++Ejf+V+vnmGfjqriJ7t17Sym3u
+SgJGi11.ZXKByUvO8WypbidwI3+a62DpWGxVmvj8iW0ZLDCySYanyEyD+hu
q4.e+tf01hssgWryAvMc7L6t3+d+zjvOuJMYDdKmegNHMH44ApxeQ2ji0BXN
Pf+830A66SMd5NbnIzJ2hPDmEvoetDufCwYQhOr8A6E317V1LvkYT7+gvUo8
CyuYMr9A8AiR5KxHG+wUw6BFpWwgmATQ0KkX8elacu24+vXT55QNsKt8zVem
JewG5URZsj7KnOgnbEhv8cwOoKkvH5jwbFgCMCzSvvrRdPZLyr2fYS8etsGS
D9MPW0O4+wfGiS15nDXGUFCfkTGCBq8S9vahzGmSuIq5fiqThjB+Q7hoPrXx
DEYMp1qcz.lWoIpr9vKXv4rJS5rR52dkIawI5EmSJmp48K4aAT.nz4zgK94Q
iSm9zL903CtqT4mYlh.+FQgrdFdzyNGn8ARZLOnOrIPEtgYYU7MwweXgyUsC
i9vX05tqxe24x3n3ATcT.QQXQXFP41zIymS+diWA2ry67e1mgrZsZa10w01Z
QvtmbPOSCyuSyHZ1ifK+I6Bz4buZmZN9ASd9+j9jO8kPfoazgi0uTjpWuPfd
KnYV.ZRrfm+ItPZoNYQPazBWrGMbce6eq+mYUNNY6QauVmEn1vJsXEIplHMO
2+h0qatYt5aZvo1VRqGoqPPXJRVcrSs6qYqeswAz3brV4Jsh2NtnsZ9oKLBD
WnWaz205mtRwUMfwtlXs3lVp8Win9VFruE9tz5Xe1xcwrUY+lMGBdCbDUwBC
44KcpSNbkyla17FQR7mhFUq35NXgoU7m9h+3ZD.jjZVcYbNFiLdFPPUTOyWi
3sIAAirUj0KTTSaHSGb570.9dkm8nT+Q0DDD.iYpHOCnZ.YcILITRmu1weMX
8nZC7hLafE4pBxG4ctZC+WAa1D+I6aFMWJzTI.HtXzSHpYYUxEPQVZcpmiRn
ydCE8a4FZ1Ts913MiTsrnJeTUztTypgsbfHNsQr6PxtMACNgFBvD2JhBXxLa
KjfxPhdDoNuX+.PfTkqwLe7ZOjyRmXRvpfvOZ+JfnMcvhBLbpA.Ju6CbaCvj
FsVMbf8hWTArypVPTiIHyGSlmuQvTFexYYz48AQq2+RbT4ScXt0uQma5E.GB
3l4Ymv.x78uGGNK5qo965yXBkJX724mF68c5pvrv4x39zfGOrYSZulv35aAC
AkBMy1FCywlMwGS4Y3RKH.8dGlm80YEIopqRWwtqXVZ7ipsiDbgIdQbgEFFI
wRwDUpqaTrSe1p9Rb+R9IcUX+x3lbDnTBLYFnzwI4KcIF.fgM27WUaf5yp+y
MUQeaXR5W79WdJ1lccKPq.jUHHbd+txWY9bpZcPIWZCEN9NieivplUOkZOc1
j8ORV5seW3GB7VkDue+y5Sj18AA+SG+hk09gmilMKqofJJ9VqGGsPLZojizq
iLtdjMrNPDLL+.Uz7OrNoeSPoWXAV8WB17wfzvhidfJmAd3ESHfgW5sNNXez
+uTu8wGhV6sQCdqiiU+uie4JmZuX2gjRBtEdLMmQMxYGhoDHQSIPhV5s589Q
OkcHHaT9ZE+PtC+vYGNZDC0u.Mm3ojIDvPjoDvfK8Tdad5ofDuGC2jpbC5Pi
TTNshHZdhLBojo1DEMHMqNXJ3e2aJ3tlVOkEaq4xn5SnTF.sjnRVRW4LUpsP
gt7xMoDHa4C3xLnTkSTugzXOTZgApGBSAqJUf6MzuWYP2VRP1zjoTUOLGqhB
T.Too.PDTarBW6mqsKTAirc+wct6+5e8c5CVx6z+Ut8bwi2J1bWsShxlLF2D
Y4rMbceoH57imUHlnhLtlA.xbN1Btn9eo1CeJaOOjwfj8tIAMm+6RQylT9os
euZRrorIoWIk8uOBlyRsMaOn92dFTXBUVnAShcIBlcZIS.xkXlJTItz7G8gW
Ax34kzeeQYG1zsYnQlPOu+9m6qeWAEqybrZDLLjtPkJOQHDGCopDLGka38gO
EU5j7nxI.L.Ljlevut1e0D0VUAn0nsZNyiIz9n8BAvIsmr+igBylycOFQ4xj
IjHoDgnpQUfxiG.sSbumjNgsX8ID+C80CDDJDKI0SkQkSZ6bxX6mQycexv2o
QqbPVsUW8HmZ56+TPvNkyRkrBn.84LM.3k8A0eC.8VO.haATvD0nlTrJWeIA
nO+YzGzVPIen5EsiK3IEWBT43Yvl9hAD.cIAxUF5H.ViB5S1kVi0himTDfJm
PahGN73iAIOmCBvNbIbN6CDT4diInbITPgDFVWdUBStTBQLDTkzutXi5BABA
C1bofxR6zdgJlPTIepnxgk9CIJqCUx4PkoElB4Jmjbc7WpLOpCIRjCbZB47I
DKzSty.ABg.uTTu3ETkcSiAODWZvi1FNjylRWAOoxbM4Lsyy5NjxTp6RfZfQ
FBqFnmzQ+MGLotBfrgEaW1zk+ba0V.btld6L.a6HBC2xnljV7NJoV5TPSYs0
klVoE1NMVtqNMbWEKKFBP80yox9oyLJLYaf+9CIAO2+HPZav1V8v1jks6Hq9
yfPm9Tm9ZgjIM3DcRdBLFAEdugfzGnXRIyCyPKUQqv.P0UUYApLtjDOpJoco
fqFrw6MX0.OHAFfU4GpmhA.mh8diJ0cIhSUtVoKgBHFPUWitT4lghTXIGsjI
zyBn5pvkDk2Hr5xDJWoYxvHh5xnkbkQr5mEpzTWRAHpL6KiEXJknxdio9k4T
A07Sn5.vTc0zfKUN6EY+xp3iEbUPPdX8fdXHTu.Zx9MPHr5anb.hWxTxKjY9
QTtMnbOhZ3hkHNTHU+1PoJsAIW8fTHRO+3bU2u5xhkbJiQYdLElrTRURc1WF
PXJ+Kplu5GWn.PkF8R0CpDTOUHJT8z+II4WV4vhITldLkLS.bEvp5T0SBs5m
TARPUC.ITdyzW+HgvqL40XpBN.ZLU884PEdPNaIws0EJFYJosdDiFUiTouYp
h6T41zYpuXrd41hExJpuJEUr1JFWU8UrDo5dwhJpuXoRufqzCpn.qM.X.pRs
thFrdxAzcv0zfUoUp2TCJEpxZvJSKopeDQqnAq9trpJuDtdur.I7pJupKiEL
Fnlxq54IbLhKpp7p6qTY6RvUUdU+HTFfIfUTdUOm5WFwpo+pY6DkUAiVU+U8
anD7J5tTyTRCqo5pFtAWSqUcIU+CgCmDs17RnqF8uoRKBLwJsbm4ykp2Q1Tk
lSEkVcOHGKkUUZUfNup+VEdq50jhJJrPd15DlHqpvB0DXipSttKWpV0TY2T0
kqTIWRrR4qrBqdtuTXrx.ohVq1ZR41VYiUQqUcYIT+SWUqUcY.SEgFtpVKVI
0.8NBppVq5URPRkFUYkVLU+IDiWUoUOgS5zekUUZUWlRUID.qp3pjC0kI5wZ
pp4pWsERkhZM0W0Oip0pvgoQ8MeZwT8Js3zkCmT8WD7lXNQxKgkp6xTIqALM
HQwg6CJlGjOF9fdsAL3oAAAlvj09mGbM8HPXKEidxmXL3TV7hm7SC7PCuIyx
IcM4PKKQmcpvorZD67xzw9Kg8e9fxGexzBYvg1NsIm.1hxxQPR8kKyigaBzK
rm7kKyQlNSSCvktbk02jBc9EypIRbWwkBiLWpfpzVjD7wviOOo3p9IqzqjpU
opbtxjxOyHKN8ynRlLI5PXI9LqXADYN3SzoVteWdZwKJsItVTh09jFEHhwWh
QqRTd21u3gm1Du5CAqKS+ZKh2EDEFsSerTEkVv9JE2NeEece64aW890Rbu5M
aM83Ws3ojv0wQZgnROg9xkVpaFNDlVtwj8Mh720xCaVtTcby8YL.yC9I5Npb
G2nh09Tb7lp2p341D7XZ9s2EFEUCESi208Myl+ztu8Cwpat8b+1Y2Y+8GhL2
8dkNQ585kFV0um+lM4lsU+4+reT3Vk+ozvs4qEihaZF7586WkDuYSk1q4Ner
k6rVoiuJ3SgqSeedoItaHKCsSqyrJz3SsKc3gba36Ui5saipUT8KnOVf1mt+
8weZesUzVY.nKxAZzjsoRh9xyFehCkHEwfr4I2T1QlbrrsYG9GaLT+LwFoGK
peFDY9623CW5G93vwKXoktGjfFKh0dA8aLnxrwczJOTIodOLT7QkhQlBkg+V
IiWgRKNWDdnvaFdbMG.bN0sxvuPot0bNW2rliFCYsVJJlWVHPtJxT.AzdAAn
4huZY1xClTWxInTnkb+nFFcqTXCV3RJA0VtejQNCgG9ahMGPmoV9u9W2kDuJ
PEQmdAoLnzKaszAB4PmoytSwD82i4XJLqTLSNlbb1+EUR+ZNleMGyulioyxw
7XJTgIK2uMNN88AqKs5n5crODy5XlfLJ7X37j+jDLyYbFlLNThp2055oRgQI
BodiKRnzkHBhCDT.ApFbQSfcb17feB4TheUWX7UAvuMVucy9PT7m7Tp7daOr
58dwO5k99v8dq7i7dHvKbqZjZUvGdwIdIAa0er7OUkYBhbW66tUnM8LU1BQz
kWHyOrzbZxoBBfgELNTvyly.yUALqCv+raknFqje1rUZfG7FbYSn4V87xPCk
OVk2iKd3pKlolgKgmRLpwASWIPREe0lu38jeXj2+P2V+nNzwJE1QWKjPoY9Z
jkwQgMEgB1kBVknU5WMHf4SEu6U9V+PZr+h9ZydY7znWpfxx3IAd0vSwLgm+
t2nhpwA5m43oZnpR3IFUexSmV77BV+P4bY8qi7duNRIUxvpQ3V6odRsu.mAz
HQEGp46C5qflKiNSJtgIYf7ytyW.hTYLJfaQzMg6O2.WyeXqE5tCN3UyXTTf
nhpIbtloDHd1TE0PUTUBAYh0FQU8jxcr13EPVzb4HUCp5hFoZK5yAfsowk0L
KmJZ7iO58FNvSu8srxMa2PsBVKG2tTzSrtOiyCmKjLullUvLUtogIiCrpkjC
DybGXMaly9eLHQgiO68GLPk+VcVj5SQnwk1CTMHRYvR.FKXc9b0mzAMzU1+P
XY.PeES3NkPoAOWXpjloM0mn.moOQY2LyUrQ8fJVZls.AmbbRCF+DGedW4nW
pycZNjQ0GF8b8Bklq21t.89mZLSjJDQGMf3jYRUYLa2L2oGSwcye3wYH8xhA
B3x4RkYoXHboTjY8XGZ3To.aceB04xAzJUTtSkC6MUjtTNN9qagbHbpbHrV+
.6T4faMd3V4v5EAgSMWfPqgCWthPfi2S5oA7xlWyNFw6T5mGVGF+iYSN88ee
OX9yIjHxzm3lPCgvoIoJCUqn42FZMOX0oClRTGRAIdQzT5BdZoYOWPpKN8PZ
86NTdlolCJ5Y3zWHb.DwV8dyKcHrd8XWNIf.4lCNaIkjexmSPRN0vamW77Ml
KTMHCp.fBg4SDJ.grhi4NCqKddpllSg3bFHCKx4hLJDvZ4AqcF79erKHmqF+
wfsgOnOt4s3v3kiT+1By4qNGYLfE..rOT4EpfEvNwZsnxZPN0n66Uof+h7Hc
9G9io2m8y.96IeF85QmamFGI5hlepMiupzgxEocRqcVtnezM7Y3exbx7Sp7.
RMuaEnywWzWho332jD42O8t+73NEz0GAYbCiRffTlwKsVSD07TP+lwfy9wSd
AQArPFNmG2fbBSJy+DPdQyMgELT.gAg.SroRDijSDGPAWX0H3T.mQLmP9Trg
BiT4f.QWZD7SD9JsfY64Gip97Vc+kurNI9ofn2koR4VynrRPFtZblRMM8cDu
dKvR9QBGM2Yn9RTrCIZ9SbaZyO4.d8tN8HacKtAifeQU6iD9Xae57Qm1iGrl
t8aChB9n+s4PJ41BeSunN3lixJJT0.4eZ1D8usxbY+BRveqeXzyChDSwEdWa
9o4S72+oPkiwASRTyNGYWUtQu3D7+MC2bMPRO5riW0ZLDCySYanyEyD+huq4
.e+t.qIotVYEpyAvMc7L6t3+d+zjvOuJMYDdKmegVe1F87PY.xK4lbrV.yAB
7uGu1dBf77gCMgV4VDh3r.N8yk3EbHNKRb1AMqsBbadKaF3xLJ9+P3pz9g42
rFV+fdefl9hLxwebU7tfg5Ub3Y.UT8RYAsINm5duy+gwnz0ibZWb6os9NU9h
Ozqjz5hUYsMDkqPDtuqWr5YacxGogS8.8GITcRiYl8FLap+ys8XhvuA5p9I+
OF7X0U79Tl.6nxX.rj5XPPSbSuIRuW2eSV0AGWoDIE9i3ESgXwjIJxZTsW6n
ALuRSTY8gWvfyYUlzYkzu8JS1hSzKNmTNUy6Wx25+.PY541A+7nwoSeZF+Z7
A2Up7yLSQfeinPVOCO5YmCz9.IMlGzG1DnB2vrrJ9l33Orv4p1gQeXrZc2U4
u6bYbT7.Z52VTDVDVyIyDmLeN86MdEbyNuy+YeFxp0psYWGWaqEA6dxA8LML
+NMinYOBt7mrKPmy8pcp43GL44+S5iyoWBAltQGNV+RQpd8BA5C7cyBPSyVD
4ehKjVpSVDzFsvE6QCW22925+YVoyKqd01q0YApMrRKVQhpIRyy8uX85lalq
9lFbpsCs5Q5JDDlhjUG6T69Z15WarwNmi0JWoU71wEsUyOcgQf3B8Zi9tV+z
UJtpAL10DqE2zRs+ZD027b8sv2kVG6yVtKl8b62r4PvafinJVXHOeoScxgqb
1byl2HRh+TznZEW2AKLsh+zW7GWi.fjTypKSSsMHimADTE0y70HdaRPvHaEY
8BE0zFxzAmNeMfuW4YOJ0eTMAAAvXlJxy.pFPVWBSBkz4qc7WCVOp1.uHyFX
Qtpf7Qdmq1v+UvlMwex9lQykBMUpYYoKE8DhZVVkbATjkVm54nD5r2PQ+Vtg
lMUquMdyHUKKpxGUEsK0rZXKGHhSaD6NjraSvfSnQS6Vl5ICXxLaKjfxPhdD
oNuX+.PfTkqwLe7ZOjyRmXNuCueL9FKJvvoF.n7tOvsM.SZzZ0vA1KdQEvNq
ZAQMlfLeLYd9FASY7ImkQm0rj79WhiJepCys9M5bSu.3P.2LO6DFPlu+83vY
QeM0eWeFSnTAi+N+zXuuSWElENWF2mF73gMaR60DFWeKXHnTnY11XXN1rI9X
JOCWZAAn26v7ruNqHIUcU5J1cEyRieTscjfKLwKhKrvvZNSVLQk55FE6zGM2
uD2ujeRWE1uLtIGAJk.SlAJcbR9RWhA.XXyM+U0FHlc9oJ5aCSR+h2+xSw1r
qaAZEfrBAgy62U9JymSUqCJ4Ranvw2Y7acVtHixNG.AJlyTjGIPQjCIPQ1WI
PwuRfhekbK9J4VT..NibKzmo8SDU2YNGCmhCy9Yjo6NCz76edvmPnlytQyon
Nuum82cMhQW.BQLWGkp53k73fAeLydTegj4imhb1IbIYtnDBcrlOOV3PZXAO
xLQ8nyFeYjEo0yiikDyAGBYr5JWvHZZo2kaI9y7r5BekCM+JGZdyxglBaOFI
It7Tj7qL44.XxSBygRAQLdt7bBjBaOIdwtDKvr9Xi.+sLulF7qq8W8bqk0Ac
wx5vj5kXpPhjRDhJ.bnTS3bYwdP6rHOfVXlTfIRhdJ762ojnjCaWm3+oh1PK
0jnZ6hT5K1r3Fsxqd.5RBjS3BD.qO+v0m.SLjdhRQDDBwwPpDnmuIBvbtzSI
Wj2V6r7HmIj8JAeQGBjUMSkRbPTPZar3h0ZDX.xbBqKVJ3XtfozF.L.ReBqK
gCkJaasgyYKltRalUK2UwQeLdyGCdVS9hd+ZPR7.qyopAujPXYKpFgfAE5Ud
Fzv4rCo8WK96Jn.XBQAcAM1LP1KFILKEXhbnE28XELZmzhgroTOeq+GBzLYh
.JQpDjfE4kaslddyNODRHjNoJ2RwD1stKIXWPzZujf86hi1Gz2dXrrRSELsM
UjbBapgIG1qYhp+vt26uOvaaA6o0W0Y03Yl9U1jy+1RT4Fb12nZj+l1e8nYx
QgFQwHqDQWGQvHqb5kuXa35cwgQo6O1lkYoCQLTpYo+KS3MM5arV1nVHa5Q8
K+shSVal0F3b8tgMe2fw8tIV7tok3Qfw8lfWpUxHmq6GpheYojizmUCb8pGA
qWrOTCc.BwDzRljxYXFjKjPrdyab1ahUCEPfHFR8eJ0qO.8b2qrjXpqJAL0H
iHrJbIRqeywhGXa50Ijo.5Q17pPro3UAr4UwYsaGAlg2M.3DaXabsQOkb1fe
QBqbhBlh2jMuHWfkBq6Fmb2g0TL6fpHntP60pWM2IJubfsZui08.iYq16jiu
Yu5KM9CmMWMR2zSRk8P+cTuIahafMEnIR1inFG2aBZC3IbgxoUuZclkNPmAY
0vlSQHfPa5JKSVTC+MIlK0SnvpvZmh2DmOaQLB4WMSAqd0NxTnd5GNEhudCE
BmsgBgWugBM8RnKAvSRWIgzi9xI3UcY+MnI4cc8bBPthNAPLaGlZroXAsyIf
vlRhkWryR+WShvcIUMzjDX.vtT2gNo+tGu7KjvooDo0Ve152as0kcs0jcy0i
c2qE65qC6r4ysFwDZZ+WfPBqsGKxQmVNaMNNSvseDPMDhGbfjN3.O9mZ+3yn
6iNiNN1LNNa0285t2sEU2oEkUFagHAGdGP8C0jgczhLPh+ZXDE3j0Ib2qaaC
eYKo.NFBAb3jA3fHBvdPBfih..GI4+MZChSj7W6FDcrQ05bSpMZApN488aC6
TqeLWanZEQ7cFR3a3Dv2fHeuAQ7dmmz856Atzn0nKHVu1UkGEY5c8LDrj37t
1QMztcfcDj2YHGuwPLdCmT7FDg3YAY3MZU7JjdWeTy65PienQB2WhsanpmC5
v+2Zk5yp6ZWKqa1ZYDDW2fHstKPXcyt63VHkt10X6EqbLUh0IBm6FRnJQlbW
TprjxClLQqLQw0tvYMGqMwxD5lRnpPvacETsc9lGAUOYGYtMFhbapvqBBaqc
rpOjzlMbc1TI10IhMa8h3NApDIqYkZmkz2wv49oopkUh7z5N241GBdhrfrjn
zlrF7kcgXAInMYRSIxNqcgo2Db1TIZ0IxL6cgLqJvkIorannMJS.YV4wXXQu
dABGapZMEDKl8JAVlOwhqmlScBCyxXbNSLEyXjPkIBL66TtL4ecEiBtDAeYm
grCg2Zj20TjvvfiJrfrtFciqcR4pOk5nGDw0fIgqQTNv9vFLSRUSl7RAVspI
CkbsFslRCRzZJ9oP8WeyFRxZzkYyRFf5kfBSmje0fI9JaI8pIPkqfbq5mFRm
DZ0PHypwt5ErfGjlOWUtc9Gr0c9vHmpgQLUK582enDR0.IipQalzjzotdAK0
fPorq1H1QhTCm.oFc6pB8yXQapaxgZXDC0rOcB0H+IKB20FBeZRDqJap8odc
TzaBbZfj2jiiAvR+2SjVUUqC65EKeBVYaQ2NCALMZMqlDsj0Y+aE4JMUBXYR
TxZIbdbR1jfjru.J1PJRSj.Vg7i5WIdNC0JLQBWMhMxZwyJxLZhjwRjVj0xm
UDUzDIeUIjHalDiFbyy.4kmosAfdI1.ZPfP1qhXCoAMZArL4.YYvoVQHPijL
fFc6pJo+XueCaH5mwKb0IzGqPdKYClAPfOitAUhndtcFAoII7Lc1dstXWsgz
cFcqpfbc51O34HTmI382Bw4Xk9qkjky.H6kIqQ061jkjfyXH.mqBdTPxM2H6
WfxjWSeJ9okDVyYHqlKSTMiijZFGA0zOf0r045fGQd8e60+e.wP3gn
-----------end_max5_patcher-----------

As a quick-and-dirty hunch test I tried removing half of the cross~s and tested the patch and it sounds pretty good. Still effective, though it doesn’t sound exactly like the HIRT equivalent.

I have no idea how this works, but perhaps with 10 mel-bands, they would be centered at different points and work better for this kind of faux-pseudo-approximation.

Dark:
Screenshot 2020-06-12 at 7.48.55 pm

Middle:
Screenshot 2020-06-12 at 7.49.19 pm

Bright:
Screenshot 2020-06-12 at 7.49.42 pm

edit:
Actually, it sounds loads better if I still ask for 20 bands from fluid.bufmelbands~ and then simplify that down to less cross~s with this simple “every other” approach. Probably a better way to approximate the overall filter I’m after than this.

I guess it has to do with how it splits the frequencies over the space it has, along with the fft settings and such, but when ask for only 10 bands (between 100-15000 Hz) it gives me pretty shit resolution in the low end.

As a comparison here are the frequencies when I ask for 20 bands:

221.833218 362.220601 523.987791 710.390753 925.181305 1172.682637 1457.876324 1786.50259 2165.17585 2601.517837 3104.311008 3683.675316 4351.271895 5120.537773 6006.95632 7028.368896 8205.333946 9561.540794 11124.286444 12925.025005

And here are the 10 bands:

348.62 674.504907 1101.666684 1661.579668 2395.5 3357.503542 4618.47425 6271.323143 8437.83617 11277.647306

So after a couple of bands I’m already >1kHz.

Ok, this works better.

I’m still analyzing 20 mel-bands, but rather than (essentially) deleting every other cross~ I remove every other frequency/dB pairs early on, and center the remaining cross~ at the mid-points between the new remaining frequencies.

Subtle difference, but better aligned with the HIRT equivalent now, and probably “close enough” for half the CPU cost.

Dark:
Screenshot 2020-06-12 at 8.23.00 pm

Mid:
Screenshot 2020-06-12 at 8.23.29 pm

Bright:
Screenshot 2020-06-12 at 8.23.59 pm

Along with the updated comparison code:


----------begin_max5_patcher----------
10538.3oc68s1iiajc1edleEbEBvahSOB08KueZWuN63fXmrX8DXDXDzfRhc
OziDoBE0bwAa+aOUwhhhjhWJdUpaOCr0vgWO0oN2p5T044+80uZwpvO6cXgy
+emew4Uu5+80u5UImRehWk9ue0hcted8V2CI21h.uOEt5WWbm4RwdeNN4z6c
NbbuWzeNJ7vgu2c6Cmtgviwa8hi+xdOyGYwA+GCb2tv4+N8F16Fu989AOdej
25Xy8Hn3kXDRfHDt.RjDH4NGBAuTBQLDDCkHIVxY24.Avkf6bPnkfrWXvwc9
ApuYB4hROo+lDpTQ4uQBVb9NMjWxsBySPdQorfTdvqV7f+VuO5EcvOLH2c+p
Et62m6zuJ2inYb+ZXxKRbW1o7CLmBlcpHuO5e54IYm0MRwVhU7jiQIrtEelQ
Vb90DtwKJ3nexaxbx+9qOQRIcVAt67Nr2cs4g08omt7YFMTJ0rOQBSDhH7j+
EmblapjFdba35O3kv+.mNY3du.+f8QdG7BhciSI9rKuw6A2iaiu+gvf3C9+V
BI.U8QUc8GRIwJuntQjP++oHekPyoa4wH+MgAZhnPWg9zm9bpFGMoUQy2XRt
i.28U7vJQCEeolKdP0HOdXkajtmZ0VubhVJcfvvsEuT1ys06g3zKu2OHnDWL
Nbe8WLx+w22vytJTcwcM8tStxg6OFXt58Jgh36O39whb6X2saSUoK95+raf+
N2XuXeSW.BjcQu.WUC88GVGEtcag1q4JerhqrQIju16S9aheexGJuvf5182e
RHZQVu7F+G8NDW7bwtOdn3YND+ECSO2oNtJUI99Xuc62pZEEuAk5g+g3CuO7
SGRuwSBZ4Y.msKlWoNu8wBmuI6jEsU9aacV+d2fG8xe0KLTt3N0+mI5VioRL
CsjfDTNz7KFCUx7PgVzmAJaarV6iksQBWT7AxYlDc5B+8W+5SGb2jvi13sUa
aXZ3QBRh0AgbIgvNeUJsmbLAcdXYJi5GbKJ4jwyj5+zL+pMdkDPWJy8GgP4k
Uo5m3X.2a4IFpdtCbl3NXBXoDy3xB8Ta8C7VGdLHtL02cdGT4hipkoRbiRS3
YXZe3Vf4ga0f52wfeMzOPEeU6pe17+sw5nXzRUbGkD6PI5nXfExcvp4jzlj6
dYxJq1i.MIXHBGzeVI75yJ+lmZjGVZnE0ZiSxtzFGilDJLRtrud.H7qtV63v
eDBwk7GJiOP9Cl8Rg+.PFkI5P4HhqNGYsd75VwUtyd8KfJnpxxODi9Egz6XH
HW+fRGG4GtYjoXIbnVbvuHkeDHtlkf4vgJwPt5RLSA+gSnIhLB1P4OrWHZTT
pIj6A6iBAdg3iJMRug6iBQeQZigxSrwLbuRHwKDcHrY38C2qDF9hThgHoiiW
IL5EoWIBDONdkn3WHZToyewv8JAIuP7JAw7wwqDk7hzFCRo1LJdknxWJQ1AF
GmRnWjxKPFZb7IwvuH8II.iiKIHedXOIDx3LEUULCLFUoreqmK.pIEWMMAd4
tx5vc67BJl31jWUvFuOO1Zbsyx52LleJ2C8mawGIt0XJfYngEsXyUIoP3DIm
lJ8PURObNxVFRMIPPzvHk.CU747R7PmPuZRbeRaUe8p4TGBOFs9jTyotPmhM
zMdGh8CxVwK+x4j+puQq5o5LUvrjJf7ojJzMQnETgNkaSKUXEuXBIBsyR6XE
xolJrgUniUdxnhjlnU7B7TSEVIVLo7BhslKDSIUXqzIFM0TgM7B7TpolXKBZ
qNBbJoBoETgNCxSKUvrgJvSMUvsQtPL0TgvFpfM0TA1VcjIkJHVPEH5TSETa
nBvTSE1X0BM0DAxVmYSFU.szzICO0TgMlNYnolJrQrfAtfoEFswrWB.SGogr
MVzIkAgsMJvIkJrxCGapoBa7vQlb0Wa7vQfSMUPrMVzIkJrx2h3VvHBjWuQD
3jPZD9sv.WNoUZmhyjRE.aCSdxnBhs7B3TSE.aCVexnB7MgzoswCQ3SMU.rc
fKSEUbp6951ifY2DTgsSw.ZxoBfsChaxnB3sPOxIu31EF3jRE.aGP6jQEzah
dDvMAUbKPDUDbWCCqdRoBammiIiHtIltbaMYQqOPqzSdZ+2uPuGq2buY+jeu
abbj+piwlbRlufBzo887iaCW4tszlUtpsE8qOSbI+Z3QCpvNr1c65i5MQ8e1
KH1K5uD48+bzKXsupIUWQdnwx6fDSur7NfYI6YYn4upufN.urfNjkX4uVPG3
DyBkxrffDxjb1yAxuVPG9ZAc3qEzgorfNLVEq.DQZjxgl0Nb+WyZ3WR0vAAc
j3JfqNWYuixgwN2s9G7F15VCwL7Ay5KmC68V6FgsaopUxQZw1esNTqyoZoGu
Jmq03fsdmrs6nsNmsEb3ZgS2RNdgXyBFjXJ8JTYRWCEBK1cTs2WK7.aiW3V8
Dao23J7HiJeoydkMBekalW5WtvqnIeys5etFezEZkM5mtUe0V3u1Fe1cwucC
9ta0+cy9va1Ody9xazedc9zq1udM91az+9aURQ2+NCCrvCzt+9p84W1lSYy4
Wb8VquLEssCwKgB.lxJeGMacu9fALaTFbh0DFsJK7M556hgJs3xGrpsBQAuf
E8DNTV3EdFKxA+CuQI90J26gsgtwVwBkIKXYXS63nNwAYWeNXaBguYjkBSYd
o+ESNXoP5MuTn5d82cbm8hh2o2IBcRhDmrca4jAyMIMyMQWetYryVmssKKdm
kxi3DIPIuKZzv54enad92G8979Hm+gGfN+ypeQN+wCqc25Foih0AV9oZH3PK
MAzbjgM1oj5oBxYCWrFd8sRTdyEM.inF9SZIYjd52l4Nf54NvVjZKKuWylpo
lMVyDxRuXGH0h.koX5YKGqA0bXK1IAiMGq3.htXaIcIirpTWTA67xcBR4TXz
TtTJm9oZVjhcRBXNH7KW+E0rxnlEJ+x0gQG1zIyCE1ABr59gqEqsCDN8VRZF
0Uo44Vj.UI2pFB7JPevtvAQsRf4tX9I1qszyVdVM60rezb5ZqJksEa.S6LPu
YUbn6nL2yXfzTeF58bOimoJyvI24UwObiV4GG4F8EGDH98NOjlf6u3DG5nm1
L8eG48FclLbheumyV8bOYUQDtxQSmLvOhHYjKPpYaUi6AqS1PgVBLORRt626
ErwYDJ7zl5wstHKoSbMs2xShqekg42Ti1cbR5ko9AYfkAn.16rdIt9kNycwg
OTb5T5uPhQmgzegDn7VPH4wnvi6GKoDBDXx3T+SM50uZPF6rxYqyusc8VuBS
3+kblUtAOdpjXe59siQgDlEES+cYAavkEddXTISHz+X1LB8O47MJcK5hAV95
Mk7DVRMnJECI5mjD7VP85Pbjm6NGzv0vNwYLyBQZ4bqWEb0qtF1Cwg6FIyvH
Leo.SjJe1TL.hDDwvLJeKHzLZqWkDVjYU.LDO2TvsRkmp8lL1T03ATDTPATN
WaLYfUQII5FrlSYUUTpJ1ACIGXQTRhetUDkj1tt6oS4FgPX8hMeJ2PcBaWs4
xIsZ4.rbOH.mbpvp8C6TJWXqXADdKr6sDS4l0FYcI6YR2UH1VJmDS4t.FZcM
WaJKwWPa6QPS5lEx1c3HYpIBzs.QXkTwTtyBgvaBp.bCTI9rlSfZXyaUXeGT
SPOmWNDG23G9SIKN06+Qufimis5zBqsZRe0iO3uc65vsg0t7oOEq8BycUXoH
e549E0X2PRhZv4p1yRLDyQrjiTGngtvho2w7bvSOHgRj.j91ILDmPSNRfvTr
9HPEOJ572D.kluDPJ.DyQpSowVrxOpavioKXWdoUR59nv8gQYqs4kXYgm6Xb
3iQta7SCbETYhQtKmzRj5NqZIktXmpivO+6nJosrN0e33ZWa6HcWuV8QKzgf
QJFaBGgPUbmji3lyUh2rvaq2txONWvX7jNCA.JDliTuID5xmO+RyQIa+er2K
v4mbCN37Sd67WEtcSwQos5wBeIIf.4ITpPRI5Ajn+RHo4qSKV5bJ7jDNEhSt
KjDqd3jinP.qh13AUibstOtXqDot4DdCjwQFINA.n25ekeA5wim7r26Gn2z.
dYRgXIBxLe6ShxHtffuTJrSJbYBcMny0A4+hZchLcMAGPEByQURzk05XmDmX
5+vMGYdaO+U59Q23XaU5xul19EGHnBshS60geoX7wS.g+W+Sw2m7Z.8j7KOO
PUXRw9d9xlDLqWulsBXjaq5nxu7hOHU65wXpfvAIpCZsAbEFARlQ9bOcxLfo
dEJqNTSCSoMvwcP4O44O8yKQs8N8nO6T2+428W5o5hnc0EJfyR5k.LJFlnt.
gHHxROvDFDBLgCIQLRROOUBUL+VU299urIJ7Quf2kHc0fVGjgUJMITFmvjxz
i.xVT5f5X7L9m0ZZI973mh1qzClE9bQoYcXhINbUrDJyDohV.K4cIuM0irOl
peeEpZxjP6utepRx10jHo1yq5nVTEdqWf2GcaTIPfkbicMrL0Uh9TTbKJAcg
p5mCjpUcFMeN0LjNX2YLCRbubmQZzzWdzfTTlYcgu8Xbr5iaoFwkwjHx3ffz
iRZ8yAo+cE1aEOiH7255G7TOnbk3QlWrKOZ9H+CexWou26w7CSsGb9mYktQO
6H7+sCa80KJaKo6JCRqC9.J41oQy3svcZchMZktlC96O3sYH7VVWXPkty4n4
8itwQ9edcbz.rVN+DsWrWzSWIQ9aByr+6ga7NLNgpNT1S2h7YVXNcyjXKFzl
EJ93tU1SvUYs7x.WlQx+u5uNdFbCMKMEcUhI9YYji+z5v8dOYeZyFGM9yI7R
h0+Ytk8dm6pgHz0ggps31SZ8cpQjupSCRqhIlXHwvMKMxvG0iPd.cxXNivgF
G0DLLYj7jKxL6M3no9O20gDgeCzU8ytez6gvncSz.XGzHF.KoSLSXiazGdSf
t1V8ljI8Z.5jcIgPYSKWOR2QMyNGIyVHOKavY4EVjPGSvjaCaQecxlutIahs
mq4q6WS2Or.Ptk5+T75Q8cLGzFyr5psdJeXl0aw2FF9gEMlwyFygAvJA7yYA
9hCltoh1dp9qh14j87C9v.rjxTsUfHKDGLCnrDZgQTKetJmyG6dzxYvoCVs6
ym6RsnyI.M4Qv4OxN+sV9oqSG7tB+NAYApaz4UvMzytrj9Ay37+YcYf84Pfo
a0gi0sgHUoJcVzOzLK1mDOZa9BA58wmYA9IwBd5QbwrLPwctelUn151YCnhh
CNlmJT2XqtT2Lnj6+NjH4Im4TZ640ggqPPXJRVzKt1DNbtH8KpVkMS7Wy0+U
tUw0oUc2kG0hgUtPuhpuqxitRAAMlljuTSs6RDk29jcchuysN1msoxxrqg+1
sG8xuOk69REGxSWEXmsUKyagdNZDQgeJXPshV8yLCsh+7WbGVi.fjTyR8iyw
XjQGGAUgaNeMh2F44MvVQRuP1bZCY5.zmuFvOprrGD6Nnlff.XLyLxy.pFPR
WBSBkz4qc7271Ln1.OKzaX1nlAoddmq1v+k21sgex9lwkqJcpD.DssBAEHpY
E1xEPQx3NTOGkPm8FJ5kbCMIUquMb6.EKylVVpJxXpY4GmOjhIsQr+Xzd6SI
xECHg.Lwshn.lLQ2BInLjnCK4Sd1Fbf.oJSiI130VHmkNwHu0d9ez9U.QUxf
YSxx4F.H+FAYZa.lgQqEC6YuXqBf0NcQDkOAYpOYd5VUSo7ImEuyG7B1b34n
W4ycXSqciZ2hP.NDvM4Ymv.xzcXHGNKxqwt66hOgbys+O3FG57C5YgYwjSiG
h8d331swcJgwk2MIBJEZx3ECywl8DISYYnsEDfduCyStcV1vM0S6X1VcYVZ7
wCNY4CXptPBtvDuINSCEijXo31l2oKzrOG2ujeROKreoejtt9Q0TN49N+n3u
37u7X3BKxC.P28kLgL3zdMkktzTXacHEcXmYVcBEfRIvLHGk5JIcUXw..LLc
6XM7NiWH.RawR164xz1+HYoyg89evyYcT3gCOoKOuG779mNci4EgPYyNVQXs
36819QuX+r88e0k8OLZojizKdLt1cFVG8AFlV4HM+UNAzB5UPKAuVBtZvqEL
hLL7RmMgdGB9+E6bH7XvFmsZl2lvP0+c5lKTBiwiLmTxAWh3uDrAweSQFiAy
HQSOiDszY86cCdLohPaD9pj+gFY9GlaJNxlBALHguQFJCCQldFFboixZyiO5
E47f+1XkgzwVIEkBoJhKqEkPJYTTQQinjUMfr8e3MY.4ykUdw7.KUUr.FUWv
VY.zRhZTS5oPSMFWnPOOyWBORUV0IKTgAqALs6Qi8XtEFX0Mq6JUNMqu4Qop
dXNVE5l.nFaB.QPUgHdKTwZr6voMm8+5e6c5W+c5eRUWsGUwqlOfyHzHkXpR
h9dCzJN1ZN672zjTOBarcRTAwVRrGYJbufNff57o2RvpD3zrolDjmT2gkhKa
Ro3KPWZRrouIoWIkM1GASwk2KaOnN2dFwvDJrPCpozZ2jBIBhz8TDfbIlohQ
hKM+QWXOLnfq9WqaY03FBNxJZ0X48adpVFwA+GCxUKUpFVpw5AfVLvFFROok
JCTHDGCopwo1OKwP.X7rE68aabW+zht1TTgkcQSwTimIzN0TfStOzu4oF7gZ
QeILIS5NLhxlJSHQRIBQUNafxSUr2t4GkNdcd0zh0kK+UMqGemE5yPnPrjTd
bNTCztbI.U1pBsrFMZTOZ4EW8Hma5G9jm2dkETEkAn.ULwp+3jbf52y5M0WE
qqY.eUvHvDkCUJFKYRBPWLUzUuLnj2cIB73IQTKewSMFOCuoe7.Bftj.4Ja.
H.VyEzkplJC9xfiMchCPkStNwpiO7fWzSoLAXClDx.t01UPPPkYPlfxkPAER
XX8LtRXxkRHhgfXnTO+g54FDB5t9BULd5K0vURSEUJaYPVIQJcD0X1gJ0LLE
xUFI004coZvGk4ERTmYEPNexkPzI2oDinJ2gB7RQ4orfpTNtv2f.zil4HFdZ
clBdTMz4nV5vawbHkojvk.kKQFBqhAfTSOMu6tGgLxH1Smjt7mpZtENCAt0J
teWY7DudDvcgFycy2hpjswvU3NkTgIT4kieM+DT.ZhWpHdyB7CTEyEM4lT7i
144d3XjWqAPeW9irHZjpbBWow1Kgh7107H0H1gGQMO8H+DXLBJbdCAoKbaRI
yAyPKUQqv.P0YUCMToVIINT0H4kBtxyhyavJuLHAFfUCZTmjB.mhcdiZ77RD
mpLmRWBEPLfpNGcox1CEo3VbzRlPmEP0YgKIJSTX0oITtRbigQD0oQK4J0W0
qEpD+VRAHpL4lwBLkRTimiodybpfZdEJVLlpmXM3RkAdQxaVESrfqB+wAq8v
ggP8BnI4cfPX0cnrJhWxTzKjYdIJCFTtCQ4hXIhCER06FJUikPxUOHEhz4Gm
q5fUmVrjSYLJygo3IKkTEUmby.BSYYQ07UubghApDqWpdPEg5nBNgpSemjjd
ZkoJlPoOwTzLAvULVUWsNIzpWohIAUM.jPYGSedrhMp7coNORySUrCflmpte
NTwOHMNk3cyDJFkh.L3JldRkrnYZc6hYSxzGCYdwWLVubawBYAwWkfJVqmhK
J9JVhTcuXQAwWrTIWvUxAEDf0J.L.UIVWPBlfWh0cvkjfUi0TuoDTBT4kfUp
VRU+HhVPBVcurhBuDtdSDAI7hBupSiELFnjvq54IbLhKJJ7p6kTCAlfKJ7pd
ITFfIfEDdUOm5MiXkjeUuCoRqfQKJ+pdGJBufrK0jMaXIQWkODbIoV0oT8OD
NbDkZSmSck2+KEZQfdHzxmWgVUWHV.nJImBBs5dPNVJKJzpX57h1aU7aUulT
TPfExSVmvDYQAVkYJoRlGU1jKUKZpzaJZxUpnKIVI7kWfUmiaE2UofTPpUqM
oLaqzwJH0pNsDpe0EkZ04RiohMCWTpEqnZfdG8TTpU8IIHoRhJuPKlpOBw3E
EZ04dROvWYQgV0ooT0f.fEEbUzg5zDsulhRt5EpgTInVR7MACwz7gwT7MMOY
p9lJL5xgcV9EAu0xIR5bUo5iLSYUioAIHz+fWVdP9n+Jcp+sMfIDXdxCRMQY
9OOf7hkxjHPXEyScOlN1oexKdzM1yA0PS1VAChwBNDH69.yl9YiXuShP326G
awPGZOcDodqLsUFr6iInlAiWXLddQkWtLO3u0SuzfRWtLm.rMMlHm6zEVeSJ
tyuZVIPh6xNkef4TYH91hHuO5e54IYm0MZsdkTsNVMlqDZ+yry3IYx.SiBN5
mCa2xV.QlBehd.sG1mNzxE41DWKNyKoRiXCwXVwHKIxu9wVr5wsgq+f2l7HN
2hv8dA9A60kkpf3LzWI6xoq3q6qdf4EudoA+V7hUNn7Ws3wH+MgAZhnPOg9z
4VFbIC1FRy2XRti.28U7vlkKUMW7PBBvrxMR2QkZ0Cks1mBC2V7RYO2VuGhS
u7d+ffRbw3v80ewj7mV+kWEpt3tld2IW4v8GCLW8dkLQ785kFVw6yc61T01h
u9O6F3uSYeJ1eW5h1H6hFK+u+v5nvsaKzdMW4iUbkMJY70dexeS76KLMFcbY
ncdclU.FeJcpiqR0guW4Vb+VUqn3MnKKPGhO79vOcnzJZKOCnNvAZv3Nphh9
xSFahMBAm0XTr1AeBRRntY9IY8GuiQWcTq8zj5mvhL+9FW3RW+GZjeU8L7WO
6Blag8AIno.IamMfzVYgJJ1YUyxS56wZ9iZTGIxS.vo.n6I6gBe1fososYBX
fvXKC+bEFaolFsY8FM.fqkQlPfqcR4.ox.i.KfNRr.zbgcuLaAfR5ThxeTnk
.PolAOsTgUfw4DRD1B.kLRC.d3KhMGPsCs7e8usOJbsmJhN8xeo2qwMV8ycf
nGocBwZaUt86lwXJLKeLyXL43j+EUR+5XL+5XL+5XLmrwXdZHT9QKOrKLL98
daxs5nFiwOQLq2YBxnCfg8d.BRvMyHN8iFctDUuQ10YWgQIBodC.RnzkHBhC
DT.Ap7xnglMNq27Ogbd3eEWX7EYfeWnd6l8gfvO4nD4c1cb86cBevI989GbV
6F3rxywemxSsJ3CmvHmHuc5Cy+pJjIHxcUuEQSD1pd6gdw1Gp1A9KMEANkud
FVv3PAOI2.lyBXMr6YgcrmAyZXH.y0TCrxo4oM4zBGt3hhp1AHlp0yyy7n79
O4IH77H8dQgoKGSREe01u37nqefy+PAs+ZhtvhYWn9PKpaEHJMYxQlmwJrXV
oP0vXyRCecIwZ5E91rJNz8JwOMBpJVYd9Io+dofYYJ65wO+CuQEUSe4mUne2
WlpxAVNlJFUN4pcPHUNOL0lz90QdePGojZvvJObabTOo1VvUUvEIJXgMcaS2
KlbSSD0LI35Gkvjepurzs9GFIQWDofiKv.bbAt5r0bQ4eR1cLCd03RhBDEjD
gCHSIP7UOTe+HMqJnHffzMowKYd8UIungT9.jFgnqugTMSUOoQJhTWG.1EGl
WxL+PQCe3Am2vAN5su0vRYSJiTwzxGLuTLf3lfWeNY5bZVfmoFapezXvrJMx
GHl0el0MfmE2O5Eo3iO47GMrJ2c5QQpK8NK5lRb8LLkah7LLQ+0SEyjSC8L6
ezuCRK5GvDMTNlXaoJSMRZ5kxSCvoJkMOrm1yUbGDOnhklrEH3jSIMX.IOFh
HOaydrgeP00bdtd8Py06NWfduOMfDoBQzILYxSRlT0p4Vk4tDuMSV9COkgz1
ICDXJykJyRxPLkTQhdkcbiIkJvV2mPmb5.ZkHJeRoC6UUjSIcb5saAcHlT5P
Xs7AdRoCt07iokNrdQPLopKPn0riobEg.GtkzyN7RxqYMd7NOZ1ia7C+ojjS
e+O1Aj+bDQJKcM6DZflNM5fY.MEM91PKYAqLvtjC5Px.xLhFbVviK518rCwr
9gi4SSV2w0j5AMPavhNtfw3FTkC.EByQp2DpBLUsTEf8+XuWJjL9Sd67WoKU
4MU7ek.BjaJK0RJIsthSPRyWmxZ.Jk4THNEgrvhTrxhBALos3PGGotYgoffy
QFINA..Icn7yhxf3pyPcJpF72ab.Eo9itivd.Zfk05rub69LTo6GUiw9YYIc
9u9mhuO40.5OFbzF7azgBsbYfZMY5Va1JvIbg3xiZtDf2ADOtLTVlBxbRkUG
pogozF33Nn7OCPf10UauSO5yN08e9c+kdptHZWcgB3LCZwynXCt0nB7DhrzC
LgAg.S3PRDijh8CPAWzp512+kMQgO5E7tDoqFz5fLbJ3mA4DlTldDP1hR2YD
fklg357SQ6YUMWWW013Fn3.AoLSjJZALTZMW+VTOx9Xp98UnpISAo+59hw2s
pIcBTAq5nVTEdqWf2GcaTIPfk7SfUZpqD8on3VTB5BU0OGHUq5LZ9bZC2wsm
wLd3N9Y.i8xidVf63o5BeamfN3KiIQjwAAoGM83YRJo+cERM9yHB+st9AO0K
PLEm4E6xilOx+vm7U568dL+yNFYWjtQO6H7+MC1bMDPOpK9.J41oQy3svcZc
hMZktlC96O3sYP.JUWXPyI7em179Q23H+OuNNZ.VKmehVWXfd5JIxeSXl8eO
bi8..YygpNT1S2h7YVXNcyjXKFzlEJNoPyZKAWk0xKCbYFI++p+53YvMzrzT
z6Cz3mkQN9SqC268TOQ9wdqweNgWxLXObNk8dm6pgHz0ggps31SZ8cpQjupS
CRqNTksmwvMKMxAipmmPvSsi5S.pN4hLydCNZp+yccHQ32.cU+r6G8dn3Jde
LG.6fFw.XIchYBZfa5MA5859aRlzqAnS1kDBkMsb8HcG0L6bjLag7rrAmkWX
QBcLAStMrE80Ia95lrI1dtluteMcq+C.4gm6I30i56XNnMlY0Ua8T9vLq2hu
ML7CKZLimMlCCfUB3myB7EGLcSEs8T8WEsyI64G7gAXIkogRaQVHNXMBMSrv
HpkOWky4icOZ4L3zAq184ycoVz4Dfl7H37GYm+VK+z0oCdWgemfr.0M57J3F
5YWVR+fYb9+rtbN8bHvzs5vw51PjpTkNK5GZlE6ShGsMeg.coh2r.+znMQ5Q
bwrLPwctelkqdY0CCnhhCNlmJT2XqtT2Lnj6+NjH4Im4TZGZ0ggqPPXJRVzK
t1DNbtH8K1XmMS7Wy0+UtUw0oUc2kG0hgUtPuhpuqxitRAAMlljuTSs6RDk2
7bcchuysN1msoxxrma+1sG8xuKe69REGxSWEXmsUKyagdNZDQgeJXPshV8yL
Csh+7WbGVi.fjTyR8SCsMHiNNBpB2b9ZDuMxyafshjdgr4zFxzAnOeMfeTYY
OH1cPMAAAvXlYjmATMfjtDlDJoyW63u4sYPsAdVn2vrQMCR87NWsg+KusaC+
j8MiKWU5ToFkkZYEBJPTyJrkKfhjwcndNJgN6MTzK4FZRpVea31AJVlMsrTU
jwTyxONeHESZiX+wn81mRjKFPhF1sLyoKfISzsPBJCI5vR9jmsAGHPpxzXhM
dsExYoSLE2gOLDaiYSxx4F.H+FAYZa.lgQqEC6YuXqBf0NcQDkOAYpOYd5VU
So7ImEuyZTR9vyQuxm6vlV6F0tEg.bHfaxyNgAjo6vPNbVjWic22EeB4la+e
vMNz4GzyByhImFOD68vwsai6TBiKuaRDTJzjwKFliM6IRlxxPaKH.8dGlmb6
rrgapm1wrs5xrz3iGbxxGvTcgDbgIdSblFJVipxhaadmtzb+bb+R9I8rv9k9
Q5XVy64juyOJ9KN+KOFtvh7..zceISHCNsWSYoKME1VGRQG1YlUmPAnTBLCx
QotRRWEVL..CS2NVCuy3kNJWjfomiD.JlhYjm.PQTmQ2B1WAPwuBfheEbKNo
1+UvsXtA2BcMsekU0z9dfzclZZ3MMR20.q4adxFHkr05ZnoBNZpV579WduIh
qeoTUGjgCG.FEjADRRrzS6eY4mvt5kLUc.ZOMlHO5Iliz.YdjdybZBuLlIEn
jHsFQknTlBgLIv6xMXMQ8qXn4WwPyeGiglBaKijjorJR9Uj7rGH4IgMgTAQL
br7bDnBaqDu3ojWfYcQGA9RFWS89sMtqOEtQCyVCSpWdrBIRJQHp.vgRMPxk
DZAst4tAUAxjBjUO4MfdP7G1qHyni61D49or1P0yYQCgbWO3YTIf5AnKIPNg
KP.rtHiqKrTLjNooHBBg3XHUBz4dh.LUmdJIG+ohYLoHOibIOSPqALW6AKq3
HUxgAQdwUghKMw1pDS6QlBvtXofi4BlRPAv.HcAXWBadh9pPXgyFuFdMSsYx
b4tNL3iga+n2SZvWz427hBaadNsX9MUM6kDBKYA1HDLnPuJzfF7msSS2IGL4
bA8DZrsYzK9tV55SQvXjvr7dI8.zhg0Mutinb9N2O3oQxDAThTCJBlMt7NJo
m1bSivDBocV3VJl7t08Qd68B13D4cXeXvAudpTKKzTAcWBFIm7lpezwCZjn5
Ot+8tG7b1kgdZ8GLtUt6L8srN2fkn1avIurhQ9aZ+kilIkKbQTLxBQzUSDLx
BUu7E672rOzOH9voVpLYbRDC9Yl6eYBu4h9FqoMpEzVRr.4tqvnMlr1.mquM
7xuMXXeahEeaZNbDXXeIXasRFootenJlkkRNRWqF35UOBVuXenFn9ChInkLI
kyvLHWHgX8F8nwKhUF+IPDCo9mRc9804tWo+vTmUBXJugHrJDIRk24P4GXa5
0Ijwf0ir4SgXiwmBXymhypVOBLCea.XRzgswzF87fy58GRXkQTvX7kr4CME7
Rg0ciit4vRBl0.UDzoP50pOMeRDd4.akdGp4AFyVo2Qm+l7oay+CmMWMxoom
jJ6f76f9R1D2.aL3lHYGhZbXeInMLOwTHbZ0mNY7liuLCxJ2liQHfPa5JyCV
T8+KIlKwSnvpvZGiuDmOaQLB4WMUAq9zSjpP4geLor3qmqP3r4JDd8bEZ5kP
swfGktRBoC8kivmpc6MnQ4ac8LBPthFAPLacSMzgXAsyHfvloDKcZNy8uFEh
qMQMznDX.vtgtCmj96N7waY.mloHsz5yV+cKstrKslrub8XW+Zwt75vNIetk
.lPS6uE.IrzdrHk6TQUx3TlfqtFE0GfGrmfNXOqOQUWHLpuHXTSAv3T1pu60
0uaKJtSKxKLVAPBVcGPuAOvg.bfc.z.6KfA1KvBbP.E3fAIPqTFJWpX5WAao
mPDV+.CvaKEhyf7W0JD0uQ0pdSpMXBpL38YEYkOYa8Fr9ZFn95IH80K.5qWf
yW2KLSO6zvr9wtoTwx.VOqDkEMKJaGP5MDPzyJ.zqefmWu.NugAZdWOYbKAH
uWDgUU.z6rQLW1rTtkvHPK.bW+.2tdArc8v3a2.zt9NzftBfc8UbrWngf0Bw
SfrZdPoqZI1NgJGiEYcFv4tgHpbfIWqTkkPdvnQZ4AJNKGSWcUO1QllP2TDU
A.dqZZZ.P3js.5lcf41P.xswhekAXa1yqX11nqn3zNVjcYfXyVqHSGAkCj0l
bwtY0zSNvSqqg7Ljlb2AJsQqA2tIDK.AsQiZxA1YUSLcFfyFKRqLPlMhx8iJ
YlCjxtgh1HO.jU2zjObMm1.brwp0jArX1KDXY3yKtdRNkALLqmL89FWvnR74
psY12ozN3ecEiBNG.eYmh7DxdKAdWiw.F5cTgYf00fabUCJWVK2a6D+1WP3Z
3.v0.lnrtfzIix7KL5SR1XN+BW.hViwqB0k3Lo0lQiZAHqdCNVC.XrF7TZYI
PX86AQtLvsxZKRsikQ8ALq5IPV0SPrpqnyT+AupdCbUcGzpF5h.wBPpZ9Lae
SkkhKAcpqWvRW.nTcXZlrqx51K.jZvsqBvOi0FiZGbnrEXn5JnPMJM3bkhJK
B20F.eZTHqBap8pIr4bMCzYvapm.2zD63dHlpJpcXWuX9JXksS5VC.vzfkrt
DnkreozYC3JMVDXdPTx9nhrA3jFIJLO.IY+DnXCnHMRDXAvOpaSwSCPqvHQb
k.1H6c0XCXFMRzXNPKxZ5yJfJZjnuh.RjsqztBXySOwkmwsAfdN1.t..grWD
wFPCZvDXdvAxpog2R.AZffAzfaWEA8G6saXCP+LbhqLf9XEm2RzfoG.3yfaP
4.pmaGOHWBBOimtWkK6Wa.cmA2px.Wm5sC1Df5LBe+J.NGqjesDrb5AXuLZM
p3dkzndNTcKA.mqB+HCjatQ1u.4AuFaHo7.VS6fUyv.plgBRMCAfZ5Fi0r04
pAGQd8e+0+e7N.VDM
-----------end_max5_patcher-----------
1 Like

Now that I’ve got a version of this working pretty well I’m wondering if there’s a way to better generate, and recreate a spectral envelope. Particularly since I’m now only use 10 (of the 20 I’m requesting) mel-bands, I’m wondering if I would be better off using 12 MFCCs, since that is supposed to better represent the overall spectral envelope, and the mel-bands here seem to have a narrower resolution (in context) here(?).

So it’s easy enough to swap out the analysis side of things with fluid.bufmfcc~ instead of fluid.bufmelbands~ but I have no idea how one would then create a filter with the output of fluid.bufmfcc~. Is that even a thing? Is there a formula for turning those wiggly numbers into some kind of spectral envelope (that can be rendered into a filter of some kind)?

I think the short answer is that, even if there were a readily available way of inverting the MFCCs back to the frequency domain, you wouldn’t gain anything because the MFCCs are derived from the same mel spectrum to start with. At most, you’d get some smoothing.

There are other ways of estimating spectral envelopes, yes.

  • At the top of this thread is some discussion of this, mostly based in FrameLib, e.g. making a (non-mel) cepstrum,
  • or one could use fl.peaks to directly estimate spectral peaks and have greater control.
  • mubu / pipo has an lpc object (which I’ve not tried)
1 Like

Ok, that’s good to know.

I’ll have a look at fl.peaks, but I think I’m pushing at the edge of my ability/knowledge here as it stands. So the 20mel->10cross will probably work plenty well enough.

After getting distracted by a couple of issues I’ve gotten somewhere pretty good with this.

Some final details to sort out, after which I’ll post some code and stuff, but I wanted to show some of the results from the points @tremblap made last week.

So what I’m doing now is asking for 40 melbands between 200-10k and then processing/filtering that down to 8 bands, which will then feed a chain of cross~es.

The first thing I did was apply 5-point smoothing to the envelope. After struggling with the results of zero-padding (particularly since at @numframes 256 my low end resolution was dogshit and clumping a ton of energy into the first bin) I decided to mirror the edges to keep some the center of mass around where it should be for the first/last frames. (wish this was an option for fluid.(buf)spectralshape~!)

Once I had that I needed to get that down to 8 bands. So I compared “sampling” every 5th bin vs taking an average of every 8 frames and spitting that out.

Also for comparison is just averaging 5 bins directly from the raw output (rightmost display).

Here are some of the results:

There are cases where the “every 5th” holds up well, but I think the “average 5” seems to best represent the overall contour (short of doing PLA).

The straight “average 5” from raw isn’t terrible, but in the 2nd example it turns the peaks and troughs into a plateau, which the other versions don’t do so much.

I also compared the smoothing in linear and log domains. The results aren’t massively different, but they respond very differently to empty bins (which is what prompted this error/thread)

Now I’m at the point where I’m trying to optimize things (which prompted this thread) and wanted to compare to see what kind of results I get from this smoothing/downsampling vs asking for 8 melbands directly.

My initial problem with this was that if I specified a range of 200-10k, the initial chosen melbands started 484.957172Hz and was already at 1300 by the 3rd band. This is compared to starting at 371.274232Hz for the same range when doing the smoothing/downsampling.

So I decided to “fudge the numbers” by massaging the frequency range I’m asking fluid.bufmelbands~ for, so it more closely lines up with the frequencies I’m after.

Using the process above, I end up with these bands:

371.274232 753.952319 1269.088749 1964.959113 2905.690638 4177.751245 5897.994634 8224.419765

Now if I ask for 8 bands directly, but change my min/max frequencies to 100-12k I now get this:

387.683717 778.82 1310.610312 2033.635117 3016.662999 4353.192273 6170.343679 8640.95117

Which is pretty damn close. (this also saves around 0.1ms!)

And if I compare the output of both approaches, I get this:

These actually look really good, and I think capture more of the “extreme changes” that can be present in the original (obviously, since it’s not smoothing everything).

There are some anomalies, like the 3rd example here. The native 8 melbands version has a huge dip in the middle, which I guess corresponds with that particular band being centered on an area of low energy or something, but the “cooked” version works much better for that one (visually!).

So all of that is to say, I may just go back to request 8 melbands, and “fudging” the range I’m asking for to get bands centered more along where I would like.

Once I tidy things up a bit more, and finish testing/working some stuff out I’ll post code/comparisons.

1 Like

In thinking about this more, I want to see if I can try proper “compensation” by comparing the target’s spectrum to the source’s.

I would presumably do this with the most resolution I can (i.e. 40bands for each, which I can then smooth down to 8bands for efficiencies sake).

So in looking at @a.harker comment from a while back, would that mean literally dividing one by the other like this?:


(In reality the spectra probably wouldn’t be so different as I’d be querying and matching based on descriptors, but chose these to see if I understood things correctly)

Is normalizing (or some other post processing) desirable in this context? I imagine fully normalizing (like in this screenshot) would probably be too much, as I wouldn’t want to zero out so many frames, but perhaps that is “correct” for this particular case.

edit:
I suppose any maths would happen in the log domain as well (this is linear/amplitude above)

You would divide in the linear domain. You then apply the numbers for each band in a similar filter.

The normal way to avoid overcompensation would be to add a small number to the divisor (as diving by very small numbers makes things very big). This is called regularisation. You can also try interpolation schemes (probably best done in log domain) for partial compensation (e.g. 50%), but I’d try the raw case first to see if you can get it sounding reasonable.

1 Like

As in, vexpr-ing like I’m doing there? Or divide to come up with a single number, which I then apply to the whole thing?

Right, regularization sounds familiar. I’ll try that here as well, as obviously the compensation can go right off the charts.

You wouldn’t do any normalizing or other stuff after the regularization?

Alright, here’s a patch doing what I think you mean:

Not sure if all the normalization is necessary or desirable along the way, but I wanted to have the values up in sensible ranges for each step.

The results sound…alright? In this particular case, the division produces results that aren’t too far off what applying a filter made out of the spectral response of frame 45391.

It could be (and quite likely is) I’m doing something wrong here, or misread/interpreted what you meant.


----------begin_max5_patcher----------
9708.3oc68s1jiaijfet8uBdJtOr2sUqCIdi6K2Mdmc8bwZOqi0dCGa34hNX
IwpZ4lkXETT8iYi0+1W7RTjRTRfOKU8ndFqFMIAPlIxLQhLAR7e7MuY18YeN
Yyrn+2Q+Zzady+w27l2Xej4Auw+ueyrmh+7hz3M1Oa1hrmdJYcwr6buqH4yE
1mu4orrh2mrLJd8xnkYeZ8l3mdNMY4tOLc05jEYaWa+Zr+gq29T11hzjBaai
7Oc0RaKlc+u8VAaW8eNtXw6Ws9w2kmrnvAvLJLGcWjfgL+kTY9kPlih9+uu4
WsdWqClm8e9Mei4m65IxlmrYaZQ75hn+xrUq+XRdQxx+xrnMOqgs7sO0Sbld
FbVP4Fzjis+E.hIEoSJhdXUZQRdOwP7YvPLwhZX.lytKxMDOrH3SIa1D+Xxw
rvEw4EQ.BqliEThfanu6KyPyZDAgiQPtX2m59thu7bhC6lMqDOZ.2UDC1Rk7
4.BwjTAFSTLACqoGHKk.iOEk.O3TBzbPBTjE0qTLbpfraTAtkAfRXy4GRE.A
a3oBI+0kwK98Ygx8xUytDryjriGAoVP276vA5qS9jFjNZ764z3u76Q+V15GS
0Z2aDwvMHVhN430lUOtNNc1cQytOd8iAL5wzhrGQADpyO3MjZqVlE8+KZcV9
Swoq9qIQuOIOIJdSzmRRSuKxLSU9mVsIIR2+2mjuIJV+5MEqRSixd3gH8qiV
7dsLPi54HAyov2U+62d+8oIUkSZZ9LgvQ5rZ9.N09ufofZ8WlsYslDnmC6uS
K5+XRw+ivEGJmt5gr0EODuHoJ6UCnIfjVLyoZ2MsMFMEXoyjjn+tMYayWjzB
TjzRTjKg8XnhMcXXdxiaSiy0b7+eBF6XjSykZv2M5VyhuFyrNsgIHpCMs+Ef
cFlbZjtRGrN9IaGL6Okj9wjhUKhmMfjDqVvuLOd0CQwZyWx0cVjLbhCzzP+4
DhQUF5AKMahF6aBQoLhBBFYopVhrRtrBxRECOxN91pQ6psZ9QXrQY8qPqyn7
9XcF2p1dTLG6TnMLOpo+e3HLpaHL.R2BRDtkbgGdT9TlwE8TRp1fqkaBFIIx
KYC2kGawbKJJtDKc01QujPG54wOsJjUoI5UFuYU15Jv5alE+7yUd7apTECQ4
2xrMj7txGsZs6QP4ixS93pc0mU9z3bM1TnQks4tYS9bokIllIaYR95sqJ0CY
Gd7fjcfvLKzlm857riW6dcE8c9I2bL+HvpcWfpXRudj9wzrEeHYYEcr5AimS
VuZ8ylkPutHtvC7kudYxCwaSKdW0oas7YM79cpka7kkSk9GxWYrW2+IOluZY
1ZCPTanv73ccmlO2JKC0PF6WrN94FprlaSSWNwK0pnJ1t493byHk2lB7tWVj
kkV+Uk0KM4gB+qed050GPEKxd9zuLe0iu+L089L8Ke5bss8Mad210t29NMSQ
w61D+w5T6h3zTu3Z8l+ywqW8Tbg19km7lKU9xj0wZD88aVjmklVCecu4iM7l
kZl7EIeZ0xh2a6npLC5Oe0y6XhlUNJub0iIaJp+rh3G2T+IaJ9hinW4Qau2K
D+thDsIxZrn9GnEOVsoXy6y9zF+GtiQqJAXuiDqJTWU2WsmeVyZpqHLd6xUY
QZMZUeailybn9P.pVklc4hpxejRtYEXJ2p3OzdlSXSya1ow2qVYDn.ZFjMa9
8nGiWsNJUOVDsZcqoEpKPJHL9bpPnPTpBQDBNVaYCQ300c8PKbbCcf.Ht.AP
xNlWvg+rIF8qYPPcre65eKSyDHNM1KaF6Y3pU4Xaft6L+WMrtIVGr0ykR2xA
TJqMw3q.p0+yeOBNMkBZlRUZDUPFRcxUDyg4JAkqDHsrjBwPBMswYaE+HaqN
ggjWoTHJYHnPbMw3U.Exq6kq3z4BhjoNC8BeB5EOD50c8jxoWgh.nXIy8Kmy
uqb0KuZY0vngfUiomaiS3.gKoJNRHYvIHXu1EMwrgfdQYn4XkfIzbZ.Cy.k0
V.x78TKAPHv0nfpd.VaTGhALUqETwxgUPsQ9tFoi.lMmn0tvQXrDIwbF+0La
HAFB1Ph1vqiMIUu9anJ86pjKjPkTMXRPDZq4BI3gkKrYo4FHiFlvqL5HlHUy
0yzUWuVPjQFYXIiMxMh0Cy6og5eIjuBl0EnCg3KlxlCDEgRwbLVo0.pNAA60
9rtrAgdAT9bBn3BLP.fJzDGMQghlWkbwXrqQ8c.SXzmHDP602Ueh59Kn1LeW
SzwqIEdcybuAwZOwb5gN9PyFNGWUNUHuFY6TB4bPHAT6mdfOvSOznzaijQy9
1SV4KYT35hpxLg3PHX71KKChA11kl3MYXWr3l3YYssZqEQk7wRF0sUIInC2q
EGSEp5Qzc9VspK9sf75kIedn8MWGIYmmIJT+QNRzmgjkxgas1U1R4r1ytvHx
PoGPe4W1GCQydm6DQFxB2l22LgxsOs7i46XKhpC0KS1TrZcYHU+08959fObQ
VpKPx+pMXZU9wtC6BZHs0vKOP3EDmGdsigbPxHHrfPuy+HhBIoH8CsOAQADg
PPLLVq5VLlHlYpyHHjABkCwFOnHH1A5HBEVTLHZAYrghfX0FUZAMPnvn+Z7f
hP4NI3wFJBgVXbU13AE3P4NoG8guDpLsvKO.3kRtdfWQHixxqG3kDJW4UB7R
C.dM9G7ZAdYg.unqG3MDsT3qGvEG5zbu7vKMTK.oiowAVn.BUI0nAEjqAiC1
ghuvPQnSKiGcn.Epx0QCJfqgQDrLvQjchziGTfBc5iQCJXWEiHnqBn3Z.Hr9
GHDlSNYrghPsUXz.hAXIl6cNkc2PeBuSseyza1vo+jcKs+teHY818NAa2luu
YX+9GeXUZZoYGu4nu3My14TSuwI2U4U0LWAqn.HMlqP.h.yskzErwvpJwvWO
XWEoLpBgMeNkiETlsjDSXDqsOMTU799DAJWOgTRmOlHlGAdKlpV0XyYM15bT
w98pta.NO64r7xy7vbhpV81Vj8Xd7xUdOLhJeW4309SpgkcIW+kGuI1M9UUO
PrpZazD6V4f52ucQ7XLPVhLmYrrEz05ilxxwPo.wjRWIIkbxpVNZxY5Ny78b
yeDtRtVaRFLOkg3TACHVTBqHRkqDCPlP1d.fMKdwBcKWq5DrlA2RAo6PPiXA
sgZmjl7zgUWH0zBGAEARoqjtkv3iq+8OV2mrHJHrcsFpoBgqplsYioDqtOL1
n67EFxV8dGqQSKLCbA1IQJQHfdbmahPmstuylvQ1jTxMQTXf6nZ6D0wMyRT6
z1p0R9u7bx5neJd8lneJ4oU2mktbVU0kifP2ODWTDpPW0C6zudvjeUOnTlST
d80uMB.9O9GJdmsYP+sjNiVU0oToghYlPzImQEHKgwPWHgozHbcgGxogujNA
2PRSkNrkWjlDmWo1fycDJspDlC3zDcAoEpBN1mFmV12c.AGYole4m+mBUboz
Lv5r8Fqcr5EALv3NE8FNQqZN0ACEWIBbgOkzUmEWmRdCLFc5lWyHjYo9hcle
dY4MFRvcgnjyHfUdCzCnX0Ek2jALGNkC.xYXqByoV5GSAR6Ns47xq.mn0eXg
GyooP4KgTWT94O8kk4YOlr9msrTiqXjc2BrZQ+DkNqxgAXkJ6mugnDtYJHJu
RZyiXjgk8uFxIKMB53R8RvIDCX8y6zTo.jMZS0qKbnNOuc3iCCyLJeWx5jOF
OQxBe61hhr0gJQb7rrxRVMjuDL51P5A8+XkSl+qJ.+6hWs926.jqkiJmz33R
SG3u4SqzJFCEANRTE7x.6+YRga7qN.+edS5pkI4ckW+.H9RFAzB0nGnn7rJ4
Zdg6Wr2lB562WlcU6fdjSguMQa4mIVoiG58CwE4q97hh7zABKmDfNoHIOXkj
CLi7UgZ1+b1xxbNY6lknEFwcAKg5DccRHNcVkH5Ehg9OaSPlgBvMos7XCWlP
v+GWsnncz7qVdmezl.leUZ43OsH64jtY539nVoHl+bxEvd8Mf8yw22MTtEy.
zD25E0iNIHudIk22qEocZ6+ZXUzuLJG+4rGMtRXTVRzEFjIBNU.tZQIf0WIT
eHcmBT+e6oVDH7qfEi7KweL4gr7m98Qezp8qX.MmMxDgkw4e3sqMYHu2Z8NX
+bkHsTshnLhikwdTZQpQvy7vEX8GMmKNZdkuYmKV5LtNDEtlTMdwXkMpbd+l
OgAhPUNayiQyi6GO89PBdTgwyU4mIRQnuR3lObgZryFCz1PRNJhl2mlnM2vs
gF91rrOLazYsWs9C8kq6tZ+NBwkorqzCwHYoYRDSxHhd4XYN95ZG43Xdj5zv
HDcg303VMHrZ1na2BqpGF1mVLawwhe6Czqs2HUKElgNmCpGUwwO3Vm+uXxBz
uFLLM0XNV6VhTibIkVdwJ0StSp8R9KDon9MbmRQjBeIgbRrL3o3OyqjlsacX
Mzr00Wiqvqq4rX8ACynClPpEQBczINGj5DZiGDvDFVUetSiVAXp.854v+IZu
xUYGusaWccboKLykPZ1az20XoWH6p5ybdCCW7wRpsmi3v7bQac7ck8w9js1E
Wdx4aS2l7VnGpoHfvuIi1qqVUUC8TfD4YeZcuvhKNOyDfE+CeIteHABqXtMH
lPPHXmlALns5Y5PhuKOIomXgcTnzc3.2Xy2zg.+fVy95h3dgBRJhycNymizH
fcHgqrIlxoBO9WSV1KbPTthHnbspH+LuSEN7umjll8o9MTfYtsjoPBR6R8PL
sTRP6EZlBgjSIhh+ZFQsgZ86xR6IaYoW9XZKiYtc2ZUCQFUj34s4Om1BC+NX
AITjytULCwUVYKSd4FKawdVTTty6o.iKcg+xngbRTsjmrHY0GCeGPzDeZ451
2i.npGOgwEAbKi1vF1Iq03TshckehUg+XQokxTjKtdzWVN2MI6unsdUMq79A
rv0abvoVQ.HgKF6TNR4OIaBHrc2+K6vVQ7ys4DkUwgweebQVz2a7ByrQGF2T
j7v1zzhtGvXyA.VXox7xUZB1TJ+kOkCRFCbgoiSDD2gEjqUovmlAHGxOQ39.
6iLrTHcFpRJEsIXEQImDZm4B85034k7SFuv9k9EbDPoPtUFnYUo9stDGgHvw
G9q5HnIueFfqpQFtJqKdHdlIsxLezRC1biVdVBqn+4OtJu3KQ+iOlMHpe7sw
tFXl4lqa46b2ReuKtnHe08aKbo5fJT+1cax8XZ18woGbEv0zkM22r+.7OtWF
6D9EuL10qQa2Eu9U80uNgMbW+5Z9Z6US4HbgqeBb99sO7PRdIVGs+1HNbB.8
jDfGRyhKBB+AFqxcXJ3t91lDJvy6ut4C+5Zkzs6jV+sLMixC4lZE9a7apUN0
ZcNUhtcQsd6hZ81E0Z+tnVOysGvx6Kxha+UEU+x06T2k.fzJUPTW9FAXht5I
0qtb48s+h2oeDC2Eif.+RPKNJnuUHFukByEBrPPidq4xnRXBVusHfvHUzawD
skzBl90D8rYXpjRzEw5E7AZqo0umNmKAJUWIPYcyN2TKXNWfoDP+Tvbx8wl2
ymqv5+RpWiGn.psFTc+vY1OS.DojXeJwrdBtqcvXooxXyAkfHLEmq3Ttoo0v
FmwYfssoLIFaZTwbfgQLcipliwJ.QrMOhnXllWO2i4Rby7ditZIASoVnBQ4D
kAkvl.0qjNrSCTHC5afdfS0s.ZdzaM9NSWSMHpshUHEJSyooUZbmX1SVJhzf
pV+0HU9mR3LhCULQ4BIsOEHX.LjbhFAEX6SMeffU65ovsJrstvKqWy8fdczb
4KtGl65FVYsqgQb28vL5UvMix+s2pGPZu374kmc10dwKVFm0dfvooKfaW2Ih
ln+tUOs8oyRXN00DCI.Bycl6OjvoOtq6CA8p4NJpHJMJs8jF5kunlu37.tc3
ABEJGyDMo3GS97y4Q+2e.h960+hi9+tYQbZbtwn+tbK0oZg5lSXy9YIfX2bn
9kSeAdpS3oGuI9u32oNb5PXZAweYjnm.Wa3rTY7g7U8EPTGufc3rYgvfPvN5
gD6oGD9q4KXGdnIW0w7JqHzzDNeLSJ0Pn2mJGCsY4KcNYAdYgriSw3kPF5kM
07BpwNAAGRtRFF0bkbnbwvXJJAPaFQfwBJ5+USzWIQ23DtNtH59nv8SNVbRm
FacO9cGtthFiS.UXMJjpZ1BwQyM4FbMMbbkeQb87noyxMJkLVnolTqaivQH1
9.Vkq4wJRxemy4hUivUiF8WO1GZv1r1qZ9bbl4DNGaQc9kG5Q1kS5MzcJF5C
w3+KGyDb+hYBVIOgI88Odf1vxVKcibYFBPFBCwlj8ABFNGSxdRftJZzQCeU1
fRUhH84BqjlDwP6+CX1kqXWPTDUBs9rUOtNSW6zUK9PU.qwfOsaoWTzvyPgi
9eYYq5FCEv6WP3zKx1JNwFdFpALTiPGEajbYEwlagZ7VnFuEpwagZ7VnFuEp
wq0PMB74RPRv1.bQoJB2DUQ5bvrU83139AbEAQsgHyEdPDfjJcQr8v7HYXaf
3jTF0TYfNmKTXaML6gTDgSrEI.mqXQuULWxTbSj7jlSWBV5BHoTfrQZTNGHT
lI5al8hFhKQ1ujomlvDyQ1bLgiASynXfh6hnmPIDXW6PEDgowYy4Tl8gZXig
E1XKplScvEhALFwB3HpI+p6BlntHQ4JxkbgqsEBpAbzHC1jAzswZjp6cIiJr
TABWfkJaQMADgINhkDiMg4TORKEJto0vywRLyhvZb2fGlnPJMmvQj+oXCjB2
hx3snLdKJi2hx3snLdKJi2hx3snLdKJi2hx3snLdKJi2hx3DEkwN40Xb+B1h
K7h27Z7MuFeyqw27Z7MuFeyqwWodM13.Twb.yEXy44.YtOHsd+jx4XPX73Jw
c9NvlK9R2qL2XzRq2PEBNw34TPLWwAr4.afoyILDivcGEEF.1ipAcNkhw9Sz
gIaGaOGKr4..Tq2aIyERrxdVUD59TRDN2vpaVv3LZrwgpbDycBVvTjf6bCrI
qD3KI3fjYOVKDSp8.rMffK3X2oQAvRA3Z.E170VjPQUfP3bor.3lCFiFDDRl
wc0ZbPBLhzAsTgDPfEIQFDV3aVFx3LZc+Rw.ErOTaJ.x5Zc9blhHXNpDUIrm
RFC8fqInBKlyXRFy6MaBwctWzzYciRom1+wxa9O9l+iu4+3a9O9l+iu4+3a9
O9l+iu4+3a9O9l+iu4+3a9OtS9OtSaicz0y1X2ukkIZyhtt1F6cgvxu5Nd.W
gz0ZN1opSczfGmBQ1B.h6JfjBWApTYKnei+UTkzWf3+FNw8MHI18sDf6KvXt
BBek.N3pD.Dh+UTru1Res3bG3foDeCJDdn.uqK.+Gi8eBFAdffJn9NW4gOAB
1An3cE10bN3iBRWkLdQw0dLvWIJ1i3D0NRAa2S78Ig5wJDCndBHy+.Z4oYpl
GYjgFdIZuNSBbkyBVW3F.9K8Q4QRudjUwJhyQqi3Q4Q9xFaRYGiMomzXB5FW
yCKoBrdEzLACeKRk2hT4sHUdKRkSUjJO+wXPM2DxHS3Pz7mTLXNp.34Bt8jK
flSXBPYeIUXOwBlPXImq.jxjdxz5vLQehwNYbSzSE7hF2DT4+3VXStE1jagM
4VXStE1jWrvlf7aHiagM4VXSNiGNmv.CrKvI2hYwsXV70YLK95d6lWcuVFvM
gfneNyQByAJVxDdGcYtjeHiv0ewYb0LEwvVGAqsk24yYfRXNGsR18DEy40X.
Pbo+UbuWdUd2yx.Ly6iXuyXoNWwJ3dW5JDdOWi8eoDqbcDi48xMQH7NilIvd
2+hcdFlRT9lk58jKg58JMQ39aA3cqLEsqm14AaJA4ZX1tliS8fqtq79WFq10
LTeG38BOWh7tmV58fMi5gXA26EdIC4niXAW3Jf2eSYzMOMWtVstcPFbtZFKF
CWMeRWht4orrh2+Gy9z5MwO8bZxO8rFrxOUxFqIOj1KYpFSCTvEuSY9aOOjR
bKJk5bTJxwqvEhatH8lKRu4hzd5hzihCWWcC0YhI2ohKWn9n4Bwm6jGLD2VG
mJMYdE6sigMPTLow1EuuRoG1NMGntyuFzZAra78CT2NkMPOcgwNpoVML8Hp4
q9ScSOc8N0ZEiyGyS9wtoGhvuNjf8z0wPjkhtRFIj7WECEX8XwznLkRul0lJ
YCh1TLQ9xqMcmKTaj5Tt5nnhrHYzCF9xMQ2+kHsIZ4wOpwpHyBN9RDKx7slu
5zohLRa8jr5BNRFLIEMldVIEeNliMWfSDAAyDf4tWF6lwRbMPHW79rmixd3g
nmVkmqEJV5IkCGsRbAZkR3HUlaxK.QPDNVI4Hg4BImitdnTr29b1p0E9kmux
jExOAIB25.SbQ1I5bLyrELwGqkyenZIWCzHGSTjFiSxuDiTqoRWJ5MXliJgc
m7ZWLiuNnKKxL2dzEFsPmyJvSf3zKf3RlEuc6XK+FJ.cEXy6SIwqa+p2Ft8P
f.4kZjW0KM3ulF8Xd11mijsmXcgsbQP6q.gvRlXLXNgn.tfp.DSZu064vUyF
unabSWX4ksiexSnP5I2qLotjbswNsxn9k0AhEav3lnb9bPxYJPSeXJ8LWB2D
4WIbSZpTdxGaOIBC8mDgMYNByDUlTxqI.KDIG.kPnnZNoqJZjdUiKRhH7NPn
v8mPARjkPAbo4RWkIXJjfxYfPbUoZ52zFFFQ5f2c5YJlwOAGVunMhIMPCRfZ
xv0.1DwF3x6PLxTsm4t2rq4z+u+Z5hzj3y3FB1oHUmWOd4sBTk+aWeElSx.L
aNqhZcNHb2tGjp+Q.WOZ46l9qgPEums60h5KZGHS7AiL0nxKF6qBxDY.L+TK
9YMXvbUfe35+utHSVqz6.QhNXDIhzbQiSQ.iK3lCNHhqIRvUEuTQdR7Scw5S
hX3TMoXyk5ICIJAWx0LTBrIz7SKcpaaoWPz6P9fcy6a2SuRDki4BhP804d5E
jyBZ8HbDxt5VgmfPwvq4M0qjE39PzD+lwa2PJ5edHA8xBYlHrNwa23f2Tui6
1oUbEjMcryMFFeLaxYgHgOPM84YGaWFzlxFF0LQDlGrf13BGrfgiQUrxrN0H
ZPLMhQGNBi4kN5vQP7oX9nCG3f4OfQENHAAG3QkdD7woXj4SwAyeLpSDggVo
+.OZvQvfwnJ1BAqNcbO0Xgarz3ZsT3m9H4jaJP3vFcxsgZ.lDZ+5mrasrSr.
p8608sKWk8S1cb969gj0a2uNsc6M9lg86e7gUooKxRyxq7AU9h2La2xvm49p
6p7px5Y14ZXykunTiOyIZsmlSSqYsmBLicfpNe8fcUjxnJD17450nJnLaIIl
vHlRnFpJdeeh.kqmPlE86JoeDbz1n6MyhW+neW3KPUOzz5A37rmyxKORByIp
Z0aaQ1i4wKW4WDbISy9wq8GjB21ET+kGuGyMq82rmDq1FMwtUNn98aWDOFCj
kHyYFKaAcs9norbLTJPLozURRImrpkillqrT62yM+Q3J4ZsIYvrlOOpPMnBF
PrnDVQjJWIl4rub7l0LdwBcKWq5l7duxRAo6PPiXAsgZmjl7zgUWH0zBGAEY
xA+1R5VBiOt92+XsppPTPX6ZMTSEBWUwJWyw3GrUTSSVXHa06crFMsvLvEXm
DoDgrmNpC5bi+Ps08cqL66mMIkbSDEF3Np1NQcbyrD0x2.Z0j+KOmrN5mhWu
I5mRdZ08YoKmUUc4HHz8CwEEgJzU8rH8qGXOW0ywjIwdLGMx.9O9GJdmsYP+
sjNiVU0oToghYlPzImQEHKgwPWHgozHbcgGxogujNA2PRSkNrksQRtRssgbQ
+4ZUILGvoI5BRKTEXq+tetfru676MxRM+xO+OEp3RoYf0Y6MV6X0KpWMEi6T
za3Dsp4TGLTbkHvE9TRWcVbcJ4MvXzoadMiPlk5K1Y94kk2XHA2hLHNi.V4M
ysJNVcQ4MY.ygS4.fbF1pvbpk9wTfVQ0EmCG3l6rbK7HnbkxWBotn7ye5KKy
ydLY8OaYoFWwHaDsVsnehRmU4v.rRk8y2PTB2LEDkWIs4QLxvx9WC4jkFAcb
odI3DhAr94cZpT.xFso50ENTmm2N7wggYFkuKYcxGimHYgucaQQ15PkHNdVV
YIqFxWBFcaH8f9erxAm+UEf+cwqV+6c.x0xQkSZbbooC727oUZEigh.GIpBd
Yf8+LovM9UGf+Oe34Csc75G.wWxHfVnF8.EkmUIWyKb+h81TPe+9jkcWOxov
2lns7ipvTfd+PbQ9pOunHOcfvxIAnMmj4fURNvLxWEpY+yYKqdB8ZwrDsvHt
KXITmnqSBwoypDQuPLz+4sOce3.bSZKO1vkID7+wUKJZGM+pk24GMI2ohWkV
N9SKxdNoalNtOpUJ6ok3jKf85a.6miuuanbKlAnIt0KpGcRPd8RJuuWKR6z1
+0vpneYTN9yYOZbkvnrjnKLHSDbp.b0hR.quRn9P5NEn9+1SsHP3WAKF4Wh+
XxCY4O86i9nU6Ww.ZNajIBKiy+vaWaRfcu05cv94JQZoZEQYDGKi8nzhTifm
4gKv5OZNWbz7JeyNWrzYbcHJbMoZ7hwJaT479Me97CgpbJmGilG2Od58gD7n
BimqxOSjhPekvMe3B0XmMFnsgjbTDMuOMQatgaCM7sYYeX1nyZuZ8G5KW2c0
9cDhKSYWoGhQxRyjHbjVExkik43qqcjii4QpSCiPzEhWia0fvpYitcKrpdXX
eZwrEGK9sOPu1diTsTXF5bNndTEG+fac9+hIIM+ZvvzTi4XsaIRMxkTZ4EqT
O4No1K4uPjh52vcJEQJ7kDxIwxfmh+LuRVvt0g0PyVWeMtButlyh0GLLiNXB
oVDIzQm3bvg8sMdP.SXXU84NMZEfoBzO55naJ1qbU1wa61UWGW5BybIjl8F8
cMV5Extp9Lm2vvEerjZ64HN7rX2VGeWYerOYqcwkUB91zsIUSgbsVMEAD9MY
zdc0ppZnmBjHO6Sq6EVbw4Yl.r3e3Kw8CIPXEysAwDBW9CSqY.CZqdlNj36x
SR5IVXGEJcGNvM17McHvOn0rutHtWnfjh3bmy74HMBXGR3JPwlN73eMYYuvA
Q4Jhfx0ph7y7NU3v+dRZZ1m52PAl41RlBIHsK0CwzRIAsWnYJDRNkHJ9qYD0
Fp0uKKsmrkkd4ioL2iRVFzpFhLpHwyayeNsEF9cvBRnHmcqXFhqrxVXIiiks
XOKJJ248TfoUMZ0wazPNIpVxSVjr5iguCHZhOsbc66Q.T0imv3h.tkQaXC6j
0ZbpVwtxOwpvernzRYJxEWO5KKm6lj0K27ZbV48CXgq23fSsh.PBWL1objxe
R1DPX6t+W1gsh3mayIJqhCi+93hrnu23ElYiNLtoH4gsooEcOfwlC.rvRk4k
qzz3psPNkCRFCbgoiSDD2gEjqUovmlAHGxOQ39.6iLrTHcFpRJEsIXEQImDZ
m4915034k7SFuv9k9EbDPoPtUFnYUo9stDGgHvwG9q5HHgGjqpQFtJqKdHdl
IStA1EszfM2nkmkvJ5e9iqxK9Rz+3iYCh5mq7q.VKgnd5pyciVdX9eveuVdb
5oqVZL4TIEtJIVlit6LCtmBnij3AniDn.5IdsqR5Cx7GSPWCG20nd007Pnu6
fu90ShIqmBni.9.zQzPPIBaH5I9j0SgvKRj6SgVcumBYXhL.nDIDdbBeLjrC
uqGbIaRHLmRZyX8Dz063g7ezSqVZu9k7SHQPXS1sW.jiu+uo1k2clWgY9L9t
vlg7YUl5evFXYghh8l6kDx33nv7FROCxwfCBGBGDdHTNX6IHjdpu56vS17RX
d.3DvGBbJDw.7PXGHNDlwgf3AAMU6Pv5AAIeMDVDA3oRbBfPvogvdcHDCUvG
yQ3V6yA2K8lN4f6i9CtK5O9dn+z2A8Gd+yaWF3AY2NGxdgrZ2AKT2SJZXCZr
aAjMu+C6R1qqiYttNt2CadOXb58ewI16E6Vj6ceyoWxd8kqWkyqgrQW2G.Nb
mwzs8mRGydTcKayMXCBdQxtjY45dVkqOYTttlM45Uljq2YQtfyfb8VfXelhq
YAhS3syS5oydCPGlA395PNM3pMlBpAlM25dlb6LYwsNlA25T1aq84Ymyk015
MGcY1YqYV4dkQ1d4DDBL6q8Ra0PSxAAlk05dFV6LYWs9jY05VVUKfLpVuYwq
k4zZCa9IEH6nkvsM6n0U1yNkPMBlo9bFaE1gVuGY.sSmyO5VlOq+ZiqkwyFJ
d0pY1rl4XaUpcXn.q8YsrqHfpRFI6hPUfoGmACzplswZF3BNQcMvvD9pBnpk
kvBi2pwLCQeRlRglQv5S1.annWkY8qPkCaBOBOKeMTf8gYyqNA8CJ.UISc0L
vLfLTSppmJYfq.zJFnQBmY12NmwjFLDtUpPPiLiU0LlUy.SqyRVCEncX1vZ.
46GTvrRlt5JxZipYwp.3xtblqpSYspgBaJyNUgfJAp0qyYipACoNHqS0G6IB
NKSMX.ekMH6PXN6YFTtT1iZnPoJYIpNMTLjvxAY.pAjB2iL9TuQtlyrSswUG
sHaN0Cu50lLJxf37iA2id0c9QWyRScNCM0aNkixDSCQSgaO+VHYZod6ls.Si
PuF3zNYFTpyYOoPybRC.KWYFRpcbHmLqH02chP.4TmoSe0.GKgNjoiZKwoaY
3nNlci5XlMp6Y0nNlQi5sXxwYtnWNikNJqDE9ZDC7TV0orPTuwqZ4vj.c8YH
YXnPytPsMmrLHHbkLHTHqxKfrFzf.V0xNPC89nn0YAnNlAfFYa.ZqN+9wUUW
5HrQwpYzmPc51YxhO8ly53r0Svh4AkgdFJ.rZl3IXHLnruy.AgUyxNACfAkY
cFH.rVFzIbH7BmO+AB3NH63D9TMgjQbFHXrRluIX3Knrcy.Ae0ypMgSBCIAu
b9j6xvh.3WiHvQYglvYQBIQPza.rZFl4TFOzkrJSOynL8Fupm4XBmmIjrES+
AtCyJLALiefYBlNkEX5MBUIaub8LCxwYxk.HyAl8Vd4DXKyPKmdmbetrxx.z
+Mj8UBgvFVVGoSYakACoFIbZ.WeePYPk9SOJyTJWImWfpY.k137y.y5ImIim
zurcReyzIWJKmzNBq6nyYifmoM27reHblY0pey+427ew3Re8m
-----------end_max5_patcher-----------

Your normalisation doesn’t seem to be designed to achieve a particular aim and I don’t think you want to normalise in all those places - what (in word form) do you want the filter to do) and what do you not want it to do (including effect on the overall amplitude)?

Otherwise this looks sensible as a way to get a set of band amplitude changes, but I’m not clear on how you apply them.

Yeah, I just kind of chucked those badboys everywhere without much rhyme or reason.

What I would like to do, practically speaking, is play a sound on my snare (or whatever), using a separate/unrelated part of the patch to query for a matching sample, and then adjust the frequency response of the matched sample so that it sounds more like the input sound. I also want to compensate the overall amplitude (though I’m presently doing that with entrymatcherlookup $1 to manually compensate for the difference in loudness).

This is basically building on the more recent patches in this thread where I’m doing half of this (creating a spectral envelope from the input snare sound, and applying that to a sample). The main difference in what I’m trying to do here is to also take into consideration the spectral envelope of the sound that is matched, closer to a mic/speaker correction-type thing.

For the sake of speed/simplicity, what is applying the resultant filter response is a set of cascaded cross~s with crossover frequencies set in such a way that the center of each band falls between the crossover frequencies. (all as a workaround to doing this “properly” in HIRT-land)

If you do the division with no modification then you will correct amplitude and frequency response together. The main problem is overcorrection which is the point of the regularisation. If that’s not enough you could also hard clip the final correction.

I you wanted this spectral correction not to adjust the overall amplitude (which is hard, because we don’t know the effect of the EQ on the overall waveform shape) then you could try to create averages of each curve and divide them out, but getting that right might be quite hard, but you could try averaging in db and then subtracting the average, rather than the max. In the patch you have right now the db conversion isn’t needed, because you could simply divide by the max in the linear domain, which is equivalent, due to the laws of logarithms.

1 Like

The normalisation you have now is definitely not what you want, because if one band is high it will dominate. I’d also only “normalise” (based on average) the initial two curves, and not subsequently.

Two birds with one stone is good for me.

So in testing this out, as a point of comparison, I’m getting amplitude values >1.0, which I guess is what I should be getting, since I’m not compensating for the maximum.

Here is averaging (in dB) and normalizing the curves before dividing, with no additional normalization afterwards:

The final curve ends up fairly wide now too, which I guess is where the “two birds with one stone” amplitude compensation also comes in, is that right?

If I normalize that (off maximum) I get a curve that isn’t too different from the one in the screenshot before (not as big a dip in the mids though):
Screenshot 2020-06-25 at 11.58.47 pm


----------begin_max5_patcher----------
9392.3oc68k1jiajbnedleEvL7Gr8qG55938E6UV1ZivRxJrjCEN18ESflDc
KnAMACPv4PNr9s+pKBBPBPT3rQOZ5cUOnwYlYkYV4QUY9+75Ws59zOFcXUv+
2f+Rvqd0+yqe0qLmRehW496Ws5ovOtII7f41V8TzgCgOFs5N60xi9Xt47f0D
HlJHAf0BtDIDpCjRr53.3Z0wbgP.j5SB4TAWc.UcBj99Qpif7Suwj3cQaROt
y7ZQtStOK5Pzt7v73zcus16X2wmROlmDka.Sn6rwaM.W58+5afjSeA68k+o8
QVDe0pf+em9Ng4a9k3cO91rnM41qx3r0f6BDPrBeN+iPvtK.Q.5qgoqAEuBE
fDu6Dbfzm6+80uV+q67kBeLIO9PR71nrU0hbnZPNzpBLHK7on7nr2FsK79DC
JBbW6f5Ej+I64fMRLtqLAQ8HJzQAe1qZPWXIrsYBFGIVSAm+ABIEDL8cT7Jh
ebWp5oSh27tx.VE53oSdH92LvonOz0F4boHHWwIBWCARnTe.hh4Dl9.Fjvr7
xT.kquGJmBz7ubBjy07uXDiHuI6aqLmx9wahj34k2bWzGTf6Ujv8Agu+wuOM
6ovD8.juXMseXME.0XFhH0+iDY9CTSnIr7KRIRYQNG18pUODmD89nrCJEKkt
6WsJb+9Rm9UkdDMI4WSMuHwcEmJdm8TvhSkE893SOOs3rgYJzIWgKGyLH6pO
xNoXR+ZRUR86NFadS1SpFbbfjYXXmR59v9vM1GVOZc5xmIPRjgs.gMb.Rl4u
3JljBRjZb9wjzMuKZaI8Cpwg8Q6h2UVYakKuM5gPkxo29P5t7SRhPM4ulq+f
CDq8hZjv.++or3vjBL3wr3so6z.QkgB8oO849KAPpQGDsLxXticg6q4gU7YJ
5RCW7fBIOd39vL8HkSYI5zEySSSpdohmKI5gb2k2Gua2ETw7z8Mewr3G+ka7
r2mpt3S25catxg2dbm8puUwTj+1CguuJ0NOLIwIrV80+wvcwOElGkGaGBPfh
KZmv3WNrIKMIoB9Zux6q4JaUL4ah9P717ew7gJyLnt838mXhVULJuM9wnC4U
OWd3iGpdlhIpJcpi26DheadzS6STXQ0aPIdDeH+vuj9gCta7DiVYBvY6cJKT
WVyWkyeyYQppF7MD5ZLgSo7xWttYDZV+XSyLzhdxFmg.ZTRBsSTPuZJgFlV3
UmlZvoApmDqJSWTkVs897zvUckZfGF0fHL5EEFUHX4kSbTyjGyCwHLOc68cl
X.GFwfhrlosvnEOEEtqYRApARwsYLdHIMLWaXarVJrE5BzZdADyVXTl7fjfj
tSZH2lM4NeXUr18CL+CRtltPnHuO5i6yB9ae.F7F0uQA+yG1DlDloshJ.1c4
otnqsAaftIADYYlfbb67TnK9VWXxzHReMeyNSrXjwP6CFXcbgyAJCQDRDybN
6UtA0oL4dS5SOEsqpAEFfc21nON1LiVDsYpEnApEckOLHXjkdHPN5A1S5Abn
ziy1RqMWoAKjLvs950SnNjdLayIF.2r0AUAZkQg4w6J7r3ubl5nuQuFm5JP.
8DHz5ImLffQ7EJlRJgFHf9.D3oDJjdRJvSMovqwC4TBE3t.EUG4Ry1ZClA74
EztAjApUOyqKGTiUZGW29VqS5uMLOOK99i4V8OkiRSmbl7wjz6CStvCv5707
0mAtwINXJyL2pcPT6Grv6vfg5YXvTdapMDCXbpQvaILX8.KOMSxkn4gmRSy+
knsAg61FrM8C6NDpbGOZaGhAJ3Zx.mt5VHqwnbtcdRgwNJLdNP1rnCGSxC2k
G7WUSg99nr7ns+0UAG1qfsriOMPblbCblSLdfvPl+AB4yJRGkG7PbR94jPzS
LDcCLDY8wBAgZNY6P73hfMEz+C4gY4JOZTNyf3DLmooumOlB7V5kw6m3qMhL
DAasxuJpfvQJ2CnbJRKRCusvLZzoDf0PAj.LndoC8mJH5Y10LL.DLcM6Rp.j
SGepPzusMbyuuxWtWlbUavNUPudDjX.cxrj6kjvO86A+Z5tGSTya5aBC4fFG
uND+3NcP4CVce3tG8XzipDYuhBvky27Q+0UG1ElEozJ+2oXleLJ+u2+A3BEv
kSZApYTFBDDyXK77DQHvrLqqYR1f+NqsZc.EwcDEYB3YLTRmOLLK5wiIgYw+
Vz+j2XGs.6t+38UySSkXzfJRMQsS0BHVzz7OPD+RWtqOmhUBLyeNJ48Q4waB
WMhjDib8mVGF+PPnZBYct8CD9Sbf0MzCaM0p1gdHBLei80gnDJVB8FYOmCdO
QVASTBYI7wGYmdqOH805C2HLx5BwKN6MHrgXuAyEGV57g1v0A08+8GgA8Cgg
PaNurdO.gnwGkabQg7TThxDhsG7FIwh1rJo8wVDylWq1Xo+i2xBQ3lbyx7Cf
1khEf9kkExWVVHeYYgLrkERUyZtH69G2FmFnzn04zFAgsj1HYMK7OpMKiTwk
1yLsoo8VT.ECxgC+dvigw6BRTiEAw65LsP1Bo.SYqIbtDPHR.lyYHkkMXtSW
2xgVX4F5AAf2BAPPulWvh+zYF8uQF6Ot6WSULA7lwdQ8XOE09xXno+qsbQis
qWRg0c.4xY8M7O768XYLTXDkWFR0nGwL3ZImvjbfRVRBn.th1XsshA8X8Krf
oPD7XPgXJhwK.JjS2KSxHq4XAUB67RHpvYq1BX3fnbJOT3PBRPs+lwX2U38x
KVVMDXLX0np41XXFDyDDICvETXCDrW5hlH5XPuHTvZjjS4JNMHEQgRis.30m
oVbHFCWhBpD850WIS.oxNKnhDiqfZs7c0RGgH5ZrR6BCfPBf.wnrWxrgX3Xv
FhUFdcsIoJ+ugkoeKRtPLQPTfIFfIclKDiFWtv5klqgLpYBWXzQDVHWqloqp
dMuHiT73RFqkaDoFlOSCU+Fi+LXV2VVyydRvPD5ZHVhIDDCgjJMfxFHXuzm0
kNJzKHgsFCkLNBhgPBWQbraCwxjKJktD02Aobs9DNG1c8cT43JnVOeWczwkj
Bu9Yt2nXsGeM4x.enXCWiJKmxEKQ1NIWrFxEPP2mdfMxSOTqzasjQ8JQST5N
oD3xhpR0o3fyortKKC4irsK0waZ26Cy9rr8aidHXSkLpaCVsj2tG8jjwG1di
wEOxIh9fd92NLBwptytPwBeoGKysCi2a5.M4Y51zAbOgBzTCD9rUTXS4t.As
DFOzQHbA.EzEATH7k2DL0PgOLm53hOYPAFtDFQv9JifnSMT3yHBZRoEhkvHB
AuHfBlmiH3IGJ7gVPlxoQzolN.46VLsJQaSZhcAh4psVm+koJaMcvquV.rP.
WpuSJrPfWhupLWHvK1GQY3xAd49p5Yg.uLeURsPfWeTsSWHpy7cBQ7Tt45oX
emPbJ8qhtHbwjJWB0bApzW93oz3.lubmTxTCEdQKlx5cfvWy0pIFEUzrXBJD
CJnX.hiI24NEVBDDf5jly.HP.FiATDhyo7oTEjv2XpTioWcWk44fSYVMzMDc
pyKld8BN8GMKo829cQ6NdNHXmV780ik2+3CwIIEf2qt5Nd0pSA0zgD2U5RUP
Kjj.gBMZggXttH+nNRcfIGVkoFtmCd5AIThDfz2Ngg3Dp4HABSwFZTMOJ572
D.k1uDPJrrDX8ofUpfstkHtd2yZBNJGTtVNoq7vo6SyJ1yCqwxJO2w7zGyB2
F6hvXQIu37304cpgs57ptyqWD653ppK6ukeG0wXVLn9sG2DNECjEHyMFK6.c
s5nonXLTvATgvdjffa7QKFMYT0GSe+L8Ob6Q121rLX1j.KgSgXCJgjXgzdDE
Bzor8B.aU3lMp2bkGGiTL3FJH4DBpEKH07zQIQOc4iyEJZgkfBfBg8H0aBgt
94u+wppPUpG4lOsBpIbt8Q0KyF8Qzp1qdP8w2nIaU+5HEZZfYHiirRjB.PWm
mu7iqyPm4YeqoDZbHpfaBKQPlkpcRTGUOKQkcaqRe5+w9ncA+X3tCA+XzSw2
mlrcUY0kSfP22Elm6qPW4M6ze4hodKuQoz6n7p54m..+G9S4u07Z.+QRmQmd
z4TogjpmPzJmQ3.CgQSWv9ozvecgWxogZSmfcHotit7MuIIJLqzSCslsHUpR
nVfSQz43NnJ3ZaeZV12tAAmXole9m927Ubovfwpr8ZqcL5EgHHkYUzq4DMp4
jWLTrPD37eJoEmEWMIuA0FcZmWSKjYn97Sle1t7FEvYVOJXTLzHuAUCnHYqx
aBOlCmvfPf0vVIhQLzOpDJLqzlaKuBYXk9CC7n2MER2Q.YqxO+4OsMK8wnc+
jgkZZEiLqVf3MCST5lJGFAOUNOeCVxsyTfkNkz5SQwiK6eEjSTXDz0GMHAGe
Lf0MuScG4grQWd7pBGxaya6+3v3Lix2DsK58gyjrvWcLOOcmuRDWOKqnfUC3
NBN41P5.8utzNy+EEf+Mgw698d.4J4nhIMt9n4C7O7gXkhQeQfqDUgNYfy+Z
VgazKN.+euRKXpy75W.wsYDPGTidghxapjqdG2a8qMGz2usndg1C8HMgu0Qa
Y2HlpSG58cg4YwebSdVxHgkyBPqabXdqjbjYjWDpY+9zsEUQwtMKQGLhqEKg
5EccVHN8VkH3Yhg96O9z89Cv0os7ZCWlQv+Gh2j2MZ9hk24GLkT3WjVN9iaR
2G0OSGOm0JIV+SiNvt7Fv9ov66GJ2gY.piasU8nyBxqbo79A4jVy1+UiWzOO
JG+ozG0gRXRbIpkAYLmQ3P6SQvPSrRHtT5NGn9+0ScHQ3K.mQ94v2G8PZ1S+
9jOZ0cOF.qoSLQXaX16dyNcEx6MlnCNrPIRJTqvKx3XQtGEFjZBhLOrEV+IK
3hSVT4qO3hEAiqGYgqNUislqrIky6WcELP.nzdadJd8ngwSeNkfWcvzEp7aj
oHvmIbyW5nF8l4.sKjjqxn48IQJyMrKnguJM8cqlbV63cuanbc2U42SPdYJ9
TpgXfnvLIrtXDQZOWlSut1INOlWoN0OBQeHd0tTC76IqMra98nWl1mNLaw0h
emSzq4qgKejeF5bKndREGem0O+eVWEneIXXZh1brt4hTsbIEVdQKzSdRpss3
EBjD2BtSJwBt6HtXVrL3ovOxJUls6bZMTr0U8wk6z0bSr9hgYvESH0gLgN4D
mKJcBcIBBHLEIqN2oVq.bt.8q5w2ywZkqzJd6zp555iZYlKtPu1nuq1idlrq
ZHy4MNbwWKo1cNhKqyEcMv2kVG6yluK15jyWkbLpbmBuypovPtaQFcVWsrrF
54.IxR+vtAgEsNOyLfE+KeJbXHA.Io1EHFmiwHqlADTY0y7gDeSVTz.wBynP
Q3vgLsMeyGB7cJM66xCGDJHH.FyFLeFPg.lgDlzTXJmK73+LZ6fvAdgGQvBe
UAtYdmKb3+NJII8CCan.QsKISt.JLt5AnJoDuVKzTI.HlSDE84LhZR052jlL
P1xhn7QUVFSsqt0xFhLoHw9iY6S5fgeW3PBAXsaEQALoQ1RWWtQhNrlE4Eq7
dBjxD1zeo0PNKpVxh1DE+d+WAD0wmV329YD.Td6ILsHf0MZMaXurViQTJ1kt
IV4tsEkRJSha0ezmWN2CQmazVunlU97.l+5MtXWqvg.tMG6DFP51Iabneqt+
m2gs7v8cYGkUJfweaXdZv2piBypIGFOjG8vwjj79mvX8F.lanxrBOMglRJe6
6xAAkBsooig4X6lEjoTovlmAHKxOS39HGiLjfKrFphKDswHIVJlEZmtgd8Rb
+R9AcTX+zvRNBTJAVOCTrpD2RWhA.X30a9qpHntte5QnpAZtJSHdvNlIkxLW
1R81biNtWBKo+4qiyx+Tv+5ioih5G263zKXkty0s8s1tz2aCyyyhu+XtsTGT
h52stI2iIo2GlbQKfqtlM2qOuA9m11KNl0Z6EW4i1oVI9htghioiWCEWwWaZ
MkSPKDuAb99iO7PTVAVGbtaD6OAfzHA3gjzvbuveHkVpGlBssusYgBrOXWZ1
SgIZsPd2tVw8rI7xccgWttSq0VmZE9G7N0JiXrNmH.eoQs9kF05WZTqCqQsd
itGv16ySC6dqhZX05chsI.HLREXY6cDfYp0Sp7tb68cuw6LLhgswHvQOGzhq
R5aIhwa3JqhEbHM3Mv0Jytwb0Q5.vp8oRIzD7Fj11dJybZNQGBrf2PVyfHfj
ndHn5jfpsVFqCCGsYBERF2NmR68XFpsy3JMyDSwE+wydO73u4MJBZ2Y7tMmm
0BrVaAJ19DLjakI8nOvNSzD08E+zwmtIgooFZB1CByc5Ncg+zGaiofSVLcSm
7fjfjtSZHs2RgaUikcsH..9xwLSpueezG2mE729.L3+i52nf+4CaBSByzlm1
m9olrCZaZv5xaR.QVs8NG+ZgmpgXR3LF8Yu6uvHiwjfXWUtjyAJS7DRczNWz
sJmd1JXXzU9vffQV5g.4nGX1K5VAyRn.4B8FJbUR2oAJ7s.4Bmxx2bMkl+Ff
B7TCEdOhLYPgr28Gfzrs1Hz.ddgrq4oJfL3zzaP7DvXSYaRg4M6Si.wmIwgu
gfblGbef+QzEwaL7ll.4d2k9UTarNIlfbhHx5sPbxBnqFWS7GWYshq9DRWBA
OUnohTqdG9iPzyoVISwikGk8VaXvJmKlZM5uZT5Ufs12qJQGakdu3FZPcV6C
8.i6jNCcmigdeL9u8n6i5Yz8oVuDQRQClzO7LWYRfXkBiQ6LDPgOLDGhNmxR
3sXRNSBTOhBcTvWokRSobmdCRDUQhnfy+.0qGSjMb+7RwhYU7i6RUOcR7l2U
FvpMMImb8h.FeFJTv+ngspeLTP1fXnTTJq3Dc7YnZLoXgu+wuuy4EC1SIGAy
F3I6bERzWxK1E4EChroDCSs+i6u9Rlw9Rlw9RlwFZlwtYBPXv0PpdEn2XJLP
cMNYxAlACnMjgR7YqqvzEPvn+RZD+ibZDuUVbhB2sfxeyBhx7k72zb9adyKp
72f+R9a9R9a9CP9a7MduxYOD43NlTm4KF4uvxtA9y9zMMB4K3tOORE5Hj9lO
SxbRuBsJX4DZUWLzvJCRVVgVsODV1hKj0KP5ZkvVb1BZEHA.LBLvb.DvrG.D
b6ADgzbf5JtKQjB2AX28vv16AHP16ECYtCnT6Ab2CAYP6CAglkDp9RDj6oEt
mhwrfChfcuPN2AEnSeBn6lQtaAAfNffvItOtzAeb.7DfhNcvoWmE9HPg8gHp
eruOJz8PDjCwwxSjB5oy39lXhCq.THwQ.otSPJxvVk3.I7MJ4jAEjblMzu1j
A.grm6zKIHKGYUjMlXbzDldIw3kkkxALyiMcDue7MNhBS.WCIJwCtipn2Os3
IXmlcC8RD.EYzZ.4BqBJHASsRk3SmQRspXfJETB2kXNUBRmrLEhnNEJNIWhU
tkybx+btSMGxcmBjz9gnTmJQLm6zbQ4HmtBjUMBAKcuVhSrGSbpvvb6+xgNc
PDvouzI0cDLv9homdcLhCbUeJmxHj7zqg39.NU1LAvoKS3T2QINHlybprETf
kNh3Lt8.z4MkV+TKUrRx6WVJs5kP7oPuTiYo7vSoo4+xWm9gcGBeZeRzOtWA
VYMsZIpAoECRlp17XCac6a9Gu7WhsKYdhc68Ar7JLN+Kou7Kou7Koubfou7J
i15aRVtgAbMYDmuYfnEi4ZL6d1MnEQPVKobNR8+QXkAB5RcK1sStHW9dp2pt
aGg0JV2sTSUJbfAn+D0ToFlbE07EepSG3FCjXrhwtC3l8sf4.DgeYHA6nqSg
HKArPFIDrWDCEH0Xw7nLkPVxZSEzQQaJBKd90ldJAg0RcJ7NJHOMPD7flu7P
v8eJPYhVV3iJrJP6vwmBnA56UeWvFWsS3tlmTYKoIEBEq003QhjsFwPBtjh4
XDka56YH6LV7k.gbyujtOH8gGBdJNKSITr0QJGOZEuEZkjaIUP8lwGfAXFRJ
X.tt1+w.KGJE8M6Si2k6bOOVuMJ57hmqozt2J6DYstSXfwnq0x4VYT3k.Mxx
DEnv3nr1Xj5LUps0l.hZoRH6xmyti1WFzkMo5B0VtVKzsrBrADmzBhKnF71V
mgbk6.vK1kH23sB43.mTiXQ6ZvukD7XV5w8AhtSrZYAE50pliyMjIJEtFikP
FmHg.pvTfIYvESYgnebSs3dY23mbDJfZx8RSpKvKM1oXs5WZOHVzQiahvXqg
BFUBUzGpz1fCH7EC2jhJkE89tShPvgShPJJf1jGDDrlqSvBVvfPImqqx33EE
MR403ln.LqGDJzvITPAvPnfLgYCKvoR.mvnPco7dAoZ5WUFFFf6QzcF39DvM
AGR4zFFPgTn.RjX.QWfkgbX6q+Y7bshvuWulvU+ueKwzm2ZlTQahTca83Eaq
4R+2oukeAIChnqokTqyz8mA81SDW9GcUZdonkue5uFCU7N1tWJpuH8fLwFMx
TsJunzOKHS3Qv7Sk3mwfADdM6R++WVjIiU58fHQFMhDVnzUgI.HkwY5UYltW
GPgKJdo7rnvm5i0mX93oZRRWKTSFhkblfoXn3Hcp4mW5T+1vJP9fS4CxNuuY
GqH.DFhwwb4mm6XEnXkW9iv..i2sbGAgff+gnjigm1ZNFtiq2+Ybqy3OrIl6
5KEz+MOyzVgxfTugiIkOB4KXflVvvawJsmaAnICNP9tghPS5l4A4sHjdt6ID
Nzi5XunGnIGNPdye.mT3vO9C1jSOV.SCYfCxBfOk1I8GSGbv7FNlxJXnw8P+
3SgSKb3Oe5rWqI8G3DzY2FpShKOu6oT+G8lRnvaRAZ1Yg3CuPpNMLPBeUHJX
2Xq3VYwJ2fCTmWq6G2Fm9ilUb9a+tncG8u8u9PbRRQOY6UWcGuZ0I2vcMDv6
Jcop8oOcOBzzG1vJIHDy1w93HJ8BsgtmCd5AK0X4cssM0QBDlZ6N007nnyey
SMiPLP6zu8nRM9xxOZntuXYB2AGTtjfnFfyR2mlUrkDVikUdti4oOlEtM14D
bASy4wqooE98sG2DNECjEHyMFK6.cs5nonXL7bWzUXZT2M8nnt2H+llAy6Zn
4WR3TH1fRHIVHsGQ068Eu5Nq3hFdYQSJG6ZBl9z5L4BEsvRPAPgvdj5MgPs1
5Lk.BjaalrRJw0IfIHo80QYdzgF4HEZJrsSWNxJQJ..ytix2FzHBKQPaOOsP
TGUOKwkcnw+i8Q6B9wvcGB9wnmhuW2Rjm39l42El+xrge9C+o72ZdMf+Hoyn
SO5bpzP5ZioZ4rScmYMcA6mRiN1TSKwogZSmvoly90Gc4a1jI4ROMz1hskJU
ITKvoH5bbGTEXd9S+pEYe692ahkZ94e5eaX8HWj1ZGa+FGAoLqhdMmH55dj6
hQfy+ojVbVb0j7FTazocdMsPlg5yOY9Y6xaT.mQr82XJFZ6f5pATjrU4MgGy
gSXPHvZXqDwHtV0NT3SqCmgU5OLvCmvjR2Q.YqxO+4OsMK8wnc+jgkZZEiLY
zJdyvDktoxgQvSkyy2fk1dMs5.mRZ8on3wk8uBxIJLB55iFjfiOFv5l2oti7
P1nKOdUgC4s4s8ebXblQ4ah1E89vYRV3qNlmmtyWIhqmkUTvpAbGM8c6dGn+
0k137un.7uILd2u2CHWIGULow0GMef+gODqTL5KBbknJzICb9WyJbidwA3+6
Wt+P6Fu9EPbaFAzA0nWnn7lJ4p2w8V+ZyA88ai11e8HMgu0QaYW8.yA58cg4
YwebSdVxHgkyBPq2IydqjbjYjWDpY+9zsk2gdcXVhNXDWKVB0K55rPb5sJQv
yDC82e7o68GfqSa40FtLif+ODuIuaz7EKuyOnKtS4uHsb7G2jtOpelNdNqUR
ytknQGXWdCX+T388Ck6vL.0ws1pdzYA4UtTd+fbRqY6+pwK5mGki+T5i5PIL
ItD0xfLlyHbn8oHXnIVIDWJcmCT++5oNjH7EfyH+b36izMkweexGs5tGCf0z
IlHrML6cuYmt.18FSzAGVnDIEpU3EYbrH2iBCRMAQlG1Bq+jEbwIKp70Gbwh
fw0irvUmpwVyU1jx48qt54G.TZWNOEudzv3oOmRvqNX5BU9MxTD3yDt4KcTi
dybf1ERxUYz79jHk4F1EzvWkl9tUSNqc7t2MTtt6p76IHuLEeJ0PLPTXlDlA
TpPZOWlSut1INOlWoN0OBQeHd0tTC76IqMra98nWl1mNLaw0hemSzq4qgKej
eF5bKndREGem0O+eVWjleIXXZh1brt4hTsbIEVdQKzSdRpss3EBjD2BtSJwB
t6HtXVrL3ovOxJUEr6bZMTr0U8wk6z0bSr9hgYvESH0gLgN4DmK1rucIBBHL
EIqN2oVq.bt.8qZUrywZkqzJd6zp555iZYlKtPu1nuq1idlrqZHy4MNbwWKo
1cNhK2K1cMv2kVG6yluK1pRvWkbLpbIjqypovPtaQFcVWsrrF54.IxR+vtAg
EsNOyLfE+KeJbXHA.Io1EHFmaqeXJMCHnxpm4CI9lrnnAhElQghvgCYZa9lO
D36TZ12kGNHTPP.LlMX9LfBALCILITRmO73+LZ6fvAdgGQvBeUAtYdmKb3+N
JII8CCanP201syyAEFW8.TkThWqEZpD.DyIhh9bFQMoZ8aRSFHaYQT9nRceT
xvfV1PjIEI1eLaeRGL76BGRH.qcqHJfIMxVHAkgDcXMKxKV48DHUoZzniWqg
bVTsjEsIJ989uBHpiOsvu8yH.n71SXZQ.qazZ1vdYsFinTrKcSrxcaKJkTlD
2p+nOubtGh1s8vKwYkOOf4udiK10JbHfaywNgAjtcxFG52p6+4cXKObeW1QY
kBX72FlmF7s5nvrZxgwC4QObLIIu+ILVuAf4FpLqvSScn17YWNHnTnMMcLLG
a2rfLkJE17L.YQ9YB2G4XjgDbg0PUbgnMFIwRwrP6z8aqWh6WxOniB6mFVxQ
fRIv5YfhUk3V5RLcum85M+UUDDy7JT0.MWkIDOXGyjt1.ayVp2lazw8RXI8O
ecbV9mB9WeLcTT+rvau3FBQ0xUmsiVdY8ev0WKutCrWoRSbqZBWAq+EkhhqZ
lli6mtRM53h5yQ++zbO9zW.eiEV6ymVVO8dXHM0iOb4pcTu+PPnGeI5X7g7h
CBLBeIhOenwf1I7gwjOBeHu3CEj5EAPyfzmnhLvSwaMM0GmZNL.oqY5bH95t
JsqSa27kPTWcDmap65zxs06BTDOLNSlOLLhoPAiWeZwTnUE4iBlQQtG3yWhM
BeIjOZXFkOjWZmGCAeCcA1FqI6bUQbXeIfOeoAiSbOvoxU5wg8klkYQwTe0R
N3ujWS5vlDa.89SO5ZqHfNLKzv9R9HGfGCEiD9b8klMQalOnDeLrwiIlquD2
GVOlbJD37+S2h.m0yyv860ts6dbyWc0Sg+pMX.h6L+Y7N6eZpO6qxhzMPd68
aZgLqBy1nCqwl7iYVOe+Hy1GFV8Tp5Cu6Xr6aabB+hZKnE6aolBdQXRbzlZV
dLmbeu9U+Yepcf8rtA1yU9Y8q.llW8KMrxWNEhg6dcyALoZvRJyJVSs.r+C.
Wttj52pCpm0tq9Uq+FsAAm3Wepqe8ul9Mj54WeqkeCpN9M3Z3m20uuAKPbtN
8Uu.QCwZtw3LOX.5x5u2mGxod+XSofpm0Ru9WG8tQMzqm0OudU675dUN5V0L
uAyQWTa7pmUdP0CumOAAOq8cO2VMTmbfm03t9We6tQssaH00t9US67nd1MXV
7J0sttvl2n.YOsDtq0lt9xd1qxYh2L02xXK+JY.Cn9y0bEWoe0ctgqMtR8la
r3UKWW4pmisSEViwBrNWy3VP.Uo5AWqPkmEmnQCzJWq2pG37tLoMxvDZQATU
pQa9waUac4XHkxJeqGaCoVrMVzqhZtluxg0gG9Wi0FKv9xZoVuf9QEfJUmzp
GXFQFpYU0So5elGZE8zHgaL6auqWUiFB2IUHfIlwpb8Jqdfoy0nrwBztrVjM
h78iJXVpNisfr1nbMDyCtr1qaX8plgMVXSQsAyGTwSsd8tVfMZH0E07qgXOg
203qQC3Ks7jGCyYuwfRa0tqwBkJUit50PwXBKWT+sFQJ7.p2VCF4putZ0kPc
zgZo0.hpWWpmKiRvOF8H5UM3G8sFY065i0f4TtpNXMFuJT2427oNWM3vr4YQ
b5k.mVi0updW6p7stUMBrbE0mptwgzXMoZnqDAOpnQym9pQNWB8nNS0UhS+p
uT8r1R0y5JU+qoT8rdRMXwjqqaTOeFKcUMgxeeD8bOt0qZ.0fwqJUPFOC8oO
02IeqsScsh3LJHbo52jOd44QMaZT.qJ0lowdcTz4ZvTOq+RSrM.cUm+v3ppJ
c32nX45ojuAc6F0PoAyYccsRxawbupORiE.VtNH4MD5UsOZjfvx03HuAPupq
QiD.Vo9E4OD1R0QXj.tKpMQ9OUiO0inQBFKU2g7F97pVCMRvW0ZJj+jPeJuN
2tz5LtH.5kHBbUM.xeVDeJCGCF.KWeeZx3g9TSeFX87Yv3U051i+7L9TqdFN
vcYM4wiY78rN7zqZvyfQnR0ZmkyLHWWGc7fL6Ysy44Sfsn93z7J49V0DmQ36
WSsuwGBqe07kdUqaFMjZhvoQz+dupeMCmdTTmZVH6Wfx0eltD7SOq4L2ndyL
rZMyPqyLsUiY5Fg0t04LYvS+NOr2MDtR6s5q+ee8+e.cZOaG
-----------end_max5_patcher-----------

The final normalisation in the previous version made the other normalisations irrelevant.

You can expect some values over 1 in that scenario but that is the amplitude compensation.

You could develop a better “averaging” type algo to remove outliers etc. but not sure if it is worth it. Probably best discussed over a video chat.

1 Like