Audio: STFT Process: Add new SOF module
Improved audio quality with 32 bit window functions and switch to Hann window type.
@singalsu can you also add a Readme.md to the module directory describing usage/tuning. Thanks !
Update: The audio quality is now good, transparent for 16 bit audio like the CD format. This is the output from running test process_test('stft_process_1536_240_', 32, 32, 48000, 1, 1);
New version, with stereo processing. It was dual mono for 2ch. The review comments are addressed abd I hope I didn't miss essential. I don't agree with unsigned int usage preference for data sizes (as frames or samples) and channels count, so I didn't change those.
Looks very good @singalsu ! Lot of helpful comments in the code, making this easier to follow. Nothing major in the review. It seems you have some todos left in code and commits, so I gather you will be updating this series still.
Still missing from this as functionality the log magnitude spectrum domain between FFT and IFFT. And the all the twiddle factors can be made cold. It can be incremental if this is merged, or I can keep updating this.
Looks very good @singalsu ! Lot of helpful comments in the code, making this easier to follow. Nothing major in the review. It seems you have some todos left in code and commits, so I gather you will be updating this series still.
Still missing from this as functionality the log magnitude spectrum domain between FFT and IFFT. And the all the twiddle factors can be made cold. It can be incremental if this is merged, or I can keep updating this.
Incremental pls.
@singalsu can you check CI, one build failure for plugin. Thanks !
@singalsu can you check CI, one build failure for plugin. Thanks !
There's a mess with 16 bit FFT build triggered by MFCC but needing 32 bit FFT parts. I need to separate better the 16 bit and 32 bit FFT stuff for build success.
@singalsu can you check CI, one build failure for plugin. Thanks !
There's a mess with 16 bit FFT build triggered by MFCC but needing 32 bit FFT parts. I need to separate better the 16 bit and 32 bit FFT stuff for build success.
Need to fix the cmocka unit test fail that I caused with the kconfig changes.
Added topology & blob with 1 ms FFT hop for LL pipeline processing example.
@singalsu I've merged since functional CI has passed but pls do fix the doxygen warnings in incremental PR
[0/2] cd /home/runner/work/sof/sof/docbuild && doxygen sof.doxygen
/home/runner/work/sof/sof/src/include/sof/math/fft.h:114: warning: Found unknown command '@x'
/home/runner/work/sof/sof/src/include/sof/math/fft.h:115: warning: Found unknown command '@y'
/home/runner/work/sof/sof/src/include/sof/math/fft.h:114: warning: Found unknown command '@x'
/home/runner/work/sof/sof/src/include/sof/math/fft.h:115: warning: Found unknown command '@y'
@singalsu I've merged since functional CI has passed but pls do fix the doxygen warnings in incremental PR
[0/2] cd /home/runner/work/sof/sof/docbuild && doxygen sof.doxygen /home/runner/work/sof/sof/src/include/sof/math/fft.h:114: warning: Found unknown command '@x' /home/runner/work/sof/sof/src/include/sof/math/fft.h:115: warning: Found unknown command '@y' /home/runner/work/sof/sof/src/include/sof/math/fft.h:114: warning: Found unknown command '@x' /home/runner/work/sof/sof/src/include/sof/math/fft.h:115: warning: Found unknown command '@y'
Yep, I'll do right now a small PR for this. It takes still a while before the next cold twiddle factors data PR is ready.