利索能及
我要发布
收藏
专利号: 2020108807777
申请人: 西安电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.复杂环境下基于语音增强的深度神经网络语音识别方法具体实施步骤如下:

步骤一、复杂环境下语音数据集的建立以及处理;在该部分收集纯净环境语音、高斯白噪音环境语音、存在背景噪音或干扰声源环境语音以及混响环境下的语音共同组成语音识别系统的语音数据集C;然后,将语音数据集C中各环境下的语音数据分别分成训练集和测试集;分配比例为训练集语音条数:测试集语音条数=5:1;将各环境下的训练集和测试集分别汇总并打乱分布,形成训练集X和测试集T;训练集X中的第i条语音表示为xi;测试集T中第j条语音表示为tj;同时对训练集X中的每一条语音,编辑一个.txt格式的标签文档,标签文档的内容包括该条语音的名字以及对应的正确汉语拼音序列;

具体收集方法分别如下:首先对于纯净条件的语音收集,在理想实验室条件下进行多人录制,以中文报纸、小说、学生课文为素材,单条语音录制时长10秒以内,共录制3000条纯净语音素材;对于高斯白噪音环境以及混响环境下的语音收集,采用Adobe Audition软件来进行合成,具体是采用录制的纯净语音和高斯白噪声进行合成,混响则直接采用软件自带的混响环境重新合成语音;其中高斯白噪音环境下的语音和混响环境下的语音各录制

3000条;最后对于存在背景噪音或干扰声源的语音,采用实地录制为主,在工厂、餐厅等比较嘈杂的地方由多人进行实地录制,共录制语音3000条;同时,以上收集到的所有语音文件格式为.wav格式;将收集到语音进行分类,分类方式如下:将每一类语音环境中2500条语音作为语音识别系统的训练集,剩下的500条作为测试集;总结即语音识别训练集X共10000条,测试集T共2000条,将训练集与测试集分别打乱分布,避免训练出来的模型出现过拟合;

步骤二、对建立的语音训练集X和测试集T进行语音增强,得到增强后的语音训练集 和测试集 增强后的语音训练集 中的第i条语音表示为 测试集 中第j条语音表示为以语音训练集中第i条语音xi的语音增强为例,具体的语音增强步骤如下,对待增强的语音信号xi,用matlab软件内置的语音处理audioread函数对xi进行读取处理,得到语音信号的采样率fs以及包含语音信息的矩阵xi(n),xi(n)为n时刻的语音采样值;然后对xi(n)进行预加重处理得yi(n);再对yi(n)加汉明窗进行分帧操作,得到语音信号的各个帧的信息yi,r(n),其中yi,r(n)表示进行预加重增强后第i条语音信号的第r帧的语音信息矩阵;再对yi,r(n)进行FFT变换得到第i个语音信号第r帧的短时信号频谱 然后用伽马通权重函数Hl按频带对 进行处理得第i个语音信号第r帧第l个频带上的功率Pi,r,l(r,l),其中l的取值为0,...,39;依次按照如上步骤求取第r帧的各个频带的功率;再进行降噪去混响处理以及谱整合得 由此,已经求得增强后第i个语音信号第r帧的短时信号频谱,对其它帧的语音信号同样依次做如上的处理,得到各个帧的短时信号频谱,再通过IFFT变换在时域上进行语音信号帧合成得到增强之后的语音信号 将 放入增强后的语音训练集 中;

语音增强每一步操作具体如下详述:

(一)语音信号预加重

对训练集X中第i个语音信号矩阵xi(n)进行预加重得到yi(n),其中yi(n)=xi(n)‑αxi(n‑1),α为一个常量,α=0.98;xi(n‑1)为对训练集中的第i个语音的n‑1时刻的采样矩阵;

(二)加窗分帧

采用汉明窗w(n)对预加重之后的语音信号yi(n)进行加窗分帧,将连续的语音信号分割成一帧一帧的离散信号yi,r(n);

其中 汉明窗函数,N为窗长,

取帧长为50ms,帧移为10ms;预加重后的语音信号yi(n)加窗分帧处理可得到每一帧语音信号矩阵信息yi,r(n);yi,r(n)表示进行预加重、加窗分帧后第i条语音信号的第r帧的语音信息矩阵;

(三)FFT变换

将第i条语音信号的第r帧的语音信息矩阵yi,r(n)作FFT变换,将其从时域变换到频域,得到第i个语音信号第r帧的短时信号频谱 (四)求语音信号的功率Pi,r,l(r,l)

将每一帧的短时信号频谱 用伽马通权重函数进行处理求取语音信号每一帧

每一个频带的功率; Pi,r,l(r,l)表示

语音信号yi(n)第r帧第l个频带上的功率,k是一个虚拟变量表示离散频率的索引,ωk是离散频率, 由于在FFT变换的时候采用50ms的帧长以及语音信号的采样率为16kHz,因此N=1024;Hl表示是在频率索引k处计算得到的第l个频带的伽马通滤波器组的频谱,是matlab软件语音处理内置函数,函数的输入参数为频带l; 表示第r帧语音信号的短时频谱,L=40是所有通道的总数;

(五)语音信号降噪去混响处理

求得语音信号功率Pi,r,l(r,l)后,进行降噪去混响处理,具体步骤为:

(1)求取第r帧第l个频带的低通功率Mi,r,l[r,l],具体求解公式如下:Mi,r,l[r,l]=λMi,r,l[r‑1,l]+(1‑λ)Pi,r,l[r,l]Mi,r,l[r‑1,l]表示第r‑1帧第l个频带的低通功率;λ表示遗忘因子,因低通滤波器的带宽而变,λ=0.4;

(2)去除信号中缓慢变化的成分以及功率下降沿包络,对语音信号的功率Pi,r,l[r,l]进行处理得到增强后的第r帧第l个频带的功率其中 中c0为一个常数因

子,c0=0.01;

(3)按步骤(1),(2)依次对信号的每一帧每一个频带进行增强处理;

(六)谱整合

求得语音信号每一帧每一个频带上增强后功率 进行语音信号谱整合,可得到增强之后语音信号各帧的短时信号频谱,谱整合的公式如下:上式中μi,r[r,k]表示第r帧第k个索引处的谱权重系数; 为未增强的第i个语音信号第r帧的短时信号频谱, 为增强后的第i个语音信号第r帧的短时信号频谱;

其中μi,r[r,k]的求解公式如下:

μi,r[r,k]=μi,r[r,N‑k],N/2≤k≤N‑1

公式中的Hl表示是在频率索引k处计算得到的第l个频带的伽马通滤波器组的频谱;

ωi,r,l[r,l]为第i个语音信号第r帧第l个频带的权重系数,权重系数是增强之后的频域与信号的原始频域的比值,求解公式如下:求得谱整合后的第i个语音信号的第r帧的增强后的短时信号频谱,按如上操作依次对各帧进行处理求得第i个语音信号各帧的增强后的短时信号频谱;对各帧增强后的语音信号 进行IFFT变换得到时域各帧的语音信号并且在时域进行帧拼接得到增强后的语音信号 IFFT变换以及语音信号时域帧拼接操作如下:g为总帧数

上式中, 为增强后的语音信号矩阵; 表示第r帧增强后的语音信号矩阵;g为语音信号的总帧数,这个值因语音信号的时长而变;得到增强后n时刻语音信号的采样矩阵再用matlab软件内置的语音处理audioread函数按照语音信号的采样率fs=16Khz对进行写入处理,得到增强后的语音信号至此,对语音训练集中一条语音的增强处理完毕,接下依次按照如上步骤处理训练集X和测试集T;并将增强后的训练集语音保存在 集中,增强后的测试集保存在 集中;

步骤三、搭建语音识别声学模型;搭建的语音识别声学模型采用CNN+CTC进行建模,输入层为步骤二增强后的训练集 中语音信号 的200维的特征值序列,采用MFCC特征提取算法提取特征值序列;同时隐藏层采用卷积层和池化层交替重复连接,并且引入Dropout层,防止过拟合,其中卷积层卷积核尺寸为3,池化窗口大小为2,最后输出层采用1423个神经元的全连接层进行输出,并用softmax函数进行激活,采用CTC的loss函数作为损失函数实现连接性时序多输出,输出为1423维的特征值正好对应步骤四搭建的中文汉语词典dict.txt文档中的1423个常用汉语拼音;语音识别声学模型网络框架包括卷积层、池化层、Dropout层以及全连接层;

步骤四、搭建语音识别语言模型;语言模型搭建包括语言文本数据集的建立、2‑gram语言模型设计、中文汉语词典的搜集;

(一)语言文本数据库的建立

首先,建立训练语言模型所需要的文本数据集;语言文本数据集形式上表现为一个电子版.txt文件,内容为报纸、中学课文、著名小说;收集报纸、中学课文、著名小说的电子版.txt文件建立语言文本数据库,注意语言文本数据库中文本数据的选取一定要具有代表性,能够反映出日常生活中的汉语用语习惯;

(二)2‑gram语言模型搭建

采用按词本身进行划分的语言模型训练方法2‑gram算法搭建语言模型;其中2‑gram中的2表示考虑当前词出现的概率只与其前2个词有关;2就是词序列记忆长度的约束数量;2‑gram算法具体公式可以表示为:上式中W表示一段文字序列,w1,w2,...,wq分别表示文字序列里面的每一个单词,q表示文字序列的长度;S(W)表示这一段文字序列符合语言学习惯的概率;d表示第d单词;

(三)汉语词典建立

搭建语音识别系统语言模型词典;对于词典来说,一种语言的词典都是稳定不变的,对于汉语文字词典来说,词典表现为一个dict.txt文件,其中标明了日常生活中常用的1423个汉语拼音对应的汉字,同时考虑汉语的一音多字情况;

步骤五、用建立的语言文本数据集对搭建的2‑gram语言模型进行训练,得到语言模型的单词出现次数表以及状态转移表;对语言模型的具体训练方式如下:(1)循环获取语言文本数据集中的文本内容并统计单个单词出现得次数,汇总得到单个单词出现次数表;

(2)循环获取语言文本数据集中二个单词一起出现得次数,汇总得到二个单词状态转移表;

步骤六、用训练好的语言模型和建立的词典以及增强后的语音训练集 对搭建的声学模型进行学习训练;得到声学模型的权重文件以及其它参数配置文件,具体的声学模型训练流程如下:(1)初始化声学网络模型的各处权值;

(2)依次导入语音训练集 中的语音进行训练,对任意的语音信号 首先经MFCC特征提取算法处理,得语音信号200维的特征值序列然后按照附图说明图7所列,将语音信号的

200维特征值序列依次经过各个卷积层、池化层、Dropout层、全连接层处理,最后输出层采用1423个神经元的全连接层进行输出,并用softmax函数进行激活,得语音信号的1423维声学特征;

(3)得到特征值后再在语言模型以及词典的作用下对1423维声学特征值进行解码并输出识别的语音信号 的汉语拼音序列;

(4)将声学模型识别出的汉语拼音序列与训练集 中第i条语音 的汉语拼音标签序列进行对比计算误差并反向传播更新声学模型各处的权值,损失函数采用CTC的loss函数,并Adam算法进行优化,设置训练的batchsize=16,迭代次数epoch=50,每训练500条语音,保存一次权重文件;CTC的损失函数如下:上式中 表示训练集训练后产生的总损失,e表示输入语音即进行语音增强后训练集 中的语音信号 z为输出的汉字序列,F(z|e)表示输入为e,输出序列为z的概率;

(5)依次按照如上步骤训练语音识别的声学模型,直至声学模型损失收敛,声学模型便训练完毕;保存声学模型的权重文件和各项配置文件;输入语音经过语音增强处理后进行特征提取,根据语言模型和词典进行声学模型训练,得到声学模型;

步骤七、用训练好的基于语音增强的中文语音识别系统对测试集 的语音进行识别,统计语音识别准确率并与传统算法进行性能对比分析;输入测试语音,通过语音增强和特征提取处理获取特征矢量,根据声学模型、词典和语言模型,利用语音解码和搜索算法,得到文本输出;

具体实行方式如下:

(1)用传统的语音识别系统,对建立的复杂环境语音数据库的2000个未增强的语音测试集T进行语音识别测试,统计其语音识别的准确率;

(2)用所述的基于语音增强的语音识别系统,对建立的语音数据库的2000个增强后的语音测试集 进行语音识别测试,统计所述方法的语音识别准确率;

(3)最后对所述提出的基于语音增强的语音识别系统进行性能分析;

统计完成后发现,所述提出的基于语音增强的语音识别算法对高斯白噪音环境、存在背景噪音或干扰声源环境以及混响环境下的语音的识别准确率大幅提升,性能提升大约在

30%左右;与传统的语音识别算法相比,所述算法识别准确率也大大提升,尤其是对高斯白噪音环境、存在背景噪音或干扰声源环境以及混响环境下的语音识别,传统算法表现很差,而所述算法表现优异,性能很好;

由此看见,所述的复杂环境下基于语音增强的深度神经网络语音识别方法,很好地解决了现有语音识别算法对噪音环境敏感、对语音质量要求高、可应用场景单一的问题,实现了复杂语音环境下的语音识别;

在上述各步骤中出现的符号i表示训练集和测试集中第i个进行语音增强处理的语音信号,i=1,2,...,12000;符号r表示语音信号的第r帧,r=1,2,3,...,g;g表示语音信号分帧之后的总帧数,g的取值因处理的语音时长而变;符号l表示语音信号的第l个频带,l=0,

1,2,...,39;k是一个虚拟变量表示离散频率的索引,k=0,1,2,...,1023。