Brianalyze
Brianalyze is a pretty simple JACK-connected spectrum analyzer that I wrote for myself and have been using for a few years. It is supposedly designed for speed and low latency in realtime use. If you want to monitor the output of your DSP chains, you may find this useful. If you want to do in-depth tonal analysis of the varying mode patterns in a piece of music, you may be better off using something big and powerful like Sonic Visualiser.
It may, for all I know, work on MacOS or even Windows, but I don't really know much about them. I'd like to know if you manage to get it going on either.
Screenshot
Requirements
- Qt4 >4.4
- FFTW 3
- libjack
- A reasonable GL implementation.
- CMake >2.6 for building.
Releases
-
20160306
Small fixes to allow it to build & run on modern systems. (Works on Debian Jessie given the right -dev libs at least)
-
20090325
Bugfixes/workarounds due to inevitability of living with different GL implementations: options to disable use of stencilbuffer, fleshed out options to control threading, doesn't thread the drawing reduce() by default anymore. Minimum cmake is now 2.6.
-
20090311
Quite a bit safer and more robust on RT systems. Runtime option (--no-threaded-paint) to disable use of QtConcurrent. Simple legend showing connections. Slightly faster reference counting pointers. Slightly less abuse of reference counting pointers. Use PID rather than a random number to uniquely name jack client. Works with newer CMakes.
-
20080722
Slightly cleverer heuristics for gridline intensity and default colour selection. More colour-faithful blending. Internal refactorings.
-
20080622
Initial just-get-something-up release.
Mercurial respository
Available on bitbucket.
Things I should do but haven't
- Improve cache-locality of RT data movement.
- Consider reverting from use of QtConcurrent because of overhead and other problems.
- Use some radix tricks to reduce the amount of FFTing needed to be done.
- Consider working around GL bugs. Currently brianalyze is great at triggering DRI/Mesa bugs on older Mesa versions.
-
Add some UI love.
- Rethink the (frequency,amplitude) range selection widgets. They don't quite feel right.
-
Put up the mercurial repository if there's any interest.Now up on bitbucket. - Make it do some clever stuff.
- Make it do some stuff that's not so clever but it really should be doing anyway.
- Remove weirdnesses in code resulting from years of occasional whimsical rewrites.
License
GPLv3.