Skip to content

Add PCAN support to MFCC by wrapping Tensorflow Lite Microfrontend. - #11130

Draft
lgirdwood wants to merge 2 commits into
thesofproject:mainfrom
lgirdwood:feature/pcan
Draft

Add PCAN support to MFCC by wrapping Tensorflow Lite Microfrontend.#11130
lgirdwood wants to merge 2 commits into
thesofproject:mainfrom
lgirdwood:feature/pcan

Conversation

@lgirdwood

Copy link
Copy Markdown
Member

@singalsu fyi - pls let me know if you need anything else by way of comments in the PR.

Integrate Google's upstream TFLite Micro microfrontend library
(under Apache-2.0 with patent grant protection) to support PCAN
(Per-Channel Automatic Gain Control Normalization) in SOF:

- west.yml: add tensorflow remote and tflite-micro project definition
- src/math/pcan: compile Google's upstream pcan_gain_control.c/util.c
  and noise_reduction.c/util.c directly into SOF math library
- src/include/sof/math/pcan.h: expose PCAN math API and wrapper helpers
- src/audio/mfcc: integrate PCAN into MFCC audio processing pipeline
- src/audio/mfcc/tune/setup_mfcc.m: add PCAN configuration preset
- test/cmocka/src/math/pcan: 5-phase CMocka test suite validating LUT
  generation, WideDynamicFunction, PcanShrink, streaming IIR estimation,
  and numerical corner cases against Octave reference models
- src/math/pcan/pcan_hifi4.c: add HiFi DSP SIMD optimizations

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
…ure documentation

Document:
- Dependencies: West manifest, tflite-micro upstream repo, CMake, GNU Octave, CMocka, DSP toolchains
- Build instructions for host CMocka unit tests and Zephyr target firmware
- Topology configuration generation via Octave setup_mfcc.m
- Mathematical formulation and pipeline data flow for MFCC and PCAN

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants