首页 > 乐器声学 专利正文
一种演奏声音信息和曲谱信息的比对方法及系统与流程

时间:2022-02-18 阅读: 作者:专利查询

一种演奏声音信息和曲谱信息的比对方法及系统与流程

1.本发明涉及音乐分析技术领域,具体地说,是涉及演奏声音信息和曲谱信息的比对方法及系统。


背景技术:

2.目前,对于乐音乐器的演奏评价方法通常是基于在电子乐器上附加评价演奏状态的系统;该方法和系统主要将标准演奏数据存储在电子乐器或电子乐器元配件中,通过比较标准演奏数据和实际的演奏数据进行演奏评价。
3.上述方法在适用于音乐教育中的乐器演奏训练和演奏评价中存在诸多障碍,主要表现为:高度依赖电子乐器或电子乐器元配件,但音乐教育大部分采用非电子乐器;乐器学习者在进行演奏训练的过程中,需要逐步提高演奏技术,通常很难直接达到标准演奏数据的要求,而上述方法通常机械化地要求实际演奏数据与标准演奏数据的匹配,忽视了实际演奏过程的不流畅性,从而造成演奏评价较低;乐器学习者进行演奏训练的核心目的是提高演奏技术,而上述评价方法通常仅仅涉及总体评价,缺少例如音区错误、抢拍、拖拍、节奏不稳等细致技术点的评价,采用上述技术,不能很好地辅助乐器学习者的演奏训练。


技术实现要素:

4.本发明的目的在于提供演奏声音信息和曲谱信息的比对方法及系统,以解决现有评价系统和方法机械化地要求实际演奏数据与标准演奏数据的匹配,忽视了实际演奏过程的不流畅性,缺少例如音区错误、抢拍、拖拍、节奏不稳等细致技术点的评价,从而造成演奏评价较低的问题。
5.为了解决上述问题,本发明提供如下技术方案:
6.一种演奏音高信息与曲谱音高信息最优比对路径的获得方法包括以下步骤:
7.(a1)获取演奏声音音高信息和曲谱音高信息;
8.(a2)将(a1)演奏声音音高信息和曲谱音高信息分别进行编码转换,生成音高矩阵;
9.(a3)将(a2)的音高矩阵输入音高比对函数生成音高比对矩阵;
10.(a4)将(a3)的音高比对矩阵进行路径规划,生成音高最小得分路径作为最优路径。
11.具体地,步骤(a1)中的曲谱音高信息取自可扩展标记格式(xml/musicxml)的曲谱文件中的<note<pitch<steps><octave>>>标记的信息。
12.具体地,步骤(a2)中将音高信息编码转换为128*n的二维布尔矩阵,列坐标代表音高序列中每个演奏音符的位置索引,行坐标代表科学记谱法中绝对音高c

1至g9的128个半音音符的位置索引,矩阵中元素值用0或1表示,0代表不演奏对应的音符,1代表演奏对应的音符。
13.具体地,步骤(a3)中的音高比对函数为复合函数,包括音高打分函数和音高匹配
函数;
14.音高打分函数为:
15.音高匹配函数为:
[0016][0017]
其中,m1<g1≤u1′

[0018]
a
j
代表步骤(a2)中将声音音高信息转换成音高矩阵的列向量;
[0019]
x
i
代表步骤(a2)中将曲谱音高信息转换成音高矩阵的列向量;
[0020]
曲谱音高矩阵的第i列和声音音高矩阵第j列之间满足表达式x
i
=x
i
*a
j
,则判断二者匹配,将打分矩阵的(i+1,j+1)位置赋值为匹配得分m1,反之则为不匹配,将打分矩阵的(i+1,j+1)位置赋值为匹配得分u1;
[0021]
g1代表为在音高矩阵中从左往右和从上往下过程中,每移动一位代表引入一个插入操作,插入得分为g1。
[0022]
具体地,步骤(a4)中的路径规划为基于位置索引的最小得分路径动态规划,其具体过程为通过位置索引变换将曲谱音符和声音音符位置索引整体偏移1个正单位,用0代表插入或删除,根据最小得分索引函数生成最优路径的位置索引(r,c)序列;
[0023][0024]
其中,i为曲谱音高矩阵的第i列;j为声音音高矩阵的第j列;令r序列为所有r的集合;c序列为所有c的集合。
[0025]
具体地,一种演奏时值信息与曲谱时值信息最优比对路径的获得方法包括以下步骤:
[0026]
(b1)获取演奏声音时值信息和曲谱时值信息;
[0027]
(b2)将(b1)演奏声音时值信息和曲谱时值信息分别进行编码转换,生成时值矩阵;
[0028]
(b3)将(b2)的时值矩阵输入时值比对函数生成时值比对矩阵;
[0029]
(b4)根据(b3)的时值比对矩阵进行路径规划,生成时值最小方差路径作为最优路径。
[0030]
具体地,步骤(b1)中的曲谱时值信息取自可扩展标记格式(xml/musicxml)的曲谱文件中的<note<duration>>标记的信息。
[0031]
具体地,步骤(b2)中将时值信息编码转换为1*n的二维数值矩阵,列坐标代表时值序列中每个演奏音符的位置索引,矩阵中元素值用整型数值表示,代表时间帧数。
[0032]
具体地,步骤(b3)中的时值比对函数为:dura_s
(i+1,j+1)
=b
j
/y
i


[0033]
其中,曲谱时值矩阵为声音时值矩阵为其中y
i
代表曲谱时值矩阵第i列列向量,b
j
代表声音时值矩阵第j列的列向量;dura_s为时值比对矩阵。
[0034]
具体地,步骤(b4)中的路径规划为基于位置索引的最小方差路径动态规划,其具体过程为对时值比对矩阵进行有向图遍历,获取从dura_s
(0,0)
到的所有遍历路径,计算每条路径的方差,得到最小方差路径,并将最小方差路径转换为基于位置索引的(r,c)序列,其中0代表插入或删除,通过位置索引变换将曲谱音符和声音音符位置索引整体偏移1个正单位;
[0035][0036]
其中,dura_s
path(i,j)
每个位置索引(i,j>的时值偏离;e(dura_s
path
)表示整个路径的时值偏离的均值;n表示路径位置数量。
[0037]
一种演奏声音信息和曲谱信息的比对方法包括以下步骤:
[0038]
(c1)根据演奏音高信息与曲谱音高信息最优比对路径的获得方法获取音高信息的最优比对路径;
[0039]
(c2)根据演奏时值信息与曲谱时值信息最优比对路径的获得方法获取时值信息的最优比对路径;
[0040]
(c3)根据步骤(c1)(c2)的比对路径得到最优比对路径;
[0041]
(c4)根据步骤(c3)的最优比对路径的位置索引将(b2)的音高矩阵、时值矩阵进行切分,生成小节、乐句、段落矩阵;
[0042]
(c5)预先构建不同层次的评价规则,生成评价词典;
[0043]
(c6)根据(c4)生成的不同矩阵和(c5)的评价词典,生成不同矩阵的评价词。
[0044]
具体地,步骤(c5)的评价词词典包括音高、节奏、流畅度三个维度,音符、乐句、乐段、乐曲四个评价层次的评价词;评价词包括:音区错误、抢拍、拖拍、节奏不稳、临时变音记号错误、调号错误、错音、抢拍、拖拍、节奏不稳、跨小节不连贯、乐句不连贯。
[0045]
具体地,步骤(c3)的具体过程为:路径排序值rank=p*w,p为属性序列,w为权重序列,rank最大值对应的路径即为最优路径;将步骤(a4)中的r,c分别添加至序列r和c中,属性序列p的八个属性值依次为序列r中元素0的数量比例、序列c中元素0的数量比例、序列r中元素0的相对起始位置、序列c中元素0的相对起始位置、序列r中元素0的相对结束位置、序列c中元素0的相对结束位置、序列r中元素0的最大连续数量比例、序列c中元素0的最大连续数量比例,权重序列w=w1w
a
w3w4w
5 w6w7w8;r代表匹配路径中某一行坐标或0,c代表匹配路径中某一列坐标或0,其中0代表占位符,用以表示插入删除;序列r代表声音信息的匹配序列,由行坐标和0组成的;序列c代表曲谱信息匹配序列,由列坐标和0组成。
[0046]
具体地,步骤(c4)的具体过程为:切分为根据可扩展标记(xml/musicxml)的曲谱文件<measure>标记的位置索引、预先构建的乐句位置索引和段落位置索引将(c3)中生成的最优比对路径的位置索引进行匹配,生成切分标记,根据切分标记,将(a2)和(b2)中的矩阵分别切分为小节、乐句、段落矩阵。
[0047]
一种演奏声音信息和曲谱信息的比对系统包括依次连接的信息提取模块、向量转换模块、比对矩阵计算模块、路径规划模块、演奏评价模块。
[0048]
具体地,信息提取模块包括音频接收模块和存储的乐谱;音频接收模块和存储的乐谱分别与时值信息提取模块及音高信息提取模块连接;
[0049]
向量转换模块包括分别与时值信息提取模块和音高信息提取模块连接的时值向量转换模块和音高向量转换模块;
[0050]
比对矩阵计算模块包括分别与时值向量转换模块和音高向量转换模块连接的时值比对矩阵计算模块和音高比对矩阵计算模块;
[0051]
路径规划模块包括排序模块、分别与时值比对矩阵计算模块和音高比对矩阵计算模块连接的时值最小方差路径规划模块和音高最小得分路径规划模块;音高最小得分路径规划模块依次与时值最小方差路径规划模块和排序模块连接;
[0052]
演奏评价模块包括与排序模块连接的切分模块和评价模块;
[0053]
时值信息提取模块和音高信息提取模块分别用于提取曲谱和音频接收模块接收声音的时值信息和音高信息;
[0054]
时值向量转换模块和音高向量转换模块分别用于将曲谱和声音中的音高信息、时值信息转换为对应编码格式的二维矩阵;
[0055]
时值比对矩阵计算模块和音高比对矩阵计算模块分别用于根据比对函数计算音高比对矩阵和时值比对矩阵;
[0056]
时值最小方差路径规划模块和音高最小得分路径规划模块用于比对矩阵进行路径动态规划和排序得到最优路径;
[0057]
切分模块用于将音高矩阵和时值矩阵切分为小节、乐句和段落矩阵。
[0058]
具体地,排序模块中排序值为属性序列p与权重序列w的乘积,其中属性序列p的八个属性值依次为序列r中元素0的数量比例、序列c中元素0的数量比例、序列r中元素0的相对起始位置、序列c中元素0的相对起始位置、序列r中元素0的相对结束位置、序列c中元素0的相对结束位置、序列r中元素0的最大连续数量比例、序列c中元素0的最大连续数量比例,权重序列w=w1w2w3w
4 w5w6w7w8;r代表匹配路径中某一行坐标或0,c代表匹配路径中某一列坐标或0,其中0代表占位符,用以表示插入删除;序列r代表声音信息的匹配序列,由行坐标和0组成的;序列c代表曲谱信息匹配序列,由列坐标和0组成。
[0059]
一种计算机设备包括处理器和存储器,存储器中存储有计算机程序,计算机程序在被处理器加载并执行时实现比对方法。
[0060]
一种计算机可读介质计算机可读介质中存储有计算机程序,计算机程序由处理器加载并执行以实现比对方法。
[0061]
与现有技术相比,本发明具有以下有益效果:
[0062]
(1)本发明通过声音识别分析的方式,脱离了对电子乐器和电子乐器元配件的依赖,扩大了乐器演奏评价的范围;充分考虑了乐器学习者在演奏训练过程中的不流畅性,通过比对算法对实际演奏数据和标准演奏数据进行匹配,评价结果更准确和灵活;构建评价词字典,评价层次更丰富,对演奏技术的评价不再局限于总体评价,比如总体打分,评价颗粒度可以达到单个演奏音符演奏技术点的评价,从而更好地辅助演奏训练。
[0063]
(2)本发明通过提出在位置索引的基础上构造通过编码转换成矩阵、基于列向量(位置索引向量)的比对函数和基于位置索引的动态规划算法,可用于实现d维(d≥2)信息比对并生成基于位置索引的比对路径,从一维字符串比对拓展到多维矩阵比对。
[0064]
(3)本发明采用演奏声音作为输入源,消除了目前演奏评价系统中对于电子乐器和电子乐器元件的依赖;针对乐器学习者在演奏训练过程中频繁出现的回弹、漏音等不流畅问题,引入“插入”和“删除”等比对概念,通过比对算法识别乐器学习者实际演奏;本发明通过构建音符、小节、乐句、段落、曲目等五个层次和音高、时值、流畅、强弱等不同演奏维度的评价规则和评价词字典,以实现多层次多维度的演奏评价。
附图说明
[0065]
图1为比对系统的结构框图。
[0066]
图2为音高向量矩阵的编码方式的示例。
[0067]
图3为小节和乐句切分的示例。
[0068]
图4为评价词典的示例。
具体实施方式
[0069]
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
[0070]
如图1至图4所示,本发明中音频接收模块用于接收演奏声音;本发明通过先获取演奏声音信息和曲谱信息;然后将演奏声音信息和曲谱信息分别进行编码转换生成矩阵;然后将矩阵输入对应的比对函数中生成比对矩阵;然后根据比对矩阵进行路径规划,生产最优路径;然后根据最优比对路径的位置索引将最先生成的矩阵进行切分,生产小节、乐句、段落矩阵;最后根据评价词典对小节、乐句、段落矩阵进行评价并输出评价语;具体实施过程如下:
[0071]
【m111】音高信息提取模块提取并存储曲谱中的音高信息,音高信息取自可扩展标记格式(xml/musicxml)的曲谱文件中的<note<pitch<steps><octave>>>标记的信息。
[0072]
【m112】音高信息提取模块提取并存储声音中的音高信息,音高信息提取引用专利申请号为:201910669985.x,专利名称为:一种音乐分析数据集构建方法及基于其的音高、时值提取方法中的提取方法,得到音高信息。
[0073]
【m121】时值信息提取模块提取并存储曲谱中的时值信息,时值信息取自可扩展标记格式(xml/musicxml)的曲谱文件中的<note<duration>>标记的信息。
[0074]
【m122】时值信息提取模块提取并存储声音中的时值信息,时值信息提取引用专利申请号为:201910669985.x,专利名称为:一种音乐分析数据集构建方法及基于其的音高、时值提取方法中的提取方法,得到时值信息。
[0075]
【m211】将【m111】中的音高信息转换为(128*n1)二维布尔向量矩阵。其中列坐标代表音高序列中每个演奏音符的位置索引,行坐标代表代表科学记谱法中绝对音高c

1至g9的128个半音音符,矩阵中每个位置的值用0/1表示,0代表不演奏对应的音符,1代表演奏对应的音符。
[0076]
【m212】将【m112】中的音高信息转换为(128*n2)二维布尔向量矩阵;二维布尔向量矩阵的表示方法同【m211】。
[0077]
【m221】将【m121】中的时值信息转换为(1*n1)二维数值向量矩阵;其中列坐标代表音高序列中每个演奏音符的位置索引。
[0078]
【m223】将【m122】中的时值信息转换为(1*n2)二维数值向量矩阵;二维数值向量矩阵的表示方法同【m221】。
[0079]
【m311】构建音高得分矩阵pitch_s,初始化赋值为0,形状为((n1+1)*(n2+1))。
[0080]
【m312】将【m211】【m212】中的矩阵输入,根据打分函数更新【m311】得到的得分矩阵s;其中打分函数描述如下。
[0081]
设曲谱音高矩阵为声音音高矩阵为其中x
i
表曲谱音高矩阵第i列列向量,a
j
代表声音音高矩阵第j列的列向量,则:
[0082][0083]
【m313】构建音高比对矩阵pitch_m,初始化赋值为0,形状为((n1+1)*(n2+1))。
[0084]
【m314】以【m312】的得分矩阵为输入,根据匹配函数更新【m313】得到的音高比对矩阵pitch_m。其中的匹配函数描述如下:
[0085][0086]
【m321】构建时值比对矩阵dura_m,初始化赋值为0,形状为((n1+1)*(n2+1))。
[0087]
【m322】将【m221】【m222】中的矩阵输入,根据比对函数更新【m321】得到的时值比对矩阵dura_m。其中比对函数描述如下:
[0088]
设曲谱时值矩阵为声音时值矩阵为其中y
i
代表曲谱时值矩阵第i列列向量,b
j
代表声音时值矩阵第j列的列向量,则:dura_s
(i+1,j+1)
=b
j
/y
i


[0089]
【m411】计算得到【m314】的音高比对矩阵中最佳得分路径,最佳得分路径的数量大于等于1;其计算规则描述如下:
[0090]
对音高比对矩阵pitch_m中的元素进行遍历,根据迭代与赋值规则生成r,c,并将r,c分别添加至序列r和c中,迭代与赋值规则如下,其中0代表插入或删除,用于表示实际演奏过程中的多演奏或少演奏音符:
[0091][0092]
将【m411】的多条最佳得分路径和【m322】的曲谱时值矩阵输入,计算每条路径的时值方差,选取方差最小的路径记为最小方差路径,其中最小方差路径的数量大于等于1:
[0093][0094]
其中,dura

s
path(i,j)
每个位置索引(i,j>的时值偏离;e(dura_s
path
)表示整个路径的时值偏离的均值;n表示路径位置数量。
[0095]
【m431】分别获取【m421】中多条最小方差路径的八个属性值记为p,八个属性值依
次为序列r中元素0的数量比例、序列c中元素0的数量比例、序列r中元素0的相对起始位置、序列c中元素0的相对起始位置、序列r中元素0的相对结束位置、序列c中元素0的相对结束位置、序列r中元素0的最大连续数量比例、序列c中元素0的最大连续数量比例。
[0096]
【m432】将【m431】的八个属性值分别输入排序模型排序,得到最优路径;其中排序模型为因为最优路径中的元素0的分布服从一定规律,计算路径排序值rank=p*w,rank最大值对应的路径即为最优路径;w为权重序列w=w1w2w3w4w5w6w7w8。
[0097]
【m511】根据最优路径序列将向量矩阵切分成小节向量矩阵,其切分规则为,从可扩展标记格式的曲谱文件<measure>标记提取小节起始音符位置索引,并与最优比对路径的位置索引进行匹配,生成小节切分标记,根据小节切分标记,将音高向量矩阵和时值向量矩阵分别切分为小节音高向量矩阵、小节时值向量矩阵。
[0098]
【m512】根据最优路径序列将向量矩阵切分成乐句向量矩阵,其切分规则为,从预先构建的乐句位置索引提取乐句起始音符位置索引,并与最优比对路径的位置索引进行匹配,生成乐句切分标记,根据乐句切分标记,将音高向量矩阵和时值向量矩阵分别切分为乐句音高向量矩阵、乐句时值向量矩阵;
[0099]
【m513】根据最优路径序列将向量矩阵切分成段落向量矩阵,其切分规则为,从预先构建的段落位置索引提取段落起始音符位置索引,并与最优比对路径的位置索引进行匹配,生成段落切分标记,根据段落切分标记,将音高向量矩阵和时值向量矩阵分别切分为段落音高向量矩阵、段落时值向量矩阵。
[0100]
【m521】根据评价规则对【m513】各个数据元组进行评价,输出对应位置索引。
[0101]
【m522】从预先构建的评价词词典匹配选取评价词,输出对应评价词。其中评价词词典包括音高、时值、流畅性等多个维度的评价词。
[0102]
本发明获取演奏声音信息和标准曲谱信息;分别将演奏声音信息和标准曲谱信息编码转换为向量矩阵;分别将上述向量矩阵输入比对函数生成比对矩阵;采用动态规划算法、排序模型等生成最优比对路径;演奏声音信息与曲谱信息的评价包括:构建评价词字典;将最优比对路径切分为多层次评价序列;根据评价规则生成不同层次序列的评价信息。
[0103]
路径规划具体过程为通过位置索引变换将曲谱音符和声音音符位置索引整体偏移1个正单位,用0代表插入或删除;如本来是从0

8,现在先整体变换成1

9之后,如果需要插入或删除就引入0,比如变换后的结果是1 0 2 3 4 5 0 0 6 7 8 9,代表第一个位置后面需要插入空格,第5个位置后面插入2个空格。
[0104]
本发明采用演奏声音作为输入源,消除了目前演奏评价系统中对于电子乐器和电子乐器元件的依赖;针对乐器学习者在演奏训练过程中频繁出现的回弹、漏音等不流畅问题,引入“插入”和“删除”等比对概念,通过比对算法识别乐器学习者实际演奏;本发明通过构建音符、小节、乐句、段落、曲目等五个层次和音高、时值、流畅、强弱等不同演奏维度的评价规则和评价词字典,以实现多层次多维度的演奏评价。
[0105]
按照上述实施例,便可很好地实现本发明。值得说明的是,基于上述结构设计的前提下,为解决同样的技术问题,即使在本发明上做出的一些无实质性的改动或润色,所采用的技术方案的实质仍然与本发明一样,故其也应当在本发明的保护范围内。