Realtime descriptors data output rate?

What determines the rate of data output from the realtime descriptors objects? (fluid.spectralshape~, fluid.loudness~, etc…)

I would have thought it was the @fftsettings where it would output once a window (or hop?) but that has no impact on the rate of data coming out.

Screenshot 2022-08-15 at 3.36.21 pm


----------begin_max5_patcher----------
1464.3oc4YssbahCF9Z6mBMbchGj37dU1miN63QFjcTKVhAIRR2NsO6qN.X.
CN3Dr6ty1Kvo5W7e36+HR+X8Jmc72HBGve.9BX0perd0JyR5EVU++W4bD+VZ
NVX1lyQhPfOPbdvRSRdSZV22MIDfb8iA5+pgbQIQPXRrjxYayoLRJuhYdAT8
NXUG4UxbhzvdX8pzLCS4695iQM7xtM42KHV80wA7WMhAKSelxNrsjjJsTgQt
abe.D5qelDnehPabaeEkborFwhzq8y0q0Od3SBDPWjOH.h.5+XAwgvOENnTF
8OwI2Of.EDpfef5Gm4ZiAeNazKz3xuA1Hi7pR+NyDYbpf7qYaddSZdB5AFN+
xFITEJGgPIPDJ.5EjfhUlbjwX88urICWx3aXxljX2fDH3Q+MIQ9dw9yFAPeP
Gbn6lfg1NJBZ75gQKu+Nke7nJe8Li+HMOW4xS4rLQCw8bljgOZLDm+rjp7ii
BGti.GAcYhf92Fl.813dIrXj3.uPSnermAJfKYbv9bthGmzyxiXilDdklOZD
yG1VeDWpXgjTtkvv6xIcwqyCUd.3rCyNbJj4JPO3znWfoJBxaIQucURImM+7
CuODhzGMlqYWm.g7adtbl8D0KK.oEUR5QR40l7LFV4OYwDULqNHczvCz0Gd.
s8UdugH5xVkEZQmZ3QoDzbxKjRgZBfNFzJGbQQmkW04UzX5W4FFE+P6RTlcI
u1kJIuPGxVEeKUFmTYYUkVz8svF.SyFdFojUQacvFuasJY7iZuhn.mZeYs6t
g7I3J.YvDXrY3BXhsRrWzIHREnbHmm9MRVm.XkGqfvnrtSE0ibFYOtJWtsmi
CtIHI.FGlz7uw189ZEdTVMZf1JmCkzLNSqR8bL5kaDtJxvZoAcMMyNX3hQdY
U.pBklfnPYxUhc3RseqN2F0PTx448I09d4j8xZxETFa.lJ4ESSrjd34K7t63
JhGuDuMTDaqXVpaUgHxsB7K8QaINOuN2uO6eCynpFGDcxuwbcaIZqu8rHsjm
m2ydsTdYDJYpP9TxqzL4yFAsoi+VscZQSHkSqWNidfHj8WShOH5uhP9cKn2Y
opc0ozakjiE4Jqn+FTIKTgT7L+UQ8FaBz5B.m9Lqto3cKj1a8AETsk3ZyemZ
3hg0HgceiQp24Yp8CiryMDz7rMD+7lAcHzLjjVXTlpU0K3b.kANJ.TAnjTvK
kjLfBOHcUCJKi7Vm5N0MWpKA8AwmdMb52zYGnGJLcgfI65L0TrynY748elpL
1TcjbMEUihM9FaAV2K5gtOnppQdptv9BCsdWDZ62WeovVnqIKHH7eMf6ipJZ
KLv5eOA15xJ9lxJdnMAuGth9uZoff6Xo.+3+OUIH7dFv5GoiQ+MUHvv0qFeh
txHuoq+4GM2t+tSz8WKMfPM.p.nFvSID.lkUOAfZXf5YCFcH.zucfL9yCj1L
yECGwZTqFHuH3MVT3oOOQeNySLzowFzzGGUE7pxzFDnFi.8sG0b1RJq8S29R
a4P89lkO8Z0gnYpCnanNDNScP0sE.uQ5PvL0gvaHN3OSc.dC0AuqvWbqzAzL
0AuI0g5EaN7EG8mTms0d7AawRYIcWkzlF28zjtpOycdGixgb9Nb9fufcruUd
8ISXYNVv84UzrMhBkIWhyEOiKH+B7z98RgpTrpHnvdeZnXvSJ1oWWYLl6YD7
TA+URoJW6oJFUp+UPxU7AjppoVxoYf8pOXWUGTL+SkFE6boid9CbPqnjMJsO
1OvCEAC8CPQ5oLRV9KsQGvTQm+Qnl7wN.9VEVKOqK7jyx48unN6sVgb8lOBX
1Q+VZV.YXJaMrb41GS05H4Td5YH+bET38RPA2KAYxHdeQ0qfrCuLydH3vOkr
8lijazu6gUZ6rOzHc+bhdVVo+s.eGv0IDMbIv2YajKO9l7AihrUcFbEMZoL3
pYFbsLmekLSecLCuJFyj.ScELq+45+Afbp68P
-----------end_max5_patcher-----------

No matter what I change the settings to, I get ~1.4ms data output (on my computer).

If I print out the data to the console I get a ton of repeated values, so I guess it’s just dumping out values at a fixed rate regardless of whether there is new data or not. I could zl change it, but there may be instances where there is actual repeated data that I wouldn’t want to miss.

I got to wondering/testing because I want to set up a realtime version of descriptor outputs for SP-Tools and wasn’t sure if I wanted to do a JIT approach or to just use the realtime versions, but ran into the problem above in testing the realtime versions.

Similarly, not sure if the “change” between fft windows is synced/consistent across multiple objects (e.g. fluid.loudness~ and fluid.pitch~ running on the same signal). Will the “new” value from each happen on the same output/vector or is each independently “clocked” internally?

the output rate is always the SVS. that is why we place a zl.change just after.