




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪论语言是人类交流信息的基本手段,在人们日益扩大的交流中占据着重要地位。在如今高度发达的信息社会中用数字化的方法进行语音的传送、储存识别、合成、增强等是整个数字化通信网中最重要、最基本的组成部分之一随着信息科学技术的飞速发展,语音信号处理的研究也日益显示出它的要性,并取得了重大进展。大体上说,语音信号处理技术可以分为以下四个面:即语音编码,语音合成、说话人识别和语音识别等。语音压缩编码是压语音信号便于传输通信和保密;语音合成系统是模仿和代替人口的发音功能语音识别系统则是模仿或代替人耳的听觉功能,说话人识别系统属于生物识技术的一种,是一项根据语音波形中反映说话人生理和行为特征的语音参数识别说话人
2、身份的技术。与语音识别不同的是,说话人识别利用的是语音信中的说话人信息,而不考虑语音中的字词意思,它强调一说话人的个性;而音识别的目的是识别出语音信号中的言语内容,并不考虑说话人是谁,它强共性。随着现代数字通讯、多媒体系统、信息高速公路等技术的应用和发展己经越来越深入地影响并改变着我们每个人地生活和工作方式,这同时也对音信号处理的研究工作提出了更高的要求,它在各方面的进展也令人瞩目。1语音识别概述语音识别是试图使机器能“听懂”人类语音的技术。语音识别的作用是将语音转换成等价的书面信息,也就是让计算机听懂人说话。作为一门交叉学科,语音识别又是以语音为研究对象,是语音信号处理的一个重要研究方向,是
3、模式识别的一个分支,涉及到计算机、信号处理、生理学、语言学、神经心理学、人工智能等诸多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮助对方理解),其最终目标是实现人与机器进行自然语言通信1.1国外研究历史及现状语音识别的研究工作可以追溯到20世纪50年代。1952年at&t贝尔实验室的audry系统,是第一个可以识别十个英文数字的语音识别系统。20世纪60年代末、70年代初出现了语音识别方面的几种基本思想,其中的重要成果是提出了信号线性预测编码(lpc)技术和动态时间规整(dtw)技术,有效地解决了语音信号的特征提取和不等长语音匹配问题;同时提出了矢量量化(vq)和隐马
4、尔可夫模型(hmm)理论。20世80年代语音识别研究进一步走向深入:其显著特征是hmm模型和人工神经网络(ann)在语音识别中的成功应用。90年代,在计算机技术、电信应用等领域飞速发展的带动下,迫切要求语音识别系统从实验室走向实用。最具代表性的是ibm的viavoice和dragon公司的dragon dictate系统。这些系统具有说话人自适应能力,新用户不需要对全部词汇进行训练,便可在使用中不断提高识别率。1.2 国内研究历史及现状我国在语音识别研究上也投入了很大的精力,国内中科院的自动化所、声学所以及清华大学等科研机构和高校都在从事语音识别领域的研究和开发。国家863智能计算机专家组为语
5、音识别技术研究专门立项,我国语音识别技术的研究水平已经基本上与国外同步。2. 语音识别的流程根据对输出观测值概率的不同描述,hmm(隐式马尔可夫链)可分为离散hmm(dhmm)和连续hmm(chmm),两者相似,不同的是chmm使用连续概率密度函数计算状态概率。而dhmm则使用的是离散的矢量量化(vector quantization,vq)计算状态概率。在基于dhmm的非特定人语音识别过程中语音信号先被分成若干音框(帧),每个音框用一个特征向量参数表示,然后将语音特征参数向量的时间序列矢量化,此时每一个音框的语音信号变成vq码本,用码本训练hmm,最后测试识别率。3. 语音信号分析方法分类时
6、域特征直接从时域信号计算得到,反应了语音信号时域波形的特征。如短时平均能量、短时平均过零率、共振峰、基音周期等。频域及倒谱域特征由时域信号进行频谱变换得到,反映语音信号的频域特性包括傅里叶频谱、倒谱以及利用了语音信号的时序信息的时频谱。听觉特征指不直接对声道模型进行研究,而是从人类听觉系统对语音的感知特性来刻画语音信号的特征。4. 短时分析技术语音信号是非平稳时变信号语音信号的特性是随时间而变化的幸运的是具有短时平稳性短时间范围内其特性基本保持不变(缓慢变换),即短时相对平稳准平稳过程短时分析技术即在对语音信号进行分析时,将语音信号分为一段一段,利用平稳信号的分析方法对每一分段进行处理每一分段
7、成为一“帧”:一般1030ms为一帧短时分析的不足对语音识别,应采用hmm来分析,以处理语音信号的瞬变和非平稳特性5. 基于mel频率的倒谱mfcc生理支持根据人类听觉系统的特性,人耳分辨声音频率的过程犹如一种取对数的功能,基于此,出现了mel频率的倒谱系数(mfcc)mfcc: mel-frequency cepstrum coefficients.语音识别mfcc参数提取:在语音识别(speech recognition)和语者辨识(speaker recognition)方面,最常用到的语音特征就是梅尔倒频谱系数(mel-scale frequency cepstral coeffici
8、ents,简称mfcc),此参数考虑到人耳对不同频率的感受程度,因此特别适合用在语音识别。下面简单的介绍一下求解mfcc的过程。5.1 音框化(frame blocking)先将n个取样点集合成一个观测单位,称为音框(frame),通常n的值256或512,涵盖的时间约为2030ms 左右。为了避免相邻两音框的变化过大,所以我们会让两相邻因框之间有一段重迭区域,此重迭区域包含了m个取样点,通常m的值约是 n 的一半或 1/3。通常语音识别所用的音频的取样频率为8 khz或16 khz,8khz 来说,若音框长度为256 个取样点,则对应的时间长度是 256/8000*1000 = 32 ms。
9、5.2 汉明窗(hamming window)将每一个音框乘上汉明窗,以增加音框左端和右端的连续性(请见下一个步骤的说明)。假设音框化的讯号为s(n),n = 0,n-1。那么乘上汉明窗后为s(n) = s(n)*w(n),此w(n) 形式如下5.3 快速傅利叶转换(fast fourier transform, or fft)由于讯号在时域(time domain)上的变化通常很难看出讯号的特性,所以通常将它转换成频域(frequency domain)上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。所以在乘上汉明窗后,每个音框还必需再经过 fft以得到在频谱上的能量分布。 乘上
10、汉明窗的主要目的,是要加强音框左端和右端的连续性,这是因为在进行 fft时,都是假设一个音框内的讯号是代表一个周期性讯号,如果这个周期性不存在,fft 会为了要符合左右端不连续的变化,而产生一些不存在原讯号的能量分布,造成分析上的误差。当然,如果我们在取音框时,能够使音框中的讯号就已经包含基本周期的整数倍,这时候的音框左右端就会是连续的,那就可以不需要乘上汉明窗了。但是在实作上,由于基本周期的计算会需要额外的时间,而且也容易算错,因此我们都用汉明窗来达到类似的效果。5.4 三角带通滤波器组(triangular bandpass filters)将能量频谱能量乘以一组 20个三角带通滤波器,求
11、得每一个滤波器输出的对数能量(log energy)。必须注意的是:这20个三角带通滤波器在梅尔频率(mel frequency)上是平均分布的,而梅尔频率和一般频率 f 的关系式如下: mel(f)= 2595 * log梅尔频率代表一般人耳对于频率的感受度,由此也可以看出人耳对于频率 f 的感受是呈对数变化的: 在低频部分,人耳感受是比较敏锐 。在高频部分,人耳的感受就会越来越粗糙 。三角带通滤波器有两个主要目的: 对频谱进行平滑化,并消除谐波的作用,突显原先语音的共振峰。因此一段语音的音调或音高,是不会呈现在 mfcc 参数内,所以,用 mfcc 为特征的语音识别系统,并不会受到输入语音
12、的音调不同而有所影响。将傅立叶转换结果经三角带通滤波器组进行滤波。表示第个频带的三角带通滤波器 其中是第个频带的中心,这个三角形带通滤波器在美尔(mel-frequency)上是平均分配的。下面方程式求每一个滤波器输出的对数能量 5.5 离散余弦转换(discrete cosine transform, or dct)将滤波器输出的能量作离散余弦(discrete cosine transform, dct)计算梅尔频率倒频谱系数(mel-frequency cepstral coefficients, mfcc)离散余弦计算公式:其中大致取12左右。5.6 对数能量(log energy)一
13、个音框的音量(即能量),也是语音的重要特征,而且非常容易计算。因此我们通常再加上一个音框的对数能量(定义为一个音框内讯号的平方和,再取以 10 为底的对数值,再乘以 10),使得每一个音框基本的语音特征就有 13 维,包含了 1 个对数能量和 12 个倒频谱参数。(若要加入其他语音特征以测试辨识率,也可以在此阶段加入,这些常用的其他语音特征,包含音高、过零率、共振峰等。) 5.7 差量倒频谱参数(delta cepstrum)虽然已经求出 13 个特征参数,然而在实际应用于语音识别时,我们通常会再加上差量倒频谱参数,以显示倒频谱参数对时间的变化。它的意义为倒频谱参数相对于时间的斜率,也就是代表
14、倒频谱参数在时间上的动态变化,公式如下: 这里 m 的值一般是取 2 ,t代表音框的数目,cm(t)指第t框的倒谱参数。 因此,如果加上差量运算,就会产生 26 维的特征向量;如果再加上差差量运算,就会产生 39 维的特征向量。一般我们在 pc 上进行的语音识别,就是使用 39 维的特征向量。6 矢量量化,矢量量化的关键问题是如何获取vq码本,本文采用聚类算法lbg算法。7 用matlab实时采集信号程序首先将录音放到程序中的路径下,运行即可。运行结果如下:语音库语者 1 与语者 1 匹配成功语音库语者 2 与语者 2 匹配成功语音库语者 3 与语者 2 匹配成功语音库语者 4 与语者 4 匹
15、配成功语音库语者 5 与语者 5 匹配成功语音库语者 6 与语者 6 匹配成功语音库语者 7 与语者 7 匹配成功语音库语者 8 与语者 8 匹配成功语音库语者 9 与语者 9 匹配成功8. 结论:运行结果表明该说话人识别系统的识别能力是比较理想的,识别率为88%,语音库3识别不成功的原因主要有两个,一方面3的录音本身噪音相对大些,导致系统很难识别,另一方面,识别系统的算法还不是很理想,导致识别准确率不是100%。程序如下:function speaker_rec%code = train(d:toolswork,9); test(d:toolswork,9, code);%*function
16、 code = train(traindir, n)% 训练语音库里的声音样本,为每个人建立一个vq码本% code=train(train,n)% 训练前,应将语音库中的语音文件用1:n的数字标记% input:% traindir :样本语音库的路径% n :样本语音库中语音文件的个数% output:% code : trained vq codebooks, codei for i-th speakerk = 16; %vq算法的最大迭代次数for i = 1:n file = sprintf(%s%d.wav, traindir, i) ; s, fs = wavread(file)
17、; s=s(1:30000,1); index = find(s = 0); %避免除0 s(index) = 1e-17; v = mfcc(s, fs); % compute mfccs codei = vqlbg(v, k); % train vq codebook end%*function test(testdir, n, code)%用于对测试语音库中的文件进行测试%建库的时候应该给语音文件按阿拉伯数字进行编码,以方便程序读取% input:% testdir :测试语库的路径% n :测试语音库中语音文件的个数% code : codebooks of all trained s
18、peakersfor k = 1:n % 读取测试库中的文件 file = sprintf(%s%d.wav, testdir, k); s, fs = wavread(file); s=s(30000:60000,1); %读取文件中的样本点,改变数值即可获取语音资料中的不同段 index = find(s = 0); %避免除0 s(index) = 1e-17; v =mfcc(s, fs); % compute mfccs distmin = inf; k1 = 0; for l = 1:length(code) % each trained codebook, compute dis
19、tortion d = disteu(v, codel); % 测试语音与码本进行逐一匹配(计算欧氏距离) dist = sum(min(d,2) / size(d,1); if dist distmin distmin = dist; k1 = l; end end msg = sprintf(语音库语者 %d 与语者 %d 匹配成功, k, k1); disp(msg);end%*function d = disteu(x, y)%计算两个矩阵列之间的欧氏距离% disteu pairwise euclidean distances between columns of two matri
20、ces% input:% x, y: two matrices whose each column is an a vector data.% output:% d: element d(i,j) will be the euclidean distance between two% column vectors x(:,i) and y(:,j)% note:% the euclidean distance d between two vectors x and y is:% d = sum(x-y).2).0.5m, n = size(x);m2, p = size(y); if (m =
21、 m2) error(matrix dimensions do not match.)endd = zeros(n, p);if (n p) copies = zeros(1,p); for n = 1:n d(n,:) = sum(x(:, n+copies) - y) .2, 1); endelse copies = zeros(1,n); for p = 1:p d(:,p) = sum(x - y(:, p+copies) .2, 1); endendd = d.0.5;%*function r = vqlbg(d,k)%采用lbg算法获取vq码本%该算法程序来源:程序员联合开发网%
22、vqlbg vector quantization using the linde-buzo-gray algorithme% inputs: d contains training data vectors (one per column)% k:算法最大的迭代次数% output: r contains the result vq codebook (k columns, one for each centroids)e = .01;r = mean(d, 2);dpr = 10000;for i = 1:log2(k)r = r*(1+e), r*(1-e);while (i = 1)z
23、 = disteu(d, r);m,ind = min(z, , 2);t = 0;for j = 1:2ir(:, j) = mean(d(:, find(ind = j), 2); %mean为mathworks的库函数x = disteu(d(:, find(ind = j), r(:, j);for q = 1:length(x)t = t + x(q);endendif (dpr - t)/t) e)break;elsedpr = t;endendend%*%mfcc.m %本文件用于计算mfcc倒谱系数(共可获得26维参数)%输入: s为用声卡采集的信号%输出: c为计算出的倒谱系
24、数 function c=mfcc(s,fs)%*%将信号先音框化后加汉明窗(n为音框宽 m为音框距)m = 100;n = 256;l = length(s);nbframe = floor(l - n) / m) + 1;for i = 1:n for j = 1:nbframe m(i, j) = s(j - 1) * m) + i); endendh = hamming(n);m2 = diag(h) * m;for i = 1:nbframeframe(:,i) = fft(m2(:, i); %得各个音框的频谱end%*% 用在melf频带上均布的三角带通滤波器组对频谱能量进行滤波
25、%将hz转换美尔坐标melf=2595*log10(1+fs/2/700); melf_width=melf/21; i=0:21; tem_melf=melf_width*i; f_tem=(10.(tem_melf/2595)-1)*700; % f_tem=round(f_tem); %划分频率段 f_tem(2:21)即为20个中心频率 for i=2:21 fm(i)=f_tem(i); %fm为第m个频带的中心endfm(22)=fs/2;fm(1)=0;bm=zeros(20,n/2+1);j=1:n/2;k(2:n/2+1)=fs/2/(n/2)*j;for i=2:21 for j=1:n/2+1 if k(j)fm(i-1) bm1(j)=0; else if fm(i-1)=k(j) & k(j)=fm(i) bm1(j)=(k(j)-fm(i-1)/(fm(i)-fm(i-1); else i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会所用工合同样本
- 战略思维在日常管理中的应用计划
- mv转让合同样本
- 2人合同标准文本
- 风险管理部突发事件处理预案计划
- 住房自装装修合同样本
- 保管物合同标准文本
- 养鱼合作转让合同样本
- it产品安装合同样本
- 伦理委员会工作开展情况汇报计划
- 2025年河南应用技术职业学院单招职业技能测试题库完美版
- nginx面试题及答案100道
- 综合与实践+白昼时长规律的探究教案+2024-2025学年人教版数学七年级下册
- 非营利组织离任审计报告范文
- 家电行业品质部门的质量提升职责
- 抖音服装网店创业计划书
- 小学教师招聘-《小学教育学》押题密卷1
- 《InSAR干涉测量》课件
- 2025年人工智能-智能算法考试题库及答案(新版)
- 工程地质学知到智慧树章节测试课后答案2024年秋广东工业大学
- 2025-2030年中国牛黄市场发展状况与前景投资策略建议报告
评论
0/150
提交评论