Audio: MFCC: Fix build of component for current SOF#9365
Audio: MFCC: Fix build of component for current SOF#9365lgirdwood merged 6 commits intothesofproject:mainfrom
Conversation
tools/tune/mfcc/setup_mfcc.m
Outdated
| "Exported MFCC configuration", ... | ||
| "cd tools/tune/mfcc; octave setup_mfcc.m"); | ||
| otherwise | ||
| error("Illegal cfg.tplg_ver, use 1 or 2."); |
There was a problem hiding this comment.
use 1 for X or 2 for Y - more helpful :)
There was a problem hiding this comment.
Why is the whole file indented?
There was a problem hiding this comment.
@marc-hb it is needed if and when MFCC is used on ACE platforms or if any other platforms are converted to split TOML and MFCC is used on them
There was a problem hiding this comment.
I tried hard and I really couldn't find a connection between your answer and indentation. Neither the pre-processor nor TOML care about indentation, do they? What am I missing?
There was a problem hiding this comment.
I tried hard and I really couldn't find a connection between your answer and indentation. Neither the pre-processor nor TOML care about indentation, do they? What am I missing?
@marc-hb sorry... misread, please, ignore
There was a problem hiding this comment.
So, I can remove the indent, right?
There was a problem hiding this comment.
If it works then yes please remove the indentation. I really don't see how that would be a problem. Assuming it was intentional, what made you think it was needed? Some other example maybe?
There was a problem hiding this comment.
Yep, other examples.
| zephyr_library_sources_ifdef(CONFIG_BINARY_LOGARITHM_FIXED | ||
| ${SOF_MATH_PATH}/base2log.c | ||
| ) | ||
|
|
There was a problem hiding this comment.
This would ideally use #8260 and avoid the duplicated definitions, but I can math needs to be moved in one go.
There was a problem hiding this comment.
Yep, prefer that way.
6a0804c to
62fd8cc
Compare
|
Here's picture of proposed topology with MFCC for DMIC1 (16 kHz). The DAI captures audio with 32 bits, the IIR filters the audio with 100 Hz high-pass (MFCC is for speech applications), Gain allows user mute of MFCC features data, module copier converts s32 -> s16, MFCC computes the audio features vectors: |
It has not been possible to build the component earlier for Zephyr IPC4 systems. This patch makes the next fixes: - Add SOF_MODULE_INIT() and include of rtos/init.h - For unit test fix the init function to sys_comp_module_mfcc_interface_init() - To Zephyr/CMakeLists.txt add the needed math library sources - Add .toml files for rimage for IPC4 systems Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The same dai-copier-eqiir-gain-module-copier-capture pipeline can be used for both DMIC0 and DMIC1, with different IIR setting, so the blob definition is moved to dmic-generic.conf where the pipeline is instantiated. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds build of topologies - sof-hda-generic-cavs25-2ch-mfcc.tplg - sof-hda-generic-cavs25-4ch-mfcc.tplg - sof-hda-generic-ace1-2ch-mfcc.tplg - sof-hda-generic-ace1-4ch-mfcc.tplg The MFCC is connected to 16 kHz DMIC1 DAI. The MFCC bitstream is passed to capture PCM. The DMIC1 pipeline style is copied from DMIC0: DAI copier -> IIR -> gain -> module_copier -> MFCC -> host copier Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch updates the setup_mfcc.m Octave script to produce configuration blob for topology version 2 builds. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
In test topologies the MFCC data can be packed to 1, 2, or 4 channels stream. This change fixes the shown time scale for audio features 3D plot. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
To see draft CI build results, will be removed later for proposal. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
62fd8cc to
8243c8e
Compare
|
Note: I still have patch to set in kconfig |
|
This was merged with a number of failures. @LaurentiuM1234 this is the PR that broke the 64bits build (and sparse) |
Can you be more specific, how did it break? |
right, same as faf725a I guess |
"View details" button. EDIT: |

This is a set of patches to bring MFCC component up-to-date to run with Zephyr IPC4 systems.