# 人声音效 (/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="toc_audio_effect"></a>

<a id="api_irtcengine_setaudioeffectpreset"></a>

<a id="ariaid-title2"></a>

## setAudioEffectPreset [#setaudioeffectpreset]

设置 SDK 预设的人声音效。

<a id="api_irtcengine_setaudioeffectpreset__prototype"></a>

```ts
public abstract setAudioEffectPreset(preset:Constants.AudioEffectPreset):number;
```

<a id="api_irtcengine_setaudioeffectpreset__detailed_desc"></a>

调用该方法可以为本地发流用户设置 SDK 预设的人声音效，且不会改变原声的性别特征。设置音效后，频道内所有用户都能听到该效果。

根据不同的场景，你可以为用户设置不同的音效，各音效的适用场景可参考设置人声效果。

<a id="api_irtcengine_setaudioeffectpreset__timing"></a>

### 调用时机 [#调用时机]

加入频道前后均可调用。

为获取更好的人声效果，建议你在调用该方法前进行以下操作：

- 调用 [setAudioScenario](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioscenario) 将音频场景设为高音质场景，即 GAME_STREAMING(3)。
- 调用 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 将 profile 设为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)。

<a id="api_irtcengine_setaudioeffectpreset__restriction"></a>

### 调用限制 [#调用限制]

- 请勿将 setAudioProfile 的 profile 参数设置为 SPEECH_STANDARD(1)，否则该方法不生效。
- 如果调用 setAudioEffectPreset 并设置除 ROOM_ACOUSTICS_3D_VOICE 或 PITCH_CORRECTION 外的枚举，请勿再调用 setAudioEffectParameters，否则 setAudioEffectPreset 设置的效果会被覆盖。
- 调用 setAudioEffectPreset 后，不建议调用以下方法，否则 setAudioEffectPreset 设置的效果会被覆盖：

  - [setVoiceBeautifierPreset](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setvoicebeautifierpreset)
  - [setLocalVoicePitch](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoicepitch)
  - [setLocalVoiceEqualization](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoiceequalization)
  - [setLocalVoiceReverb](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoicereverb)
  - setVoiceBeautifierParameters
  - setVoiceConversionPreset
- 该方法依赖于美声动态库 `libagora_audio_beauty_extension.so`，如果删除该动态库会导致无法正常开启该功能。

<a id="api_irtcengine_setaudioeffectpreset__parameters"></a>

### 参数 [#参数]

<ParameterList>
<a id="preset"></a>
<Parameter name="preset">

预设的音效选项。

- AUDIO_EFFECT_OFF: 原声，即关闭人声音效。
- ROOM_ACOUSTICS_KTV: KTV。
- ROOM_ACOUSTICS_VOCAL_CONCERT: 演唱会。
- ROOM_ACOUSTICS_STUDIO: 录音棚。
- ROOM_ACOUSTICS_PHONOGRAPH: 留声机。
- ROOM_ACOUSTICS_VIRTUAL_STEREO: 虚拟立体声，即 SDK 将单声道的音频渲染出双声道的音效。使用该预设音效前，你需要将 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 的 profile 参数设置为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)，否则该预设音效的设置无效。
- ROOM_ACOUSTICS_SPACIAL: 空旷。
- ROOM_ACOUSTICS_ETHEREAL: 空灵。
- ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND: 虚拟环绕声，即 SDK 在双声道的基础上产生仿真的环绕声场，从而营造出具有环绕感的音效。

  :::caution
  注意： 启用虚拟环绕声后，用户需要使用支持双声道的音频播放设备才能听到预期效果。
  :::
- ROOM_ACOUSTICS_CHORUS: 合唱。声网推荐你在合唱场景下使用，使人声更具空间立体感。
- ROOM_ACOUSTICS_3D_VOICE: 3D 人声，即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后，你还可以调用 setAudioEffectParameters 修改环绕周期。

  - 使用该预设音效前，你需要将 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 的 profile 参数设置为 MUSIC_STANDARD_STEREO(3) 或 MUSIC_HIGH_QUALITY_STEREO(5)，否则该预设音效的设置无效。
  - 启用 3D 人声后，用户需要使用支持双声道的音频播放设备才能听到预期效果。
- VOICE_CHANGER_EFFECT_UNCLE: 大叔。建议用于处理男声，否则无法达到预期效果。
- VOICE_CHANGER_EFFECT_OLDMAN: 老年男性。建议用于处理男声，否则无法达到预期效果。
- VOICE_CHANGER_EFFECT_BOY: 男孩。建议用于处理男声，否则无法达到预期效果。
- VOICE_CHANGER_EFFECT_SISTER: 少女。建议用于处理女声，否则无法达到预期效果。
- VOICE_CHANGER_EFFECT_GIRL: 女孩。建议用于处理女声，否则无法达到预期效果。
- VOICE_CHANGER_EFFECT_PIGKING: 猪八戒。
- VOICE_CHANGER_EFFECT_HULK: 绿巨人。
- STYLE_TRANSFORMATION_RNB: R&B。使用该预设音效前，你需要将 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 的 profile 参数设置为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)，否则该预设音效的设置无效。
- STYLE_TRANSFORMATION_POPULAR: 流行。使用该预设音效前，你需要将 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 的 profile 参数设置为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)，否则该预设音效的设置无效。
- PITCH_CORRECTION: 电音，即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后，你还可以调用 setAudioEffectParameters 调整修音的基础调式和主音音高。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setaudioeffectpreset__return_values"></a>

### 返回值 [#返回值]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setlocalvoiceequalization"></a>

<a id="ariaid-title3"></a>

## setLocalVoiceEqualization [#setlocalvoiceequalization]

设置本地语音音效均衡。

<a id="api_irtcengine_setlocalvoiceequalization__prototype"></a>

```ts
public abstract setLocalVoiceEqualization(bandFrequency:Constants.AudioEqualizationBandFrequency,bandGain:number):number;
```

<a id="api_irtcengine_setlocalvoiceequalization__detailed_desc"></a>

<a id="api_irtcengine_setlocalvoiceequalization__timing"></a>

### 调用时机 [#调用时机-1]

加入频道前后均可调用。

<a id="api_irtcengine_setlocalvoiceequalization__restriction"></a>

### 调用限制 [#调用限制-1]

无。

<a id="api_irtcengine_setlocalvoiceequalization__parameters"></a>

### 参数 [#参数-1]

<ParameterList>
<a id="bandfrequency"></a>
<Parameter name="bandFrequency">

频谱子带索引。取值范围是 [0,9]，分别代表音效的 10 个频带。对应的中心频率为 [31，62，125，250，500，1k，2k，4k，8k，16k] Hz。详见 [AudioEqualizationBandFrequency](/zh-CN/api-reference/rtc/harmonyos/enum-audioequalizationbandfrequency) 。

每个 band 的增益，单位是 dB，每一个值的范围是 [-15,15]，默认值为 0。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setlocalvoiceequalization__return_values"></a>

### 返回值 [#返回值-1]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setlocalvoicepitch"></a>

<a id="ariaid-title4"></a>

## setLocalVoicePitch [#setlocalvoicepitch]

设置本地语音音调。

<a id="api_irtcengine_setlocalvoicepitch__prototype"></a>

```ts
public abstract setLocalVoicePitch(pitch:number):number;
```

<a id="api_irtcengine_setlocalvoicepitch__detailed_desc"></a>

<a id="api_irtcengine_setlocalvoicepitch__timing"></a>

### 调用时机 [#调用时机-2]

加入频道前后均可调用。

<a id="api_irtcengine_setlocalvoicepitch__restriction"></a>

### 调用限制 [#调用限制-2]

无。

<a id="api_irtcengine_setlocalvoicepitch__parameters"></a>

### 参数 [#参数-2]

<ParameterList>
<a id="pitch"></a>
<Parameter name="pitch">

语音频率。可以 [0.5,2.0] 范围内设置。取值越小，则音调越低。默认值为 1.0，表示不需要修改音调。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setlocalvoicepitch__return_values"></a>

### 返回值 [#返回值-2]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setlocalvoicereverb"></a>

<a id="ariaid-title5"></a>

## setLocalVoiceReverb [#setlocalvoicereverb]

设置本地音效混响。

<a id="api_irtcengine_setlocalvoicereverb__prototype"></a>

```ts
public abstract setLocalVoiceReverb(reverbKey:Constants.AudioReverbType,value:number):number;
```

<a id="api_irtcengine_setlocalvoicereverb__detailed_desc"></a>

### 详情 [#详情]

SDK 提供一个使用更为简便的方法 [setAudioEffectPreset](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setaudioeffectpreset)，直接实现流行、R&B、KTV 等预置的混响效果。

:::note
注： 该方法在加入频道前后都能调用。
:::

<a id="api_irtcengine_setlocalvoicereverb__parameters"></a>

### 参数 [#参数-3]

<ParameterList>
<a id="value"></a>
<Parameter name="value">

各混响音效 Key 所对应的值。

</Parameter>
</ParameterList>

混响音效 Key。该方法共有 5 个混响音效 Key，详见 [AudioReverbType](/zh-CN/api-reference/rtc/harmonyos/enum-audioreverbtype)。

<a id="api_irtcengine_setlocalvoicereverb__return_values"></a>

### 返回值 [#返回值-3]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

<a id="api_irtcengine_setvoicebeautifierpreset"></a>

<a id="ariaid-title6"></a>

## setVoiceBeautifierPreset [#setvoicebeautifierpreset]

设置预设的美声效果。

<a id="api_irtcengine_setvoicebeautifierpreset__prototype"></a>

```ts
public abstract setVoiceBeautifierPreset(preset:Constants.VoiceBeautifierPreset):number;
```

<a id="api_irtcengine_setvoicebeautifierpreset__detailed_desc"></a>

调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后，频道内所有用户都能听到该效果。根据不同的场景，你可以为用户设置不同的美声效果。

<a id="api_irtcengine_setvoicebeautifierpreset__timing"></a>

### 调用时机 [#调用时机-3]

加入频道前后均可调用。

<a id="api_irtcengine_setvoicebeautifierpreset__recommend"></a>

为获取更好的人声效果，建议你在调用该方法前进行以下操作：

- 调用 [setAudioScenario](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioscenario) 将音频场景设为高音质场景，即 GAME_STREAMING(3)。
- 调用 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 将 profile 设为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)。

<a id="api_irtcengine_setvoicebeautifierpreset__restriction"></a>

### 调用限制 [#调用限制-3]

- 请勿将 setAudioProfile 的 profile 参数设置为 SPEECH_STANDARD(1)，否则该方法不生效。
- 该方法对人声的处理效果最佳，不建议调用该方法处理含音乐的音频数据。
- 调用 setVoiceBeautifierPreset，不建议调用以下方法，否则 setVoiceBeautifierPreset 设置的效果会被覆盖：

  - [setAudioEffectPreset](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setaudioeffectpreset)
  - setAudioEffectParameters
  - [setLocalVoicePitch](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoicepitch)
  - [setLocalVoiceEqualization](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoiceequalization)
  - [setLocalVoiceReverb](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setlocalvoicereverb)
  - setVoiceBeautifierParameters
  - setVoiceConversionPreset
- 该方法依赖于美声动态库 `libagora_audio_beauty_extension.so`，如果删除该动态库会导致无法正常开启该功能。

<a id="api_irtcengine_setvoicebeautifierpreset__parameters"></a>

### 参数 [#参数-4]

<ParameterList>
<a id="preset-1"></a>
<Parameter name="preset">

预设的美声效果选项：

- VOICE_BEAUTIFIER_OFF: 原声，即关闭美声效果。
- CHAT_BEAUTIFIER_MAGNETIC: 磁性（男）。
- CHAT_BEAUTIFIER_FRESH: 清新（女）。
- CHAT_BEAUTIFIER_VITALITY: 活力（女）。
- SINGING_BEAUTIFIER: 歌唱美声。

  - 如果调用 [setVoiceBeautifierPreset](/zh-CN/api-reference/rtc/harmonyos/audio/audio-prenpost/audio-effect#api_irtcengine_setvoicebeautifierpreset)(SINGING_BEAUTIFIER)，你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声，否则音频会失真。
  - 如果调用 setVoiceBeautifierParameters(SINGING_BEAUTIFIER, param1, param2)，你可以美化男声或女声并添加混响效果。
- TIMBRE_TRANSFORMATION_VIGOROUS: 浑厚。
- TIMBRE_TRANSFORMATION_DEEP: 低沉。
- TIMBRE_TRANSFORMATION_MELLOW: 圆润。
- TIMBRE_TRANSFORMATION_FALSETTO: 假音。
- TIMBRE_TRANSFORMATION_FULL: 饱满。
- TIMBRE_TRANSFORMATION_CLEAR: 清澈。
- TIMBRE_TRANSFORMATION_RESOUNDING: 高亢。
- TIMBRE_TRANSFORMATION_RINGING: 嘹亮。
- ULTRA_HIGH_QUALITY_VOICE: 超高音质，即让音频更清晰、细节更丰富。

  - 为达到更好的效果，建议在调用该方法前将 [setAudioProfile](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioprofile2) 的 profile 参数设置为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)，且 scenario 参数设置为 GAME_STREAMING(3)。
  - 如果用户的音频采集设备可以高度还原音频细节，建议你不要开启超高音质，否则 SDK 会过度还原音频细节，达不到预期效果。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setvoicebeautifierpreset__return_values"></a>

### 返回值 [#返回值-4]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)
