Fluid.noveltyslice~ loudness and pitch algorithms busted?

Not sure if this is a bug or just a weird byproduct of how things work, but working with fluid.noveltyslice~ at the moment, and it seems like the loudness and pitch algorithms don’t respond (across a wide range of kernelsize / filtersize) or in the case of loudness when it does do something, it’s orders of magnitude less than any of the other algorithms.

I’ve been testing with some of my own material, but in checking the fluid.noveltyfeature~ helpfile (default audio example), there’s literally no response from the pitch algorithm at all (actually that’s not true, it seems to response to the change in silence when the loop repeats?), and loudness only registers the tiiiiniest blip (that’s impossible to threshold).

Is there some voodoo about novelty that I’m not understanding here or is there something odd going on under the hood with these algorithms?

Don’t think anything’s changed. Yes, the thresholds for different algorithms are annoyingly different. Do you have code that used to do something you wanted and that no longer does?

I hadn’t really used it before recently, so nothing as a comparison.

If you test the fluid.noveltyfeature~ help file and set it to pitch, is that meant to behave that way? (literally no movement whatsoever)

it was always thus - hence my example code of an iterative way to ‘find’ a threshold given a number of slices. Also, don’t forget pitch is fragile to fft size so again this iterative approach was helpful to understand a (material dependant) threshold range…

Hmm, you would think the pitch algorithm would do something with the default @fftsettings 1024 -1 -1 for that @a.harker example. It seems to instead do literally nothing except response to the whatever changes at the loop point of the audio.

have you tried it in the example code I point at?

Where is that?

I was just going with the help files and tweaking from that.

oh it was in the example folder but seems to have been removed when @jamesbradbury and @tedmoore did a review… I’ll find it in the repo archive.

ok it is still there in a folder called ‘intelligent slicing’ in the examples folder

It is moving, but so minutely I had to attach a debugger to confirm :roll_eyes: For pitch I think the problem here is that when it was thrown into Novelty we didn’t pause to think that the two dimensions are radically different scales, so the pitch output completely swamps the confidence in the similarity calculation.

In that oboe example, the jumps in confidence are pretty important as marking the transition between those otherwise quite stable multi-phonics. When I rescale the pitch channel internally, it behaves much (much) better. I’ll push that change in due course.

There’s a constant offset to the novelty output as well, which isn’t making me happy.

1 Like

Ah gotcha, the offline version. I guess that will find slices even if they are super tiny and (potentially) not representative of anything else going on. I was doing the realtime stuff.

That makes sense, in terms of the odd behavior. I wasn’t really getting expected results from any live input I gave it either, so is what led me to test with the examples.

Yeah, that’s quite funky too.