基于关键字判定非法广播的方法与流程

文档序号:18833356发布日期:2019-10-09 04:13阅读:190来源:国知局
基于关键字判定非法广播的方法与流程

本发明涉及语音识别技术领域,具体涉及基于关键字判定非法广播的方法。



背景技术:

随着社会经济和无线电通讯的不断发展,无线电频谱资源的重要性日益凸显。许多非法广播,在经济利益的驱使下,私自购买、架设广播基站,播报虚假广告或进行经济欺诈行为,扰乱经济秩序,而且干扰正常的通讯信号,甚至会引发安全事故。所以,设计有效的方法对非法广播信号进行高效率的自动甄别和管控,具有十分重要的社会和经济价值。传统的非法广播甄别多采用人工收听识别的方法,人力成本高,且容易产生失误。尽管自动语音识别在人们日常生活中已经得到了不少应用,但是由于非法广播信号有显著不同于日常语音的特点,导致在频谱管控中,非法广播的自动甄别仍是一个棘手的问题。其中,最主要的两个原因,一是由于广播信号具有较大的噪声,且其信号往往并非单纯普通话语音,二是在非法广播甄别的应用领域,往往出于保密性的需要不能与外部互联网相连,这就导致了现有的自动语音识别模型大多无法使用,加上训练样本的数量不足,极大的限制了已有模型的使用。

尽管中文语音识别已经取得了一定的效果和应用,但由于广播信号自身的一些特点,将自动语音识别技术直接运用到广播信号合法性甄别上仍存在一定的困难。具体地,由于一些安全性的需求,广播信号合法性甄别需要在离线环境下进行,使得许多现有的商业在线模型无法被直接使用。同时,噪声和背景音乐的影响也使得常规语音识别性能不足。另外,非法广播自动甄别系统不仅是个语音关键词识别的问题,还需要对关键词识别结果进行综合判断决策。



技术实现要素:

本发明目的在于解决现有的非法广播检测方法对关键词的识别率低,识别准确度低的问题,提供了基于关键字判定非法广播的方法,通过使用关键字录制而成的样本对声学模型进行训练和使用关键字录制而成的样本对声学模型与文字音素映射表进行训练,同时由于我们并不需要完整的、具备意义的句子,提高了识别的容错率。

本发明通过下述技术方案实现:

基于关键字判定非法广播的方法,包括以下步骤:

步骤一、指定所需的关键字词,基于词长设定检测阈值,将其保存至关键字词序列表中,以建立关键字词序列表;

步骤二、录制仅含有关键字的广播音频文件样本,并用该样本对声学模型进行训练,得到关键字的语音特性与音素之间的映射,并将该映射载入声学模型,以训练声学模型;

步骤三、定义音素与所需的指定字词之间的映射,并将该映射保存至文字音素序列字典中,以建立文字音素序列映射字典;

步骤四、接收广播音频数据,按同地域同频点把音频数据分组;

步骤五、将待识别的广播音频数据进行预判粗分类,分成语音为主的音频和非语音为主的音频;定义语音为主的音频的语音时域序列为x(n),非语音为主的音频则直接舍弃;

步骤六、对语音为主的音频的语音时域序列x(n)进行分帧和加滑动窗口,得到语音时域序列xi(n),滑动窗口为s(z),读取语音时域序列xi(n)的波形数据,求出每条语音的最大峰值top、方差var;对语音时域序列xi(n)做短时傅里叶变换,得到该含语音段的语音频谱ps,读取该语音频谱ps中初始静音段的幅度谱平均值作为该含语音段的噪声谱估计pn,并计算其信噪比:

其中,ps表示语音为主的音频的幅度谱,pn表示该语音为主的音频的噪声谱估计,根据最大峰值top、方差var和信噪比snr三个参数对该语音段的语音质量进行综合打分,分数用score表示,预先设定好score的阈值(a,b,c);

当score<a时,对该语音为主的音频直接进行步骤九、步骤十和步骤十一;

当a<score<b时,对该语音为主的音频进行步骤七、步骤九、步骤十和步骤十一;

当b<score<c时,对该语音为主的音频进行步骤七、步骤八、步骤九、步骤十和步骤十一;

当score>c时,舍弃该语音为主的音频,并将此项判为存疑广播;

步骤七、去除语音为主的音频中的加性噪声,得到去除加性噪声后的语音时域序列yi(n);

步骤八、对该语音为主的音频序列yi(n)进行冲激性噪声去除;

步骤九、将上述步骤得到的语音时域序列保存为音频载入语音关键词识别解码器,同时将声学模型、文字音素序列字典和关键字词序列表载入语音关键词识别解码器,识别出关键词,判定出以合法词为主的正常广播、以非法词为主的非法广播以及识别不出任何关键词的存疑项,并将关键词识别结果中的非法项,正常项制作成特征向量;

步骤十、取若干正常广播语音段和非法广播语音段,并分别打上“正常广播”和“非法广播”的电子标签,组成训练集,以“正常广播/非法广播”为二分类标准训练svm分类器;

步骤十一、将步骤九得到的特征向量载入svm分类器,得出该广播信号为正常广播或非法广播的判定结果,并结合步骤九中关键词识别解码器的识别结果,判断该项广播为正常广播、非法广播或存疑广播的判定结果;

步骤十二、记录一个同地同频组内音频总数,并分别统计判定结果为非法广播、正常广播和存疑广播的数目,哪一类的数目更大,则将这一整组判为这一类频点,因此频点也会分为正常,非法和存疑三类。

广播信号一般具有持续的噪声,且其播音音调较为特殊,有时还会混杂非语音信号;所以,在安静背景、标准对话语音中训练出的一般语音识别模型,难以直接在我们的问题中使用。为解决上述问题,就需要我们构建特殊的语音识别模型,使其能够特别的适应广播的语音信号。具体的,对于自动语音识别模型,发明人设置了声学模型、文字音素序列字典和关键词序列表三部分;而设计重点在于如何训练或调整声学模型、文字音素序列字典及关键词序列表,使语音识别系统可以在广播信号上取得较为良好的效果;由于我们只能够获取数量有限的广播信号样本,无法从零开始训练整个系统;故而,我们考虑使用已有的自动语音识别系统作为基底模型,并根据广播信号对参数进行相应的调整,使其可以准确的识别广播录音信号;在声学模型、文字音素序列字典和关键词序列表建立好后,为提高本方法的识别效率,所以在对关键词序列表进行建立时应该尽量的和实际的广播信号中的语音信号的特点相同,所以步骤四中,先将关键字序列表中的关键字录制成训练样本,然后在用该样本对声学模型进行训练,同时本方法相较于传统方法的区别在于,通过定义关键字,在识别过程中只对关键字进行识别,而不是针对句子的句意进行识别,这就使得本方法的识别速度相较于传统方法要快的多;提高了本方法在实际使用过程中的适用性,然后在通过对文字音素序列映射字典进行人工定义,得到了得到音素与定义的关键字之间的映射;由于广播通常对音质没有过高要求,在采用人工智能技术来识别黑广播时,广播录音通常噪声很大,比如电流杂音、外界环境声音、说话者语气词等,因此单单对广播录音进行关键词的识别得到的结果准确率很低、误识率较高;所以发明人针对广播录音的以上特性构建了广播信号的语音噪声移除方法:因为对于一段广播录音,由于其具有不同的状态,含中文普通话、各种噪声等几种不同声音类别,所以不能一概而论,要在去噪前要先对其进行分段处理,再判定语音段是否以人的语音为主;由于我们去噪的目的是进行后续的关键词识别,步骤五的具体操作方式如下:等长切分语音段,并将所有的语音片段输入进已经训练好的基于卷积网络音频类别分类器,分离出以语音为主的音频和以非语音为主的音频,打好标签并输出;针对非语音为主的音频,由于在后续识别过程中也很难识别出关键词,所以这里直接将其定义为正常广播音频,因此我们只需要对以语音为主的音频做去噪处理,以非语音为主的段则不做处理;由于分段后一段语音信号整体上看不是平稳的,但是在局部上可以看作是平稳的,在后期的语音处理中需要输入的是平稳信号,所以要对整段语音信号分帧,也就是将以语音为主的音频片段的音段切分成很多的小段,每个小段中的信号可以看成是平稳的,对每个小段进行一定频率的采样,通常为8khz、16khz等,再将该小段中的所有采样点集合成一个观测单位,称为帧,语音去噪的单位就是帧,这里定义该小段中采样点的个数为n;通常情况下n的值为256或512;由于分帧后,每一帧的起始段和末尾端会出现不连续的地方,所以分帧越多与原始信号的误差也就越大,加窗就是为了解决这个问题,使分帧后的信号变得连续,每一帧就会表现出周期函数的特征,加窗的目的就是一次仅处理窗中的数据,因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行一次性处理,故而在语音信号处理中采用了加滑动窗口的方式,因为加上滑动窗口,只有中间的数据体现出来了,两边的数据信息丢失了,所以在移窗时,移动1/3或1/2窗,这样被前一帧或二帧丢失的数据又重新得到了体现,接下来针对两种不同广播噪声采取不同的去噪方法进行去噪处理,再针对语音为主的音频,通过最大峰值top、方差var和信噪比snr三个参数对该语音段的语音质量进行综合打分,对其含有的噪声进行评定,依据噪声的大小进行不同的处理;依据各个语音段的得分得到对其进行预判断,当score<a时,表示其含有的噪声很低,所以不需要去噪声,所以直接进行步骤九、步骤十和步骤十一;当a<score<b时,表示其含有的噪声较低,不需要去除冲激性噪声,对该语音为主的音频进行步骤七、步骤九、步骤十和步骤十一;当b<score<c时,表示其含有的噪声较高,需要去除加性噪声和冲激性噪声,对该语音为主的音频进行步骤七、步骤八、步骤九、步骤十和步骤十一;当score>c时,表示其含有的噪声很高,去噪比较困难,强行去噪后影响识别结果,所以舍弃该语音为主的音频,并将此项判为存疑广播;然后再将训练好声学模型、定义好的文字音序列字典以及关键字序列表载入语音关键词识别解码器中,判断该广播录音中是否含有关键字序列字典中收录的关键字,得出该广播录音是否含有关键字的结果;对于语音-关键字转换,由于部分广播录音噪声较大,如果我们把目标定在识别字典中的所有字词,则会产生一些字词无法识别、而许多不相关的词汇被错误的“识别”的现象;所以,为了准确的识别关键字,我们通过仅使用少许关键字加入关键词序列表的方法,进行语音-关键字的准确识别;通过使用关键字录制而成的样本对声学模型与文字音素映射表进行训练,同时由于我们并不需要完整的、具备意义的句子,所以设计的文字音素映射表的容错率显得相对高很多,根据识别出的关键词,对该广播音频是以合法词为主的正常广播、以非法词为主的非法广播还是识别不出任何关键词的存疑广播做出判断,并将关键词的识别结果制成特征向量;再然后根据识别出的关键字利用svm分类器对其进行二分类,分离出正常广播和非法广播,最后根据大量次数的检测,根据该广播音频被识别为正常广播和非法广播的次数,判断该段广播音频为正常广播、非法广播还是存疑广播,同时结合步骤九得出结论,例如若步骤九中人为判断和分类器统计结果相同,也就是说明该广播音频为非法广播的广播音频;在具体投入使用中,通过利用上述方法对同地同频的广播识别出为正常广播还是非法广播或者存疑广播的次数进行统计,若统计出识别为非法广播的次数较正常广播的次数多,则该频段的广播为非法广播,若识别为非法广播和正常广播的次数相差不大,则判定该地该频段的广播为存疑广播,可以通过人工再次判断。

进一步的,声学模型为隐马尔可夫-高斯混合模型;

高斯混合模型的联合表达公式如下:

其中x表示一个音节;p(x)为输出该音节的概率;p(m)为对应高斯概率密度函数的权值;μm和σm2是对应的高斯分布的参数;m为子模型的索引,即第m个子模型;m为总共的子模型数量;n(·)为多元高斯分布;i为对应数据维度的单位矩阵;p(x|m)为对于第m个模型,输出该音节的概率。

因为高斯混合模型使用多个高斯分布的联合表达,具有多个分布中心,所以非常适合进行声学模型的模拟,从公式中,我们可以看出,这个概率密度函数可以视为多个高斯的组合;由于声音信号往往呈多中心方差衰减分布,故而高斯混合模型非常适合作为声学模型的建模。高斯混合模型具有很强的表达能力,但是其模型训练并不是一件简单的事情;对于概率分布函数,现有技术中训练时常常使用最大化对数似然函数的方法。但是,由于该高斯混合模型的对数似然函数并不连续可导,故而发明人经过研究之后使用启发式算法进行训练,较为常用的启发式算法为e-m算法,它可以自然的保证概率相加/积分为1的特点,使得其在求解概率密度函数极值问题时有广泛的采用;具体的e-m算法可以表述如下:

假设待学习的参数为θ,混合模型隐变量为z,单一模型变量为x,对数损失函数为[logl(θ;x,z)],则e-m算法可以表述为:

e步:求目标函数的一个下界

m步:优化当前步中的参数

通过循环上述步骤的操作,我们可以使得参数θ逐渐收敛到最优值。

另外完整的声学模型,是基于高斯混合模型-马尔可夫链而设计的;具体的来说,在语音识别中,语音信号由音节组成;而音节之间相互联系,最终组成了语言,而由于马尔可夫链可以学习系统的时变特性并捕获各音节时间之间的相互影响关系,故而被广泛的应用于语音识别的声学建模;隐马尔可夫模型由显状态和隐状态两部分组成,其中显状态是我们直接观测到的部分,如语音信号中的数据;隐状态是我们模型假设有、但是对我们不可见的变量。在马尔可夫模型中,状态之间的转换是在隐状态中完成的,但是每个隐状态都需要一个分布来转换为显状态的观测:这也是其称为“隐”马尔可夫模型的原因,值得注意的是,在隐马尔可夫模型中,对于隐变量s,其当前时刻的值之与上一时刻有关;同时,对于当前的观测值,其只与本时刻的隐变量有关,我们称这种性质为马尔可夫性,而由于这种性质的算法绘制成图片会呈现“链状”,故而我们又可以称其为“隐马尔可夫链”;隐马尔可夫链牵扯到如下两个重要的前进公式:

akj=p(s=j|s=k)

bj(x)=p(x|s=j)

其中,第二个公式为对各帧的特征信号进行建模的概率密度函数,即有时我们所说的“发射函数”;在声学信号建模中,我们令这个函数遵从高斯混合模型,从而得到我们的hmm-gmm总体模型;而第一个公式则反映的是隐状态之间的变化,状态之间的转移可以使用动态规划的方法计算。

进一步的,步骤三中,建立文字音素序列字典的方法是先采用词频统计,后通过人工筛选来定义。针对关键字及其检测阈值定义本方法中采用经验公式,本方法中所谓的经验公式就是根据非法广播检测专家的内容判定经验,将一般非法广播中频数较高的词作为候选关键词,同时根据词语音节的长度来定义检测阈值。

进一步的,步骤七中去除加性噪声的过程如下:

步骤7.1、求出整体广播录音的频谱能量的平方|x(k)|2;;

步骤7.2、选取一段不含语音段统计出噪声频谱的平方|d(k)|2

步骤7.3、通过如下公式进行迭代谱减:

直到去噪语音功率谱|y(k)|2不再变化,对其做反傅里叶变换得到去除加性噪声后的语音时域序列yi(n)。因为加性噪声与语音之间相互独立,在频域将噪声的功率谱从带噪语音功率谱中减去,在迭代谱减法中,该公式会被多次重复,直到最终的频谱不在变化,或达到指定的迭代上限为止。

进一步的,步骤八中滤波的具体过程如下:

步骤8.1、将滑动窗口s(z)沿语音时域序列yi(n)或xi(n)方向进行滑动,窗口大小为z;初始时z值为0,每移动一次窗口,z值加1,z有最大值z;

步骤8.2、每次移动后,定义当前窗口内的语音时域序列段为yi,j(n)或xi,j(n),对窗口内语音时域序列段yi,j(n)或xi,j(n)求差分序列gi,j(n);i表示在第i帧内,j表示在该帧的第j个采样点;

步骤8.3、找到各个窗口的差分序列gi,j(n),通过差分序列gi,j(n)找到含有离群点的窗口并求出这些窗口内的离群点gi,out;

步骤8.4、分别对含有离群点窗口中的各个离群点gi,out(n)进行排序,找出离群点中绝对值最大的点max{gi,out},由该离群点与原语音时域序列对应位置相加,求出其对应窗口中该点的语音时域序列值yi,maxout(n)或xi,maxout(n),即语音冲激值;

步骤8.5、针对含有离群点的窗口,求出各自窗口内所有点的语音时域序列值yi,out(n)或xi,out(n)并进行排序,求各自窗口内语音时域序列值yi,out(n)或xi,out(n)的中位数yi,med(n)或xi,med(n),在各自窗口内比较冲激值yi,maxout(n)或xi,maxout(n)与中位数yi,med(n)或xi,med的大小;

若语音冲激值yi,maxout(n)或xi,maxout(n)大于中位数yi,med(n)或xi,med(n)则中位数yi,med(n)或xi,med(n)可靠,用该中位数yi,med(n)或xi,med(n)替换该窗口内的中心值;

若语音冲激值yi,maxout(n)或xi,maxout(n)小于中位数yi,med(n)或xi,med(n)则中位数yi,med(n)或xi,med(n)不可靠,用中位数yi,med(n)或xi,med(n)的左临近值yi,medleft(n)或xi,medleft(n)替换该窗口内的中心值;

得到新的语音时域序列yi(n)'或xi(n)'。

传统的中值滤波的做法是在滑动窗口内对中心值和周围的其他所有值进行排序,得到一个中间值(中位数),以该中位数直接来替换掉原中心值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但是如果语音中某一段内出现高密度脉冲干扰,这样在该区域滑动窗口内的中位数会受到污染,进而导致滤波不够彻底。发明人针对上述问题对传统的中值滤波法进行了改进,通过检测语音时域序列中的离群点来判断脉冲干扰点存在的位置,再通过比较中位数与脉冲干扰点的能量值大小来判定中位数是否可靠,当判定中位数受脉冲干扰污染后便舍弃该中位数,用它的左临近值代替中位数;当判定中位数符合要求时便用来替换该滑动窗口内原中心值。

进一步的,步骤8.3的具体步骤如下:

步骤8.3.1、求出各个窗口内的差分序列gi,j(n)并进行排序组成整体差分序列gi(n),计算整体差分序列gi(n)的上四分位数q1、下四分位数q3和四分位极差q3-q1,得到差分序列的非离群点允许分布的范围为:[q1-δ(q3-q1),q3+δ(q3-q1)],记为ωi;

步骤8.3.2、判断每个窗口内的差分序列gi,j(n)中各个点的差分序列值gi,j(n)'是否位于差分序列的非离群点允许分布的范围ωi内,若超出该范围,则该点离群点gi,out;该筛选过程如下:

其中,gi,j(n)'表示各点的差分序列值。

通过对梯度序列进行排序,得到梯度序列的非离群点允许分布的范围,通过判断梯度序列中各元素是否位于非离群点允许分布的范围,进而筛选出超出范围的离群点,方便后续对中位数的判定。

进一步的,基于关键字判定非法广播的方法还包括步骤8.6:将滑动窗口s(z)沿语音时域序列yi(n)'或xi(n)'方向按语音时间序列进行逐帧移动,并在移动过程中依时间顺序对窗口内的所有采样点做算术平均值,得到语音时域序列yi(n)”或xi(n)”。在对经过步骤7.5处理后得到的语音时域序列yi(n)进行分析时,发明人发现在波形图中局部还是会有尖刺,同时语音之间的音节承接发现不连续的现象,所以发明人根据上述缺陷对滑动窗口内对所有的采样点做算术平均值,使得到的语音时域序列更加平滑。

进一步的,基于关键字判定非法广播的方法还包括如下步骤:

步骤8.7、将步骤8.6中得到的语音时域序列yi(n)”或xi(n)”与步骤三中得到的语音时域序列yi(n)或xi(n)进行对比,求出残差序列ci(m);

步骤8.8、对残差序列ci(m)执行步骤四中的滤波处理,得到平滑残差序列ci(m)”;

步骤8.9、将平滑残差序列ci(m)”补偿至步骤8.6中得到的语音时域序列yi(n)”或xi(n)”中,得到新的语音时域序列wi(n)。由于初始信号有许多冲激性噪声,经过步骤四中的滤波处理后被平滑掉了,故该频段对应的残差往往很大,所以再将残差进行中位数平滑和线性平滑处理,这样得到一组“正常”“干净”的残差。以此残差序列ci(m)”去修正步骤8.6得到的语音时域序列yi(n)”,可以的得到更加接近原值的语音时域序列wi(m)。

进一步的,所述步骤十中建立svm分类器的具体方法如下:

步骤10.1、将汉字内容对两个字、三个字、四个字的词进行统计,得到词频较高的非法词;

步骤10.2、将统计得到的n个关键词当做特征向量1×n,即:

[关键词1,关键词2,关键词3,...,关键词n]

步骤10.3、对m个训练集中每个语音识别到的关键词构造特征矩阵x,x为m×n的矩阵,标签y为1×m的向量,出现关键词次数作为特征的分值,分值可以根据不同的情况进行调整,目前出现两个字的词、三个字的词、四个字的词一次各记一分;

步骤10.4、使用训练集对支持向量机svc进行训练,其中使用核函数‘rbf’,参数c=1,参数gamma=1。

通过使用svm分类器,使得决策方法对模型的识别效果有着自适应的能力,通过对识别的关键词结果进行自动编码,将模型对关键词的误识别转换为了特征中的噪声,将传统的专家决策转换为了具有数学模型的机器学习方法,通过学习后的决策方法显著的提高了决策效果和识别能力。

本发明与现有技术相比,具有如下的优点和有益效果:

1、提取出来的人声特征没有那么多干扰,能更近似的表达出原本的录音信息,去除了电流杂音等,进而提高了进行关键词的识别得到的结果准确率、降低了误识率;

2、通过使用关键字录制而成的样本对声学模型与文字音素映射表进行训练,同时本方法中并不需要完整的、具备意义的句子,显著提高了本方法中文字音素映射表的容错率;

3、本方法中在制作训练样本时,先录制含有关键字样本广播音频文件,将该文件作为样本文件,通过这种方式,生成的参数自适应后的声学模型,既保留了声学模型对关键字识别能力,又增强了针对特定的无线电广播环境进行特定识别的功能;

4、本方法对识别系统的关键词识别结果判定用了svm分类器,使得决策方法对模型的识别效果有着自适应的能力,通过对识别的关键词结果进行自动编码,将模型对关键词的误识别转换为了特征中的噪声,将传统的专家决策转换为了具有数学模型的机器学习方法,通过学习后的决策方法显著的提高了决策效果和识别能力;

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明的信号处理流程图;

图2为去除加性噪声之前的波形图;

图3为去除加性噪声之后的波形图;

图4为去除加性噪声之前的语谱图;

图5为去除加性噪声之后的语谱图;

图6为去除冲激噪声之前的整体波形图;

图7为去除冲激噪声之后的整体波形图;

图8为去除冲激噪声之前的整体语谱图;

图9为去除冲激噪声之后的整体语谱图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

如图1所示,本发明通过下述技术方案实现:

步骤一、指定所需的关键字词,基于词长设定检测阈值,将其保存至关键字词序列表中,以建立关键字词序列表;

步骤二、录制仅含有关键字的广播音频文件样本,并用该样本对声学模型进行训练,得到关键字的语音特性与音素之间的映射,并将该映射载入声学模型,以训练声学模型;

步骤三、定义音素与所需的指定字词之间的映射,并将该映射保存至文字音素序列字典中,以建立文字音素序列映射字典;

步骤四、接收广播音频数据,按同地域同频点把音频数据分组;

步骤五、将待识别的广播音频数据进行粗分类,分成语音为主的音频和非语音为主的音频;定义语音为主的音频的语音时域序列为x(n),非语音为主的音频则直接舍弃,通过此步骤进行预判;

步骤六、对语音为主的音频的语音时域序列x(n)进行分帧和加滑动窗口,得到语音时域序列xi(n),滑动窗口为s(z),读取语音时域序列xi(n)的波形数据,求出每条语音的最大峰值top、方差var;对语音时域序列xi(n)做短时傅里叶变换,得到该含语音段的语音频谱ps,读取该语音频谱ps中初始静音段的幅度谱平均值作为该含语音段的噪声谱估计pn,并计算其信噪比:

其中,ps表示语音为主的音频的幅度谱,pn表示该语音为主的音频的噪声谱估计,根据最大峰值top、方差var和信噪比snr三个参数对该语音段的语音质量进行综合打分,分数用score表示,预先设定好score的阈值(a,b,c);

当score<a时,对该语音为主的音频直接进行步骤九、步骤十和步骤十一;

当a<score<b时,对该语音为主的音频进行步骤七、步骤九、步骤十和步骤十一;

当b<score<c时,对该语音为主的音频进行步骤七、步骤八、步骤九、步骤十和步骤十一;

当score>c时,舍弃该语音为主的音频,并将此项判为存疑广播;

步骤七、去除语音为主的音频中的加性噪声,得到去除加性噪声后的语音时域序列yi(n);

步骤八、对该语音为主的音频进行滤波去除冲激性噪声;

步骤九、将上述步骤得到的语音时域序列保存为音频载入语音关键词识别解码器,同时将声学模型、文字音素序列字典和关键字词序列表载入语音关键词识别解码器,识别出关键词,根据识别出的关键词,对该广播音频是以合法词为主的正常广播、以非法词为主的非法广播以及识别不出任何关键词的存疑广播做出判断,并将关键词识别结果制作成特征向量;本实施例中解码器采用pocketsphinx的解码器。

步骤十、取若干正常广播语音段和非法广播语音段,并分别打上“正常广播”和“非法广播”的电子标签,组成训练集,以“正常广播/非法广播”为二分类标准训练svm分类器;

步骤十一、将步骤九得到的特征向量载入svm分类器,得出该广播信号为正常广播或非法广播的判定结果,并结合步骤九中关键词识别解码器的识别结果,判断该项广播为正常广播、非法广播或存疑广播的判定结果;

步骤十二、记录一个同地同频组内音频总数,并分别统计判定结果为非法广播、正常广播和存疑广播的数目,哪一类的数目更大,则将这一整组判为这一类频点,因此频点也会分为正常,非法和存疑三类。通过步骤十至步骤十二进行对是否为非法广播进行决策

本实施例中,通过利用上述方法对同地同频的广播识别出为正常广播还是非法广播或者存疑广播的次数进行统计,若统计出识别为非法广播的次数较正常广播的次数多,则该频段的广播为非法广播,若识别为非法广播和正常广播的次数相差不大,则判定该地该频段的广播为存疑广播,可以通过人工再次判断。

本实施例中打分的公式如下:

且a、b、c的可根据实际情况确定,本实施中a、b、c的值分别为3、8、10。

本实施例中,声学模型为隐马尔可夫-高斯混合模型;

高斯混合模型的联合表达公式如下:

其中x表示一个音节;p(x)为输出该音节的概率;p(m)为对应高斯概率密度函数的权值;μm和σm2是对应的高斯分布的参数;m为子模型的索引,即第m个子模型;m为总共的子模型数量;n(·)为多元高斯分布;i为对应数据维度的单位矩阵;p(x|m)为对于第m个模型,输出该音节的概率。

本实施例中,步骤三中,建立文字音素序列字典的方法是先采用词频统计,后通过人工筛选来定义。针对关键字及其检测阈值定义本方法中采用经验公式,本方法中所谓的经验公式就是根据非法广播检测专家的内容判定经验,将一般非法广播中频数较高的词作为候选关键词,同时根据词语音节的长度来定义检测阈值。

本实施例中,步骤七中去除加性噪声的过程如下:

步骤7.1、求出整体广播录音的频谱能量的平方|x′(k)|2;;

步骤7.2、选取一段不含语音段统计出噪声频谱的平方|d(k)|2

步骤7.3、通过如下公式进行迭代谱减:

直到去噪语音功率谱|y(k)|2不再变化,对其做反傅里叶变换得到去除加性噪声后的语音时域序列yi(n)。

本实施例中,步骤八中滤波的具体过程如下:

步骤8.1、将滑动窗口s(z)沿语音时域序列yi(n)或xi(n)方向进行滑动,窗口大小为z;初始时z值为0,每移动一次窗口,z值加1,z有最大值z;

步骤8.2、每次移动后,定义当前窗口内的语音时域序列段为yi,j(n)或xi,j(n),对窗口内语音时域序列段yi,j(n)或xi,j(n)求差分序列gi,j(n);i表示在第i帧内,j表示在该帧的第j个采样点;

步骤8.3、找到各个窗口的差分序列gi,j(n),通过差分序列gi,j(n)找到含有离群点的窗口并求出这些窗口内的离群点gi,out;

步骤8.4、分别对含有离群点窗口中的各个离群点gi,out(n)进行排序,找出离群点中绝对值最大的点max{gi,out},由该离群点与原语音时域序列对应位置相加,求出其对应窗口中该点的语音时域序列值yi,maxout(n)或xi,maxout(n),即语音冲激值;

步骤8.5、针对含有离群点的窗口,求出各自窗口内所有点的语音时域序列值yi,out(n)或xi,out(n)并进行排序,求各自窗口内语音时域序列值yi,out(n)或xi,out(n)的中位数yi,med(n)或xi,med(n),在各自窗口内比较冲激值yi,maxout(n)或xi,maxout(n)与中位数yi,med(n)或xi,med的大小;

若语音冲激值yi,maxout(n)或xi,maxout(n)大于中位数yi,med(n)或xi,med(n)则中位数yi,med(n)或xi,med(n)可靠,用该中位数yi,med(n)或xi,med(n)替换该窗口内的中心值;

若语音冲激值yi,maxout(n)或xi,maxout(n)小于中位数yi,med(n)或xi,med(n)则中位数yi,med(n)或xi,med(n)不可靠,用中位数yi,med(n)或xi,med(n)的左临近值yi,medleft(n)或xi,medleft(n)替换该窗口内的中心值;

得到新的语音时域序列yi(n)'或xi(n)'。

步骤8.3的具体步骤如下:

步骤8.3.1、求出各个窗口内的差分序列gi,j(n)并进行排序组成整体差分序列gi(n),计算整体差分序列gi(n)的上四分位数q1、下四分位数q3和四分位极差q3-q1,得到差分序列的非离群点允许分布的范围为:[q1-δ(q3-q1),q3+δ(q3-q1)],记为ωi;

步骤8.3.2、判断每个窗口内的差分序列gi,j(n)中各个点的差分序列值gi,j(n)'是否位于差分序列的非离群点允许分布的范围ωi内,若超出该范围,则该点离群点gi,out;该筛选过程如下:

其中,gi,j(n)'表示各点的差分序列值。

通过对梯度序列进行排序,得到梯度序列的非离群点允许分布的范围,通过判断梯度序列中各元素是否位于非离群点允许分布的范围,进而筛选出超出范围的离群点,方便后续对中位数的判定。

通过上述方法,如图2至图5所示,分别对比处理前后的语音段的波形图和语谱图,迭代普减前波形图不平滑且带有很多的尖刺;迭代谱减后的波形图明显平滑,且比较接近纯语音的波形图,观察迭代谱减前的语谱图,发现原始带噪语音频率高,且频率分布比较均匀,说明语音带有高频时不变噪声,经由迭代谱减法去噪后,频率明显减小,去噪效果显著。

如图6至图9所示,发明人还对比了该语音段去除冲激性噪声前后的语音波形图及整体语谱图可以看出去噪后高频部分能量减小,说明高频噪声去除效果较好;同时对其中的语音信息的还原度很高,具有显著的进步。

综上所述,经过上述步骤之后从而可以得到较为“干净”的录音文件;此时,再对干净的录音做特征提取,提取出来的人声特征没有那么多干扰,能更近似的表达出原本的录音信息。去除了电流杂音、外界环境声音、说话者语气词等,进而提高了进行关键词的识别得到的结果准确率、降低了误识率。

实施例2

本实施例与实施例1的区别在于,还包括如下步骤:

步骤7.7、将步骤7.6中得到的语音时域序列yi(n)”或xi(n)”与步骤三中得到的语音时域序列yi(n)或xi(n)进行对比,求出残差序列ci(m);

步骤7.8、对残差序列ci(m)执行步骤四中的滤波处理,得到平滑残差序列ci(m)”;

步骤7.9、将平滑残差序列ci(m)”补偿至步骤7.6中得到的语音时域序列yi(n)”或xi(n)”中,得到新的语音时域序列wi(n)。

本实施例中,步骤十中建立svm分类器的具体方法如下:

步骤10.1、将汉字内容对两个字、三个字、四个字的词进行统计,得到词频较高的非法词;

步骤10.2、将统计得到的n个关键词当做特征向量1×n,即:

[关键词1,关键词2,关键词3,...,关键词n]

步骤10.3、对m个训练集中每个语音识别到的关键词构造特征矩阵x,x为m×n的矩阵,标签y为1×m的向量,出现关键词次数作为特征的分值,分值可以根据不同的情况进行调整,目前出现两个字的词、三个字的词、四个字的词一次各记一分;

步骤10.4、使用训练集对支持向量机svc进行训练,其中使用核函数‘rbf’,参数c=1,参数gamma=1。

通过使用svm分类器,使得决策方法对模型的识别效果有着自适应的能力,通过对识别的关键词结果进行自动编码,将模型对关键词的误识别转换为了特征中的噪声,将传统的专家决策转换为了具有数学模型的机器学习方法,通过学习后的决策方法显著的提高了决策效果和识别能力。

本方法中的去噪部分,不但可以提高处理后语音的识别率,还可以增强其人耳可听性,所以可以拓展于其他语音场景,如智能家居、高铁等的通讯去躁、边防保障中的小语种识别增强等。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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