Real-time FFT (Audacity or other application)?

Hello,

Do you know a way to get a real-time FFT (spectrogram) in Audacity or any other application available for Linux? I have found many ways to view spectograms of recorded audio, but I’d like to have it real-time for voice analysis.

Output like this would be cool (there’s also a linear view, it’s fine-grained, and it shows the frequency peak):

It’s a screen shot from this free, but non-open-source Android app:

. This app is cool, but I’d love to do it the open-source way and on my PC.

Thanks

Real Time anything is a future feature request.
Koz

Would it be possible to make an Audacity plugin for that or is the plugin API only for processing recorded audio? If yes, I could give it a try.

Do you know any other Linux applications that can show realtime FFT?

You can create your own pretty easily using the numpy and scipy python libraries.

While it looks pretty cool to see a real-time FFT “scope” jumping around, it is probably not the most useful tool for voice analysis. Have a look at “Sonic Visualizer” http://www.sonicvisualiser.org/

As you’re on Linux, you may also be interested in Baudline: baudline signal analyzer - FFT spectrogram

The problem is not the FFT but the GUI and the ability to deal with various sound input sources. That’s why I thought an Audacity plugin approach might be reasonable.

Thanks. Baudline is pretty close to what I’m looking for (at least when you have found out that you have to modprobe snd-pcm-oss first) and I guess I will use it.

The main problem with that approach in Audacity is that until very recently, Audacity has had virtually no support for doing things in “real time” (while the audio is playing). This has been a long standing limitation in Audacity. The next version of Audacity (2.1.0) will be the first version that addresses this old limitation, but note that as this is brand new feature (and “revolutionary” for Audacity), it is not yet fully implemented, so it’s a bit early yet for developing the type of plugin that you describe.

If you were wanting to develop this yourself, the best approach at the present time would probably be to develop it as a “Jack Plugin” (see the “Jack Meterbridge” plugin as an example: JACK Meterbridge). As a Jack plugin, it could run outside of Audacity, taking audio from Audacity as its input via Jack audio system.
There’s a short video here that demonstrates Jack Meterbridge running with Audacity (the voice is one of our regular forum contributors) https://www.youtube.com/watch?v=ZG_Vu32c0ZA