语音性别识别课设报告

上传人:汽*** 文档编号:558284212 上传时间:2022-10-15 格式:DOCX 页数:20 大小:121.94KB
返回 下载 相关 举报
语音性别识别课设报告_第1页
第1页 / 共20页
语音性别识别课设报告_第2页
第2页 / 共20页
语音性别识别课设报告_第3页
第3页 / 共20页
语音性别识别课设报告_第4页
第4页 / 共20页
语音性别识别课设报告_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《语音性别识别课设报告》由会员分享,可在线阅读,更多相关《语音性别识别课设报告(20页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课程名称语音信号处理课稈设计题目 基于语音的性别判别系统设计与开发指导教师设计起止日期 _2017-5-16至2017-6-4系另u通信工稈学院专 业电子信息工稈学生姓名_班级/学号 成 绩 14 级“语音信号处理课程设计”任务书3摘要 4一、实验原理及步骤41、语音信号进行分帧处理42、幅度差平方和函数43. 归一化幅度差平方和函数44、程序设计的基本思想55、基音频率的判断和语音信号的鉴别。5二、设计过程和波形61. 首先我们输入语音62. 分帧对每一帧求幅度差平方和并归一化73. 选出候选基音周期84. 输出结果10三、课设感想11四、小组分工11附录: 121. Main1

2、 1. 22. Main2 1. 53.SMDSF (幅度差平方和函数)194. nomSMDSF (归一化幅度差平方和函数)205. behind (查找候选基音周期个数)2014 级“语音信号处理课程设计”任务书题目2基于语音的性别判别系统设计与开发主要内容编程实现基于语音的性别判别系统,可以实时判别说话人是男生还是女生。设计要求1. 编程实现语音的分帧。2. 编程实现语音基音周期的计算。3. 根据男女基音频率的不冋,设计一种算法,分辨男女。4. 编程实现基于语音的性别判别系统。5. 对说话人实时进行判别6. 准确率应不低于80%。主要仪器设备计算机1台,安装MATLAB软件及cooled

3、it录音软件主要参考文献数字语音处理及MATLAB仿真M.北京:电子工业出版社,2010.课程设计进度计划(起止时间、工作内容)本课程设计共安排3个题目,这是其中题目之一。具体进度如下:6学时复习题目相关知识,掌握实现的原理;16学时用MATLAB语言实现题目要求;6学时进一步完善功能,现场检查、答辩;4学时完成课程设计报告。课程设计开始日期2017.5.16课程设计完成日期2017.6.19课程设计实验室名称电子信息技术实验室地点实验楼3-501,507资料下载地址摘要本文通过对男性和女性声音的语音特征的研究,发现男女声的基音频率存在较大的差异,并设计 了基于基音频率分析的男女声识别系统。本

4、题目要求设计一个系统,可以自动判断输入的语音信 号源,是男性声音还是女性声音,其理论依据是男性和女性的基音频率存在着明显的差异,人类 的基音频率范围约为60Hz 450Hz,男性的声音基音频率大约在60HZ-200HZ之间,女性声音基 音频率大约在200HZ 450HZ之间,因此根据语音的基音频率可以判别说话人的性别。 关键字:基音频率一、实验原理及步骤1、语音信号进行分帧处理语音信号具有短时平稳性(10-30ms内可以认为语音信号近似不变),、这样就可以把语音信 号分为一些短段来来进行处理,这就是分帧,语音信号的分帧是采用可移动的有限长度的窗口进 行加权的方法来实现的。一般每秒的帧数约为33

5、100帧,视情况而定。2、幅度差平方和函数SMDSF定义为D 2 (t ) = 捋sw 2 (j 4- T ) - sw 1 2其中:sw 1 (j) = s(j)w 1 (j) , sw 2 (j) = s (j)w 2 (j) , T= 0, 1,L - 1。04L 1(1 = 0,1,述-2窗函数为w 1 (j) =和w 2 (j)=利用SMDSF只能提取出时间短于窗长L的基音周期,即SMDSF的窗长L需要大于可能出现的 最长基音周期的时间,一般取值大于25ms。注意当t等于基音周期P时,函数值和信号中非 周期成分的能量是成一定比例,如果信号是准确的周期信号,则D 2 (P ) = 0

6、SMDSF不同工 处的函数值,都计算了 L个差值的平方和,这一点与CAMDF是一致的对于最小周期为P的严 格周期信号有D 2 (m P ) = D 2 (nP ),其中m、n是正整数。3. 归一化幅度差平方和函数对 SMDSF 归一化是十分必要的, 目标是使其 函数取值能评价语音信号非周期性的程度, 以便 在后处理中使用。归一化SMDSF定义为D 2norm (t ) = D 2 ( t )LD 2 (k) , t= 0,,L - 1.如果信号是准周期的,其基音周期是P , D 2 (t )与信号中非周期性成分能量成比例,而# D2(k) )/ L与信号总能量成比例。因此, D 2norm (

7、t )的值体现信号中非周期成分能量与信号总能量的比例。信号-完整版学习资料分享周期性越差,D 2norm ( t )越大;信号周期性越好,D 2norm ( t )越小;严格周期信号D 2norm (t ) = 0,因此D 2norm (t )可作为信号非周期性的度量。此外,可以通过D 2norm (t)进行 清浊音判定,一般情况下小于0.5的是浊音, 大于 0.5的是清音或其他随机噪音。后面的实验 均使用0. 5作为阈值4、程序设计的基本思想:先进行分帧处理,然后对语音信号的每一帧求幅度差平方和函数,同时求出归一化的幅度差平方 和函数。根据归一化幅度差平方和函数的数值进行清浊音的判定一般情况

8、下小于0.5的是浊音, 大于0.5的是清音或其他随机噪音。本次课设采用0.5作为阈值,将清音和噪音部分置零使其不 影响后面波谷点的提取。然后提取波谷点,如果没有波谷点则将这一帧抛弃,有波谷点则将16(50Hz) 160 (500Hz)之间的点作为基音周期的候选点。由于D 2 (m P ) = D 2 (nP ), 所以将各个候选周期与后面的波谷点求商,取最靠近整数的点作为这一帧的候选基音周期,如果 仅有两个候选点则看这两点是否为倍数关系,若是则选为这一帧的基音周期,若不是则抛弃。求 出所有的基音周期后有两种判断方法一是求均值然后与判决门限进行比较,判断是男是女。二是 求出大于200Hz所占的总

9、比重然后与判决门限进行比较,判断是男是女。5、基音频率的判断和语音信号的鉴别。首先基因频率的判断可以利用时域分析(短时能量、短时自相关)方法的特征或某几个特征的结 合,判定某一语音有效的清音和浊音段;其次,针对浊音段,可直接利用短时自相关函数估计基 音频率,方法是:估算浊音段第一最大峰值的位置,再利用抽样率计算基音频率,例如:如果说 某一语音浊音段的第一最大峰值约为35个抽样点,设抽样频率为8kHz,则基音频率为 8000/35=228Hz。也可以用平均幅度差函数,方法是估算浊音段第一最低波谷的位置,再利用抽 样率计算基音频率,例如:如果说某一语音浊音段的第一最低波谷值约为35个抽样点,设抽样

10、 频率为8kHz,则基音频率为8000/35=228Hz。然后语音信号的鉴别,基音频率与个人声带的长短、薄厚、韧性、劲度和发音习惯等有关系,在 很大程度上反应了个人的特征。在生活中,由于男性和女性的生理结构不同,通过耳朵就可以清 楚地确定是男性声音还是女性声音,这是由于男性声音与女性声音体现出不同的听觉效果来判断 的。本次实验的理论依据是男性和女性的基音频率存在着明显的差异,人类的基音频率范围约为 60Hz 450Hz,男性的声音基音频率大约在60HZ-200HZ之间,女性声音基音频率大约在200HZ 450HZ之间,因此根据语音的基音频率可以判别说话人的性别。二、设计过程和波形1.首先我们输

11、入语音clc,close all,clear all %清屏i=1;while i %等待命令input(按回车键开始说话,注意说完请等6秒钟听结果);程序中断,按回车键继续 y=wavrecord(50000,8000,l); %录制音频,50000 个点,采样频率 8000Hz,单声道 figure(l);plot(y);xlabel(语音信号的幅度特性曲线);%输输出语音信号的幅度响应图 Q=fft(y);figure(2);plot(abs(Q);xlabel(语音信号的幅频响应);%输出语音信号的幅频响应图10.80.60.40.20-0.2-0.4-0.6-0.80 0.5 1 1

12、.5 2 2.5 3 3.5 4语音信号的幅度特性曲线4.5 5x 104图2.1语音信号的幅度特性曲线图 2.2 语音信号的幅频响应2.分帧对每一帧求幅度差平方和并归一化space=400;N=round(length(y1)/space-0.5); %计算帧数1=0;%计算大于260Hz的帧数h=0;e=0;%小于500HZ的浊音帧数for i=1:Ns=yl(i-l)*320+l:(i*320);% 选择一帧 x=SMDSF(s);%求幅度差平方和函数 c=nomSMDSF(x);%求归一化幅度平方和函数 a=;%用于存储各个候选周期与后面的波谷点的商值 IndMin1=;%用于存储大于

13、50Hz小于500Hz的候选基因周期%将清音和噪音部分置零使其不影响后面波谷点的提取for il=l:1ength(x)if c(il)=0.5 xl(il)=0;e1sexl(il)=x(il);endend3. 选出候选基音周期IndMin=find(diff(sign(diff(xl)O)+l;%寻 找波谷点m,n=size(IndMin);%存储大于50Hz小于500Hz的候选基因周期for jl=l:nif IndMin(l,jl)=l6&IndMin(l,jl)l %判断是否存在波谷点 k=behind(IndMin,160,16);%求出最靠近160的候选基音周期的个数 if k=l&k=0%如果存在两个或两个以上的候选基音周期则求各个候选周期与后面的波谷点的商值for i2=1:kif k=16&IndMin(i2)=160)&j22) %所有的波谷点均在 50Hz500Hz 内 for j3=length(IndMin):-1:i2+1if (IndMin(i2)=16&IndMin(i2)=160)&j3=16|IndMin(1)=160q= IndMin(2)/IndMin(1);q1=round(q);if abs(q-q1)=0a(1,:)=In

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号