论文技巧大全-MIDI到歌曲转换的研究-CNKI知网查重网站

论文技巧大全-MIDI到歌曲转换的研究

2021-06-23 09:17:24
作者:杭州千明

  一首歌曲的灵魂往往寄存于它的旋律中,也因此每首歌曲演唱后,对于人们来说印象最深刻的便是它的主旋律。可见主旋律对每一首歌曲的重要性。本文将通过使用基于支持向量机得方法,来提取MIDI音乐的主旋律。在主旋律音轨提取过程中,我着重考虑分类之前的MIDI音乐特征提取,并在分类结果可信度问题上的提出了一个自定义的置信度估计公式,通过公式计算结果排序,取置信度最高的音轨。从理论上来说,基于支持向量机的算法在一定程度上相比其他研究者在准确度上有明显的提高。主旋律音轨上包含该首该首MIDI音乐的全部主旋律信息,且具有唯一性。因此我将直接提取MIDI音乐的主旋律音轨作为主旋律。

  在一个歌词到歌曲转换的系统中,为达到歌词到歌曲转换的目的,我们通常会将文语转换技术与语音修改技术相结合。在文语转换系统中,我们将输入的歌词转换为语音。于此同时,我们会从歌曲的MIDI文件中提取歌曲的旋律参数,最后通过旋律控制模型对语音信号的声学特征进行修改,以便实现由歌词到歌曲的转换。其中主旋律是音乐信息的重要组成部分,故而提取主旋律是歌词到歌曲转换的关键之一。

  由黄敏等人提出从自然声音文件中提取旋律特征的处理过程复杂、难度高、精确度差。而结构化声音MIDI,其构造方式是以音乐元素的组织结构为基础的,所以为音乐特征的自动识别提供了极大的方便。因此,我们通常都通过MIDI来实现旋律的提取。

  本文的主要目的在于从各种数据形式的音乐原声中将标准旋律提取出来。音乐原声文件的表示形式主要有两种。第一种是基于乐谱的符号数据形式(如MIDI音乐),它的特点是将一首音乐的乐谱信息,包括音符、乐器、节奏等,都以符号形式存储在文件中。第二种是波形音频数据,即为基于声学信号的波形数据形式,是原始声学信号进行音频编码及音频压缩之后的数据形式(例如WAV、MP3音乐)。主旋律是指经过艺术构思而形成的若干乐音的有组织、有节奏的和谐运动,它是一首音乐的灵魂所在。在整首音乐中,人们往往记忆最深刻的就是它的主旋律。故而人们在使用APP进行一首歌曲的检索时大部分都会选择记忆中最深刻的主旋律中的某一部分。因此从歌词到歌曲的转换中,制作出标准的主旋律显得尤为重要。

  截止到目前,提取MIDI的主旋律主要有两种方法。一种是通过MIDI音轨中的特征信息直接提取,与此同时加以融合以便构造出主旋律,这种方法提出的时间较早。其中最为主要的于1999年提出的轮廓算法。这种方法先把所有音符从MIDI的全部音轨中提取出来,然后按时间顺序把他们排列好,如果存在同一时间有多个发声音符则要选取其中音高值最大的音符,将其保留下其余舍掉,这样使得最终得到序列是按时间顺序排列成为的单一音符序列,被称为主旋律。由于大部分音乐的主旋律是通过最高音来体现的,所以轮廓算法最终的出的的轮廓曲线可以在一定程度上描述主旋律,但是因为表现主旋律的音符序列被打乱并穿插在各种伴奏音符中间,而且忽略了部分存在于较低声部的主旋律信息,故而它无法做到MIDI主旋律的精准描述。而将随机森林(Random Forest)作为分类器,首先学会音轨信息,然后在此基础上通过分类建立了MIDI主旋律提取的系统。另外,PedroJ提出了一系列的统计描述符,来描述MIDI主旋律特征,并通过模糊遗传算法来实现MIDI主旋律的提取。这种算法具有较强的鲁棒性且准确率较高的优点,但是也因这种算法较复杂,需要付出较大的计算代价,故而我们需寻找较为简单高效的方法。于是就出现了第二种方法,即采用提取MIDI主旋律音轨来取代传统的MIDI主旋律提取的方法。一般情况下,可在MIDI文件某个单一音轨中找到表现主旋律的全部音符,所以只要准确提取出这条音轨,就可以得到包含全部主旋律音符的主旋律信息,达到实现MIDI的主旋律提取的目的。这样就从根本上解决了轮廓算法存在的缺陷。曾有人提出一种改进的轮廓算法——高音量音轨算法。该算法是通过使用一定规则来多次重复删除不属于主旋律的乐器音轨,并在其中选出具有最大音量的音轨来作为主旋律音轨。但是它同样忽略了较低声部的主旋律信息的提取,因此对MIDI主旋律的描述依旧不准确。因此,本文选择基于支持向量机的MIDI主旋律音轨提取方法,使得MIDI的主旋律提取更有效。

  本文首先将详细的介绍相关的音乐乐理知识,以及通过符号数据形式表示的MIDI音乐和以波形数据形式表示的WAV、MP3等两种音乐表示形式。然后会对MIDI音乐的主旋律提取算法进行详细阐述,并说明算法的可行性。最后,我将对全做出总结以及对未来的展望。

  一、音乐乐理

  1、基础乐理

  1.1基本元素

  1.2基本乐理

  在乐音体系中,两个音的高低关系,称为音程。

  音符,是指音乐中用以记录不同长短的音的进行的符号。

  节奏、节拍是音乐构成中的重要组成部分。它们在音乐中同时并存,并以音的长短、强弱等来组织音乐。有强弱变化的具有固定时值的音,按照一定的次序循环重复,就成为节拍;而节奏,是指各种相同或省不同时值的音的有机的序列组合,它具有各种节拍轻重缓急的变化、重复,表达的是音的长短关系。

  调式,是指几个音(一般不超过七个,不少于三个)按照一定的关系(高低关系,稳定与不稳定的关系等)联结在一起所构成的一个体系。调式的特点是以某一音为中心。

  在音乐演奏和歌唱中,根据声音的高低不同,分成若干部分,称为声部。在独唱中,是一个声部在发挥作用,如男高音独唱,或女中音独唱等。在合唱和器乐演奏中,乐曲或歌唱一般分为三个层次,一般最高音为旋律声部,演唱主旋律;内声部和低音声部起到伴唱和伴奏作用。每个声部都是独立的层次。

  旋律,是指经过艺术构思而形成的若干乐音的有组织、有节奏的和谐运动。它建立在一定的调式和节拍的基础上,出一定的音高、时值和音量构成,是具有逻辑因素的独立的单声部进行。它体现了音乐的主要思想,是音乐的灵魂所在。演唱者的歌声旋律的特点在于,它是不同音高的单一音符在时间上的连续,即在某一时刻只存在单一的音符。

  和弦,是指在同一时间出现的、出两个或两个以上固定音程的音组合在一起的音高组合。不同的和弦具有不同的色彩属性,可以达到不同的声音效果。人们平时听到的某一个音,一般都是由多个音组合而成的。这种声音叫做复合音。复合音的产生是由于发音体(以弦为例)振动时,不仅全段振动,它的各部分(分为二段、三段、四段等)也同时在振动。出发音体整体振动所产生的频率最低音,也是人能够听到的最清楚的音,叫做基音(Pitch),而出发音体各部分振动产生的,一般不易被听清的音,叫做泛音(Harmonics)。泛音的不同组合能够赋予音乐各种与众不同的音色,从而使人感受到各种不同的感情色彩。从频率角度看,泛音的频率与基音频率呈倍数关系。

  2、符号数据表示

  以MIDI为代表的符号数据形式的音乐表示,是指按照一定的格式,将音乐中的音符、乐器、节奏等部分或者完整的乐谱信息以符号形式记录在文件中。

  MIDI,即Musical Instrument Digital Interfacc的简写,中文翻译为电子乐器数字接口,是20世纪80年代初期国际乐器制造者协会为解决音乐合成器、乐器和计算机之间的音乐信息交换问题而提出的种标准协议。它为电子乐器等演奏设备(如合成器)定义各种音符或弹奏码,容许电子乐器、电脑、手机或其它的舞台演出配备能够彼此连接、调整和同步,得以实时交换演奏数据。

  国际MIDI生产者协会(MIDI Manufacturers Association,MMA)在二十世纪九十年代制定了GM标准(General MIDI)这一通用的MIDI标准。该标准的提出使数字音乐设备之间的信息交流得到了简化。截止到目前,MIDI主要有以下三个标准,他们分别是GM1标准、GM2标准和IGM Lite标准。其中,GM1标准规定了MIDI设备的最大同时发音数不得少于24个、鼓镲等打击乐器作为一组单独排列、128种乐器音色有统一的排列方式等。GM1标准可以在成本较低的的MIDI音乐合成器上使用,故而这一标准的应用最为广泛。MIDI传输的不是声音信号的数字音频波形,而是事件描述或者执行某个动作指令的MIDI信息,具体包括音符等音乐数据,音量、节拍等参数的控制信号以及设置节奏的时钟信号等。计算机中存储这些MIDI信息的文件格式就称为MIDI文件或者标准MIDI文件(Standard MIDI File,简称SMF)。MIDI文件是一种描述性的音乐语言文件,它将一首乐曲的信息以命令的方式记录下来,并以信息的方式进行传递。由于本身并不包含音频的波形数据,MIDI文件很小,最小的甚至只有几千字节,这对于文件存储或者在带宽有限的网络上传输是非常有利的。

  3、十二平均律

  为了确定乐音体系中各个音的绝对准确高度,人们在实践中创造了各种定律法,如纯律、十二平均律、五度相生律等。使用不同的定律方法,所得到的结果是不同的。当今世界各国通用的定律是十二平均律。

  十二平均律(Temperament),是指将一组音(八度)按频率等比例分成十二个半音音程的律,即其相邻两济之间的频率之比完全相等。其数学意义如下:

  将八度音程按频率等比例分成十二个半音音程就是分为十个等比级数,结果即每个音的频率为前一个音的倍。

  十二平均律的理论最早由中国明代大音乐家朱载堉确立。在西方,十二平均律起源于16世纪,到了18世纪被普遍采用。钢琴、竖琴等乐器均按此律定弦。

  目前世界上通用的国际标准音足A音,它对应的频率为440Hz。这个音对应在钢琴上是小字组的A音,并且每相邻两个琴键(包括黑键、白键)的音程均是一个半音,二者的频率比值为=1.059463。因此,根据上平均律就可以得出钢琴上每个琴键对应的音的频率。

  十二平均律参见下表3-1。

  表3-1十二平均律

  4、MIDI文件格式

  MIDI文件是由无数个数据块(Chunk)组成的。其中每个数据块的前四个字节用来表示当前数据块的类型,后四个字节用来表示整个文件数据的长度,剩余的若干字节用来表示每个数据块的具体数据内容。每个MIDI数据块的具体格式参见下表4-1。

  表4-1 MIDI数据块的具体格式

  MIDI文件的数据块有两种类型,第一种是头数据块,第二种是音轨数据块。其中,整体MIDI文件的全局概要信息由头数据块提供,其中包括数据块类型、音轨数量、数据长度、MIDI文件的格式以及MIDI文件中单位Delta-Time的大小(即Time Division)。而音轨数据块的作用是储存每条独立音轨的MIDI信息数据流,包括音轨名和音乐事件(Music Events)。通常情况下,一个标准的MIDI文件最多有16个音轨,GM标准里的第10音轨是专为打击乐器设定的。MIDI文件的整体结构如表4-2所示。

  表4-2 MIDI文件的整体结构

  MIDI有三种文件格式:

  ①格式0:由一个头数据块和一个音轨数据块组成,即它仅包括一个描述整首音乐全部事件的音轨。

  ②格式1:是最常见的一种MIDI文件格式,它包括两个或者两个以上的同步音轨,即由一个头数据块和多个可能在相同时间开始发音的音轨数据块组成。

  ③格式2:可能包括多个不在同一时间开始发音的互不相关的异步音轨,可由一个头数据块和多个互不相关的音轨数据块组成。

  MIDI文件的头数据块的具体格式如表4-3所示。

  表4-3头数据块的具体格式

  MIDI文件的音轨数据块的具体格式如表4-4所示。

  表4-4音轨数据块的具体格式

  MIDI事件流是指音轨数据块中的音轨事件数据,它包含音乐事件序列和MIDI音乐如何播放等信息。其中下一个事件开始的时间用Delta-Time表示。而事件共有三类,分别是MIDI音轨事件、系统专用事件和MIDI元事件。

  系统专用事件用来记录系统的高级信息,以便实时控制设备。而MIDI元事件,则记录了与MIDI相关的媒质信息,像歌曲标题、音轨名称、版权以及使用的乐器等。MIDI音轨事件是三个事件中最为重要的一个,用来记录每一个MIDI音轨的发音信息以及模式信息。其中,发音信息记录了歌曲中每个音符的出现时间、音高以及音长,这为主旋律提取——音乐特征的提取提供了最重要的信息。而各种声音开关以及各种模式开关等控制信息是通过模式信息记录的。MIDI音轨中的发音信息主要包括音符开启与关闭、复调、控制变化、乐器变化、触后通道以及滑音等。MIDI音轨发音信息的具体内容如表4-5所示。

  表4-5MIDI音轨发音信息

  二、主旋律的提取

  2.1 MIDI音乐主旋律提取的系统描述

  标准的MIDI文件通常最多可含有16条音轨,在这16条音轨中第10条音轨为打击乐器,该音轨不包含歌曲的主旋律信息,故本文将忽略第10条音轨。因为MIDI通常情况下只含有一条主旋律音轨,并且这条主旋律音轨能够包含该MIDI音乐主旋律的全部信息,所以本文所研究的对MIDI主旋律的提取即为对MIDI主旋律音轨的提取。

  MIDI主旋律音轨的提取流程为:

  首先对MIDI文件解析并提取音轨特征,得出音轨特征数据。再对音轨特征数据进行二分类,一类为主旋律,另一类为伴奏。再对主旋律进行计算置信度并排序取最高,得到主旋律音轨。

  2.2 MIDI音乐的主旋律提取方法

  2.2.1音轨特征的提取

  MIDI是以音乐元素的组织结构为基础的构造的,在MIDI上可以找到音乐的全部乐谱信息以及完整的演奏过程。故而,音乐的多数基本特征都可以通过它直接提取出来。本文提取的音轨特征有音轨实际发音时长、音轨能量、发音面积、左右声道平衡、和弦在音轨中所占的比例和十二平均律距离等。其中,可以通过MIDI文件解析获得音轨左右声道平衡,至于音轨实际发音时长、音轨能量、发音面积以及和弦在音轨中所占的比例可以从MIDI文件的音轨事件信息中间接得到。然而,扮演着一个比较重要的音轨特征角色的十二平均律距离,有着相对复杂的提取过程。

  2.2.2基本音乐信息

  MIDI的基本音乐信息由音符号、力度和时值三部分组成。其中,音符号代表了音符的音高。

  MIDI通常以十二平均律为基准来表示音高的量化,每一个半音用数字符号来表示。每升高一个半音的音高,音符号就会“+1”;反之,则用“-1”。在MIDI标准中,基音频率f与音高p是相对应的。对应关系用以下等式表示:

  其中,音高69是指世界上通用的国际标准音A音,而与它对应的频率是440HZ。

  音符力度,是用来记录MIDI硬件的力度信息,按下琴键时的速率大小可反应音符力度的大小。按键速度快,则力度大;反之,则力度小。

  音符时值,表示音符发音的持续时间。在MIDI中,把“音符的开始和结束"两种状态设定为音高的发出与停止,通过音符开(Note On)和音符关(Note Off)来实现。音符开、关的信息都是随着音轨的改变而改变的。例如当接收设备接收到某一音轨的“音符开”的信息时,它所在的振荡器将会按“音符开”指定的频率振荡,达到发出某一音高的效果,直到收到相同音轨、相同音符号的“音符关”的指令,结束发音。音符开、关之间的时间问隔,被人们称为音符时值。

  2.2.3实际发音时长

  我们将某一条音轨从第一个音符发音开始到它的最后一个音符发音结束期间所有音符实际发音的持续时间总和称为音轨的实际发音时长。在一定程度上它能够作为此音轨是否为主旋律音轨的判断方法。因为一般主旋律音轨的实际发音会持续在整个音乐表现过程中,而各种乐器伴奏大部分都会出现在音乐中的某一部分(如歌曲的前奏、高潮等),因此它们所在的伴奏音轨上实际发音时间并不长。这样我们就可以通过音轨实际发音时长来判断某一条音轨是否为主旋律音轨的特征之一。

  2.2.4音轨能量

  本文通过音轨中所有音符的平均音高来表征的音轨能量。一般情况下,在音乐作品中,主旋律声部的全频域平均能量是要比其它声部都要高出一部分的。若音轨中所有音符的平均音高高,则表示该音轨能量大,则它属于主旋律音轨的可能性也越大。音轨k中所有音符的平均音高定义如下:

  式中,k为音轨号,N为第k条音轨的音符总数,Note(k,i)value代表第k音轨中第i个音符的音高,其取值范围为0127。

  2.2.5发音面积

  在提取音轨特征时,最为重要的就是音轨的音符时值以及音高信息的提取。本文将每条音轨中的音符时值与音高放在一起,进而提出发音面积的概念。本文中定义音符时值与音高的乘积为音轨中各个音符的发音面积,而所有音符的发音面积之和,即为音轨的发音面积,其公式定义如下:

  式中,k表示音轨号,N表示第k条音轨的音符总数,Note(k,i).value表示第k音轨中第i个音符的音高,Note(k,i).duration表示第k音轨中第i个音符的时值。

  2.2.6左右声道平衡

  音轨的左右声道平衡,由MIDI中每个记录音乐事件的音轨中均会记录的一个左右声道平衡特征值来表征。这一特征值代表当前音轨中左、右声道的音量比例,一般情况下,它的取值范围为0到127,若当前音轨的左右声道是平衡的,则该值为64。通常状况下,主旋律音轨的音符发音规律都是满足左右声道音量平衡的。所以,根据这一特征值的数值大小,即可粗略判断出该音轨是否为主旋律音轨。若接近64,则对应的音轨为主旋律音轨的可能性较大,反之,可能性较小。因此,判断某一条音轨是否为主旋律音轨的特征可通过左右声道平衡特征值的大小。音轨k的左右声道平衡度公式如下:

  2.2.7和弦比例

  2.2.8平均律距离

  设M为一个多条音轨(,1=i=16)组成的MIDI,则可以表示为

  设为音轨的音高直方图。由音乐乐理中的十二平均律可得,12个半音可组成音乐的一个八度音程,所以也可用12个半音(音轨中的各个音高模12的等价值)来表示,由此可知中的空间是12维的,具体表示如下:

  =

  因此,MIDI中所有音轨的音高直方图集合H为

  H=,

  设MIDI中至少包含一个音符的音轨总数为T,则第i维音高直方图的归一化定义如下:

  于是,MIDI中所有音轨的直方图归一化为

  由于MIDI所有音轨的直方图归一化代表的是MIDI的平均旋律,它与MIDI的主旋律类似。而音高直方图则反映了音轨的音高曲线特征。因此,音轨的音高曲线与主旋律的距离就可以用与直方图归一化之间的距离来近似。

  音高直方图与直方图归一化之间的距离定义如下:

  其中,为计算与之间欧氏距离的函数。

  2.2.9基于支持向量机的二分类

  2.2.10分类结果的置信度估计

  由此,推导出置信度估计的公式定义如下:

  式中,为待测样本到支持向量机最优分类超平面的距离,而为位于待测样本邻域的j个训练样本点属于待测样本经支持向量机分类得到的结果这一类的概率,即