1470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com/*
2470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *
4470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  Use of this source code is governed by a BSD-style license
5470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  that can be found in the LICENSE file in the root of the source
6470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  tree. An additional intellectual property rights grant can be found
7470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  in the file PATENTS.  All contributing project authors may
8470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com *  be found in the AUTHORS file in the root of the source tree.
9470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com */
10470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
11470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
12470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
13470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
14470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define BLOCKL_MAX          160 // max processing block length: 160
15470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define ANAL_BLOCKL_MAX     256 // max analysis block length: 256
16470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define HALF_ANAL_BLOCKL    129 // half max analysis block length + 1
17c5ebbd98f5996db0defbbfc14f5ca41e620bd7e4aluebs@webrtc.org#define NUM_HIGH_BANDS_MAX  2   // max number of high bands: 2
18470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
19470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define QUANTILE            (float)0.25
20470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
21470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SIMULT              3
22470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define END_STARTUP_LONG    200
23470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define END_STARTUP_SHORT   50
24470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define FACTOR              (float)40.0
25470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define WIDTH               (float)0.01
26470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
27470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com// Length of fft work arrays.
28470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define IP_LENGTH (ANAL_BLOCKL_MAX >> 1) // must be at least ceil(2 + sqrt(ANAL_BLOCKL_MAX/2))
29470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define W_LENGTH (ANAL_BLOCKL_MAX >> 1)
30470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com
31470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com//PARAMETERS FOR NEW METHOD
32470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define DD_PR_SNR           (float)0.98 // DD update of prior SNR
33470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define LRT_TAVG            (float)0.50 // tavg parameter for LRT (previously 0.90)
34470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SPECT_FL_TAVG       (float)0.30 // tavg parameter for spectral flatness measure
35470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SPECT_DIFF_TAVG     (float)0.30 // tavg parameter for spectral difference measure
36470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PRIOR_UPDATE        (float)0.10 // update parameter of prior model
37470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define NOISE_UPDATE        (float)0.90 // update parameter for noise
38470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SPEECH_UPDATE       (float)0.99 // update parameter when likely speech
39470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define WIDTH_PR_MAP        (float)4.0  // width parameter in sigmoid map for prior model
40470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define LRT_FEATURE_THR     (float)0.5  // default threshold for LRT feature
41470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SF_FEATURE_THR      (float)0.5  // default threshold for Spectral Flatness feature
42470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define SD_FEATURE_THR      (float)0.5  // default threshold for Spectral Difference feature
43470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define PROB_RANGE          (float)0.20 // probability threshold for noise state in
44470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com                                        // speech/noise likelihood
45470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define HIST_PAR_EST         1000       // histogram size for estimation of parameters
46470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define GAMMA_PAUSE         (float)0.05 // update for conservative noise estimate
47470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com//
48470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#define B_LIM               (float)0.5  // threshold in final energy gain factor calculation
49470e71d3649f6cac4688e83819640b012b5d38bbniklase@google.com#endif // WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
50