Spectrex: SDK for 2D and 3D spectrum visualizers in JUCE

Hi all,

Motivated by a few recent topics on audio visualizations, as well as my other thread on Azure Code Signing and its overwhelmingly positive response, I wanted to take the opportunity to introduce our new audio visualization SDK called Spectrex, published just now @ GitHub.

We want to give audio developers a chance to create cool audio visualizations in their own apps and to be creative with audio signals and spectrums, without having to bother with all the heavy lifting. This is why we’ve opened up a big part of our own library Spectrex, free to use, as a first step.

Spectrex supports OpenGL and JUCE, and has already shipped in various software products out there. The library is shipped precompiled (MSVC and XCode), compatible with CMake, and its examples are fully open-source and built using JUCE. The library can be used with other frameworks as well.

The kit takes care of all the heavy lifting, processing, synchronization and just lets you build and play around with GPU accelerated 2D and 3D spectrum GL shaders and visualizers. It includes a bunch of open-source examples and should get you started with visuals that respond to an audio spectrum. Some of those examples are 3D GL shaders, or pannable, zoomable spectrograms with fully synchronized waveforms, and might be useful to some!

Hopefully this can help kickstart some cool apps, plugins or even tutorials for those who are learning :slight_smile:

You can find it here: https://github.com/koaladsp/SpectrexSDK

16 Likes

What’s the fastest way to get this incorporated into a JUCE project? Is there a tutorial anywhere?

You should be able to just add Spectrex to your project, then use add_subdirectory(Spectrex) and add Spectrex to target_link_libraries.

In fact, you can take one of the example directories (e.g. SpectrexSDK/examples/Viz3DApp at master · koaladsp/SpectrexSDK · GitHub) as a template. You can essentially take this directory, place it in its own repo, add Spectrex as a submodule (along with any other submodule dependencies it needs) and it should compile independently.

1 Like

The Discord invite on your GitHub has expired. Care to make a permanent one?

Seems this message slipped through. I’m currently looking to see if we can perhaps use another existing Discord server with a bit more people :slight_smile: I’ll get back on this as soon as I can.

Yes, please :wink: