Spectrogram that behaves like Waveform~?(gets data from buffer~ instead of signs

Ploki's icon

I'd need a spectrogram/sonogram that's not realtime like Spectroscope but instead gets its data from buffer~.

anyone knows an objects like that?

Ploki's icon

Don't tell me there is none? It seems simpler than realtime analysis.

mattyo's icon

No one is answering you because your question does not make sense. a buffer~ represents audio that takes place in time, representing thousands of analysis frames, so it is 'realtime.' So no one knows what you want, and you'll have to state your problem more clearly.

M

Ploki's icon

Oh okay.

Waveform~ is a visual representation of the whole buffer~ contents. It displays buffer~s data without the need to feed it any signal.
I'd like a spectrographic representation of buffer~.
You would assign a "spectroscope~" to a buffer and it would display the whole buffer~s content spectrographically. (as opposed to playing it to get a scrolling display)

volker böhm's icon

FWIW, i have an external that calculates the FFT/iFFT offline. it takes data from a buffer, calculates magnitudes and phases (or simply real and imaginary parts) and puts those back into the buffer and vice versa. but it treats the buffer contents as one input frame and thus calculates one huge FFT out of it.
if that is what you want, you can find the object here: http://www.esbasel.ch/software/#vb-objects

otherwise, if you need overlapping frames, i once did an object that calculates phase-vocoder data of buffer contents, i.e. frames of amplitude and frequency data offline, which is then copied into a separate buffer for later use in a real-time phase-vocoder patch.
the external is not ready for prime time, but if there is interest i could have a look what is missing.

then, i read a few days ago that someone (i think adam siska) is planing to make an object for offline FFT.
and of course there is jit.fft which works quite nice, albeit a little slower than external solutions.

Pierre Alexandre Tremblay's icon

and you should explore the hissTools IR Toolkit. There is a very, very good spectral visualizer in there that works in non-real-time on a buffer content if you want...

p

Ploki's icon

@volker böhm not exactly, but perhaps it will serve my purpose nontheless, will give it a whirl. Thanks a lot!

@PIerre Alexandre Tremblay: link doesn't work unfortunately.

What I basically want is a view that iZotope RX offers

volker böhm's icon

What I basically want is a view that iZotope RX offers

doesn't work with waveform~ as it can only display one value per sample index.
you'd need a matrix for that.

Max Patch
Copy patch and select New From Clipboard in Max.

check out the HISStools (link works for me). if they don't do what you want,
here's a sketch using jitter. it's not terribly fast, but works ok for small files.
maybe this gets you an idea of how to patch this yourself.

Ploki's icon

@VB: Works for me now. Wow, the patch you made is perfect. I would have never ever thought that. Thank you so much. I've relied so much upon your work (starting with vb.cheby) I'm putting you in thank-you notes if I ever get to publish anything.

Admin Support HEMU-CL's icon

Dear Ploki and dear Mr. Bohm,
the sketch patch that has been linked actually visualize a Waveform (what is the point of doing a FFT to visualize a waveform?) and not a spectrogram.

Am I doing something wrong?
Alessandro

Admin Support HEMU-CL's icon

Sorry, i just forgot to initialize the loadbang correctly!
Works perfectly, just very slow
Thanks!

volker böhm's icon
Max Patch
Copy patch and select New From Clipboard in Max.

if someone is still interested in this, here is a slightly different version that is quite a little faster.

keepsound's icon

NICE!!!! Works perfectly.
Two questions:
1. how can I change the colors of the curve (Like in iZotope R5)?
2. how can I change the maximum level of the curve at the end of the curve (frequence maximum should be 22050 Hz at the top of the window, now it's at the mid position)? (see picture attached...note, sound file is a sweep of 1 minute)

Max Patch
Copy patch and select New From Clipboard in Max.

Note, I have only changed the Time patch

Schermata-2016-03-05-alle-21.25.46.png
png
Schermata-2016-03-05-alle-21.25.32.png
png
Schermata-2016-03-05-alle-21.25.461.png
png
Zancudo's icon

@KEEPSOUND

You might want to have a look at the mubu library from IRCAM.

It is free and does exactly what you want, displaying buffers in waveform and spectogram plus other goodies.

keepsound's icon

HI ZANCUDO, many thanks for your suggestion.
I have installed the Ircam mubu library and tested some patches...found nothing and everything seems uncomprensible. (and I hate also a little bit everything what comes from Ircam...two years ago I've buy a annual subscription to the Spat package, for 120€...now the price is raised to 140€...too much, and if you think that you have to pay this sum every year, with objects that you can't use for application that you've build also for other people..no, sorry, bye bye Ircam...)

And the patch from Volker is just perfect, does what I need execpt the color behaviour, so I need only to change his patch to get the colors, maybe only changein the main matrix from 1 plane to 4.

Best regards!

srs's icon

Does anyone know how to convert the spectrogram in Volker Böhm's patch to a logarithmic scale display?