论文部分内容阅读
语音识别技术已经取得了不少进步,比如人们可以和Siri在苹果手机上对话了。另一个技术相关领域也有进展,乐音跟踪识别,比如微信可以摇一摇搜歌,手机根据“收听”到的音乐迅速查找出歌曲名称,并同步显示歌词,标志着乐音识别技术也越来越进入人们生活。技术的确在时时刻刻改变着人们的生活。本课题旨在探索用技术手段为热爱音乐DIY的人们打开一个新通道:设计一个手机APP(目前定位于Android平台),把使用者用某种乐器演奏的音符和节奏识别出来,并用MIDI文件记录下来,根据事前设定的乐器类型,还可轻松实现乐器换声,比如,用口琴吹奏,最后输出钢琴播放的音乐。这是个涉及音乐理论知识和计算机知识的综合性课题。这个需求要转换成现实,需要对乐理知识进行科学的把握,明确需求的技术本质。深入思考后不难发现,本课题从技术角度需要解决两个基本问题:一是音符的快速准确识别,二是对连续演奏的端点检测能力要稳定且迅速。为此,作者从当前较为成熟的音频识别技术入手,尤其是语言识别技术,深入了解各种时域和频域的分析方法,包括短时能量端点检测,自相关基频检测,快速傅立叶变换以及小波变换对音频信号的特征提取,了解了HMM及ANN在语音识别中的作用。并进一步通过在MATLAB上进行编程验证各种算法,最后提出在端点识别上的两点改进:一是启用一层db4小波分解并重构后的“细节”波形来进行短时能量检测,这个方法利用了“细节”波形在静音段较为平整的特点,较大程度上消除了在静音段误判,从而避免形成瞬时“跳音”的问题。二是把双门限端点检测法进行了改造,把4个状态变为2个状态进行判断,提出改进型能量门限反转端点识别法,在钢琴演奏和口琴演奏样本实验上端点识别效果较好。基音识别上,由于乐器演奏的音频较为清晰,频率成分较为确定,所以经过筛选验证选用了一种计算量小而且测得频率误差度较小的平均幅度差法。本课题已经设计和实现了一个基于Android的功能简单的APP,可以采集用户乐器演奏的乐音,按照事先设定的乐器种类输出与之对应的MIDI音乐文件,实现了在移动设备上无需使用MIDI键盘的MIDI输入,该APP经过一些完善后很快会免费分享给广大音乐爱好者。