Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(604)

Side by Side Diff: webrtc/modules/audio_processing/ns/include/noise_suppression.h

Issue 1440523002: Remove webrtc/modules/audio_processing/{aec,aecm,ns}/include (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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_INCLUDE_NOISE_SUPPRESSION_H_
12 #define WEBRTC_MODULES_AUDIO_PROCESSING_NS_INCLUDE_NOISE_SUPPRESSION_H_
13
14 #include <stddef.h>
15
16 #include "webrtc/typedefs.h"
17
18 typedef struct NsHandleT NsHandle;
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 /*
25 * This function creates an instance of the floating point Noise Suppression.
26 */
27 NsHandle* WebRtcNs_Create();
28
29 /*
30 * This function frees the dynamic memory of a specified noise suppression
31 * instance.
32 *
33 * Input:
34 * - NS_inst : Pointer to NS instance that should be freed
35 */
36 void WebRtcNs_Free(NsHandle* NS_inst);
37
38 /*
39 * This function initializes a NS instance and has to be called before any other
40 * processing is made.
41 *
42 * Input:
43 * - NS_inst : Instance that should be initialized
44 * - fs : sampling frequency
45 *
46 * Output:
47 * - NS_inst : Initialized instance
48 *
49 * Return value : 0 - Ok
50 * -1 - Error
51 */
52 int WebRtcNs_Init(NsHandle* NS_inst, uint32_t fs);
53
54 /*
55 * This changes the aggressiveness of the noise suppression method.
56 *
57 * Input:
58 * - NS_inst : Noise suppression instance.
59 * - mode : 0: Mild, 1: Medium , 2: Aggressive
60 *
61 * Output:
62 * - NS_inst : Updated instance.
63 *
64 * Return value : 0 - Ok
65 * -1 - Error
66 */
67 int WebRtcNs_set_policy(NsHandle* NS_inst, int mode);
68
69 /*
70 * This functions estimates the background noise for the inserted speech frame.
71 * The input and output signals should always be 10ms (80 or 160 samples).
72 *
73 * Input
74 * - NS_inst : Noise suppression instance.
75 * - spframe : Pointer to speech frame buffer for L band
76 *
77 * Output:
78 * - NS_inst : Updated NS instance
79 */
80 void WebRtcNs_Analyze(NsHandle* NS_inst, const float* spframe);
81
82 /*
83 * This functions does Noise Suppression for the inserted speech frame. The
84 * input and output signals should always be 10ms (80 or 160 samples).
85 *
86 * Input
87 * - NS_inst : Noise suppression instance.
88 * - spframe : Pointer to speech frame buffer for each band
89 * - num_bands : Number of bands
90 *
91 * Output:
92 * - NS_inst : Updated NS instance
93 * - outframe : Pointer to output frame for each band
94 */
95 void WebRtcNs_Process(NsHandle* NS_inst,
96 const float* const* spframe,
97 size_t num_bands,
98 float* const* outframe);
99
100 /* Returns the internally used prior speech probability of the current frame.
101 * There is a frequency bin based one as well, with which this should not be
102 * confused.
103 *
104 * Input
105 * - handle : Noise suppression instance.
106 *
107 * Return value : Prior speech probability in interval [0.0, 1.0].
108 * -1 - NULL pointer or uninitialized instance.
109 */
110 float WebRtcNs_prior_speech_probability(NsHandle* handle);
111
112 #ifdef __cplusplus
113 }
114 #endif
115
116 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_NS_INCLUDE_NOISE_SUPPRESSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698