直播系统从带宽扩展到丢包隐藏,实时音频中的 AI

随着这几年直播系统的迅猛发展,我们在图像和视频处理领域里见证了非常多的应用,比如Agora引擎里的视频超分辨率技术。对于音频中AI的应用,我们可能经常听说语音合成、语音识别等技术。那在实时音频通话中,AI有什么用武之地呢?本文将简单总结一下AI在实时音频中的应用,本文将不会展开细节,但在文末有部分参考文献,如有需要请自行取阅。

一、音频领域的超分-带宽扩展

在视频的超分中,我们可以根据相邻像素恢复出特定像素,达到使图像更清晰的目的。在音频中,空间特性往往反映在频域信号上,高频信息更丰富的音频人们听起来会更明亮。举个例子,我们在打传统落地电话时,往往会有一种感觉,对方说话的声音听起来很闷,这其实是因为传过来的语音信号被人为的移除掉了高频区域的信息。而带宽扩展的功能就是把被砍掉的这部分高频信号恢复出来,让语音信号听起来更明亮,更像面对面的交流。

实际上,带宽扩展技术已经有了很多年的发展历史,但传统的带宽扩展方法是根据音频信号的高低频区域之间的关系,计算出一些参数传递到接收端,接收端根据这些参数和信号的低频信息还原出高频信号。但这么做的话,传递的参数仍然会占用一部分带宽,因此有人提出了盲扩的思路,即只观察音频信号的低频区域,不依赖其他信息把高频区域恢复的来的方法。但这种思路在过去并没有取得令人满意的效果,直至近几年深度学习的兴起,这种思路才有所突破。

一般来说,我们可以通过训练得到一个模型,当输入一段信号的低频区域信息时,模型会拟合出对应的高频区域信息。我们再利用这些高频信息把高频信号还原出来,和低频信号结合,这样就完成了盲扩的过程。

下面是一个基于DNN的频带扩展模型的效果演示:

原始低频信号:

进行频带扩展后的信号:

从上图可以看出,经过频带扩展后的信号增加了很多高频信息,实际的听感也会更加明亮、清晰。

二、丢包隐藏技术

众所周知,一段音频信号通过网络进行传输时,要首先被分为若干帧,然后被编码、组包、发送。在接收端会有相反的操作进行音频信号的还原。当网络状态不好或者有波动时,就会有部分包无法按时送达接收端,即发生了丢包。接收端如果不能很好的处理因为丢包带来的损伤,会严重影响恢复音频质量。在过去几十年中,音频领域的工程师设计出了很多方法去减少丢包带来的影响,常见的方法如基于波形相似的WSOLA,这种方法会通过寻找相关信号的方法,拉长前面收到的音频,也就是常说的变速不变调技术,WebRTC里现有的丢包补偿算法就是基于这种思想。还有一些内置在解码器里的基于编码参数的方法,这种方法会利用前一正常帧解码得到的信息去恢复下一帧,比如Opus就有内置的基于前一帧参数的丢包隐藏算法。但这些基于参数的方法会较频繁的补出异常声音,听起来有明显的不适。而相对来说,基于AI的模型往往通过学习大量语料,能够覆盖到更多场景,补出的声音更加自然,在丢包隐藏算法上具有较高潜力。

下面是一个基于RNN的丢包恢复模型的效果演示: 原始音频:

丢包音频:

基于AI的恢复音频:

从上图可以发现,经过丢包恢复后,丢失的信息基本已经恢复了出来,虽然难以完全恢复出原始的信息,但听觉上已经流畅了很多。

三、语音音乐分类器

为了更好的进行信号处理,引擎中有些算法往往需要被告知输入的信号是语音信号还是音频信号。分辨一段音频中哪段是语音,哪段是音乐似乎看起来不是一件困难的事情。但考虑到音频信号大多数是以20ms为一帧,只凭这20ms的信息去分辨它是语音还是音乐就没有想象中那么简单了。传统算法往往是人工设计一个模型,并基于功率谱、过零率、倒谱系数等音频特征计算出当前帧是音乐的几率,但这些算法的准确率,尤其是语音/音乐切换时的准确率并不能达到令人满意的程度。基于深度学习的分类器已被广泛应用于各个场景,在语音音乐分类器上也因其极高的准确率相对传统算法形成了显著的优势。

下图是一段混合着语音和音乐的音频的分类结果,红色的曲线是一个简单的基于GRU模型的预测结果,蓝色的是一种传统的基于HMM算法的预测结果。

从图中可以看出,基于AI的预测结果相对该传统算法在准确性和实时性上有着明显的优势。

四、语音增强

语音增强是指当语音信号被各种各样的噪声干扰、甚至淹没后,从噪声背景中提取有用的语音信号,抑制、降低噪声干扰的技术。也就是从含噪语音中提取尽可能纯净的原始语音。这种噪声有很多种:如白噪声、电流声、开关门声、键盘打字声、啸叫声等外界噪声,也可以是由编码解码的失真带来的自身噪声。因为噪声的多样性和突发性,使得传统算法难以覆盖住较多场景。而语音增强方向一直是实时语音AI化比较热门的方向,因此涌现出了很多优秀的模型和算法。

下面是一个降噪的模型效果演示:

带噪信号:

增强后的信号:

由图可见,信号里的噪声被滤除的非常干净,而且本身有用的信息得到了有效的保护。

直播系统从带宽扩展到丢包隐藏,实时音频中的 AI相关推荐

  1. 如何做带宽估计和丢包策略

    1 建立线性模型 使用RTP 包发送 RTCP包回馈拿到延时时间,计算抖动,什么是抖动呢,多个数据包之间的延时不相同就叫抖动,非常简单,第一次发送延时20ms, 第二次发送延时10ms, 第三次发送延 ...

  2. TCP的带宽估计和丢包恢复

    TCP的带宽估计和丢包恢复 一.带宽估计 TCP的带宽估计主要通过拥塞控制算法实现,用到两个变量: 1.cwnd     TCP对当前链路可用带宽的估计 2.ssthreash   拥塞控制算法&qu ...

  3. 华为交换机带宽不足会丢包吗_华为岳伟:品质家宽,释放F5G网络体验红利

    在北京举办的2020中国光网络研讨会(OPTiNET2020)之光接入技术与下一代PON分论坛上,华为技术有限公司传送接入产品组合与生命周期管理部总裁岳伟做了<品质家宽,释放F5G网络体验红利& ...

  4. 计算机网络:速率、带宽、延迟、时延带宽积、丢包率、吞吐量

    速率: 即数据率,也称比特率或者传输速率 单位:b/s, kb/s, Mb/s, Gb/s 速率往往是指额定速率或标称速率 带宽: 数字信道所能传送的"最高数据率",单位:b/s( ...

  5. 速率、带宽、延迟、时延带宽积、丢包率、吞吐量

    1. 速率 速率(数据率,数据传输速率,比特率) 单位时间(秒)传输信息(比特)量 单位:b/s(bps).kb/s.Mb/s.Gb/s k=103.M=106.G=109 速率往往是指额定速率或标称 ...

  6. G711 编码解码及丢包隐藏处理(PLC)

    1.G711 简介 G.711是一种由国际电信联盟(ITU-T)制定的音频编码方式,又称为ITU-T G.711. 常用的有G711u 和 G711a, 即PCMU和PCMA 2.G711 的压缩率为 ...

  7. liunx检测上下行带宽及丢包率

    上传下载速度 speedtest-cli是一个用Python编写的轻量级Linux命令行工具 在Python2.4至3.4版本下均可运行 它基于Speedtest.net的基础架构来测量网络的上/下行 ...

  8. ping来自192.168.1.1的回复:无法访问目标主机(丢包等网络问题)

    具体表现:1. 虚拟机IP地址配置好了,虚拟机可以ping通外网,电脑也可以ping通虚拟机ip,xshell等客户端无法通过IP地址链接linux. 直接症状 是不能通过xshell等客户端,登录l ...

  9. Linux丢包问题排查思路

    Linux丢包问题排查思路 判断问题与网络丢包有关 通过抓tcpdump,通过wireshark提示查看数据包状态.比如客户端重传多次失败,服务端提示丢包等错误,均是可能由于丢包导致的异常. 丢包可能 ...

最新文章

  1. linux性能优化实战-内存性能指标
  2. 九度OJ 朋友圈 并查集
  3. 怎么用python画花瓣_怎么用python画花朵
  4. php 二维数组中去重,PHP实现二维数组去重功能示例
  5. MySQL——单表查询练习:彩票数据核对
  6. V-7 Openstack 在ceph中转换镜像格式
  7. WinSock完成端口I/O模型
  8. AI 的会议总结(by南大周志华)
  9. 每周总结(第十一周)
  10. mysql utf 8bm4 没用_不要在 MySQL 中使用“utf8”,請使用“utf8mb4”
  11. 初步认识Makefile
  12. 什么是思考?如何主动思考?
  13. origin刻度消失_使用Origin制作XRD图基本技巧,你get到了嘛?
  14. hcia第五天 结课
  15. mysql数据库基本知识点整理笔记
  16. 姿态估计4-06:voxelpose(多视角3D人体姿态估算)-源码无死角解析(1)-训练代码总览
  17. 家用计算机音效部件图示,唱吧新版自定义音效设置方法(附上最佳音效设置参数图)...
  18. WIN10系统安装虚拟机以及CentOS7
  19. 自上而下与自下而上的项目计划: 哪个更适合 PMO?
  20. 基片集成波导原理_双膜基片集成波导(SIW)带通滤波器的设计与HFSS仿真

热门文章

  1. 湖上建仓全解析:如何打造湖仓一体数据平台 | DEEPNOVA技术荟系列公开课第四期
  2. 码农二代有多强?学区房?不存在的!
  3. win7下11平台玩,魔兽画面掉帧或不流畅的解决办法
  4. 树莓派的详细使用,附带完整图片教程(系统安装、远程访问、初始设置、软件下载与使用)
  5. 程序算法艺术与实践:基础知识之函数的渐近的界
  6. 工作10年的一些感悟
  7. 树莓派教程:Serial串口
  8. 郑航计算机网络试题,郑州航院会计学试卷及答案
  9. 获取iPhone/iPad设备网络类型(2G,3G,4G,5G,WIFI)
  10. 高德地图进阶开发实战案例(11):可拖拽驾车路线规划