音乐合成方法

文档序号:2825068阅读:237来源:国知局

专利名称::音乐合成方法
技术领域
:本发明涉及一种音乐合成方法,特别涉及一种手持式电子装置的音乐合成方法。然而,这些手持式电子装置均具有轻薄短小的特性,因此产品设计时便必须牺牲运算速度及储存容量,其扩充性具有一定的难度。因此,在考虑运算速度及储存容量的情况下,很多应用程序的设计就不得不重新修正,以便在这些手持式电子装置上使用。运算速度以及储存容量限制上述手持式电子装置的音乐音质。这是因为几乎接近乐器原音的音色表现,需要庞大的内存来储存,且在运算上也需要加以提升,况且记录各种乐器音色所需要的内存的确会相当的庞大,这就是为什么这些手持式电子装置一直无法出现动听的音乐的原因。本发明的目的是这样实现的本发明公开了一种音乐合成方法,包括一音乐波形数据库,系将音乐波形合成分成(一)起奏衰减、(二)延音、(三)消逝等三个阶段,合成前必须事先建立音乐波形数据库,包括储存各种乐器起奏衰减阶段的波形数据及其数据长度;各种乐器的一段延音或消逝阶段的一个或数个基本周期的波形数据及其数据长度,令此数据为递归波形数据其长度为递归长度参数(Loopinglength);各种乐器在延音阶段的振幅衰减模式参数(Loopingmode)及振幅调整参数(Loopingfactor);各种乐器在消逝阶段的振幅衰减模式参数(Releasemode)及振幅调整参数(Releasefactor);合成时,在起奏衰减阶段,只需将所储存的波形数据乘上一固定振幅即可;在延音及消逝阶段中,其音乐波形数据是由递归波形数据周期性地重复复制而得,再依据延音阶段及消逝阶段的振幅衰减模式及振幅调整参数调整振幅,此振幅为每输出一个波形数据即调整一次,将此振幅乘上输出波形,以产生各种不同衰减模式的波形,合成近乎原音的音乐。二、各种乐器的一段延音或消逝阶段的一个或数个基本周期的波形数据及其数据长度,令此数据为递归波形数据其长度为递归长度参数(Loopinglength);紧接着起奏衰减阶段的波形数据后,会出现周期性较高的波形数据一直到结束,此周期即为递归长度参数,它用来在延音及消逝阶段,重复产生周期性的波形数据,它可以是乐器音高或基本周期的一倍或数倍。三、各种乐器在延音阶段的振幅衰减模式参数(Loopingmode)及振幅调整参数(Loopingfactor);在延音阶段其波形数据是由递归波形数据周期性地产生,因此其振幅必须做调整,振幅的调整为每输出一个波形数据即调整一次,由振幅衰减模式参数及振幅调整参数决定。振幅衰减模式分为指数衰减、线性衰减、指数递增及线性递增;振幅调整参数决定每次的调整量,设定此二参数,以产生最接近的原始音乐波形。四、各种乐器在消逝阶段的振幅衰减模式参数(Releasemode)及振幅调整参数(Releasefactor)同三,在消逝阶段其波形数据也是由递归波形数据周期性地产生,因此其振幅必须做调整,振幅的调整为每输出一个波形数据即调整一次,由振幅衰减模式参数及振幅调整参数决定。振幅衰减模式分为指数衰减及线性衰减;振幅调整参数决定每次的调整量,设定此二参数,以产生最接近的原始音乐波形。现在将各阶段的合成方法及数据库的运用分析说明如下一、起奏衰减阶段其音乐波形数据是预先储存在数据库的,在合成时只需乘上一固定振幅即可。此阶段包括主要的乐器音色,是音乐波形中周期性较低的部分,无法以复制方式产生,故需储存。请参考第1A、1B2图3,可发现,三种不同的乐器,其起奏衰减的部分呈现较不规则波形,此点也是不同乐器音乐特色的主要部分。二、延音阶段在延音阶段其波形数据是由递归波形数据周期性地产生,因此其振幅必须做调整,振幅的调整为每输出一个波形数据即调整一次,由振幅衰减模式参数及振幅调整参数决定。振幅衰减模式分为指数衰减、线性衰减、指数递增及线性递增;振幅调整参数(Loopingfactor)决定每次的调整量,设定此二参数,以产生最接近的原始音乐波形。其变化模式及调整方法如下(1)指数衰减(请参考图2)振幅参数Amp=Amp-Amp*Loopingfactor。(2)线性衰减振幅参数Amp=Amp-Loopingfactor。(3)指数递增振幅参数Amp=Amp+Amp*Loopingfactor。(4)线性递增振幅参数Amp=Amp+Loopingfactor。(5)固定不变如果Loopingfactor=0,则振幅参数保持定值,固定不变,请参考图1B。于是,通过指数衰减、线性衰减、指数递增、线性递增与固定不变等几种不同的振幅参数,再乘上递归长度,即可产生各种不同乐器所发出音乐的延音阶段的振幅的变化,而合成出近乎原音的音乐。三、消逝阶段在消逝阶段其波形数据也是由递归波形数据周期性地产生,因此其振幅也必须做调整,同样的振幅的调整为每输出一个波形数据即调整一次,由振幅衰减模式参数及振幅调整参数决定。振幅衰减模式分为指数衰减及线性衰减;振幅调整参数(Releasefactor)决定每次的调整量。请参考图1B,2,3,在起奏衰减阶段或延音阶段时,若将琴键松开,或乐器停止演奏,则进入消逝阶段。合成时,在此阶段将声音慢慢变小,至预先设定的最小值(Amp<Ampmin)为止。其振幅衰减模式及调整方法如下(1)指数衰减振幅参数Amp=Amp-Amp*Releasefactor(2)线性衰减振幅参数Amp=Amp-Releasefactor所以,在消逝阶段,只要依据不同乐器是运用指数衰减或者是线性衰减的信息,即可依据其衰减参数合成消逝阶段的音乐。通过上述分析,当可明白本发明可通过事先将各种音乐波形加以分析,并计算得出各种音乐波形的各阶段参数,即可快速地合成各种不同音乐。并且,由于只记录了起奏衰减阶段的波形数据、递归波形数据以及另外两阶段的振幅调整参数,因此,所耗占内存空间相当地小。依据上述说明,本发明所提供的音乐合成方法,须事先分析乐器的音乐波形。依据上述的起奏衰减、延音及消逝阶段来计算不同乐器音乐的波形,以及其所对应的参数。接着,依据此一计算出来的参数,即可建立音乐波形数据库。此一数据库所记载的数据,即为上述各种参数与起奏衰减阶段的波形及递归波形数据。接下来,只要取出这些参数,即可合成各种乐器的音乐波形。具体的方法,请参考下面所述。请参考图4,本发明的音乐合成方法,包括下列步骤撷取音乐波形(步骤410),依起奏衰减、延音及消逝阶段方式分析并决定音乐波形的起奏衰减、延音、消逝阶段的参数(步骤420),建立音乐波形数据库(步骤430),依据使用者所输入的开始弹奏信息,读取音乐波形数据库中的起奏衰减、延音及消逝阶段的参数(步骤440),以及,依据起奏衰减、延音及消逝阶段的参数合成音乐(步骤450)。以单一乐器为例,步骤410--430为音乐数据库的建立工作。音乐数据库的建立,即依据上述的参数获得为出发点。先撷取音乐波形(步骤410),接着,在步骤420中,再依据音乐波形分析其起奏衰减阶的波形数据及长度,延音阶段的递归波形数据及长度(Loopinglength)、振幅调整模式参数(Loopingmode)及振幅调整参数(Loopingfactor),消逝阶段的振幅调整模式参数(Releasemode)及振幅调整参数(Releasefactor),以决定音乐波形的起奏衰减、延音及消逝阶段的参数。最后,在步骤430中,将这些参数加以记录,即成为乐器的音乐波形数据库,其中递归波形数据是紧接在起奏衰减波形数据之后。将不同乐器依相同的步骤来做分析,即可获得多种乐器的音乐波形数据库。步骤440--450即为音乐合成阶段。在步骤440中,依据使用者所输入的开始弹奏信息,读取起奏衰减阶段的波形数据及长度、延音阶段的递归波形数据及长度、振幅调整模式参数与振幅调整参数及消逝阶段的振幅调整模式参数与振幅调整参数。接下来,在步骤450,即将这些数据与参数加以运算以合成为音乐。合成音乐的过程,则依上述的三个阶段来依序合成(随即拨放),此合成的音乐,与原先的音乐波形相当接近。接下来,针对上述的音乐合成阶段再做更详细的说明。请参考图5,本发明的音乐合成方法流程图,其包括了下列步骤初始化(步骤510),读入波形数据(步骤520),输出波形数据(步骤530),控制合成模式(步骤540),调整振幅(步骤550),控制合成结束(步骤560)。首先,合成动作系当使用者输入开始弹奏信息时才开始。在步骤510中,初始化系设定初始化参数,包括设定a.合成模式(syn_mode),令合成模式为1(1.起奏衰减、2.延音及3.消逝)。b.加载波形数据起始位置指针(Wavetable)、数据长度(Wavelength=起奏衰减波形数据长度+递归波形数据长度)及递归波形数据长度(LoopingLength)。c.设定合成长度(n)为0。d.加载初始振幅参数(Amp)及振幅调整参数(Loopingfactor,Releasefactor,loopmode,releasemode)。接着,在步骤520的读入波形数据步骤中,依据波形数据起始位置指针(Wavetable),读入一笔波形数据s=Wavetable[n],合成长度为n+1。若n>=Wavelength(数据长度),则令n=n-LoopingLength。步骤530为输出波形数据,此步骤系将波形数据乘上振幅参数s=s*Amp。接着,即控制合成模式(步骤540),若合成模式为“1”,则振幅参数Amp固定不变。在读入波形数据(步骤520)时,若n>=Wavelength,则令模式为“2”。也就是,当n>=Wavelength时,表示起奏衰减阶段(合成模式“1”)已经结束,必须进入下一个阶段,即延音阶段(合成模式”2”)。若合成模式为“1”或“2”,当接收到外部“停止弹奏”控制信号,则令模式为“3”。也就是,例如,外部使用者放开按键,而产生的停止弹奏信号。接着,调整振幅(步骤550),依据合成模式及幅调整参数(Loopingfactor,Releasefactor,loopmode,releasemode),而有所不同。如下所述a.当合成模式为“1”,即起奏及衰减阶段振幅不调整。b.当合成模式为“2”,即延音阶段依据音乐波形数据库的参数而定,计有四种方法指数衰减(loopmode=1)振幅参数Amp=Amp-Amp*Loopingfactor线性衰减(loopmode=2)振幅参数Amp=Amp-Loopingfactor指数递增(loopmode=3)振幅参数Amp=Amp+Amp*Loopingfactor线性递增(loopmode=4)振幅参数Amp=Amp+Loopingfactorc.当合成模式为“3”,即消逝阶段依据音乐波形数据库的参数而定,计有二种方法指数衰减(releasemode=1)振幅参数Amp=Amp-Amp*Releasefactor线性衰减(releasemode=2)振幅参数Amp=Amp-Releasefactor最后,控制合成结束(步骤560),当调整的振幅参数(Amp)小于某个默认值(Ampmin)时,则令合成结束。接下来,请参考图6,其说明了在步骤540时,控制合成模式的流程。当控制合成模式开始时,也就是,在步骤530输出起奏衰减阶段的波形后,必须立刻监控起奏衰减阶段(合成模式“1”)是否已经结束。于是,须先判断合成长度是否已到数据长度(步骤541)。如果是,则合成模式切换为延音模式(步骤543),也就是,合成模式“2”。反之,如果否,则表示仍在起奏衰减阶段(合成模式“1”),则回到步骤530继续输出。接下来,即判断是否接收停止弹奏信息(步骤544),如果没有,则持续保持延音模式(合成模式“2”)。如果收到,表示须进入消逝模式,因而,合成模式切换为消逝模式(步骤545),即合成模式“3”。综上所述,不论任何一种乐器所产生的音乐,都可通过本发明所公开的方法来制作音乐波形数据库,进而合成为接近自然产生的音乐。应用本发明的音乐波形的合成方法,只需记录一小段音乐波形(128种乐器音符C4,平均每个乐器约占12kBytes),即可自动产生任意长度(节拍长短)的音乐波形,且已以C++程序语言撰写完成,并在PC上验证成功,其效果可媲美真实自然产生的音乐。以上所述,仅为本发明其中的较佳实施例而已,并非用来限定本发明的实施范围;即凡是依本发明所作的等效变化与修饰,皆为本发明专利范围所涵盖。权利要求1.一种音乐合成方法,其特征在于,包括下列步骤撷取一音乐波形,将其区分为起奏及衰减阶段、延音阶段、消逝阶段,并记录起奏及衰减阶段的波形数据;分析该延音阶段、该消逝阶段的波形数据,以获得一递归长度参数、该延音阶段的振幅调整参数及振幅衰减模式参数、该消逝阶段的振幅调整参数及振幅衰减模式参数;依据该起奏及衰减阶段的波形数据、该延音阶段的该递归长度、该振幅调整参数、该振幅衰减模式参数及该消逝阶段的该递归长度、该振幅调整参数及该振幅衰减参数,建立一音乐波形数据库;依据一使用者所输入的开始弹奏信息,读取该音乐波形数据库中的该起奏及衰减的波形数据、该延音阶段的该递归长度、该振幅调整参数、该振幅衰减模式参数及该消逝阶段的该递归长度、该振幅调整参数及该振幅衰减模式参数;及依据该起奏及衰减的波形数据、该延音阶段的该递归长度、该振幅调整参数、该振幅衰减模式参数及该消逝阶段的该递归长度、该振幅调整参数及该振幅衰减模式参数依序合成音乐。2.如权利要求1所述的音乐合成方法,其特征在于,依序合成该音乐的步骤,包括下列步骤输出该起奏及衰减的波形;输出该递归长度乘上该延音阶段的该振幅调整参数及该振幅衰减模式参数的波形;及输出该递归长度成上该消逝阶段的该振幅调整参数及该振幅衰减模式参数的波形。3.如权利要求1所述的音乐合成方法,其特征在于,该递归长度为该延音阶段或该消逝阶段的数个基本周期波形数据,以作为该延音阶段及该消逝阶段的波形复制。4.如权利要求1所述的音乐合成方法,其特征在于,该延音阶段的振幅衰减模式参数包括有指数衰减、指数递增、线性衰减、线性递增以及固定不变其中之一。5.如权利要求1所述的音乐合成方法,其特征在于,该振幅参数依据分析该音乐波形所获得的一递归参数并以下列公式获得,计算点为每个取样点计算一次在该指数衰减时,新振幅参数=原振幅参数(1-该递归参数);在该线性衰减时,新振幅参数=原振幅参数-该递归参数;在该指数递增时,新振幅参数=原振幅参数(1+该递归参数);在该线性递增时,新振幅参数=原振幅参数+该递归参数;及在固定不变时,新振幅参数=原振幅参数。6.如权利要求1所述的音乐合成方法,其特征在于,该消逝阶段的该振幅调整参数的决定依据该音乐波形选择一指数衰减、一线性衰减参数其中之一作该振幅调整参数运算。7.如权利要求1所述的音乐合成方法,其特征在于,该振幅调整参数依据分析该音乐波形所获得的一衰减参数并以下列公式获得,计算点为每个取样点计算一次在该指数衰减时,新振幅调整参数=原振幅调整参数(1-该衰减参数);在该线性衰减时,新振幅参数=原振幅参数-该衰减参数。8.一种音乐波形合成方法,依据一音乐波形区分为起奏及衰减阶段、延音阶段、消逝阶段并决定一递归长度、一延音阶段的振幅调整参数及振幅衰减模式参数、一消逝阶段的振幅调整参数及振幅衰减模式参数,并加以纪录以获得一音乐波形数据库,其特征在于,包括下列步骤输入一开始弹奏信息;初始化设定;读取该音乐波形数据库的该起奏及衰减的波形与该递归长度、该延音阶段的该振幅调整参数及该振幅衰减模式参数、该消逝阶段的该振幅调整参数及振幅衰减模式参数;输出该起奏及衰减的波形;依据一使用者所输入的一控制指令,获得一合成模式;及依据该合成模式,控制该延音阶段的该振幅调整参数及振幅衰减模式参数、该消逝阶段的该振幅调整参数及振幅衰减模式参数与该递归长度的运算以做输出波形的振幅调整控制,直至该消逝阶段的振幅参数小于一默认值。9.如权利要求7所述的音乐合成方法,其特征在于,当该使用者未输入指令时,该合成模式为一延音合成模式;当该使用者输入一停止拨放指令,该合成模式为一消逝合成模式。10.如权利要求7所述的音乐合成方法,其特征在于,在依据该合成控制模式,控制该延音阶段的该振幅调整参数及该振幅衰减模式参数、该消逝阶段的该振幅调整参数及该振幅衰减模式参数与该递归长度的运算以做输出波形的振幅调整控制,直至该消逝阶段的振幅参数小于一默认值的步骤中,当该合成控制模式为该延音合成模式,输出该递归长度与该延音阶段的该振幅参数的乘积波形;当该合成控制模式为该消逝合成模式,输出该递归长度与该消逝阶段的该振幅调整参数的乘积波形。全文摘要本发明涉及一种音乐合成方法,将音乐波形分成起奏衰减阶段、延音阶段及消逝阶段等三个阶段合成,通过储存原始音乐起奏衰减阶段的波形数据及紧接其后的一段延音或消逝阶段的一个或数个基本周期的波形数据,以作为延音阶段及消逝阶段的波形复制,并储存其长度为递归长度参数;再通过分析延音阶段与消逝阶段的振幅衰减模式,而获得延音阶段的振幅调整参数及衰减模式参数与消逝阶段的振幅调整参数及衰减模式参数。接着,将这些参数、起奏衰减阶段的波形数据及一段延音或消逝阶段的一个或数个基本周期的波形数据储存起来,即可用计算机程序自动产生合成音乐。文档编号G10H5/00GK1472724SQ0212749公开日2004年2月4日申请日期2002年8月2日优先权日2002年8月2日发明者杨凰琳申请人:无敌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1