一种构建语音检测模型的方法及语音端点检测系统与流程

文档序号:18731331发布日期:2019-09-21 00:34阅读:341来源:国知局
一种构建语音检测模型的方法及语音端点检测系统与流程

本发明涉及语音识别领域,更具体地说,涉及一种构建语音检测模型的方法及语音端点检测系统。



背景技术:

VAD(Voice Activity Detection),又称语音端点检测,是指在噪声环境中检测语音存在与否,通常应用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。传统算法在进行语音活动检测时有两个问题需要注意:

一、背景噪声问题,即如何在较大的背景噪声中检测语音;

二、前后沿剪切问题,即还原语音时,由于从实际讲话开始到检测到语音之间有一定的判断门限和时延,有时语音波形的开始和结束部分会作为非语音被丢掉,还原的语音会出现变化,因此需要在突发语音分组前面或后面增加一个语音分组进行平滑以解决这一问题。

VAD算法的准确性对语音前端算法十分关键,传统的VAD算法通常包括两个部分:特征提取和语音/非语音判决,常用的特征提取分为五类:基于能量、频域、倒普、谐波、和长时信息;语音/非语音判决则根据各自提取的特征的特性进行设计,常用的有根据门限、长时包络、基频等。但是传统VAD算法往往对环境和信噪比依赖性较大,准确性也无法得到保证,十分不利应用于实时会议通信设备中。

近年来,由于深度学习的发展,开始出现了利用深度学习进行VAD检测的技术。相对于传统算法,深度学习的非线性拟合能力极强,而且较为成熟的深度学习模型如RNN、LSTM和GRU等也十分适用于音频信号这种序列型输入数据。但是深度学习的参数规模和计算开销通常较大,直接使用小模型又使得算法的稳定性和效果得不到保障,因此很难应用于实时会议通信设备。

综上所述,如何提高语音识别的准确性及稳定性,是现有技术亟需解决的问题。



技术实现要素:

1.要解决的问题

本发明的目的在于克服现有技术中,语音识别准确性和稳定性不高,很难应用于实时会议通信设备的不足,提供了一种构建语音检测模型的方法及语音端点检测系统,对各类噪声下的语音数据具有较高的识别率,可以应用部署至实时会议通信设备。

2.技术方案

为了解决上述问题,本发明所采用的技术方案如下:

本发明的一种构建语音检测模型的方法,先采集音频数据并合成混合语音,而后对混合语音进行特征提取得到62维特征,再将62维特征输入至RNN模型进行训练得到语音检测模型。

进一步地,具体步骤如下:

步骤一、合成混合语音

先采集纯净语音和噪声,而后将采集的纯净语音和噪声进行语音合成得到混合语音;

步骤二、特征提取

先对混合语音进行加窗分帧处理并进行短时傅里叶变换,再计算每帧的频域对数谱,而后对对数谱进行特征提取得到62维特征;

步骤三、生成语音检测模型

将62维特征输入至RNN模型,再采用Adam训练策略和改进的loss函数进行训练得到语音检测模型;改进的loss函数的公式如下:

BCEmin(x)i=0.1×MC(x)×[-yilog fi(x)+(1-yi)log(1-fi(x))]

其中,BCEmin(x)i为二值交叉熵,fi(x)表示预测结果,yi表示真实标签,MC(x)为最小期望成本,公式如下:

MC(x)=P(preL0,tureL1,x)×C10+P(preL1,trueL0,x)×C0

式中,pre代表预测结果,ture代表真实标签,P(preL0,tureL1,x)表示真实标签为L1,L1为语音标签,预测为L0的个数占总个数的比,L0为非语音标签;P(preL1,trueL0,x)表示真实标签为L0,预测为L1的个数占总个数的比;C10为真实标签为L1但检测为L0时的成本,C0为真实标签为L0但检测为L1的成本。

进一步地,步骤一中语音合成公式如下:

Smix=α×Sclean+β×N

其中,Smix为合成的混合语音,Sclean为纯净语音,N为噪声,α为纯净语音的衰减系数,0.3≤α≤1;β为噪声的衰减系数,0.3≤β≤1。

进一步地,步骤二中对对数谱进行特征提取的具体步骤为:将对数谱均匀分成22个子频带,再对每个子频带进行DCT变换得到22维特征,再根据22维特征将当前帧与当前帧的前两帧和当前帧的后两帧的数据特征分别进行差异比较并根据当前帧特征共得到36维特征;而后将基音周期、当前帧谱距离、当前帧与前两帧分别计算所得的谱距离差作为特征得到4维特征,最终共得到62维特征。

进一步地,步骤三中Adam训练策略公式如下:

mt=μ×mt-1+(1-μ)×gt

其中,gt表示梯度,mt表示梯度的一阶动量,mt-1表示在t-1时刻梯度的一阶动量,nt表示梯度的二阶动量,nt-1表示在t-1时刻梯度的二阶动量,表示对mt的校正,表示对nt的校正,θ表示学习率,μ和ρ表示衰减系数,0≤μ<1,0≤ρ<1;∈是常数,∈=10-8

进一步地,将前6个频带的系数作为6维特征进行差异比较,差异比较的计算公式如下:

F1=(fcurrent(i)+fcurrent+1(i)+fcurrent+2(i))/3

F2=fcurrent(i)-fcurrent+2(i)

F3=fcurrent(i)-2×fcurrent+1(i)+fcurrent+2(i)

F4=fcurrent(i)-fcurrent-1(i)

F5=fcurrent(i)-fcurrent-2(i)

F6=fcurrent(i)

其中,fcurrent代表当前帧,fcurrent+1代表当前帧的后一帧,fcurrent+2代表fcurrent+1的后一帧,fcurrent-1代表当前帧的前一帧,fcurrent-2代表fcurrent-1的前一帧,i表示22维特征对应的索引,1≤i≤6,F1~F5代表5种差异比较方式,F6代表当前帧特征。

进一步地,RNN模型包括一层16个神经元的Dense层和一层24个输出的GRU层。

本发明的一种语音端点检测系统,包括采集单元、计算单元、传输单元和终端,采集单元与计算单元电连接,计算单元和终端分别与传输单元连接,计算单元包括存储器和处理器,存储器内存储有程序,该程序用于实现上述的一种构建语音检测模型的方法,处理器用于执行程序得到语音检测模型并用于语音检测模型的计算。

进一步地,采集单元包括声音采集器和信号转换器,声音采集器与信号转换器电连接,信号转换器与计算单元电连接。

3.有益效果

相比于现有技术,本发明的有益效果为:

本发明的一种构建语音检测模型的方法,通过RNN模型训练得到的语音检测模型不仅规模小且具有良好的稳定性,进一步提高了模型的鲁棒性,并且可以应用部署至实时会议通信设备。本发明的一种语音端点检测系统对各类噪声下的语音数据具有较高的识别率,从而可以实现实时通信。

附图说明

图1为本发明的一种构建语音检测模型的方法流程示意图;

图2为本发明的合成混合语音的流程示意图;

图3为本发明RNN模型示意图;

图4为实施例1中正常底噪下的语音检测示意图;

图5为实施例1中多种噪声下的语音检测示意图;

图6为实施例1中低信噪比噪声下的语音检测示意图;

图7为本发明的一种语音端点检测系统的结构示意图。

示意图中的标号说明:100、采集单元;200、计算单元;300、传输单元;400、终端。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;而且,各个实施例之间不是相对独立的,根据需要可以相互组合,从而达到更优的效果。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

实施例1

结合图1所示,本发明的一种构建语音检测模型的方法,先采集音频数据并合成混合语音,而后对混合语音进行特征提取得到62维特征,再将62维特征输入至RNN模型进行训练得到语音检测模型,值得说明的是,语音检测模型即为训练后的RNN模型,RNN模型规模小但是不稳定,但是训练后的RNN模型不仅规模小且具有良好的稳定性,从而使得语音检测模型可以应用部署至实时会议通信设备。

本发明的一种构建语音检测模型的方法的具体步骤如下:

步骤一、合成混合语音

如图2所示,先采集纯净语音和噪声,而后将采集的纯净语音和噪声进行语音合成得到混合语音;值得说明的是,通过采用合成混合语音,从而能够准确且大量的标注语音数据。具体地,首先在消音室采集纯净语音,再采集各个场景的噪声,例如火车站,街道,公园,篮球场,体育场,办公室和铃声录制等,并对采集的噪声进行筛选选取符合场景的常见噪声数据;需要说明的是,本实施例中使用麦克风进行录音采集。而后将采集的纯净语音和噪声进行语音合成得到混合语音,语音合成公式如下:

Smix=α×Sclean+β×N

其中,Smix为合成的混合语音,Sclean为纯净语音,N为噪声,α为纯净语音的衰减系数,0.3≤α≤1;β为噪声的衰减系数,0.3≤β≤1;本实施例中α=0.5,β=0.6。

步骤二、特征提取

先对混合语音进行加窗分帧处理并进行短时傅里叶变换,再计算每帧的频域对数谱,而后对对数谱进行特征提取得到62维特征;具体地,将对数谱均匀分成22个子频带,再对每个子频带进行DCT变换得到22维特征,再根据22维特征将当前帧与当前帧的前两帧和当前帧的后两帧的数据特征分别进行差异比较并根据当前帧特征共得到36维特征;而后将基音周期、当前帧谱距离、当前帧与前两帧分别计算所得的谱距离差作为特征得到4维特征,最终共得到62维特征。其中,22维特征为22个子频带进行DCT变换得到的系数。

需要说明的是,DCT变换公式如下所示:

其中N是数据的总长度,u代表补偿因子,本实施例中u取值为1,c(u)系数使得DCT变换矩阵成为正交矩阵,f(i)代表子频带数据,i代表数据的索引。

差异比较的具体过程为:将前6个频带的系数作为6维特征进行差异比较,差异比较的计算公式如下:

F1=(fcurrent(i)+fcurrent+1(i)+fcurrent+2(i))/3

F2=fcurrent(i)-fcurrent+2(i)

F3=fcurrent(i)-2×fcurrent+1(i)+fcurrent+2(i)

F4=fcurrent(i)-fcurrent-1(i)

F5=fcurrent(i)-fcurrent-2(i)

F6=fcurrent(i)

其中,fcurrent代表当前帧,fcurrent+1代表当前帧的后一帧,fcurrent+2代表fcurrent+1的后一帧,fcurrent-1代表当前帧的前一帧,fcurrent-2代表fcurrent-1的前一帧,i表示22维特征对应的索引,1≤i≤6,F1~F5代表5种差异比较方式,F6代表当前帧特征。

步骤三、生成语音检测模型

将62维特征输入至RNN模型,再采用Adam训练策略和改进的loss函数进行训练得到语音检测模型;其中,模型学习率为0.0001,改进的loss函数的公式如下:

BCEmin(x)i=0.1×MC(x)×[-yilog fi(x)+(1-yi)log(1-fi(x))]

其中,BCEmin(x)i为二值交叉熵,fi(x)表示预测结果,具体为RNN模型的输出结果;

yi表示真实标签,MC(x)为最小期望成本,公式如下:

MC(x)=P(preL0,tureL1,x)×C10+P(preL1,trueL0,x)×C0

式中,x表示RNN模型的输入值,即62维特征;pre代表预测结果,ture代表真实标签,P(preL0,tureL1,x)表示真实标签为L1,L1为语音标签,预测为L0的个数占总个数的比,L0为非语音标签;P(preL1,trueL0,x)表示真实标签为L0,预测为L1的个数占总个数的比;C10为真实标签为L1但检测为L0时的成本,C0为真实标签为L0但检测为L1的成本。值得说明的是,在实际应用场景中出现漏检率的代价远大于虚检率,本发明采用以降低漏检率为前提的最小成本理论来改进loss函数,从而更符合实际的应用场景;其中,漏检率指的是原本是语音但是检测为噪音,虚检率指的是原本是噪音但检测为语音。

需要说明的是,Adam训练策略公式如下:

mt=μ×mt-1+(1-μ)×gt

其中,gt表示梯度,mt表示梯度的一阶动量,mt-1表示在t-1时刻梯度的一阶动量,nt表示梯度的二阶动量,nt-1表示在t-1时刻梯度的二阶动量,表示对mt的校正,表示对nt的校正,θ表示学习率,θt+1表示在t-1时刻学习率,θt表示在t时刻的学习率,μ和ρ表示衰减系数,0≤μ<1,0≤ρ<1;本实施例中μ=0.9,ρ=0.999,∈是用于数值稳定的小常数,∈=10-8

此外,需要进一步说明的是,本发明的RNN模型包括一层16个神经元的Dense层(全连接层)和一层24个输出的GRU层,且RNN模型的输出值为output,0≤output≤1(如图3所示)。

而后将得到的语音预测模型对数据进行预测,当输出值output>=p时,则该数据为语音,当output<p时,则该数据为非语音;0<p<1,本实施p取0.5。

本发明的语音检测模型的参数主要包括输入层与Dense层的权重、Dense层与GRU层的权重,GRU与输出层的权重;根据模型结构设计并优化前向算法,具体为根据权重数量与各个层之间的连接情况定义同等大小的数组,并根据Dense层和GRU层的神经元的输入输出设计对应数据结构储存参数,从而可以存储至存储器中,进而可以部署在实时会议通信设备中。

通过上述方法构建的语音检测模型对各类噪声下的语音数据具有较高的识别率,且语音检测模型的鲁棒性高;如图4、图5和图6所示,语音检测模型对在正常底噪下的语音,多种噪声下的语音和低信噪比噪声下的语音均能检测识别。

如图7所示,本发明的一种语音端点检测系统,包括采集单元100、计算单元200、传输单元300和终端400,采集单元100与计算单元200电连接,计算单元200和终端400分别与传输单元300连接;具体地,采集单元100包括声音采集器和信号转换器,声音采集器与信号转换器电连接,信号转换器与计算单元200电连接。其中,声音采集器用于采集语音,信号转换器用于将环境中的声学信号转换成数字信号,本实施例中的声音采集器麦克风,信号转换器为ADC硬件芯片;计算单元200包括存储器和处理器,存储器内存储有程序,该程序用于实现上述的一种构建语音检测模型的方法,处理器用于执行程序得到语音检测模型并用于语音检测模型的计算,本实施例中计算单元200为单片机或者计算机;传输单元300用于传输计算单元200计算的数据,本实施例中传输单元300为传输数据的网络系统;终端400用于播放处理后的音频数据,终端400为接入网络的实时会议通信系统。本发明的语音端点检测系统对各类噪声下的语音数据具有较高的识别率,从而可以实现实时通信。

在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本申请和本发明的应用领域。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1