Detecting fundamental pitch and partials

I’m curious to know what options there are in Flucoma for this?

For example, using a note from a piano and being able to list the fundamental frequency and then a list of partials, could be buffer analysis or realtime. I’ve had a good poke around the helpfiles and can’t seem to find an example anywhere.



Welcome! There is at the moment an object to find fundamental of monophonic signal: FluidPitch in real-time, FluidBufPitch for a buffer in non-real-time. They have a lot of various features to help.

To find the various harmonics, one could find the peaks in the spetrum. There is a thread on which I shared a way to do it in SuperCollider and in Max on this forum. I don’t know on which platform you are though.


Thanks for the reply.

Sorry, forgot this was cross-platform. I’m working in Max, that would be great if you could share the link.

oh it seems it is nested inside another post. I’ll clean it up and might even do an object eventually as discussed with @tedmoore but for now you can check inside this patch:


hello @tremblap ,
if there happens to be a version for sc too would be great to check it out!

Hi @jan,

For a FluidPitch and FluidBufPitch example, check out (also in the helpfiles!):

Regarding partials, there currently doesn’t exist an object that provides that information directly (the frequency values and what not). Sines does that kind of analysis and then has the resynthesis bundled in.

To get the frequency values and their amplitudes, check out Nick Collins TopNFreqs:

I use it and think it sounds pretty nice!

Hi @tedmoore, thanks!
Yes, i was asking specifically for the partials feature. I actually used to use TopNFreq more but will get back to it. Wouldn’t the access to the Sines analysis be a great and helpful additional feature to the object though?

Yes! It’ definitely on our radar! I’m guessing you’ve checked out SPEAR as well!? It allows exporting the data into a txt file in a few differently structured formats.

1 Like

I did, quite a while back though! Vaguely remember it was not too straightforward to export & import the arrays for freqs and amps to SC, but ill give it another shot!

1 Like

Thanks, that patch helped me a while back on the last project. If I’m understanding - do the NMF separation, then analyse each layer?

For my current use I think NMF may take too long (eg a 3 minute file). Would fluid.pitch~ also need to work on something previously separated by fluid.bufnmf~ ?

Funny - I was just looking at fluid.sines~ and wondering if I could get list data from the dumpout outlet…


that is exactly what I plan to do… but for now we are doing some deep changes to the code base to be version 1 ready. Then we’ll see.

in the meantime, pitch post nmf vs pre nmf will give different values, you should try both and see what you like best and what works best witn your musical explorations.

keep us posted with your results

1 Like (3.6 KB)

See the attached class and “help” file. This is a spear analysis parser, with a nice way to look at frames and grab the top frequencies.



nice, thanks a lot @spluta!

Hello !
Funny, I’m also looking for a real time spectral peaks analyser. For a long time I’ve been using iana~ from the Ircam library (, but now that I’ve switched to SuperCollider I’m missing a good real-time analyser! Waiting for the great Flucoma library to integrate it !