如何在 3 分钟内实现音频变声和趣味音效?
在泛娱乐社交和互动游戏场景中,用户已不再满足于高清的音质体验和实时的互动效果,他们还想要增加趣味性和沉浸感,让声音变得好玩有趣。拍乐云 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,企业开发者即可在全球范围内快速实现互动课堂、语音聊天室、视频社交、直播连麦、游戏语音、视频客服、远程医疗、办公协作等场景。
版权声明: 本文为 InfoQ 作者【拍乐云Pano】的原创文章。
原文链接:【http://xie.infoq.cn/article/ebddb2d060d125a6b1f957cc2】。文章转载请联系作者。
评论