java vad,VAD和CNG的总结
背景
据统计通话过程中静音的时间超过了50%,如果这时还是按普通方式发送数据包,会造成带宽的严重浪费!因此引入了VAD和CNG技术,极大减少带宽的消耗。
VAD
Voice Activity Detector, 即语音动态检测。话机的输入信号分为语音和静音两类,VAD主要通过信号的能量来区分语音和静音。当检测到用户没有讲话即静音状态时,发送端可以不发送语音报文,只发送静音指示报文,从而降低语音报文占用的带宽。如下所示,正常的语音包负载占据160字节
而静音帧只有几个字节,如下所示:
CNG
(Comfort Noise Generator),即舒适噪音产生。为避免静音期间出现长时间的静默,使接收端用户感到不自然,在静音过程中需要接收端生产背景噪声,接收端可根据发送端发送的静音指示帧来产生舒适噪声。
总结
vad是发送端使用的,cng是接收端使用的。如果发送端vad开启,dsp检测非静音则生成RTP包发送到对端,如果检测是静音则发送静音标识(cn包或者帧内静音包)给对端,对端收到静音标识后生成背景噪声!
场景确认
1. 话机A 开启vad,话机B关闭vad, B环境安静无人说话,A端可以听到舒适的背景噪音,这个噪音由B打包成RTP包发送到A
2. 话机A 开启vad,话机B开启vad, B环境安静无人说话,A端可以听到舒适的背景噪音,这个噪音由A生成,B只是发静音标识给A,A收到后自己生成舒适噪音
voip中vad关闭则发送端自己将生成的背景噪音打包到RTP包中,vad开启则值发送静音标识给对端,由对端自己生成!生成背景噪声的原因是让双方感觉通话还在!
java vad,VAD和CNG的总结相关推荐
- VAD实现(一) 读取语音数据
一,什么是VAD VAD,也就是语音端点检测技术,是Voice Activity Detection的缩写.这个技术的主要任务是从带有噪声的语音中准确的定位出语音的开始和结束点,因为语音中含有很长的静 ...
- VAD实现-读取语音数据、数据预处理、算法计算流程与框架
转载于:https://blog.csdn.net/lv_xinmy/article/details/9092159 https://blog.csdn.net/lv_xinmy/article/de ...
- 基于WENET制作AI字幕
文档结构说明 # 初始目录结构 ├── data # 存放数据 │ ├── vad_vedio # 存放切割后的wav数据 │ └── vedio # 存放mp4需要添加字幕的文件 | └── wav ...
- 深信服超融合技术架构(重点介绍主要模块)
目录 超融合架构定义 系统总体架构 1.aSV 计算机虚拟化平台 1.1 概述 1.2 aSV 技术原理 1.2.1 Hypervisor 分类 (1)裸金属型 (2)宿主型 (3) aSV 的 Hy ...
- VDS区块链常见问题解答(史上最全最详细)
1. VDS VDS客户端可以在哪些系统运行? VDS同时上线的有PC端与APP,APP目前支持安卓系统,PC端目前支持Linux.Windows 系统上运行.后期VDS将支持更多的运行系统. 我如何 ...
- x64下隐藏可执行内存
前言 我们如果想要实现进程隐藏在3环通常会使用到PEB断链去达到隐藏进程的效果,但是那只是表面上的进程隐藏,所有内存的详细信息都会被储存在vad树里面,这里我们就来探究在64位下如何隐藏可执行内存 v ...
- 音频知识点(5)- VAD/CNG/DTX
专栏总览<音视频开发>系列-总览 WebRTC中很多语音技术,其中在处理静弱音场景时,会用到VAD.DTX.CNG三项语音技术. VAD (Voice Activity Detection ...
- DTX VAD CNG DTMF
time: 2010-12-3 15:58:45 <-------主题:DTX-------> DTX: 不连续发射(Discontinuous Transmission ) 在语音间歇期 ...
- 建建自学VoIP之VAD(Voice Activity Detector)和CNG(Comfort Noice Generator)
语音活动检测(Voice Activity Detection,VAD)又称语音端点检测.语音边界检测.目的是从声音信号流里识别和消除长时间的静音期,以达到在不降低业务质量的情况下节省网络资源的作用, ...
- python---webRTC~vad静音检测-学习笔记
参考: https://blog.csdn.net/u012123989/article/details/72771667 webRTC~vad 1. mode 0 ---- quality mode ...
最新文章
- KC shop 开发历程------注册界面
- 在项目实践中用更优雅的方式处理数组问题
- 当遭遇“用户增长”停滞,你应该怎么办?
- Chrome的vimium插件的使用笔记
- Xilinx FPGA GTX的DRP速率配置详解
- 关于Qt的事件循环以及QEventLoop的简单使用
- 咸宁省2021年模拟高考成绩查询怎么查,2021咸宁市地区高考成绩排名查询,咸宁市高考各高中成绩喜报榜单...
- Android程序结构
- Recipe terminated with error. vscode latex-workshop新的配置文件
- 错误调试:failed to allocate 4.75G (5102921216 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
- 14_python_练习题——excel操作
- Calc3: Partial Derivative
- SecureCRT背景颜色
- Pycharm 远程debug项目配置
- 《你曾说,你喜欢篮球》
- java扫描接口_一种扫描接口并生成可调用API接口文档的方法与流程
- m3u8格式下载合并mp4视频
- 怎么利用群控解决问题
- 一种新的测量设备给现代企业带来质的突破 直线度测量仪
- 【操作系统】30天自制操作系统--(18)应用程序
热门文章
- 香港虚拟主机租用价格
- android手机分辨率,xDpi,yDpi,尺寸等各种相关物理参数
- oracle数据库查看防火墙,Oracle数据库防火墙简介
- 3.破解百度翻译 输入keyWord返回对应翻译的数据
- GPU通用计算与CUDA
- c语言:24、大小端序
- 侧脸生成正脸概论与精析(一)Global and Local Perception GAN
- 分享 百度网盘,不用开会员也可以免费同步上传视频和照片的方法
- c语言密文加密解密问题注释,c语言通过openssl aes对称加解密和base64编解码将密码存储成密文...
- netty-socketio+spring boot 长链接 实时通信 消息推送