一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

确定相似旋律的方法和装置与流程

2021-12-03 23:55:00 来源:中国专利 TAG:


1.本公开涉及人工智能领域和音频技术领域,尤其涉及一种确定相似旋律的方法和装置。


背景技术:

2.在日常音乐作曲中存在大量鉴定旋律是否相似,是否涉及抄袭的判定工作。大量依赖人力记忆和听觉判断。很多被告抄袭的歌曲都是在其已经广为人知时才被发现有疑似抄袭现象,这意味着目前业内没有一个合理的音乐相似度检测的算法可以作为客观评价。目前无法将新的旋律与已经存在的旋律序列进行匹配从而做到在发布歌曲前就避免风险。


技术实现要素:

3.本公开提供一种确定相似旋律的方法和装置以及电子设备,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
4.根据本公开实施例的第一方面,一种确定相似旋律的方法包括:将待检测旋律输入到旋律调式拍号推断模型来推断所述待检测旋律的调式和拍号;根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列;根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律。
5.可选地,所述旋律调式拍号推断模型通过以下操作得到:获取训练样本,其中,所述训练样本包括样本旋律的音符序列和时长序列;将所述训练样本输入到初始旋律调式拍号推断模型来预测与所述音符序列和所述时长序列对应的调式序列和拍号序列;通过对预测出的调式序列和拍号序列与所述样本旋律的实际调式序列和实际拍号序列进行比较来调整所述初始旋律调式拍号推断模型的参数以得到所述旋律调试拍号推断模型。
6.可选地,所述音符序列中的音符、所述时长序列中的时长、所述实际调式序列中的调式、所述拍号序列中的拍号、预测出的调式序列中的调式、预测出的拍号序列中的拍号具有相同的数量。
7.可选地,所述根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列的步骤包括:根据所述待检测旋律的推断出的调式将所述待检测旋律转换为预定调式,并根据移调算法对具有所述预定调式的所述待检测旋律进行移调;根据所述待检测旋律的推断出的拍号,对移调后的所述待检测旋律进行刻度细分以使移调后的所述待检测旋律达到预定长度。
8.可选地,所述根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律的步骤包括:根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组,其中,所述模糊搜索候选组包括与所述旋律序列相似的候选旋律;根据预定相似度算法确定所述旋律序列与所述模糊搜索候选组中的每一个候选旋律之间的相似度,并将相似度超过预定阈值的候选旋律确定为与所述旋律序列匹配的旋律。
9.可选地,所述根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜
索候选组的步骤包括:当所述旋律序列与所述旋律库中的一条旋律之间相似的分词片段的数量与所述旋律序列的分词片段总数的比率超过预定比率时,将所述一条旋律确定为所述模糊搜索候选组中的候选旋律。
10.可选地,所述将所述旋律序列的分词片段与所述旋律库中的旋律的分词片段进行相似度判断的步骤包括:根据定长窗口对所述旋律序列进行切割来得到所述旋律序列的分词片段;根据所述定长窗口对所述旋律库中的所有旋律进行切割来获得包括多个分词片段的词表库;将所述词表库中的分词片段以及所述旋律序列的分词片段进行解析以获得所述词表库的特征向量库和所述旋律序列的分词片段的特征向量;计算所述旋律序列的分词片段的特征向量与所述特征向量库中的每一个特征向量之间的相似度。
11.可选地,所述解析步骤和所述计算步骤是由所述旋律调式拍号推断模型的嵌入层执行的,或者是由通过自监督学习方法对所述旋律调式拍号推断模型的嵌入层进行微调后的嵌入层执行的。
12.根据本公开实施例的第二方面,一种确定相似旋律的装置包括:确定单元,被配置为将待检测旋律输入到旋律调式拍号推断模型来推断所述待检测旋律的调式和拍号;转换单元,被配置为根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列;以及匹配单元,被配置为根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律。
13.可选地,所述旋律调式拍号推断模型由训练装置通过训练获得,其中,所述训练装置包括:获取模块,被配置为获取训练样本,其中,所述训练样本包括样本旋律的音符序列和时长序列;训练模块,被配置为:将所述训练样本输入到初始旋律调式拍号推断模型来预测与所述音符序列和所述时长序列对应的调式序列和拍号序列,并通过对预测出的调式序列和拍号序列与所述样本旋律的实际调式序列和实际拍号序列进行比较来调整所述初始旋律调式拍号推断模型的参数以得到所述旋律调试拍号推断模型。
14.可选地,所述音符序列中的音符、所述时长序列中的时长、所述实际调式序列中的调式、所述拍号序列中的拍号、预测出的调式序列中的调式、预测出的拍号序列中的拍号具有相同的数量。
15.可选地,转换单元被配置为通过以下操作将所述待检测旋律转换为规定格式的旋律序列:根据所述待检测旋律的推断出的调式将所述待检测旋律转换为预定调式,并根据移调算法对具有所述预定调式的所述待检测旋律进行移调;根据所述待检测旋律的推断出的拍号,对移调后的所述待检测旋律进行刻度细分以使移调后的所述待检测旋律达到预定长度。
16.可选地,匹配单元被配置为包括:模糊搜索模块,被配置为根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组,其中,所述模糊搜索候选组包括与所述旋律序列相似的候选旋律;精确搜索模块,被配置为根据预定相似度算法确定所述旋律序列与所述模糊搜索候选组中的每一个候选旋律之间的相似度,并将相似度超过预定阈值的候选旋律确定为与所述旋律序列匹配的旋律。
17.可选地,模糊搜索模块被配置为通过以下操作来确定模糊搜索候选组:当所述旋律序列与所述旋律库中的一条旋律之间相似的分词片段的数量与所述旋律序列的分词片段总数的比率超过预定比率时,将所述一条旋律确定为所述模糊搜索候选组中的候选旋律。
18.可选地,模糊搜索模块被配置为通过以下操作将所述旋律序列的分词片段与所述旋律库中的旋律的分词片段进行相似度判断:根据定长窗口对所述旋律序列进行切割来得到所述旋律序列的分词片段;根据所述定长窗口对所述旋律库中的所有旋律进行切割来获得包括多个分词片段的词表库;将所述词表库中的分词片段以及所述旋律序列的分词片段进行解析以获得所述词表库的特征向量库和所述旋律序列的分词片段的特征向量;计算所述旋律序列的分词片段的特征向量与所述特征向量库中的每一个特征向量之间的相似度。
19.可选地,模糊搜索模块被配置为通过利用所述旋律调式拍号推断模型的嵌入层来执行所述解析操作和所述计算操作,或者经由通过自监督学习方法对所述旋律调式拍号推断模型的嵌入层进行微调后的嵌入层来执行所述解析操作和所述计算操作。
20.根据本公开实施例的第三方面,一种电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的确定相似旋律的方法。
21.根据本公开实施例的第四方面,一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行根据本公开的确定相似旋律的方法。
22.根据本公开实施例的第五方面,一种计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现根据本公开的确定相似旋律的方法。
23.本公开的实施例提供的技术方案至少带来以下有益效果:
24.本公开使用旋律调式拍号推断模型来推断旋律序列的调式和拍号信息,并且使用移调算法将旋律移动到相同的旋律基线且对移调后的旋律划拍,从而将不同调式音乐转移在相同调式下,避免了传统算法忽略音符在时间和音高上的平移(即不等长、不对齐)的问题。另外,本公开利用模型编码学习的结果,将中间参数转换为后续相似度的参考,解决了以往算法编码复杂,计算复杂的情况,也很好地将音高和节奏两者以一种低纬度密集的向量形式呈现。另外,本公开提出的确定相似旋律的方法和装置使用切片模糊搜索的方法,可以很好地应对个别相似旋律局部修改而影响整体相似性判断的问题,并且可统一数据库n

gram的分词表,进而可加速相似旋律的搜索。此外,本公开提出的确定相似旋律的方法和装置可以利用其他任务的输出与中间结果进行半自监督学习。另外,本公开提出的确定相似旋律的方法和装置是一种三段式的搜索算法,即,编码、模糊搜索和精确搜索的方式,大大提高了量级较大情况下旋律搜索的速度。并且,本公开在音乐角度进行匹配,效率更高,可满足用户创作等需求,并且降低查重以及版权维护相关成本,在歌曲发布前排除风险。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是示出应用根据本公开的示例性实施例的确定相似旋律的方法和装置的示例性系统架构的示图。
28.图2是示出根据本公开的示例性实施例的一种旋律调式拍号推断模型的训练方法
的流程图。
29.图3是示出根据本公开的示例性实施例的transformer模型的训练示意图;
30.图4是示出根据本公开的示例性实施例的一种旋律调式拍号推断模型的训练装置的框图。
31.图5是示出根据本公开的示例性实施例的一种确定相似旋律的方法的流程图。
32.图6是示出根据本公开的示例性实施例的根据调式和拍号对待检测旋律进行格式转换的过程的示图。
33.图7是示出根据本公开的示例性实施例的根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组的过程的示图。
34.图8是示出根据本公开的示例性实施例的对旋律调式拍号推断模型的嵌入层进行微调的过程的示图。
35.图9是示出根据本公开的示例性实施例的精确搜索过程的示图。
36.图10是示出根据本公开的示例性实施例的一种确定相似旋律的装置的框图。
37.图11是示出根据本公开实施例的一种电子设备的框图。
具体实施方式
38.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
39.应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
40.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
41.目前,现有的诸多检测相似旋律的技术主要采用的是类似字符串匹配的方法。例如,最早的哼唱识别系统qhb、线性联想记忆(lam)算法和动态时间规划(dtw)算法,其中,哼唱识别系统qhb使用的是基于udr三个音高相对关系的方法进行相似旋律匹配(其中,u表示第i 1个音符的音高低于第i个音符的音高,d表示相等,r表示高于),lam算法更重视节奏相似度。但这些传统方法有以下几个缺陷问题:
42.(1)音高和节奏两个纬度是旋律的重要特征,缺一不可,但是传统算法无法将其合二为一,例如udr算法和lam算法都分别只能利用音高和节奏中的一个;
43.(2)传统的字符串匹配的方法无法对不等长、不对齐的内容进行搜索;
44.(3)虽然dtw这一类算法可以对不等长内容进行相似度评价,但是效率极低,并且运算时间随旋律长度的上升而呈指数增长。
45.(4)现有算法忽略了音乐听感上的重要信息(即句式感)。一首旋律带给人的听感和这首旋律所在位置相关,例如,对于同一段旋律,从第一小节第一拍开始的歌曲不同于从
第一小节第三拍开始的歌曲,因此小节信息是一个关键信息,并且是可以加快搜索速度的重要信息。
46.(5)虽然可通过计算待比较旋律与旋律库中的旋律之间的相对差来避免相同旋律不同调的情况,但是如果进行简单的倚音操作,就可以规避这种检查方法。例如,如果待比较旋律m1是(a,b,c,d),旋律库中的旋律m2是(a 2,b 2,c 2,d 2),则待比较旋律m1与旋律m2之间的平均相对差是2,进而可获知待比较旋律m1是旋律m2向下降了两个调,但是如果待比较旋律m1加入一个装饰音而变成(y,a,b,c,d),则待比较旋律m1与旋律m2之间的相对差将不是2,这就使得待比较旋律m1和旋律m2被认定为不同的旋律,通过这样的倚音操作,就可以规避这种检查方法。
47.为了解决以上问题,本公开提出了一种确定相似旋律的方法和装置以及旋律调式拍号推断模型的训练方法和训练装置,具体地讲,本公开使用旋律调式拍号推断模型来推断旋律序列的调式和拍号信息,并且使用移调算法且划拍来将不同调式音乐转移在相同调式下,避免了传统算法忽略音符在时间和音高上的平移(即不等长、不对齐)的问题。另外,本公开利用模型编码学习的结果,将中间参数转换为后续相似度的参考,解决了以往算法编码复杂,计算复杂的情况,也很好地将音高和节奏两者以一种低纬度密集的向量形式呈现。另外,本公开提出的确定相似旋律的方法和装置使用切片模糊搜索的方法,可以很好地应对个别相似旋律局部修改而影响整体相似性判断的问题。此外,本公开提出的确定相似旋律的方法和装置可以利用其他任务的输出与中间结果进行半自监督学习。另外,本公开提出的确定相似旋律的方法和装置是一种三段式的搜索算法,即,编码、模糊搜索和精确搜索的方式,大大提高了量级较大情况下旋律搜索的速度。下面参照图1至图11对本公开提出的确定相似旋律的方法和装置以及旋律调式拍号推断模型的训练方法和训练装置进行描述。
48.图1是示出应用根据本公开的示例性实施例的确定相似旋律的方法和装置的示例性系统架构的示图。
49.如图1所示,本公开所提供的确定相似旋律的方法和装置,可以应用于如图1所示的应用环境中。系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如旋律检测请求、音视频数据上传和下载请求、音视频数据搜索请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如音频播放类应用、视频和音频编辑类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行音视频的播放、录制和编辑的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
50.终端设备101、102、103可以安装有音视频采集装置以采集音视频数据。此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如扬声器)以播放声
音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。
51.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的多媒体应用等提供支持的后台服务器。后台服务器可以对所接收到的音视频数据上传请求等数据进行解析、存储等处理,可接收移动终端101、102、103所发送的旋律匹配请求并对上传的旋律与旋律库中的旋律进行匹配来检测上传的旋律是否是与现有的旋律相似的旋律,并且还可以接收终端设备101、102、103所发送的视频搜索服务请求(例如短视频搜索服务请求),并将根据用户输入搜索到的视频反馈至终端设备101、102、103。
52.需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
53.需要说明的是,本公开实施例所提供的确定相似旋律的方法可由终端设备执行,也可以有服务器执行,或者也可以由终端设备和服务器协作执行。相应地,确定相似旋律的装置可设置在终端设备中、服务器中或者设置在终端设备和服务器两者中。
54.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。
55.图2是示出根据本公开的示例性实施例的一种旋律调式拍号推断模型的训练方法的流程图。下面结合图3对图2的旋律调式拍号推断模型的训练方法进行描述。在下文中,以transformer模型为例进行描述,然而本技术不限于使用此模型,只要是能够实现从旋律推断出该旋律的调式和拍号的模型均可以用于本技术。
56.如图2中所示,在步骤s201,获取训练样本,其中,所述训练样本包括样本旋律的音符序列和时长序列。其中,训练样本来自于样本旋律,该样本旋律可以是由任意的旋律内容转换而来,并且转换后的旋律具有初始旋律调式拍号推断模型所需的输入格式,例如,如果旋律内容是旋律音频,则可利用音频转录模型将旋律音频转换为初始旋律调式拍号推断模型所需要的输入格式的旋律;如果旋律内容是旋律曲谱,则可利用cor识别模型来将旋律曲谱转换为初始旋律调式拍号推断模型所需要的输入格式的旋律;如果旋律内容是旋律midi,则可利用midi解析模块将旋律midi转换为初始旋律调式拍号推断模型所需要的输入格式的旋律。
57.此外,初始旋律调式拍号推断模型的输入的部分共包括四个部分:音高、时长、拍号和调式,并且它们的数量相等,例如,旋律的音符序列共有n个音符,则对于每个音符,存在一个时长、一个调式和一个拍号,因此共存在n个时长、n个调式和n个拍号,这n个音符、n个时长、n个调式和n个拍号分别组成一个音频序列、一个时长序列、一个调式序列和一个拍号序列。对于图3中的初始旋律调式拍号推断模型,音符序列(c4,d4,e4,d4,

)和时长序列(0.5,0.5,1.5,1,

)是初始旋律调式拍号推断模型的训练样本,而图3中输入的调式序列(c大调,c大调,c大调,c大调,

)和拍号序列(4/4,4/4,4/4,4/4,

)是初始旋律调式拍号推断模型的标签输入,换句话说,图3中输入的调式序列(c大调,c大调,c大调,c大调,

)和拍号序列(4/4,4/4,4/4,4/4,

)是样本旋律的经过确认的实际调式序列和拍号序列,用于对比由初始旋律调式拍号推断模型预测的调式序列和拍号序列是否准确。
58.在步骤s202,将所述训练样本输入到初始旋律调式拍号推断模型来预测与所述音符序列和所述时长序列对应的调式序列和拍号序列。
59.如图3中所示,音符序列(c4,d4,e4,d4,

)和时长序列(0.5,0.5,1.5,1,

)在经过嵌入层转换为词向量之后进行合并操作,然后进行位置编码操作,之后再输入到transformer模型左侧的编码器中,而调式序列(c大调,c大调,c大调,c大调,

)和拍号序列(4/4,4/4,4/4,4/4,

)在经过嵌入层转换为词向量之后进行合并操作,然后进行位置编码操作,之后作为再输入到transformer模型右侧的解码器中的第一个掩码多头注意力层和add&norm层(即加法和归一化层),此外,transformer模型左侧的编码器的输出被输入到右侧的解码器中的第二个多头注意力层和add&norm层。transformer模型根据以上输入进行训练,并最终经由softmax(即归一化指数函数)预测输出,即预测与音符序列(c4,d4,e4,d4,

)和时长序列(0.5,0.5,1.5,1,

)对应的调式序列(

c大调,a小调,a小调,

)和拍号序列(

4/4,4/4,4/4,

)。
60.然后,在步骤s203,通过对预测出的调式序列和拍号序列与所述样本旋律的实际调式序列和实际拍号序列进行比较来调整所述初始旋律调式拍号推断模型的参数以得到旋律调式拍号推断模型,从而可以获得能够快速且准确地得到待检测旋律的调式和拍号信息的旋律调式拍号推断模型,其中,所述音符序列中的音符、所述时长序列中的时长、所述实际调式序列中的调式、所述拍号序列中的拍号、预测出的调式序列中的调式、预测出的拍号序列中的拍号具有相同的数量,以符合模型训练过程的要求从而有效地对比由模型推断出的调式和拍号是否准确。
61.具体地讲,初始旋律调式拍号推断模型对预测出的调式序列和拍号序列与样本旋律的实际调式序列和实际拍号序列分别进行比对,如果预测出的调式序列和拍号序列分别与样本旋律的实际调式序列和实际拍号序列相同,则表明当前的初始旋律调式拍号推断模型的训练结束进而得到了旋律调式拍号推断模型,如果预测出的调式序列和拍号序列中至少部分与样本旋律的实际调式序列和实际拍号序列不同,则调整初始旋律调式拍号推断模型的参数并根据调整后的参数对初始旋律调式拍号推断模型进行训练直到预测出的调式序列和拍号序列分别与样本旋律的实际调式序列和实际拍号序列相同为止。此外,在训练得到旋律调式拍号推断模型之后,使用训练好的旋律调式拍号推断模型时,仅需要输入音符序列和时长序列,不再输入调号序列和拍号序列,旋律调式拍号推断模型会根据输入的音符序列和时长序列来推断出相应的调号序列和拍号序列。
62.图4是示出根据本公开的示例性实施例的一种旋律调式拍号推断模型的训练装置400的框图。
63.如图4中所示,训练装置400包括获取模块410和训练模块420。获取模块410可被配置为获取训练样本,其中,所述训练样本包括样本旋律的音符序列和时长序列,训练样本来自于样本旋律,该样本旋律可以是由任意的旋律内容转换而来,并且转换后的旋律具有初始旋律调式拍号推断模型所需的输入格式。由于以上已参照图2和图3对此进行了详细描述,因此此处不再赘述。
64.训练模块420可被配置为将所述训练样本输入到初始旋律调式拍号推断模型来预测与所述音符序列和所述时长序列对应的调式序列和拍号序列,并通过对预测出的调式序列和拍号序列与所述样本旋律的实际调式序列和实际拍号序列进行比较来调整所述初始
旋律调式拍号推断模型的参数以得到所述旋律调试拍号推断模型,其中,所述音符序列中的音符、所述时长序列中的时长、所述实际调式序列中的调式、所述拍号序列中的拍号、预测出的调式序列中的调式、预测出的拍号序列中的拍号具有相同的数量。
65.具体地讲,训练模块420对预测出的调式序列和拍号序列与样本旋律的实际调式序列和实际拍号序列分别进行比对,如果预测出的调式序列和拍号序列分别与样本旋律的实际调式序列和实际拍号序列相同,则表明当前的初始旋律调式拍号推断模型的训练结束进而得到了旋律调式拍号推断模型,如果预测出的调式序列和拍号序列中至少部分与样本旋律的实际调式序列和实际拍号序列不同,则训练模块420调整初始旋律调式拍号推断模型的参数并根据调整后的参数对初始旋律调式拍号推断模型进行训练直到预测出的调式序列和拍号序列分别与样本旋律的实际调式序列和实际拍号序列相同为止。此外,在训练得到旋律调式拍号推断模型之后,使用训练好的旋律调式拍号推断模型时,仅需要输入音符序列和时长序列,不再输入调号序列和拍号序列,旋律调式拍号推断模型会根据输入的音符序列和时长序列来推断出相应的调号序列和拍号序列。
66.下面将参照图5至图11来描述如何结合训练的旋律调式拍号推断模型确定相似旋律的方法和装置。
67.图5是示出根据本公开的示例性实施例的一种确定相似旋律的方法的流程图。
68.在步骤s501,将待检测旋律输入到旋律调式拍号推断模型来推断所述待检测旋律的调式和拍号,从而快速且准确地得到待检测旋律的调式和拍号信息,其中,旋律调式拍号推断模型是通过使用图1所描述的训练方法训练得到的。
69.具体地讲,待检测旋律可以是由任意的旋律内容转换而来,例如,当旋律内容可以是旋律音频、旋律曲谱、旋律midi等中的一种旋律内容时,可使用音频转录模型、cor识别模型、解析模型来将相应的旋律内容转换为旋律调式拍号推断模型所需的输入格式。将待检测旋律的音符序列和时长序列输入到训练好的旋律调式拍号推断模型来推断出所述待检测旋律的调式序列和拍号序列,此外,旋律调式拍号推断模型根据待检测旋律的音符序列和时长序列所推断出的输出结果中可能存在一些噪声,可使用各种过滤策略来滤除掉这些偶然出现的噪声,例如,推断出的调式序列(c大调,c大调,c大调,a小调,c大调,c大调)中存在噪声a小调。在推断出调式和拍号之后,可以将完全相同的调式和拍号分别按照时间合并,进而获得待检测旋律的调式和拍号。
70.在步骤s502,根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列,这样可以将不同调式的音乐转移在相同调式下,避免了传统算法忽略音符在时间和音高上的平移(即不等长、不对齐)的问题。下面结合图6对此进行描述。
71.所述根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列的步骤包括:根据所述待检测旋律的推断出的调式将所述待检测旋律转换为预定调式,并根据移调算法对将具有转换后的调式的所述待检测旋律进行移调,也就是说,使用移调算法将旋律移动到相同的旋律基线,这样可以将不同调式的音乐转移到相同的调式下,便于后续的相似旋律的比较。例如,如果推断出的调式是大调,则将待检测旋律统一转换为c大调,如果推断出的调式是小调,则将待检测旋律统一转换为c小调。然后利用移调算法找到转调后的调式距离标准音最近的一个八度,然后以此值为基准值对具有转换后的调式的待检测旋律进行移调。
72.所述根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列的步骤还包括:根据所述待检测旋律的推断出的拍号对移调后的所述待检测旋律进行刻度细分以达到预定长度,从而建立序列长度和绝对时间长度的关联性,以便于进行旋律之间的比较。
73.具体地讲,刻度细分表示对时间刻度进行统一的方法,例如,第一段旋律的时长序列是(0.5,0.5,1,1.5,0.5),第二旋律的时长序列的总时长是4(单位拍),第二旋律的时长序列是(0.5,2,1.5),第二旋律的时长序列的总时长也是4,但是这两段旋律的序列长度是不同的,难以进行比较。因此,本技术将它们填充到相同的长度,假设加入刻度细分的分辨率是0.5,由于总时长为4,因此应该存在8个刻度。如果第一段旋律为(c,e,d,e,c),那么刻度细分后为(c,e,d,d,e,e,e,c)。通过以上操作可建立序列长度和绝对时间长度的关联性。
74.如图6中所示,首先,待检测旋律(例如midi)在输入到旋律调式拍号推断模型,旋律调式拍号推断模型推断待检测旋律的调式和拍号,然后根据待检测旋律的推断出的调式将待检测旋律转换为预定调式,并根据移调算法对具有所述预定调式的所述待检测旋律进行移调,从而使得待检测旋律具有统一调式。此外,根据待检测旋律的推断出的拍号,对移调后的所述待检测旋律进行刻度细分以使移调后的待检测旋律达到预定长度。另外,虽然以上描述的过程中是先进行了转调和移调操作,然后再进行刻度细分操作,但是本技术不对刻度细分操作以及转调和移调操作两者的操作顺序进行特别限定,可以先进行刻度细分操作,再进行转调和移调操作,或者,可以在一条路径中对待检测旋律进行转调和移调操作的同时,在另一路径对待检测旋律进行刻度细分,最后将这两条路径获得的结果进行合并操作来获得最终的具有统一调式和时间刻度的旋律序列。
75.在步骤s503,根据旋律序列从旋律库中确定与所述旋律序列匹配的旋律,其中,所述旋律序列是经过步骤s502得到的规定格式的旋律序列。
76.具体地讲,根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律的步骤可包括:根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组,其中,所述模糊搜索候选组包括与所述旋律序列相似的候选旋律,利用分词片段进行模糊搜索可以很好地应对个别相似旋律局部修改而影响整体相似性判断的问题。根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组的步骤包括:当所述旋律序列与所述旋律库中的一条旋律之间相似的分词片段的数量与所述旋律序列的分词片段总数的比率超过预定比率时,将所述一条旋律确定为所述模糊搜索候选组中的候选旋律,通过这种模糊搜索可以大大提高搜索速度。下面结合图7对此进行描述。
77.如图7中所示,首先,根据定长窗口对所述旋律序列进行切割来得到所述旋律序列的分词片段,同时根据所述定长窗口对所述旋律库中的所有旋律进行切割来获得包括多个分词片段的词表库(例如n

gram词表库),从而统一词表库,进而加快后续相似旋律的搜索的速度。此后,将所述词表库中的分词片段以及所述旋律序列的分词片段分别进行解析以获得所述词表库的特征向量库和所述旋律序列的分词片段的特征向量。此后,可计算所述旋律序列的分词片段的特征向量与所述特征向量库中的每一个特征向量之间的相似度。如果所述旋律序列与所述旋律库中的一条旋律之间相似的分词片段的数量与所述旋律序列的分词片段总数的比率超过预定比率,则将所述一条旋律确定为所述模糊搜索候选组中的候选旋律,其中,所述预定比率可以根据需要被不同的设置,例如,可以设置为30%、50%
等。以上过程利用模型编码学习的结果,将中间参数转换为后续相似度的参考,可以解决以往算法编码复杂,计算复杂的情况,也很好地将音高和节奏两者以一种低纬度密集的向量形式呈现。
78.以上通过分词片段的方式对旋律库进行模糊搜索,可以判断局部相似的旋律,例如,待检测旋律为bcd,旋律库中的一个旋律为aaaabcd,如果按照全长度匹配方法进行检测,则会得出待检测旋律与该一个旋律完全不同的检测结果,但是按照定长窗口对旋律进行切割并按照分词片段进行模糊搜索,可以得到检测旋律bcd与所述一个旋律中的局部相同的结论,在没有更多相似片段的情况下,可以将aaaabcd确定为与待检测旋律相似的候选旋律。
79.以上描述的对分词片段进行解析的操作以及计算相似度的操作可以由所述旋律调式拍号推断模型的嵌入层执行的,此外,如果所使用的旋律调式拍号推断模型的嵌入层较大或者没有嵌入层,则也可以经由通过自监督学习方法对所述旋律调式拍号推断模型进行微调而得到的合适的嵌入层来执行以上描述的对分词片段进行解析的操作以及计算相似度的操作,下面将参照图8来描述通过自监督学习方法对所述旋律调式拍号推断模型的嵌入层进行微调的过程。
80.图8是示出根据本公开的示例性实施例的对旋律调式拍号推断模型的嵌入层进行微调的过程的示图。
81.如图8中所示,可将训练旋律a和b输入到旋律调式拍号推断模型的嵌入层以分别获得旋律a的特征向量和旋律b的特征向量。另外,计算训练旋律a和b之间的编辑距离,此后,旋律a的特征向量和旋律b的特征向量之间的相似度以训练旋律a和b之间的编辑距离为标签对旋律调式拍号推断模型的嵌入层进行迭代训练,直到得到满足一定准确率的旋律调式拍号推断模型的嵌入层。虽然在以上描述中,以训练旋律a和b之间的编辑距离为标签来对旋律调式拍号推断模型的嵌入层进行迭代训练,但是本公开不限于此,可采用任何合适的其他算法为标签来对旋律调式拍号推断模型的嵌入层进行迭代训练。这样可利用模型本身对音乐语音的学习以及相似度的判断,获取一个最能体现旋律相似度的微调编码器,从而提高系统的适应性。
82.然后参照图5,在步骤s503,根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律的步骤还可包括:根据预定相似度算法确定所述旋律序列与所述模糊搜索候选组中的每一个候选旋律之间的相似度,并将相似度超过预定阈值的候选旋律确定为与所述旋律序列匹配的旋律,通过这样的精确搜索提高搜索结果的准确度。
83.具体地讲,获得模糊搜索候选组的过程可以筛除大量与待检测旋律不匹配的旋律,在此情况下,只需要对模糊搜索候选组中的候选旋律与待检测旋律之间进行更精确搜索就可以最终确定待检测旋律是否与现有的旋律相似或匹配。如图9中所示,在步骤s503获得的模糊搜索候选组以及在步骤s502获得的规定格式的旋律序列(即由待检测旋律根据模型推断出的调式和拍号进行格式转换后得到的旋律序列)被输入到相似度计算模块。该相似度计算模块可以使用动态规划来确定规定格式的旋律序列与模糊搜索候选组中的候选旋律之间的相似度。最终该相似度计算模块可输出规定格式的旋律序列与模糊搜索候选组中的每一个候选旋律之间的相似度。然后,由相似判断模块根据从相似度计算模块接收到的与每个候选旋律相应的相似度来判断模糊搜索候选组中是否存在与规定格式的旋律序
列之间的相似度超过预定阈值的候选旋律。如果某个候选旋律与规定格式的旋律序列之间的相似度超过预定阈值,则可将该候选旋律确定为与规定格式的旋律序列匹配的旋律,即存在版权风险,如果模糊搜索候选组中不存在与规定格式的旋律序列之间的相似度超过预定阈值的候选旋律,则可视为没有检测到与规定格式的旋律序列匹配的旋律,即没有版权风险。此外,虽然以上以动态规划的方法为例来描述了确定相似度的过程,但是本技术不限于此,可以采用任何适当的算法来进行相似度确定。
84.图10是示出根据本公开的示例性实施例的一种确定相似旋律的装置1000的框图。
85.如图10中所示,确定相似旋律的装置1000可包括确定单元1010、转换单元1020和匹配单元1030。
86.确定单元1010可被配置为将待检测旋律输入到旋律调式拍号推断模型来推断所述待检测旋律的调式和拍号,其中,旋律调式拍号推断模型是通过使用图1所描述的训练方法训练得到的,或者由图4的训练装置通过训练被获得。由于以上已经参照图5对此进行了相似描述,因此,此处不再进行赘述。
87.转换单元1020可被配置为根据推断出的调式和拍号将所述待检测旋律转换为规定格式的旋律序列。转换单元1020可被配置为通过以下操作将所述待检测旋律转换为规定格式的旋律序列:根据所述待检测旋律的推断出的调式将待检测旋律转换为预定调式,并根据移调算法对将具有转换后的调式的所述待检测旋律进行移调;根据所述待检测旋律的推断出的拍号对移调后的所述待检测旋律进行刻度细分以达到预定长度。例如,如果推断出的调式是大调,则将待检测旋律统一转换为c大调,如果推断出的调式是小调,则将待检测旋律统一转换为c小调。然后利用移调算法找到转调后的调式距离标准音最近的一个八度,然后以此值为基准值对具有转换后的调式的待检测旋律进行移调。由于以上已经参照图5和图6对此进行了详细描述,因此这里不再赘述。
88.匹配单元1030可被配置为根据所述旋律序列从旋律库中确定与所述旋律序列匹配的旋律,其中,所述旋律序列是由转换单元1020按照以上操作对待检测旋律进行转换而得到的规定格式的旋律序列。
89.具体地讲,匹配单元1030可被配置包括模糊搜索模块1031和精确搜索模块1032,其中,模糊搜索模块1031可被配置为根据所述旋律序列的分词片段从旋律库进行模糊搜索来确定模糊搜索候选组,其中,所述模糊搜索候选组包括与所述旋律序列相似的候选旋律。精确搜索模块1032可被配置为根据预定相似度算法确定所述旋律序列与所述模糊搜索候选组中的每一个候选旋律之间的相似度,并将相似度超过预定阈值的候选旋律确定为与所述旋律序列匹配的旋律。
90.换句话说,匹配单元1030先通过模糊搜索模块1031从旋律库中进行模糊搜索来过滤掉大量与待检测旋律不相似的旋律,进而获得在一定程度上与待检测旋律相似的模糊搜索候选组,然后通过精确搜索模块1032利用更精确方法将待检测旋律与模糊搜索候选组中的模糊候选进行更加准确的相似性判断。下面首选描述模糊搜索模块1031如何确定模糊搜索候选组。
91.首先,模糊搜索模块1031可被配置为通过以下操作来确定模糊搜索候选组:当所述旋律序列与所述旋律库中的一条旋律之间相似的分词片段的数量与所述旋律序列的分词片段总数的比率超过预定比率时,将所述一条旋律确定为所述模糊搜索候选组中的候选
旋律。
92.具体地讲,模糊搜索模块1031可被配置为通过以下操作将所述旋律序列的分词片段与所述旋律库中的旋律的分词片段进行相似度判断:根据定长窗口对所述旋律序列进行切割来得到所述旋律序列的分词片段;根据所述定长窗口对所述旋律库中的所有旋律进行切割来获得包括多个分词片段的词表库;将所述词表库中的分词片段以及所述旋律序列的分词片段进行解析以获得所述词表库的特征向量库和所述旋律序列的分词片段的特征向量;计算所述旋律序列的分词片段的特征向量与所述特征向量库中的每一个特征向量之间的相似度。其中,模糊搜索模块1031可被配置为通过利用所述旋律调式拍号推断模型的嵌入层来执行所述解析操作和所述计算操作,或者经由通过自监督学习方法对所述旋律调式拍号推断模型的嵌入层进行微调后的嵌入层来执行所述解析操作和所述计算操作。
93.至此,模糊搜索模块1031获得了包括至少一个模糊候选的模糊搜索候选组,然后精确搜索单元1032在此基础上进行增加精确的搜索。具体地讲,精确搜索单元1032可包括图9中所示出的相似度计算模块和相似判断模块。由于以上已经参照图5至图9对此进行了详细描述,因此此处不再进行赘述。
94.根据本公开的实施例,可提供一种电子设备。图11是根据本公开实施例的电子设备1100的框图,该电子设备1100可包括存储器1102和处理器1101,存储器1102存储处理器1101可执行指令,处理器1101被配置为执行所述指令,以实现根据本公开的训练方法或确定相似旋律的方法。
95.处理器1101可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器1101还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
96.作为一种存储介质的存储器1102可包括操作系统(例如mac操作系统)、数据存储模块、网络通信模块、用户接口模块、视频编辑程序、模型训练程序以及数据库。
97.存储器1102可与处理器1101集成为一体,例如,可将ram或闪存布置在集成电路微处理器等之内。此外,存储器1102可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器1102和处理器1101可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器1101能够读取存储在存储器1102中的文件。
98.此外,电子设备1100还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备700的所有组件可经由总线和/或网络而彼此连接。
99.作为示例,电子设备1100可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1100并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备1100还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
100.本领域技术人员可理解,图11中示出的结构并不构成对的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
101.根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,当所述计
算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行根据本公开的训练方法或者确定相似旋律的方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
102.根据本公开的实施例中,还可提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现根据本公开的训练方法或者确定相似旋律的方法。
103.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
104.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献