-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Audio: MFCC: Fix build of component for current SOF #9365
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use 1 for X or 2 for Y - more helpful :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
src/audio/mfcc/mfcc.toml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the whole file indented?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, I can remove the indent, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, other examples.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
zephyr_library_sources_ifdef(CONFIG_BINARY_LOGARITHM_FIXED | ||
${SOF_MATH_PATH}/base2log.c | ||
) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.