文档反馈
文档反馈

美声与变声

重要通知

网易云信新版文档中心现已正式上线!

音视频通话2.0互动直播2.0多人语音聊天室PK 直播等产品和场景方案已迁移至新版文档中心维护,欢迎体验!

在泛娱乐行业的多种强互动场景中,往往需要多种丰富的美化与特效功能提升场景的趣味性、提高互动体验,例如美声与变声功能。在多人语聊或音频直播场景中,美声与变声功能可以美化主播或连麦者的声音,提升场景的娱乐氛围。

NERTC SDK 支持设置多种美声与变声音效,您也可以通过设置本地语音音效均衡或混淆来达到自定义的人声效果,增加场景气氛。

注意事项

setAudioEffectPreset 方法和 setLocalVoicePitch 互斥,调用了其中任一方法后,另一方法会被重置为默认值。

实现方式

预设人声效果

NERTC SDK 为您提供多种类型的预设人声效果,以满足您在不同场景下的美声与变声需求。

美声效果

美声指声音的美化,即调整人声的音色,例如让声音更加低沉、圆润或清澈。另外,NERTC 的预设美声效果还可以实现场景空间环境的效果塑造,即营造场景化的空间氛围,使人声听起来像是处于特定的空间或场所。 通过 setVoiceBeautifierPreset 可以使用 SDK 预设的美声效果。目前支持以下预设的美声效果:

枚举值 描述
VOICE_BEAUTIFIER_OFF (默认)关闭美声效果。
VOICE_BEAUTIFIER_MUFFLED 低沉。
VOICE_BEAUTIFIER_MELLOW 圆润。
VOICE_BEAUTIFIER_CLEAR 清澈。
VOICE_BEAUTIFIER_MAGNETIC 磁性。
VOICE_BEAUTIFIER_RECORDINGSTUDIO 录音棚。
VOICE_BEAUTIFIER_NATURE 天籁。
VOICE_BEAUTIFIER_KTV KTV。
VOICE_BEAUTIFIER_REMOTE 悠远。
VOICE_BEAUTIFIER_CHURCH 教堂。
VOICE_BEAUTIFIER_BEDROOM 卧室。
VOICE_BEAUTIFIER_LIVE Live。

变声效果

变声指转变人声的特质,例如让声音听起来像机器人或萝莉。通过 setAudioEffectPreset 可以使用 SDK 预设的变声效果。目前支持以下预设的变声效果:

枚举值 描述
AUDIO_EFFECT_OFF (默认)关闭变声音效。
VOICE_CHANGER_EFFECT_ROBOT 机器人。
VOICE_CHANGER_EFFECT_GIANT 巨人。
VOICE_CHANGER_EFFECT_HORROR 恐怖。
VOICE_CHANGER_EFFECT_MATURE 成熟。
VOICE_CHANGER_EFFECT_MANTOWOMAN 男变女。
VOICE_CHANGER_EFFECT_WOMANTOMAN 女变男。
VOICE_CHANGER_EFFECT_MANTOLOLI 男变萝莉。
VOICE_CHANGER_EFFECT_WOMANTOLOLI 女变萝莉。

自定义人声效果

如果以上美声与变声效果无法满足您的需求,您也可以通过音调和音效均衡,实现自定义的人声效果。

示例代码

Android

//预设美声效果
int preset = NERtcVoiceBeautifierType.VOICE_BEAUTIFIER_MUFFLED;
NERtcEx.getInstance().setVoiceBeautifierPreset(preset);

//预设变声效果
int preset = NERtcVoiceChangerType.VOICE_CHANGER_EFFECT_ROBOT;
NERtcEx.getInstance().setAudioEffectPreset(preset);


//调整语音音调
double pitch = 0.6; //pitch 输入pitch区间在[0.5,2] ,默认值为1
int ret = NERtcEx.getInstance().setLocalVoicePitch(pitch);


//本地语音音效均衡
int gain = 10 //  取值范围是[-15,15]。默认值为0
int bandFrequency = NERtcVoiceEqualizationBand.VoiceEqualizationBand_1K;
NERtcEx.getInstance().setLocalVoiceEqualization(bandFrequency, gain);

iOS

///预设美声效果
[[NERtcEngine sharedEngine] setVoiceBeautifierPreset:kNERtcVoiceBeautifierKTV];
//预设变声效果
[[NERtcEngine sharedEngine] setAudioEffectPreset:kNERtcVoiceChangerWomanToLoli];
//调整语音音调
[[NERtcEngine sharedEngine] setLocalVoicePitch:2.0];
//本地语音音效均衡
[[NERtcEngine sharedEngine] setLocalVoiceEqualizationOfBandFrequency:NERtcAudioEqualizationBand16K withGain:15];

Windows/macOS

//预设美声效果
NERtcVoiceBeautifierType beautifier_type = kNERtcVoiceBeautifierMagnetic;
engine->setVoiceBeautifierPreset(beautifier_type);
//预设变声效果
NERtcVoiceChangerType voice_changer = kNERtcVoiceChangerManToWoman;
engine->setAudioEffectPreset(voice_changer);
//调整语音音调
engine->setLocalVoicePitch(1.5);
//本地语音音效均衡
engine->setLocalVoiceEqualization(kNERtcVoiceEqualizationBand_125, 6);
engine->setLocalVoiceEqualization(kNERtcVoiceEqualizationBand_250, 8); 
engine->setLocalVoiceEqualization(kNERtcVoiceEqualizationBand_500, 6);
×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。