Mel bands equivalent to BufSTFT

Hello!

I am really new here so sorry for my ignorance!

I was wondering if there is an equivalent to BufSTFT but with melbands? Meaning could I store on a buffer the melbands information and have access to them as with bins and phases on BufSTFT?

Thank you!

Hello!

FluidBufMelbands is exactly the same as FluidMelbands, but on buffer. Is that what you mean?

Hey,
Yes thank you very much, that is exactly what I ment!! For some reason I missed it completely.
I have two more questions that are probably as naive as the first one but would be really helpfull for me if answered :slight_smile:

  1. On the FluidBufSTFT there is the option of “resynth” on a buffer. Is there an equivalent to that for FluidBufMelbands so I can resynthesize the audio from the melbands straight to a buffer?
  2. FluidMelbands can run in real time, is the equivalent to that the “FluidSTFTPass”? If yes is there a way I could in real-time manipulate/have access to the bins as you could do lets say with the PVUgens in SC?

thank you so much!

Hello

You can’t. Mel is a ‘compression’ format - it analyses the energy per band. You can roughly resynthesise, a bit like a vocoder would do, but it is very imperfect. There is an example in the help file.

You can have access to the magnitude of each band in real time. It is a lot less than PV and ‘destructive’

I recommend reading our learn material on Mel to see if that helps? Learn FluCoMa

if not, keep asking questions, and we’ll try to make it clearer.

Thank you for clarifying things!
I had already read the mel link you provided and was really helpful.

From reading again my second question I realised that my phrasing was a bit confusing.
What I wanted to ask (in the second question) was more about the STFT.
Is the realtime version of “FluidBufSTFT” the “FluidSTFTPass”? If yes how do you access in realtime the bins (as you would in PV)?
In the “FluidBufSTFT” help you show an example which is really straight forward, but from the “FluidSTFTPass” helpfile I cant understand how to access them…

thank you again!

Now I am confused :slight_smile:

PV-related upcodes are actually written to buffers, which you can access.

FluidSTFTPass is not a real object, it is a pedagogical one to understand stft-round-trips and induced delay.

So maybe let me know what you want to do, and I’ll propose a workflow. I’m pretty sure we cover it, between Fluid objects and native ones.

p

Hey!

haha, sorry for the confusion, I must be missing some technicalities and propably this confuses the whole thing!
If I understood correclty “FluidBufSTFT” performs the stft on a whole audio file that is stored somewhere in the computer, which after analysing the file, all the mags and phases of all frames are stored in 2 buffers in which you can access and do whatever you want on the bins/frames (as shown on the helpfile), which is great.
Is there a way of performing stft in real time on an audio that is being played and be able to manipulate the bins at the same time? I referred to the PV ugens because they do this with FFT and for example with PV.collect you can make the desired manipulations on the bins of the current frame. Would it be possible to perform stft with the fluid objects on a signal that is currently beeing played? And if yes how would I access the bins on the current frame that is beeing processed? Does this make sense?

thank you again!

OK I’ll explain:

actually it is on a buffer. it can be filled with a file, but also real time recording. it is a normal SuperCollider (or Max/Pd) buffer.

indeed.

Actually, they do the same thing. A STFT is a short-term FFT, window by window. In SuperCollider, you can have access to all bin values and manipulate them. they are the same as bufSTFT would give you on a buffer.

See this helper in SC and this explanation on our learn website - it should help understand the world of STFT and its relation to FFT.

I hope this helps? If not, keep on asking and I’ll do my best to help

p.a.

Hi @schz0 ,

I think what you’re looking for is PV_MagBuffer and PV_FreqBuffer. These are not native to SC but you can find them in the JoshPV Plugins.

Let me know if you have trouble finding them or if you have any questions about their use!

T