变声是直播类、聊天类应用中用户经常使用的功能。例如:很多主播选择使用变声器来实现带动直播间气氛;和朋友语音聊天时选择变成萝莉音让聊天更有趣。HMS Core音频编辑服务提供变声能力,帮助开发者在应用中构建变声功能。用户可以通过预置的变声风格进行变声,提升音频可玩性的同时有效保护用户隐私,让你随心所欲、想变就变。

华为音频编辑服务实时变声,大叔音怪兽音随意变换_ide

HMS Core音频编辑服务目前可提供7种变声效果,包括大叔、萝莉、男生、女声、怪兽、卡通、机器人。不限语种,且实时处理,可简单便捷的应用在音视频通信或互娱直播场景,为主播提供实时变声特效,让直播音色更动听、更有趣。

变声效果

华为音频编辑服务实时变声,大叔音怪兽音随意变换_开发者_02

下面我们就一起来实操一下如何接入华为音频编辑服务,实现变声效果吧。

1开发准备

详细准备步骤可参考[华为开发者联盟官网](https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/config-agc-0000001154009063?ha_source=hms1)

2编辑工程集成

2.1设置应用的鉴权信息

开发者需要通过api_key或者Access Token来设置应用鉴权信息。

通过setAccessToken方法设置Access Token,在应用启动时初始化设置

HAEApplication.getInstance().setAccessToken("your access token");

通过setApiKey方法设置api_key,在应用启动时初始化设置一次即可,无需多次设置。

HAEApplication.getInstance().setApiKey("your ApiKey");

2.2文件接口

调用文件接口实现具体功能,必要条件:创建文件接口回调。

private ChangeSoundCallback callBack = new ChangeSoundCallback() {
@Override
public void onSuccess(String outAudioPath) {
// 处理成功
}
@Override
public void onProgress(int progress) {
// 进度回调处理
}
@Override
public void onFail(int errorCode) {
// 处理失败
}
@Override
public void onCancel() {
// 取消处理
}
};

2.3实现变声功能

调用applyAudioFile接口进行变声。

// 变声
HAEChangeVoiceFile haeChangeVoiceFile = new HAEChangeVoiceFile();
ChangeVoiceOption changeVoiceOption = new ChangeVoiceOption();
changeVoiceOption.setSpeakerSex(ChangeVoiceOption.SpeakerSex.MALE);
changeVoiceOption.setVoiceType(ChangeVoiceOption.VoiceType.CUTE);
haeChangeVoiceFile.changeVoiceOption(changeVoiceOption);
// 调用接口
haeChangeVoiceFile.applyAudioFile(inAudioPath, outAudioDir, outAudioName, callBack);
// 取消变声任务
haeChangeVoiceFile.cancel();

除了变声,华为音频编辑服务还为开发者提供了一站式音频编辑服务,涵盖了音频/音乐处理所需的几十项专业能力,开发者只需要通过简单的集成方式即可让应用获取强大的音频处理能力,可极大帮助客户提升音频/音乐方面的处理效率。

了解更多详情>>

访问​​华为开发者联盟官网​

获取​​开发指导文档​

华为移动服务开源仓库地址:​​GitHub​

关注我们,第一时间了解 HMS Core 最新技术资讯~