• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright (c) 2012 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_NSX_DEFINES_H_
12 #define WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_NSX_DEFINES_H_
13 
14 #define ANAL_BLOCKL_MAX         256 /* Max analysis block length */
15 #define HALF_ANAL_BLOCKL        129 /* Half max analysis block length + 1 */
16 #define NUM_HIGH_BANDS_MAX      2   /* Max number of high bands */
17 #define SIMULT                  3
18 #define END_STARTUP_LONG        200
19 #define END_STARTUP_SHORT       50
20 #define FACTOR_Q16              2621440 /* 40 in Q16 */
21 #define FACTOR_Q7               5120 /* 40 in Q7 */
22 #define FACTOR_Q7_STARTUP       1024 /* 8 in Q7 */
23 #define WIDTH_Q8                3 /* 0.01 in Q8 (or 25 ) */
24 
25 /* PARAMETERS FOR NEW METHOD */
26 #define DD_PR_SNR_Q11           2007 /* ~= Q11(0.98) DD update of prior SNR */
27 #define ONE_MINUS_DD_PR_SNR_Q11 41 /* DD update of prior SNR */
28 #define SPECT_FLAT_TAVG_Q14     4915 /* (0.30) tavg parameter for spectral flatness measure */
29 #define SPECT_DIFF_TAVG_Q8      77 /* (0.30) tavg parameter for spectral flatness measure */
30 #define PRIOR_UPDATE_Q14        1638 /* Q14(0.1) Update parameter of prior model */
31 #define NOISE_UPDATE_Q8         26 /* 26 ~= Q8(0.1) Update parameter for noise */
32 
33 /* Probability threshold for noise state in speech/noise likelihood. */
34 #define ONE_MINUS_PROB_RANGE_Q8 205 /* 205 ~= Q8(0.8) */
35 #define HIST_PAR_EST            1000 /* Histogram size for estimation of parameters */
36 
37 /* FEATURE EXTRACTION CONFIG  */
38 /* Bin size of histogram */
39 #define BIN_SIZE_LRT            10
40 /* Scale parameters: multiply dominant peaks of the histograms by scale factor to obtain. */
41 /* Thresholds for prior model */
42 #define FACTOR_1_LRT_DIFF       6 /* For LRT and spectral difference (5 times bigger) */
43 /* For spectral_flatness: used when noise is flatter than speech (10 times bigger). */
44 #define FACTOR_2_FLAT_Q10       922
45 /* Peak limit for spectral flatness (varies between 0 and 1) */
46 #define THRES_PEAK_FLAT         24 /* * 2 * BIN_SIZE_FLAT_FX */
47 /* Limit on spacing of two highest peaks in histogram: spacing determined by bin size. */
48 #define LIM_PEAK_SPACE_FLAT_DIFF    4 /* * 2 * BIN_SIZE_DIFF_FX */
49 /* Limit on relevance of second peak */
50 #define LIM_PEAK_WEIGHT_FLAT_DIFF   2
51 #define THRES_FLUCT_LRT         10240 /* = 20 * inst->modelUpdate; fluctuation limit of LRT feat. */
52 /* Limit on the max and min values for the feature thresholds */
53 #define MAX_FLAT_Q10            38912 /*  * 2 * BIN_SIZE_FLAT_FX */
54 #define MIN_FLAT_Q10            4096 /*  * 2 * BIN_SIZE_FLAT_FX */
55 #define MAX_DIFF                100 /* * 2 * BIN_SIZE_DIFF_FX */
56 #define MIN_DIFF                16 /* * 2 * BIN_SIZE_DIFF_FX */
57 /* Criteria of weight of histogram peak  to accept/reject feature */
58 #define THRES_WEIGHT_FLAT_DIFF  154 /*(int)(0.3*(inst->modelUpdate)) for flatness and difference */
59 
60 #define STAT_UPDATES            9 /* Update every 512 = 1 << 9 block */
61 #define ONE_MINUS_GAMMA_PAUSE_Q8    13 /* ~= Q8(0.05) Update for conservative noise estimate */
62 #define GAMMA_NOISE_TRANS_AND_SPEECH_Q8 3 /* ~= Q8(0.01) Update for transition and noise region */
63 
64 #endif /* WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_NSX_DEFINES_H_ */
65