关于RTC:如何在3分钟内实现音频变声和趣味音效

1次阅读

共计 2291 个字符,预计需要花费 6 分钟才能阅读完成。

在泛娱乐社交和互动游戏场景中,用户已不再满足于高清的音质体验和实时的互动成果,他们还想要减少趣味性和沉迷感,让声音变得好玩乏味。拍乐云 Pano 上线了音频变声接口,开发者能够通过 Pano SDK 设置不同的变声成果,如大叔音、小姐姐音、萝莉音、山谷音、惊悚音、困兽音等,加强语聊乐趣。本篇文章就来跟大家介绍如何在 3 分钟内基于 Pano SDK 实现音频变声性能。

筹备工作:

  • 拍乐云开发者账户(通过拍乐云官网注册)
  • Pano SDK v1.3.4+ 版本

Windows、Android 端

RtcEngine 对象的 setOption 办法中配置 OptionType:AudioVoiceChangerMode。通过 setOption 将 AudioVoiceChangerOption 的枚举值设置进去,就能够实现 windows 端的变声成果。

Windows 端接口代码:

/*!

  • @~english
  • @brief Set option and paramters
  • @paramoption option
  • @paramparam paramter defined with option
  • @paramsize the size of parameters
  • @return
    • OK: Success
    • others: Failure
  • @~chinese
  • @brief 设置参数
  • @paramoption 参数类别
  • @paramparam 参数, 参数的定义需遵循不同的 option 所定义的参数构造
  • @paramsize 参数的大小
  • @return
    • OK: 胜利
    • 其余: 失败

*/

virtualQResultsetOption(OptionTypeoption, void * param, uint32_tsize) = 0;

示例代码:

AudioVoiceChangerOptionvcOption = AudioVoiceChangerOption::Male;

rtcEngine_->setOption(OptionType::AudioVoiceChangerMode, & vcOption,sizeof (vcOption));

Andorid 端接口代码:

/**

  • @~english
  • @brief Set option object to PANO SDK
  • @paramtype PanoOptionType enum type
  • @paramvalue The parameter of the option, the actual type of value is option-specific * @return
    • OK: Success
    • others: Failure
  • @~chinese
  • @brief 设置可选项
  • @paramtype 可选项类型 PanoOptionType
  • @paramvalue 参数的定义需遵循不同的 object 所定义的参数
  • @return
    • OK: 胜利
    • 其余: 失败

*/

publicabstractQResultsetOption(PanoOptionTypetype, Objectvalue);

示例代码:

Constants.AudioVoiceChangerOptionvcOption = Constants.AudioVoiceChangerOption.Male;mRtcEngine.setOption(Constants.PanoOptionType.AudioVoiceChangerMode, vcOption);

macOS、iOS 端

PanoRtcEngineKit 对象的 setOption:forType: 办法配置 PanoOptionType:kPanoOptionAudioVoiceChangerMode。

通过 setOption 将 PanoAudioVoiceChangerOption 的枚举值设置进去,就能够实现 macOS 和 iOS 端的变声成果。

macOS、iOS 端接口代码:

/**

  • @~english
  • @brief Set option object to PANO SDK.
  • @param option The Option object.
  • @param type PanoOptionType enum type.
  • @return
    • kPanoResultOK: Success
    • others: Failure
  • @~chinese
  • @brief 设置选项对象给 PANO SDK。
  • @param option 选项对象。
  • @param type PanoOptionType 枚举类型。
  • @return
    • kPanoResultOK: 胜利
    • 其余: 失败

*/

  • (PanoResult)setOption:(NSObject * _Nullable)option

forType:(PanoOptionType)type;

示例代码:

PanoAudioVoiceChangerOption vcOption = kPanoVoiceChangerMale;NSNumber * option = [NSNumber numberWithInteger:vcOption];[panoEngineKit setOption:option forType:kPanoOptionAudioVoiceChangerMode];

以上为音频变声的具体接入介绍,除了变声,拍乐云还反对音频的 立体声、美声、耳返、伴音、混响 等,让声音变得更难听、更有磁性和生机,也让整个语聊互动的过程变得更乏味。

对于拍乐云

拍乐云成立于 2019 年,是国内第一家视频会议背景的实时互动通信云服务提供商,汇聚了一大批专一于音频、视频、网络、AI 等畛域的资深技术专家。通过 Pano SDK,企业开发者即可在寰球范畴内疾速实现互动课堂、语音聊天室、视频社交、直播连麦、游戏语音、视频客服、近程医疗、办公合作等场景。

正文完
 0