精华内容
下载资源
问答
  • VAD

    千次阅读 2019-04-15 10:07:36
    VAD的作用是检测当前输入信号中是否有语音,它的输入是输入信号本身和AMR编码器计算出来的参数集,VAD用这个信息来决定每20ms语音帧中是否包括语音。在VAD没有检测到语音的情况下,AMR采用8种速率之外的低速率噪声...

    转载于:https://blog.csdn.net/c602273091/article/details/44340451 《语音识别之端点检测》

            https://blog.csdn.net/ffmpeg4976/article/details/52349007 《详解语音处理检测技术中的热点--端点检测、降噪和压缩》
    
            https://www.zhihu.com/question/20398418 《语音识别的技术原理是什么? --知乎》
    
            https://www.cnblogs.com/talkaudiodev/p/7041477.html 《音频开发基础知识介绍》
    
            https://blog.csdn.net/kevindgk/article/details/52924779 《音频(一)-音频基础知识》
    
            http://www.doc88.com/p-150262550007.html  《端点检测几种方法比较》
    

    完整的amr编码器还包括语音激活检测(VAD)和丢帧、错帧的消除。VAD的作用是检测当前输入信号中是否有语音,它的输入是输入信号本身和AMR编码器计算出来的参数集,VAD用这个信息来决定每20ms语音帧中是否包括语音。在VAD没有检测到语音的情况下,AMR采用8种速率之外的低速率噪声编码模式,以节省移动台的功率,降低整个网络的干扰和负载。此外,当语音帧由于传输错误而丢失时,为了使接听者感觉不到丢帧,应完成丢帧和错帧的消除,并用预测的参数集进行语音合成。

    在语音增强中,我们希望从带噪语音信号中剔除噪音,得到纯净的语音信号,第一步就是提取噪音信息。通常的思路是通过VAD函数得到非语音片段,而非语音片段可以认为是纯噪音片段。从而可以从纯噪音信号中提取出有用信息,例如进行傅里叶变换得到噪音频谱等,再进而做下一步处理。例如谱减法,维纳滤波。此处不作讨论。

    VAD有很多种方法,此处介绍一种最简单直接的办法。 通过short timeenergy (STE)和zero cross counter (ZCC) 来测定。(实际上精确度高的VAD会提取4种或更多的特征进行判断,这里只介绍两种特征的基本方法)。

    l STE: 短时能量,即一帧语音信号的能量

    l ZCC: 过零率,即一帧语音时域信号穿过0(时间轴)的次数。

    理论基础是在信噪比(SNR)不是很低的情况下,语音片段的STE相对较大,而ZCC相对较小;而非语音片段的STE相对较小,但是ZCC相对较大。因为语音信号能量绝大部分包含在低频带内,而噪音信号通常能量较小且含有较高频段的信息。

    故而可以通过测量语音信号的这两个特征并且与两个门限(阈值)进行对比,从而判断语音信号与非语音信号。

    通常对语音信号分帧时取一帧20ms (因为一般会进行短时傅里叶变换,时域和频域的分辨率需要一个平衡,20ms为平衡点,此处不用考虑)。此处输入信号采样率为8000HZ。因此每一帧长度为160 samples.

    STE的计算方法是 , 即帧内信号的平方和。

    在本文中ZCC的计算方法是,将帧内所有sample平移1,再对应点做乘积,符号为负的则说明此处过零,只需将帧内所有负数乘积数目求出则得到该帧的过零率。

    VAD(Voice Activity Detection)

    基于能量的特征常用硬件实现,谱(频谱和倒谱)在低信噪比(SNR)可以获得较好的效果。当SNR到达0dB时,基于语音谐波和长时语音特征更具有鲁棒性。
    当前的判决准则可以分为三类:基于门限,统计模型和机器学习。

    基于能量的准则是检测信号的强度,并且假设语音能量大于背景噪声能量,这样当能量大于某一门限时,可以认为有语音存在。然而当噪声大到和语音一样时,能量这个特征无法区分语音还是纯噪声。
    早先基于能量的方法,将宽带语音分成各个子带,在子带上求能量;因为语音在2KHz以下频带包含大量的能量,而噪声在24KHz或者4KHz以上频带比02HKz频带倾向有更高的能量。这其实就是频谱平坦度的概念,webrtc中已经用到了。在信噪比低于10dB时,语音和噪声的区分能力会加速下降。

    可以将一段语音片段分为 静音段、过度段、语音段、结束。

    比较常用的VAD技术是基于短时能量和过零率的双门限端点检测。

    1. 分别对短时能量和过零率设置两个门限值energy_low, energy_high和zcr_low, zcr_high

    energy_high > energy_low

    zcr_high > zcr_low

    1. 计算一帧的短时能量enegry和过零率zcr

    若enegry > energy_low && zcr > zcr_low,则进入过度段

    1. 计算一帧的短时能量和过零率,

    若enegry > energy_high && zcr > zcr_high, 此时还不能断定语音开始,

    继续计算几帧短时能量和过零率,若enegry > energy_high && zcr > zcr_high,则可判定语音开始。

    能量双门限VAD流程图:

    基于短时能量和短时平均过零率的端点检测介绍:

    数字“4”的短时能量与平均过零率

    音频端点检测就是从连续的语音流中检测出有效的语音段。它包括两个方面,检测出有效语音的起始点即前端点,检测出有效语音的结束点即后端点。

    可以降低存储或传输的数据量,在有些应用场景中,使用端点检测可以简化人机交互,比如在录音的场景中,语音后端点检测可以省略结束录音的操作。

    语音信号是一个以时间为自变量的一维连续函数,计算机处理的语音数据是语音信号按时间排序的采样值序列,这些采样值的大小同样表示了语音信号在采样点处的能量。

    采样点的能量值通常使用采样值的平方,一段包含N个采样点的语音的能量值可以定义为其中各采样值的平方和。

    这样,一段语音的能量值既与其中的采样值大小有关,又与其中包含的采样点数量有关。为了考察语音能量值的变化,需要先将语音信号按照固定时长比如20毫秒进行分割,每个分割单元称为帧,每帧中包含数量相同的采样点,然后计算每帧语音的能量值。

    如果音频前面部分连续M0帧的能量值低于一个事先指定的能量值阈值E0,接下来的连续M0帧能量值大于E0,则在语音能量值增大的地方就是语音的前端点。同样的,如果连续的若干帧语音能量值较大,随后的帧能量值变小,并且持续一定的时长,可以认为在能量值减小的地方即是语音的后端点。

    现在的问题是,能量值阈值E0怎么取?M0又是多少?理想的静音能量值为0,故上面算法中的E0理想状态下取0。不幸的是,采集音频的场景中往往有一定强度的背景音,这种单纯的背景音当然算静音,但其能量值显然不为0,因此,实际采集到的音频其背景音通常有一定的基础能量值。

    我们总是假设采集到的音频在起始处有一小段静音,长度一般为几百毫秒,这一小段静音是我们估计阈值E0的基础。对,总是假设音频起始处的一小段语音是静音,这一点假设非常重要!!!!在随后的降噪介绍中也要用到这一假设。在估计E0时,选取一定数量的帧比如前100帧语音数据(这些是“静音”),计算其平均能量值,然后加上一个经验值或乘以一个大于1的系数,由此得到E0。这个E0就是我们判断一帧语音是否是静音的基准,大于这个值就是有效语音,小于这个值就是静音。

    至于M0,比较容易理解,其大小决定了端点检测的灵敏度,M0越小,端点检测的灵敏度越高,反之越低。语音应用的场景不同,端点检测的灵敏度也应该被设置为不同的值。例如,在声控遥控器的应用中,由于语音指令一般都是简单的控制指令,中间出现逗号或句号等较长停顿的可能性很小,所以提高端点检测的灵敏度是合理的,M0设置为较小值,对应的音频时长一般为200-400毫秒左右。在大段的语音听写应用中,由于中间会出现逗号或句号等较长时间的停顿,宜将端点检测的灵敏度降低,此时M0值设置为较大值,对应的音频时长一般为1500-3000毫秒。所以M0的值,也就是端点检测的灵敏度,在实际中应该做成可调整的,它的取值要根据语音应用的场景来选择。

    以上只是语音端点检测的很简单的一般原理,实际应用中的算法远比上面讲的要复杂。

    展开全文
  • vad_vad_源码

    2021-09-29 03:30:55
    VAD 的代码,用于语音的活跃检测,基础代码需要的可以下来看看
  • vad-master_vad检测_语音特征_gammatone滤波器_vad_Gammatone.zip
  • VAD 基于WebRTC撤出的VAD程序,完整的WebRTC程序可以查看官网查看。 安装 这是一个header-only的vad库,只需将include文件中的内容放入到项目中即可。 示例 进入到示例文件夹下,执行make即可测试使用。 # include ...
  • VAD算法的源程序,可用于静音检测方面算法的参考
  • vad-master_vad检测_语音特征_gammatone滤波器_vad_Gammatone_源码.zip
  • VAD_loop VAD + Loop电子和体外测试
  • VAD综述

    万次阅读 2017-10-17 09:51:53
    VAD广泛应用于语音编码(网络/无线/有线传输),说话认识和语音识别(ASR,基于机器学习的方法,也是经过VAD标注后的语音数据用于训练的,准确标注真实场景的带噪语音比较重要)。VAD的准确对前端算法也是比较关键的...

    我的书:
    在这里插入图片描述
    淘宝购买链接
    当当购买链接
    京东购买链接

    VAD广泛应用于语音编码(网络/无线/有线传输),说话认识和语音识别(ASR,基于机器学习的方法,也是经过VAD标注后的语音数据用于训练的,准确标注真实场景的带噪语音比较重要)。VAD的准确对前端算法也是比较关键的,这里所说的是语音/非语音(非语音/静音)检测,一个VAD系统通常包括两个部分,特征提取和语音/非语音判决;常用的特征提取可以分为五类:

    • 基于能量
    • 频域
    • 倒谱
    • 谐波
    • 长时信息

    基于能量的特征常用硬件实现,谱(频谱和倒谱)在低SNR可以获得较好的效果。当SNR到达0dB时,基于语音谐波和长时语音特征更具有鲁棒性。
    当前的判决准则可以分为三类:基于门限,统计模型和机器学习。
    ###特征选取准则
    对于VAD分类问题,特征尤为重要,好的特征应该能具备如下特性:

    • 区分能力
      含噪语音帧分布和仅仅噪声帧分布的分离度,理论上,好的特征能够让语音和噪声两类没有交集

    • 噪声鲁棒性
      背景噪声会造成语音失真,进而语音特征也会失真,影响到提取到的特征的区分能力。

    ####基于能量的特征
    基于能量的准则是检测信号的强度,并且假设语音能量大于背景噪声能量,这样当能量大于某一门限时,可以认为有语音存在。然而当噪声大到和语音一样时,能量这个特征无法区分语音还是纯噪声。
    早先基于能量的方法,将宽带语音分成各个子带,在子带上求能量;因为语音在2KHz以下频带包含大量的能量,而噪声在24KHz或者4KHz以上频带比02HKz频带倾向有更高的能量。这其实就是频谱平坦度的概念,webrtc中已经用到了。在信噪比低于10dB时,语音和噪声的区分能力会加速下降。
    ####频域特征
    通过STFT将时域信号变成频域信号,即使在SNR到0dB时,一些频带的长时包络还是可以区分语音和噪声。
    ####倒谱特征
    对于VAD,能量倒谱峰值确定了语音信号的基频(pitch),也有使用MFCC做为特征的;
    这里写图片描述
    ####基于谐波的特征
    语音的一个明显特征是包含了基频 F 0 F_0 F0及其多个谐波频率,即使在强噪声场景,谐波这一特征也是存在的。可以使用自相关的方法找到基频。
    ####长时特征
    语音是非稳态信号。普通语速通常每秒发出10~15个音素,音素见的谱分布是不一样的,这就导致了随着时间变化语音统计特性也是变化的。另一方面,日常的绝大多数噪声是稳态的(变化比较慢的),如白噪声/机器噪声。
    ###判决准则
    ####门限
    门限通常是根据训练数据集特征预先得到的,对于噪声变化的场景,需要使用自适应门限,可以将能量 η = f ( E ) , η ∈ E 0 , E 1 \eta=f(E),\eta \in {E_0,E_1} η=fEηE0,E1,将能量最小记作 E 0 E_0 E0和能量最大记作 E 1 E_1 E1,对应的门限为 η 0 , η 1 \eta_0, \eta_1 η0,η1则可以得到如下自适应门限:
    η = { η 0 , E ≤ E 0 η 0 − η 1 E 0 − E 1 E + η 0 − η 0 − η 1 1 − E 1 / E 0 , E 0 < E < E 1 η 1 , E ≥ E 1 (1.1) \eta= \begin{cases} \eta_0,E\le E_0\\ \frac{\eta_0-\eta_1}{E_0-E_1}E+\eta_0-\frac{\eta_0-\eta_1}{1-E_1/E_0}, E_0 <E <E_1\\ \eta_1, E \ge E_1 \end{cases} \tag {1.1} η=η0,EE0E0E1η0η1E+η01E1/E0η0η1,E0<E<E1η1,EE1(1.1)
    绝大多数使用了平滑策略来跟新门限,
    KaTeX parse error: \tag works only in display equations
    ####统计模型方法
    统计模型的方法最先源于似然比检验(likelihood ratio test LRT),这种方法假设语音和背景噪声是独立高斯分布,这样它们的DFT系数可以用高斯随机变量来描述,这一方法考虑两种假设, H N H_N HN H S H_S HS分别表示非语音和语音。给定第k帧谱 X k = [ X k , 1 ⋯ X k , L ] T X_k=[X_k,1\cdots X_k,L]^T Xk=[Xk,1Xk,L]T,它们的概率密度函数如下:
    p ( X k ∣ H N ) = Π i = 1 L 1 π λ N , i exp ⁡ ( − ∣ X k , i ∣ 2 λ N , i ) (1.3) p(X_k|H_N)=\Pi_{i=1}^L \frac{1}{\pi \lambda_{N,i}}\exp(-\frac{|X_k,i|^2}{\lambda_{N,i}}) \tag{1.3} p(XkHN)=Πi=1LπλN,i1exp(λN,iXk,i2)(1.3)
    p ( X k ∣ H S ) = Π i = 1 L 1 π ( λ N , i + λ S , i ) exp ⁡ ( − ∣ X k , i ∣ 2 λ N , i + λ S , i ) (1.4) p(X_k|H_S)=\Pi_{i=1}^L\frac{1}{\pi(\lambda_{N,i}+\lambda_{S,i})}\exp(-\frac{|X_{k,i}|^2}{\lambda_{N,i}+\lambda_{S,i}}) \tag{1.4} p(XkHS)=Πi=1Lπ(λN,i+λS,i)1exp(λN,i+λS,iXk,i2)(1.4)

    其中 i i i是频点索引, λ N = [ λ N , 1 ⋯ λ N , L ] T \lambda_N=[\lambda_{N,1}\cdots \lambda_{N,L}]^T λN=[λN,1λN,L]T并且 λ S = [ λ S , 1 ⋯ λ S , L ] T \lambda_S=[\lambda_{S,1} \cdots \lambda_{S,L}]^T λS=[λS,1λS,L]T分别是噪声和语音的方差。这些参数可以通过噪声估计和谱减的方法从训练数据集中获得。然后可以获得第i个频段的似然比 Λ i \Lambda_i Λi,这样可以获得最终的似然比检验:
    KaTeX parse error: \tag works only in display equations
    KaTeX parse error: \tag works only in display equations
    在webrtc中,使用的就是这一思想,此外,还可以借鉴到webrtc中定点化的思想在里面。
    由于1.6中左侧的log总是正数,这一似然比偏向 H S H_S HS,所以减小只有噪声时似然比波动的decision-directed(DD)方法被提出来,DD方法在语音到非语音变换区域容易发生错误。又有基于平滑的方法被提出来。
    上述是基于高斯的统计模型,有其它学者提出使用DCT或者KL做为特征的拉普拉斯,伽马分布以及双侧伽马分布可以更好的描述语音和噪声的分布。这在低信噪比时可以获得更好的VAD检测结果。
    ####机器学习方法
    这一思想是语言的模型是通过学习得到的,目前训练数据集都是通过传统的VAD方法进行标注的,如果标注的数据里就有不准确的,那么如何通过NN获得更准确的VAD,这类方法的难点个人认为更多的是实际强噪声场景下的训练数据集标注的问题。

    展开全文
  • java vad,VAD和CNG的总结

    2021-04-17 05:54:53
    因此引入了VAD和CNG技术,极大减少带宽的消耗。VADVoice Activity Detector, 即语音动态检测。话机的输入信号分为语音和静音两类,VAD主要通过信号的能量来区分语音和静音。当检测到用户没有讲话即静音状态时,发送...

    背景

    据统计通话过程中静音的时间超过了50%,如果这时还是按普通方式发送数据包,会造成带宽的严重浪费!因此引入了VAD和CNG技术,极大减少带宽的消耗。

    VAD

    Voice Activity Detector, 即语音动态检测。话机的输入信号分为语音和静音两类,VAD主要通过信号的能量来区分语音和静音。当检测到用户没有讲话即静音状态时,发送端可以不发送语音报文,只发送静音指示报文,从而降低语音报文占用的带宽。如下所示,正常的语音包负载占据160字节

    a7890e03ecf9c40e96176661a859b003.png

    而静音帧只有几个字节,如下所示:

    8c585f89c6ee05b88918e6cbb6eb0420.png

    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开启则值发送静音标识给对端,由对端自己生成!生成背景噪声的原因是让双方感觉通话还在!

    展开全文
  • 话音激活检测,可以成功检测到最低能量的语音(灵敏度)
  • FreeSWITCH vad 模块介绍

    万次阅读 热门讨论 2018-01-19 20:16:01
    mod_vad是一个freeswitch的模块,实现VAD录音和放音支持打断。 下载 mod_vad 安装 libmyauth.so copy 到 fs/ib 目录 一般是 /usr/local/freeswitch/lib mod_vad.so copy 到fs/mod 目录/usr/local/...

    介绍

    mod_vad是一个freeswitch的模块,实现VAD录音和放音支持打断。

    联系我

    微信:cdevelop qq:1280791187 我的网站:www.ddrj.com

    下载

    mod_vad

    安装

    1. libmyauth.so copy 到 fs/ib 目录 一般是 /usr/local/freeswitch/lib
    2. mod_vad.so copy 到fs/mod 目录/usr/local/freeswitch/mod
    3. machinecode chmod +x machinecode 然后执行他,获取机器码
    4. 发生机器码到 cdevelop@qq.com,申请授权码,授权文件 放到 /etc/vad.license 文件内

    使用

    vad

    <min_speak_ms> <min_pause_ms> <recordfile> [<max_waiting_ms>] [max_recording_ms] [zoom] [playfile] [play_retry]
    
    • min_speak_ms 检测到声音多久就认为开始说话
    • min_pause_ms 检测到静音多久就认为说话停止
    • recordfile 录音文件名
    • max_waiting_ms 最大等待时间,就是多久没检测到声音就退出。
    • max_recording_ms 最大录音长途
    • zoom 录音音量放大或者缩小 百分比, 100就是放大1倍。200就是放大2倍。 -10 就是降低10%。
    • playfile 放音文件,不需要放音可以不设置这个参数。
    • play_retry 重播次数, 不重播设置0

    通道变量

    • vad_param_error 参数错误,最少需要 <min_speak_ms> <min_pause_ms> 3个参数
    • vad_max_recording_time 录音时间超过 max_recording_ms ,说话还没停止。
    • vad_timeout 等待超过 max_waiting_ms 还没开始说话
    • vad_createrecordfile_error 创建录音文件失败

    dialpaln 使用例子

      <extension name="public_did">
        <condition field="destination_number" expression="^(999)$">
    	<action application = "answer" />
    	<action application="vad" data="100 1000 录音1.wav 5000 10000 0 欢迎.wav 3"/> 
    	<action application="playback" data="录音1.wav" />
    	<action application="vad" data="100 1000 录音2.wav 5000 10000 0 asr处理结果.wav 3"/> 
        </condition>
      </extension>
    

    start_asr 说明

    start_asr 是一个异步函数,只需要执行一次,启动后会一直进行VAD和ASR,直到调用sotp_asr

    start_asr [<min_speak_ms>] [<max_speak_ms>] [<min_pause_ms>] [<max_pause_ms>] [<pause_play_ms>] [<threshold>] [<recordpath>] [<volume>]

    • min_speak_ms 最小说话时间,默认值100,单位毫秒,说话时间小于这个值,会被认为是无效声音。
    • max_speak_ms 最大说话时间,默认值10000,单位毫秒,说话时间超过这个值,就停止录音,直接提交ASR服务器识别。
    • min_pause_ms 最小停顿时间,默认值300,单位毫秒,默认值用户停顿时间超过这个值,会提交到ASR识别。识别完成后发送asrprogress事件。 完成后的意思是 ASR服务器可能 300-800ms才返回识别接口。
    • max_pause_ms 最大停顿时间,默认值600,单位毫秒,用户停顿时间超过这个值,认为一句话说完,所有识别完成后发送asrmessage事件。所有识别完成后的意思是,所有提交到asr服务器的识别结果都返回了。 注意 min_pause_ms 必须大于min_pause_ms。
    • pause_play_ms 触发暂停放音时间,默认值1000,单位毫秒,建议设置200-1000,用户说话时间超过这个值,就暂停放音。 有时候用户一直持续说话,中间没停顿,所以还没提交到ASR服务器识别,不能使用关键词打断,可以先暂停放音。
    • threshold VAD阈值,默认0,建议不要设置,如果一定要设置,建议 2000以下的值。
    • recordpath 录音文件路径,如果不设置,就不会把录音存到文件,如果设置了会保存录音到文件,文件格式是 recordpath/被叫号码_Unique-ID_序号.wav
    • volume 音量标准化的值。0-100,0不使用音量标准化,其他值 音量把录音音量调整到这个值后,再提交ASR识别。
    • filter_level 防止干扰等级。0-1.0之间,建议 0.3。
    • asr_configure_filename asr配置文件名。可以不同呼叫使用不同的ASR配置。

    custom_playback 说明

    custom_playback <file> [<wait>] [<retry>]

    • file 放音文件,支持URL,和多文件放音。
    • wait 单位毫秒,放音结束后等待时间。用于等待用户说话。
    • retry 重播次数。就是wait时间内用户不说话,就重新播放声音。

    stop_asr

    停止ASR。

    API uuid_console_playback

    用于播放控制,用户说话开始,先暂停播放,如果说的是无效声音,可以恢复播放。
    uuid_console_playback <uuid> <cmd>

    • cmd 参数内容
      • pause 暂停播放
      • resume 恢复播放
      • stop 停止播放

    esl 订阅 事件

    CUSTOM asrprogress asrmessage

    下面的esl消息,为了方便查看我去除了无关字段

    	
    	
    	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    	Event-Subclass: asrprogress
    	Event-Name: CUSTOM
    	asrtype: aiui
    	asrtext: 第一句话。
    	asrtextall: 4.第一句话。;
    	asrelapse: 594
    	asrerror : 0
    	volumegain: 0.984585
    	recordms: 1175
    	recordfile: 4
    	Channel-Name: sofia/external/abc@192.168.31.210
    	Unique-ID: 34a719ed-2f22-4349-b9ed-a3329ee875e2
    	
    	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    	Event-Subclass: asrprogress
    	Event-Name: CUSTOM
    	asrtype: aiui
    	asrtext: 第二句话。
    	asrtextall: 4.第一句话。;5.第二句话。;
    	asrerror : 0
    	asrelapse: 360
    	volumegain: 1.396321
    	recordms: 1169
    	recordfile: 5
    	Channel-Name: sofia/external/abc@192.168.31.210
    	Unique-ID: 34a719ed-2f22-4349-b9ed-a3329ee875e2
    	
    	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    	Event-Subclass: asrprogress
    	Event-Name: CUSTOM
    	asrtype: aiui
    	asrtext: 第三句话。
    	asrtextall: 4.第一句话。;5.第二句话。;6.第三句话。;
    	asrelapse: 359
    	asrerror : 0
    	volumegain: 1.567299
    	recordms: 1208
    	recordfile: 6
    	Channel-Name: sofia/external/abc@192.168.31.210
    	Unique-ID: 34a719ed-2f22-4349-b9ed-a3329ee875e2
    	
    	
    	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    	Event-Subclass: asrmessage
    	Event-Name: CUSTOM
    	asrtext: 4.第一句话。;5.第二句话。;6.第三句话。;
    	speakms: 3202
    	Channel-Name: sofia/external/abc@192.168.31.210
    	Unique-ID: 34a719ed-2f22-4349-b9ed-a3329ee875e2
    
    

    说明

    • asrprogress 说话停顿min_speak_ms时间后返回的识别结果。
    • asrtextall 包含之前停顿的识别结果的组合。 格式是 录音序号.识别结果;这样组合多个识别结果。
    • asrelapse asr识别服务器消耗的时间,单位毫秒。
    • volumegain 音量标准化放大或者缩小的倍数。
    • recordms 录音时间,单位毫秒。
    • recordfile 录音序号
    展开全文
  • DNN实现的VAD

    2019-05-21 16:48:35
    实现了使用DNN来做VAD的功能,模型非常小,使用了TDNN的网络结构,注意:需要在LINUX上执行,感觉效果还不错,欢迎大家使用并提出宝贵意见。
  • webrtc中的vad检测

    2019-01-08 19:05:51
    webrtc中的vad检测。 是从webrtc中把vad检测的代码给提取出来的,在vs2010下编译生成的,其中signal_process编成了静态库,在文件里面也包含。 webrtc vad检测
  • VAD算法

    万次阅读 2016-09-02 19:04:37
    VAD算法 基于信噪比(snr)的vad 基于DNN的vad 基于能量Energy的vad 基于Decoder的Vad 混合DNN和Decoder的Vad 基于信噪比的VAD算法首先假设初始时的人是没有说话的,计算12帧初始声音的平均能量作为baseline,这个...
  • vad特征

    2020-03-24 14:46:47
    vad特征总结: 1.1 特征 (a). 基于能量的特征Energy based features Full band energy Sub-band energy (b). 频域特征Spectral domain features spectral flatness spectral entropy spectral domain sub-band SNR ...
  • webrtc VAD 算法

    千次阅读 多人点赞 2019-01-18 14:11:00
    webrtc VAD 算法 简介 一,K-means 聚类 二,EM估计 三,GMM 高斯混合模型 四,webrtc 中的 VAD 实现 五,参考资料:
  • 包装器,用于修剪语音剪辑 公告 版本0.1.0更新破坏了向后兼容性。 更改如下: hoplength参数已更改为hop_length 。 trim返回(start_index,end_index)(取消了return_sec...vact = vad ( speech_data , speech_d
  • vad:从webrtc抽离出来的vad源代码,供语音分析检测使用
  • WebRTC之VAD算法

    万次阅读 多人点赞 2016-09-01 14:40:04
    VAD(Voice Activity Detection)算法的作用是检测语音,在远场语音交互场景中,VAD面临着两个难题: 1. 可以成功检测到最低能量的语音(灵敏度)。 2. 如何在多噪环境下成功检测(漏检率和虚检率)。 漏检反应的是...
  • mex-webrtcvad 这是语音活动检测 (VAD) 模块的 MATLAB 可执行文件 (mex) 包装器。 获取二进制文件 下载最新版本 (或从代码编译) 运行make.m 如何使用 % Init mexwebrtcvad('Init'); % Set VAD aggressiveness ...
  • VAD实验用数据集

    2019-04-21 14:10:06
    适合VAD算法研究用的数据集,主要以噪声为主,16kz的wav格式,可自行合成
  • libfvad:语音活动检测(VAD)库 这是VAD引擎的分支,属于WebRTC本机代码包( )的一部分,可用作独立于WebRTC代码其余部分的独立库。 当前功能上没有任何更改。 建造和安装 libfvad使用autoconf / automake并可以...
  • vad词根

    千次阅读 2017-07-26 10:03:00
    词根vad-来源于拉丁文vadere一词,表示“行走;走动(to go)”之意。单词invade由前缀in-和词根vade-构成,字面意思是“(未经许可)走进去”,引申为“侵略;入侵”之意,还可以是“蜂拥;大批进入”之意。基于v和...
  • 基于相关检测算法的语音活动检测( VAD),程序采用 matlab编程。
  • WebRTC VAD流程解析

    2021-09-12 21:45:40
    语音活动检测算法大致可以分为三类,第...WebRTC VAD支持8/16/24/32/48kHz采样率,不过都会重采样到8kHz进行计算,每一帧长度可以为80/10ms、160/20ms和240/30ms三种。VAD具有如下的四种模式,分别表示通用模式、低比..
  • 静音检测 vad

    2021-05-17 10:51:43
    https://blog.ailemon.me/2021/02/18/introduction-to-vad-theory/ https://github.com/wiseman/py-webrtcvad https://blog.csdn.net/shichaog/article/details/523993
  • Web-VAD-源码

    2021-03-10 12:29:49
    语音活动检测 使用烧瓶的语音活动检测网站。 它将从网络录像机读取音频流并显示识别结果。 运行:pip3 install -r requirements.txt烧瓶运行 (PS我的其他VAD存储库使用声音设备代替Javacript记录器进行记录。)
  • Silero VAD Silero VAD:经过培训的企业级语音活动检测器(VAD),数字检测器和语言分类器。 企业级语音产品变得非常简单(请参阅我们的模型)。 当前,除WebRTC语音活动检测器()外,几乎没有任何高质量/现代/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,847
精华内容 1,938
关键字:

vad