音视频内容创作者对剪辑应用中的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();

导入音乐。

// 泳道末尾添加音频资源
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<Integer, Integer> 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<HAEAiDubbingSpeaker> speakerList, List<String> lanList,
List<String> 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

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

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

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

音视频开发者的福音,快速集成AI配音能力的更多相关文章

  1. 对接网易云信音视频2.0呼叫组件集成到vue中,实现web端呼叫app,视频语音通话。

    项目中需要实现视频通话功能,经过公司的赛选,采用网易云信的视频通话服务,app小伙伴集成很顺利.web端需要实现呼叫app端用户.网易云信文档介绍不全,vue的demo满足不了需求,和客服人员沟通,只 ...

  2. 搜狐新闻APP是如何使用HUAWEI DevEco IDE快速集成HUAWEI HiAI Engine

    6月12日,搜狐新闻APP最新版本在华为应用市场正式上线啦! 那么,这一版本的搜狐新闻APP有什么亮点呢? 先抛个图,来直接感受下—— ​ 模糊图片,瞬间清晰! 效果杠杠的吧. 而藏在这项神操作背后的 ...

  3. moviepy音视频开发专栏文章目录

    ☞ ░ 前往老猿Python博文目录 ░ <moviepy音视频开发专栏>为收费专栏,基于老猿阅读moviepy1.03版本的源代码以及大量测试验证的基础上,详细介绍moviepy主要音视 ...

  4. 快速集成iOS基于RTMP的视频推流

    前言 这篇blog是iOS视频直播初窥:<喵播APP>的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集 ...

  5. [翻译] C# 8.0 新特性 Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南) 【由浅至深】redis 实现发布订阅的几种方式 .NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐

    [翻译] C# 8.0 新特性 2018-11-13 17:04 by Rwing, 1179 阅读, 24 评论, 收藏, 编辑 原文: Building C# 8.0[译注:原文主标题如此,但内容 ...

  6. 音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)

    前言: 前面我用了很多章实现了javaCV的基本操作,包括:音视频捕捉(摄像头视频捕捉和话筒音频捕捉),推流(本地音视频或者摄像头话筒混合推流到服务器),转流(rtsp->rtmp),收流(录制 ...

  7. 融云携新版实时音视频亮相 LiveVideoStack 2019

    4 月 19 日,LiveVideoStack 2019 音视频大会在上海隆重开幕,全球多媒体创新专家.音视频技术工程师.产品负责人.高端行业用户等共襄盛会,聚焦音频.视频.图像.AI 等技术的最新探 ...

  8. Android IOS WebRTC 音视频开发总结(六三)-- 2016国内IM云服务行业分析

    本文主要国内IM云服务行业分析,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 谈到IM我们最先想到的是qq和微信 ...

  9. Android WebRTC 音视频开发总结

    www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC. ...

随机推荐

  1. Typora图床

    Typora图床 Typora+PicGo+Gitee(码云)实现高效Markdown图床 typora是我最早接触的markdown格式的轻文本编辑器,因为我是计算机专业,所以平常记笔记会有代码块, ...

  2. MATLAB的基识(整理)

    %正弦函数在MATLAB中如何实现%1.sin(45°)注意:参数值需要用"弧度"去定义>>x=sin(45*pi/180);%2.MATLAB中注意:开方-sqrt( ...

  3. [Jetson Nano]Jetson Nano快速入门

    NVIDIAJetsonNano开发套件是适用于制造商,学习者和开发人员的小型AI计算机.相比Jetson其他系列的开发板,官方报价只要99美金,可谓是相当有性价比.本文如何是一个快速入门的教程,主要 ...

  4. 一个BPMN流程示例带你认识项目中流程的生命周期

    摘要:本文详细说明了在工作流Activiti框架中的BPMN流程定义整个运行的生命周期. 本文分享自华为云社区<本文详细说明了在工作流Activiti框架中的BPMN流程定义整个运行的生命周期& ...

  5. python 爬虫爬取历年双色球开奖信息

    目前写的这些爬虫都是些静态网页,对于一些高级网页(像经过JS渲染过的页面),目前技术并不能解决,自己也是在慢慢学习过程中,如有错误,欢迎指正: 对面前端知识本人并不懂,过程中如果涉及到前端知识,也是百 ...

  6. 主键约束(primary key 简称PK)

    7.5.主键约束 主键约束相关术语 主键约束 主键字段:字段添加了主键约束,叫主键字段 主键值:主键字段中的每个值都叫主键值 什么是主键? 主键值是每一行记录的唯一标识(主键值是每一行记录的身份证号) ...

  7. IoC容器-Bean管理XML方式(自动装配)

    IoC操作Bean管理(XML自动装配) 1,什么是自动装配 (1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入 2,演示自动装配过程 (1)根据属性名称自动注入 ...

  8. Git安装详解

    官网地址: https://git-scm.com/ 查看 GNU 协议,可以直接点击下一步. 选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步. Git 选项配置,推荐默认设置,然 ...

  9. linux文件时间详细说明

    目录 一:文件时间信息 2 文件时间详细说明 一:文件时间信息 1 文件时间信息分类: 三种时间信息 文件修改时间: mtime 属性修改时间: ctime 文件访问时间: atime 2 查看文件时 ...

  10. Oracle dg 状态校验

    查看主库状态: select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE ...