考虑音符序列的钢琴演奏和弦指法自动标注算法

2022-11-17 08:33范静
常州工学院学报 2022年5期
关键词:指法音符和弦

范静

(阜阳师范大学音乐舞蹈学院,安徽 阜阳 236037)

0 引言

钢琴作为最受欢迎的乐器之一,不但爱好者数量众多,还在其他领域占据着重要的位置,是目前为止发展较为快速的乐器之一。钢琴的种类与品牌层出不穷,对钢琴的设计要求也越来越高。关于钢琴指法识别或标注方法的研究有益于提高演奏技巧,许多学者开展了钢琴指法标注算法的研究。其中,Moryossef等[1]研究了基于机器视觉技术的钢琴指法提取方法,在公共视频和 MIDI 文件中,将深度学习计算机视觉模型转移到域外数据,通过生成式对抗网络增强视觉模型进行钢琴指法的自动标注。叶素芬等[2]研究了穿戴式钢琴弹奏手套智能感知与手势识别技术,以惯性数据手套与红外检测杆的输出作为数据样本,针对钢琴弹奏手势特性,进行多模态手势特征的提取并采用分层识别算法改善识别效果。上述方法能够为指法标注提供参考依据,但是在和弦指法识别的准确度方面有待进一步完善,为此本文设计了考虑音符序列的钢琴演奏和弦指法自动标注算法。该算法利用音符序列,对钢琴演奏和弦音乐信号进行动态压缩处理,将其转换为Chroma频谱,以减少输出维数。通过PCA(principle component analysis)方法抑制噪声,完成和弦指法信号的预处理。在此基础上,分析演奏频率谱的基本特点,集合分散的音符,按照频率的大小分布自动寻找标记位置。在频率一定、序列不变的条件下完成归一化处理,完成标注音符区域分配,以提高指法标注的准确性。为了保持和弦弹奏的稳定状态,增加了判决的概率,构建了指法标注模型,完成音符序列的转换。将和弦音符引入波尔兹曼机模型中,提取和弦指法特征,再根据音符的主要特征预测和弦指法,通过分帧波动的次数与频率形成1个新的序列并完成和弦指法的自动标注。

1 预处理音符序列

在对和弦指法自动标注之前,对音符序列进行预处理,主要预处理过程如下。

首先,对钢琴演奏的和弦音乐进行处理,获得频谱,由于音乐信号在振幅上存在很大的动态差异,因此采用了动态范围压缩的方法,对其进行自适应调整[3]。

其次,把自增益调整后的线性频谱转换成Chroma频谱,与传统的方法相比,在抽取Chroma时,不需要对数据进行标准化处理,这样可以保持原有的线性频谱特征,同时也能减少输出的维数。

在对数压缩公式中,Chroma频谱的振幅被压缩,其表达式如公式(1)所示:

Z=lg(1+C·Chroma)

(1)

式中:C代表压缩程度。在此步骤之后,每个音符都会有1个振幅压缩的Chroma特征系数[4]。

由于在训练时,每个音符都会有1个特征矩阵,如果不将其全部选出,就会造成较大的特征训练误差,并且不能保证每个特征都具有代表性。为使第二阶段的无监督学习更好地掌握有效的特征矢量,提出基于起点的识别算法。该算法将和弦的起点作为基础,从钢琴曲谱的特征矩阵中提取出1个特征矢量,并利用该矢量构造1个新的特征矩阵,作为训练的输入特性。其主要功能是在不进行训练的情况下,确保音符特征仍是全幅值压缩后的Chroma频谱。PCA的白化是一种常用的预处理方法,用于消除关联和减少数据的尺寸。PCA白化矩阵是通过初始点采样矩阵进行降维处理,然后通过PCA空间进行方差标准化从而获得。在此阶段,采用最大值池和求均值的方法,对PCA降维后的特征矩阵进行无监督学习,得到“词袋”的特征矢量[5]。

最后,经过前面的步骤,获得经过 PCA白化处理后的 Chroma特性,该特性是基于已有的知识进行人工设计的,因此在本步骤中,采用降噪编码器进行处理。噪声抑制的自动编码是典型的瓶颈模式[6],以隐藏层为实际输出。在训练过程中,最佳参数权重矩阵W和偏差向量b如公式(2)所示:

(2)

2 分配标注区域

经过上述预处理后,将钢琴演奏和弦放置在三维空间中,序列表中的标注看作空间内的元素[7]。假设在任意和弦上标注的序列处于静止状态,那么关于和弦尺度函数的表达式如公式(3)所示:

(3)

式中,Xi代表标注的定位,并且在序列中处于最高位,占据和弦的主要部分。采用基于区域划分的标注布局方法,将标注区域划分为8个区域,每个图形覆盖的节点都均匀分布。通过对和弦的控制将标注的位置简单化,以免出现音符互相碰撞与丢失[8],因此,将其转化到二维平面进行分区域标注,以减少音符之间的碰撞。经过分区处理之后,简化标注布局,在标注区域内会出现同一类型的标注。为此,对同一类型的标注采用排序的方式重新排布,以达到完全避免碰撞的目的。在排布上,采用标注定义点作为每个区域的索引值,以形成相应的标注体。该阶段的处理主要是分析出演奏频率谱的基本特点,在频率一定、序列不变的条件下完成归一化处理[9]。在此基础上,采集接收到的声音信号,利用和弦的变化来推测演奏的节点,调整到相应的幅度,减少误差的产生,通过仪器的自动编辑对音符序列进行预处理,流程如图1所示。

图1 音符序列预处理流程

按照图1中的步骤将和弦的长度缩减,融合重复的音符,检测标注出的每个音符位置[10],构成1个动态的音符序列矩阵,表达式如公式(4)所示:

A=lg(1+C′·Chroma)

(4)

式中:A代表矩阵;C′代表缩减参数。

在处理序列时由于影响因素居多,偶尔会产生噪声,因此要使用可以降噪的自动编辑器来识别和弦指法,以便过滤掉嘈杂的噪音,将音乐调整至正常曲调。假设仪器检测到的频谱信号序列中的音符与指法相对应,那么两者之间的关系式如公式(5)所示:

(5)

式中:y(k)代表映射函数;k代表系数;fr代表频谱;fb代表噪声函数;N代表待连接权重。

将分散的音符集合按照频率的大小进行分布,之后音乐信号就会根据音符的排列自动找到自身标注位置,减少和弦上的空缺,剩余的信号就会填补空余的标注位置,为后续指法自动标注提供参考。

3 转换音符序列

经过预处理后的标注指法不会出现手指间距离过大的问题,也不会在演奏过程中发生手指交错交叉的误差。在此条件下建立指法标注模型[11],一方面纠正了指法变换过于缓慢的问题,另一方面提高了演奏的整体效率,使得加入音调时更加自然与迅速,包括音乐的升降调衔接更加顺畅,从其他角度上看,增加了判决的概率,原理模型如图2所示。

图2 指法标注模型的构建

但在建模过程中,手指间的升降与转换会影响节奏的变化,导致和弦出现差错。为了提高指法标注的准确率并获取相应的信息,在各个参数不影响计算的前提下利用指法转换的规律得到音符序列的转移概率,如公式(6)所示:

P(β⊆K)=det(Mβ)

(6)

式中:K代表概率模型;Mβ代表音乐片段。

当集合中的音符序列输入模型中时,系统就会随机出现1个与之匹配的指法标注方法,然后检测指法标注的正确性,自动形成矩阵。矩阵中的每个音符元素都代表着不同的信息,与集体过滤相比,独立的音符序列对指法的自动标注来说效果更好。

假设矩阵中的元素用y1表示,利用序列中的音符位置推算出参数的位置[12],那么音符的最初状态的表达式如公式(7)所示:

(7)

音符会根据矩阵的指示跳到特定的路线上,去除噪声的干扰,那么在模型中标注的参数范围如公式(8)所示:

σn(i)=Smax(it=i|i1,…,in,…,λ)

i=1,2,…,n

(8)

式中:Smax代表参数的最大值;λ代表特征向量。在该范围内的所有音符序列都能被转换,但模型会选择最符合标准的序列,剩余的其他路线就会被舍弃,使和弦维持稳定状态。

4 提取和弦指法特征

经过上述处理后,提取和弦指法特征。波尔兹曼机是一种无向性模型,主要包含输入层与隐藏层,这两层彼此连接,内部不存在联系[13]。在训练后,隐藏层能够学习到输入层的概率分布模式,获得输入层的特性。本文的学习模式主要是不受监督模式,如果将和弦引入该模型中,它就可以提取声音特性,并对其重建。因此,在多层次的深度学习模型中,波尔兹曼机往往被看作是用于抽取前一层次的输入特征的方法,但是,如果把原始的输入(声音)与其分类(社区标记)一起输入波尔兹曼机,通过输入和标记的联合分配就能够实现学习。假设生成的波尔兹曼机含有n个隐节点,输入数据为d维音频特征,形成的概率分布函数如公式(9)所示:

(9)

式中:x、y、h分别表示节点、标签和隐藏节点;Z代表归一化系数;E代表散度参数。

将Dtrain作为整合训练集集合,为了达到目标函数极小值,需要保证负对数似然最少[14],负对数似然函数计算式如公式(10)所示:

(10)

式中:p(xi,yi)代表样本x、y的联合分布参数。

为了使目标函数值最小,本文提出基于随机梯度递减的计算式,如公式(11)所示:

(11)

式中:∂、θ分别代表连接权重系数和特征权重。

此次研究的目的是实现和弦指法自动标注,基于上述函数,获得的是语音特性和社区标记结合的非概率分布情况。因此,对目标函数进行转换,将p(x,y)替换为p(y/x),具体计算式如公式(12)所示:

(12)

与产生波尔兹曼机类似,在训练和识别波尔兹曼机时,也可以采用比较散度法来求出其特征值。

5 实现和弦指法自动标注

钢琴演奏和弦包括多个音符与曲调,根据其内容划分为多个种类,基于其多样性特征,根据音符的主要特征来预测和弦指法。构建特征函数标记音符序列的变化情况,根据分帧波动的次数与频率形成1个新的序列[15],预测出标注指法。

(13)

式中:x代表任意点;α代表序列中的向量。

在执行标注任务时,若新加入1段和弦就会导致新的序列节点出现,那么就要过滤全部的隐藏节点才能形成1个稳定的音符序列。假设节点的数量为N,空间维度为n,输入编辑器中的音乐用M来表示,那么序列的重新分布计算式如公式(14)所示:

(14)

式中:A代表延迟点数;e代表产生的能量;m代表不能自主标注的数量。式中所有参数都是成比例变化的,单个音符或者多个音符的序列节点改变会影响整首乐曲。为了确保乐曲的演奏质量,需要找出序列中相同的2个片段相互补偿,这样会增大标注的准确率与灵敏度。

在集合中所有音符序列形成的矩阵都是有方向和有顺序的,因此可以通过空间向量来构成和弦自动标注指法,使其自动完成标注。那么,建立的标注函数如公式(15)所示:

(15)

由于指法具有随机性,音符序列的预测可能会出现误差,集合预测可能出现的误差,形成误差集合,寻找误差最小的音符序列,将误差概率用公式(16)表示为

Pu=

(16)

式中:θ代表特征参数;N′代表音符数量;ot与ot-1代表相邻序列。

为了确定指法标注的准确性,需要降低误差概率。找到音符序列的初始位置,计算出与终点的差值,记作Δi,将序列中的音符相互比较,找到峰值,作为预测的标准值。重复以上所有步骤,直到得到最佳标注指法为止,计算式如公式(17)所示:

(17)

式中:Sa代表指法的速度;b代表误差因子;fa代表分隔函数;d代表音符距离。经验证,当指法标注误差在20~40时,演奏和弦的指法标注最优。同时在切分中会存在一些不必要的片段,与预测的标注有较大出入,因此要消除多余的音符,还要保证音频不被损伤,仍然可以被识别。得到预测的样本音符序列后就要立即预处理,将点的集合传输到编辑器中,那么形成的函数计算式如公式(18)所示:

(18)

当函数持续发生变化时,需要即时记录。将函数即时记录的计算结果输入编辑器中。为使本文方法的指法标注更接近人工标注的结果,需要进行后续加工。在维特比算法中,根据初始指法的先验,确定初始状态,再用递推方法求最大可能路径,从而限制了后续指法的选择。指法标注的后续加工计算式如公式(19)所示:

(19)

如果上一次的手指指位是固定的,则根据上次的指位提升下一次指法标注。在固定指位不换手的情况下,没有其他的指法选择。因此,此时可以扩大指位范围,增加每一次选择的指法,以此实现和弦指法自动标注。

6 实验对比

为验证此次研究的和弦指法自动标注算法的有效性,将基于机器视觉技术的钢琴指法自动识别方法(文献[1])和穿戴式钢琴弹奏手套智能感知与手势识别方法(文献[2])作为对照组。

实验数据集合使用亚马逊网站的媒体统计数据,使用者可以根据自己的喜好,在不同的标签上标注不同的风格,比如“孤独”“快节奏”等。本研究共选择915个10 s的视频,并从中抽取100个片段进行指法标注。

6.1 评价标准

此次实验中,采用的指标主要如下。

一致率指标,可将各时间点算法标记的指法和手工标记的比例进行运算,其结果与正确率相似,指数越高,则运算结果越好,公式表示如下:

(20)

式中:z、q分别代表人工标注指法序列和算法的标注指法序列;n代表序列长度;Λ为异或运算。

P-score指标,主要计算标准和弦的序列与待标注和弦节点的序列之间的有限互相关的总数,容差在间隔中值的20%左右,在该指标内认为是正确的。其算法为预先构建40个25 s长的序列,公式表示如下:

(21)

式中,ai代表互相关函数。

不可弹指法占比衡量的是不可弹指法的占比,在指法标注过程中首先需要避免不可弹指法,从而在诸多指法序列中寻找最优的指法,公式表示如下:

(22)

式中:md代表分段次数;ψ1、ψ2代表不可弹指法数量。

6.2 实验结果分析

3种方法的一致率结果如图3所示。

图3 一致率对比

3种方法的P-score指标结果如图4所示。

图4 P-score指标对比

3种方法的不可弹指法占比结果如图5所示。

图5 不可弹指法占比对比

通过图3、图4、图5能够发现,本文提出的算法标注结果一致率提升较多,不可弹指法占比下降,P-score指标也较低。由此能够看出,本文提出的算法能够提升和弦指法标注的一致率,原因是本文提出的算法预先对和弦序列进行处理,增加了整体搜索的可选路径,相较于另外2种方法来说,效果更好。

7 结语

基于上述过程本文完成了钢琴演奏和弦指法自动标注算法的研究。本文提出的算法能够计算出音符之间的距离,高效分离出序列中的音符,得到谱中的和弦变化,找到其主要特征,准确地识别出正确的序列,然后与校验后的指法相呼应,多余的音符可视为和弦的起点与终点,继续组成新的音符序列,最后促使其自动标注。实验结果也证明,本文提出的算法是有效的,可满足设计需求。然而,研究时间有限,还有不足之处,在后续研究中将重点研究和弦标注的影响因素,以进一步提高和弦指法标注的效果。

猜你喜欢
指法音符和弦
bB 调大号指法研究
属七和弦解决在配和声中的应用研究
常用的六种九和弦
现代音乐中常用的吉他和弦及图表
苦练和弦勇闯难关
美妙音符
春天的音符
论钢琴初级程度学生指法训练的方法与途径
浅谈钢琴音阶的指法研究
单簧管新指法的研究与有效运用