端点检测是语音识别和语音处理的一个基本环节,也是语音识别研究的一个热点领域。技术的主要目的是从输入的语音中对语音和非语音进行区分,主要功能可以有:

  1. 自动打断。
  2. 去掉语音中的静音成分。
  3. 获取输入语音中有效语音。
  4. 去除噪声,对语音进行增强。

目前,端点检测技术主要是根据语音的一些时域或频域特征进行区分。

一,时域参数

时域参数端点检测是根据时域中的特征参数进行区分,一般如果信噪比较高的时候,效果至少90%以上。

  1. 时域能量大小。
  2. 时域平均过零率。
  3. 短时相关性分析。相关性分析主要是利用语音的相关性比噪声强,噪声之间的相关性呈现下降的趋势,但因为噪声种类太多,因此只针对少量、特定噪声。
  4. 能量变化率。也有人用这个,没有实验过。
  5. 对数能量。
  6. 子带能量。实验表明,这个效果会比单纯的能量要好。
  7. GMM假设检验。
  8. 其它。其它也有一些,都是从自适应、噪声能量估计、信噪比估计等角度出发。

二,频域参数

频域参数的抗噪性会比时域要好,但计算的cost也要高,下列技术是主流

  1. 谱熵。谱熵在频域与时域较量时,是比较优秀的,鲁棒性明显好于时域。
  2. 频域子带。这种方法对于自适应类的算法来说,是比较优秀的,因为可以通过子带选择和设计,改变噪声的估计。
  3. 自适应子波。这种算法通过子波的自适应,可以使得每一个相关帧的子波数和设计都不一样,如选择16个子带,选取频谱分布在250至3.5K之间,且能量不超过该帧总能量90%的子带,此时能够较好的消除噪声对端点的影响。
  4. 基频。有人这样尝试,通过基频的检测,来表达声音是否真的存在,这类算法的鲁棒性很强,但对于轻音就会面临比较大的风险了。
  5. 其它。自适应等思路。

三,时域和频域结合参数

这类算法通过把时域和频域相结合的思路来设计算法,也是主流,因为时域计算快,可以快速检测,而频域更能表达噪声的特征。

  1. 自适应能量子带的谱熵检测。把能量划分子带,结合谱熵。一般单一的谱熵不能很好的表达噪声在帧内的加性能量噪声。
  2. 基频和时域的结合。在轻音时,通过能量的门限确定范围。
  3. 其它。

四,基于模型的端点检测

在大数据年代,这已经慢慢的是一种主流了。此类算法的一个诱惑力的特点是检测准确率明显高于基于能量的方法,SNR越不好,效果越明显。另一个让人恐惧的特点是训练环境与实际环境不符合时,效果特点不好。因此模型和时域结合,可能比较好。

  1. HMM。这个应用和语音识别一样,用分布表达语音的分布情况。
  2. MLP。根据频域和时域区分性特征,达到分类的效果。
  3. DNN。主要训练噪声模型。

五,效果

就效果来说,对于一般应用,如果信噪比很高,用什么算法都可以。如果信噪比不高,基本上用什么都不是很行,在基频或模型效果可能会优于其它的算法。

端点检测(VAD)技术相关推荐

  1. C# 语音端点检测(VAD)实现过程分析

    前言: 早期的方法大多是基于声学特征的提取, 在时域上, 1975年, Rabiner 等人提出了基于短时能量和过零率的语音端点检测方法, 这是第一个系统而完整的语音端点检测算法.该方法共有三个门限值 ...

  2. 语音处理/语音识别基础(六)- 语音的端点检测(EPD/VAD)

    端点检测(End-point Detection,简称 EPD)的目标,是要找到音频信号(音讯)的开始和结束的位置,所以又可以称为 Speech Detection 或是 VAD (Voice Act ...

  3. 【语音算法】使用端点检测和百度语音识别技术实现视频的字幕生成

    文章目录 前言 1. 流程 2. 代码 3. 字幕生成的其他方式 3.1 通过双门限法进行端点检测 3.2 通过 SpeechRcognition 进行语音识别 3.3 通过autosub包直接生成字 ...

  4. vad算法matlab,语音信号的端点检测的matlab代码(子带谱熵法法)

    这个是利用子带谱熵法进行语音信号端点检测的代码,给出了参考文献,有兴趣时可以看一下,发博客以作备忘!!! function [voiceseg,vsl]=vad_1(s,fs) %该函数采用子带谱熵法 ...

  5. WebRTC端点检测使用中遇到的部分问题汇总

    WebRTC端点检测使用中遇到的部分问题汇总 背景 端点检测技术作为语音识别等技术预处理截断的一项非常重要的技术一直以来是业界研究的重点,也可以说语音信号的端点检测精度直接影响后面进行的语音识别精度, ...

  6. matlab 端点检测 能零比法_基于短时能量与过零率的端点检测的matlab分析

    基于语音端点检测的方法有很多,从历史的发展来看. 首先是基于短时能量和短视过零率的端点检测=〉各变换域=〉人工神经网络=〉基于倒谱距离的检测算法=〉基于谱熵的方法=〉几何门限的方法=〉sigma函数= ...

  7. python分割语音端点检测_python的webrtc库如何实现语音端点检测 科大讯飞输入法PC体验版下载:语音+手写+...

    python的webrtc库如何实现语音端点检测 科大讯飞输入法PC体验版下载:语音+手写+ 2018-03-05 出处:网络 整理:zhishizhan.net 延伸:科大讯飞输入法PC体验版下载: ...

  8. 基于双门限法的端点检测

    基于双门限法的端点检测 代码+论文+PPT+仿真结果下载地址:下载地址 摘要 语音端点检测是指从一段语音信号中准确的找出语音信号的起始点和结束点,它的目的是为了使有效的语音信号和无用的噪声信号得以分离 ...

  9. 语音识别端点检测matlab,关于语音识别的端点检测问题

    这是我的端点检测程序,语音是6个连续字,执行后却只检测了一个字的端点,求大神指点哪里的错 %读入语音 [x,fs,bits]=wavread('D:\voice\openleft.wav'); %增益 ...

最新文章

  1. 创建程序集时元数据失败 -- 拒绝访问_kubectl 创建 Pod 背后到底发生了什么?
  2. rust为什么显示不了国服_AWS偏爱Rust,已将Rust编译器团队负责人收入囊中
  3. 云端:亚马逊,谷歌应用引擎,Windows Azure,Heroku,Jelastic
  4. 正则表达式RegExp对象
  5. Python 对象的身份迷思:从全体公民到万物皆数
  6. jquery button disabled_jQuery练习
  7. java name_Java枚举name()方法及示例
  8. 微型计算机控制系统常用报警方式,微型计算机控制技术复习资料.docx
  9. 如何使用Tipard 3D Converter转换2D视频格式
  10. 用友U8安装...(转)
  11. MBlock开发环境搭建
  12. solidworks图纸模板添加_solidworks工程图模板如何设置和替换?
  13. C++之 Eigen-3.4.0 全方位教程:Chapter02-矩阵篇
  14. 计算机《画图》教案学生状态,电脑画图教案.doc
  15. 计算机术语int,整型(计算机语言)_百度百科
  16. 获取文件哈希值_哈希(hash)是个啥?
  17. 数据分析师应该怎么优化自己的简历?
  18. python音频 降噪_python降噪_python音频降噪_python图片降噪 - 云+社区 - 腾讯云
  19. P1291 SHOI2002 百事世界杯之旅
  20. 李开复针对马加爵事件写给中国学生的一封信

热门文章

  1. FileInputStream与BufferedInputStream的区别
  2. latex伪代码添加注释_【其他】如何用写代码的方式进行文字编辑 Markdown 的简明教程...
  3. http1 http2 http 3 区别
  4. .odex文件的反编译
  5. android 通知历史,如何查看已随指尖划走的那些通知 -- Past Notifications #Android
  6. oracle数据库课后习题答案,oracle数据库经典练习题及答案
  7. Python实例篇:这样操作PDF文件一点都不枯燥了
  8. leveldb代码阅读笔记(一)
  9. 微信域名防封的方法以及技术原理
  10. Typora如何将图片使用相对路径保存到统一文件夹中(解决.md文档传输丢图片的方法)