AWS Game Tech Day 上的“下一代游戏沟通工具”(下)

阅读数:21 2019 年 11 月 30 日 20:56

AWS Game Tech Day 上的“下一代游戏沟通工具”(下)

实现游戏中的趣味变声

最新版本的 SDK ,还新增趣味变声功能。Colin Yao 分享了其使用方法:

方法一、采用预设变声效果

我们在新版 SDK 中增加了新接口 setLocalVoiceChanger(),可设置本地语音变声。该接口已经预设了 6 种不同的变声效果,能让玩家瞬间变为老男孩、小男孩、小女孩、猪八戒、空灵或绿巨人。

复制代码
abstract int io.agora.rtc.RtcEngine.setLocalVoiceChanger (int voiceChanger)
  • VOICECHANGEROFF(0):原声,即关闭本地语音变声
  • VOICECHANGEROLDMAN(1):老男孩
  • VOICECHANGERBABYBOY(2):小男孩
  • VOICECHANGERBABYGILR(3):小女孩
  • VOICECHANGERZHUBAJIE(4):猪八戒
  • VOICECHANGERETHEREAL(5)):空灵
  • VOICECHANGERHULK(6)):绿巨人

方法二、灵活自定义

这几个预设变声效果无法满足你?还有一个方法。声网 Agora SDK 提供了三个 API,利用他们可以灵活调整语调、混响、均衡实现自己想要的效果。

  1. 通过这个接口改变语音频率,从而改变声音的音调。语音频率参数可以 [0.5, 2.0] 范围内设置。默认值为 1.0。
复制代码
public int setLocalVoicePitch(double pitch);
  1. 通过下述接口可设置本地音效混响,其中 reverbKey 对应了 5 个混响效果,value 则是该混响效果的取值范围,参数如下:
复制代码
publicint setLocalVoiceReverb(int reverbKey, int value);
  • AUDIOREVERBDRY_LEVEL = 0:(dB, [-20,10]),原始声音效果,即所谓的 dry signal
  • AUDIOREVERBWET_LEVEL = 1:(dB, [-20,10]),早期反射信号效果,即所谓的 wet signal
  • AUDIOREVERBROOM_SIZE = 2:([0,100]), 所需混响效果的房间尺寸
  • AUDIOREVERBWET_DELAY = 3:(ms, [0, 200]),wet signal 的初始延迟长度,以毫秒为单位
  • AUDIOREVERBSTRENGTH = 4:([0,100]),后期混响长度

3. 设置语音音效均衡:

复制代码
public int setLocalVoiceEqualization(int bandFrequency, int bandGain);

其中 bandFrequency 参数的取值范围是 [0-9],分别代表音效的 10 个 band 的中心频率 [31,62,125,250,500,1k,2k,4k,8k,16k]Hz。参数 bandGain 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15]。

在演讲前后,现场有很多开发者来到声网的展位,与我们交流。目前,VainGlory、小米枪战、完美世界、贪吃蛇大作战等团队都在通过声网 Agora SDK 实现游戏中的实时音视频互动能力。同时,为了方便游戏开发者,声网 SDK 已经集成至 Cocos Creator,并上线 Unity Asset Store,开发者只需要通过几步简单的接口调用,即可实现游戏中的实时语音。

本文转载自公众号声网 Agora(ID:shengwang-agora)。

原文链接:

https://mp.weixin.qq.com/s/pOyrbc-w5W8b55u3MVK5wQ

评论

发布