基于改进胶囊神经网络的乐音主频识别研究

2023-05-24 08:15刘玥彤
南京理工大学学报 2023年2期
关键词:单音乐音音频

刘玥彤,吴 迪,滕 华

(1.哈尔滨音乐学院 管弦系,黑龙江 哈尔滨 150028;2.哈尔滨工程大学 计算机科学与技术学院,黑龙江 哈尔滨,150001;3.齐齐哈尔大学 计算机与控制工程学院 黑龙江 齐齐哈尔,161006;4.西华师范大学 计算机学院,四川 南充,637009)

深度学习技术的不断深化给音乐艺术等领域发展带来了新的机遇,将深度学习技术应用于音乐创作和鉴赏成为研究热点,特别是乐音的信号检测、特征提取和乐音识别等环节均成为深度学习技术的应用对象。乐音识别技术作为语音识别技术的一种,其研究方式和语音识别的路径类似,但由于乐音因为乐器差异,音符高中低音混合等特点,乐音识别又呈现出不同于普通语音识别的新特点。乐音特征提取与乐音主频识别研究成为解决乐音识别的关键问题[1]。前者为乐音识别算法提供有效准确的样本特征,而后者是乐音识别中的关键环节,当前的乐音识别研究大多集中在这两个方面,本文重点研究解决乐音主频识别的问题。

近年来,关于乐音主频识别的研究较少,刘莹等[2]从音频信号分析的角度对钢琴乐音进行相关性比较,根据相关函数求解来获得钢琴乐音的识别结果。赵凌览等[3]也是从音频信号分析角度对音频时域信号进行频域变换,并结合音频标准频域来进行匹配操作,从而获得音频识别结果。这两种方法在处理乐音识别时更倾向于音频信号的传统处理方法,将乐音信号当做普通音频信号处理方式来对待,这造成了两者的乐音识别准确率还有较大的提升空间。

随着计算性能的大幅提升,深度学习技术出现了爆发式的发展,并在各种领域得到了广泛的应用。例如,采用深度学习技术的语音翻译系统的准确率获得了显著的提高。目前绝对大多数深度学习技术都是基于卷积神经网络架构,但是卷积神经网络也存在许多缺点,例如无法理解部分与整体之间的关系,可能对乐音主频识别性能产生不利影响。Hinton提出的神经网络能够识别局部的“胶囊”,而不是使用总结全局特征的单标量输出“神经元”,因此胶囊神经网络对微小的变化更为敏感。因此,本文尝试采用深度网络学习中最新的胶囊神经网络来对乐音信号特征进行训练分类,从而完成乐音主频信号识别。此外,为了提高不同乐器乐音信号的识别准确度,以便满足实际应用要求,本文对传统CapsNet的相似度计算方法进行了改进,从而有效模仿高中低音之间的相似性。

1 乐音主频识别原理

乐音主频识别作为乐音识别的关键步骤,其识别的准确度对整个乐音的识别有关键影响。

图1 乐音主频识别结构

在乐音信号的提取过程中,需要对音符进行端点检测并有效分割,从而完成乐音信号的预处理,之后对信号进行数字化处理,并进行特征提取,为乐音识别模型训练提供可用的特征集。当前主要采用的特征提取方法主要有线性预测倒谱参数(Linear predictive cepstral coefficient,LPCC)法,通过确定LPCC,从而获得乐音的主频特征。

设LPCC的经过n个输入采样后获得的预测输出为s(n),则[4]

s(n)≈a1s(n-1)+a2s(n-2)+…+aps(n-p)

(1)

式中:p表示s(n)之前的样本数,a1、a2和ap分表表示LPCC系数。

s(n)叠加冲击u(n)响应后变为

(2)

式中:G表示增益系数。

对式(2)进行频域变换

(3)

那么传递函数

(4)

(5)

根据实际值和预测建立误差函数e(n)

(6)

那么传递函数

(7)

对误差函数e(n)进行系数偏导运算,获得LPCC系数值,从而得到乐音主频特征参数。

根据乐音主频参数组建特征向量,输入至乐音主频识别算法进行训练,最后得到乐音主频识别模型,根据识别模型则可获得识别结果。

2 基于CapsNet的乐音主频识别

2.1 胶囊神经网络原理

胶囊神经网络(CapsNet)相对于传统神经网络来说,其采用胶囊单元替换了传统的神经元单元,胶囊之间的连接权重等参数采用动态路由算法来进行更新迭代。

令Ui表示第i胶囊层输出向量,经过第j胶囊层连接预测得到[5]

(8)

式中:Wij表示第i和j层之间的连接权重。

CapsNet的权重经过动态路由获得,其主要根据动态路由获得,第i和j层之间的相似度为bij,耦合系数为cij,那么bij为[6]

(9)

(10)

式中:bik表示第i和k胶囊层之间的相似度,m表示bij的数量。

对于第j层胶囊来说,其输入与低层胶囊的输出有关,那么第j层胶囊的输入sj计算方法为[7]

(11)

(12)

采用压缩函数求解高层胶囊输出vj,计算方法为[9]

(13)

CapsNet损失函数为[10,11]

λ(1-Tk)max(0,‖vk‖-m-)2

(14)

式中:k为类别编号,Tk为类别,Num为类别总数,vk为预测值,m+和m-为类别阈值,λ是系数常量。

2.2 胶囊神经网络的改进

考虑到乐音主频音符的高中低音之间的相似性,为了提高乐音主频分类准确性,对传统CapsNet的相似度计算方法进行了改进

(15)

同时需要修改sj的计算方法

(16)

高层胶囊的输出和损失函数计算公式以传统CapsNet一致。

2.3 主频识别流程

首先对乐音信号进行噪声滤除[12,13],然后采用LPCC法获得乐音主频系数,构建乐音主频特征向量,接着建立CapsNet乐音主频识别网络模型,通过路由动态求解获得CapsNet的网络参数,确定稳定的CapsNet识别模型,最后采用该模型进行乐音主频预测。

图2 基于改进的CapsNet乐音主频识别流程

3 实例仿真

为了验证改进的CapsNet在乐音主频识别方面的性能,进行实例仿真。本文选用的数据集来自于88键钢琴,分别提取了单音数据集和曲谱数据集,数据集保存格式为.wav。实例仿真的过程分为3个部分:(1)分别对改进的CapsNet在乐音单音频率和乐音曲谱主频识别性能方面进行仿真;(2)对比CapsNet和改进的CapsNet识别性能,验证特征相似度改进对识别性能的影响;(3)分别采用常用乐音识别算法和改进的CapsNet算法进行性能对比。

考虑到不同乐器乐音的主频频率分布范围有差异,为了充分验证改进的CapsNet算法在乐音识别中的性能,选择了如表1所示的不同乐器的乐音信号,其采样频率均为22.05 kHz。

表1 乐音集

3.1 识别准确度仿真

3.1.1 单音识别准确度

采用改进的CapsNet算法对单音集进行性能仿真,对比其频率值,结果如表2所示。

表2 单音识别性能

从表2可得,经过改进的CapsNet算法识别,单音的实际频率和识别频率非常接近,12个音符中,正向偏差为5个,负向偏差为7个,其中在b1音符获得最大偏差为-0.19,而在#f1音符获得最小偏差为-0.04,可见改进的CapsNet算法在单音中识别准确率高,基本保持了0.2%以下的识别误差。

3.1.2 曲谱识别准确率

图3至图6展示了改进的CapsNet算法在4类样本测试集的主频识别中预测值与实际值的差距,大部分预测和实际主频值都重合了,仅有少数几个样本的主频出现了较小偏差,这表明改进的CapsNet算法对乐音主频识别性能适用性强。横向对比发现,在小提琴集的主频值较高时,其识别性能出现了较多的误差,这可能是因为小提琴集的主频上限值高,改进的CapsNet算法在对高频率识别时有一定的不稳定性,而在其他3类样本集的主频识别中,识别错误的样本点频率分布比较均匀,未出现明显的高频率识别错误的情况。

图4 小提琴乐音主频识别准确率

图5 竖琴乐音主频识别准确率

图6 吉他乐音主频识别准确率

3.2 相似度改进的识别性能影响

为了验证采用余弦相似改进的特征相似度对CapsNet算法乐音主频识别性能的影响,分别采用CapsNet算法和改进的CapsNet算法对曲谱的主频识别进行性能仿真。

从表3知,在乐音主频识别准确度方面,CapsNet和改进CapsNet算法均能获得0.9以上的准确率,其中在数据集4.wav中改进的CapsNet获得了最高识别准确率0.964 1,而CapsNet算法在数据集2.wav中获得了最高识别准确率0.916 8,但是两者对比,经过改进的CapsNet准确率均优于改进CapsNet算法,这表明经过余弦相似特征度计算后,相比于内积计算,其对乐音频率的类间相似具有更好的区分作用,所以其能够在高中低音的乐音中获得更佳的识别准确率。在RMSE性能方面,改进的CapsNet乐音主频识别的稳定性仍优于CapsNet算法,这表明采用余弦相似进行特征差异比对更适合于乐音音符比对,这可能是因为乐音主频频率值较接近而不容易分类,而采用余弦相似相比内积相似更能够区分不同的主频频率,且稳定性更高。

表3 CapsNet和改进CapsNet的准确率和RMSE

3.3 不同算法的乐音主频识别准确率

为了进一步验证改进的CapsNet算法的乐音主频识别性能,分别采用离散小波变换(Discrete wavelet transform,DWT)算法[14]、小波分析算法[15]、生成对抗网络(Generative adversarial networks,GAN)[16]和改进的CapsNet算法对表1的4类不同乐器样本集进行性能仿真,结果如图7所示。

图7 4种算法的乐音主频识别准确率

从图7得,对于4类乐音样本集,其识别准确率差异较大,尤其是吉他集。对于同类数据集,改进的CapsNet算法乐音识别准确率最高,GAN算法次之,DWT算法最差,从识别时间方面来看,GAN算法最差,其他3种算法差距较小。

对上述仿真结果进行综合性分析,可以得出:改进的CapsNet在乐音单音频率和乐音曲谱主频识别方面均具有较好的适用性。此外,由于特征相似度改进的影响,改进的CapsNet对乐音频率的类间相似具有更好的区分作用。因此,对于4类乐器乐音主频识别,相比现有多种类似算法,改进的CapsNet算法具有更高的识别准确率,最高可达到97%。

4 结束语

采用改进的CapsNet算法用于常用乐器的乐音主频识别,可以获得较高的乐音主频识别准确率。本文主要创新点在于采用余弦相似度对传统的内积计算进行有效改进,优化特征差异判断策略。因此,相比现有多种类似算法,改进的CapsNet算法具有更高的识别准确率,最高可达到97%。后续研究将从两个方面着手以进一步优化乐音主频识别性能,一方面是对乐音特征提取进行策略改进,另一方面是对CapsNet算法进一步优化改进,以提高CapsNet算法在乐音主频识别研究中的适用性。

猜你喜欢
单音乐音音频
如何区分乐音和噪声
卫星通信物理层非直扩链路的单音干扰影响解析
作文成功之路·作文交响乐——学生展现心灵乐音的舞台
单音及部分频带干扰下DSSS系统性能分析
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
视唱练耳听力训练的方法
音频分析仪中低失真音频信号的发生方法
用心聆听学会区分
Pro Tools音频剪辑及修正