APP下载

一种MATLAB软件对乐音识别自动配置的分析研究

2015-02-20李啸凤

机械设计与制造工程 2015年12期

李啸凤

(广东科技学院继续教育学院,广东 东莞 523000)



一种MATLAB软件对乐音识别自动配置的分析研究

李啸凤

(广东科技学院继续教育学院,广东 东莞523000)

摘要:为了给乐器演奏的旋律自动配置和声,给出了乐音识别、预处理和和声构造功能实现的思路和方法,借助MATLAB软件,详细阐述了钢琴单音旋律自动产生和谐的多音色和声的整个流程,最后通过一段钢琴单音旋律《小星星》进行仿真实验,结果显示具有良好的实用性。

关键词:MATLAB;乐音识别;和声理论;自动配置

在计算机技术和电子音乐技术日益成熟的今天,如何利用这些技术进行特征提取、乐音识别以及辅助音乐创作已经成为人们研究的热点,并取得了一些研究成果。在国外,Sundberg & Tjernlund于1970年就进行了单音自动识别实验;1977年Moorer完善了乐音识别计算机系统,但适用范围有限;1987年Dannenberg & Mont-Reynaud研发了一种可对乐音进行实时识别、跟踪的系统,由此乐音识别技术进入了实用化研究阶段。在国内,许鹏进于2011年利用MATLAB和C语言混合编程完成算法测试,提升了乐音特征提取的精确度;杨若方于2011年探讨了如何借助MATLAB实现乐音识别与自动配置和声的功能;王婷于2012年对乐音识别算法及iOS平台的音频处理、交互式可视化技术等进行了理论和实践研究。

为了进一步完善乐音识别自动配置和声的功能,本文将乐音识别技术和MATLAB软件相结合,以乐器演奏旋律自动配置和声为核心内容,综合运用傅里叶变换、频谱分析、和声配置以及MATLAB 软件强大的矩阵分析、处理和作图功能,进行乐音识别智能配置系统的开发和研究。以钢琴乐音《小星星》为例进行实验,获得的仿真效果良好。

1MATLAB软件对乐音识别自动配置和声的基本研究思路

本文以钢琴乐音作为研究对象,将一段钢琴曲通过计算机系统储存为基于音学信号的wav格式音频数据,借助于MATLAB软件对该音频文件进行音高、音色、音强及节奏的分析,并判别其调性,从而配置出与该曲旋律相匹配的和声音频文件,而后将其与原钢琴音频进行叠加,衍生出和谐的多音色和声,实现良好的播放效果。同时根据乐音单音符信号频域内的平稳性,并结合乐音识别的包络波形、快速傅里叶变换、频谱分析、除噪声、十二平均律、调式、调性、和声等相关技术和算法,设计MATLAB软件对乐音识别自动配置的流程,如图1所示。

图1 MATLAB软件乐音识别自动配置流程图

2MATLAB软件对乐音识别自动配置和声的关键模块分析

2.1 乐音信号的预处理

乐音信号的预处理涉及噪声消除、端点检测和单音符分割,为了简化运算过程,需对数字化乐音信号进行归一化处理,限定其范围,而后进行预处理。

通过式(2),依据钢琴键音的最大频率和采样频率数值[1],计算得出最大的分解尺度,即可完成高低频段的过滤,且保证了信号谐波的适中性,利于更好地识别乐音。

器件噪声的消除多采用门限电平方法,通过计算乐音信号能量值,设定一门限阀值来对其进行评估,当能量值低于此值时,将其置零。

2)端点检测。

在经过归一化处理之后需要进行短时能量和短时过零率检测,首先要设置两个门限阀值,即高门限阀值δ1和低门限阀值δ2,阀值的设定直接影响乐音信号的分帧处理结果。当乐音信号数值高于δ2时,进入过渡段,但还无法确定是否已到音乐段,若数值再次低于δ2,则进入静音段;若乐音信号数值超过δ1时,则进入乐音段;继续监测,若短时能量低于δ2,则进入静音段,开始下一帧的循环。

3)单音符分割。

在经过端点检测之后,需依据其结果对连续乐音进行单音符分割,并将分割结果依据一定顺序进行保存,由此形成新的单音符。所得的单音符分割结果仅涉及乐音的基因数据和少数谐波信号,可将其以wav格式进行储存。

2.2 乐音识别分析与和声构造

1)乐音分析包括乐音信号特征提取及模型识别。

首先,进行乐音信号特征提取,该环节结果的好坏对系统识别精度的影响较大,因为需将乐音信号用MATLAB软件能够处理的特征参数替代。乐音信号特征提取的算法主要有LPCC线性预测倒谱系数法和MFCC梅尔频率倒谱系数法,通过MATLAB软件的仿真计算,对两种算法进行比较发现,MFCC算法创新性地将线性频域坐标转换到梅尔坐标,提升了MATLAB软件对低频信号的敏感性,消除了高频噪声的干扰,表现出更好的识别性能。该算法的本质在于将时域内的频谱经由非线性的频谱进行转换,梅尔刻度与时域频率之间的具体关系如下:

(7)

式中Hy(k)为带通滤波器,则中心频率f(y)表示为:

(8)

(9)

其中P为MFCC参数的阶数,本文MATLAB软件中P的值取12。

其次,乐音识别模型的好坏关系到高识别率的获取,而BP神经网络的识别模型具有非线性逼近、鲁棒性、自学性、容错能力等优势,且分类能力和输入输出影射能力较强。BP神经网络在乐音识别中的主要应用涉及模型参数设置:输入层12个神经元,输出层1个神经元,分别对应乐音信号的12维特征参数及钢琴乐音的主频,而隐层神经元则依据实验对比确定。

2)和声构造。

运用MATLAB软件实现乐音文件的读取,并借助上述算法实现对乐器旋律音高、音色、音量等的识别分析,并采用和旋、延长、添加沸点等方式来实现旋律的自动和声配置。

3MATLAB软件对乐音识别自动配置和声的实现

本文以钢琴演奏曲《小星星》中的一段作为研究实例,借助专业的录音设备进行音频信号采集,并将其转换成wav格式的音频文件。通过MATLAB软件实现了音频文件的读取,得出曲子的演奏波形如图2所示。

图2 钢琴曲《小星星》原始旋律波形图

仅选取图2原始波形图中的正顶点,运用MATLAB软件对其作线性插值后得出包络线,而后再选取该包络线的正定点进行线性插值,以这样的方式重复多次之后(一般4次以上),提取此时包络线的顶点,得出上述乐音波形的每个旋律的包络线顶点如图3所示。

图3 钢琴曲《小星星》原始旋律波的包络线

从图3可知,包络线每两个顶点之间为一个音符,提取该音符就可以实现该钢琴曲的乐音识别、分析,但对高音频进行频谱分析时,应截选其中部分波形,以避免前后音符的干扰[3]。同时还需要对每个音的频谱进行分析,并将稳定波形予以提取,消除两端的衔接波形以除去非线性谐波和噪声,从而确定旋律的音值、音高。本文选用和弦与旋律相结合的方式来进行和声自动配置,并依据一定的和声配置程序,以小节第一个音的采样点进行和声构造,通过循环拼接为全部和声的根音向量、三音向量以及五音向量,最终经过叠加构造出配置好的该段乐音的波形如图4所示。

图4 钢琴曲《小星星》配置和声之后的波形

4结束语

本文所借助的MATLAB软件对于乐音识别自动配置和声具有很强的应用性,为乐器演奏的乐音识别、提取、处理和和声构造提供了有效的解决途

径,是现代计算技术与音乐识别的有效结合。但是,目前的研究较多地停留在理论层面,还需要相关的试验支撑,实践性推广有待进一步加强,以拓展其推广空间。

参考文献:

[1]伍洋. 基于MFCC和BP神经网络的乐音主频识别研究[D].长沙:中南大学,2012.

[2]杨若芳,项顶. 基于MATLAB实现音乐识别与自动配置和声的功能[J]. 自动化与仪器仪表,2011(1):126-128.

[3]王婷. 基于iOS平台的乐音识别关键技术研究与设计[D].青岛:中国海洋大学,2012.

Research on music recognition automatic configuration of a Matlab system

LI Xiaofeng

(College of Continuing Education, Guangdong Institute of

Science and Technology. Guangdong Dongguan, 523000, China)

Abstract:In order to automatically configure and tune the melody of a musical instrument, it introduces a Matlab software, gives the ideas and methods of music recognition, describes the whole process of the existing piano tone melody how to generate a multi tone and harmony automatically. Finally, it takes a piano tone melody "Little Star" to make a simulation experiments, the results show that the research has practicability.

Key words:MATLAB; music identification; harmony theory; automatic configuration

作者简介:李啸凤(1988—),女,湖南衡阳人,广东科技学院助教,主要研究方向为乐音识别技术。

收稿日期:2015-10-09

中图分类号:TP29

文献标志码:A

文章编号:2095-509X(2015)12-0070-04

DOI:10.3969/j.issn.2095-509X.2015.12.019