1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef AUDIO_ASR_H
16 #define AUDIO_ASR_H
17 /**
18  * ASR noise suppression mode.
19  * @enum { number }
20  * @syscap SystemCapability.Multimedia.Audio.Capturer
21  * @systemapi
22  * @since 12
23  */
24 enum class AsrNoiseSuppressionMode {
25     /**
26      * Bypass noise suppression.
27      * @syscap SystemCapability.Multimedia.Audio.Capturer
28      * @systemapi
29      * @since 12
30      */
31     BYPASS = 0,
32     /**
33      * Standard noise suppression.
34      * @syscap SystemCapability.Multimedia.Audio.Capturer
35      * @systemapi
36      * @since 12
37      */
38     STANDARD = 1,
39     /**
40      * Near field noise suppression.
41      * @syscap SystemCapability.Multimedia.Audio.Capturer
42      * @systemapi
43      * @since 12
44      */
45     NEAR_FIELD = 2,
46     /**
47      * Far field noise suppression.
48      * @syscap SystemCapability.Multimedia.Audio.Capturer
49      * @systemapi
50      * @since 12
51      */
52     FAR_FIELD = 3,
53 };
54 
55 /**
56  * ASR AEC mode.
57  * @enum { number }
58  * @syscap SystemCapability.Multimedia.Audio.Capturer
59  * @systemapi
60  * @since 12
61  */
62 enum class AsrAecMode {
63     /**
64      * Bypass AEC.
65      * @syscap SystemCapability.Multimedia.Audio.Capturer
66      * @systemapi
67      * @since 12
68      */
69     BYPASS = 0,
70     /**
71      * Using standard AEC.
72      * @syscap SystemCapability.Multimedia.Audio.Capturer
73      * @systemapi
74      * @since 12
75      */
76     STANDARD = 1,
77 };
78 
79 /**
80  * ASR Whisper mode.
81  * @enum { number }
82  * @syscap SystemCapability.Multimedia.Audio.Capturer
83  * @systemapi
84  * @since 12
85  */
86 enum class AsrWhisperDetectionMode {
87     /**
88      * Using Bypass WhisperDetection.
89      * @syscap SystemCapability.Multimedia.Audio.Capturer
90      * @systemapi
91      * @since 12
92      */
93     BYPASS = 0,
94     /**
95      * Using standard WhisperDetection.
96      * @syscap SystemCapability.Multimedia.Audio.Capturer
97      * @systemapi
98      * @since 12
99      */
100     STANDARD = 1,
101 };
102 
103 /**
104  * Asr Voice Control Mode.
105  * @enum { number }
106  * @syscap SystemCapability.Multimedia.Audio.Capturer
107  * @systemapi
108  * @since 12
109  */
110 enum class AsrVoiceControlMode {
111     /**
112      * AUDIO 2 VOICETX.
113      * @syscap SystemCapability.Multimedia.Audio.Capturer
114      * @systemapi
115      * @since 12
116      */
117     AUDIO_2_VOICETX = 0,
118     /**
119      * AUDIO MIX 2 VOICETX .
120      * @syscap SystemCapability.Multimedia.Audio.Capturer
121      * @systemapi
122      * @since 12
123      */
124     AUDIO_MIX_2_VOICETX = 1,
125     /**
126      * AUDIO 2 VOICE TX EX.
127      * @syscap SystemCapability.Multimedia.Audio.Capturer
128      * @systemapi
129      * @since 12
130      */
131     AUDIO_2_VOICE_TX_EX = 2,
132     /**
133      * AUDIO MIX 2 VOICE X EX.
134      * @syscap SystemCapability.Multimedia.Audio.Capturer
135      * @systemapi
136      * @since 12
137      */
138     AUDIO_MIX_2_VOICE_TX_EX = 3,
139     /**
140      * AUDIO SUPPRESSION OPPOSITE.
141      * @syscap SystemCapability.Multimedia.Audio.Capturer
142      * @systemapi
143      * @since 13
144      */
145     AUDIO_SUPPRESSION_OPPOSITE = 4,
146     /**
147      * AUDIO SUPPRESSION LOCAL.
148      * @syscap SystemCapability.Multimedia.Audio.Capturer
149      * @systemapi
150      * @since 13
151      */
152     AUDIO_SUPPRESSION_LOCAL = 5,
153     /**
154      * VOICE TXRX DECREASE.
155      * @syscap SystemCapability.Multimedia.Audio.Capturer
156      * @systemapi
157      * @since 13
158      */
159     VOICE_TXRX_DECREASE = 6,
160 };
161 
162 /**
163  * Asr Voice Mute mode.
164  * @enum { number }
165  * @syscap SystemCapability.Multimedia.Audio.Capturer
166  * @systemapi
167  * @since 12
168  */
169 enum class AsrVoiceMuteMode {
170     /**
171      * OUTPUT MUTE.
172      * @syscap SystemCapability.Multimedia.Audio.Capturer
173      * @systemapi
174      * @since 12
175      */
176     OUTPUT_MUTE = 0,
177     /**
178      * INPUT MUTE.
179      * @syscap SystemCapability.Multimedia.Audio.Capturer
180      * @systemapi
181      * @since 12
182      */
183     INPUT_MUTE = 1,
184     /**
185      * TTS MUTE.
186      * @syscap SystemCapability.Multimedia.Audio.Capturer
187      * @systemapi
188      * @since 12
189      */
190     TTS_MUTE = 2,
191     /**
192      * CALL MUTE.
193      * @syscap SystemCapability.Multimedia.Audio.Capturer
194      * @systemapi
195      * @since 12
196      */
197     CALL_MUTE = 3,
198     /**
199      * OUTPUT MUTE EX.
200      * @syscap SystemCapability.Multimedia.Audio.Capturer
201      * @systemapi
202      * @since 12
203      */
204     OUTPUT_MUTE_EX = 4,
205 };
206 #endif