Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
Moderators: raboof, khz, MattKingUSA
- pdesaulniers
- Established Member
- Posts: 15
- Joined: Tue Mar 27, 2018 12:41 pm
Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
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!
You do not have the required permissions to view the files attached to this post.
Last edited by pdesaulniers on Wed Apr 17, 2019 12:19 am, edited 1 time in total.
- Michael Willis
- Established Member
- Posts: 846
- Joined: Mon Oct 03, 2016 3:27 pm
- Location: Rocky Mountains, North America
- Contact:
Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
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.
Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
Ha! I'm just found your plugin today, while lurking for native spectrum vst ))
It works nicely.
It works nicely.
- pdesaulniers
- Established Member
- Posts: 15
- Joined: Tue Mar 27, 2018 12:41 pm
Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
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 :)
Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
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
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.
- Michael Willis
- Established Member
- Posts: 846
- Joined: Mon Oct 03, 2016 3:27 pm
- Location: Rocky Mountains, North America
- Contact:
Re: Wolf Spectrum - Free spectrogram plugin (LV2/VST/Jack)
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.
Who is online
Users browsing this forum: No registered users and 6 guests