CN1741126B - 音乐事件持续时间补偿方法 - Google Patents
音乐事件持续时间补偿方法 Download PDFInfo
- Publication number
- CN1741126B CN1741126B CN 200510105317 CN200510105317A CN1741126B CN 1741126 B CN1741126 B CN 1741126B CN 200510105317 CN200510105317 CN 200510105317 CN 200510105317 A CN200510105317 A CN 200510105317A CN 1741126 B CN1741126 B CN 1741126B
- Authority
- CN
- China
- Prior art keywords
- music
- music event
- event
- time
- stand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 abstract description 9
- 230000001351 cycling effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 230000001932 seasonal effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
本发明涉及音乐合成领域,公开了一种音序器中的音乐事件持续时间补偿的方法,包括步骤:先预取部分原始音乐进行转换;对转换出的音乐事件数据进行取出时间的预分析;根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间;然后根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列;将所述新的音乐事件数据序列进行播放,同时,继续对后续的原始音乐进行转换,然后循环上面的处理步骤。根据本发明所公开的方法,可有效地解决现有技术中因音乐事件消耗时间所产生的错误。
Description
技术领域
本发明涉及音乐合成领域,尤其涉及一种音频序列器(音序器)中的音乐事件持续时间补偿的方法。
背景技术
现有音乐合成领域中,将乐曲转换成特定的音乐事件,然后再根据音乐事件中包含的信息对音乐进行还原的技术已经被揭示。
如附图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’,这样一来,总体的音乐播放时间便不会被延长,但实际中,每一个音乐事件的消耗时间都不一样,用固定的时间补偿来进行统一处理往往达不到很好的效果。
情况2:
当消耗时间大于等待时间的时候,譬如音乐事件1当消耗时间T1’小于音乐事件1的等待时间T1时,不作补偿时如图5所示,显示,将导致播放时间加长;
当进行固定时间补偿的时候,可能会造成音乐事件的播放时间比预定短,造成音乐被破坏,失真;如图6所示,音乐事件1在t01的时间点开始播放,其播放时间即音乐事件2的等待时间小于原设等待时间T2,造成音乐事件1的播放时间缩短,音乐失真;
另外,也可能会出现图7所示的错误播放情况出现,音乐事件1的消耗时间大于音乐事件1和音乐事件2的等待时间之和,这时候在时间点t01’,音乐事件1和2会被同时播放,导致音乐节拍播放出错。
发明内容
有鉴于此,本发明的主要目的在于提供一种音乐事件持续时间补偿方法,其可有效地解决上述声音事件消耗时间所产生的问题。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种音乐事件持续时间补偿方法,包括步骤:
步骤一、先预取部分原始音乐进行转换;
步骤二、对转换出的音乐事件数据进行取出时间的预分析;
步骤三、根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,所述计算出的等待时间是对音乐事件的取出时间进行补偿后的等待时间;
步骤四、根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列;
步骤五、将所述新的音乐事件数据序列进行播放,同时,继续对后续的原始音乐进行转换,然后循环上面的处理步骤。
进一步地,步骤一中原始音乐的预取值可根据音乐事件的特性进行调整;
进一步地,所述音乐事件的特性为音乐事件的平均转换时间。
进一步地,所述音乐事件为通用MIDI格式GM(general MIDI)音乐事件、万能MIDI格式VMD(Versatile MIDI format)音乐事件、标准MIDI文件SMF(Standard MIDI Files)音乐事件或升级复调MIDI格式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等便携式装置的铃音播放系统中,也可被用于其它带有声音合成系统的电子装置内,应当指出,以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和变化,这些改进和变化也应视为本发明的保护范围
Claims (7)
1.一种音乐事件持续时间补偿方法,包括步骤:
步骤一、预取部分原始音乐进行转换;
步骤二、对转换出的音乐事件数据进行取出时间的预分析;
步骤三、根据预分析的结果计算出所述音乐事件中每一音乐事件的等待时间,计算出的等待时间是对音乐事件的取出时间进行补偿后的等待时间;
步骤四、根据计算的结果将原始的音乐事件组合成新的音乐事件数据序列;
步骤五、将所述新的音乐事件数据序列进行播放,同时,继续对后续的原始音乐进行转换,然后循环上面的处理步骤。
2.根据权利要求1所述的方法,其特征在于,步骤一中原始音乐的预取值可根据音乐事件的特性进行调整。
3.根据权利要求2所述的方法,其特征在于,所述音乐事件的特性为音乐事件的平均转换时间。
4.根据权利要求1所述的方法,其特征在于,所述音乐事件为通用MIDI格式GM音乐事件。
5.根据权利要求1所述的方法,其特征在于,所述音乐事件为万能MIDI格式VMD音乐事件。
6.根据权利要求1所述的方法,其特征在于,所述音乐事件为标准MIDI文件SMF音乐事件。
7.根据权利要求1所述的方法,其特征在于,所述音乐事件为升级复调MIDI格式SP-MIDI音乐事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510105317 CN1741126B (zh) | 2005-09-23 | 2005-09-23 | 音乐事件持续时间补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510105317 CN1741126B (zh) | 2005-09-23 | 2005-09-23 | 音乐事件持续时间补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741126A CN1741126A (zh) | 2006-03-01 |
CN1741126B true CN1741126B (zh) | 2010-09-29 |
Family
ID=36093485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510105317 Expired - Fee Related CN1741126B (zh) | 2005-09-23 | 2005-09-23 | 音乐事件持续时间补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1741126B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129302A (en) * | 1989-08-19 | 1992-07-14 | Roland Corporation | Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system |
CN1172319A (zh) * | 1996-05-20 | 1998-02-04 | 雅马哈株式会社 | 能事先为后续放送进行重新设定的音乐放送设备 |
CN1489411A (zh) * | 2003-08-11 | 2004-04-14 | 用于无线手持式设备的音乐格式转换方法 | |
CN1547187A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 一种音频序列器 |
CN1547189A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 可对不同种类声音数据进行合成的声音合成系统 |
CN1547192A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 一种声音合成方法 |
-
2005
- 2005-09-23 CN CN 200510105317 patent/CN1741126B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129302A (en) * | 1989-08-19 | 1992-07-14 | Roland Corporation | Automatic data-prereading playing apparatus and sound generating unit in an automatic musical playing system |
CN1172319A (zh) * | 1996-05-20 | 1998-02-04 | 雅马哈株式会社 | 能事先为后续放送进行重新设定的音乐放送设备 |
CN1489411A (zh) * | 2003-08-11 | 2004-04-14 | 用于无线手持式设备的音乐格式转换方法 | |
CN1547187A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 一种音频序列器 |
CN1547189A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 可对不同种类声音数据进行合成的声音合成系统 |
CN1547192A (zh) * | 2003-11-28 | 2004-11-17 | 北京中星微电子有限公司 | 一种声音合成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1741126A (zh) | 2006-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7514620B2 (en) | Method for shifting pitches of audio signals to a desired pitch relationship | |
CN1091916C (zh) | 由单代器的音频样本产生多仪器的声音的方法和装置 | |
CN101116136B (zh) | 声音合成的装置和方法 | |
JPH03101423A (ja) | 多要素信号を符号化する方法および装置 | |
US7045700B2 (en) | Method and apparatus for playing a digital music file based on resource availability | |
KR101166735B1 (ko) | 악기 디지털 인터페이스 하드웨어 명령 | |
JP2001318671A (ja) | 楽音発生装置 | |
US7718882B2 (en) | Efficient identification of sets of audio parameters | |
CN1741126B (zh) | 音乐事件持续时间补偿方法 | |
US7663052B2 (en) | Musical instrument digital interface hardware instruction set | |
CN1741125B (zh) | 音乐事件持续时间补偿装置 | |
CN101903940B (zh) | 用于改进音频播放器之间的输出音量的相似度的系统和方法 | |
CN1604181A (zh) | 一种midi音乐播放的方法及midi音乐播放装置 | |
US5939655A (en) | Apparatus and method for generating musical tones with reduced load on processing device, and storage medium storing program for executing the method | |
JP3006095B2 (ja) | 楽音波形発生装置 | |
JP2900463B2 (ja) | 電子楽器の楽音発生装置 | |
JP3197620B2 (ja) | 演奏情報通信装置 | |
JP2800436B2 (ja) | 電子楽器 | |
KR20090130857A (ko) | 삼각파를 형성하는 방법 및 장치 | |
EP0882286A1 (en) | Pc audio system with frequency compensated wavetable data | |
CN106251834A (zh) | 一种自适应调音方法、装置及弦乐器 | |
Pilley et al. | A Stand-alone and Less Power Consumption Digital Music Synthesizer using a Low Cost SoC | |
JP2004354833A (ja) | 電子楽器音源装置 | |
JPH06274177A (ja) | 楽音信号処理方法 | |
JPH09190189A (ja) | カラオケ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20120923 |