Skip to content

Decision logic change in noisy_speech_detection_fx inside acelp_core_dec due to precision difference

High MLD test case: "'tests/codec_be_on_mr_nonselection/test_param_file.py::test_param_file_tests[ltv-MASA 1TC at 24.4 kbps, 48kHz in, 48kHz out, DTX on, BINAURAL out]'".

The function noisy_speech_detection_fx is reused from EVS. flag_noisy_speech parameter is getting set based on a certain threshold check with 28.f. In float code, the compared value is coming 27.9767475 whereas in fixed code it is coming as 28.0270844. So, the parameter is not getting updated correctly which in turn leads to wrong updation of likelihood_noisy speech parameter. This in-turn disturbs the noise generation for all the subsequent frames.

Let us know if there are any suggestions to address the same.