Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
User avatar
pdesaulniers
Established Member
Posts: 15
Joined: Tue Mar 27, 2018 12:41 pm

Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by pdesaulniers »

Screenshot.png
Screenshot.png (98.79 KiB) Viewed 1529 times
Wolf Spectrum is a free spectrogram plugin. It can be used to analyze the frequency content of signals over time. It is meant to be a FLOSS alternative to software like Baudline and the spectrogram in Renoise.

It has already been featured in the unfa livestreams a few time, but this is the first official announcement :)

Right now, it supports vertical scrolling, logarithmic/linear frequency scaling, and configurable block sizes. I plan on adding a few features in future releases, such as horizontal scrolling and the ability to show the frequency at the cursor's position.

To install the plugin, follow the instructions in the README: https://github.com/pdesaulniers/wolf-spectrum

If you encounter some issues with the plugin, please report them. Feature requests are also welcome :)

Thanks!
Last edited by pdesaulniers on Wed Apr 17, 2019 12:19 am, edited 1 time in total.
User avatar
Michael Willis
Established Member
Posts: 1451
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 69 times
Been thanked: 164 times
Contact:

Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by Michael Willis »

Great work! The first thing I looked for in your source code was the FFT implementation. I see you're using a library called kissfft; could you elaborate on how you made your choice? Dragonfly Reverb currently uses Project Nayuki's FFT, but admittedly I didn't spend much time looking; it's just that building FFTW was more complicated than I wanted to deal with, and soon thereafter I found the Nayuki FFT library.
Kott
Established Member
Posts: 818
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok
Has thanked: 65 times
Been thanked: 122 times

Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by Kott »

Ha! I'm just found your plugin today, while lurking for native spectrum vst ))
It works nicely.
User avatar
pdesaulniers
Established Member
Posts: 15
Joined: Tue Mar 27, 2018 12:41 pm

Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by pdesaulniers »

Michael Willis wrote:I see you're using a library called kissfft; could you elaborate on how you made your choice?
I went with kissfft instead of FFTW, because it is lighter and easier to integrate.

As for kissfft vs. Project Nayuki's FFT, it seems like they are fairly similar at first glance. I suppose both would've been fine to use in this plugin.

However, I see that Project Nayuki's FFT allocates memory dynamically and frees it at every Fft_transform call: https://github.com/michaelwillis/dragon ... /fft.c#L65

For improving real-time performance, I guess it would be better to reuse the buffers, instead of recreating them every time. I don't know if that would make a huge difference in practice, though :)
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by sadko4u »

LSP Plugins do use their own SIMD-optimized FFT.
Here's a part of code for example:
https://github.com/sadko4u/lsp-plugins/ ... tive/fft.h - native implementation
https://github.com/sadko4u/lsp-plugins/ ... utterfly.h - butterfly implementation for x86 SSE
https://github.com/sadko4u/lsp-plugins/ ... utterfly.h - butterfly implementation for ARM NEON
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
Michael Willis
Established Member
Posts: 1451
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 69 times
Been thanked: 164 times
Contact:

Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)

Post by Michael Willis »

pdesaulniers wrote:As for kissfft vs. Project Nayuki's FFT
I just tried switching to kissfft and can confirm that it is significantly faster than Nayuki FFT. I didn't profile it, but it seems like it is around 10x faster.

Edit: I'm probably exaggerating about 10x, but my spectrogram indeed renderers noticeably faster.
Post Reply