首页 理论教育 不同版本乐谱集的同一性归类与信息评估分析

不同版本乐谱集的同一性归类与信息评估分析

时间:2023-11-18 理论教育 版权反馈
【摘要】:也有一些音乐作品的MusicXML文件包含的音乐信息有错误,如遗漏、多输或错音输入等,影响了后期复用。下面讨论如下问题:假设有一个由多个MusicXML文件组成的文件集F,文件个数为|F|,判断是否存在同一乐曲的不同音乐文件?图4-15第1个MusicXML文件与其他文件的相似度

不同版本乐谱集的同一性归类与信息评估分析

音乐的历史长河中,无数的音乐作品被音乐家和音乐爱好者创作、记录、传播和聆听,有些乐曲被出版商、音乐家和爱好者反复出版、修改使用和重复记录,特别在出版业繁荣发达和自媒体流行的新时代,一些经典的乐曲会被反复出版,如巴赫的十二平均律系列乐曲,就会被以不同的书名反复出版,例如,在某网书店上输入“十二平均律”就会有《巴赫平均律钢琴曲集》《巴赫平均律键盘曲集》《J.S.巴赫十二平均律钢琴曲集》等的书名。

随着MusicXML音乐格式被广泛使用,越来越多的音乐作品以MusicXML音乐格式呈现,音乐工作者在保存这些MusicXML音乐信息的时候,同一首音乐作品会以不同的曲目名称保存和传播,有些具有相同曲目名称的MusicXML文件是同一首乐曲,有些不是同一乐曲,有些不同曲目名称的MusicXML文件却是同一首乐曲。也会有些MusicXML文件包含的音乐信息不是完整的音乐作品,只是包含了部分的音乐信息,如包含一首交响曲的某个乐章,或者是某个乐曲的主旋律等。也有一些音乐作品的MusicXML文件包含的音乐信息有错误,如遗漏、多输或错音输入等,影响了后期复用。

互联网环境下,信息的传播便捷快速,大量的MusicXML文件或在各个信息孤岛上存储,或以CD、移动硬盘、电子邮件、网络下载、即时通软件、网络爬虫等多种方式被反复传播、复制与修改,形成同一音乐作品多种不同的MusicXML文件版本。由于MusicXML文件具有易修改等特性,这些版本会出现不同的异质性,这些情况包括:

(1)乐音修改:在校对或使用过程中,乐音纠错或乐音误操作等引起的乐音音高、时值等改变,或增删乐音等,对原MusicXML文件引入新的误差或降低误差。

(2)乐句、乐段或乐章增删:为了新的应用场景,对原MusicXML文件进行以乐句、乐段或乐章为单位的增加或删除,增加或减少了原有的音乐信息量。

(3)声部增删:为了新的应用场景,对原MusicXML文件进行以声部为单位的增加或删除,增加或减少了原有的音乐信息量。

(4)调性改变:为了新的应用场景,对原MusicXML文件中乐曲的调性进行改变,彻底改变了原有的MusicXML音乐语义信息(虽然从人类的听觉上仍可辨析出乐曲,但从MusicXML这一表示方法上,则依然不同)。

(5)旋律引用:原MusicXML文件的部分旋律被复制,出现在另一乐曲中。

(6)其他情况:其他音乐符号的增删,如增加力度记号等。

数字音乐博物馆是大数据时代数据资源管理的重要方式,通常以数据仓库的形式来组织数据资源。数字音乐博物馆往往有数据来源复杂、数据格式众多、结构化非结构化数据共存、数据容量庞大、数据管理困难等特点,如一些著名的乐曲,可能会收集到不同出版商不同载体的数字音乐文件,当管理人员对这些文件进行特征标注,有时会在文件名各异的信息中获知文件内容的同一性

一首乐曲的音乐文件创建后,会随着时间传播扩散,不同用户会对它进行使用和修改,再传播扩散,形成了一个树状的进化过程,构成数据世系。在此乐曲的数据世系中,不同文件版本存储于互联网的各个角落,当某使用者获得多个文件后,如何分析判断这些文件的异同,理清数据世系的时序特征?

下面讨论如下问题:假设有一个由多个MusicXML文件组成的文件集F,文件个数为|F|,判断是否存在同一乐曲的不同音乐文件?

判断过程综合使用了PHP语言和Matlab仿真环境,相互之间以文件为信息传输方式,具体步骤为:(www.xing528.com)

(1)利用getContent($xmlFileName,‘pitch’)函数得到文件集F的所有MusicXML文件的“pitch”标签的内容,记为数组$pitchContent.

(2)利用附录【代码4-10】的函数transformStr2Arr把数组$pitchContent的每个元素(MusicXML字符串)转换为MusicXML语义元素数组。

(3)计算数组$pitchContent中任意两个MusicXML语义元素数组的最长公共子序列的长度,得到一个|F|×|F|的二维数组,记为$pitchCompareResult,并保存为文本文件pitchCompareResult.txt。

(4)利用公式(4-2)来计算相似度,即利用g作为相似度变量,得到一个|F|×|F|的二维数组,记为ratio。

(5)对于某个文件来说,如果另一个文件和它的相似度大于某个给定的阈值l(这里设定l=0.5),那么这两个文件为同一文件。

实验用的MusicXML文件来自表4-6,其中572个文件的“pitch”标签非空,这里就选取这572个文件。利用上述步骤得到了文本文件pitchCompareResult.txt。

利用如下Matlab代码得到了图4-14:

图4-14 572个MusicXML文件一一比对语义元素的最长公共子序列的长度

如图4-14所示,在三维图形的X轴和Y轴的45°线上,出现了明显的“山峰”状隆起,因为这45°线上每个值对应的是两个文件本身,其他竖线都低于“山峰”。

接着利用如下Matlab代码绘制了图4-15:

如图4-15所示,我们发现除了横坐标为0时,相似比率为1,其他的相似比率都小于0.5,按上述步骤(5)阈值l设定,其他所有的571个文件和第1个文件都不相同。

图4-15 第1个MusicXML文件与其他文件的相似度

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈