说话人语音识别.._第1页
说话人语音识别.._第2页
说话人语音识别.._第3页
说话人语音识别.._第4页
说话人语音识别.._第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数字信号处理课程设计 题 目: 基于MATLAB的说话人语音识别 班 级: 信号与信息处理研一 学 号: 2150130425 姓 名: 湛西羊 任课教师:黄建军 完成时间:2015/12/31 目录 一、系统设计任务及要求 3 二、语音识别的简介 3 三、语音识别原理 3 3.1语音识别系统总体框架4 3.2语音信号预处理4 3.3 特征参数的提取 6 3.4用矢量量化聚类法生成码本7 3.5 VQ的说话人识别8 三、仿真实现 9 五、总结 9 附录1 10 附录2 14 一. 系统设计任务及要求 1用MATLAB实现50个特定人的语音识别功能; 2. 语音识别的正确率在百分之九十以上;

2、二. 语音识别的简介 说话人识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自 然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人 的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可 能。用语音来鉴别说话人的身份有着许多独特的优点, 如语音是人的固有的特征, 不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实 现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。 与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便, 而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,

3、是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛: 今天,说话人识别技术已经关系到多学科的研究领域, 不同领域中的进步都对说 话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息 处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。 说话人识别系统设计中的根本问题是如何从语音信号中提取表征人的基本 特征。即语音特征矢量的提取是整个说话人识别系统的基础,对说话人识别的错 误拒绝率和错误接受率有着极其重要的影响。同语音识别不同,说话人识别利用 的是语音信号中的说话人信息,而不考虑语音中的字词意思,它强调说话人的个 性。因此,单一的语音特征矢量很难提高识

4、别率, 所以语音信号的时候如何提取 信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确 性。 系统在说话人的识别中采用基于 Mel的频率倒谱系数的模板匹配的说话人 识别方法。具体的实现过程当中,采用了 matlab软件来帮助完成这个项目。在 matlab中实现采集,分析,特征提取,配对,识别。 三. 语音识别原理 3.1语音识别系统总体框架 说话人识别系统的总体结构如图 1所示。首先通过语音的录制作为输入信 号,输入的模拟语音信号要进行预处理,包括预滤波、采样和量化、加窗、端点 检测、预加重等等。经过预处理后,接下来就是重要的一环:特征参数提取。具 体要求是: (1)提取的

5、特征参数要能有效地代表语音特征,具有很好的区分性。 (2)各阶参数之间有良好的独立性。 (3)特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实 现。 * 测度估计 识别决策 识别. 结果 图1说话人语音识别系统总体框图 考虑到数据量、实时性以及识别率的问题,本文采用基于矢量量化的方法识 别语音。对于特征参数的选取,我们使用mfcc的方法来提取。 3.2语音信号预处理 3.2.1滤波 在模/数转换之前,通常要进行滤波处理,滤波的作用主要有两个:一是用高 通滤波器抑制50Hz电源噪声的干扰;二是用低通滤波器滤除语音信号中频率分 量超过采样频率一半的部分,防止采样信号的混叠。 3.2

6、.2模数转换 将原始采集得来的语音模拟信号转换为计算机能够处理的数字信号,就需要 对其进行数字化,此过程成为数/模转换,最常见的方式就是脉冲编码调制(Palse Code Modulation ),它的过程分为采样、量化和编码; 采样是对模拟信号进行周期性的扫描,将实际上连续变化的信号转换为时间 上离散的信号,从而便于表示为计算机的语言。 根据Nyquist采样定理,当采样 频率高于信号最高频率的一倍时,原来的连续信号就可以从采样样本中完全重建 出来。人耳可以分辨的声音频率范围为(20Hz,20KHz),因此,当采样的频率高于 40KHz时,采样的过程就不会丢失信息,但考虑到设备的实际性能,且

7、说话人语 音频率主要集中在3.4KHZ,故本系统以8KHz为采样率。量化就是把经过采样 得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电 平值来表示出来,最终用整数倍的数字表示的过程。 经过时间上的采样后,连续 的模拟信号变成了离散信号,再经过振幅的量化,把量化好的采样值用二进制代 码表示出来,就转换成了数字信号。 编码:就是用一组二进制码组来表示每一个有固定电平的量化值。然而,实 际上量化是在编码过程中同时完成的,故编码过程也就称为模/数转换, 该系统以实验者50人的声音为分析样本,将语音信号都保存为符合RIFF 规范的wav文件格式,便于在windows环境下处理。语

8、音信号是利用PC机录制, 音频文件采用8000kHz采样频率、16bit量化、单声道的PCM录 音,用MATLAB 本身wavread函数来读取语音文件,直接将语音数据转化为数字信号。 3.2.3预加重、分帧及加窗 预处理是指对语音信号的特殊处理:预加重,分帧处理。预加重的目的是 提升高频部分,使信号的频谱变得平坦,以便于进行频谱分析或声道参数分析。 用具有6dB/倍频程的提升高频特性的预加重数字滤波器实现。虽然语音信号是 非平稳时变的,但是可以认为是局部短时平稳。故语音信号分析常分段或分帧来 处理。 在语音参数计算之前,一般要将其通过一个预加重滤波器,预加重目的是为 了对语音的高频部分进行加

9、重增加其高频分辨率,其函数为: x=filter(1 -0.9375,1,x); “帧”,将语音信号截断的过程称之为“分帧”。为了保持帧之间的平滑过 渡,常相邻的两帧之间有少部分的重叠,这些重叠的部分叫做帧移。在以后的语 音信号识别过程中,都是依赖于每一帧多对应的数据序列所描述的语音信号特征 来处理。 分帧操作主要是提取语音短时特性便于建模,一般取帧长30ms帧移10ms 在对语音信号进行截断处理形成帧后,通常会产生泄露 (Gibbs)现象,为了防止 此种现象的发生,我们通常运用一个长度有限的窗函数w( n)对语音短段进行变 换或运算。对于语音信号的每一帧来说,窗函数的宽度会影响语音信号的平滑

10、性。 越宽的窗函数,对信号的平滑作用就会越显著,效果越好,窗函数过窄,则基本 对信号不起作用。语音信号经过加窗处理后,两端的坡度会减小,窗口边缘 两端也不会引起急剧变化,截取出的语音波形两端就会缓慢的过渡为零, 这就有 效的减小语音帧的截断效应。 因此对于语音信号时域分析来说,窗函数的选择很重要,虽说矩形窗平滑比 较好,但是容易丢失波形细节,并有可能造成泄漏现象。而Hamming窗可以有效 的克服泄漏现象。所以在加窗方面常以 Hammi ng窗为主,即: w(n) = 0.S4 - 0.46cos(-(0 n code = train( Cdatatrai n, 8); k = 16;% n

11、umber of cen troids required for i = 1:n% train a VQ codebook for each speaker file = spri ntf(%ss%d.wav , train dir, i); disp(file); s, fs = wavread(file); v = mfcc(s, fs); codei = vqlbg(v, k); end % Compute MFCCs % Train VQ codebook fun cti ond = disteu(x, y) of two matrices 测 between two column %

12、 DISTEU Pairwise Euclidea ndista ncesbetwee ncolum ns 试失真度 % In put: % x, y: Two matrices whose each colu mn is an a vector data. % Output: % d:Element d(i,j) will be the Euclideandistanee vectors X(:,i) and Y(:,j) % Note: %The Euclidea n dista nee D betwee n two vectors X and Y is: % D = sum(x-y).A

13、2).A0.5 M, N = size(x); M2, P = size(y); if (M = M2) error( 不匹配!) end d = zeros(N, P); if (N P) copies = zeros(1,P); for n = 1:N d(n,:) = sum(x(:, n+copies) - y) 42, 1); end else copies = zeros(1,N); for p = 1:P d(:,p) = sum(x - y(:, p+copies) 42, 1); end end d = d.A0.5; fun cti on m = melfb(p, n, f

14、s) % MELFB Determi ne matrix for a mel-spaced filterba nk % In puts: p n umber of filters in filterba nk 滤波器数 % n len gth of fftFFT 变换的点数 % fs sample rate in Hz 采样频率 % Outputs: x a(sparse)matrix containingthe filterba nk % size(x) = p, 1+floor( n/2) % Usage: For example, to compute the mel-scale spe

15、ctrum of a amplitudes % colum-vector sig nal s, with len gth n and sample rate fs: % % f = fft(s); % m = melfb(p, n, fs); % n2 = 1 + floor (n /2); % z = m * abs(f(1: n2)42; % % zwould contain p samples of the desiredmel-scale % % To plot filterba nks e.g.: % % plot(li nspace(0, (12500/2), 129), melf

16、b(20,256, % title(Mel-spaced filterba nk), xlabel(Freque ncy spectrum 12500), (Hz); f0 = 700 / fs; fn2 = floor( n/2); Ir = log(1 + 0.5/f0) / (p+1); % convert to fft bin n umbers with 0 for DC term bl = n * (f0 * (exp(0 1 p p+1 * Ir) - 1); bl = floor(bl(1) + 1; b2 = ceil(bl(2); b3 = floor(b l( 3); b4

17、 = min (fn2, ceil(bl(4) - 1; pf = log(1 + (b1:b4)/n/fO) / lr; fp = floor(pf); pm = pf - fp; r = fp(b2:b4) 1+fp(1:b3); c = b2:b4 1:b3 + 1; v = 2 * 1-pm(b2:b4) pm(1:b3); m = sparse(r, c, v, p, 1+f n2); fun cti onr = mfcc(s, fs)% s 声音信号的向量fs 取样频率 % MFCC % In puts: s contains the sig nal to an alize % f

18、s is the sampli ng rate of the sig nal % Output: r contains the tra nsformed sig nal m = 100; n = 256; l = len gth(s); n bFrame = floor(l - n) / m) + 1; for i = 1:n for j = 1:nbFrame M(i, j) = s(j - 1) * m) + i); end end h = ham ming(n); M2 = diag(h) * M; for i = 1:n bFrame frame(:,i) = fft(M2(:, i)

19、; end t = n / 2; tmax = l / fs; m = melfb(20, n, fs); n2 = 1 + floor(n / 2); z = m * abs(frame(1: n2, :).A2; r = dct(log (z); fun cti onr = vqlbg(d,k) % VQLBG Vector qua ntizati on using the Lin de-Buzo-Gray algorithme使用 LBG算法 % % In puts: % d contains training data vectors (one per colu mn) % k is n umber of cen troids required % Output: % r contains the result VQ codebook (k colu mns, one for each cen troids) e = .01; r = mean(d, 2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论