音乐抄袭的客观评价

2021-09-23 02:13蒋慧军
复旦学报(自然科学版) 2021年3期
关键词:时值堆栈音程

蒋慧军,徐 伟,肖 京

(平安科技(深圳)有限公司,广东 深圳 518063)

音乐作品中的曲调抄袭是一种常见且经常引起激烈争论的现象,在判断音乐作品是否实质性相似时,主要是对旋律进行比较[1],法院在音乐版权案件中讨论最多的也是旋律[2],在音乐抄袭判断上,旋律相似性成为了法官运用的最主要因素[3].尽管人们普遍认为,两首旋律之间对应音符的数量有一个固定而简单的限制,但法院的实际判决是基于对音乐材料更为复杂的考虑.

旋律相似性在音乐分析[4]、版权检测[5-6]、音乐信息提取[7-8]等领域中有着重要的作用.旋律相似性的定量研究已得到非常多的重视及关注[5,9-15].

评估两首乐曲的相似性需要找出具体的相似部分.如果两首流行乐曲的副歌部分高度相似,哪怕乐曲的其他部分不同,也很容易被判定为抄袭.当前的相似度评测方法[16]一般是输出整曲的相似值,但在某些侵权案例中,有些是通过对主题曲调改编及新增引子、尾声等方式,降低乐曲的整体相似度,从而避免被检测出乐曲抄袭的[17].

因此,我们提出一种多尺度旋律相似度评测方式,采用层级结构由短至长逐层扫描不同长度的乐曲的相似性.其输出结果是一个可视化层级图和一个色带图.其中色带图可以明确指出相似片段的具体位置,这是大多数仅仅输出一个相似值的旋律评测方法所不能提供的.

1 特征表示

图1 从旋律中提取旋律音程序列及时值序列的一个示例Fig.1 An example of pitch interval sequence and duration sequence extracted from melody

有众多特征可用于旋律相似度分析,比如音高、旋律音程、音符时值、音符端点、带音符时值权重的音高序列等.本文我们使用旋律音程序列表示音高特征,音符时值序列表示节奏特征.若记一首乐曲的旋律声部为V,定义ε(V)为V的音高序列,π(V)为V的音程序列,ρ(V)为V的音符时值序列.可以通过相邻音符的音高差值求得旋律音程,旋律音程保留了旋律的轮廓特征.如图1所示的一个旋律声部V1,可以分别得到ε(V1),π(V1)及ρ(V1).

2 规范化预处理

旋律规范化作为旋律相似性比对的预处理部分,主要作用是保留旋律的主要部分.标准化处理过程主要包括识别及简化装饰音、归并相邻重复音符、去除休止符.其实现如算法1所示.

算法1 规范化预处理

1:程序VNORM(V)

2:输入:旋律V

3:输出:简化后的旋律V′

4:V′←V

5: 识别及简化V′中装饰音

5: 将V′中所有音符的时值设置为四分音符

6: 移除V′中的休止符

7: 合并V′中连续重复的音符

8: 返回V′

其中装饰音的演奏法会影响两首乐曲的局部相似性评测,装饰音包括颤音、波音、回音、滑音、倚音等[18].图2所示为装饰音记号、演奏法及简化版演奏法的示例说明.实际输入的电子乐谱形如midi文件格式,其已经将装饰音按演奏法形式记录,形如图2(b)所示.我们通过对音符时值小于十六分音符(十六分音符的三连音除外)的检测识别装饰音,将其简化成形如图2(c)的形式.

图2 装饰音预处理Fig.2 Ornament pretreatment

图3我们给出了一个旋律片段规范化的示例,这些片段规范化后的音高序列ε()都为〈66,67,70,66〉.

图3 旋律规范化示例Fig.3 Examples of melody normalization

3 相似性评测

多尺度分割是指将旋律特征序列分割成不同长度的子串.将这些子串作为搜索单元,分别与目标旋律特征序列做比对,以确定其中匹配的子串,并将各子串是否匹配的信息绘制成一张二维图,我们称该图为子串匹配可视化层级图,在这张二维图中可以直观地看出不同长度、不同位置的子串的相似度.

图示例(这里假定S为序列ABCDE)Fig.4 An example of (Supposing S is the sequence of ABCDE)

Park等[19]使用编辑距离来计算两个子串的相似度,其计算效率较低,若两个特征序列的长度分别为n和m,由Park等[19]的研究知算法的时间复杂度为O(nm4).接下来我们描述如何通过多尺度分割及最长公共子串算法来寻找匹配旋律片段,并将算法的时间复杂度降到O(nm).

定义1给定模式P和乐谱S,在S中至少存在一个声部V,使其子串v[b]…v[c]与模式P相同,则称v[b]…v[c]与模式P匹配,即

π(VNORM(P))=π(VNORM(v[b]…v[c])).

算法2 寻找匹配旋律片段

同时我们定义特征序列匹配函数:

当完成Sa与Sb所有的子串匹配后,其结果会存放在一个2维匹配子串堆栈中.该2维匹配子串堆栈对于相似性分析至关重要,同时它也直观展示了匹配子串的分布情况.匹配子串堆栈定义如下:

stack(Sa,Sb)=[an,k]|Sa|×|Sb|.

我们可以将2维匹配子串堆栈stack(Sa,Sb)绘制出来,如图5(见 第378页)所示.其中横轴表示Sb的各子串起始点的位置,纵轴表示Sb的各子串的长度.2维匹配子串堆栈揭示了旋律特征序列的局部相似性.如前文所述,我们使用旋律音程和时值作为旋律的特征,为了区分这两个特征,图5中用橙色表示旋律音程特征,用绿色表示时值特征.图6(见 第378页)是来自于数据集MTC-ANN[21]的两首乐曲的旋律特征子串匹配堆栈图,两首乐曲分别为NLB072587_01和NLB072587_02.图6(a)是音程特征,图6(b)是节奏特征.从图中可以看出在横轴7~22的区域是高亮的,我们可以认为该区域所对应的旋律片段是相似的.

图5 子串匹配可视化层级图Fig.5 Visualization of segments matching stack

图6 用于比较两首乐曲旋律相似性的子串匹配堆栈图Fig.6 An example of segments matching stack by comparing similarities between two songs红色的点表示顶点.子串起始点5表示子串从第5个音符开始.子串长度的单位为音符个数,5表示子串由5个音符构成.

算法3 搜索顶点

1:程序FINDPEAKS(stack(Sa,Sb))

2:输入:堆栈stack(Sa,Sb)

3:输出:所有顶点

4:for i in 1 to |Sb|do

5: a(i,0)=0

6:for j in 1 to |Sa|do

7: a(0,j)=0

8:for i in 1 to |Sb|do

9: for j in 1 to |Sa|do

10: if a(i,j)=1 and a(i-1,j+1)=0 and a(i,j+1)=0 and j>=4 do

11:peaks←(i,j)

12: returnpeaks

正式地,音程序列的子串匹配堆栈图的顶点peaksπ的公式为

peaksπ=FINDPEAKS(stack(VNORM(π(Va)),VNORM(π(Vb)))).

时值的子串匹配堆栈图的顶点peakρ公式为

peaksρ=FINDPEAKS(stack(VNORM(ρ(Va)),VNORM(ρ(Vb)))).

我们在计算音程序列相似性时,设计出时值调节器模块,以时值作为权重将匹配的音程序列进行扩展.时值调节器的原理如算法4所示.通过时值调节器可以求得扩展后的音程序列的子串匹配顶点序列:

peaks′π=regulator(peaksπ,Vb).

算法4 时值调节器

1:程序regulator(peaksπ,Vb)

2:输入:音程序列匹配堆栈的顶点集peaksπ,旋律Vb

3:输出:加入时值权重后的顶点集peaks′π

4:forpeakinpeaksπdo

5:k,n←peak

8:peaks′π←peaks′π∪(k′,n′)

9:returnpeaks′π

我们使用PMI(Percent Melodic Identity)来计算旋律相似性,使用PRI(Percent Rhythmic Identity)来计算节奏相似性.PMI和PRI的计算公式如下所示:

以MTC-ANN[21]的两首乐曲NLB072587_01和NLB072587_02的比对为例,橙色表示音程特征,绿色表示节奏特征,将得到的顶点集按长度从大到小排序,图7展示的是相似旋律片段的色带图,横轴上的刻度为十六分音符.同时还能得到两首乐曲的旋律相似性为89%,节奏相似性为86%.

图7 两首乐曲相似旋律片段的色带图Fig.7 A ribbon chart of similar melodic segments between two songs

4 实验数据

我们使用4个测试用例来比较我们的模型MusicPlag和Park模型[19]的比对性能.测试所用机器为Intel I7 8750H CPU,16 GB内存.我们选取4个侵权案例,具体结果见表1.其中Mood Music与De Wolfe[22]案是英国发现的首个法院判定为音乐抄袭的案件,最终De Wolfe把《Girl in the Dark》的版权归还给了Mood Music,并赔付了7万英镑.TLC与E D Sheeran案[23]最终庭外和解,E D Sheeran将乐曲版权与TLC的3位作曲者共享.《乌苏里船歌》案[17]最终法院认定《乌苏里船歌》为赫哲族民间曲调改编作品,而非原创作品.Sami Switch与E D Sheeran案[24]最终庭外和解,E D Sheeran支付25%版税给Sami Switch.比较Park模型[19]和MusicPlag的执行效率,可以看到随着比对乐曲特征序列越长,MusicPlag在执行效率上越有优势.

表1 实验结果及性能比较Tab.1 Results for the proposed model and performance comparison

5 案例分析

我们选取饶河县四排赫哲族乡政府诉郭颂等侵犯民间文学艺术作品著作权纠纷案作案例分析[17].该案件中涉及的两首乐曲为《乌苏里船歌》及《狩猎的哥哥回来了》.图8为这两首乐曲的色带图,从结果看,色带图可以直观地看出相似片段的分布情况.整曲的旋律音程相似度为15%,节奏相似度为27%,可以看出两首乐曲的整体相似度不高.我们分析两者旋律的相似片段,如图9所示,发现两首乐曲主部第一乐句旋律几乎相同,这与该案中,中国音乐著作权协会对其的鉴定结论一致,即《乌苏里船歌》的主部即中部主题曲调与《狩猎的哥哥回来了》的曲调基本相同.更多案例分析可参见https:∥github.com/andyjhj/MusicPlag_Demo.

图8 《乌苏里船歌》及《狩猎的哥哥回来了》整曲旋律相似度色带图Fig.8 Melody similarity ribbon chart between the whole songs of “The Wusuli Boat Song”and “The Hunting Brother Is Back”

图9 《乌苏里船歌》及《狩猎的哥哥回来了》旋律相似度局部色带图Fig.9 Melody similarity ribbon chart between the segments of “The Wusuli Boat Song”and “The Hunting Brother Is Back”

6 结 语

本文我们提出了一种用于快速比对两首乐曲旋律相似性的方法,利用色带图直观地揭示了音乐作品的相似之处.该方法不仅能给出音程与节奏这两个特征的整体相似度,还能指出相似旋律片段的具体长度及位置,在音乐抄袭的客观评价上具有可解释性.该方法执行速度快,不仅适用于两个音乐作品的相似性比对,还可以用于音乐作品查重、相似音乐内容搜索等场景.

猜你喜欢
时值堆栈音程
视唱练耳教学中音程训练的重要性及其影响
论钢琴调律的“调律法”等几个基本问题(上)
论亨利·考威尔的新时值划分
栽橘(新韵)
中国打击乐鼓类乐器滚奏技术概述
基于生成语法的句子理解机制
Windows栈缓冲区溢出攻击原理及其防范
缓冲区溢出安全编程教与学
音乐游戏玩起来
论大、小调体系中特性音程的调式特征