基于支持向量机算法的音乐风格识别系统
2024-05-29罗红霞罗娜
罗红霞 罗娜
摘要:音乐风格分类是音乐信息检索和音乐推荐当中的重要一环,它对音乐风格分类效率的要求越来越高。然而,音乐风格的识别对于非专业人士而言是比较困难的,因此我们建立了一种基于机器学习的音乐风格识别系统,该文研究对象为最具代表性的4类音乐风格,并选取47首爵士风格音乐、47首摇滚风格音乐、42首古典风格音乐以及40首现代风格音乐作为样本,应用快速傅里叶变换、图像特征提取,结合机器学习模型,建立了基于支持向量机算法的音乐风格识别系统,最终实现了四种音乐风格的同时识别。该模型用于盲测的AUC(受试者工作特征曲线下面积)平均值为0.871,分类的准确率为71.7%。
关键词:支持向量机算法;音乐风格;快速傅里叶变换
中图分类号:TP391文献标志码:A文章编号:1001-2443(2024)02-0123-06
引言
互联网时代背景下,音乐信息检索MIR(Music Information Retrieval)技术是一个结合音乐和计算机领域的新兴交叉学科,它在音乐理论与创作、音乐教学与表演中具有重要应用。近三十年来,有众多非音乐领域工作者运用机器学习与音乐进行学科交叉,在新媒体平台发布各类音乐的识别模型操作流程和学术论文。人声演唱是大众所接触到最常见的音乐,它的旋律线条单一、音域较窄,且识别度高。近年来,在音乐平台榜单中可以看到各类乐器的音乐作品也列入榜单之中,器乐作品的结构特征是随着音乐风格的不同而不同,国内外众多学者运用模型支持向量机(SVM)、隐马尔可夫模型( HMM )、K近邻(KNN)、随机森林(RF)、逻辑回归(LR)、自适应增强(Adaboost)、神经网络(NN)等算法通过模拟人类学习方式进行机器学习,有效地实现器乐作品音乐风格的识别[1]。在上述模型使用中,由于同一个人在不同音域演唱(演奏)不同音乐风格的作品时,多方面的因素会导致研究者在提取音乐信号特征时出现偏差,进而导致音乐风格的识别精度较低。随着技术的发展,网络层级的增加,我们需要找到可以提取人手工定义的特征,且很难触及的高级别特征,以进一步提高音乐风格的识别精度及效率。
摇滚音乐、爵士音乐、古典音乐、现代音乐在作品形式和内容上均有着鲜明的艺术特色,受作品的时代、题材、社会文化等影响,具备着独特的表现方式和相对稳定的时代风格。这些音乐风格的作品如今也受到了听众们的青睐,在音乐播放器的排行榜中,摇滚音乐、爵士音乐、古典音乐都稳居前列。在音乐风格分类中,选用特定的一段音乐,从旋律的音量、音调、音色、速度、强度变化等,找到音乐风格的分类精度,从而缩短分类运算时间,以期达到算法的实用性[2,3]。使用频谱可以将音乐史上存在的任何音乐流派的音响成品当作分析对象,具体地,先过滤掉一切声音客体以外的形式内容,并以作品音响作为客体对象,以实证、科学、客观的揭示分析对象的自然物理属性,而后再去与上述声音客体以外的形式内容比对、斟酌、遴选并提炼和总结出音乐识别系统所需的内容和结论[4]。目前,特征提取是音乐风格分类研究中的重要参照依据,为了提高分类的性能,有必要对特征进行筛选。选择重要特征并剔除不显著的特征,应用快速傅里叶变换、图像特征提取,结合机器学习模型,建立基于支持向量机算法的音乐风格识别系统,可以有效解决模型算法空间和时间的复杂度。
1 研究背景
音乐特征提取在分类任务中起着关键作用,它是判断音乐风格的重要组成部分。当前MIR 技术对信号级的音乐识别已经达到了较高精度,但由于数据程序繁琐,且耗时过长,无法便捷、高效的识别各类音乐,因此,近年来音乐识别 CSI ( Cover Song Identification) 已成为学术界的研究热点。19世纪末和20 世纪初,由于数字信号处理技术、频率测量技术以及电子技术的革新,音乐也得到了空前的发展,各类音乐作品出现了乐队编制、单旋律无伴奏以及电子音乐等多个版本,这为听众提供了更多的新体验,也为音乐风格的有效区分个信号分类增加了难度。Juan P B(2007)[5]使用隐马尔可夫模型( HMM )对非原版作品的测试移位、间隙、交换和节拍进行检索,运用Viterbi 算法提取出最为准确的旋律和弦序列,同时使用 NWS ( Needleman-Wunsch-Sellers) 近似字符串匹配算法计算出两首旋律和弦序列的相似度,以音乐节拍和音乐调式实现对音乐作品版本的识别。雷文康(2017)[6]通过音乐信号特征(音高、音色、节奏)与音乐风格流派的语义信息和声谱图特征(短时傅里叶变换得到的时频图、Mel频谱图等)的呈现,构建出循環神经网络的音乐流派分类算法,进一步提高分类准确率。Trabelsi等(2012)[7]佐证Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)是分类研究中的重要特征参数并将其用于音乐风格的分类。宋扬等(2022)[8]提出用一种融合核主成分分析(Kernel Principal Component Analysis, KPCA)和改进K 近邻的分类方法,筛选出不显著的特征,以期提升特征子集的分类效果。在计算机自动分析中,音乐信号的特征表达主要有:能量特征、过零率、幅度特征(时域表达);线性预测编码、梅尔声谱图、频谱重心等(频域表达);音高、音调、和弦(音色表达);风格、乐器、情绪(高级表达)。关于音乐识别常用的分类方法是音乐特征的提取和识别分类,一是提取音乐的特征量进行训练建模;二是利用建好的模型对不同音乐的测试样本进行识别分类得出预处理结果,音乐样本的预处理决定了音乐样本中的具体特征,从而达到最终音乐风格的识别任务。
为找到音乐风格中高级别的特征,我们将对爵士音乐风格、摇滚音乐风格、古典音乐风格和现代音乐风格展开研究。从音乐发展的角度来看,各时期的音乐风格是相对稳定的,能反映出该时期众音乐家的个人思想观念、审美情趣、精神气质等内在特性的外部印记。两个乐音之间的频率比决定了两者之间的音程关系[9]。音乐风格与音程关系的使用间也存在着一定的关系。古典主义时期的音乐为朴素中见崇高,重视真实地描写现实生活,具有深刻的思想性,其音乐进行有条不紊,富于逻辑性[10]。在音程使用上,其旋律以级进2-3度音程居多,也会出现12-13度的音程,如作品《悲怆奏鸣曲》第二乐章(路德维希·凡·贝多芬)乐谱的音程分析所示(表1)。爵士音乐兴盛于20世纪,它是一种典型的美国式的流行音乐文化,众多学者认为它是一种即兴演奏的舞蹈音乐和流行音乐的代名词[11]。爵士音乐风格作品的音程关系没有古典音乐风格变化多,通常以平稳的旋律进行,如作品《星尘》(路易斯·阿姆斯特朗)中便鲜见跨度较大的音程关系。摇滚乐兴起于20世纪50年代中期,主要受到节奏布鲁斯、乡村音乐和叮砰巷音乐的影响发展而来[12-13]。早期摇滚乐为黑人音乐节奏布鲁斯的翻唱版,因而节奏布鲁斯是其主要根基,作品的前奏与副歌部分会形成鲜明的音乐对比,它会出现跨度较大的12-13度音程,同时,它还以0-3度的级进音程见多,作品《Paint It Black》(滚石乐队)的音程均分布在该范围内,而现代音乐指19世纪末、20世纪中期以非传统作曲技法,用新的作曲手法、音乐理论、音乐语言创作出来的音乐,该类音乐风格特点多为和声结构复杂、调性模糊和无调性的音乐作品,以平行音程和平行和弦居多,旋律连接以小跳和级进为主,以复杂的节拍和改编重拍规律等方式呈现,如《阿根廷舞曲》(阿尔维托·希纳斯特拉)。
2 音乐风格识别实现
在同一类风格的音乐作品中,其声音的频率、振动、幅度、时间、相位、声波的谱等参数具有部分和整体的相似特质、构造细致和非整数性(关联维数)。任何乐音都是一个独立的生命体,乐音在“产生-成长-衰减-消失”的整个过程中最易为人所察觉的就是音高、音色、音强、声场造型。为了找到客观识别音乐风格的描述方法以及四种音乐风格的差异,在本节中,我们将讨论在不同条件和分类器下的音乐风格识别实现的问题。我们对音乐风格识别的实现过程如图1所示。
由于一首乐曲包含的信息量和数据量巨大,直接对全部数据进行机器学习等操作所需的硬件设施要求较高。因此,我们经过一系列处理,将大数据量转化为可视的图像后续进行机器学习,大大减少了工作量,降低了所需的硬件设施要求,可以实现普通用户的自行操作。我们随机选取了47首爵士风格音乐、47首摇滚风格音乐、42首古典风格音乐以及40首现代风格音乐作为样本,用于模型的建立。
2.1 音乐信号的处理
任何波形都可以利用许多正弦波相加来代替,任何声音都可以分解成若干不同相位、不同振幅、不同频率的正弦波,这是傅里叶定律。为了能够对乐曲进行数据分析,我们首先使用Python编程语言对音乐文件进行了数据处理及转换。使用readframes返回音乐文件的二进制数据,根据声道数将读取的二进制数据转换为一个可以计算的数组,以便进行后续的绘图及处理。此外,利用SciPy提供的fftpack模块将乐曲的wav文件进行快速傅里叶变换(Fast Fourier Transform, FFT),在非正弦周期函数中展开傅里叶级数,将傅里叶级数中每一个正弦分量的振幅和初相角沿着频率轴画出频谱图。利用傅里叶变换后的数据,可以计算出乐曲的频率、幅值、相位等参数,为后续的音乐风格区分提供数据支撑。
2.2 数据处理与绘图
由于乐曲数据量大,需要对数据进行一定的处理以方便后续运算及应用。利用自主编写的Python程序对数据进行处理和绘图。首先将乐曲的左右声道数据进行分割,获取两个声道的数据。随后,我们分别对快速傅里叶变换前后的音乐数据进行图像的绘制。快速傅里叶变换前,以时间为x轴参数,x轴为节奏数值轴,将全音符作为整数1,伴随节奏值的依次缩小,将得到单位节奏值递减图;以幅值为y轴参数,y轴幅值音数作为带宽单位,根据作品律制及所组成的音阶结构的不同,它将用作量化的标准,x轴和y轴将绘制成时间-幅值的折线图。快速傅里叶变换后,分别绘制全频率范围的频率-幅值以及频率-相位的图像。
此外,为了探究不同频率的信息是否会给音乐风格的区分产生巨大影响,我们截取人耳能听到的20 ~20000 Hz区段作为原始分析对象。将20 ~20000 Hz的频率分为低频(20 ~160 Hz)、中频(160 ~1280 Hz)、高频(1280 ~20000 Hz)三个区段分别进行处理。将数据进行可视化,对低频、中频、高频三个区段的参数分别绘制折线图。因此,一首乐曲的单个声道包含三张不同频率范围的频率-幅值图像和三张不同频率范围的频率-相位图像。最终,一首乐曲绘制了共计18张图像用于后续图像特征的提取。
2.3 图像特征提取
利用图像嵌入 (image embedding) 对图像进行降维,将数据转换为固定大小的向量,以便于处理和计算。读取图像后使用基于Inception v3的深度神经网络模型评估图像[15],计算每个图像的特征向量,每张图像可以返回2048个相应的特征向量。首先将每首乐曲左右声道的特征进行合并。即每首乐曲至少包含4096个特征向量用于后续的机器学习。随后将每首乐曲对应低频、中频、高频的特征也进行合并,以便于比较分段提取特征值和整体提取特征值的效果。
2.4 机器学习模型
将图像的特征向量作为每一首乐曲的特征值,建立机器学习模型,对其音乐风格进行区分。首先我们利用全部的数据进行机器学习,用于评估所用特征对于音乐风格分类的区分贡献度。我们使用了六种分类器,分别为支持向量机(SVM)、K近邻(kNN)、随机森林(RF)、逻辑回归(LR)、自适应增强(Adaboost)、神经网络(NN)算法。以上模型均采用了5折交叉验证。使用时间-幅值结合频率-幅值的特征时,机器学习模型效果最佳(使用AUC值大小作为评判标准)。因此,后续使用时间-幅值结合频率-幅值的特征作为训练对象建立机器学习模型。此外,支持向量机算法对于本问题的分类具有较好的识别效果[15-16]。
随后,我们比较了六种机器学习方法的分类效果,分别采用分层k折(k=5,10,20)交叉验证[17]进行训练。表2展示了六种机器学习模型在不同条件下的AUC值。支持向量机(SVM)是一种用超平面分离属性空间的机器学习方法,从而最大化不同类或类值的实例之间的边界。支持向量机最初是为解决二分类问题被提出的,但它具有能够避免过拟合、保证局部最优解为全局最优解和较好的泛化性等优点,因此也被推广应用于多分类问题中[18]。在测试的六种分类器中,支持向量机算法综合表现最佳。根据结果,选用了支持向量机算法(20折交叉验证)用于最终模型的建立。
将数据按照7:3随机分为训练集(train set)与测试集(test set),训练集用于训练机器学习模型以得到合适的参数,测试集用于评估建立模型的性能。测试集包含14首爵士风格音乐、14首摇滚风格音乐、13首古典风格音乐以及12首现代风格音乐,不包含在训练集中。模型的训练时间(train time)约为80秒,测试时间(test time)约为40秒,可以以很快的速度建立音乐风格识别模型。
A)该机器学习模型对四种音乐风格区分的ROC曲线及对应的AUC值(测试集) B)该机器学習模型对四种音乐风格区分的混淆矩阵(测试集)C) 该机器学习模型分别以四种音乐风格的AUC值及分类准确率(训练集)
Fig 2 Support vector machine algorithm machine learning model effect evaluation. A) The ROC curves and corresponding AUC values (test set) of the machine learning model for distinguishing four music styles B) The confusion matrix (test set) of the machine learning model for distinguishing four music styles C) The machine learning model is based on the AUC value and classification accuracy (training set) of the four music styles
训练集的AUC(受试者工作特征曲线下面积)平均值为0.831,以不同音乐类型作为target时的AUC值和预测准确率如图2C所示。而测试集的AUC平均值为0.871,分类的准确率为71.7%,其ROC曲线(受试者工作特征曲线)如图2A所示,测试集的混淆矩阵如图2B所示。综上可以看出,该模型对Rock风格的识别能力最强,这与Rock风格相对于其他风格区别较大的事实相符合。
2.5 主成分比较
主成分分析方法(PCA, Principal Component Analysis),是一种使用最广泛的数据降维算法。为了进一步评价该基于支持向量机算法的机器学习模型效果,我们将其与无监督聚类方法——主成分分析进行了比较。同样使用时间-幅值结合频率-幅值作为特征进行分析。如图3A所示,前两个主成分仅可达到26.8%的区分效果。如图3B所示,四种音乐风格无法被有效区分。而该文提出的基于支持向量机的机器学习模型可以达到更好的区分效果。
3 结论
视听与人的情感过程和神经活动密切相关,不同音乐风格可以诱发个体感受的差异性。不同音乐风格的作品在旋律音高与节奏之间的依赖方式存在明显的可量化表示的差异,相同音乐风格的作品在旋律音高与节奏之间的依赖方式差异小于不同音乐风格的差异[19]。该文建立了一种基于支持向量机算法机器学习模型,用于音乐风格的区分。该方法针对乐曲时间、频率和幅值之间的关系,实现高信息量和大数据量乐曲的数据分析,将其转化为可视化的图像并提取图像特征进行机器学习模型建立。该文建立的支持向量机算法机器学习模型测试集的AUC平均值为0.871,分类的准确率为71.7%。实验结果表明我们的音乐风格识别系统是可靠的和有效的[20]。从物理学角度,客观识别音乐风格的描述方法以及四种音乐风格的差异,通过对图像后续进行机器学习,将提高音乐识别的效率,同时降低了所需的硬件设施要求,以期让音乐专业学生和非音乐专业学生形成一种较稳定的听觉形态和感官判断方法。我们会进一步提高模型的性能,并将其应用到中国戏曲剧种以及唱腔流派等音乐风格区分问题中。
参考文献
[1] 倪朝晖.算法作曲理论与实践[M].成都:西南师范大学出版社,2015: 19.
[2] KOSINA K.Music genre recognition[D].Hagenberg: Technical College of Hagenberg, 2002.
[3] 肖武雄.频谱音乐的基本原理[M].北京:文化艺术出版社,2014: 204; 211.
[4] Miller Puckeyye. 电子音乐技术[M].北京:人民邮电出版社,2011: 5.
[5] JUAN P B. Audio-based cover song retrieval using approximate chord sequences: Testing shifts,gaps,swaps,and beats[C]. In Prec: Austrian Computer Society ( OCG) ,2007.
[6] 雷文康.基于深度神经网络的音乐流派分类研究 [D].广州:华南理工大学,2017.
[7] TRABELSII,AYEDDB.On the use of different feature extraction methods for linearandnon-linear kernels[C].2012 6th International Conference on Sciences of Electronics,Technologies of Information and Telecommunications.Sousse,Tunisia:IEEE,2012:797-802.
[8] 宋扬,王海龙,柳林,等.融合KPCA与改进KNN的蒙古族音乐分类方法[J].复旦学报(自然科学版),2022,61(5):573-580+588.
[9] 喻晓雯,张楠,张勇.音乐作品风格流派的神经网络识别方法研究[J].计算机工程与应用,2011,47(27): 246-248.
[10] 苏珊·菲勒,吕常乐.“新古典主义”在音乐中的不同表现[J].中央音乐学院学报,2007,109(4): 93-97.
[11] 吕东.美国音乐发展史简介[J].乐府新声(沈阳音乐学院学报),1987(1): 43-46.
[12] 周华生.摇滚音乐叙事及终结[J].人民音乐,2009,553(5): 82-85.
[13] 李寧.面向现代音乐作品的视唱练耳教学[J].乐府新声(沈阳音乐学院学报),2018,36(2): 69-74.
[14] 徐凯,梁志坚,张镱议,等.基于GoogLeNet Inception-V3模型的电力设备图像识别[J].高压电器,2020,56(9):129-135+143.
[15] 李策,李智.粒子群优化算法和支持向量机的电子音乐信号分类研究[J].现代电子技术,2020,43(21):51-54.
[16] 陈维华.基于支持向量机(SVM)的音乐情感分类[J].软件工程,2016,19(12):20-23.
[17] 褚荣燕,王钰,杨杏丽,等.基于正则化KL距离的交叉验证折数K的选择[J].计算机技术与发展,2021,31(3):52-57.
[18] 王乃芯. 多分类支持向量机的研究[D].上海:华东师范大学,2020.
[19] 谭学清,何珊.音乐个性化推荐系统研究综述[J].现代图书情报技术,2014,250(9):22-32.
[20] 喻晓雯,张楠,张勇.音乐作品风格流派的神经网络识别方法研究[J].计算机工程与应用,2011,47(27):246-248.
Music Style Recognition System Based on Support Vector Machine Algorithm
LUO Hong-xia1, LUO Na2
(1. Department of Drama and Theatre,Zhejiang Conservatory of Music,Hangzhou 310024,China; 2. School of Education, Pingxiang University,Pingxiang 337055,China)
Abstract: Music style classification is an important part of music information retrieval and music recommendation. It requires higher and higher efficiency of music style classification. However, the recognition of music style is relatively difficult for non-professionals, so a music style recognition system has been established based on machine learning. Taking the four most representative music styles as its research object, this paper selected 47 jazz style music, 47 rock style music, 42 classical style music and 40 modern style music as samples, applied fast Fourier transform, image embedding, and combined with the machine learning model to establish a music style recognition system based on the support vector machine algorithm, and finally realized the simultaneous recognition of four music styles. The average value of the AUC (area under the working characteristic curve of the subject) used by this model for blind testing was 0.871, and the classification accuracy rate was 71.7%.
Key words: Support vector machine algorithm; music style; fast Fourier transform
(責任编辑:马乃玉)