Real-time spectrum analyzer with JACK

I would like to create a real-time spectrum analyzer from sound coming in from a microphone through JACK. I looked over the jaaa [ 1 ] source code [ 2 ] and read through some JACK documentation [ 3 ] and client examples [ 4 ], but I still do not understand how to separate the stream into the frequency bands and get the magnitude for each band.

Does anyone have recommended reading or an open-source library that has something like stream->get_magnitude(frequency) or stream->get_magnitude_of_range(lowest_frequency, highest_frequency)?

Thanks.

1 http://www.kokkinizita.net/linuxaudio/#jaaa
2 http://www.kokkinizita.net/linuxaudio/downloads/index.html
3 http://jackaudio.org/documentation
4 http://dis-dot-dat.net/index.cgi?item=/jacktuts/starting/

I don’t think anyone currently reading the Forum will be able to help you with details of this. You could subscribe to our developers mailing list and ask there for pointers, but Audacity doesn’t run effects or analysis on real-time audio yet. If you do write to -devel, please have a look at our source code e.g. http://code.google.com/p/audacity/source/browse/audacity-src/trunk/src/Spectrum.cpp .

Personally I think this question may be better sent to the JACK Mailing lists .



Gale

I found what I was looking for.

Fastest Fourier Transform in the West
http://www.fftw.org/

While searching for something else I found this: FreqTweak - http://freqtweak.sourceforge.net/

Not sure if it’s of any interest for what you need but here’s the link anyway :slight_smile: