美声与变声

更新时间: 2024/08/05 15:02:55

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

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

注意事项

  • setAudioEffectPreset 方法和 setLocalVoicePitch 互斥,调用了其中任一方法后,另一方法会被重置为默认值。
  • 当房间内的本地用户和远端用户均使用小程序平台时,美声和变声能力不会生效;当本地用户使用小程序平台,而远端用户使用的是 Android、iOS、Windows、macOS 或 Web 平台时,美声和变声能力才会生效。

实现方式

预设人声效果

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 女变萝莉

自定义人声效果

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

  • 通过 setLocalVoicePitch 设置本地语音音调,例如将音调调高或者调低。
  • 通过 setLocalVoiceEqualization 设置本地语音音效均衡,即自定义设置本地人声均衡波段的中心频率。

示例代码

//预设美声效果
const type = YunXinMiniappSDK.VOICE_BEAUTIFIER_MUFFLED //声音低沉
client.setVoiceBeautifierPreset(type)

//预设变声效果
const type = YunXinMiniappSDK.VOICE_CHANGER_EFFECT_ROBOT //声音变成机器人效果
client.setAudioEffectPreset(type)


//调整语音音调
const pitch = 0.6; //pitch 输入pitch区间在[0.5,2] ,默认值为1.25
client.setLocalVoicePitch(pitch)


//本地语音音效均衡
let gain = 10 //取值范围是[-15,15]。默认值为0
let bandFrequency = YunXinMiniappSDK.AUDIO_EQUALIZATION_BAND_1K; //表示中心频率为1000的位置增益设置为10
client.setLocalVoiceEqualization(bandFrequency, gain)
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 实现方式
  • 预设人声效果
  • 美声效果
  • 变声效果
  • 自定义人声效果
  • 示例代码