音乐事件持续时间补偿装置的制作方法

文档序号:2823487阅读:237来源:国知局
专利名称:音乐事件持续时间补偿装置的制作方法
技术领域
本发明涉及音乐合成领域,尤其涉及一种音频序列器(音序器)中的音乐事件持续时间补偿装置。
背景技术
现有音乐合成领域中,将乐曲转换成特定的音乐事件,然后再根据音乐事件中包含的信息对音乐进行还原的技术已经被揭示。
如附图1所示,原始音乐通过特定的音乐转换器被转换成特定编码的音乐事件数据,这些音乐事件数据被放入音乐事件数据缓冲器中,然后音序器把音乐事件数据顺序从音乐事件数据缓冲器取出,根据这一音乐事件数据的持续时间或等候时间的时长把相关的事件命令解释后送给合成器,合成器根据将事件命令合成出音乐。
每一个音乐事件数据包含这一音符所有要合成的信息,其中包括这一音乐事件数据持续时间或等候时间,以及,这一音乐事件数据的类型和这一音乐事件数据的特性数据等。
如图2所示,在一个乐曲进行合成的过程中会包括对一系列音乐事件的合成,每个音乐事件都有一个等待时间,当这个等待时间结束的时候便开始播放该音乐事件,下一个音乐事件的等待时间等于上一个音乐事件的播放持续时间,每一个音乐事件的等待时间/持续时间都是被预先设定好的,音乐事件2的等待时间等于音乐事件1的持续时间,音乐事件3的等待时间等于音乐事件2的持续时间;当音乐事件1的等待时间T1结束后,在t1这个时间点,便播放音乐事件1,音乐事件1的持续时间等于音乐事件2的等待时间,当音乐事件2的等待时间T2结束时即时间点t2,停止播放音乐事件1,开始播放音乐事件2,以此类推。
但是,当音序器从音乐事件数据缓冲器取数据时,如果消耗的时间太长,远远超过音乐本身的持续时间,则会导致音乐失真。
造成音序器从音乐事件缓冲器取出数据时间消耗长的原因主要有两个一是音乐转换器转换原始音乐成音乐事件的时间较长;二是音序器从音乐事件缓冲器取出数据的时间较长。因为音序器是顺序执行音乐事件数据的,执行完一个音乐事件才会执行下一个,所以如果不在正确的时间点上将音乐放到合成器上都将会造成音乐失真。
现有技术一般都不补偿,或补偿一个固定的值,这样仍不能解决音乐事件的播放长度问题。
情况1假设取出音乐事件1所用的消耗时间为T1’(取出消耗时间该包括转换原始音乐成音乐事件的时间和音序器从音乐事件缓冲器取出数据的时间),T1’小于音乐事件1的等待时间T1,取出其他音乐事件的事件为零,那么合成器会在消耗时间T1’结束后继续进行原来的音乐合成过程,不作时间补偿所产生的音乐序列为如图3所示,音乐事件1、2、3的播放时间点从t1、t2、t3分别被延迟至t1’、t2’和t3’,这样造成的直接结果是整个音乐序列的播放时间加长了T1’,如果其他音乐事件也需要一定的消耗时间的话,那么整个音乐将比原始音乐的播放时间长许多,而在有些限制音乐播放固定长度的情况下,这种延长是完全不允许的。
现有技术中一般只作一个简单的固定补偿,譬如,对音乐事件1作一个消耗时间为T1’的补偿,如图4所示,在放音乐事件1的时候将取音乐事件1的消耗时间补偿了,即实际需要音乐事件1等待的时间等于预设音乐事件1的等待时间T1减去取出音乐事件1的消耗时间T1’,这样一来,总体的音乐播放时间便不会被延长,但实际中,每一个音乐事件的消耗时间都不一样,用固定的时间补偿来进行统一处理往往达不到很好的效果。
情况1当消耗时间大于等待时间的时候,譬如音乐事件1当消耗时间T1’小于音乐事件1的等待时间T1时,不作补偿时如图5所示,显示,将导致播放时间加长;当进行固定时间补偿的时候,可能会造成音乐事件的播放时间比预定短,造成音乐被破坏,失真;如图6所示,音乐事件1在t01的时间点开始播放,其播放时间即音乐事件2的等待时间小于原设等待时间T2,造成音乐事件1的播放时间缩短,音乐失真;另外,也可能会出现图7所示的错误播放情况出现,音乐事件1的消耗时间大于音乐事件1和音乐事件2的等待时间之和,这时候在时间点t01’,音乐事件1和2会被同时播放,导致音乐节拍播放出错。

发明内容
有鉴于此,本发明的主要目的在于提供一种具有音乐事件持续时间补偿的音乐合成装置;本发明的又一目的在于提供一种对音乐事件持续时间补偿进行计算和处理的补偿装置,解决现有技术中音乐补偿的缺陷;为达到上述目的,本发明的技术方案具体是这样实现的一种具有音乐事件持续时间补偿的音乐合成装置,包括一个将原始音乐转换成音乐事件数据的音乐转换器;一个存储所述音乐事件数据的音乐事件数据缓冲器;一个根据音乐事件数据的持续时间或等待时间的时长把相关的事件命令进行解释的音序器;一个根据事件命令合成出音乐的合成器;其特点在于,
还包括一个补偿器,将所述音乐事件数据缓冲器中的音乐事件进行取出时间的预分析,并根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,然后根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列并发送给所述音序器。
进一步地,所述计算出的等待时间是对音乐事件的取出时间进行补偿后的等待时间。
一种对音乐事件持续时间补偿进行计算和处理的补偿装置,其将音乐事件数据缓冲器中的音乐事件进行预处理,并组合成新的音乐事件数据序列后发送给音序器,其特点在于,包括一个寄存器,用于存储所要合成的音乐事件的参数;一个音乐事件数据预取器,根据所述寄存器中的音乐事件的参数从所述音乐事件数据缓冲器中的数据取出来;一个时间长度分析器,其基于所述寄存器中关于音乐事件的参数及所述音乐事件数据预取器中的数据进行时间长度分析;一个等候时间计算器,根据所述寄存器中的音乐事件的参数和所述时间长度分析器的结果进行等候时间的计算;一个音乐事件序列组合器,根据所述等候时间计算器的结果将原始的音乐事件组合成新的音乐事件数据送入所述音序器。
进一步地,上述装置中所述音乐事件为GM(general MIDI)音乐事件、VMD(Versatile MIDI format)音乐事件、SMF(Standard MIDI Files)音乐事件或SP-MIDI(Scalable Polyphonic MIDI format)音乐事件等。
本发明所述装置的功能可通过下述方法得以更清楚的表达一种音乐事件持续时间补偿方法,包括步骤步骤一、先预取部分原始音乐进行转换;步骤二、对转换出的音乐事件数据进行取出时间的预分析;步骤三、根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间;步骤四、根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列;步骤五、将所述新的音乐事件数据序列进行播放,同时,继续对后续的原始音乐进行转换,然后循环上面的处理步骤。
进一步地,对预取部分音乐事件数据的预处理是在播放音乐之前进行的;进一步地,步骤五中对前置音乐事件的播放和对后续音乐事件的转换/取出处理是同步的进行的。
进一步地,步骤三中在计算出的等待时间是对音乐事件的取出时间进行补偿后的等待时间。
进一步地,步骤一中原始音乐的预取值可根据音乐事件的特性进行调整;进一步地,所述音乐事件的特性为复杂度,当复杂度大的时候可以增加预取量,推迟开始播放的时间,然后在播放过程中进行动态补偿。
进一步地,所述音乐事件为GM(general MIDI)音乐事件、VMD(VersatileMIDI format)音乐事件、SMF(Standard MIDI Files)音乐事件或SP-MIDI(Scalable Polyphonic MIDI format)音乐事件等。
值得说明的是,步骤一和步骤五主要实现的是对转换时间的补偿,步骤二、三、四主要实现的是对取出时间的补偿。
由上述技术方案可见,本发明通过在播放音乐之前预取部分音乐事件数据进行预处理,同时对前置音乐事件的播放和对后续音乐事件的转换/取出处理实现同步进行,用一个时间补偿完成整个时间序列的时间消耗补偿;再者,本发明对音乐事件进行预取并进行时间长度分析,然后根据分析的结果对原始的音乐事件补偿后进行重新组合,播放的是重新组合过的音乐事件有效地解决了现有技术中存在的问题。


图1为现有技术中音乐合成处理过程的结构简图;图2为音乐事件序列播放的示意图;图3为产生消耗时间的音乐事件序列播放示意图;图4为现有技术中作了简单固定补偿的音乐事件序列播放的示意图;图5为现有技术中错误播放示意图;图6为现有技术中错误补偿播放示意图1;图7为现有技术中错误补偿播放示意图2;图8为本发明进行正确补偿后的播放示意图;图9为本发明所述音乐合成装置的结构简图;图10为本发明所述补偿装置实施例的结构简图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
如图8所示,为本发明进行正确补偿后的播放示意图,本发明的特点之一是在播放音乐之前预取部分音乐事件数据进行预处理,同时对前置音乐事件的播放和对后续音乐事件的转换/取出处理实现同步进行,用一个时间补偿完成整个时间序列的时间消耗补偿。
本发明的特点是对音乐事件进行预取并进行时间长度分析,然后根据分析的结果对原始的音乐事件补偿后进行重新组合,播放的是重新组合过的音乐事件。
本发明的处理流程是先转换、取出部分音乐事件,譬如1、2、3,并成新的播放序列,然后依次播放,在播放这三个音乐事件的同时,进行音乐事件4、5、6的转换和取出处理,使得后续音乐事件如4、5、6的转换和处理时间与1、2、3的播放时间重合,从而消除4、5、6的消耗时间,同理,在播放4、5、6的同时,再进行音乐事件7、8、9的转换和取出,用一个时间补偿完成整个时间序列的时间消耗补偿。根据音乐事件的特性(比如复杂度),补偿器根据寄存器的值可以增加预取量,推迟开始播放的时间,然后在播放过程中进行动态补偿.
图9为本发明所述音乐合成装置的结构简图,包括一个音乐转换器1,将原始音乐转换成音乐事件数据,一个音乐事件数据缓冲器2,存储所述音乐事件数据,一个音序器4,根据音乐事件数据的持续时间或等待时间的时长把相关的事件命令进行解释,一个合成器5,根据所述事件命令合成出音乐,一个补偿器3,将所述音乐事件数据缓冲器2中的音乐事件进行取出时间的预分析,并根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,然后根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列并发送给所述音序器5。
图10为本发明所述补偿装置实施例的结构简图,一种对音乐事件持续时间补偿进行计算和处理的补偿器,包括一个寄存器35,用于存储所要合成的音乐事件的参数;一个音乐事件数据预取器31,根据所述寄存器35中的音乐事件的参数将所述音乐事件数据缓冲器2中的数据取出来;一个时间长度分析器33,其基于所述寄存器35中关于音乐事件的参数及所述音乐事件数据预取器31中的数据进行时间长度分析;一个等候时间计算器34,根据所述寄存器35中的音乐事件的参数和所述时间长度分析器33的结果进行等候时间的计算;一个音乐事件序列组合器32,根据所述等候时间计算器34的结果将原始的音乐事件组合成新的音乐事件数据送入所述音序器4。补偿器3将音乐事件数据缓冲器2中的音乐事件进行预处理,并组合成新的音乐事件数据序列后发送给音序器5。
其中,寄存器35中存储的音乐事件参数有原始音乐的平均转换时间、音序器的取数时间、一些常用音乐事件命令的转换时间及出现概率等。
平均转换时间如果平均转换时间长,则可以多预取一些数据到补偿器3中进行时间长度分析,有效地利用多个音乐事件的等待时间来达到补偿音乐事件的转换时间的目的,同时可以根据该参数可以计算出可以开始播放音乐的时间。
一些常用音乐事件命令的转换时间及出现概率对一些特殊常用音乐事件命令可以在补偿器中单独处理。
音序器的取数时间可以根据该时间来补偿音乐事件的等待时间,譬如,假设音序器的取数时间为0.5秒,而音乐事件2的等待时间为1秒,则可对音乐事件2进行补偿,设置音乐事件2新的等待时间为0.5秒,取数时间0.5秒与音乐事件2新的等待时间0.5秒之和即为音乐事件2原来的等待时间1秒,有效地达到了对取出时间进行补偿的目的。
本发明所述装置可被用于诸如移动电话、PDA等便携式装置的铃音播放系统中,也可被用于其它带有声音合成系统的电子装置内,应当指出,以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和变化,这些改进和变化也应视为本发明的保护范围。
权利要求
1.一种具有音乐事件持续时间补偿的音乐合成装置,包括一个将原始音乐转换成音乐事件数据的音乐转换器;一个存储所述音乐事件数据的音乐事件数据缓冲器;一个根据音乐事件数据的持续时间或等待时间的时长把相关的事件命令进行解释的音序器;一个根据事件命令合成出音乐的合成器;其特征在于,还包括一个补偿器,将所述音乐事件数据缓冲器中的音乐事件进行取出时间的预分析,并根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,然后根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列并发送给所述音序器。
2.根据权利要求1所述的装置,其特征在于,所述计算出的等待时间是对音乐事件的取出时间进行补偿后的等待时间。
3.一种对音乐事件持续时间补偿进行计算和处理的补偿装置,其将音乐事件数据缓冲器中的音乐事件进行预处理,并组合成新的音乐事件数据序列后发送给音序器,其特征在于,包括一个寄存器,用于存储所要合成的音乐事件的参数;一个音乐事件数据预取器,根据所述寄存器中的音乐事件的参数将所述音乐事件数据缓冲器中的数据取出来;一个时间长度分析器,其基于所述寄存器中关于音乐事件的参数及所述音乐事件数据预取器中的数据进行时间长度分析;一个等候时间计算器,根据所述寄存器中的音乐事件的参数和所述时间长度分析器的结果进行等候时间的计算;一个音乐事件序列组合器,根据所述等候时间计算器的结果将原始的音乐事件组合成新的音乐事件数据送入所述音序器。
4.根据权利要求3所述的补偿装置,其特征在于,所述寄存器中存储的音乐事件参数有原始音乐的平均转换时间、音序器的取数时间、一些常用音乐事件命令的转换时间及出现概率。
5.根据权利要求3所述的补偿装置,其特征在于,如果平均转换时间长,则可以多预取一些数据到补偿装置中进行时间长度分析,有效地利用多个音乐事件的等待时间来达到补偿音乐事件的转换时间的目的。
6.根据权利要求3所述的补偿装置,其特征在于,可以根据平均转换时间计算出开始播放音乐的时间。
7.根据权利要求3所述的补偿装置,其特征在于,可以根据音序器的取数时间来补偿音乐事件的等待时间。
8.根据权利要求从1到7所述的补偿装置,其特征在于,所述补偿装置是移动电话、PDA等便携式电子装置的铃音播放系统中声音合成装置内的音乐事件持续时间补偿装置。
9.根据权利要求从1到7所述的补偿装置,其特征在于,所述音乐事件为GM(general MIDI)音乐事件。
10.根据权利要求从1到7所述的补偿装置,其特征在于,所述音乐事件为VMD(Versatile MIDI format)音乐事件。
11.根据权利要求从1到7所述的补偿装置,其特征在于,所述音乐事件为SMF(Standard MIDI Files)音乐事件。
12.根据权利要求从1到7所述的补偿装置,其特征在于,所述音乐事件为SP-MIDI(Scalable Polyphonic MIDI format)音乐事件。
全文摘要
本发明涉及音乐合成领域,公开了一种具有音乐事件持续时间补偿的音乐合成装置,包括一个将原始音乐转换成音乐事件数据的音乐转换器;一个存储所述音乐事件数据的音乐事件数据缓冲器;一个根据音乐事件数据的持续时间或等候时间的时长把相关的事件命令进行解释的音序器;一个根据事件命令合成出音乐的合成器;其特点在于,还包括一个补偿器,将所述音乐事件数据缓冲器中的音乐事件进行取出时间的预分析,并根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,然后根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列并发送给所述音序器。根据本发明所公开的装置,可有效地解决现有技术中因音乐事件消耗时间所产生的错误。
文档编号G10H1/00GK1741125SQ20051010531
公开日2006年3月1日 申请日期2005年9月23日 优先权日2005年9月23日
发明者董欣, 李公成 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1