共计 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,企业开发者即可在寰球范畴内疾速实现互动课堂、语音聊天室、视频社交、直播连麦、游戏语音、视频客服、近程医疗、办公合作等场景。