1 /*
2  *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
12 #define WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
13 
14 //#define PROCESS_FLOW_0    // Use the traditional method.
15 //#define PROCESS_FLOW_1    // Use traditional with DD estimate of prior SNR.
16 #define PROCESS_FLOW_2    // Use the new method of speech/noise classification.
17 
18 #define BLOCKL_MAX          160 // max processing block length: 160
19 #define ANAL_BLOCKL_MAX     256 // max analysis block length: 256
20 #define HALF_ANAL_BLOCKL    129 // half max analysis block length + 1
21 
22 #define QUANTILE            (float)0.25
23 
24 #define SIMULT              3
25 #define END_STARTUP_LONG    200
26 #define END_STARTUP_SHORT   50
27 #define FACTOR              (float)40.0
28 #define WIDTH               (float)0.01
29 
30 #define SMOOTH              (float)0.75 // filter smoothing
31 // Length of fft work arrays.
32 #define IP_LENGTH (ANAL_BLOCKL_MAX >> 1) // must be at least ceil(2 + sqrt(ANAL_BLOCKL_MAX/2))
33 #define W_LENGTH (ANAL_BLOCKL_MAX >> 1)
34 
35 //PARAMETERS FOR NEW METHOD
36 #define DD_PR_SNR           (float)0.98 // DD update of prior SNR
37 #define LRT_TAVG            (float)0.50 // tavg parameter for LRT (previously 0.90)
38 #define SPECT_FL_TAVG       (float)0.30 // tavg parameter for spectral flatness measure
39 #define SPECT_DIFF_TAVG     (float)0.30 // tavg parameter for spectral difference measure
40 #define PRIOR_UPDATE        (float)0.10 // update parameter of prior model
41 #define NOISE_UPDATE        (float)0.90 // update parameter for noise
42 #define SPEECH_UPDATE       (float)0.99 // update parameter when likely speech
43 #define WIDTH_PR_MAP        (float)4.0  // width parameter in sigmoid map for prior model
44 #define LRT_FEATURE_THR     (float)0.5  // default threshold for LRT feature
45 #define SF_FEATURE_THR      (float)0.5  // default threshold for Spectral Flatness feature
46 #define SD_FEATURE_THR      (float)0.5  // default threshold for Spectral Difference feature
47 #define PROB_RANGE          (float)0.20 // probability threshold for noise state in
48                                         // speech/noise likelihood
49 #define HIST_PAR_EST         1000       // histogram size for estimation of parameters
50 #define GAMMA_PAUSE         (float)0.05 // update for conservative noise estimate
51 //
52 #define B_LIM               (float)0.5  // threshold in final energy gain factor calculation
53 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
54