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/tests/use_case/noise_reduction/RNNoiseProcessingTests.cpp b/tests/use_case/noise_reduction/RNNoiseProcessingTests.cpp
index 24dd550..e28a6da 100644
--- a/tests/use_case/noise_reduction/RNNoiseProcessingTests.cpp
+++ b/tests/use_case/noise_reduction/RNNoiseProcessingTests.cpp
@@ -19,7 +19,7 @@
 #include <limits>
 
 
-/* Elements [0:480] from p232_113.wav cast as fp32. */
+/* Elements [0:512] from p232_113.wav cast as fp32. */
 const std::vector<float> testWav0 = std::vector<float>{
     -1058.0, -768.0, -737.0, -1141.0, -1015.0, -315.0, -205.0, -105.0, -150.0, 277.0,
     424.0, 523.0, 431.0, 256.0, 441.0, 830.0, 413.0, 421.0, 1002.0, 1186.0,
@@ -68,15 +68,16 @@
     -948.0, -1047.0, -1250.0, -1691.0, -2110.0, -2790.0, -2818.0, -2589.0, -2415.0, -2710.0,
     -2744.0, -2767.0, -2506.0, -2285.0, -2361.0, -2103.0, -2336.0, -2341.0, -2687.0, -2667.0,
     -2925.0, -2761.0, -2816.0, -2644.0, -2456.0, -2186.0, -2092.0, -2498.0, -2773.0, -2554.0,
-    -2218.0, -2626.0, -2996.0, -3119.0, -2574.0, -2582.0, -3009.0, -2876.0, -2747.0, -2999.0
-};
-
-/* Elements [480:960] from p232_113.wav cast as fp32. */
-const std::vector<float> testWav1 = std::vector<float>{
+    -2218.0, -2626.0, -2996.0, -3119.0, -2574.0, -2582.0, -3009.0, -2876.0, -2747.0, -2999.0,
     -2918.0, -2418.0, -2452.0, -2172.0, -2261.0, -2337.0, -2399.0, -2209.0, -2269.0, -2509.0,
     -2721.0, -2884.0, -2891.0, -3440.0, -3757.0, -4338.0, -4304.0, -4587.0, -4714.0, -5686.0,
     -5699.0, -5447.0, -5008.0, -5052.0, -5135.0, -4807.0, -4515.0, -3850.0, -3804.0, -3813.0,
-    -3451.0, -3527.0, -3764.0, -3627.0, -3527.0, -3737.0, -4043.0, -4394.0, -4672.0, -4561.0,
+    -3451.0, -3527.0
+};
+
+/* Elements [512:1024] from p232_113.wav cast as fp32. */
+const std::vector<float> testWav1 = std::vector<float>{
+    -3764.0, -3627.0, -3527.0, -3737.0, -4043.0, -4394.0, -4672.0, -4561.0,
     -4718.0, -4737.0, -5018.0, -5187.0, -5043.0, -4734.0, -4841.0, -5363.0, -5870.0, -5697.0,
     -5731.0, -6081.0, -6557.0, -6306.0, -6422.0, -5990.0, -5738.0, -5559.0, -5880.0, -6093.0,
     -6718.0, -6853.0, -6966.0, -6907.0, -6887.0, -7046.0, -6902.0, -6927.0, -6754.0, -6891.0,
@@ -120,94 +121,88 @@
     1507.0, 829.0, 296.0, 519.0, 716.0, 961.0, 175.0, -494.0, -501.0, -628.0,
     -658.0, -700.0, -989.0, -1342.0, -1298.0, -1347.0, -1223.0, -1388.0, -1308.0, -1184.0,
     -468.0, -2.0, -444.0, -388.0, -80.0, 361.0, 700.0, 120.0, 101.0, 464.0,
-    654.0, 40.0, -586.0, -607.0, -730.0, -705.0, -844.0, -692.0, -1032.0, -1216.0
+    654.0, 40.0, -586.0, -607.0, -730.0, -705.0, -844.0, -692.0, -1032.0, -1216.0,
+    -1511.0, -1479.0, -1641.0, -2133.0, -2027.0, -1997.0, -1868.0, -1778.0, -1920.0, -2122.0,
+    -2293.0, -2552.0, -2771.0, -3030.0, -2462.0, -2665.0, -2866.0, -3601.0, -3459.0, -3388.0,
+    -3216.0, -3834.0, -4424.0, -4587.0, -4396.0, -3942.0, -3761.0, -3631.0, -3528.0, -4064.0,
+    -4095.0, -4370.0, -4297.0, -4932.0, -4613.0, -4339.0, -4483.0, -4407.0, -4203.0, -4240.0,
+    -4196.0, -3745.0, -3501.0, -3514.0, -3461.0, -3578.0, -3588.0, -3747.0, -3706.0, -3171.0,
+    -2746.0, -2936.0, -2737.0, -2976.0, -2324.0, -1975.0, -2117.0, -2743.0, -2242.0, -1549.0,
+    -1485.0, -2059.0, -2376.0, -1977.0
 };
 
-/* Golden RNNoise pre-processing output for [0:480] p232_113.wav */
+/* Golden RNNoise pre-processing output for [0:512] p232_113.wav */
 const std::vector<float> RNNoisePreProcessGolden0 {
-    4.597353, -0.908727, 1.067204, -0.034760, -0.084974,
-    -0.361086, -1.494876, -0.173461, -0.671268, 0.245229,
-    0.371219, 0.159632, 0.230595, 0.245066, 0.148395,
-    -0.660396, -0.157954, 0.136425, 0.062801, -0.049542,
-    0.179730, 0.178653, 4.597353, -0.908727, 1.067204,
-    -0.034760, -0.084974, -0.361086, 4.597353, -0.908727,
-    1.067204, -0.034760, -0.084974, -0.361086, -1.437083,
-    -0.722769, -0.232802, -0.178104, -0.431379, -0.591088,
-    -0.930000, 1.257937
+    4.75129105,  -0.87399225,  0.94622732, -0.04182188,  0.05464971, -0.52353621,
+    -1.40791412, -0.05604708, -0.56039004,  0.48334449,  0.33882704,  0.29808432,
+    0.18402454,   0.05289553, -0.13116701, -0.47689547,  0.19254394, -0.01638567,
+    0.06637303,   0.07179865,  0.26687299,  0.11071566,  4.75129105, -0.87399225,
+    0.94622732,  -0.04182188,  0.05464971, -0.52353621,  4.75129105, -0.87399225,
+    0.94622732,  -0.04182188,  0.05464971, -0.52353621, -1.00467825, -1.2105895,
+    -0.12928345, -0.18741458, -0.45585857, -0.4011966,  -0.91,        1.35764497
 };
 
-/* Golden RNNoise pre-processing output for [480:960] p232_113.wav */
+/* Golden RNNoise pre-processing output for [512:1024] p232_113.wav */
 const std::vector<float> RNNoisePreProcessGolden1 {
-    11.031052, -1.249548, 2.498929, 0.492149, 0.364215,
-    0.138582, -0.846219, 0.279253, -0.526596, 0.610061,
-    0.820483, 0.293216, -0.047377, -0.178503, 0.229638,
-    -0.516174, 0.149612, 0.100330, 0.010542, 0.028561,
-    -0.037554, -0.094355, 6.433699, -0.340821, 1.431725,
-    0.526909, 0.449189, 0.499668, -2.761007, 1.476633,
-    -0.702682, 0.596430, 0.619138, 1.221840, -0.739308,
-    -0.490715, -0.085385, 0.035244, 0.104252, -0.192160,
-    -0.810000, -0.430191
+    11.26880569, -1.26922285,  2.28843852,  0.45148339,  0.53617535, -0.16797574,
+    -0.90503742,  0.35760545, -0.50392295,  0.97835271,  0.60372606,  0.18782702,
+    -0.15711423, -0.15144927,  0.00090368, -0.48593647,  0.32602252,  0.00773871,
+     0.08888109,  0.05869409,  0.00409013, -0.09099827,  6.51751463, -0.3952306,
+     1.34221119,  0.49330527,  0.48152563,  0.35556047, -2.98506748,  1.3527539,
+    -0.55024345,  0.57694904,  0.3722262,   1.4026329,  -0.70134894, -0.60284336,
+    -0.12922247,  0.143284,    0.23019133, -0.33742403, -0.81,       -0.64850574
 };
 
 
 const std::vector<float> RNNoisePostProcessDenoiseGolden0 {
-        0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        -1, 0, 0, 0, 0, -1, 0, -1, 0, 0,
-        -1, 0, -1, -1, -1, -1, -1, -1, 0, -1,
-        -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
-        2, 2, 2, 2, 3, 3, 3, 3, 3, 4,
-        4, 4, 4, 4, 4, 4, 4, 5, 4, 5,
-        5, 5, 5, 5, 5, 4, 5, 4, 4, 4,
-        4, 4, 3, 4, 3, 3, 3, 2, 3, 2,
-        2, 2, 1, 1, 1, 1, 1, 0, 0, 0,
-        0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
-        0, -1, 0, -1, -1, -1, -1, -1, -2, -1,
-        -1, -2, -1, -2, -1, -2, -2, -1, -2, -1,
-        -2, -1, -1, -1, 0, -1, 0, -1, 0, 0,
-        -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-        0, 1, 0, 1, 0, 1, 1, 1, 2, 1,
-        2, 2, 2, 3, 2, 3, 2, 3, 3, 3,
-        4, 3, 4, 3, 3, 4, 3, 5, 4, 4,
-        4, 4, 5, 4, 5, 4, 4, 5, 4, 5,
-        4, 4, 4, 3, 4, 3, 4, 3, 2, 3,
-        1, 2, 0, 0, 0, 0, 0, -1, 0, -1,
-        -2, -1, -3, -1, -3, -2, -2, -3, -2, -3,
-        -2, -3, -3, -2, -4, -2, -3, -3, -3, -4,
-        -3, -4, -3, -4, -5, -4, -6, -4, -6, -6,
-        -5, -7, -5, -7, -6, -6, -7, -6, -8, -6,
-        -7, -7, -6, -8, -6, -8, -6, -7, -8, -6,
-        -9, -7, -8, -8, -7, -9, -7, -9, -8, -8,
-        -8, -6, -8, -5, -6, -5, -3, -3, 0, -1,
-        1, 2, 3, 7, 6, 10, 11, 13, 16, 15,
-        20, 19, 23, 24, 25, 28, 27, 31, 31, 32,
-        34, 32, 35, 33, 35, 35, 34, 36, 33, 35,
-        33, 32, 33, 30, 31, 28, 28, 27, 24, 25,
-        20, 21, 18, 16, 15, 11, 12, 8, 8, 7,
-        4, 6, 1, 3, 1, 0, 2, 0, 2, 0,
-        0, 1, 0, 3, 0, 3, 1, 1, 4, 0,
-        4, 1, 3, 3, 1, 4, 0, 3, 1, 0,
-        2, -1, 1, -1, -1, 0, -3, 0, -3, 0,
-        -1, -1, 2, 0, 5, 4, 7, 11, 11, 18,
-        15, 21, 23, 24, 31, 29, 38, 37, 42, 46,
-        45, 54, 51, 59, 60, 61, 68, 62, 70, 66,
-        68, 73, 69, 79, 73, 79, 76, 70, 75, 61,
-        71, 64, 74, 85, 70, 86, 51, 92, 73
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+    -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,
+    -2,  -2,  -2,  -2,  -2,  -2,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+    -1,  -1,  -1,   0,  -1,   0,   0,  -1,   0,  -1,  -1,  -1,  -1,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -2,  -1,  -2,  -2,
+    -1,  -1,  -1,  -1,  -1,   0,   0,   0,   1,   1,   1,   1,   2,
+    2,   2,   2,   2,   2,   3,   2,   3,   3,   3,   3,   3,   3,
+    3,   2,   3,   2,   2,   2,   1,   1,   1,   0,   0,   0,   0,
+    -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -2,  -1,
+    -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -3,  -2,  -3,  -3,  -2,
+    -3,  -2,  -2,  -3,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,  -2,
+    -3,  -2,  -2,  -2,  -2,  -2,  -1,  -1,  -1,  -1,  -1,   0,   0,
+    -1,   0,  -1,  -1,  -1,  -2,  -1,  -2,  -3,  -2,  -4,  -3,  -4,
+    -5,  -4,  -6,  -5,  -5,  -6,  -5,  -6,  -6,  -6,  -7,  -6,  -7,
+    -7,  -7,  -8,  -7,  -7,  -8,  -7,  -8,  -7,  -7,  -8,  -6,  -7,
+    -6,  -6,  -7,  -5,  -6,  -5,  -4,  -5,  -3,  -3,  -3,  -1,  -2,
+    0,  -1,  -1,   1,   0,   1,   2,   1,   3,   1,   2,   2,   1,
+    2,   0,   0,   0,  -2,  -1,  -3,  -4,  -4,  -6,  -6,  -8,  -9,
+    -9, -12, -12, -12, -15, -14, -16, -16, -16, -18, -16, -18, -18,
+    -17, -19, -17, -17, -18, -15, -17, -15, -14, -15, -12, -13, -11,
+    -9, -10,  -7,  -8,  -7,  -5,  -7,  -4,  -5,  -6,  -4,  -8,  -6,
+    -7,  -8,  -6,  -9,  -7,  -7,  -9,  -6, -10,  -9,  -8, -12,  -9,
+    -12, -13, -12, -17, -14, -17, -18, -15, -20, -17, -17, -20, -15,
+    -20, -17, -16, -20, -15, -19, -17, -15, -20, -13, -16, -15,  -9,
+    -13,  -5,  -6,  -6,   1,  -5,   2,   1,  -3,   6,  -2,   1,   2,
+    -5,   6,  -2,   4,  15,   8,  27,  19,  21,  33,  14,  29,  11,
+    12,  40, -12,  53,  35
 };
 
 
-std::vector<float> RNNoiseModelOutputGolden0{0.157920, 0.392021, 0.368438, 0.258663, 0.202650,
-                                             0.256764, 0.185472, 0.149062, 0.147317, 0.142133,
-                                             0.148236, 0.173523, 0.197672, 0.200920, 0.198408,
-                                             0.147500, 0.140215, 0.166651, 0.250242, 0.256278,
-                                             0.252104, 0.241938};
+std::vector<float> RNNoiseModelOutputGolden0{0.3046875, 0.17578125, 0.1484375, 0.12890625, 0.12109375,
+                                             0.15625, 0.17578125, 0.203125, 0.17578125, 0.16796875,
+                                             0.18359375, 0.22265625, 0.23046875, 0.2421875, 0.23046875,
+                                             0.23046875, 0.25, 0.2734375, 0.29296875, 0.3046875,
+                                             0.33984375, 0.35546875};
 
 TEST_CASE("RNNoise preprocessing calculation test",  "[RNNoise]")
 {