论文部分内容阅读
[摘要]文章比较了多种乐音分析方法的优缺点,针对目前频谱分析软件的不足,开发了乐音小波包分析程序。通过对程序的使用检测,证明将小波包变换理论应用于乐音分析可以取得比傅立叶变换更高的频域分析精度,同时还兼有时域方面的精确分析能力,为乐音分析提供了新的研究手段。
[关键词]小波包变换;乐音;LabVIEW;时—频综合分析
收稿日期:2014-09-17
基金项目:2014年国家社会科学基金艺术学项目“维吾尔弦乐器共鸣弦音响特性研究”(14BD037)。
作者简介:杨 帆(1975— ),男,博士,新疆艺术学院音乐系副教授。
杨杰朝(1981— ),男,硕士,中国科学院工程师。
引 言
人的听觉系统灵敏度相对宽松,表现在听觉系统只能对某一范围内的物理量变化做出正确判断,乐音间声学特性的细微差异并不一定会在主观听觉中形成严格的对应感知。因此,对这些细微差异的比较必须通过声学测量进行,对乐音时域与频域信息的提取、处理与分析不仅是区分不同乐音本质特征的根本依据,也成为音乐声学研究乐音声学特性的重要手段。
一、乐音分析角度
绝大多数乐音为复合音,其中包含着基音、泛音等多个分音成份,并具有时间变化性。对这些乐音,可以由多个角度来分析,以得到对声音特性最全面的把握。现实生活中,由于声音的振动是不可见的,为了直观把握乐音声学特性的差异,音乐声学常采用不同的分析角度,将不可见的声音振动转化为可视图像,对乐音声学特性进行客观和细微的分析。研究中针对不同的分析对象,观察乐音的角度有所不同,所采用的分析方法也不相同。通常,音乐声学的分析对象包括两部分,一是乐音强度随时间的变化特性,称为时域特性(Time domain)。时域分析是通过观察随时间变化的乐音波形进行的分析,主要分析由多个频率成份合成出的乐音在不同时间阶段中的振动状态,但无法提供乐音具体频率成份及这些频率成份的振幅大小等信息。二是乐音所包含的具体频率分量特性,称为频域特性(Frequency domain)。频域分析是对乐音频率成份方面的分析,分析结果以频谱图的形式呈现,频谱图精确描述了乐音各组成频率、各频率振动幅度两方面的信息。
时域图与频谱图都是使用二维显示的,显示的内容各不相同又相互补充。时域图主要反映乐音的时间变化特征,频谱图则反映合成出乐音各频率的数量与它们之间的强度关系。目前,在音乐声学的分析中,使用频谱分析手段最为广泛,仅有SPEAR等极个别的软件具备有限的时域与频谱综合分析数据导出能力。
二、乐音分析方法比较
(一)傅立叶变换
目前,音乐声学最常用的频谱分析方法为傅立叶变换
(Fourier Transformation)。它是将一个复杂的周期信号分解为若干个不同频率正弦信号的叠加,其实质是将信号从时域转换为频域。多年来,傅立叶变换成为信号分析和信号处理中最为重要的工具,在很多领域中获得了广泛的应用,对于稳态信号而言,通过使用傅立叶变换检测信号的频率成份及频率能量分布,可以取得非常精确的分析结果。
绝大多数乐音并不是自始至终保持平稳的,具有较为典型的局部瞬态特征,它们不仅在频率成份的组成上具有局部特征,并且由于某些频率分量只会出现在乐音整体时间包络中一个非常短暂的时间段内,因而在频率振幅变化方面也具有显著的瞬态特征。“听觉是通过对起始状态中的谐音能量变化进行分析,从而能够识别音色。”①对个别乐音而言,乐音起振状态对音色形成的影响甚至要超过频率成份在音色中发挥的作用。在对乐音进行分析时,这些局部特征,对于研究者分析乐音振动状态、洞察发音体振动特性具有重要意义。
但是,由于傅立叶变换是一种整体变换,在将一个信号由时域变换为频域时,必须获得信号在时域中的全部信息,丧失了信号变化的时间信息,不具有时域-频域综合分析能力,不能反映出信号在指定时间上和指定频率上的频谱信息。为了克服傅立叶变换的这些局限, 1946年,D.Gabor提出了Gabor变换理论,也称为窗口傅立叶或短时傅立叶变换(Short-Time Fourier Transform)。
(二)窗口傅立叶变换
窗口傅立叶变换通过对信号加一可以滑动的时间窗口(图1),把信号的时域与频域结合起来,将信号截取为许多时长非常小的相同时间片断,然后对每个时间片断进行傅立叶变换。由于分析结果包含了时间与频率两方面的内容,可以确定信号在某一时间间隔内的频率成份,克服了原来不能分辨信号局部的不足,因而能够实现对时间和频率两方面的分析能力。在分析非平稳信号时,可以得到指定时刻的频率分布特征,形成了用于描述信号的时—频综合分析方法,得到了更为广泛的应用。对于窗口傅立叶变换而言,窗口的面积代表着局部精度。由于窗口傅立叶变换窗口的宽度是固定不变的,因此时域和频域的分辨率是由窗口的大小所决定的,窗口在某个域内的放大必然导致在另外一个域的缩小,信号在时间与频率两个域为相互制约的关系。
图1 窗口傅立叶变换示意图
对于乐音而言,由于振动频率与它的周期长度成反比,因此信号中低频频率分量频率范围较窄,振动幅值变化较慢,必须选择时间较长的窗口才能得出一个周期内的完整信息,即时域值较大而频域值较小。反之,由于乐音中的高频频率分量振幅变化速度较快,并且占用频带较宽,因此适合于采用时域值较小而频域值较大的窗口以取得精确的分析精度。可以看出,由于乐音分析中时域与频域的精度要求相互矛盾,针对乐音在不同频段上的分析要求,使用中需要对时域或频域的精度各做取舍。理想的窗口形状应在分析较低频率成份时,窗口应自动变宽,提高时域分辨能力;而在分析较高频率成份时,窗口自动变窄以提高频域识别精度,才能保证在时域和频域同时取得精确的分析结果。但是由于窗口傅立叶变换窗口形状是固定不变的,对于分析具有显著时变特征的乐音信号,不能同时满足高精度分析高频和低频信号的要求,使得它的应用仍存在一定的局限。 为了克服窗口傅立叶变换在应用上的局限,同时满足在时域与频域两方面的高精度要求,实现对非稳态信号的精确分析,在窗口傅立叶变换理论的基础之上,近年来发展出了一种新的时—频分析方法,称为小波变换分析方法。
(三)小波变换
“小波变换(Wavelet Transform),是一种信号的时间—频率(时间—尺度)分析方法。是近年来发展起来的新的学科分支,它的思想来源于伸缩与平移方法。”②
小波是一种长度有限、平均值为零的波形,它是将信号分解为若干个小波函数的叠加,这些函数均是由一个小波母函数经过时间平移和尺度伸缩生成的。尺度函数用来将基本小波做伸缩变化,在不同的尺度下小波的持续时间发生相应变化,尺度越大小波分析时段越长,包含信号内容较多而分析频率低,可以用于观察信号的完整波形;尺度越小则小波分析时段越短,包含信号内容较小因而分析频率高,可以用于信号细节的观察,分析中通过选择不同尺度就可以得到不同的时频分辨率。
因此,通过小波母函数在时间轴上的左右平移及按比例的尺度(频率)压缩伸展,可以分别获取适用于分析低频和高频频率分量的不同小波,使小波变换在时域和频域都具有精确分析信号局部特征的能力,并且能集中聚焦到分析对象的任意细节,放大信号在某一局部的精细特征,具有多分辨和“焦距可调”的特点。小波变换克服了傅立叶变换的不足,被誉为信号分析领域的“数学显微镜”。图2为采用不同尺度的小波对同一信号的分析结果示意图,尺度由上至下逐渐加大。
图2 小波变换尺度放大示意图
小波变换在时域和频域都有表征信号局部信息的能力,因而能有效地从信号中提取有用的信息。它不仅继承和发展了窗口傅立叶变换局部化的思想,而且克服了窗口大小不能随频率变化的缺点。其形状可变的时—频窗可以对分析信号进行适当的放大平移,进行多角度、多分辨率的分析,当观察高频分量时它自动变窄,时间分辨率较高,而当研究低频分量时自动变宽,频率分辨率较高,与实际问题中的高频信号持续时间短,低频信号持续时间长的自然规律相吻合,具有很强的自适应能力与局部分析能力,非常适于分析同时具有高频和低频分量的瞬态信号。
小波变换以二进原则进行频段划分,按分解层数逐级将信号划分为高频和低频两部分。如图3所示,图中A代表低频,D表示高频,数字下标代表小波变换的层数。S代表信号,S=A5+D5+D4+D3+D2+D1。由于频段的划分并不是等距的,因此造成信号频率越高划分频带越宽,信号频率越低划分频带越窄的分布形态。图中阴影部分是采用小波变换的划分结果,由于空白部分(即二进中的高频率分量)没有进行进一步的划分,因此这种划分方法虽然适用于对高频分量与低频分量的同时分解,但是仍然存在着分析高频信号时频率分辨率较差的不足。
图3 小波变换示意图
(四)小波包变换
小波包变换(Wavelet Packet Transform)是小波变换理论的进一步拓展,它是将小波内空间再分为子空间的分解函数,小波包在多个空间对信号的高、低频进行分解,在小波变换的基础上提供了更加精确的分析手段。
图4 小波包变换示意图
图4为小波包变换示意图,图中S代表信号,受图片尺寸限制,图中第4层与第5层分割结果未做标记,因此以第3层为例说明信号分割结果:S=AAA+DAA+ADA+……+DDD。图中阴影部分是用于与小波包变换比较的;采用小波变换所得到的分解结果,可以看出,小波包变换对小波变换无法分解的高频部分进行了进一步的分解,从而得到了具有更高分辨率的频谱分析结果。
小波变换及小波包变换在信号时—频分析中展现出了巨大的技术优势,这两种方法虽然已经在计算机应用、信号处理、语音识别与合成、图像处理与合成、工程技术等多个技术领域得到了成功应用,但是在乐音分析领域只有个别学者进行了探索。R.Kronland-Martinet和Ph. Guillemain两人以若干乐音为例,试验了采用小波变换方法估算与主观听觉相关音乐信号参数的可能性。③刘乐从研究音乐特征开始入手的,从物理声学、窗口傅立叶变换、小波变换、律学等角度探讨了音乐特征的提取与分析方法,结合实际尝试了提取方法的设计及计算机实现。④陈芳等学者提出了一种基于小波包变换,采用最佳分解结构的优选算法,用于提取音乐指纹。⑤总瞰国内外乐音信号分析与小波分析研究成果,目前,在乐音时—频综合分析方面小波及小波包变换的应用研究仍处于空白。
鉴于在分析非稳态信号时,小波包变换具有同时对信号低、高频分量进行高分辨率分解,得到精确时—频局部化信息的优异分析能力,本次研究开发了基于小波包变换理论的乐音时—频综合分析程序,软件采用LabVIEW虚拟仪器平台编写而成。
三、LabVIEW乐音小波包分析程序
虚拟仪器技术(Virtual Instrument) 是由计算机、数据采集硬件端口及虚拟仪器程序共同组成的,采用虚拟仪器开发平台搭建图形化虚拟仪器面板的仪器系统。在虚拟仪器系统中,仅有部分相关信号控制、采集、分析和显示的用于与计算机实现数据交换的硬件设备,具有数据分析处理、结果输出等核心功能;这主要由用户自主开发的虚拟仪器程序运算完成,是以计算机技术为基础的全新实验仪器设计方案。由于虚拟仪器平台通过调用不同功能模块实现虚拟示波器、虚拟频谱仪、虚拟频率计等多种不同功能的测试仪器,可迅速搭建具有多种复杂功能的测试系统,因此与传统仪器相比,测量测试实验的难度与成本大大降低,具有实验仪器种类多样、人机交互便捷、系统维护方便和一机多用等诸多优点。
美国国家仪器公司 (National Instruments,简称为NI)开发的LabVIEW是一个使用非常广泛的虚拟仪器开发平台。LabVIEW是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)的简称,它基于图形编程语言,以图标的形式提供了如数字滤波、窗函数、频谱分析、傅立叶变换等多种分析工具,并且提供了时频分析、小波变换等多种信号处理工具包,调用非常方便。 目前,已有很多研究者开发了基于LabVIEW的音乐研究程序,这些文献均是以计算机及音频接口作为主要硬件平台,设计了虚拟音频信号采集与分析系统,以实现音频信号采集、实时动态显示、信号时域分析和频谱分析处理等功能,并且已经完成了研究任务若干。⑥⑦⑧《小提琴音响品质评估与优化》⑨《基于LabVIEW接口的数据采集系统设计及吉他音色的研究》B10等研究以LabVIEW为平台设计了乐器音响虚拟分析程序,分别对小提琴、吉他等乐器音频进行了采集与测量,分析了乐器声学性能,完成了乐器音频评估试验。《基于LabVIEW 的乐器数字调音系统》B11用LabVIEW软件开发了乐器数字调音系统,完成了对模拟钢琴及吉他的基频检测、参数测量、频谱分析及图形显示等任务,实现了对乐器的音准调音。总结文献可以看到,由于LabVIEW虚拟仪器平台具有性价比高、通用性强、性能可靠、扩展性好、界面简单等优点,已有大量研究人员使用基于LabVIEW的虚拟音频信号分析系统开展研究工作。
鉴于LabVIEW虚拟仪器平台的多种优势,本研究以该软件为平台,首次编写了基于小波包变换理论的乐音时—频综合分析程序,以期能从多个观察角度,更加细致地完成对乐音信号的深入分析。该程序首先读入乐音信号进行时域显示及常规FFT变换用于比较,然后利用小波包变换方法对原始音频信号进行分解及频域转换。由于乐音频率范围一般在20 KHz之内,结合本次实验乐音的采样率为65536 Hz,因此,设定了分解层次共为8层的小波包,每层分解对应的频率范围为128 Hz。图5为程序的前面板截图。
图5 乐音小波包分析程序前面板图
程序架构采用事件状态机,由事件处理器和状态机综合而成。事件结构用于用户在前面板选择小波类型、小波层次、波峰阈值时,响应不同的条件结构事件。在整个While循环中,程序首先对原始输入信号进行幅度单位调整,将单位转换为输出所用声压级单位分贝(dB),然后对信号进行时域及频域分析,随后按照程序前面板的具体选项进行小波包分解,事件结构进行过程结束后,While循环会对频域分解结果中高于设定阈值的信号波峰进行搜索,将搜索结果进行频率与音分转换,并在前面板上显示出来(见图6)。
图6 乐音小波包分析程序框图
程序的编写利用了LabVIEW自带的小波变换工具包,结合需要的分解层次进行。子程序进行8层分解(28=256)。LabVIEW小波包模块包括Create WP session,WP Decomposition,WP Read Node,WP Write Node,WP Reconstruction等子程序。小波包分解程序编写流程是首先创建小波包结构,通过WP Decomposition创建需要分解的小波类型(Wavelet Type)以及层数(level)并导入乐音;然后利用编写的子程序(Path index)对WP Read Node设置需要分解层数的路径,并对不需要的节点系数通过循环置零;随后利用WP Reconstruction子程序进行乐音重构,利用Dispose WP Session子程序关闭小波包。图7是小波包的第3个分解。
图7 音频信号处理小波包分解图
小波包分解中,分析信号通过相应的高通和低通滤波器后,高频部分和低频部分会再向下采样。为避免高、低滤波器在小波包变换中的相互干扰,信号分量并不是由频率从小到大顺序排列,而是按照一定的规律摆放。频率分解过程可用图8的二分树表示。
图8 小波包分解树与频率顺序图
图中采样频率为128 Hz。对0~127 Hz的频率进行3层分解后,信号频率不是按照000、001、010、011、100、101、110、111等二进制顺序排列,而是按000、001、011、010、110、111、101、100顺序排列,将这些二进制码转换为十进制后,小波包摆放位置相应为0、1、3、2、6、7、5、4。实验中,通过使用不同频率的多个乐音试验,验证了该分配方法频率定位准确、运算过程高效,完全满足乐音信号分析的需要。
为完成测量数据频率单位向音分单位的转换,程序中包括了频率与音分转换模块(图9),对乐音的波峰幅度及频率进行整合,并通过频率与音分转换使输出单位变为音乐声学常用的音分单位。该模块由一个包含While循环和条件结构的状态机组成。按照乐音频率所在的不同频段来区分其所在的音分段,输入频率分别依次与在此频率内的100个音分频率比较,如果在某个频率范围内,相对应的音分序号就会被选择,并且转换成字符串作为音分序列的输出,移位寄存器实现音分频率的依次增加,并与输入频率进行对比;如果频率不在该频率范围内,那么数组索引的音分通过软件的移位寄存器递加,跳转到下一个频率,依次递推;如果频率在此范围内,那么音分就会在转换后显示。
图9 乐音频率与音分转换程序图
四、程序性能检测
为了验证小波包分析程序的运行能力与导出数据的可靠性,研究中专门编写了用于数据验证的分解—重构模块,通过对原信号与分解—重构信号进行比较来验证程序的分析能力。
(一)乐音信号的分解与重构
在程序检测中,使用小波包变换将乐音信号时域信号分解为8层,信号全频段共产生256组数据,将这些数据导出为Data文件,在系统Data文件夹中以文本方式保存(由于检测环节中需要调用各组分解数据用于比较,为方便计算机读取,选择以Data文件保存;正常使用时,数据直接导出至Excel软件),文件保存编号为0-255。分解后小波包数据文件顺序与实际小波包分解次序有对应关系,但并非顺序对应关系。其中,数据文件中前32个(编号为0-31)文件分别对应与0、1、3、2、6、7、5、4、12、13、15、14、10、11、9、8、24、25、27、26、30、31、29、28、20、21、23、22、18、19、17、16小波空间,以避免高、低滤波器在小波包变换中的相互干扰。 检测程序分为信号分解、数据读取及信号重构三个模块,用以实现对原始信号的分解、保存,文本数据读取并重构等功能,完成对原始信号与重构信号的比较。
1. 信号分解模块
时域信号是信号在时间域上的变化幅度。由于小波包分解中信号等于多个小波空间的相加,因此当把分析结果中不同小波空间中的信号幅值以同样的时间单位求和叠加时,所得到的信号即为重构信号,可以在时域对重构信号与原始信号的差异进行比较,分析小波包分解有可能形成的信号畸变。为完成检测,设计了数据读取与重构模块。
2. 数据读取模块
读取模块是用于读取Data文件的程序,运行中将按顺序自动读取系统Data文件夹中的256个Data文件。
3. 信号重构模块
在读取256组时域分解信号的同时,重构模块会在同样的时间创建点,以同样的时间间隔完成时域分解信号幅值的求和叠加,生成重构信号。前面板用于重构信号与原始信号的输出显示,可以用于比较它们在时域上的差别,并将信号差值显示出来。在分析复合音信号时,重构信号与原始信号的差值仅在5E~15V以内,差值完全可以忽略不计。
重构模块中除了可以完成两个信号在时域上的比较外,还可以通过前面板的音频播放开关,分别选择原始信号与重构信号进行听觉评判。
(二)乐音频谱分析检测
对乐音小波包分析程序频谱分析能力的检测中,首先使用了多个纯音信号作为检测信号,得到了极为精确的测量结果。为检测程序在高、低不同频段同时分解信号的分析精度,还采用Adobe Audition CS6音频编辑软件生成若干纯音,合成为一个复合音信号用于程序频谱分析能力检测。按国标GB/T 3241-2010 《电声学 倍频程和分数倍频程滤波器》文件规范,共选取了25 Hz~20000 Hz间共30个纯音频率信号合成出测试用复合音。软件截图如下。
1. Audition CS6软件
图10 Audition CS6软件生成信号图
2. 乐音小波包分析程序
图11 程序频谱分析图
从上图可以看出,以对数座标显示时,分析结果中各谐音成份的频率、振幅均保持高度一致,表明程序频谱分析功能非常精确。与Audition CS6软件相比,由于本次开发的程序采用小波包变换原理,因此在频谱分析能力与Audition CS6软件相当的同时,还具备对乐音各频率成份时域特性的分析能力。证明将小波包分析程序应用于乐音时-频综合分析,有着比Audition CS6软件更加优越的应用前景。
结 语
小波变换在时域和频域都有表征信号局部信息的能力,因而能从信号中提取更多有用信息,本研究首次将小波包变换理论应用于乐音时—频综合分析,开发了乐音时—频综合分析程序。经过性能检测实验及乐音分析实践运用,证明将小波包变换理论应用于乐音声学特性分析,不仅在频域分析时具有更高的分辨精度,同时又具备对乐音时域特性的精确分析能力,有助于后深入和拓宽对乐器振动状态及乐音声学特性的全面认识,为乐音声学特性分析、乐器音色核心特征提取、数字乐音合成等多个领域提供了新的研究手段,具有广阔的使用前景。
(特:感谢中国音乐学院音乐科技系韩宝强先生给予的支持与帮助。)
责任编辑:奚劲梅
注释:
①韩宝强:《音的历程——现代音乐声学导论》,中国文联出版社,2003,第58页。
②王慧琴:《小波分析与应用》,北京邮电大学出版社,2011,第20页。
③ R. Kronland-Martinet, Ph. Guillemain.“Wavelet Methods for Estimation of Parameters of musical signals ”.
The Journal of the Acoustical Society of America, 1990,88(S1) ,pp.187-188.
④刘乐:《钢琴演奏评价系统研究》,清华大学硕士论文,2005。
⑤陈芳、李伟、李晓强:《基于小波包最优基的音乐指纹提取算法》,《计算机工程》,2009年第9期,第236-240页。
⑥全晓莉、周南权、佘丽:《基于虚拟仪器技术的音频信号采集与处理》,《仪表技术与传感器》,2012年第7期,第32-34页。
⑦曲喜强、刘哲:《基于声卡的音频信号采集与分析系统设计》,《电子测试》,2009年第2期,第75-77页。
⑧刘芸、孙钦利、邢俊红:《基于LabVIEW的声卡数据采集系统设计》,《现代电子技术》,2007年第14期,第177-179页。
⑨吕林波:《小提琴音响品质评估与优化》,上海交通大学硕士论文,2011。
⑩陈超:《基于LabVIEW接口的数据采集系统设计及吉他音色的研究》,安徽理工大学硕士论文,2011。
B11 胡奕明、黄志刚、肖雷蕾、徐瑞阳:《基于LabVIEW的乐器数字调音系统》, 《现代电子技术》,2013年第6期,第141-144页。
[关键词]小波包变换;乐音;LabVIEW;时—频综合分析
收稿日期:2014-09-17
基金项目:2014年国家社会科学基金艺术学项目“维吾尔弦乐器共鸣弦音响特性研究”(14BD037)。
作者简介:杨 帆(1975— ),男,博士,新疆艺术学院音乐系副教授。
杨杰朝(1981— ),男,硕士,中国科学院工程师。
引 言
人的听觉系统灵敏度相对宽松,表现在听觉系统只能对某一范围内的物理量变化做出正确判断,乐音间声学特性的细微差异并不一定会在主观听觉中形成严格的对应感知。因此,对这些细微差异的比较必须通过声学测量进行,对乐音时域与频域信息的提取、处理与分析不仅是区分不同乐音本质特征的根本依据,也成为音乐声学研究乐音声学特性的重要手段。
一、乐音分析角度
绝大多数乐音为复合音,其中包含着基音、泛音等多个分音成份,并具有时间变化性。对这些乐音,可以由多个角度来分析,以得到对声音特性最全面的把握。现实生活中,由于声音的振动是不可见的,为了直观把握乐音声学特性的差异,音乐声学常采用不同的分析角度,将不可见的声音振动转化为可视图像,对乐音声学特性进行客观和细微的分析。研究中针对不同的分析对象,观察乐音的角度有所不同,所采用的分析方法也不相同。通常,音乐声学的分析对象包括两部分,一是乐音强度随时间的变化特性,称为时域特性(Time domain)。时域分析是通过观察随时间变化的乐音波形进行的分析,主要分析由多个频率成份合成出的乐音在不同时间阶段中的振动状态,但无法提供乐音具体频率成份及这些频率成份的振幅大小等信息。二是乐音所包含的具体频率分量特性,称为频域特性(Frequency domain)。频域分析是对乐音频率成份方面的分析,分析结果以频谱图的形式呈现,频谱图精确描述了乐音各组成频率、各频率振动幅度两方面的信息。
时域图与频谱图都是使用二维显示的,显示的内容各不相同又相互补充。时域图主要反映乐音的时间变化特征,频谱图则反映合成出乐音各频率的数量与它们之间的强度关系。目前,在音乐声学的分析中,使用频谱分析手段最为广泛,仅有SPEAR等极个别的软件具备有限的时域与频谱综合分析数据导出能力。
二、乐音分析方法比较
(一)傅立叶变换
目前,音乐声学最常用的频谱分析方法为傅立叶变换
(Fourier Transformation)。它是将一个复杂的周期信号分解为若干个不同频率正弦信号的叠加,其实质是将信号从时域转换为频域。多年来,傅立叶变换成为信号分析和信号处理中最为重要的工具,在很多领域中获得了广泛的应用,对于稳态信号而言,通过使用傅立叶变换检测信号的频率成份及频率能量分布,可以取得非常精确的分析结果。
绝大多数乐音并不是自始至终保持平稳的,具有较为典型的局部瞬态特征,它们不仅在频率成份的组成上具有局部特征,并且由于某些频率分量只会出现在乐音整体时间包络中一个非常短暂的时间段内,因而在频率振幅变化方面也具有显著的瞬态特征。“听觉是通过对起始状态中的谐音能量变化进行分析,从而能够识别音色。”①对个别乐音而言,乐音起振状态对音色形成的影响甚至要超过频率成份在音色中发挥的作用。在对乐音进行分析时,这些局部特征,对于研究者分析乐音振动状态、洞察发音体振动特性具有重要意义。
但是,由于傅立叶变换是一种整体变换,在将一个信号由时域变换为频域时,必须获得信号在时域中的全部信息,丧失了信号变化的时间信息,不具有时域-频域综合分析能力,不能反映出信号在指定时间上和指定频率上的频谱信息。为了克服傅立叶变换的这些局限, 1946年,D.Gabor提出了Gabor变换理论,也称为窗口傅立叶或短时傅立叶变换(Short-Time Fourier Transform)。
(二)窗口傅立叶变换
窗口傅立叶变换通过对信号加一可以滑动的时间窗口(图1),把信号的时域与频域结合起来,将信号截取为许多时长非常小的相同时间片断,然后对每个时间片断进行傅立叶变换。由于分析结果包含了时间与频率两方面的内容,可以确定信号在某一时间间隔内的频率成份,克服了原来不能分辨信号局部的不足,因而能够实现对时间和频率两方面的分析能力。在分析非平稳信号时,可以得到指定时刻的频率分布特征,形成了用于描述信号的时—频综合分析方法,得到了更为广泛的应用。对于窗口傅立叶变换而言,窗口的面积代表着局部精度。由于窗口傅立叶变换窗口的宽度是固定不变的,因此时域和频域的分辨率是由窗口的大小所决定的,窗口在某个域内的放大必然导致在另外一个域的缩小,信号在时间与频率两个域为相互制约的关系。
图1 窗口傅立叶变换示意图
对于乐音而言,由于振动频率与它的周期长度成反比,因此信号中低频频率分量频率范围较窄,振动幅值变化较慢,必须选择时间较长的窗口才能得出一个周期内的完整信息,即时域值较大而频域值较小。反之,由于乐音中的高频频率分量振幅变化速度较快,并且占用频带较宽,因此适合于采用时域值较小而频域值较大的窗口以取得精确的分析精度。可以看出,由于乐音分析中时域与频域的精度要求相互矛盾,针对乐音在不同频段上的分析要求,使用中需要对时域或频域的精度各做取舍。理想的窗口形状应在分析较低频率成份时,窗口应自动变宽,提高时域分辨能力;而在分析较高频率成份时,窗口自动变窄以提高频域识别精度,才能保证在时域和频域同时取得精确的分析结果。但是由于窗口傅立叶变换窗口形状是固定不变的,对于分析具有显著时变特征的乐音信号,不能同时满足高精度分析高频和低频信号的要求,使得它的应用仍存在一定的局限。 为了克服窗口傅立叶变换在应用上的局限,同时满足在时域与频域两方面的高精度要求,实现对非稳态信号的精确分析,在窗口傅立叶变换理论的基础之上,近年来发展出了一种新的时—频分析方法,称为小波变换分析方法。
(三)小波变换
“小波变换(Wavelet Transform),是一种信号的时间—频率(时间—尺度)分析方法。是近年来发展起来的新的学科分支,它的思想来源于伸缩与平移方法。”②
小波是一种长度有限、平均值为零的波形,它是将信号分解为若干个小波函数的叠加,这些函数均是由一个小波母函数经过时间平移和尺度伸缩生成的。尺度函数用来将基本小波做伸缩变化,在不同的尺度下小波的持续时间发生相应变化,尺度越大小波分析时段越长,包含信号内容较多而分析频率低,可以用于观察信号的完整波形;尺度越小则小波分析时段越短,包含信号内容较小因而分析频率高,可以用于信号细节的观察,分析中通过选择不同尺度就可以得到不同的时频分辨率。
因此,通过小波母函数在时间轴上的左右平移及按比例的尺度(频率)压缩伸展,可以分别获取适用于分析低频和高频频率分量的不同小波,使小波变换在时域和频域都具有精确分析信号局部特征的能力,并且能集中聚焦到分析对象的任意细节,放大信号在某一局部的精细特征,具有多分辨和“焦距可调”的特点。小波变换克服了傅立叶变换的不足,被誉为信号分析领域的“数学显微镜”。图2为采用不同尺度的小波对同一信号的分析结果示意图,尺度由上至下逐渐加大。
图2 小波变换尺度放大示意图
小波变换在时域和频域都有表征信号局部信息的能力,因而能有效地从信号中提取有用的信息。它不仅继承和发展了窗口傅立叶变换局部化的思想,而且克服了窗口大小不能随频率变化的缺点。其形状可变的时—频窗可以对分析信号进行适当的放大平移,进行多角度、多分辨率的分析,当观察高频分量时它自动变窄,时间分辨率较高,而当研究低频分量时自动变宽,频率分辨率较高,与实际问题中的高频信号持续时间短,低频信号持续时间长的自然规律相吻合,具有很强的自适应能力与局部分析能力,非常适于分析同时具有高频和低频分量的瞬态信号。
小波变换以二进原则进行频段划分,按分解层数逐级将信号划分为高频和低频两部分。如图3所示,图中A代表低频,D表示高频,数字下标代表小波变换的层数。S代表信号,S=A5+D5+D4+D3+D2+D1。由于频段的划分并不是等距的,因此造成信号频率越高划分频带越宽,信号频率越低划分频带越窄的分布形态。图中阴影部分是采用小波变换的划分结果,由于空白部分(即二进中的高频率分量)没有进行进一步的划分,因此这种划分方法虽然适用于对高频分量与低频分量的同时分解,但是仍然存在着分析高频信号时频率分辨率较差的不足。
图3 小波变换示意图
(四)小波包变换
小波包变换(Wavelet Packet Transform)是小波变换理论的进一步拓展,它是将小波内空间再分为子空间的分解函数,小波包在多个空间对信号的高、低频进行分解,在小波变换的基础上提供了更加精确的分析手段。
图4 小波包变换示意图
图4为小波包变换示意图,图中S代表信号,受图片尺寸限制,图中第4层与第5层分割结果未做标记,因此以第3层为例说明信号分割结果:S=AAA+DAA+ADA+……+DDD。图中阴影部分是用于与小波包变换比较的;采用小波变换所得到的分解结果,可以看出,小波包变换对小波变换无法分解的高频部分进行了进一步的分解,从而得到了具有更高分辨率的频谱分析结果。
小波变换及小波包变换在信号时—频分析中展现出了巨大的技术优势,这两种方法虽然已经在计算机应用、信号处理、语音识别与合成、图像处理与合成、工程技术等多个技术领域得到了成功应用,但是在乐音分析领域只有个别学者进行了探索。R.Kronland-Martinet和Ph. Guillemain两人以若干乐音为例,试验了采用小波变换方法估算与主观听觉相关音乐信号参数的可能性。③刘乐从研究音乐特征开始入手的,从物理声学、窗口傅立叶变换、小波变换、律学等角度探讨了音乐特征的提取与分析方法,结合实际尝试了提取方法的设计及计算机实现。④陈芳等学者提出了一种基于小波包变换,采用最佳分解结构的优选算法,用于提取音乐指纹。⑤总瞰国内外乐音信号分析与小波分析研究成果,目前,在乐音时—频综合分析方面小波及小波包变换的应用研究仍处于空白。
鉴于在分析非稳态信号时,小波包变换具有同时对信号低、高频分量进行高分辨率分解,得到精确时—频局部化信息的优异分析能力,本次研究开发了基于小波包变换理论的乐音时—频综合分析程序,软件采用LabVIEW虚拟仪器平台编写而成。
三、LabVIEW乐音小波包分析程序
虚拟仪器技术(Virtual Instrument) 是由计算机、数据采集硬件端口及虚拟仪器程序共同组成的,采用虚拟仪器开发平台搭建图形化虚拟仪器面板的仪器系统。在虚拟仪器系统中,仅有部分相关信号控制、采集、分析和显示的用于与计算机实现数据交换的硬件设备,具有数据分析处理、结果输出等核心功能;这主要由用户自主开发的虚拟仪器程序运算完成,是以计算机技术为基础的全新实验仪器设计方案。由于虚拟仪器平台通过调用不同功能模块实现虚拟示波器、虚拟频谱仪、虚拟频率计等多种不同功能的测试仪器,可迅速搭建具有多种复杂功能的测试系统,因此与传统仪器相比,测量测试实验的难度与成本大大降低,具有实验仪器种类多样、人机交互便捷、系统维护方便和一机多用等诸多优点。
美国国家仪器公司 (National Instruments,简称为NI)开发的LabVIEW是一个使用非常广泛的虚拟仪器开发平台。LabVIEW是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)的简称,它基于图形编程语言,以图标的形式提供了如数字滤波、窗函数、频谱分析、傅立叶变换等多种分析工具,并且提供了时频分析、小波变换等多种信号处理工具包,调用非常方便。 目前,已有很多研究者开发了基于LabVIEW的音乐研究程序,这些文献均是以计算机及音频接口作为主要硬件平台,设计了虚拟音频信号采集与分析系统,以实现音频信号采集、实时动态显示、信号时域分析和频谱分析处理等功能,并且已经完成了研究任务若干。⑥⑦⑧《小提琴音响品质评估与优化》⑨《基于LabVIEW接口的数据采集系统设计及吉他音色的研究》B10等研究以LabVIEW为平台设计了乐器音响虚拟分析程序,分别对小提琴、吉他等乐器音频进行了采集与测量,分析了乐器声学性能,完成了乐器音频评估试验。《基于LabVIEW 的乐器数字调音系统》B11用LabVIEW软件开发了乐器数字调音系统,完成了对模拟钢琴及吉他的基频检测、参数测量、频谱分析及图形显示等任务,实现了对乐器的音准调音。总结文献可以看到,由于LabVIEW虚拟仪器平台具有性价比高、通用性强、性能可靠、扩展性好、界面简单等优点,已有大量研究人员使用基于LabVIEW的虚拟音频信号分析系统开展研究工作。
鉴于LabVIEW虚拟仪器平台的多种优势,本研究以该软件为平台,首次编写了基于小波包变换理论的乐音时—频综合分析程序,以期能从多个观察角度,更加细致地完成对乐音信号的深入分析。该程序首先读入乐音信号进行时域显示及常规FFT变换用于比较,然后利用小波包变换方法对原始音频信号进行分解及频域转换。由于乐音频率范围一般在20 KHz之内,结合本次实验乐音的采样率为65536 Hz,因此,设定了分解层次共为8层的小波包,每层分解对应的频率范围为128 Hz。图5为程序的前面板截图。
图5 乐音小波包分析程序前面板图
程序架构采用事件状态机,由事件处理器和状态机综合而成。事件结构用于用户在前面板选择小波类型、小波层次、波峰阈值时,响应不同的条件结构事件。在整个While循环中,程序首先对原始输入信号进行幅度单位调整,将单位转换为输出所用声压级单位分贝(dB),然后对信号进行时域及频域分析,随后按照程序前面板的具体选项进行小波包分解,事件结构进行过程结束后,While循环会对频域分解结果中高于设定阈值的信号波峰进行搜索,将搜索结果进行频率与音分转换,并在前面板上显示出来(见图6)。
图6 乐音小波包分析程序框图
程序的编写利用了LabVIEW自带的小波变换工具包,结合需要的分解层次进行。子程序进行8层分解(28=256)。LabVIEW小波包模块包括Create WP session,WP Decomposition,WP Read Node,WP Write Node,WP Reconstruction等子程序。小波包分解程序编写流程是首先创建小波包结构,通过WP Decomposition创建需要分解的小波类型(Wavelet Type)以及层数(level)并导入乐音;然后利用编写的子程序(Path index)对WP Read Node设置需要分解层数的路径,并对不需要的节点系数通过循环置零;随后利用WP Reconstruction子程序进行乐音重构,利用Dispose WP Session子程序关闭小波包。图7是小波包的第3个分解。
图7 音频信号处理小波包分解图
小波包分解中,分析信号通过相应的高通和低通滤波器后,高频部分和低频部分会再向下采样。为避免高、低滤波器在小波包变换中的相互干扰,信号分量并不是由频率从小到大顺序排列,而是按照一定的规律摆放。频率分解过程可用图8的二分树表示。
图8 小波包分解树与频率顺序图
图中采样频率为128 Hz。对0~127 Hz的频率进行3层分解后,信号频率不是按照000、001、010、011、100、101、110、111等二进制顺序排列,而是按000、001、011、010、110、111、101、100顺序排列,将这些二进制码转换为十进制后,小波包摆放位置相应为0、1、3、2、6、7、5、4。实验中,通过使用不同频率的多个乐音试验,验证了该分配方法频率定位准确、运算过程高效,完全满足乐音信号分析的需要。
为完成测量数据频率单位向音分单位的转换,程序中包括了频率与音分转换模块(图9),对乐音的波峰幅度及频率进行整合,并通过频率与音分转换使输出单位变为音乐声学常用的音分单位。该模块由一个包含While循环和条件结构的状态机组成。按照乐音频率所在的不同频段来区分其所在的音分段,输入频率分别依次与在此频率内的100个音分频率比较,如果在某个频率范围内,相对应的音分序号就会被选择,并且转换成字符串作为音分序列的输出,移位寄存器实现音分频率的依次增加,并与输入频率进行对比;如果频率不在该频率范围内,那么数组索引的音分通过软件的移位寄存器递加,跳转到下一个频率,依次递推;如果频率在此范围内,那么音分就会在转换后显示。
图9 乐音频率与音分转换程序图
四、程序性能检测
为了验证小波包分析程序的运行能力与导出数据的可靠性,研究中专门编写了用于数据验证的分解—重构模块,通过对原信号与分解—重构信号进行比较来验证程序的分析能力。
(一)乐音信号的分解与重构
在程序检测中,使用小波包变换将乐音信号时域信号分解为8层,信号全频段共产生256组数据,将这些数据导出为Data文件,在系统Data文件夹中以文本方式保存(由于检测环节中需要调用各组分解数据用于比较,为方便计算机读取,选择以Data文件保存;正常使用时,数据直接导出至Excel软件),文件保存编号为0-255。分解后小波包数据文件顺序与实际小波包分解次序有对应关系,但并非顺序对应关系。其中,数据文件中前32个(编号为0-31)文件分别对应与0、1、3、2、6、7、5、4、12、13、15、14、10、11、9、8、24、25、27、26、30、31、29、28、20、21、23、22、18、19、17、16小波空间,以避免高、低滤波器在小波包变换中的相互干扰。 检测程序分为信号分解、数据读取及信号重构三个模块,用以实现对原始信号的分解、保存,文本数据读取并重构等功能,完成对原始信号与重构信号的比较。
1. 信号分解模块
时域信号是信号在时间域上的变化幅度。由于小波包分解中信号等于多个小波空间的相加,因此当把分析结果中不同小波空间中的信号幅值以同样的时间单位求和叠加时,所得到的信号即为重构信号,可以在时域对重构信号与原始信号的差异进行比较,分析小波包分解有可能形成的信号畸变。为完成检测,设计了数据读取与重构模块。
2. 数据读取模块
读取模块是用于读取Data文件的程序,运行中将按顺序自动读取系统Data文件夹中的256个Data文件。
3. 信号重构模块
在读取256组时域分解信号的同时,重构模块会在同样的时间创建点,以同样的时间间隔完成时域分解信号幅值的求和叠加,生成重构信号。前面板用于重构信号与原始信号的输出显示,可以用于比较它们在时域上的差别,并将信号差值显示出来。在分析复合音信号时,重构信号与原始信号的差值仅在5E~15V以内,差值完全可以忽略不计。
重构模块中除了可以完成两个信号在时域上的比较外,还可以通过前面板的音频播放开关,分别选择原始信号与重构信号进行听觉评判。
(二)乐音频谱分析检测
对乐音小波包分析程序频谱分析能力的检测中,首先使用了多个纯音信号作为检测信号,得到了极为精确的测量结果。为检测程序在高、低不同频段同时分解信号的分析精度,还采用Adobe Audition CS6音频编辑软件生成若干纯音,合成为一个复合音信号用于程序频谱分析能力检测。按国标GB/T 3241-2010 《电声学 倍频程和分数倍频程滤波器》文件规范,共选取了25 Hz~20000 Hz间共30个纯音频率信号合成出测试用复合音。软件截图如下。
1. Audition CS6软件
图10 Audition CS6软件生成信号图
2. 乐音小波包分析程序
图11 程序频谱分析图
从上图可以看出,以对数座标显示时,分析结果中各谐音成份的频率、振幅均保持高度一致,表明程序频谱分析功能非常精确。与Audition CS6软件相比,由于本次开发的程序采用小波包变换原理,因此在频谱分析能力与Audition CS6软件相当的同时,还具备对乐音各频率成份时域特性的分析能力。证明将小波包分析程序应用于乐音时-频综合分析,有着比Audition CS6软件更加优越的应用前景。
结 语
小波变换在时域和频域都有表征信号局部信息的能力,因而能从信号中提取更多有用信息,本研究首次将小波包变换理论应用于乐音时—频综合分析,开发了乐音时—频综合分析程序。经过性能检测实验及乐音分析实践运用,证明将小波包变换理论应用于乐音声学特性分析,不仅在频域分析时具有更高的分辨精度,同时又具备对乐音时域特性的精确分析能力,有助于后深入和拓宽对乐器振动状态及乐音声学特性的全面认识,为乐音声学特性分析、乐器音色核心特征提取、数字乐音合成等多个领域提供了新的研究手段,具有广阔的使用前景。
(特:感谢中国音乐学院音乐科技系韩宝强先生给予的支持与帮助。)
责任编辑:奚劲梅
注释:
①韩宝强:《音的历程——现代音乐声学导论》,中国文联出版社,2003,第58页。
②王慧琴:《小波分析与应用》,北京邮电大学出版社,2011,第20页。
③ R. Kronland-Martinet, Ph. Guillemain.“Wavelet Methods for Estimation of Parameters of musical signals ”.
The Journal of the Acoustical Society of America, 1990,88(S1) ,pp.187-188.
④刘乐:《钢琴演奏评价系统研究》,清华大学硕士论文,2005。
⑤陈芳、李伟、李晓强:《基于小波包最优基的音乐指纹提取算法》,《计算机工程》,2009年第9期,第236-240页。
⑥全晓莉、周南权、佘丽:《基于虚拟仪器技术的音频信号采集与处理》,《仪表技术与传感器》,2012年第7期,第32-34页。
⑦曲喜强、刘哲:《基于声卡的音频信号采集与分析系统设计》,《电子测试》,2009年第2期,第75-77页。
⑧刘芸、孙钦利、邢俊红:《基于LabVIEW的声卡数据采集系统设计》,《现代电子技术》,2007年第14期,第177-179页。
⑨吕林波:《小提琴音响品质评估与优化》,上海交通大学硕士论文,2011。
⑩陈超:《基于LabVIEW接口的数据采集系统设计及吉他音色的研究》,安徽理工大学硕士论文,2011。
B11 胡奕明、黄志刚、肖雷蕾、徐瑞阳:《基于LabVIEW的乐器数字调音系统》, 《现代电子技术》,2013年第6期,第141-144页。