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