Skip to main content

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

  • 新闻资讯
2021.3.22

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

准备工作:
  • 拍乐云开发者账户(通过拍乐云官网注册)
  • Pano SDK v1.3.4+ 版本
 
Windows、Android 端
RtcEngine对象的setOption方法中配置OptionType:AudioVoiceChangerMode。通过setOption将AudioVoiceChangerOption的枚举值设置进去,就可以实现windows端的变声效果。

枚举值

描述

None(0)

无处理

Monster(1)

困兽音

Male(2)

大叔音。建议用于处理男声,否则无法达到预期效果。

Female(3)

小姐姐音。建议用于处理女声,否则无法达到预期效果。

Echo(4)

山谷音

Thriller(5)

惊悚音

Loli(6)

萝莉音

Windows 端接口代码:
    /*!
     * @~english
     * @brief Set option and paramters
     * @param option option
     * @param param paramter defined with option
     * @param size the size of parameters
     * @return
     *   - OK: Success
     *   - others: Failure
     * @~chinese
     * @brief 设置参数
     * @param option 参数类别
     * @param param 参数参数的定义需遵循不同的option所定义的参数结构
     * @param size 参数的大小
     * @return
     *   - OK: 成功
     *   - 其他失败
     */
    virtual QResult setOption(OptionType optionvoid * paramuint32_t size) = 0;

示例代码:

AudioVoiceChangerOption vcOption = AudioVoiceChangerOption::Male;
rtcEngine_->setOption(OptionType::AudioVoiceChangerMode, &vcOptionsizeof(vcOption));
Andorid 端接口代码:
    /**
     * @~english
     * @brief Set option object to PANO SDK
     * @param type    PanoOptionType enum type
     * @param value   The parameter of the option, the actual type of value is option-specific
     * @return
     *   - OK: Success
     *   - others: Failure
     * @~chinese
     * @brief 设置可选项
     * @param type    可选项类型PanoOptionType
     * @param value   参数的定义需遵循不同的object所定义的参数
     * @return
     *   - OK: 成功
     *   - 其他失败
     */
    public abstract QResult setOption(PanoOptionType typeObject value);
示例代码:
Constants.AudioVoiceChangerOption vcOption = Constants.AudioVoiceChangerOption.Male;
mRtcEngine.setOption(Constants.PanoOptionType.AudioVoiceChangerMode, vcOption);

macOS、iOS 端


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

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

枚举值

描述

kPanoVoiceChangerNone(0)

无处理

kPanoVoiceChangerMonster(1)

困兽音

kPanoVoiceChangerMale(2)

大叔音。建议用于处理男声,否则无法达到预期效果。

kPanoVoiceChangerFemale(3)

小姐姐音。建议用于处理女声,否则无法达到预期效果。

kPanoVoiceChangerEcho(4)

山谷音

kPanoVoiceChangerThriller(5)

惊悚音

kPanoVoiceChangerLoli(6)

萝莉音

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

图片

二维码扫一扫,添加售前顾问,了解更多服务

让您的应用快速获得实时音视频能力

每月10000分钟免费,零成本启动

立即体验