- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子科技大学数字信号处理DSP课程设计-钢琴音符识别
2014级数字信号处理课程设计报告
题目:钢琴音符识别
姓名:邱晨曦
学号:2014010909008
答辩时间:2016/12/9
一. 题目要求:
(1) 播放和记录一段钢琴音乐中的音符;
(2) 记录到音符以后,找到音符所对应的现代标准钢琴的钢琴键,并分析结果。
二. 课程设计思路:
涉及到的知识点:
快速傅里叶变换、钢琴音频信号的时域和频域的特性、能熵比的概念、频率校正、频率与音符的转换关系。
方案分析:
预处理部分:
直接用audioread函数读出来的原始数据。
优点:准确率较高;
缺点:数据量较大,采样频率为44kHz,远大于奈奎斯特采样率。
以11kHz的采样率重新采样,并转换为单声道。
优点:数据量小了很多,易于处理;
缺点:牺牲了部分的准确率,但对于音符的判断影响可以忽略。
B. 端点检测算法:
1 . 双门限法:
1. 计算短时能量(高门限)和过零率(低门限);
2. 选取一个较高的门限,语音信号的能量包络大部分都在此门限之上,进行一次初判,语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外;
3. 根据噪声能量,确定一个较低的门限,并从初判起点往左,从初判终点往右搜索,分别找到能零比曲线第一次与门限相交的两个点,两点之间段就是用双门限方法所判定的语音段;
4. 以短时平均过零率为准,从低门限点往左右搜索,找到短时平均过零率低于某阈值的两点,为语音的起止点;
图1:双门限法示意图
说明:算法中的阀值是根据实验过程调节的。
该算法在实际应用的过程中发现:在语音信号频率分布较为集中的时候,端点检测出来的结果比较准确,但当语音信号频率分布比较分散的时候,很难通过控制固定的阀值来检测到每个音符;
2. 自相关法:
由于两种信号的自相关函数存在极大的差异,可以利用这种差别来提取语音端点。根据噪声的情况,设置两个阈值和,当相关函数最大值大于时,便判定是语音;当相关函数最大值大于或小于时,则判定为语音信号的端点。
该算法同样存在当语音信号频率分布较广的时候,阀值比较难控制的问题。
3. 基于谱熵的端点检测:
基于谱熵语音端点检测方法是通过检测谱的平坦程度,来进行语音端点检测的,为了更好进行语音端点检测,采用语音信号的短时功率谱构造语音信息谱熵,从而对语音段和噪声段进行区分。检测思路:
对语音信号进行分帧加窗;
计算每一帧的谱能量;
计算出每一帧中每个样本点的概率密度函数;
计算出每一帧的谱熵值(由信息论知识知道,熵值在自变量服从均匀分布的时候,熵值达到最大值,所以噪声的熵值是比较大的,而钢琴音符的熵值是比较小的,由此区别了噪声和音符);
设置判决门限;
根据各帧的谱熵值进行端点检测。
在实验过程中发现:依然存在当语音信号频率分布较广时,阀值不太好控制的问题。因此对该方法进行改进,引入,能熵比的概念:
谱熵值类似于过零率,能熵比的表示为。由于噪声和信号的能熵比差别很大。因此在能熵比的图像中,每一个“尖刺”就代表了一个特定频率的语言信号。
图2:能熵比图中的“尖刺”
在检测过程中,依然不能通过简单的设置阀值的办法来进行端点检测,原因是语音频率分布较广时,每个音符的能熵比变化范围差别较大,如下图所示,有的“尖刺”完全在门限之上,而有的则完全在门限之下。
图3:88阶全音的能熵比图
因此,采用检测能熵比中的“低谷点”(该点比左右两边的一定数目的点的能熵比都小)的方法。语音信号一定位于两个低谷点之间的部分,再对低谷点进行适当的左右移动作为语音信号的起止点。如下图所示:
图4:标记起止点的能熵比图
(绿色为起始点,红色为截止点)
设计框架和流程:
用audioread函数读入钢琴音乐,并用sound函数播放;
2. 为了方便处理,对信号以11.025kHz的频率进行重新采样,并统一转换成单声道的信号;
3. 因为语言信号可以在短时间内认为是平稳的,因此对语音信号进行分帧的处理,设置帧长320,为了减小误差,两帧之间设置重叠部分,因此帧移取80;
4. 计算每一帧的能熵比;
5. 找到能熵比中的“低谷点”(该点比左右两边的一定数目的点的能熵比都小);
6. 如果两个低谷点之间的距离大于miniL(认为持续长度超过一定长度的为音符,最小长度miniL可自行设置)。则低谷点右移sr (即shift right,数值可自行调节)帧作为一段信号的起始点,将低谷点左移sl(即shift left,数值可自行调节)帧作为截止点[注:采用该方法的优点是通过调节相关参数能适应多种情况,缺点是检测环境发生较大变化时,需要重新设置参数];
7. 将找到的语音段转换成未分帧时对应坐标的语音段,并对每段做快
文档评论(0)