在泛娱乐社交和互动游戏场景中,用户已不再满足于高清的音质体验和实时的互动效果,他们还想要增加趣味性和沉浸感,让声音变得好玩有趣。拍乐云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,企业开发者即可在全球范围内快速实现互动课堂、语音聊天室、视频社交、直播连麦、游戏语音、视频客服、远程医疗、办公协作等场景。

如何在3分钟内实现音频变声和趣味音效?相关推荐

  1. 怎样将音频变声?1分钟教你音频变声怎么弄!

    大家平常爱不爱刷短视频呢?不知道你们看短视频的时候有没有注意到,一些视频的配音很是搞怪,常常让人捧腹大笑!那么这些声音是怎么制作出来的呢?其实大部分的搞怪配音,都是借助软件对音频进行变音来实现的~今天 ...

  2. github创建静态页面_如何在10分钟内使用GitHub Pages创建免费的静态站点

    github创建静态页面 Static sites have become all the rage, and with good reason – they are blazingly fast a ...

  3. es6 ... 添加属性_如何在10分钟内免费将HTTPS添加到您的网站,以及为什么您现在不止需要这样做......

    es6 ... 添加属性 by Ayo Isaiah 通过Ayo Isaiah 如何在10分钟内免费将HTTPS添加到您的网站,以及为什么现在比以往更需要这样做 (How to add HTTPS t ...

  4. javascript创建类_如何在10分钟内使用JavaScript创建费用管理器

    javascript创建类 by Per Harald Borgen 通过Per Harald Borgen 如何在10分钟内使用JavaScript创建费用管理器 (How to create an ...

  5. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  6. 如何在1分钟内CSDN收益1000万,走上人生巅峰?!

    事情的起因源于前几日CSDN专栏作者群中有位同志自曝收益:426584.46元(不用数了42万+,未证实是否属实),瞬间刷屏. 那么作为一位普通的技术分享者,是否有机会利用开源项目短时间内赢取白富美. ...

  7. 以太坊区块链同步_以太坊69:如何在10分钟内建立完全同步的区块链节点

    以太坊区块链同步 by Lukas Lukac 卢卡斯·卢卡奇(Lukas Lukac) Ethereu M 69:如何在10分钟内建立完全同步的区块链节点 (Ethereum 69: how to ...

  8. 如何在 20 分钟内给你的 K8s PaaS 上线一个新功能?

    作者 | 孙健波(天元) 来源|阿里巴巴云原生公众号 上个月,KubeVela 正式发布了, 作为一款简单易用且高度可扩展的应用管理平台与核心引擎,可以说是广大平台工程师用来构建自己的云原生 PaaS ...

  9. 服务器创建多个dhcp服务_如何在15分钟内创建无服务器服务

    服务器创建多个dhcp服务 by Charlee Li 通过李李 如何在15分钟内创建无服务器服务 (How to create a serverless service in 15 minutes) ...

最新文章

  1. 使用参数化化模型投影点云
  2. 无人驾驶技术排名:百度居中游,苹果特斯拉垫底 | 行业
  3. window powershell 获取前后日期,格式化日期
  4. C++知识点25——使用C++标准库(容器适配器stack、queue、priority_queue)
  5. MongoDB学习笔记【2】-- 试用
  6. 阿里云原生张羽辰:服务发现技术选型那点事儿
  7. cocos2d-x 2.2.3 win32程序发布注意
  8. pl/sql 测试函数_如何在SQL单元测试中使用伪函数?
  9. java平台沙箱安全组件,安全-如何创建Java沙箱?
  10. [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
  11. Android实现边录音边播放
  12. 各种浏览器的cache文件夹
  13. Idea导入的项目不能运行
  14. Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
  15. VO,DTO,BO,POJO,PO的概念介绍
  16. Linux和Redis的自学笔记总结
  17. 贝叶斯法则与先验概率,后验概率
  18. 使用CSS3实现圆形进度条
  19. Win11远程协助灰色无法勾选?Win11远程协助不能选择的解决方法
  20. 20 React项目生成及部署

热门文章

  1. PHP拼多多模式,砍价免费拿商品算法
  2. 华农兄弟、徐大Sao李子柒?谁才是B站美食区的最强王者?
  3. mysql 行合并 分组_mysql分组并多行拼接--group_concat和group by的使用
  4. sp工具中最疼的是_阴阳师:永生之海完结,终于该八雷山了吧?建御雷、SP山风预定...
  5. Python还能这么玩?Turtle一个上帝的指纹!(斐波那契螺旋线)
  6. topic是短语还是句子_仁爱八年级下册unit5topic2重点短语和句子
  7. python中单引号和双引号的区别_python中单引号,双引号,多引号区别_python中单双引号...
  8. 代码实现网页右侧固定的qq客服,微信,手机号,置顶的功能
  9. 可布阵的鸿蒙武器,冰雪复古传奇手游鸿蒙装备属性一览
  10. Wireshark抓包——qq分析