音视频开发者的福音,快速集成AI配音能力
音视频内容创作者对剪辑应用中的AI配音需求与日俱增。它的优点很多,不光可以解决雇佣人力配音的成本以及创作者本身的口音、语言等限制,还可以大幅提升生产效率。比如,短视频的播放时间短的几十秒,长的vlog类型视频有4-5分钟,使用AI配音功能可以在短时间内实现多个剪辑需求。
HMS Core音频编辑服务(Audio Editor Kit)提供AI配音服务,帮助开发者在应用中轻松构建语音合成功能,一键输出文字即可转换语音。它支持乖萌童声,亲切女声,阳光男声,英文男声、女声等多种风格音色,还可以定制自己想要的音色。音色自然流畅,情感丰富,满足有声阅读、音频内容制作、剪辑等多种开发者关注的热门场景。
开发实战
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初始化环境 初始化音频编辑管理类、创建时间线以及需要的泳道。
// 创建音频编辑管理类
HuaweiAudioEditor mEditor = HuaweiAudioEditor.create(mContext);
// 初始化Editor的运行环境
mEditor.initEnvironment();
// 创建时间线
HAETimeLine mTimeLine = mEditor.getTimeLine();
// 创建泳道
HAEAudioLane audioLane = mTimeLine.appendAudioLane();
【音视频开发者的福音,快速集成AI配音能力】导入音乐。
// 泳道末尾添加音频资源
HAEAudioAsset audioAsset = audioLane.appendAudioAsset("/sdcard/download/test.mp3", mTimeLine.getCurrentTime());
3. AI配音功能集成 调用HAEAiDubbingEngine实现AI配音功能。
// 通过此配置类来对AI配音引擎进行配置
HAEAiDubbingConfig haeAiDubbingConfig = new HAEAiDubbingConfig()
// 设置音量
.setVolume(volumeVal)
// 设置音速
.setSpeed(speedVal)
// 设置发音人
.setType(defaultSpeakerType);
// 单个AI配音任务回调
HAEAiDubbingCallback callback = new HAEAiDubbingCallback() {
@Override
public void onError(String taskId, HAEAiDubbingError err) {
// error处理
}
@Override
public void onWarn(String taskId, HAEAiDubbingWarn warn) {}
@Override
public void onRangeStart(String taskId, int start, int end) {}
@Override
public void onAudioAvailable(String taskId, HAEAiDubbingAudioInfo haeAiDubbingAudioFragment, int i, Pair pair, Bundle bundle) {
// 开始接收文件,保存成文件
}
@Override
public void onEvent(String taskId, int eventID, Bundle bundle) {
// The synthesis is complete.
if (eventID == HAEAiDubbingConstants.EVENT_SYNTHESIS_COMPLETE) {
// AI配音任务处理结束,即合成的音频数据全部处理完毕
}
}
@Override
public void onSpeakerUpdate(List speakerList, List lanList,
List lanDescList) { }
};
// AI配音引擎
HAEAiDubbingEngine mHAEAiDubbingEngine = new HAEAiDubbingEngine(haeAiDubbingConfig);
// 设置AI配音任务播放过程侦听
mHAEAiDubbingEngine.setAiDubbingCallback(callback);
// 实时AI配音并播放API,text传入待转语音的文本,modeAI配音任务播放模式
String taskId = mHAEAiDubbingEngine.speak(text, mode);
// 暂停播放
mHAEAiDubbingEngine.pause();
// 恢复播放
mHAEAiDubbingEngine.resume();
// 关闭合成
mHAEAiDubbingEngine.stop();
Demo演示
文章图片
<很高兴见到你>
更多华为音频编辑服务详情,请参考:
服务官网:https://developer.huawei.com/consumer/cn/hms/huawei-audio-editor/?ha_source=hms1
获取指导文档:https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/client-dev-0000001107465102?ha_source=hms1
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
推荐阅读
- 一部属于阿里云视频云的【百年奥运云上故事】
- js 根据n年第n周,获取此周的开始和结束日期
- Leetcode专题[字符串]-151-翻转字符串里的单词
- android|android studio新闻界面,课内资源 - 基于Android Studio实现的新闻APP
- gbase|GBASE 8s ESQLC数据类型 - 字符串的库函数
- 安全|GBase 8s ESQLC创建线程安全的应用程序
- 人工智能|数字化转型的交付物是什么()
- 数字化|数字化转型(企业转型的数据治理方式)
- hive|Hive之数仓的分层及建模理论
- oracle删除超过N天数据脚本的方法