1 /* 2 * Copyright (c) 2024 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 * FULL_DUPLEX_STANDARD 55 * @syscap SystemCapability.Multimedia.Audio.Capturer 56 * @systemapi 57 * @since 12 58 */ 59 FULL_DUPLEX_STANDARD = 4, 60 /** 61 * FULL_DUPLEX_NEAR_FIELD. 62 * @syscap SystemCapability.Multimedia.Audio.Capturer 63 * @systemapi 64 * @since 12 65 */ 66 FULL_DUPLEX_NEAR_FIELD = 5, 67 /** 68 * ASR_WHISPER_MODE. 69 * @syscap SystemCapability.Multimedia.Audio.Capturer 70 * @systemapi 71 * @since 19 72 */ 73 ASR_WHISPER_MODE = 6, 74 }; 75 76 /** 77 * ASR AEC mode. 78 * @enum { number } 79 * @syscap SystemCapability.Multimedia.Audio.Capturer 80 * @systemapi 81 * @since 12 82 */ 83 enum class AsrAecMode { 84 /** 85 * Bypass AEC. 86 * @syscap SystemCapability.Multimedia.Audio.Capturer 87 * @systemapi 88 * @since 12 89 */ 90 BYPASS = 0, 91 /** 92 * Using standard AEC. 93 * @syscap SystemCapability.Multimedia.Audio.Capturer 94 * @systemapi 95 * @since 12 96 */ 97 STANDARD = 1, 98 /** 99 * Using expand AEC. 100 * @syscap SystemCapability.Multimedia.Audio.Capturer 101 * @systemapi 102 * @since 16 103 */ 104 EXPAND = 2, 105 /** 106 * Using folded AEC. 107 * @syscap SystemCapability.Multimedia.Audio.Capturer 108 * @systemapi 109 * @since 16 110 */ 111 FOLDED = 3, 112 }; 113 114 /** 115 * ASR Whisper mode. 116 * @enum { number } 117 * @syscap SystemCapability.Multimedia.Audio.Capturer 118 * @systemapi 119 * @since 12 120 */ 121 enum class AsrWhisperDetectionMode { 122 /** 123 * Using Bypass WhisperDetection. 124 * @syscap SystemCapability.Multimedia.Audio.Capturer 125 * @systemapi 126 * @since 12 127 */ 128 BYPASS = 0, 129 /** 130 * Using standard WhisperDetection. 131 * @syscap SystemCapability.Multimedia.Audio.Capturer 132 * @systemapi 133 * @since 12 134 */ 135 STANDARD = 1, 136 }; 137 138 /** 139 * Asr Voice Control Mode. 140 * @enum { number } 141 * @syscap SystemCapability.Multimedia.Audio.Capturer 142 * @systemapi 143 * @since 12 144 */ 145 enum class AsrVoiceControlMode { 146 /** 147 * AUDIO 2 VOICETX. 148 * @syscap SystemCapability.Multimedia.Audio.Capturer 149 * @systemapi 150 * @since 12 151 */ 152 AUDIO_2_VOICETX = 0, 153 /** 154 * AUDIO MIX 2 VOICETX . 155 * @syscap SystemCapability.Multimedia.Audio.Capturer 156 * @systemapi 157 * @since 12 158 */ 159 AUDIO_MIX_2_VOICETX = 1, 160 /** 161 * AUDIO 2 VOICE TX EX. 162 * @syscap SystemCapability.Multimedia.Audio.Capturer 163 * @systemapi 164 * @since 12 165 */ 166 AUDIO_2_VOICE_TX_EX = 2, 167 /** 168 * AUDIO MIX 2 VOICE X EX. 169 * @syscap SystemCapability.Multimedia.Audio.Capturer 170 * @systemapi 171 * @since 12 172 */ 173 AUDIO_MIX_2_VOICE_TX_EX = 3, 174 /** 175 * AUDIO SUPPRESSION OPPOSITE. 176 * @syscap SystemCapability.Multimedia.Audio.Capturer 177 * @systemapi 178 * @since 13 179 */ 180 AUDIO_SUPPRESSION_OPPOSITE = 4, 181 /** 182 * AUDIO SUPPRESSION LOCAL. 183 * @syscap SystemCapability.Multimedia.Audio.Capturer 184 * @systemapi 185 * @since 13 186 */ 187 AUDIO_SUPPRESSION_LOCAL = 5, 188 /** 189 * VOICE TXRX DECREASE. 190 * @syscap SystemCapability.Multimedia.Audio.Capturer 191 * @systemapi 192 * @since 13 193 */ 194 VOICE_TXRX_DECREASE = 6, 195 }; 196 197 /** 198 * Asr Voice Mute mode. 199 * @enum { number } 200 * @syscap SystemCapability.Multimedia.Audio.Capturer 201 * @systemapi 202 * @since 12 203 */ 204 enum class AsrVoiceMuteMode { 205 /** 206 * OUTPUT MUTE. 207 * @syscap SystemCapability.Multimedia.Audio.Capturer 208 * @systemapi 209 * @since 12 210 */ 211 OUTPUT_MUTE = 0, 212 /** 213 * INPUT MUTE. 214 * @syscap SystemCapability.Multimedia.Audio.Capturer 215 * @systemapi 216 * @since 12 217 */ 218 INPUT_MUTE = 1, 219 /** 220 * TTS MUTE. 221 * @syscap SystemCapability.Multimedia.Audio.Capturer 222 * @systemapi 223 * @since 12 224 */ 225 TTS_MUTE = 2, 226 /** 227 * CALL MUTE. 228 * @syscap SystemCapability.Multimedia.Audio.Capturer 229 * @systemapi 230 * @since 12 231 */ 232 CALL_MUTE = 3, 233 /** 234 * OUTPUT MUTE EX. 235 * @syscap SystemCapability.Multimedia.Audio.Capturer 236 * @systemapi 237 * @since 12 238 */ 239 OUTPUT_MUTE_EX = 4, 240 }; 241 #endif