现存最古老的完整音乐:seikilos epitaph

Standard

1883年,苏格兰考古学家Ramsay在土耳其Aidin附近发现了一块大理石石柱,石柱上刻着一行行的古希腊文字。经鉴定,人们发现这个石柱早于2000年前,而且上面写的文字是竟然是歌词和乐谱!

 

lossy-page1-218px-Seikilos1.tif

记满碑文的石柱

 

让我们先来看看上面写了什么:

石柱上的题记写着

Εἰκὼν  λίθος εἰμίΤίθησί με Σείκιλος ἔνθα μνήμης ἀθανάτου σῆμα πολυχρόνιον.

我是一个墓碑,一副图,Séikilos把我放在这里以长久纪念那不朽的回忆。

这个墓碑最后两行写着:

Σείκιλος Εὐτέρ[πῃ / που]
Seíkilos Eutér[pēi / pou]

括号后是后人的推测,因而这句话有几种不同的解释。其中一种是:Seíkilos 献给 Euterpe ,人们推测Euterpe是他逝去的妻子(Euterpe同时也是音乐女神的名字)。

中间的部分就是歌词和乐谱的,歌词是这么写的(第一列是原文):

 

Ὅσον ζῇς φαίνου Hóson zêis phaínou While you live, shine
μηδὲν ὅλως σὺ λυποῦ mēdén hólōs sy lypoû have no grief at all
πρὸς ὀλίγον ἐστὶ τὸ ζῆν pros olígon estí to zên life exists only for a short while
τὸ τέλος  χρόνος ἀπαιτεῖ. to télos ho chrónos apaiteî. and time demands an end.

 

不管歌词是在阐述过去还是在告诫未来,我姑且这么翻译吧:

塞基洛斯的墓志铭

当你活着的时候,尽量闪耀吧!

且欢笑、莫忧伤

因为人生稍纵即逝

时间终将会写上结尾

 

lossy-page1-230px-Seikilos2.tif

墓碑上的歌词

 

 

两千年前,我们能追溯到的最早的完整曲子,在诉说着生命的短暂。是啊,尘归尘,土归土,听着这首曲子,想想生活的琐事,真的是不值得一提。

听到维基百科上的人声哼唱,我也忍不住模仿了一下:

没练过唱歌,见笑了:D

 

 

注:这个石柱被发现后几经辗转,并因此有所损伤,但好在影响不大,最终存放在丹麦国家博物院直到现在。

从图论的角度来分析简单音乐的结构的构想

Standard

一段简单音乐(没有和弦,乐器相同)可以用一段时间序列上的点表示——每个点代表了一次发声,在这个点记录了在某个时间发出了怎样波形的音乐(音高,也就是频率Pitch、声音的大小,也就是响度Volumn、音符长度Duration,也就是这次发声持续的时间)。(我们用M=STime×Pitch×Volume×Duration来表示,注意这些都是集合,STime是音符开始的时间)

表示这类信息的类型)

我们喜欢听的音乐往往是极有规律又变化多端的——主要的几个旋律会穿插在整个乐曲当中,有些变化但变化不大(比如只改变了最后的几个音),也就是说有主要的几段旋律,将它们重复、排列、微调就可以产生动听的曲子。

有没有种准确的方式去表示音乐的这种相关性结构呢?如果我们可以把音乐的结构、旋律的关系表示出来,那么根据现有的人类喜爱的音乐的这些结构,就可以制造出不同的动听的音乐,在此基础上再加入和弦的元素、配上不同的乐器,就可以产生完整的音乐了!

一些音乐片段有着极强的相关性——也就是它们是在同一个旋律的基础上修改得到的;而一些片段极其不同——也许它们根本就没什么联系!找到一个合理的相关性函数\(f:Ms\times Ms\rightarrow R\)(\(Ms\)是M集合元素组成的序列,也就是音符串)去描述两个片段的相关性会很有用。

将完整的音乐分成几个连续的段,每个段仍然可以继续分成段,每个层之间的每个段都有关系,当然前提是这些段都在一个更大的段里(也就是不同大段的小段之间不判断相似性),关系紧密程度视相似度而定。如下图:(最里面的数字代表具体的音高,比如1是Do等等(其他参数例如音量、时长等等没有写出),黄色段之间每两个元素都有线,只不过没画出来(工作量太大了Orz…),连线越粗表示越相似)

一段简化过的音乐的结构

一段简化过的音乐的结构

因为大段中的1和3有很多相似的地方——同样有1、3、2,2、5、3等等,所以相似度很高,而1和2大段无论是从音符数量还是小段结构都不大相同,所以相似度不高。

有了这种音乐结构的模型,我们就可以尝试生成简单的音乐了!首先,给定整首曲子的基调(用一些信息去描述它),然后生成每个大段的基调,如此层层递进,直到最底层将具体的音符生成出来,便完工了!
这种结构使得我们可以很方便的去指定段与段之间的联系,以及曲子“感情”的变化(比如从激昂快活的风格转变为抒情的风格)

当然具体将算法实现要比本文所说的复杂得多,这也是将是我最近一直会处理的事情!