To slice or not to slice

Hi all -

I am revisiting FluCoMa, trying to understand some old code in SuperCollider. I can never quite tell if I should be posting in the “Getting Started” forum since I keep getting started, over and over again.

My general approach with buffer manipulation has generally been to slice up a buffer first, and then perform analysis on short snippets - but I’ve been wondering if there’s an approach to slicing the buffer based on the analysis.
With something like FluidBufOnsetSlice, I am breaking snippets into fragments dictated by volume - but maybe I would like fragments based on how long a spectral centroid is within 10% of the first-detected frequency..

Is there a way to do this? Would anyone consider helping me refresh my memory in how to get started?

Thanks for everything!

Hello

Thank you for this. It is beyond starting, as you say, because you have the vocab and concepts and experience of tutorials already. Let me jump in on different questions you asked, with a few nuances and proposals.

This is normal - this is what we ‘teach’ as a simpler workflow. But you are absolutely right to challenge this, because it might not work for your current use.

Technically, it is by spectral difference (if the sound gets more-or-less suddenly brighter). You can also use Novelty and track the changes of spectrum, mfcc, pitch…

Currently, not simply, but nothing like rocket science either.

first I would AmpGate to make sure you analyse stuff about silence. that should give you long segments.

Then you could analyse those for centroids, then import buffer that in the language. you’ll get a time-series that has the right sample rate (the audio sample rate divided by the hop size) and you can process that Array in SC. You can do that with the pitch too, and decide what you mean by ‘first detected pitch’ (first after silence, first large confidence, etc)

Then you will get a frame address of where to cut. you convert that back to the original sample rate and you have a splice point.

I hope this helps?

1 Like