基于特征音符的音乐旋律分段自动标注方法

文档序号:6524954阅读:259来源:国知局
专利名称:基于特征音符的音乐旋律分段自动标注方法
技术领域
本发明涉及一种计算机应用技术领域的方法,具体是一种基于特征音符的音乐旋律分段自动标注方法。
背景技术
基于哼唱输入的数字音乐检索方式简称哼唱检索(QBHQuery by Humming),它允许用户通过哼唱的形式来检索所需要的歌曲。用户只要能回忆起其中的片段旋律,并通过麦克风哼唱出来,QBH检索系统就能为用户找到其所需要的歌曲。针对哼唱检索,国内外已提出的面向旋律匹配的技术包括有近似符号串比较算法,典型的如DP(Dynamic Programming)法和快速近似匹配法,音高轮廓几何匹配法和线性对齐近似旋律匹配算法LAN(Linear Alignment Mahcing)等。在这些面向旋律匹配的方法中,旋律特征模式由音符特征序列来描述,而音符特征则一般由音符音高(或相对音高差)及音符长度(或相对音符长度比)来表征;在对哼唱输入旋律片段与整首乐曲的标准旋律之间进行非等长音符特征序列的模式匹配时,都是按照音符移动单位将输入旋律片段的音符序列沿着乐曲的标准旋律的音符序列方向进行逐一连续移动匹配的。
经对现有技术的文献检索发现,刊登在《计算机研究与发展》2003年11月第40卷第11期,pp.1554-1560上的文章“线性对齐近似旋律匹配算法”,设当输入旋律片段沿着标准旋律的音符序列进行移动匹配并移动至第K个音符时,则该算法的核心步骤是(1)先将输入旋律片段的头部音符与标准旋律的第K个音符对齐,并从以第K个音符为起点的标准旋律中取出长度为输入旋律片段长度1.3倍长的音符序列段作为在该头部音符对齐下的标准旋律匹配段;(2)在时间轴上进行两旋律匹配段的线性对齐近似旋律匹配,即将输入旋律片段线性延展到与标准旋律的音符序列段相同的长度,并在一定的误差范围内对齐发生时刻接近的音符,计算旋律在节奏上的相似度,同时继续比较两段等长旋律在每个时间点上的音高差异,计算旋律在音高上的相似度,最后,综合考虑节奏和音高两方面的相似度,给出输入旋律片段与该标准旋律音符序列段的匹配得分。接着,输入旋律片段的头部音符将继续沿着标准旋律的音符序列向后移动一个音符,并重复上述基于核心步骤的旋律音符序列段的匹配,直至移动到最后为止。线性对齐近似旋律匹配算法具有节奏容错性好、匹配精度高的优点,但是由于这种基于音符移动单位的移动匹配方式响应时间较长,不适于用作大规模数字音乐库的检索匹配。因此,随着数字音乐库的规模日益增大,面向旋律匹配检索的响应速度和检索精度之间的矛盾将会日益突出,成为基于哼唱输入的数字音乐检索系统迈向实用化的一大瓶颈。

发明内容
本发明的目的在于针对现有技术的不足,提供一种基于特征音符的音乐旋律分段自动标注方法,使得基于内容的数字音乐检索系统在采用这种标注法的旋律特征数据结构时,既能保持对用户哼唱输入的容错性,同时还能大幅度提高系统对哼唱输入的匹配检索速度。
本发明是通过以下技术方案实现的,本发明方法存由以下步骤构成(1)数字音乐文件读取和旋律特征提取步骤用于控制从数字音乐素材库中数字音乐文件的读取及对其进行旋律特征提取;(2)旋律分段特征音符检测步骤用于对所述乐曲旋律特征进行旋律分段检测及进行标注;(3)旋律特征模板生成步骤用于最终生成带有旋律分段信息的旋律特征模板文件并将其保存到音乐旋律特征数据库。
其中,所述数字音乐文件可以是MIDI格式的音乐演奏数据文件、也可是WAVE、MP3等音频波形文件;旋律分段特征音符检测步骤是基于音符类别特征及其音符长度特征来进行的。并且,具有以下特征旋律特征由表征音符特征即音高差、时间的矢量序列来描述。其中,作为音符音高特征的“音高差”指与前一个音符频率(音符音高信息)的差值,以适应不同旋律的起调和非特定人哼唱,并以半音(Semitone)为单位;作为音符音长特征的“时间”指该音符的起始时刻,其表达了旋律的节奏特征。然而,之所以选用音符起始时刻而非音符持续时间长度来作为表征旋律的节奏参数,是考虑到用户哼唱旋律时的节奏特征,即用户在进行哼唱时,一般比较容易把握音符的出现时刻,而对各个音符的持续长度不怎么敏感或差异较大。而若仅仅采用音高信息而忽略时间这一节奏信息,随着音乐库规模的扩大,匹配成功率势必会随之下滑,将变得越来越低。另外,考虑到单以音高信息为参数匹配的局限性,本发明选择音高差、时间的矢量序列来描述旋律的特征。对于生成的乐曲旋律的标准特征模板,该旋律特征模板并非为单纯以该旋律的音符特征序列来表达,而是由带有旋律分段信息的音符特征序列来表达,即在每个音符特征信息块中都自动地添加有该音符是否为表征旋律分段特征的特征音符的标注信息,每两个标注的特征音符间的音符特征序列即为一个旋律分段。因此,在对输入旋律片段与整首乐曲的标准旋律进行匹配时,若采用这种带有旋律分段信息的标准旋律特征模板就可以不按音符移动单位来将输入旋律片段的音符序列沿着整首乐曲旋律的音符序列方向来进行连续移动匹配,而是可以按照在每首乐曲旋律中预先标注的旋律分段为匹配移动单位来进行跨越式移动匹配,从而为实现大幅度提高基于内容的音乐检索匹配速度提供了一种切实可性的解决方法。
在采用根据本发明而生成的带有旋律分段信息的标准旋律特征模板对音符数为N的输入哼唱旋律片段进行匹配操作时,同现有按音符单位逐一移动匹配法,如与线性对齐近似旋律匹配法LAN相比较,针对某一已标注的音符数为M的乐曲标准旋律分段的匹配,当采用LAN法需要|M-N|K+K/2次,即至少需要|M-N|K次,这里的K为采用LAN法时标准旋律分段对输入旋律片段音符序列长度的容错范围(LAN法中K=0.58N),其单位是音符数。而采用本发明所述方法的带有旋律分段信息的标准旋律特征模板,最多需2K次,其中,第1次为输入旋律片段头部与乐曲旋律分段头部对齐下的K次线性对齐匹配;而第2次是为了考虑用户哼唱片段在其起始部存在音符脱落现象,而将输入旋律片段的头部延乐曲旋律分段音符序列方向向后移动一个音符,即相当于将输入旋律片段头部与乐曲旋律分段头部的下一个音符对齐下的K次线性对齐匹配。由此可见,在针对乐曲旋律段的匹配检索方面,采用本发明所述方法的带有旋律分段信息的旋律特征模板的匹配法的速度至少要比LAN法快|M-N|/2倍;而针对某一音符数为R、并含有L个旋律分段的整首乐曲旋律的匹配,采用LAN法需要(R-N)K+K/2次,即至少要进行(R-N)K次匹配,而采用本发明所述方法则最多需要2LK次,故采用本发明所述的带有旋律分段信息的标准旋律特征模板的匹配检索法的速度至少要比LAN法快|R-N|/2L倍。
因此,由于在标准旋律特征中引入了旋律分段的概念及以其旋律分段为移动匹配单位的概念,使得能通过检测表征分段特征的特征音符位置来实现大幅度的跨越式移动匹配,从而解决旋律检索高速化的问题。整首乐曲旋律的标准音符序列越长则越能体现本发明所述方法的优越性。
所述的旋律分段特征音符检测步骤,也可以由下述特征而构成。即,为避免过多的无意义的分段,先由消除可忽略静音段(等效于休止符)步骤搜索标准旋律的音符特征序列,若查找的音符长度小于某一预先设定的静音段长度阈值则将该音符加以删除,并将此段并入前一个音符的发音段。由于静音段长度阈值一般设得较低(如8分音符长度),所以这种删除在匹配检索时对结果几乎没有影响。在删除了可忽略的静音段后,则由特征音符的检测步骤根据音符类别特征及其音符长度特征来对标准旋律中的每个音符进行检测。特征音符类别分为定位类音符和休止类音符,对于这两类音符均按其各自的音符长度是否超过事先所设定的特征音符阈值来确定该音符是否为分段特征音符。
所述的旋律分段,基于特征音符进行旋律分段,其依据及其用于哼唱检索的可行性是根据乐理基础知识及对大量乐曲旋律进行统计分析与验证的基础上得出的。首先,对于整首旋律的可划分位置,可考虑休止符位置为一种表征旋律分段特征的特征音符。但是,一般在主旋律中,休止符的数目并不是很多,仅考虑采用休止符作为旋律分段的切分位置势必将造成旋律分段过长,从而没有起到真正的分段作用。通过对大量乐曲旋律的音符特征分析,发现在乐曲,尤其歌曲中,连贯的旋律分段大都在二分音符/全音符处结束。之所以如此,这其中有一个意群的概念。意群是指一个具有相对独立意义的词组、短语或短句,任何的交流都是概念与概念的结合方式的交流。无概念的符号或声音是无意义的,也就不能成为语言。在书面表达里任何句子、文章都是由基本概念以一定的方式结构而成的。就如同我们日常交流一般,都是以一个一个完整的语句或者词组出现,而不会突然从一个词组的中间开始交流,哼唱也是一样,出于人们思维的惯式,拿某句歌词“五千年的风和雨”为例,哼唱人一般不会以“年的风和”这样的小段进行哼唱,因为这样的小段不构成一个独立的意群,在乐曲中,对应于一个个意群的多为一个个乐句,其间以较长的音符或休止符作为间隔的标记,以换取主旋律的交替,演奏中的间歇,实际也是意群的转变。所以可以将这些特征音符所处的位置作为检索匹配时跳跃匹配的基础。
所述的旋律特征模板生成步骤,也可以由下述特征而构成。所述旋律特征模板生成步骤生成的旋律特征模板为带有旋律分段信息的音符特征序列,其中每个音符特征包含音高特征(用音高差描述)、音长特征(用音符起始时刻描述)两个数值内容,并且若该音符为特征音符时,则该音符的音长特征值将被置成负值,并且还将在该音符特征中插入可选标注位,用于记录该特征音符的音符发音长度(音符持续时间)值。其中,当特征音符为定位类音符时,可选标注位所纪录的值即为该定位音符的发音持续时间;当特征音符为休止类音符时,此休止符将被删除,然后将此休止符段长度并入前一个音符的发音段,即将前一个音符长度延长一个已被决定要删除的休止符段,并将这与休止符合并后的音符定义为休止类特征音符,同时将该音符的音长特征值置成负值,并且在该音符特征中插入可选标注位,记录该休止类特征音符的音符实际发音长度(指发音持续时间)值。并通过将该特征模板文件序号与数字音乐素材库中相应的数字音乐文件相关联的方式,将生成的旋律特征模板保存到音乐旋律特征模板库中。
在本发明应用于大型的数字音乐数据库后,对于音乐检索的性能可得到明显提高。按本发明而实施的基于哼唱输入的音乐检索系统的平均检索时间要比传统按照音符单位移动匹配检索方式的检索系统减少2/3左右,系统性能的改善效果非常显著。


图1为本发明工作流程图。
图2为用于说明按本发明效果而在不同规模数字音乐素材库下所进行的哼唱检索平均使用时间的比较曲线。
图3A-图3F为用于说明按本发明的实施例1进行的定位类和休止类特征音符旋律段分段检测标注程序的图。
具体实施例方式
以下参照图对本发明的各实例进行说明。
实施例1(定位类特征音符检测)在图1中由数字音乐文件读取和旋律特征提取步骤读取数字音乐文件(MIDI格式)并通过对其提取旋律特征而得到的原始音符特征序列如图3A所示(音乐旋律“莫斯科郊外的晚上”)。
图中横轴表示音符起始时间,其单位是MIDI文件中表示音符时间的特有单位TICK,而纵轴则表示音高,其单位是半音。可以观察到第十个音符和最后一个音符的音长较长,这样的音符是否能作为本发明所述的表征旋律分段的特征音符将有待于旋律分段特征音符检测步骤的检测而决定。即由旋律分段特征音符检测步骤对每个音符进行是否为旋律分段特征音符的检测,该检测是按其音符类别特征及其音符长度特征来进行的。表征分段特征的特征音符,其类别分为定位类特征音符和休止符类特征音符,对于这两类特征音符均按其各自的音符长度是否超过各自预先所设定的阈值来确定该音符是否为分段特征音符。在本实施例中对于定位类特征音符的设定为若其音符长度大于或等于2分音符长时则将该音符确定为分段特征音符,并将当前定位类特征音符的音长值置成负值,以作为分段标注,同时在该音符信息块中插入可选标注位,记录该定位类特征音符的实际持续时间,以便于提高匹配精度。在整首标准旋律中每两个相邻定位类特征音符间的音符序列即被定义为一个旋律分段。如图3A、B所示这段乐曲旋律就被检测到2个定位类特征音符(用涂色表示)并被分为两个旋律分段。
根据本发明所述方法,对于名为“莫斯科郊外的晚上”的数字音乐旋律,在图1中由旋律特征模板生成步骤可以得到带有旋律分段特征音符标注的标准旋律特征模板。该旋律特征模板的格式由旋律信息头和旋律音符特征序列组成。其中每个音符特征的数据结构的第一字段表示与前一音符的音高差值,但首音符在这一字段记录的是绝对音高值,虽然在匹配时不使用绝对音高值,然而这一首音符纪录方式对于计算重现描述旋律特征的音高曲线是必需的(如实施例1中的音高曲线);其第二字段记录的是用tick表示的该音符的发音起始时刻,如果该音符为普通音符,该值就是正值,而如果该音符为分段特征音符,那么就在该值前加负号,音符特征的第三字段为可选标注位,用于记录特征音符的实际发音时间,同样也是用tick表示。如下表所示,只有当音符为表征旋律分段的特征音符时,该音符的字段才会有3个字段,而不是所有音符都具有3个字段。

实施例2(休止类特征音符检测)根据本发明所述方法,另外一种情况是,当音符特征序列中出现了静音段,即休止符时,也将被定义为乐曲旋律分段的节点。即,在整首标准旋律中相邻的定位类特征音符和休止符类间的音符序列,或者两个相邻休止类特征音符间的音符序列也将被定义为一个旋律分段。对休止符的处理,可能有两种情况,一种情况是静音段时间相对较短,另一种情况是静音段时间相对较长。对于前者,在本发明中,通过统计发现,长度在八分音符以下的静音段可以忽略,该处理方法是将前一个音符的结束时间延长至下一个音符发音开始时刻为止,而对旋律分段特征音符标志位不作改动。图3C给出了由数字音乐文件读墩和旋律特征提取步骤读取数字音乐文件(MIDI格式)并通过对其提取旋律特征而得到的原始音符特征序列(音乐旋律“真心英雄”)。图3D给出了由旋律分段特征音符检测步骤对其进行静音段消除处理后的该旋律特征的音符特征序列。
而对于后者,即如果休止段时间较长,超过了预先所设定的用来判定特征音符的长度阈值(本实施例取该阈值为八分音符长度值),那么就会进入针对休止符类特征音符的处理流程。在本实施例中对于休止符类特征音符的设定为若其音符长度大于或等于八分音符长时则将该类音符确定为分段特征音符。此时,在图1中由旋律分段特征音符检测步骤判断出当前的特征音符为休止符类时,则将将当前休止符前一个音符的音长特征值(音符起始时间)置成负值,以便将该音符作为分段标注的休止类特征音符,同时在该特征音符信息块中插入可选标注位,纪录该音符的实际发音持续时间,以便于提高旋律段的匹配精度。而当前检测到的休止符本身将被去除。图3E给出了由数字音乐文件读取和旋律特征提取步骤读取数字音乐文件(MIDI格式)并通过对其提取旋律特征而得到的原始音符特征序列(音乐旋律“爱的就是你”)。通过由旋律分段特征音符检测步骤对其进行旋律分段检测及标注处理后的该旋律特征的音符特征序列如图3F所示。其中,右斜线表示定位类特征音符,而左斜线表示休止类特征音符。
为考察本实施例的效果,本实施例中,在实施此性能效果比较时,采用了从1000首MIDI音乐到10000首不等的不同规模的音乐素材库,并分别采用本发明方法生成对应于不同规模音乐素材库的、带有旋律分段信息的标准旋律特征模板库,然后将其在本发明实施下的平均匹配检索时间与原线性对齐近似匹配法(LAN)下的平均检索时间进行了比较,该比较是在同等实验条件下对相同的哼唱输入内容进行的。结果表明按本发明而实施的基于哼唱输入的音乐检索系统的平均检索时间要比传统按照音符单位移动匹配检索方式的检索系统减少2/3左右,系统性能的改善效果非常显著(图2参考)。在检索“莫斯科郊外的晚上”哼唱输入段时,检索比较结果如下

权利要求
1.一种基于特征音符的音乐旋律分段自动标注方法,其特征在于,包括以下步骤(1)数字音乐文件读取和旋律特征提取步骤用于控制从数字音乐素材库中数字音乐文件的读取及对其进行旋律特征提取;(2)旋律分段特征音符检测步骤用于对所述乐曲旋律特征进行旋律分段检测及进行标注,该步骤是基于音符类别特征及其音符长度特征来进行的;(3)旋律特征模板生成步骤用于最终生成带有旋律分段信息的旋律特征模板文件并将其保存到音乐旋律特征数据库;所述的旋律特征由表征音符特征即音高差、时间的矢量序列来描述,其中,作为音符音高特征的“音高差”指与前一个音符频率的差值,以适应旋律的起调和非特定人哼唱,并以半音为单位;作为音符音长特征的“时间”指该音符的起始时刻,其表达了旋律的节奏特征。
2.根据权利要求1所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,对于生成的旋律特征模板由带有旋律分段信息的音符特征序列来表达,即在每个音符特征信息块中都自动地添加有该音符是否为表征旋律分段特征的特征音符的标注信息,每两个标注的特征音符间的音符特征序列即为一个旋律分段,在对输入旋律片段与整首乐曲的标准旋律进行匹配时,按照在每首乐曲旋律中预先标注的旋律分段为匹配移动单位来进行跨越式移动匹配。
3.根据权利要求1所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,所述旋律分段特征音符检测步骤,分为消除可忽略静音段和检测旋律分段特征音符两个步骤进行,消除可忽略静音段步骤为搜索标准旋律的音符特征序列,查找音符长度小于某一预先设定的静音段长度阈值的音符并将其删除,然后将此段长度并入前一个音符的发音段,即将前一个音符长度延长一个已被决定要删除的静音段;检测旋律分段特征音符步骤为基于音符类别特征及其音符长度特征来进行的,特征音符类别分为定位类音符和休止类音符,对于这两类音符均按其各自的音符长度是否超过事先所设定的特征音符阈值来确定该音符是否为分段特征音符。
4.根据权利要求3所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,对于定位类音符的设定为若其音符长度大于或等于2分音符长时则将该音符确定为分段特征音符。
5.根据权利要求3所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,对于休止类音符的设定为若其音符长度大于或等于8分音符长时则将该类音符确定为分段特征音符。
6.根据权利要求3所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,静音段长度阈值为8分音符长度。
7.根据权利要求1所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,所述旋律特征模板生成步骤,生成的旋律特征模板为带有旋律分段信息的音符特征序列,其中每个音符特征包含音高特征、音长特征两个数值内容,并且若该音符为特征音符时,则该音符的音长特征值将能被置成负值,并且还能在该音符数据块中插入可选标注位,用于记录该特征音符的音符实际长度值,其中,当特征音符为定位类音符时,可选标注位所纪录的值即为该定位音符的发音持续时间;当特征音符为休止类音符时,此休止符将被删除,然后将此休止符段长度并入前一个音符的发音段。
8.根据权利要求7所述的基于特征音符的音乐旋律分段自动标注方法,其特征是,将前一个音符长度延长一个已被决定要删除的休止符段,并将这与休止符合并后的音符定义为休止符类特征音符,同时将该音符的音长特征值置成负值,并且在该音符数据块中插入可选标注位,记录该特征音符的音符实际发音长度值,并通过将该特征模板文件序号与数字音乐素材库中相应的数字音乐文件相关联的方式,将生成的旋律特征模板保存到音乐旋律特征模板库中。
全文摘要
一种计算机应用技术领域的基于特征音符的音乐旋律分段自动标注方法,包括以下步骤(1)数字音乐文件读取和旋律特征提取步骤用于控制从数字音乐素材库中数字音乐文件的读取及对其进行旋律特征提取;(2)旋律分段特征音符检测步骤用于对所述乐曲旋律特征进行旋律分段检测及进行标注,该步骤是基于音符类别特征及其音符长度特征来进行的;(3)旋律特征模板生成步骤用于最终生成带有旋律分段信息的旋律特征模板文件并将其保存到音乐旋律特征数据库;所述的旋律特征由表征音符特征即音高差、时间的矢量序列来描述。本发明既能保持对用户哼唱输入的容错性,同时还能大幅度提高系统对哼唱输入的匹配检索速度。
文档编号G06F17/30GK1737798SQ20051002949
公开日2006年2月22日 申请日期2005年9月8日 优先权日2005年9月8日
发明者吴亚栋, 赵芳 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1