diff options
author | Richard Burton <richard.burton@arm.com> | 2021-12-07 14:04:44 +0000 |
---|---|---|
committer | Richard <richard.burton@arm.com> | 2021-12-07 14:06:03 +0000 |
commit | 033c9150523387aca88dd4c89a4d5ca105d4de4e (patch) | |
tree | d37ffe4129b655f372449a6d05caec68d7e9f10b /source | |
parent | 3acaaeeba7d8e85a20273bd1d8d4d9b3bb1322ad (diff) | |
download | ml-embedded-evaluation-kit-033c9150523387aca88dd4c89a4d5ca105d4de4e.tar.gz |
MLECO-2723: Updating RNNoise to use 512 frame size
* CMSIS-DSP acceleration will now be used for FFT in RNNoise pre-processing
* PESQ scores tested and similar
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: Ifeebc041f58867909b27c948950e08f8f39ef276
Diffstat (limited to 'source')
4 files changed, 10 insertions, 9 deletions
diff --git a/source/application/main/PlatformMath.cc b/source/application/main/PlatformMath.cc index 505d357..0b8882a 100644 --- a/source/application/main/PlatformMath.cc +++ b/source/application/main/PlatformMath.cc @@ -225,7 +225,7 @@ namespace math { #if ARM_DSP_AVAILABLE if (fftInstance.m_optimisedOptionAvailable) { fftOutput = input; /* Complex function works in-place */ - arm_cfft_f32(&fftInstance.m_instanceComplex, fftOutput.data(), 0, 0); + arm_cfft_f32(&fftInstance.m_instanceComplex, fftOutput.data(), 0, 1); return; } #endif /* ARM_DSP_AVAILABLE */ diff --git a/source/use_case/noise_reduction/include/RNNoiseProcess.hpp b/source/use_case/noise_reduction/include/RNNoiseProcess.hpp index 0e19c68..c188e42 100644 --- a/source/use_case/noise_reduction/include/RNNoiseProcess.hpp +++ b/source/use_case/noise_reduction/include/RNNoiseProcess.hpp @@ -78,13 +78,13 @@ namespace rnn { /* Public constants */ public: static constexpr uint32_t FRAME_SIZE_SHIFT{2}; - static constexpr uint32_t FRAME_SIZE{480}; + static constexpr uint32_t FRAME_SIZE{512}; static constexpr uint32_t WINDOW_SIZE{2 * FRAME_SIZE}; static constexpr uint32_t FREQ_SIZE{FRAME_SIZE + 1}; - static constexpr uint32_t PITCH_MIN_PERIOD{60}; - static constexpr uint32_t PITCH_MAX_PERIOD{768}; - static constexpr uint32_t PITCH_FRAME_SIZE{960}; + static constexpr uint32_t PITCH_MIN_PERIOD{64}; + static constexpr uint32_t PITCH_MAX_PERIOD{820}; + static constexpr uint32_t PITCH_FRAME_SIZE{1024}; static constexpr uint32_t PITCH_BUF_SIZE{PITCH_MAX_PERIOD + PITCH_FRAME_SIZE}; static constexpr uint32_t NB_BANDS{22}; diff --git a/source/use_case/noise_reduction/src/MainLoop.cc b/source/use_case/noise_reduction/src/MainLoop.cc index ee0a61b..7d814a8 100644 --- a/source/use_case/noise_reduction/src/MainLoop.cc +++ b/source/use_case/noise_reduction/src/MainLoop.cc @@ -106,6 +106,7 @@ void main_loop(hal_platform& platform) break; case MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the audio clip IFM index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto clipIndex = static_cast<uint32_t>(arm::app::ReadUserInputAsInt(platform)); SetAppCtxClipIdx(caseContext, clipIndex); executionSuccessful = NoiseReductionHandler(caseContext, false); diff --git a/source/use_case/noise_reduction/usecase.cmake b/source/use_case/noise_reduction/usecase.cmake index 14cff17..60f92ae 100644 --- a/source/use_case/noise_reduction/usecase.cmake +++ b/source/use_case/noise_reduction/usecase.cmake @@ -53,8 +53,8 @@ USER_OPTION(${use_case}_AUDIO_RES_TYPE "Specify re-sampling algorithm to use. By kaiser_best STRING) -USER_OPTION(${use_case}_AUDIO_MIN_SAMPLES "Specify the minimum number of samples to use. Default is 480, if the audio is shorter it will be automatically padded." - 480 +USER_OPTION(${use_case}_AUDIO_MIN_SAMPLES "Specify the minimum number of samples to use. Default is 512, if the audio is shorter it will be automatically padded." + 512 STRING) # Generate input files from audio wav files @@ -69,8 +69,8 @@ generate_audio_code(${${use_case}_FILE_PATH} ${SRC_GEN_DIR} ${INC_GEN_DIR} set(EXTRA_MODEL_CODE "/* Model parameters for ${use_case} */" - "extern const int g_FrameLength = 480" - "extern const int g_FrameStride = 480" + "extern const int g_FrameLength = 512" + "extern const int g_FrameStride = 512" "extern const uint32_t g_NumInputFeatures = 42*1" # Single time-step input of 42 features. ) |