giuliomoro How are those firFilterCoeffs computed?
I used the online calculator Tfilter. It's actually the first time and, rather than suggesting they are necessarily the final coeffs they are there now!
giuliomoro Why is numTaps fixed to 9? Wouldn't it be better exposed publicly? (especially if there is an easy way to automate the computation of the firFilterCoeff.
My idea for numTaps was to keep it private but set it in setup depending on the passed in decimation factor (and quality factor if implemented). I just got excited that the thing had actually worked and forgot I hadn't finished 😃
Funnily enough I was actually going to ask you if you know a function for generating the coeffs in setup so they can be bespoke for the given args passed in?
The ne10 library states user is responsible for providing their own coeffs so I think it's a case of looking elsewhere. If you dunno either I'll do some reading...
Tabbing and whitespaces I'll sort then. Some peoples code I've seen is easier to read than others and I guess I'm going through a phase or playing around in that respect but yes, probably best to keep it simple.
Do the trailing whitespaces cause any issues or is it just a case of being neat?
giuliomoro is there a way to avoid having #define ENABLE_NE10_FIR_DECIMATE_FLOAT_NEON in the header file?
I have no idea! Bela wasn't accepting function call ne10_fir_decimate_float_neon
(can't remember the specific error message). #define ENABLE_NE10_FIR_FLOAT_NEON
was at head of Convolver.h
so I copied it over and put DECIMATE
in the middle. It worked so I asked no more questions.
I intend to test the performance but have only had a quick glance down at cpu in my quick dirty decimation test in render. cpu is at 11 or 12% so, like the biquad, a single instance isn't really noticeable. I'll try stacking a few up and comparing.
In theory it ought to be better performing than biquad as the function only actually filters the samples it's outputting due to FIR not having feedback, this seems to be the point in FIR for decimation.
It's a shame we have to use memcpy
like that, I'm guessing it's not hugely efficient doing that but it's the only way to change the variable type?
In terms of Convolver
and ``Fft``` libraries were they tested for performance relative to other methods? It's interesting reading around the forums and seeing so many cases of people saying they slowed their code down by using neon intrinsics, are surprised and want to know why! There are a lot of delicious looking functions in the ne10 library so I'll be interested to see how this fairs performance wise before looking at other desirables.