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
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 @@
     /* 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 @@
                 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 @@
     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 @@
 
 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.
     )