Descriptors comparison (oldschool vs newschool)

I’ve tested that too, but I just wanted to know what the value is for any given clump of readings without seeing the numbers change each reading.

Ah I see, I didn’t realise you were testing something ten times rather than just leaving it running and seeing what the numbers would do.

ok now I want to hear the results - and more importantly comparing to the other patch you used to use.

Can you give us a bit of Shania from both patches (old and fluid*)

Not exactly a bit of “naked Shanaia” but here’s a vid I’ve done with some testing:

From using it in context I have to say I don’t feel a latency or anything, but it could be because of the fast/sputtery material, that any latency just gets felt as missed onsets, which I’m used to feeling.

Again, not tested it in a super scientific way, but the descriptor-side of things doesn’t feel great in that the samples getting matched feel more random than anything else. Mainly because I’m analyzing an entire sample for the corpus, and querying that with only 11.61ms of audio.

I can try to improve this some, but not really sure how, short of just “wait for toolbox2”. I can also just analyze the first bit of the audio from each sample of the corpus and match using only that, but again, not ideal.

1 Like

I saw this (amazing) example in your twitter feed, but as it did not mentioned the project, I was not sure what you were using. It is very fun!

I think there you do indeed have a paradox, and won’t be solved easily as it is a temporal problem: how could you know what the future holds?

So I would try the following (which is not far from what I wanted to do when I started the project)

  1. analyse the corpus 3 ways:
    the first 11ms
    the first 50ms
    the first 250ms

and then match the same windows on each attack (after 11 playing 50, after 50 playing 250, after 250 playing the whole sample until another attack)

that is not dissimilar to ‘multiconvole’ and is just 3 grains, but could be a fun route to explore? Just 2 to start with maybe?

The corpus thing is only a small part of the video, not to mention a complicated thing to try to explain in 140characters, but I’ll have more detail/info as things develop obviously.

Exactly. Eventually I’ll do something like what you’ve suggested, ala multiconvolve~, with hopefully better playback/blend/fade/whatever options from toolbox2, but until then I don’t know how effective that would be if I’m trying to query and stitch something together in a sample accurate manner (to avoid discontinuities and such).

I guess another option would be to analyze only the first 100ms of the file, since that at least would be more representative of what I’m feeding it (rather than 8s+ files).

But the problem of time-travel is not really solve-able. I’d be happy with at least something consistent and playable in the meantime.

I don’t know how well that will happen in toolbox2 either! You could just crossfade for now and do a proof of concept.

that is what I propose with different timings: if you did a short mid and long term window you could then play them as such! basic cross fade to start with, and offset in the start, and boom, you have something that is a bit like when Diemo stitched CataRT with MultiConvolve~ and could be a fun prototype to try.

I meant analyzing only 100ms and then querying that with 11ms fullstop. Not stitching. As potentially a better solution than analyzing the entire sample and querying it with a tiny fragment of audio.

Even with stitching, there will be the problem of temporal mapping as I’m largely using sounds that are quite short, and want to have samples that are arbitrarily long. So even with perfect stitching, I wouldn’t want to play a 100ms sound and get a 100ms sound back. (an idea I have for this is to use the time series from fluid.descriptors~ objects and time-stretch them onto longer samples, so something like multiconvolve~ meets a clock that’s slowing down)

I’m going to try building something that analyzes the first 100ms for a few of the descriptors (loudness max, pitch median, centroid mean, flatness mean, rolloff max90, spread mean) as well as analyzing the entire file for all sorts of stuff (and related stats).

I’ll then query and match something based on the first 100ms and then analyze that subset again for the best match within that pool too. That way I can get something that’s relatively close to the 12ms analysis window, but also matches the whole file too.

Perhaps this is more a question for @a.harker, but in all of the C-C-Combine stuff I’ve been using the <-> matcher because I’ve wanted something within a specific window, to use as a pseudo-weighting. In that use case, it is not unusual (and often desirable) to have a query return nothing.

For what I’m doing now, I always want a query returned, even if it’s very distant. I want the best possible match of the choices available. So is the distance matcher a better choice here? How does it work if you chain queries together?

Like in my example, I want to query the first 100ms (separate entries in entrymatcher) for loudness/centroid/flatness (in that order). If I use the distance matcher, will it return the single closest value for loudness, and then the single closest match for centroid of what’s left, etc…? Or does it pick a single match that is closest to all three descriptors? How would that work if I then want to query the returned subset based on that?

I guess I could still use the <-> matcher, but with really wide criteria (loudness_max <-> 100. -106.656967) and just narrow the queries down as I move along, but I guess this can run the risk of not returning a match if I go down the chain far enough.

1 Like

My trick is to use a feedback look with the right most outlet.

image

In this example I’m asking for the x/y of a specific example. These could be any data you want it just hapens that mine are neat coordinates in this specific case.

I then take the data which is indexed (x/y coords) and shove it into a match using ↔ but with the scope being the maximum positive and negative range of the data set. Because mine is normalised between 0. 1. this is pretty easy and 1 will cover all my bases. You might need to first query the database for the mins/maxs so that you can format your message appropriately. For example, if your min/max of centroid was 3000 and 9000 respectively I would just search for something within 6000 of the test value. Because I’m matching using match 2 I only ever get the two closest matches when I zl slice the results. It’s not super pretty but it works well and is faster than any alternative.

I not so recently made a group of framelib objects (fl.closest~, fl.find~) that can do matching on buffers and returns channels/frames. I did begin making some patches that interacted with data from fluid stuff but I didn’t take it very far or test the implementation much. If thats something that interests you, I can take another look at it and make something that works and could be used

1 Like

I’m doing something like this either way, by scaling to the min, mean, and max of the data set. (or rather, I will be implementing that soon, but I do so in C-C-Combine).

So the idea is to the still query a crazy large range, and have it return what the closest thing is. But what does it do in terms of weightings? Like in your example, since x is being queried first, will it find the closest 2 matches to x and then find the closest value to y from that subset?

(say you want x <-> 1 0.3 y <-> 1 0.7, and in the data set there is an entry that has x = 0.35 / y = 0.1 and x = 0.9 / y = 0.65, would it return the first entry or the second?)

I know it chains queries together, which can be very effective for ruling out a lot of the dataset at once (using == for example). But I’m just not clear on what happens further down the set of queries from there if you are using super wide open <-> queries.

Tangentially related, I’m pretty sure I’ve posted this here before, but this takes a minimum, mean, and maximum for an incoming dataset and a corpus and scales them to each other in a smooth/slick way:


----------begin_max5_patcher----------
4913.3oc6c01jZijj9ys+UTQGNB2XCzppRu.yrytwb6WN+kaiXmI1Kt3l8bH
PBPiERbRhFX1X+uuYVUIgDHnKvRf75wg6tAURkx7Iy7oRUuo+wad3wIwa8Se
j7cj+WxCO7OdyCOHNDdfGTe+gGW5tcZnap3zdboeZp6b+G6KKKyeal33ukRd
qI4sLxasHukSdqc9YDsdY75rP+Lw0SUGMvSbUwS90ATV9oJOurcq7kRziOR9
6phlEGkkF7ahBnrgFkNbj6Rwge7GSBbCyqqUtYSWDDM+SI9SyjUGkwFZ0mPM
LGxD+0ApGBbPihaCHrAQ4xJCO1+7MuA+UeMgGwUqspOVCMuFEgYahJBJ4vus
x+c8ZQNTMMd4R+HowBJ94k9tvub2RdhSBx7WRBCRy5QhmQ.gY05Lhmalat7E
D44KTaiq.SxuyG5xT59P.IBEH35xOsvfH+owqkRLqVD0nFmIiGaPOF1nw6A5
Qhey4mBnoWAzD4uAj5iPlUtelXLD9uEgNb+mz1u5FGQ4XHcAsFZC+ygYn9m0
4htraP3h3ucUnajaVPbzi55pvoMoqB0VBBl1HhH8UNsxaTth7STprRmg6bPn
+K9Ion5r2B+vitqVU5vOT5RPf5WiEUzn9EGJHRdHihCk3+RP90aWbT2DPcx.
cYchTa2Za939pI1yOIZcPgStvjoDIgwAQozUtSkWLZCyKdO.IfGSSQjzXAyq
CuD9.l94gwS+ruWYA9w3U9QAQqR7SAFDo8sbwd9ybWGl8o5sfUKelR9psvZs
yO737j.u3HTHpXGvCme6.SufAlZUVYDmQj6pZtXv2C.kSTXJnjqSm3lfloIg
UE3r33vSTTn+rLUwqBhhN.EyhWc5BSBlu3LW6jXnvkmqtEkj9o0QxR+D3Qj8
oT2WNP3cCCUwuUq9stQAKcy7yBjl.f9HuP+HWPQWjNMINLrxkIK4kZJwC7vm
5uIvKag33kcFfSOXUtSziEVYuf49oYUOVl67zpGIMamDzKcn0STQveBZAEnf
xN3DpjdU4v0xLcUN9Ya6rJsWkVwgH8ktgA+lHFgLYG4mBR+rK4G8bWRlkDuj
jsvG9Iw20i.l6Ue2yOOc2TnQ14NlCg6xyyhSVuL8YvUIX5vUKV8mB79ASlA2
n78tVR0S05yY3VOO+5I4Xsjbr3urfllwOaTJpq9ljeHucFEwUKXI9O1QhiB2
Qx7CQDEvY2LAfOOw0K.tJLsJgAXSLI0eNVQojzEwqC8HS7EEkBHAQcY+55no
ncrOYW7ZYUO2OiLK3Eexz3nzrD2.rFdZczmih2DQdwEfOHfHk3l3CoyAdBS+
dx5T+jAygKJpxUgmxj3Pude2uD8KQOQ6QboueK8+iQ9.YB9I3uSojefriRdZ
+ER.ODgzMKHIUk11p3f8Jm73J0qGTyLYMyJpYVQMypslSgL9h7zop4PUyJpZ
lppYmtpOkPqtkkpZSYUyKpZdQUy+xvCqdD16cU3vDDGfupj8ImUr8SBdAHWR
OzAoGZA+uQuMzQwKviDDgeLgL0M0m7TvLxGIqgj2gZwETyfLxFvGsGYiaJIK
lfMrBbhJWPWHA.2PvYJbseUkHW.HOIbsCR6iWcpuTZJtfRJ.pr3oDCd0X1YA
Sg6s7DGLf.AnuKEjwvPTj7vCAwWvSC36gbWBMPP.zaH4+LdClLTeHNvmrPJ2
QwY.IedbV.DKsKEeFFPF7++WK3.wpOBCtRiCeApVDQci1Ad+SB.YLY2dw1qz
MAOMgPKJMUTbeomRb3ZA45l3n2kg07RnA7r3nfo.pOEXVSwXeIBg7xoR4CTv
oh.8EP5aPnXA4..S9IqhwVM7xucd9hJxmrYAjCnvphgqRKCPCT5FIqB7InjW
K.U+EzDrNI0WHw30A+jFjkiHaDGTTD.+QwfavNDNW59Y+CDITQqU+.SEhQ9a
cgF7faD3hAwEnI.Z+IzGcaAbeGqOYBHZAQR6C5N1G7EQ+tz0qVEmVvS9Wi8f
TPhwpXs3nvcBeVT31JUr9.zuG0RAuF.uv17jFvm.nZ5B7xQ4.j5cn6gPC5s2
VUQ5JWOfgJuh1w5MDCn94Xx70tIt.XHgk2UGRD4ml9t7vDHNBRkrODcAlYfk
NGTSWm3uW1qDGKhRgl.gLXj7FRl4n3nAQ9yA4+EeIAscNsAURa7G+AhAbXmC
XSvCide.P.+GBCfaUH11CHKdhRQNnQ8TjNbIoirx9kn+q3LofB1M+otPSGnp
AQwBcJ2AFzrMIAYYfaLd+CjPI3OrrJUlPV.SMR1HfzebF3XQ7hycbgD9VHqY
.9S7wJEL.18FfBXQ0FFFuAuB7FHwhw8T5B1vkA9k+.vhRdOX73C.62yOskOX
KC0TJsRwrA6nXwrAao8TV43IY.YEAp0A3oiNnEQZKfDk.jCZ9eMvFrk9G9gs
L3GNA4Q2AecG7UviSok8IR2vRA9nNfMAqhRAix6JbseG4oxN0Buv.LjL6XOU
HglfkqWR7ylhw3X36l.LbBID2HrLQ99BoMS3ygzWtSD7UE7XR5.PzEQ+4t4f
tsDRc32Tww.aCj82mE7jdJ1qzJdjxnZTLmDLedtThmedf.9zDCVf2oz.OIAp
vRgGQBxvs4c.w+DrwkH+gjeJN+tqH8wa5zEwRNB28IQsI.7tEXB3cFFrLHKU
PzoZxqffFtbQMiJ4GEDBR5G3Cx5W1nlpEmTgbWIspxxq3CqRhAJKLtUwUj29
rv99TtSi7VHOWEkNJLfADpx9Pk8LquhDlZHpXJsviodrSQtrBRBFy9CiDVG5
5WtcwfY6EEuX+TjwKLPwnmBs5TzXdE5cEzktv+4Ex3vYI99fmO779AyPG.Ed
GfLSXnHnS.o3bvj8y3U9wbDbeR.vIRAWD3movOtXi.LgdB4OMwEAEv7ruEZH
2yAh7sj9kkh3UcyQADDCXSPDjbR9EiTSRJAK2iRqxCO7jdU4jDGF75kMGUJ0
.n8EfU2uTSl1kSnFjMaB1ajtIkDckCvxuuZtAX6fnaDXHgyXiahW9SeAkHX4
EBsKJkOgI9bHyDoG4YnDwWH.OkKq5YxUmIu7YxwyTn4GVaCvLvgu7AAom.EN
rZFfo6JNENbJ4omC2NUt6ePj4NVDaeQLUQ3e6U9YhpzssVzK8YGcZsmcjJ6d
NQ+O4H9h83K9gG22AOndpdxdxe+Mk6SrGwt9v6Sxt44StYYP90HMygcx2E0c
DyCim3Fp5rgBEuldq3M6k3VcnKXW4XWn5x31ZrKjM015Ccw9aSiMxElMZuQa
5ztCbwo.FYadPlHSxyv9KCUraRTwTNfebQvuQyCJWVDznqbv+X6UhqI94ucR
KTqDondLK4X8o8XyX0jlcK5wiLiQSZ2k5h1JG8wW05JGmjWy7Rqw79SR7VDG
1HF1SLlaPJljv5UY1wpryYZsneaMN+bgAmRKFC21ebakQTZSA3XeiFnVkakg
zghYb9Qmj+s2nSNfWZ7Iobpr0ALOwee.Je0Anjc5Anj9M1.TRO4.TR+1a.J+
YUeQJdBYkjH6UIraJJOjCHsIvXcwC0nca83hL6QBF.4fLZa2cFqw+rpOWJF3
pokl0K5ibiZKjazHawzqar.5nl7tGzkOvbWGx0ZcQA2PzpiB3X2XfqRJMUwM
f3zcpZFocv+OM54TO5YU9JNJqmYgwtYXFgWwGp.SMocwgKltkcPGZW5E68Z1
ZcvlLqRphxzr6fRucF1mlAQ3rcQjg12Sd6LruL2RwOwEyzA7Sl3wX3mrD8z4
ECt7ViZXbEvcb2gave6pDxSDDiGPdBPtA.h16Y3SlvmXpdoN+amFQoZLWhN8
CI0VS0nb.mowjMx51.3fW7pWi68DfI8tAlBrzQNwsrdcnjeiXFld4g3VsFAp
i5oyMJ0KkcIBzIrbdSWVNuojsz75XKsasLoFaVAJML6VzkHhMPffuWPcxdO9
4OHHQubJRK66TXsicYTl5nwCIYdi7XmbEdiiZ4.aE+W2KyH2h.6sEA16JBr2
xKRHhe4rks1bAdrSEP0pqkQD.iPFOVhLgXvmL6IB4ouG+9GvuewA51iuWA5p
jgTXMkcaSF5rOAzkGn6Xz1A5eM8HPMcDu431Nhu6+LPGE4qdFH42t33dm6Ud
6Nbq64CAoQJozhTRoMSJosVGJyUqOvuIRI015d8jliL5pojN8x6qNKmVty55
fOq4jq.lrZ69zryl4Ns05JSqVuuL6tYteTeXVj4t4Gtpdwz5t0ya1V2yL2uU
iojwWeCpjpCluSCpzYLL+VH4WiCNyvhxNQh+iNuOd+aP20KywxQCdZ1sALSW
EFj8Zd0m.PsoWhWcqAsU5JUqw21Nu+0SaESTkh+HRVkW7IyKOoUi6DIs8X0V
GxHIW83aaRq2RL15d0EVJu36DDWdhgeAO2+kL3mmdX2rpepDexYK9QSo3mDL
L8HeTrnGvE0coI4Z0IXL89CZbMXMecjynogthddCW5uOsk0GRJuWsXH69igl
eYNdp4YbC.ex00yVJfVvORTC9Ku+AcMYA30jM9TYZ8eA8urkVbQbiQ5BOzWw
65mpYMV75wk0tV1NDoDhOVd83UZ75jo49E4tNjpphmeZlx2uzIhoKRnpkN2q
YutXofeIRgQaIELMkB5Qm2z3P4biG3hDgR3uLTepsDWplhKNNTmVdMjhpkAc
rMseg3W4zWF3I2wCT8yroXB1Qs4hcSNqwEeqxUEm3IWLBz6r9aHccaZ8mwka
KZVrgi3k9mCUUV8nA69hF3zO3KCMJzDiVQSpwc8L1UVSZWkdxLSge8HC6gT6
R+iMVUVmDMD1UilGMfKPDk6XV7saYTNNzD5o+HPwOKqrQUV4Sq5T09HJW1yD
Tyhu0Rb4XeGbPP4Y74un1dNsVNVoVT7O1iGW7s1TI01Td+afsFrtd40wpgC8
xMFiElFKyhuzRZp03FQSqKHqcjW6KoIBdSRJ5Tto+QpFLjM12Npp1Y4bwlly
v+ozRCg+WNanA811zm0EwWvZVUmqRpkVMGfQ1pxtksAZcrW7Y7AtVfnkSPUn
Dl5pD7NrRnU6zzykkMsJwidojXT0SzxAWzYBuTUpYrS5VxtytkTMbKuDvfwn
EZbeUdLmQ842WeAKc7EdUGZi1SIX5pDrNrRv0UI3cXkvTWkv7KUIZwVpzoIa
V2HORcCgYMQDL89FAyZh.36bBNrlH9kdeieYMQ3qw8Md3VlciI6907tklXQi
lbi8A8mL0r.KrMJgEsiZqaOAPup97n0jYttxbyz02rVSQL0UQXcbEwRWEg2H
JBs0TDacUDyN7npnaLhX7FncbKhotJBqiqHV5pH7NtqkstJhYG2hv0cn1Xcb
KhotJRW10Je9d75ZhwWPue2xtU5qDM7vHQkCOwX4K8O4dkH9kaoEjcICeAsg
5C+7QtVtZoLoUym1jqJqKhCViabbfoVVnFNGiChxtkYFpMNPavgypzLTpe9H
7bymuRZOPdzlaH9YlklBGVkmAG0NAC+2h8E+StW+VZ4zq8N9K+zaDxUmZxM5
NgriwPGqhEFC601Oo+FZe+0xQsOeIlLtVlhHASp8uuu+9666u+99960spgxH
yHyt3k6Fk0IVtapM4B4tTGW9tJoyr1jMFxrTaPCxUfE6J1bFn2sEi7H1PGwD
ZN+EDNN4WjIUS4cmEsY96asqXMa5nmObPTq6Ayk.JtxuOFy+JGkG0YPYV9ax
7aqy6qtoqWraqW7Ntq762t7WdcAUWUZEuHBq6Md2Px+S7ZxR2cjoKv2AbUew
udXsodSxs+E1W0Wfb3qoR7cPL1.d9kW8DBvW4bab2kRL5M7juew3W5Zyh1Z6
nJx8Kd4VDBW9to1zo6rSgrsXO9a29MuSdwNkDu6rORyoziYrx65EiN1lEh3U
KZw1Dxy4a9Wzud1nik7XT4aDOpUGZCS5Ou+kI8UrSbea8OYT0R2pK8xNn.9t
7sTIdqs6+nVH9cO7RwSVriJsqY1Q4rZWf7e+IF42MhQmZZG5NwSdEajRmFns
ulcG9tzdmjrMqQh..SHkqK7Abt+aREbquvMXgwU25.tc6uBz6+9q.2VuG.1w
ro1eE93Qcz+cZ2UP2A90oM2UCzTF31snPvstrsVg1QHzTFF0vaW.bCmgrin7
jiBobr4Ee4VNVj5BETZGeyBP6sritwBNfxt.evNh3R00OogFsdK4ldIjtfXz
pY0D6fk0VpL8B3roci4+LUyU.BugmeQLCigNiwYRhyX4+vYsOW7pLuVROQY2
R5AplynOdCS4yFQGN1DTZFUBLivKjIl89bvAeLBHb0ZcXLSU1sFYL0DYZx8X
EtM7juiPs1R4yfyFKpHXmOdzPKnHGC0LThoJpEiarzDC3cmP8udVeczavxq6
v45Ec7PaSzIhq7uFgNQhjsFYVyhLhZ1p9Ws8JySKJ48KW5ZVXQza+zfqsWpe
5wFKmTfNVuxxKi902TkSnHUePV4Lm6PikZ9ycjQpx9AiNFHsYDOZx7oqHMRC
Qxox9BiNTdWs33TYd5dN4gc6vHGcra7wmBjZIgxVCghdyLb7w55HQOo7PaP4
goar1MzjwzwhcikIpNBkyWjusj17foGKJOGLsXOXJwd7zg8zSE1CmFrhVPN0
ze8M+y27u.rG9bcI
-----------end_max5_patcher-----------

Hmm, firstly the normal quotation around ‘fl.find~’ is killing me, and secondly, how is the speed performance of this in the fl.universe~ vs peek~ and/or fluid.bufcompose~?

The distance is euclidian IIRC, and those two things are equally spaced, so I assume there is some other precedence that determines what is returned. My feeling is that it returns the first index it finds, so whichever entry occupies the lowest number idx will be returned. In that case I would ask for 5 or something and do some extra filtering at the end. No matter what you do you will always have that problem unless you specify another set of criteria to search by.

As you can imagine it is fast. The searching is at audio rate and I haven’t been able to make it crash yet, however, I haven’t profiled or looked into how I can implement the searching in a better way. Like I said its mostly untested and I just wanted to see if it worked out on some small scale experiments. Theoretically you can retrieve a match in one vector of audio…I think…

Ok, I think I get it. If I have a wide open criteria, it will then pass it forward, and do a euclidian distance of the whole dataset, whereas if I do a tight <-> query, it will completely rule out everything outside of that range moving forward (potentially nothing).

I got super excited, but then my excitement was tempered when I realized the slowness is the fluid.descriptors~ paradigm is with the writing of the buffer~s in the first place, not the retrieving them. I guess fl.find~ would be faster than peek~, but it will still be waiting on fluid.descriptors~ to do its job first.

You always get the distances of your matches to the criteria, but if you ask for the whole space you get an indication of how far everything is from a known point.
In regards to speed, this is why you use the framelib descriptors, some sort of buffer (fl.register~ or a buffer~) and fl.find~ or closest. Sorry for poor formatting phone bad computer good.

To be pedantic ( :smiley: ), it’s not the writing but the possibility of having to resize them which means it has to be deferred in Max (and – to be even more pedantic ( :smiley: :smiley: ) – there isn’t slowness in the paradigm per se, but in Max having switch threads when overdrive is on; rest assured your desire for an overdrive-able just-in-time type of thing remains in my mind :hearts:)

1 Like

As an aside, I finally did some testing where I’m hearing the pre-analysis audio along side the queried samples and the latency is most definitely perceivable, but also the “jitter” of the latency too. Doesn’t sound too great…

(up to this point I’ve been using purely acoustic sounds to trigger, with no ‘thru’ sound, so the latency gets a bit masked by the physical acoustic sound)

So I’m thinking that in the short term it might be better to just use the vanilla descriptors~ for real-time use, but use the fluid.descriptors~ stuff to create the database. It wouldn’t be apples-to-apples, but since I’m comparing an 11ms onset to a >8s sample, I don’t think it matters too much.

BUT

In doing some more detailed comparisons, I’m getting some funky values from descriptors~. (hoping @a.harker can shed some light on this).

A stripped back test patch posted below, but here are my results for various tests.

First, a 25ms burst of pink noise scaled to 0.01 amplitude:

Pretty good, pretty good.

Here is the is the same length burst but scaled to 2.0 amplitude:

descriptors~ reports, um, a quieter sound…
(to be fair, I do sometimes get a value in the -50dB range for descriptors~, but it varies pretty wildly, and is very close to the 0.01 burst either way)

Next up is a fixed white noise burst (so it’s always the same sample), of either 10ms or 20ms in length (results are comparable).

First at 1.0 amplitude:

Next at 5.0 amplitude:

Again, descriptors~ reports a very small difference in loudness.

Last couple tests are with pitched material. First a 55ms 880Hz sine wave at 0.5 amplitude:

Perceptually I put this in line with a noise burst at 1.0, which is around where fluid.bufloudness~ is reporting it. descriptors~ has this almost as low as the nearly inaudible 0.01 pink noise burst.

Finally 55ms 770Hz saw wave at 0.5 amplitude:

Similar results to the sine wave test, but it’s worth mentioning that running the test over and over again results in a +/- of around 1dB for fluid.bufloudness~ but descriptors~ shows a variance of closer to +/- 4dB.

Here is the code for the test patch:


----------begin_max5_patcher----------
12664.3oc68s2iiijbm+cOeJHJeXwL6Usl78CudMZuiuasAlYsOrGfgwNFMX
IQUE2VknrDU0SuK19ytyjIoDejjLYIlTpmgEloZUjRhY7KiLxHhLd7W+p2b2
CI+Tzg6B96C9SAu4M+0u5MuI6R5K7l7+9M28b3OsbS3gr21cKSd94nso2cu4
doQ+TZ102jj7gfmh1GUbm3UYWO4g+7ag3hKtNYa5g3+Rj9VH5BP9ke33COrI
6hv7qr83ywa2Dkdn7E0OrkIaR1aFvfERACQX.hj.HPB4d0k..NDA3BAPxwBT
1kPbBl.EBAGQ4r6CfK.A+WmePIGSKdRfROo+7wCowqiWFlFmrs7vPSDqCWFU
9CrKLc4Swae786iVlZFdTtPQfAbIcAU8LQY+EVne15Oye6q9J8ut+Bw8eHLd
av+dRrBWC9+mD7cIOuKbeze+Ot8sKMuLXm4lvuEE7qBveKIHMI3PTTvSIeLX
Sbph1CVEcX493coI6ODr7ovsOFcH3kCAq2bLd0hMIGWsM5vgebq5KcWrhNiV
E7bXZz93vMAGTeMGBNtKH7PP71k6iVE+vlOE7eeLNJMXcx9hGO8aY+31hQ+l
3sQKSNtMiDnMYXPV4W.m3WrxcneuaCeN68d2+RzlWhRUSd2047b4oRX6SkXB
ZAUfkTrz7CQduZ7nYfCXHl9ef5+4UMytM5iJZtwD6pn0Q62j7QKqmD20ENTk
RKtp4RoeZWjgjt6tSKArw6lwrRgYjFkn+MB8JoumU7NgOFYQhQ3pGT7Z1DXP
rShnQjDg.D1PWnLhTblHKjJ83XKrI+aDMhekOtObUbjYkD7ziYc7lMYOp2W.
G2YnEKuireCGUpr1W9I5M6yV7qN+HdZ3DdLMoLhcVjRk201GM6Fg31eC61mr
KYew9BfEzwaYe5SwGx3Vi1acgAc.q8Qstv3dWWbP4Yx33MVbbH7khus+t+f9
6qx.O3tei9W+c++z+NZ6JyUFUwGGRC2mF.TCU0+YCpfLuKCgSjKXPnDKHbFk
gT6yi45c64TuHxrflQ5+yJMyuFzLSNBzbKqG1sI7SeNXaR7AqZVBE1TU.hFf
pB+SZ8XtaXKfND+3V8GJ3trcvFHdIy1Vki7Ad8q+b.cgUjhNFrF4D9.IXHNi
hwDePwGB+3mC3bqqGvfIhnkBzBIjKHLFWxD7SyxLfWjD.za6QCnJgATaTtDL
AJPAE0oYZ1tFdR5WuzLz6zrRAiEiFc1B+r13nOakYdHz2XH5BBnR6b09Ykb6
TNZhoboxZceSs+Z6jJ95IwJWLsgnmHxkLQjqPsjsLM5kozkeZ4lnOqjRXeyH
5DSq46.w7ptnso+sv+phxTJaWSSCutATepeKXWCRVB82dQcq8Mmeqq7sE3JW
.vEp8cG5nfVjohhcCzv9mEgRXZywnYDnxzLuoJF.1Eg5+k+DJ7LgJPSqFIhI
Vij7YUyh8oV8K4DSr4yr9jXsqNBYprWjZN7fbgQJiDoSFIBmHRjjsQPAIRE9
fD2Eu8C1nxVr6G5KhLmSUbQbpObLMMYq04LTmjytv8p8SSi1+9nsg4GjJXXj
ZuKIsdDX4VJPJ98npK8l3kVmaIrIZt0JIW3JKoWT2JP8zS1u5Ozl6NQ121Az
4gbZy3O.dg.Kf.RtdQX0hSgfs.q9gS.lezzq.2v0+Ed42Pd4zmRut3MQuDs+
P0SK+M2EtaWoK+lReDMn7mMm0i39SWJdq4RfSWZezKwEed1oqFtWQUoJR53d
itj+DqvXR8WSxpn8aOFmMTLWTM8jOjxlHz5fdXW9g+lMeUb6RhoyllUvTlTZ
Rlu7HBvYvPetPaRV9gnUkGx2krKZa71c6iNDsM8T.Db51qhVGdbS56sq1b06
WKRCpdSq5QqOTv3UIa0ChJyD5KW739SAPyNPzxDS16Xa3NKeXE+mBVZ4lJKi
ROd3gv85IpbIPnhalljro5sN841DsNM+1JQ4aqghoI6Z+l6ie7oN9rOjnt4y
c8cmcmCu+3VyceuhmH88EGq042W3lM4qVq90+Sgai0QAQZ7y4gmvoaZjB+zg
k6S1roB8ZtyKVtyJEO9xnOFuJ8oJGLo9NlfyHmI5tSyxqheL5PZ0qkF93gpW
4P5mLfdoKc7g70vuOM5YkMdo0dCUhJnxKXKKWqx06ztgpB4TKueNbihMTQ7k
eCkMrTT9FsrJoMUX51Hy12inGKPZ0IoDy5HXlvAdMms7lh8FxE.8JwyJ6WzL
LJzvc.rMvT9Z.S3UALo.i7VfMSz8OVVVcxFN2Aby.i0zcoU2.hM5emoaJAL0
foQUlpdOpAnBeMfJ9JBpFGp.MGqmfL0f5CGWuNZeNnpWn.ZCYQSI6JpKjcsR
DUZC696SdpQO6bwpsBwmUcQ68hV1yJ6onuucr+Pxw8KKFrEa+D.pLPUaBmFu
8jlb+oyfbfqy8CdTHccT.83nPK16RGE4WrP+6rXGZ06MJT99vzz8wJSeMSdk
MnXPJ9nzB+gvM4p0bhs0hdQe04A2nEwEPq1pMYmjmQjjvXX5kEuAaheIZQFo
k+7dI7LZ13lUhuDxq4v.r45hQ6fBpFla5AdNmjYqoFyjUurEjFALp2Y1RkBs
FUbqNyR2Ay8KgaNFkrtoIwmQjMIaerUrux6LdabpBdZhgUdWOqloa6d4eC4h
fOubuza4vSI6Sca7DolfxmCTzoVvf9eQ2Y86sXBC8Ukka7pVg1VPxWJ91sx5
NDuENvPGWGC0ZWYixBgRtQgAvHmD.l.0uGpDH8GUBojELDCIf5PxU.QmIYH.
eQzbKRcOt8OmDuMfXkR6d97o3Uqp3+hZzNsS4Ik++N8dnQ4PtQSQFzG9KrCP
PJuAv.EmvBXM1hwAPT5TpkwbhKc+ygokbOXEjfLRNOuXeF0NxIJZT6e5tO7R
WNpKaPj.izxLD7ICh5Npx8QdWMkvd8D4..kLffH4L0Kv220k3X.khXbb8Qua
SjJYeW9DY6obmIwrB9ZkLfU+tuQmfVY4mU1E9g+0+4+0kpO1grqqz3OP+W6S
hWY41q2DlV9qxZhZwsv3vrpzGtak9FPN2g5XOGDtM.GRMFOBDSvZG9WbhWDx
IV7h3KNHhAmVHRbSCQ45xL46KAgy6Kco6KUL28y9shPi2VQ1BzCyoQH.jodC
ldR4uaDQCS9dJ3uDPkodajQKPgPW1Vpnr.ZK2TOJvG199bTnsXkhfGiDj8zQ
VDqk23.kZRhb+DUP+kMAOtO43N6wYOgOFAmY+lxaHTlgwlIlJNZJbrbqLXLc
qrqKAXFVBhvOgK1xcG0wehsTEmhFBvgFH3.6dkiKHi4P9YzeQGeYHygcZhdc
nzrQAl6k.LSsWjjBELYwOyga1b3l8yhvMyHEpkHg.dmKQ6fUCAZOxfy3k440
HiheW4TxKLUROLTZQDs+kvMAJSZd9PP7gf8Q5BHRzpxkLKy.e6pnepjPEuGP
IsF2XsG.IsIHYZh9I2hhDf471L66xqdBT9GUU6KuTK0tEnEeiBsU27tGrMOp
nMVBOkf6aUhqZAXIWNvhtd.atXERlXEiu1lRbscQAzujEEXz89FUR.6KZIAj
rhcjeEDjQnsEZyst0Nv+6sP3Nt6u9KM3fR6xCAJs2TeWAgaWkqAftnIZzMvp
R.nIBHEWEfzrxbn3XnF0xAxNAO3TEunHGCQRrGiSSriiAhGGCDGGC9LdUoNN
FXdbLvFvbAzWQOriiAeFAytFF0zqZjC6lORtdwWbZvlfGr4fOxXUJH6u3CjI
nN2WlHoOxj6zfX6T4nTvK0tw2cBkle5dHjWxY8f+uaN9cI+P3eH42cbstfMm
XMYeomhslJmRLE.kTFmADBLFCyNRX0OLjDQkPfjlcD2XH.KgTDRRvRdiRdsO
qZv4N1ERQ+R1ytly7CmWlGHj7iMgNm5vy9xc1WtuRao2DuSQdpkSs5.Hzctj
zfiZJqBkMqZB5x6BiwQXFNOhxX7oNUAWqXhczSYN5UbO.TDVcfhPuV4T4gcp
w59vMGdJbWz60xkNfayd4WC7MlIII.HZVaRT6+uPoT.CJfLBvTsyX3qEblE+
W8.izqKLJTqJcBEgWMTrHx55AHY2f.IgyZ.jX1swpakkiO2FXxD2jKt0UPKk
PSDWGhqRbVwLkxutqt6DFk2hKtsgh.wUe0cW.IGbKt3lfaBjX3Mwp61.RB3l
bgMht.VQEnqHNlsrtM7CeSthtA7IfW6kysBfhawUxPPc9OfepqIUydfVCm2F
x+XieD7PI7EPcYuClaLBBee.lhpYLRtGOmvyKNMnsJ5BdzMYqbvM2Z27PPVf
.BE9XvIHVpAJYMfBM40po1AJn3Z.TVMuESAWcfxAul.gSueSvHjMSFvWc+lT
Ik5auJJzDoHdsnnQarliRmb8V2EE8gA4nDIdrYrbKxTruZThquSmmfvt2oaU
bq60IQ9HZUYKT5mKwf7UZl85pyNkmiBfoDJB+o3mOkHHs1AIFQrfyVHgBDUj
mquHh1GjfEBkp4DDRPg4szL3Tuwe2tqkSmb+0ZW.MFe08WaZ.sMTBeM142JP
canhDqs.5DbUTQxT+jUHS8kaSO1z9NYsBZD40YuLlo2tzboGjckT.vAW6SDW
Gvx9hQIqNzAjWGnyM+4ioWI0lLqPUvU8UnP7juD0TUyd335Ln5yAuyDfY070
m5x5aaeo76xBWz05jAM.D7NEdk85CA71N+3Q+DoLs3ZG1ukAXUrzFfX5fshs
fhU7s.LGl6lUJ4lYpv3tvhofxhEp.8nJPe1enay7GBf4uM8eU0d9Jk6AbKFi
IuZSVVEyfnMmrPF8iHxq+j0IuSVLeUSVTGqVFuoL1UaJKuLDnaVw0miLw62n
OG0koOmp.JeqRx09nvrW7gnOlU5S91fObbeZxgX8K2mrIY8Z0KNUYT91fk60
guSaXOpMeW.FeCpzQ6WCoV5Cv.W6jeMo3rRGloCiOUUZ91fz8Gi1EE1VZ3H4
9.YxRNFBoAT.wStk1lhwihwIY653UQaW1VEYWR8fCHv7EJbPHPPLPPkHA2Nv
.PdAX5paTTRj2+K38AFoI10IqcQWnoncHbEBBky6jTV4py6njlEN+OF7t0Qg
5fo8PCcyVuN8fhlUuoCZwrALR48UnU86bYvFeaoGFj2PhFke8TCqPxlkohOF
uUGntYn86dJYW1eng8SyQkzC3CeLRGKr5OnZC+BgjU27uiII3UdybKyJbn3p
MqjIj01pCKKBNMaTnBc3lGS1Gm9zyU0VtF56hNVXvskZwVlkPbfWz3pqbbDO
1433.b4ktNDp+Iy8CDoNiLLEpeLniDdz60EhNqaFdPQ.ZdoeFV+X1GQrvKY3
Y1w9cg4x1kmOcYGSqaYXY130W4VHz0DbjB7IZ3Z5EJ8Yd2Bckwf6yQwv3KP9
ZT3Zx2ZYpKY+JShgAutCMLo8gF3pl41XelxxXWayOE769YT.ccT3Urv0YDjO
E1icMa5IdcFgNHIKdaX35NNV3i8rjE2GZv1GZnq7PCO0B8H2.km.hqJPv845
bhbPqvv9ptY35F.XeBFbmKiIBeNJbVnGzm7mxKultb1Xnrb4sEqgNmJ3GWEm
7GyRH62+CQaOd1nqhTG29P+gGWGuYyoxTvaZ7NdycE1MmWLCtuzspTdCPRBD
Jz0v.LDy0tdS8J0Knz6K2WxN84fEePBkHAY02eBCwIYkAAh.goYUMefkOJ57
yTWS8ydR.o.PLuRcIXkBmPdwCX6i4IoNGTtQZple2mnKoSEYr+Brrxm6XZxi
6CWEmaQ6I4pmmuNWmALkvXcMwuQJXqsgWMQDW96vF21oI0u+3xPWmHCWpOWp
JSHXDU6DG0KHTE5j8Jt4ZvF1qW5yQ3THNaV.IwBSYo.Qg.lkOXzlnmq+b4BF
im8oD.nPXdkZHfPM+7kqmAp0D+a6h1F7G0GV4eL543GR1rppeZNnddK0ySUe
fH0XKi9xhQzLtFA..IMedmZ7DuOdqtBUDchSBKQPlgTKXGQbAA2jSpY2ef.4
Y.sBrHbtgdQRCFPY09rtuf6DSWGq4F.+e0UchSq0Db.UHLuxJAWeUGqfcho+
gadk4a6K+Ece3vlXkBT+G55LhqK9JMmjE8oU9UYw6dX79b3OwJUHSdExILS8
m3+44bRNuzAbeoe04ZkZfiZwwD.N07rryyjJAgp8fPxxxM0xDHT3TMu133O6
dv+ZmgFCIRkjqTHSn4q5QtBWn20+dqux9G8KJ8.ZtRc3bD086+.3lyl+Koqk
BmvxofS1b.b+tMGiJWQuGt5LPNiX1r4DQH0WBNgDw9jOt8hnhyic5IYJ3IlJ
9tOEdYDA.oTzwrYAGiQl03HHDhmNh32uOJ5BohrYActFgM5NpUIZ5Hf+ynMa
R93EQABkZ4biTRnHqfxAnpYFpc8rKUEvP52H.H7Mgd74Gh1+6UpweQjod4AH
icipTRglQwvxR28JQr2nPnlJdUxcYDFCKyWhvyMOPMIIw8ZYw0kvOS29c1qM
6Pk.NDj81kXckpH2tJNjNETeZ3NWI5ZFw98goIAeuN5btaLFiSQkT85UiT2E
zcyOmP9RqVZhMYfXdwzjy+kbszDBL04HkHvLLgXBpFAXtXZNWLMmKlluxzQK
PmwwsUlCl9zMVWzYjTAASyC6V8V0XHdADpDFq6puD0F+ZOLRH0EFZSfXcuOz
hfw1DNV6iaSHYKBJaWXY+BLaSnYs896U3YMAnDjInXMINFwj1nX.qtOMrIC0
A4ntHKsW4oNJSsC4ptIasG4q8JisW4r8Hqse4s8Jy0A4ttH6cHxe6PFbuxg6
VVb2xi6VlbmxkaS1rc4ysHi1I4z1kUWWBRcY1MteextqJ+VYdvpGpe2VBe2N
kh2sjbGjl2lDckByK3Jo43hZrk1LLHFufxYR1Iw7PcIHqYL6W0inUry5RQ1l
IJUs5lPRfRn5G91kZlw1QXH3BfXP+3G2znELkLUtkBRxUDhVuO4YK1bYsLtL
EnDICjj7aJP56RzGfRpIEOxZ5Smx5y06i9uOFsc4mzsvnjfmiWEadC5h0k5B
GOnEHFrOb6iQKp+.ZKIPpi7L+h7HQVBoYV7l2tGH7IB66Q5Xih3UiD8uSrgL
AhGM0Vv77hEArHqbxDH1CXdbauvI7BX0n8Bm2W6+cGdklbljiMUCrhzRRhtc
P2FFh0.aEjq9d4PFag5+Ym6LRYo4MWYcFVHgEWD2l0YsYgVSrqSK05xZMKeU
sY0VGVt0s0atYAWWVw0vRNGslqlEcTYoVvJQXvbNnIn2tQcNZXmqF24jAdCv
HudLzyci8bvfOmL5yIC+bv3O2L.zIi.czPPWMFbnFD1iQgNYXX+FG1uAh8aj
XuFJ1kwhsavXGFM5rgisa7nMAZ116w56yIUUsqt5YcSOtMNsjBpaSRixt18A
gGB9XzlM5+Uqx5trlwY5g.0tK6NlZWu0d0csO8W6cqu90isccYyDgZr0JusJ
zTW1FJIzTQgodRaoYRKZ0IyG1odsd5pWzG0M5SlNz2XHATxVHoTN3jVZJcfE
xlkMlazoh51DedgzkNUfl5oBy5.o3KFruvt48QgGR1d114KE4g7IbY.DQVfv
DAqnxijE.sDcDgyXHTwEEmpTNeYL0jusR4cQNb4yKfIbdQg1MlWDhEBLmRIE
BqzUMXkQ7LJDW1Hoq9bjUyOsr5oYIh2Jvy38B73dAdaSM8aXZayOj7lrIaAt
9BElztmku8lCZV+msC+zQfu2GvuTWNupsdfvuIP+5UEF6NYA1KvBtJ.qYuX6
kHkRg714RkxvzCoYwT4JLC0nPzXeJZB0CJWlhREHRcURGvTwvzNePSEM8wQi
5cS6yR1RE0NlqrTAXZjhrkMy1ZEafWMKUuHtrKe7yG53WftkF+B3fwepyi+Z
uo5tqruXGsM+5dQ9eo6XK0haZ9p1IxaV+7iu994GjU.2vjxB7l8y+re9m8y+
re9m8y+re9m8y+re9m8y+re9m8y+re9m8y+re9m8y+re9m8y+re9m8y+re9m
8y+re9+Efe9ssMSaMZjd2bYndweS7gzAj+CljyocIYctgRCZzpbKOgxV2pnK
+VLxY2jA+P3g.fcl3ft.dUyRYqB5qhosIfoFx1Tvxc0KmtcIRD2Tjhyy5WxH
D47HjbkFg.GGgnqz3C633idMFeB7.QP3jOBICbDhl3QHZ.iuqwZjgLCCuBiO
5.mewcN9JcyxJS4hhT+0KshFzuhS1TZpbMG0m8HOcBj1VeYCM48USDVnawiU
q0LPIRmjnPTgIfBbQdkOkcSv2FnaOZvg2exQ9rwvaGwHJqlUlJSoBLUh4DcZ
0ZLndJQrCgOu6PZxyG9baUynJc221isg1KzQcFBCCoSJdH9ws5Ory3NfZA2y
KJbxoFo2E9gfP03+SGN2cKgZGJWwelUTRG8Zfd5qD58PEnBgqIUHqavl2Kwm
PnujYYsxlClR17Nw5FVo5NdyI5DMGKJh0LhRlB2ORg6pagRfWi1Ep0k6DP6l
fdC0uPI3wuggZunvQYMYQtEfmNV9pD1upidKNgbyrzMaT9pTG.wjMEUx7ijx
tZo6qWmtKbe3yEMa46qbHIEc+Z0FWpuw7ZyCXg5uhVEGtMPYDw6OUldPffrS
YTcS0sNr94pWo0NyLpkoY4qYZFcU1Mz5TLFx0SwHJBvApYZhdJFaTRFSWzWS
nZT6Hut1it7ZG400NEFwq8fVdcu40SCqb55NhNOzvnFuQO2BBcukv5yl7F10
V2KA4wt+Gw4FuJ2msBQ2aiw9bTbSz3UGPagbt6+M28+ZcRct6+M28+l69eyc
+u4t+2b2+ykA+b2+at6+M28+l69eyc+O2nh4t+2b2+qeh3m2c+ued2a4RC1D
7fsdJWwws5RSfC0ZSf69ZG4RWMCt7XR0zWHNcjJCjLWuIQM1JF6qS1+bXZoB
fQkPygzIIlcJKQoQ6euIs8KcfdiJ4SXDMEyMmkT8ydeblkKcbNUP.5XLIah0
i6qdFvcQoHSZeJ8Ak9W1D739ji6BNEu.UHXlUBFM7oUWHTlIc7MMjpIgiVb9
sY6z2FNidqmHmOVBjKAfH7Aiwtfk6NpqdG6swWHGBvgFH3.6dkiKHiIlnXze
I2nLoHZodJBLuc3f4doOYBUJTPgmaHDx4tl4bWy7mEcMyNCyI33GkS3rMAgb
SupgV76VCjIkVDQ6eIbSP71fmODDeHXej1mSQqBTnRz0LNmdHn0HWt0PeoMA
I2Pw6DDjIJka120RWFyunpZe4kZo1sEA82nPqag3bN1lWi6nroFbeaGQu7kC
rnqGvlKVgXpzOnLiFmPbscQAzujEEXz89FUR.6KZIADtlG0uBB5Jlu4icHeO
j8VxqgJ8u6u9KM3fR6xCAJs2zofgtlSXz.3PPgtAVUB.MQ.o3p.jlUlCEGC0
nVNP1I3AmpPa00nfymgTJ10Xfymg.mqQ.mGGCtFinLONFXCXt.5ow.2wwfOC
UVgiiAZGADo+OnB27Qx073LhsdbFX7X3oasCtGvIZPM6xCQnK5HMZ0glIqWe
3ztTU1gxN0BFl2I6jDgT7BHhgDJC6EpeizEJMkFirrTWxjwrzp9x8WddrDgX
E0zO8d24fAA3EOVhV.l8Q4rOJ+YgOJ6JA3LR8BX3gleZrouRL.x88I67Q61Z
hj8ZMUQsodZxVW7wSqVB2wI.5GiBqXFCo32iJrzrn9dlE5+y1CJo9JCidJLM
PKR5vSIoeNHM7CYWLJPuVNPW4E1Do1kM6RunF8I600+2vWzIOYgQUGNbL5vh
V4EwN3u3wwO6H3oBcs9zw.MK96dt7InLRORYqdEsRZ3DB4qfvuzBe.tPKLtZ
mXHQvDPFAvP2GHnWgBfRatU.L1xmbIm7yQGNegfxw.NAS.BDPmiC0iDG+CNg
qLJBDbH9wWNzFNAeE3Tmksj5wtRqp0SOu.Sv8BmSmGNmWJAAlEGL9BJGJUqO
3HAERYibQGvKtRxUWnH7oOT3xg4PqoK6jcdjwl5jSV3Z5sy8YRnJfNl81BvU
0mKWOuorK3o3c52SSWLf3CvgJs5hg7BFUWNZPVtRkxv+R1cBx7tRmILvx8tD
lRmcmvr6DlcmvquzEo81PPU0uc5397lEK40kQQtl49PQytLOVI6LMZutb+qq
YB5tg1Pc0hb70TMee.oNYv.RtRiUISncwLyRSDxy.jAWhGbERh6Aq9y0eWap
Vd4PeJQBi9AAKOlpL6envA0CvARd1mRFuLMo3AI8ofLkmCztkKZ+GS1qtxSp
MGJoGky.jG7RDVjwjff3rnQAI7BD0g.2zfGBV2lAtjWAAi50cjNWORyE7J.K
nBAVvnXJiPnZmgbEJGo49SyVeuwwJLLza901btVJ9FBPBzUA.AVJH3rl51ji
Tl8qTJlnrlH3clkejf2oT2Uob3gnSK+BdmREtjMIO9oxqNcpr5NFv5p3rByR
39O4JiHTvVnjnw3TjDkucGtrMPSTX4EdXY3pnVqLqidUatlYgsgR4oCiNqgn
.ro21keTz4EQ3IsnphoicfgMLbv0BopMsWtBETUv3u4VNPHg5J1SYcDc.U5V
o2o24ltW7EA9t3K5bgnD1dIyRJXHBCPjD.ARxJ+H..Gh.bgPMUgEYU7A.Re.
DPgPvQTNqQNbeMJMgVffabJiLRTVyhhi+FuvATpJ+xYlfNvx3ZqTVVaXEJnX
0nGmQY5qfk.AAntngVIP.FiATDhyobeRXtFrhXxb4abt7MNW9FmKeiykuw4x
23b4abt7MNW9FmKeiykuw4x23b4abt7MNW9FmKeiWSB+Lc62YuV8pCfCAYuc
Ilv.xb6p3P5TP8og6bknqYD62GllD785.d5t4BrY+wP49nkI6WYKoT4CnZDN
BwPIOOqT+EcQjSlWvXDlS52TgFk34XnbNFJmigxWYJYBAfVqxThIOqKolLzg
Bw1Jnt9ObI5siMyF6nbZn8cYJ.ZRHclGivztXXHDX6bLzImiAKLEWGL2ibLc
lmtxax7zEQQKDJqG0sISpHujNfXLOl1tcw0nKKTCNOm8EOCwnTE1DvolzSYR
kxDsI.3V8nrBdfaEOvtDHkE+qC0qJVoD2IOyUlxvwZzaw0NvRTtTm9ZSeRzz
v+zWOaFN1g+naUF.QVjriAYBjYS9d2+Zkg2s1.5w2L82X21lGwxJ4fXhLSJN
DIEEkpmoO2tWcXm1jh1ihT.XJ6R3j9Rb96q0XCbLGwstkYA67jG4t6R9PzmC
RyhMm1VoKouFbG+Jw89xeCJYAWBYDnN7XxSDcBml0WtEHB2zYtUXpoJvOkf4
+6OGzodqxaG4CNF3vHc7kqPaDUxYJnVmCQJimz8DcLfB4TtQZwUHjy0YFymU
J3zIhKDeog3E6uIgYwVBkozY.pqEIpKJo2hhGnraHwCPiyKmRABcFw+jqTD+
miCPy9JiYg5vOEtDOjoeXkom0jcQIrL1BJTRM7D27kvD3MPkGMSyKmB.6LUf
833.OfZfJbJKkJtOzXsWkW.W4gld2x1fM7Udro0cp1X643U6RTpbmuRCYbSI
VIlGp24jlWyYERc9qJyzZrjr.KuO6TNxKTN5FnBSibs71H7Yo110jQgxl55i
jyCMIcpWTSFxRZuUgxg2BiBlqbwdr9fKbNeWlbNEmGZzNpxWnq6PS1bWhZB+
gRSETVWsKDZmq.L+niGOjxtoZB+s79lRAKtV20LJd4qENR7PDuAGijzZNT8m
CU+4P0eNT8ucCU+4fdbbC5wOpF15VR7msUhHs2BwoVCuwhtY7CGWutzfspuI
6n2S2wK1DeHsZKaVGSbUS8h7DTP8JcBBlslkTI4bs4BJt.t.gXJyLyUyPKbf
Ky5XuXk4pTv4ef5uTAcbaAHFv5jGb0ArlstdMh7ZZKzWbqe9zDPu8KEMPhkD
.mjiV5buPHx7lG97E0RHfT+zbnU2HPWrfRCVEkZRAWKHobhJ5o5dbb8tqRd3
6BQ+hN9cglVpBxT7SEXSMRTGRRywu6b76NG+tutvODeSF9gXt4z9jdLdCOrT
sxosXRAUIHn1qFy4i+2losd.u9AK4XjG1WPPnn3rJaZt7.tIrxvfoj1grVoc
Zt8adfzIlvojhYWQJmdMnblIiTttTNoa982B8CsSyCoXje42MYqYEhWoKVUY
60QjJRF0pvXKBR7YTm75C7eappzlB3ltoMgA009DJGywJcvyJcd4cp3wNrJT
iWEcVMzR1+bXZEMJqMW.8vtT81XXbZmJpoQBgyqL+faEHSdyhXDiG8wlp28z
mjNusMYfTvWbwTFHKXd0McTgDiD.v4pEKDRl7DSPmU0eNfpdn.ZaQWNeJCpr
wDj0iOcWDiKgRIBlAxBvUBi0AGY1uZClEeoAy5NlXavLDL4g7aXZxpGZSRAg
M1oHwv3EQJPBo1qFQxAHBapwG06K94iO+YsBhsgR3qT0gt.kT6v.wT44ZCsP
L4wYa09nz.x0lIAhfvrFTMsQyUxlyEqedbs3jw1bzXsOtMGN1hSGa2wi867w
1b.YsyvoWGQVyYjNzPlZ0gjN3TRWbLYuNmzQGT1gSJcyQk83rxdcXYuNsrGG
W1uyK60AlN3DSWbj4PblYGNzrWmZ1siM614lc6fyNcxYaN5ztyNawgmN4zS6
N9rtDj5xmab+daeKUEV2Ygf+T7eaq0szk0WcpiP2dLomp5hacDopgFPkM57M
fZoeCLHXj6WXruNnzUD4Zq6JMH3i5W3CZ5LN43G+lB+btaLMH.E4W.0gNzjG
gzFZwVEQq28l5LinFJ3TGyGP2bpUtyg0Qmtd.aWc6oFf7kvAB6CjcBWGbGf5
5griV2gpg+n49bZnktEUOL5N2wntdyGV5lTcdBbcZT7qAYsXbbqGJ2.6vTdD
UqmGpclikclOpSCl0Q2npQNX1lFhMyGyqI.K7I.OjE4CBa6TGxlEcFOBvMRQ
3F9AC3WMqFX6AqAT1ukgNwvV0kIMRl3lvrsL+vBX6PKDqqLQrVtnLHFgW8Hj
OfQXyVLVy.KeLZATSBk2rWV0EkaGl9BkxIiLk2daJa5nGnizSKS6egNSRG5p
29n7KuMmMMDtX.DdK76SwTdoaV9TN5KYSpeDOuJOA2cxmXKATpm8RSQyUd0w
8gkh0+VSgkQ6Hdc3DvMGlDCprrlKjbIo3.vkSdmU94CoIYky1ViXP40tV1BM
9bjBgKz17V3GBMd4oBaaG30iQa+bv6JXpzykfAWvRmjXGfofKjfQYfyUoNHh
Le.v1N.3UG1sPMy1xg.yM9q03NQoIdqnDv7Y.OeFvymA7M6Y.uJpVXc7l1qQ
68D8b86ohJK49G9AEielvkU+i2M1NMpsU+sd3cFuFCyDdwxcTLlZ0QHlXe+t
+kXkRA6+TfYc5Wq3X9leyOt+G29uqih3SJT80lB2n5qSgK+Vn4sn++3sK2m0
RUC9sY5u9sm9HmeKqC9Zy2dv+vuUo57u5WEr7IcxH70wageSvuU8A+l+Z1aN
M+soth4Sm92z+SzlCQAk9V9GC.eSP8OQ9KdavWeZH8Mk+R9wT8uUXNT8lK9l
xd1+l6t9dQOdakZ+cC8xt99pLm0Bc1Wk2Jm.ghf5D7H99DyMEyFn4jc4NAMS
mSCGfosrqfKCYCwml8N9pBqQqh04Q+6q2+iuuzupZy8nZuZyvYnbDem7wfns
uDsQozT42QaQsPEFZeT+MKVYyVPqGo1TSrxiGYCu5BeVqzr50iOjwGenfaI3
Qa6gVrWZRP3KIwqBVuIT8tWEDllFt7CGFJhgwiOhgLhBY.3BFRfoLIFmaZZd
xBMkH1gkO8bbpBwTFC7nx52ABPHtG.n77BlPgp+kBQrh5baNy1ThOgObHYyw
znfsIwJssVuIIY3fjGjKgTrO5v9WAIRjRGTDWfQ4kHZ1zyFke7qp0cJULSdI
J3e96FLJIGeTBxDKLQw.eAkBxqy64MtD7z4vLkkwJwOAqqDTYUHd1T1UHP82
zMb2wj4PLApVsxgRBBhELtYK.NOak7T5axzm1Gc3oOqlxCfzVaBGxuPSLOao
tLDyl5tbx9DsHQCTGTroalrw7T.JHKGxcnU44J1ydkXOquz3sw+2a45fJxhX
U0LAEHnjSmaAZ5SB0beJEt+Qcb8YlNxX7WD7Nyzwa4ff2kOm.U25c5IFSIfp
shjBzw4m5UYx1q2g9Wn0fl4prY.l4m7jqqcKeQoRwyQAqh000L0aRQ2ACd6x
obCi9TFAYzXSoL6Bb8bylCl5caU5r01A4IkSIrMlIuHCs.yELFRcAS2VhO88
ZN90pQfju6G3Kh9.BT3AMYyOPSIogUi29c+Cf7FnOA.gNWup0CWjuFFbWwBn
OACoi0adDnwvczComwscP.FFu1WNDFy41WiO4eQrAsLxW8p.Wq56XetJJ6K2
0t1Pq7Z8n7bsdD.GlsuOjPULeRFCCN09EMZx13N9puY3JevMQy6PJ84nvUtQ
HdxawJNOzHSciow4gFg29PCekGZhd6oGv77WWYzIWGwuPDAfvYoPXgGCZduo
rAlPbUhNwmsEMhq5EAm7dOlyCMJXxWC4ZymAN8M2IwPPsIsO2QACRGFvM4XC
Am7lvjqJfJ8mp0sKnk.3lxnLYgfAX5O04X9kZpaCMumuZkVtNIxFOMCy0+CK
U+iB0.EsDPtN4QxOIFK2ziH.1UybgSNyhoRlB067VwI9RTmW2bpqPSMDK6u7
H7gbcO4oG9xyPWBdAFgP48iLXdImq7U8UW+5lvHToy90h0plS+LoC4zRGGIZ
0iQVaZNnAzhQZs0qTTnT5syqXRoHBhqaG4XATT36TBxG8YEcX+e3ojTaTNGZ
kxQCq4pT8r4sWqlMk5ZQcRtQsxcbnYSnKaihY3IpcxXlkwBYcRl5ktoypnMg
e5yATHR++1XxwiwTs6DtZWoZDtD5E16vmrtllMsjKD1f0FXoeB8ZI9n+xpvk
1nSx.HSP6TAVXYrZjSQK98qZfWjoIECyWhi9XVVDEuIN8SU.+0q0wAfo2GjI
U3s3R8aISlbsZuZ6gSYUSAAsbS7xOj9z9jiO9T4q2HIcpdiWZdiGdrneCb5J
msiwh7SqnewaTGID4LRuSmwdY6Nr+3gmhNrHLds9Oe2ljjcZkBzu9kjMk2B+
bGzaUzyIp862tZgBa2Eldmm3hYXSMNN6OTRtdcS46B2FswBqJ7ToI2EYucvr
B0koMAVRw41Mn6RY48.NZdoETWB2NQv0mSs0AHuqV.nm0AzHBkhpXBlkEI5B
8UvTAR24aYlLkWHwRkAcTkNlBQEUUazMIouBrTKlqRWD5NEVTQgp6NpV0ndW
IuDs+DA.sf91aHc3Sz+dMClIi5XkQkjsUvEZVa477uKSwVmVyFbaauKvV9K3
TGL8TSBrncUV+EU.516kB0XpvETU3xO7XFAWdjtI5wvkepxXnBQTFgy55n2W
5WkGPp0aIJ1UsToNWXVDlWYSo+WkldJRmL3443JSDPa7r4Fnet2oR3.ZclxS
6adZsnMoAP5BDsViTDwVHYRk0a46vAvEUEID3UJoXD4toyb2yb2m4tYcvcCU
xzWHK8CmiuwYum4tm4tKwcC6f6lHPlVvvML6LiMyOOyOeleF2A+LiQW.gPIV
P3Zm3hEraccQl4tm4tKwci5f6lZZvz217ym8O9LC8LCcvcjNXn4b5BVIw0YG
PYlBI1Ymy91qFe2Ft65G+UNOdyH6nRHJz5IuU8c8T7pU4kAIqKsb8gSIN7vq
dvbi1ytNM0BkC83CG2yCmP83CG1yCWH73CG02bN1OObnKLbXdE3o1wkixWOx
LQO.gb5uZYeF2GbTWXHQUgl5QTLUVQcO8PjaFo.SBywGiQJyokNkBV3K3Ywm
vmkvomEcLdV0lGaIjhpR7UCWMO+rqTifqE2pSvi1BUimfGsrqUW4qgPlxfDT
pq5G0N0OX4CNoZL785G4Xm1pBiGC9RLz4mE7heVHmdVjQ4YguboqRIZAAxED
1o5vuGjthIW9HUvvK7jveL04IsKmYzoMZvihverSazfkixyxoMZHfQgwW5zy
BNFOK2rlnaVWJjrvObtD3kO5HHnuFctHLrbvGdAOJ2X+FC8bPtPUb3X7jbQ.
OaL1iD4hToZCmQRU.mdzbnCJwfIn5gbEia8Fis5mHtqFgcoSTto2TMgVizLk
iOanOTvGicv.+QYmLmzphLF5B3jZGihVGNozAdLDN5jJGnwPjuSJbfGkmjKp
aLJZrQ.txk2pybxaboLywHPoYt1o5eQEYgyG03.VZGg0myiamVyfFCDxEKIJ
2Esd8OI1kqZElhV.pGWhiuhVDWVzQFC8DntnuIYL1ni5hVVzwPKKJwgEcYCm
VWzwEkVygMUb8p+U9ZNjopSOFq4nTWG1ixSp2ohwPRK0k0bzwXGQlS9pbLPO
9PDibYOIWVbNFaSw4WtnQFg6e256jJBcOLyLffRHKHRIWvv7Sk6WLGzx8FaE
ucgLpsH0cxn0aM1pvKvtZn2k5zFgSlTNF6RI3S0SR5pd0WJ3Icyy7iwNuR2b
L+XHEVJcX2RIwKmQqzk4NI0eO69NUdI2eO6dOWbWNTdSLgTqOloer05aY05W
YM6SYs2exp2Wxxx3YS+RpVbnbt7Zpa.w+wrVRy6+gnsGMAASQK9pJ37viqi2
r4T.1TNWoKhgm7LiuHsmqFcPRBDJxBYIHlaR0HLVWmHJmd8lOC7TBKQKhyIB
CwIlv3QGOO3rjpu1GCc9YAfRyS.HEl18IVeIX0Du2ZRS0LImvxSu+ioIOtOb
UbdceDTIetuOm2RWwYq2lpt6YEfFW7YJyKdZx3CG1Dql.+OzytcMQzSriMJi
ESho961bLpnE.YerDtbo5ATMF0fbklQZHmcZ1SpuDzCCv8Ieb6fGgmGWTE+G
IKO3vdZD9ceJb3CP.RRIY7ubNFix.SARoqId7Gf+98QQuhQXF5g0+neEjIXH
93O39Oi1rI4iCdzIPTH2D7ePALSTAUgn0BOyxA94eJq7DSk.fXrHfiO+Pz9e
exlUCd3qYEAYS+TIBRynDXYwWix.buQbidD5nzF0JGBigk4ribtgwTArRbUn
sVdm5ABxrepklroNBh+p+1W8+.0lOnfB
-----------end_max5_patcher-----------

//////////////////////////////////////////////////////////////////////////////////////////////

I remember there was some discussion about @tutschku’s loudness test at the last plenary, but no details about it specifically. And @tremblap has reported some similar (sounding) issues with descriptors~‘s (descriptors~’?) loudness in the past, so I’m wondering if this is the same problem and/or if this is intrinsic to how descriptors~ works, or if there is a problem in the algorithm somewhere.

quick question: have you used the exact same sample between all tests? Not just within, but between? If yes, I would have expected an exact value difference I do not have here, so I’m worried…

I’ve done both. There are some “live” (random) noise tests, as well as some fixed noise tests in the example. Obviously the random one should be a bit different (though within a reasonable range), but the fixed ones should be the same.

1 Like

indeed, and the descriptor~ one is broken and not my issue, but I’m doing my usual QI job for the fluid* side. I was expecting exactly 6.02dB for the double, so I hope that example was random (between 1 and 2)

1 Like