基于机器学习的语音编解码器声网Agora Silver:支持超低码率下的高音质语音互动
从 1860 年电话发明,到现如今通过网络进行语音互动,语音始终是最自然、最基础的实时互动方式。过去几年,语音实时互动成为越来越多人日常生活的一部分。但是每个人都会遇到弱网环境,这会直接影响语音通话体验。所以声网也在不断地利用最前沿的技术来改进语音通话体验。我们现在在国内率先正式推出基于机器学习的语音编解码器(语音 AI Codec)——声网Agora Silver。它可以在超低码率下,提供32KHz采样率的超宽带编码音质,并通过 AI 降噪算法来进一步优化音质与语音自然听感。
传统编码器为何要引入AI?
在语音互动的过程中,所有用户都会遇到弱网。有的是因为所在地区的网络设施问题造成的;有的可能处于网络设施较好的区域,但遇到网络使用高峰期,仍然会出现网络拥塞,从而使用户分到的有效带宽降低。任何人都无法保证网络的全时稳定,弱网环境长期存在。
面对弱网,通常会选择降低码率,从而减少对带宽的占用,以此来避免出现语音卡顿的情况。但是,这种方法虽然解决了卡顿、不可用的问题,却带来了新的问题。
传统的编解码器,在极低码率时只能保持一定的语音可懂度(即听得清对方在说什么),却很难保持音色等其他信息。例如,Opus 在 6kbps 的码率下只能做到窄带语音的编码,有效语谱带宽就只有 4KHz 了。这是什么概念呢?
Opus 是目前业界应用最广泛的音频编解码器,也是 WebRTC 默认的编解码器。为了能适应不同的网络情况,它的码率可在 6kbps - 510kbps 之间调节。那么当遇到弱网,或者说网络带宽有限的时候,可以将码率最低降至 6kbps。在这个码率下,只能进行窄带语音编码。根据业界的定义,窄带语音编码的采样率为 8KHz。而根据采样定理,也称作奈奎斯特采样定理,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。也就是说,采样率为 8KHz 的时候,有效语谱带宽只有 4KHz。人声会听起来很闷,因为声音中很多高频的部分丢失了。
经过这么多年的发展,已经很难再通过算法调优,来帮助传统编解码器突破这个瓶颈了。而随着 AI 语音合成技术的不断发展,尤其是基于 WaveRNN 的语音生成技术的发展,人们发现将 AI 与音频编解码器结合,能够在更低码率的编码条件下更完整地还原语音。
语音AI Codec是什么?
目前业界对于 AI 与音频编解码的结合有很多中探索。例如,有通过 WaveRNN 在解码端来优化低码率的音质,也有利用 AI 在编码端优化压缩效率的方法。所以广义上讲,只要是用到机器学习、深度学习来进行语音的压缩或解码的,都算是语音 AI Codec。
语音AI Codec现在面对的难点
尽管在很多编解码标准的设计研发中,已开始探索将 AI 应用其中。语音 AI Codec 从学术、标准,落地到实际业务场景中,还比如 Google 最近发布的 Lyra 可以做到 3kpbs 的码率还原 16KHz 采样的宽带语音。它的做法是通过机器学习模型在解码端,根据收到的低码率的语音数据,重建还原出高质量信号,从而让声音还原度听上去更高。类似的语音 AI Codec 还有微软发布的 Satin ,它可以在 6kpbs 的码率还原 32KHz 采样率的超宽带语音。
但相对传统声码器,语音 AI Codec 的应用落地仍需解决一些难点:
噪音鲁棒性
根据香农定理,低码率对信号的信噪比要求更高。由于语音 AI Codec 解码多使用语音生成模型来生成音频信号,在噪声情况下,一个比较直观的感受就是噪声都变成了一些类似语音的不自然噪音,非常影响听感。加上低码率压缩,噪声情况很可能会导致语音可懂度快速下降,听上去你会感觉对端的人仿佛有“大舌头”,说话含糊不清。所以在实际使用中,往往先需要一个优秀的降噪模块来作为前处理,再进行编码。
针对移动端的算法模型优化
解码时 AI 模型往往需要庞大算力。解码时采用的语音生成模型的计算都比较耗时,而实时互动场景又要求模型可在大部分移动设备上进行实时计算。因为大多数实时互动都发生在移动终端上。例如 Google 开源的 Lyra 在麒麟 960 芯片上实测包含 40ms 信息的一个音频package,解码需要 40ms-80ms,如果你的手机搭载了这个芯片,例如华为荣耀 9,就无法在实时互动场景中采用 Lyra。这还只是单路解码,如果需要多路解码(多人的实时通话)那要求的算力就需要成倍上升,一般的设备可能就无法支持了。因此如果想要让语音 AI Codec 能应用于实时互动场景,那还必须针对移动终端做算力优化,以满足实时性的性能与延时要求。
语言自然度与算力的权衡
要想得到一个自然的语音听感,往往需要更高算力的模型。这与我们刚提到的第二个“挑战”刚好形成互相制约的关系。
较小算力的模型可能导致生成的语音有很多失真和不自然的听感。例如目前语音最自然的逐点生成模型(Sample by sample) 模型往往需要 3-20GFLOPS 的计算量。我们一般可以用 MUSHRA(用于流媒体与通信的相关编码的主观评价测试方法,满分 100 分)来评价语音生成模型的语音可懂度和自然度,20GFLOPS 的模型,例如 WaveRNN 就可以达到 MOS 分达到 85 分左右,而算力比较小的模型,例如 3GFLOPS 的 LPCNET 就只能达到 75 分。
Silver特性与横向实测效果
在 Silver 编解码器中,我们通过自研算法解决了上述三个难题。如下图所示,Silver 首先利用 实时全频带 AI 降噪算法提供噪声鲁棒性。在解码端,Silver 基于深度优化的 WaveRNN 模型,以极小的算力实现语音解码。
Silver 的特性包括:
1、解决噪声鲁棒性问题:结合自主研发的实时全频带 AI 降噪算法。
2、机器学习模型可运行于移动终端:基于深度优化的 WaveRNN 模型以极小的算力实现语音解码,实测在高通 855 单核上,解码 40ms 的语音信号只需要 5ms 的计算时间,流畅支持各种实时互动场景。
3、超低码率:码率最低可达 2.7kpbs,更省带宽。
4、高音质:支持 32KHz 采样率,超宽带编码音质,音色饱满自然。
我们基于 MUSHRA 标准来对比了 Silver、Opus(6kbps)、Lyra 的语音可懂度和自然度。如下图所示。其中 REF 为满分锚点,Anchor35 为低分锚点,就是把原始的语音(满分锚点)和很差的合成数据(低分锚点)混到测试语料里去接受测试打分。我们测试了三种语言,Silver 的打分均高于其它编解码器。
同时,我们还在不同的噪声环境下,对比测试了以上三种编解码器,测试打分结果如下。在 AI 降噪算法的支持下,Silver 可以为用户提供更自然的语音互动效果。
在有噪声和无噪声环境下,原声与经过不同编解码器传输后的效果可以通过我们准备的音频对比感受,由于平台无法上传音频,因此,感兴趣的开发者可以点击「这里」收听完整版音频对比。
由于篇幅限制,能分享的音频数量有限。如果你还希望进一步了解 Silver ,欢迎访问声网开发者社区,在论坛留言与我们交流。
基于机器学习的语音编解码器声网Agora Silver:支持超低码率下的高音质语音互动的更多相关文章
- 【React Native】集成声网Agora语音通讯
前言: 公司的产品是一款基于社交的内容聊天软件,需要集成语音通讯功能,在写iOS原生项目时,用到的就是Agora SDK,现在写React Native也直接采用了Agora的库. 集成iOS.And ...
- 【征文活动】为自己发“声” —— 声网RTC征文大赛在园子里征稿
2020年8月20日,声网Agora入驻园子的新楼盘--博客园品牌专区.9月,我们与声网Agora再度合作,「为自己发"声"- RTC 征文大赛」在园子里征稿. RTC(Real- ...
- 高清语音技术(WBS)及其在手机和蓝牙耳机中的实现
高清语音也被称为宽带语音,是一种能为蜂窝网络.移动电话和无线耳机传输高清.自然语音质量的音频技术.与传统的窄带电话相比,高清语音很大程度上提高了语音质量,减少了听觉负担. 通信产业链上的所有网络和设备 ...
- 基于机器学习的web异常检测
基于机器学习的web异常检测 Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一 ...
- 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否
基于机器学习的web异常检测 from: https://jaq.alibaba.com/community/art/show?articleid=746 Web防火墙是信息安全的第一道防线.随着网络 ...
- 亚马逊云推出基于机器学习的企业搜索服务Kendra,剑指微软
近日,在AWS re:Invent全球大会上,亚马逊发布了五项新的基于机器学习的人工智能 (AI) 服务. 这五项服务包括机器学习驱动的企业搜索.代码审核与分析.欺诈检测.医疗转录和 AI 预测的人工 ...
- 【NLP】基于机器学习角度谈谈CRF(三)
基于机器学习角度谈谈CRF 作者:白宁超 2016年8月3日08:39:14 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都 ...
- 基于jQuery仿迅雷影音官网幻灯片特效
分享一款基于jQuery仿迅雷影音官网幻灯片特效迅.雷影音官网jQuery幻灯片特效是一款带左右箭头,索引按钮切换的jQuery幻灯片代码.效果图如下: 在线预览 源码下载 实现的代码. html ...
- GyoiThon:基于机器学习的渗透测试工具
简介 GyoiThon是一款基于机器学习的渗透测试工具. GyoiThon根据学习数据识别安装在Web服务器上的软件(操作系统,中间件,框架,CMS等).之后,GyoiThon为已识别的软件执行有效的 ...
- 基于 Azure IaaS 搭建企业官网的规划和实践
本课程主要介绍了基于 Azure IaaS 搭建企业官网的案例分析和实践,实践讲解如何使用 Azure 门户创建虚拟机, 创建虚拟网络, 创建存储账户等. 具体包括项目背景介绍, 项目架构, 准备和实 ...
随机推荐
- SQL server 清空数据库所有表
use [数据库名]GOdeclare @sql varchar(8000)while (select count(*) from sysobjects where type='U')>0beg ...
- Simple Algebra
题意 给定方程\(f(x)=ax^2+bxy+cy^2\)和参数\(a\),\(b\),\(c\),试确定该方程的取值是否恒非负. 题解 参照文章http://math.mit.edu/~mckern ...
- Delphi实现大写字母键打开提示
uses XPMan 编辑框的passwordChar属性设置成 *
- Java中File类
File类是java.io包中唯一代表磁盘文件本身的对象.File类的对象主要用来获取文件本身的一些信息,如文件所在目录.文件长度.读写权限等. 一. 文件的创建与删除 通常使用以下三种方法来创建一个 ...
- js小数相加精度不准确
例: 0.1+0.1+0.1+0.7 != 1 0.1+0.2 != 0.3 解决办法: 相加 function addNum(num1, num2) { let sq1, sq2; ...
- 后台http请求
HttpResponse response = HttpContext.Current.Response; response.Buffer = true; response.Clear(); resp ...
- spring中.xml配置文件头部
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 第16章 发布和部署应用程序(ASP.NET Core in Action, 2nd Edition)
本章包括 发布 ASP.NET Core 应用程序 在 IIS 中托管 ASP.NET Core 应用程序 自定义 ASP.NET Core 应用程序的 URL 通过捆绑和缩小优化客户端资源 到目前为 ...
- Centos7下搭建部署DoClever接口管理平台
项目地址: github:https://github.com/sx1989827/DOClever 码云:https://gitee.com/sx1989827/SBDoc 1.根据官方文档,先安装 ...
- MySQL 日期相关
NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 EXTRACT() 返回日期/时间按的单独 ...