语音信号处理大作业讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计报告
课程名称语音信号处理任课教师
设计题目
班级
姓名
学号
日期
语音信号处理大作业
用 Matlab 编程实现语音信号的短时分析
一、目的
1.在理论学习的基础上,进一步地理解和掌握语音信号短时分析的意义,短时时域分析的基本方法。
2.进一步理解和掌握语音信号短时平均能量函数及短时平均过零数的计算方法和重要意义。
二、原理及方法
一定时宽的语音信号, 其能量的大小随时间有明显的变化。其中清音段 (以清音为主要成份的语音段 , 其能量比浊音段小得多。短时过零数也可用于语音信号分析中, 发浊音时, 其语音能量约集中于 3kHz 以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数, 而清音时具有较高的平均过零数, 因而, 对一短时语音段计算其短时平均能量及短时平均过零数, 就可以较好地区分
其中的清音段和浊音段, 从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。
三、内容
1.用 Matlab 语言完成程序编写工作。
2.程序应具有加窗(分帧、计算、以及绘制曲线等功能。
3.对录入的语音数据进行处理,并显示运行结果。
4.依据曲线对该语音段进行所需要的分析,并作出结论。
5.改变窗的宽度(帧长 ,重复上面的分析内容。
四、报告要求
1.学习课本有关内容 , 理解和掌握短时平均能量函数及短时平均过零数函数的意义及其计算方法。
2.参考 Matlab 有关资料,设计并编写出具有上述功能的程序。
3.画出求得的短时分析曲线,注明语音段和所用窗函数及其宽度。阐述所作分析和判断的过程,提出依据,得出判断结论。
附:
所用语音信号文件名为 "shop.wav", 拷贝到 MATLAB 工作目录。 (语音信号内容可自选 Matlab 编程实验步骤:
1.新建 M 文件,扩展名为“.m”,编写程序;
2.选择 File/Save命令,将文件保存在 F 盘中;
3.在 Command Window窗中输入文件名,运行程序;
Matlab 部分函数语法格式:
读 wav 文件: x=wavread(`filename`
数组 a 及 b 中对应元素相乘: a.*b
创建图形窗口命令: figure
绘图函数: plot(x
坐标轴: axis([xmin xmax ymin ymax]
坐标轴注解:xlabel(`…`ylabel(`…`
图例注解:legend( `…`
一阶高通滤波器: y=filter([1-0.09375],1,x
voicebox 工具箱介绍:
分帧函数:f=enframe(x,len,inc
x为输入语音信号, len 指定了帧长, inc 指定帧移,函数返回为 n×len的一个矩阵, 每一行都是一帧数据。
voicebox 工具箱安装方法:
把工具箱拷贝入 .\MatLab\toolbox目录下。
菜单 file-set path-"Add folder" 导入 voicebox ;
菜单 file-Preference-General-"Updata Toolbox Path Cache