matlab浊音段和清音段,基于Matlab编写的语音端点检测1
wavread
基于Matlab编写的语音端点检测
专业:
班级:
姓名:
指导教师:
2011年6月18日
一、实验目的
1.学会MATLAB的使用,掌握MATLAB的程序设计方法;
3.掌握语音处理的基本概念、基本理论和基本方法;
4.掌握基于MATLAB编程实现带噪语音信号端点检测;
5.学会用MATLAB对信号进行分析和处理。
二、实验内容简介:
(1)采集一段语音信号,采样率为8KHZ,量化精度为16比特线性码;
(2)分析帧长30ms(或10ms~50ms);
(3)利用公式分别计算这段语音信号的短时能量、短时平均幅度、短时过零率曲线;
(4)利用
(3)中的结果画出短时零能比曲线;(零能比:即同一时间段内的过零率和能量的比值)
(5)根据上述结果判断找出其中的一帧浊音信号和一帧清音信号,分别计算他们的短时自相关函数和平均幅度差函数;
(6)调整能量门限,设置参数。实现语音端点的检测。
三,实验心得
这次的实验,,给我最大的收获就是培养了独立思考和动手的能力,还有就是实验的灵活性,总得来说就是在独立与创新这二个环节,我更加掌握MATLAB 的程序设计方法,进一步的了解了掌握基于MATLAB编程实现带噪语音信号端点检测的原理,这充分锻炼了我们独立的动手能力和独立的解决所遇到的问题,让我对这门课程又有了新的理解。
四.课程设计原理
端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果,因此端点检测方法的研究一直是语音信号处理中的热点。本设计使用传统的短时能量和过零率相结合的语音端点检测算法利用短时过
零率来检测清音.用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。
算法对于输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。算法以短时能量检测为主,短时过零率检测为辅。根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。在本算法中,短时能量检测可以较好地区分出浊音和静音。对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段
1、短时能量计算
定义n 时刻某语音信号的短时平均能量n E 为:
∑∑--=+∞-∞=-=-=
n N n m m n m n w m x m n w m x E )1(2
2)]()([)]()([式中N 为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。
特殊地,当窗函数为矩形窗时,有
∑--==
n N n m n m x E )1(2)
(
2、短时过零率
过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。
对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。
对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。如果窗的起点是n=0,短时过零率Z 为
波形穿过横轴(零电平)的次数
短时过零可以看作信号频率的简单度量
浊音的短时平均幅度最大,无声的短时平均幅度最小,清音的短时过零率最大,无声居中,浊音的短时过零率最小。
3、短时自相关函数
∑-=--=10
0))1(())((21N n w w n S Sgn n S Sgn Z ∑--=+=1
0)
()()(k N n w w w k n s n s k R ⎩⎨⎧
,10,1)sgn(x x x
1、是偶函数;
2、s(n)是周期的,那么R(k)也是周期的;
3、可用于基音周期估计和线性预测分析
4、判断语音信号的起点和终点
利用短时平均幅度和短时过零率可以判断语音信号的起点和终点。语音端点检测方法可采用测试信号的短时能量或短时对数能量、联合过零率等特征参数,并采用双门限判定法来检测语音端点,即利用过零率检测清音,用短时能量检测浊音,两者配合。
首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。低门限被超过未必是语音的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音超
首先,可根据浊语音情况下短时平均幅度M的概率密度函数P(M/V)确定一个阈值参数MH,MH的值定得比较高。
当一帧输入信号的M值超过MH 时,就可以十分肯定该帧语音信号不是无声,而有相当大的可能性是浊音由N1’向前和N2’向后继续用短时过零率Z进行搜索。根据无声情况下短时过零率Z的均值,设置一个参数Z0,如果由N1’向前搜索时Z始终大于Z0的3倍,则认为这些信号仍属于语音段,直至Z突然下降到低于3Z0值时,这时可以确定语音的精确起点(为了保证可靠,由N1’向前搜索时间不超过25ms)。
对终点做同样的处理。
采取这一算法的原因在于,N1’以前可能是一段清辅音段(如f,s),它的能量相当弱,依靠能量不可能把他们与无声段区别开,而他们的过零率明显高于无声,因而能用这个参数来精确的判断二者的分割点,也就是语音真正的起点。
四、实验步骤:
(1)用cooledit录了一段音,是我自己说的。
采样率为8KHZ,量化精度为16比特线性码。
(2)利用滤波器对信号进行带通滤波,这样可除去大部分共振峰的影响
(3)利用公式分别编程计算这段语音信号的短时能量、短时平均幅度、短时过零率,然后分别画出它们的曲线;
(4)然后画出短时零能比曲线。
(5)根据上述结果判断找出其中的一帧浊音信号和一帧清音信号。
判断依据是,浊音:短时能量大、短时平均幅度大、短时过零率低;清音:短时能量小、
短时平均幅度小、短时过零率高。浊音,取13270--13510个点,清音,取
12120--12360个点。分别计算他们的短时自相关函数和平均幅度差函数;
(6)调整能量门限,设置参数,实现语音端点的检测。
五、实验结论分析:。
matlab浊音段和清音段,基于Matlab编写的语音端点检测1相关推荐
- 基于短时能量的语音端点检测算法
1 带噪语音信号 日常生活中噪声无处不在,说话声.风声.雨声.打字声.机器运行的声音等都可定义为噪声.噪声的种类也很多,每种都有其各自的特点,对有用信息的影响程度也不同.噪音主要包括稳定噪音和非稳定噪 ...
- 语音端点检测 matlab 论文,基于MATLAB的语音端点检测
求助,哪位高手帮忙看看以下程序全不? 基于Matlab编写的语音端点检测程序 function [x1,x2] = vad(x) %幅度归一化到[-1,1] x = double(x); x = x ...
- MATLAB语音端点检测
第一章 绪论 Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交 ...
- matlab浊音段和清音段,语音端点检测及其在Matlab中的实现
文献 计算机时代2005年第8期 25 语音端点检测及其在Matlab中的实现 刘 羽 (桂林工学院科技处,广西桂林541004) 摘要:介绍了语音的基本特征和语音端点检测的基本方法,对基于Matla ...
- 基于matlab 的燃油喷雾图像处理方法,基于MATLAB的燃油喷雾图像处理方法.doc
基于MATLAB的燃油喷雾图像处理方法 基于MATLAB的燃油喷雾图像处理方法 摘要:提出了基于MATLAB的燃油喷雾图像处理方法.通过对喷雾图像的采集, 分割和滤波处理, 将多幅图像转换融合为一幅 ...
- matlab x(n)16点DFT,[基于MATLAB的数字信号处理实例分析.doc
[基于MATLAB的数字信号处理实例分析 湖北文理学院理工学院 学生结业论文 课程名称:MATLAB教程 结业论文名称:基于MATLAB的数字信号处理实例分析 专业名称:通信工程 班级:1011 学号 ...
- 基于双门限法的端点检测
基于双门限法的端点检测 代码+论文+PPT+仿真结果下载地址:下载地址 摘要 语音端点检测是指从一段语音信号中准确的找出语音信号的起始点和结束点,它的目的是为了使有效的语音信号和无用的噪声信号得以分离 ...
- 基于双门限法的语音端点检测及语音分割
voice_activity_detection Audio Split 基于双门限法的语音端点检测及语音分割 代码在我的github上voice_activity_detection 如果您觉得有一 ...
- matlab数字量转电气量,基于MATLAB的数字PID直流电机调速系统.doc
电力拖动课程设计 作 者 段发鑫 系 (院) 信息工程学院 专 业 电气工程及其自动化 年 级 2010级 学 号 K031041513 指导教师 耿东山 日 期 2013.5.5 基于MATLAB的 ...
最新文章
- 【吾日三省吾身】2015.5.24-涅槃行动第六天
- 家庭背景音乐的发展趋势
- [小算法] 找出单链表中的中间元素
- java第一节课程笔记、课后习题
- 工程实践规模化推进要点分析
- 使用Socket及ServerSocket创建简单的服务器
- matlab strfind用法,findstr和strfind区别
- iOS:Cocoa编码规范 -[译]Coding Guidelines for Cocoa
- Android 更改签名
- 【OpenCV 例程200篇】86. 频率域滤波应用:指纹图像处理
- 中科大计算机是一流学科吗,2016安徽省大学一流学科排行榜,中科大第一
- Media Player Classic - HC 源代码分析 4:核心类 (CMainFrame)(3)
- Android -- SEGV_MAPERR,SEGV_ACCERR
- java游戏走到边缘_java-3D对象相遇的边缘和毛刺不均匀
- oracle删库语句,oracle删除表语句是什么?_数据库
- java 素数 五行_(1)转载:八卦数论(二)
- java pandora_Pandora FMS监视简介
- wps将word转换成html,wps如何转换成word(word转换成wps的方法)
- 【C语言初阶】——简易版·扫雷(9*9)【运行逻辑思维导图+细节讲解+源码】【初级】
- Excel从数据中挑出几个数值使其和为某一固定值
热门文章
- uni-app中自定义图表(canvas实现chart图表)开发篇(1)-圆环带进度条
- 基于健康档案的区域卫生信息平台-总体架构图
- 欧空局(esa)下载哨兵-Sentinel影像-(史上最全讲解,老少皆宜)
- Windows10 1903 应用商店错误 代码: 0x80131500 解决办法
- win11待机时间怎么设置 windows待机时间设置的步骤方法
- 广告屏蔽案件的中美相关司法实践初探
- Ardunio开发实例-PCF8563 RTC模块
- 亿图图示----组织架构图----市场组织架构和公司架构图及家庭架构图
- Minecraft正版账号获得方法
- 穿上钢铁侠战衣变身钢铁侠,现代表示我做到了!