Is it possible to implement EQ Match / FFT Analysis functionality in HISE?
-
I'm working on a “high-end” guitar processing plugin and I need to implement an EQ Match function to allow users to capture a reference tone.
Since HISE doesn't have a native "EQ Match" module, I'm considering the following approach:
Using FFT to analyze both the "Source" and "Reference" signals.
Calculating the magnitude difference to generate a compensation curve.
Applying that curve via a high-resolution FIR filter or a series of peak filters.
Does the current Scriptnode API support efficient buffer handling for this kind of FFT analysis? Or is it mandatory to write a custom C++ node for the matching logic?
If anyone has experience with FFT-based DSP in HISE, I’d love to hear your thoughts on the best workflow to achieve a "finished product" sound without killing the CPU.
Best regards,
-
it can be done in c++ for Hise.
As for doing it in Hisescript, you can probably approximate it. I think that you can do FFT analysis on a signal in Hisescript, which will give you the spectral info you need in order to compute the difference between your target and source.
But the more fiddly part would be the actual filtering, if you want it to be precise you probably have to use c++You'll need to set up a whole complex chain of things though to do this Hise-Side.
-
@Sawatakashi I can't get you a far advanced response, but basically yes, you'll have to go C++ and probably a SIMD integration regarding the efficiency.
But yeah that's probably how I'd do it, not knowing if there's a better (and accessible) method.
Since a C++ node gives you access to Hise API, Juce API, and any third party library you'll want to import, Hise won't be the bottleneck.