CN1604181A - 一种midi音乐播放的方法及midi音乐播放装置 - Google Patents

一种midi音乐播放的方法及midi音乐播放装置 Download PDF

Info

Publication number
CN1604181A
CN1604181A CN 200410091009 CN200410091009A CN1604181A CN 1604181 A CN1604181 A CN 1604181A CN 200410091009 CN200410091009 CN 200410091009 CN 200410091009 A CN200410091009 A CN 200410091009A CN 1604181 A CN1604181 A CN 1604181A
Authority
CN
China
Prior art keywords
midi
music
data command
midi data
serial device
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.)
Granted
Application number
CN 200410091009
Other languages
English (en)
Other versions
CN1604181B (zh
Inventor
金传恩
董欣
戴春泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200410091009 priority Critical patent/CN1604181B/zh
Publication of CN1604181A publication Critical patent/CN1604181A/zh
Application granted granted Critical
Publication of CN1604181B publication Critical patent/CN1604181B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种MIDI音乐播放的方法,在其MIDI数据指令输入步骤中采用多路序列器分别输入多路MIDI数据指令,并等待执行时间到达。在其仲裁选择步骤中,当多路序列器中只有一路序列器内的MIDI数据指令的执行时间到达时,则该序列器输出MIDI数据指令;当多路序列器中存在至少两路序列器,它们的MIDI数据指令的执行时间同时到达,则在它们之间作出仲裁选择,使其中的一路序列器输出MIDI数据指令。在其音乐合成步骤中采用音乐合成器接收所述序列器输出的MIDI数据指令,进行MIDI音乐合成,并输出合成后的MIDI音乐。本发明同时公开了一种MIDI音乐播放装置,包括音乐合成器、仲裁器以及多路序列器。

Description

一种MIDI音乐播放的方法及MIDI音乐播放装置
技术领域
本发明涉及一种播放音频数据的方法,特别是一种MIDI音乐播放的方法。本发明同时还涉及一种采用该方法的MIDI音乐播放的装置。
技术背景
MIDI是Musical Instrument Digital Interface的首写字母组合词,可译成“电子乐器数字接口”。用于在音乐合成器(music synthesizers)、乐器(musical instruments)和计算机之间交换音乐信息的一种标准协议。MIDI文件没有记录声音本身,而是对乐曲的描述,比如说“在什么时候,使用什么乐器,以什么音符开始,以什么音调结束,加以什么伴奏”。也就是说它只记录了乐曲的信息。所以播放MIDI就需要一些音乐合成手段,其中一种方法为波表合成方法。波表合成方法是在MIDI播放时,根据MIDI记录的乐曲信息向波表发出命令,从表格中找出对应的声音信息,经过合成、加工后回放出来。而音乐合成器通常有自己独特的指令,所以需要预先把输入的MIDI文件或别的格式的MIDI音乐转换为控制音乐合成器的指令格式。现有的MIDI音乐播放装置一般为采用一个中央控制器(CPU)读入MIDI文件,并转换成可控制音乐合成器的MIDI指令数据;然后由一个序列器(sequencer)定时从这些指令中取出一条指令送入一个音乐合成器合成乐曲。而现有的这种MIDI音乐播放装置都只能每次读入一路MIDI文件,进行一路MIDI音乐的合成。随着人们需求的提高,同时播放多路MIDI音乐,获得更丰富的视听享受也将成为人们的需求趋势。
发明内容
本发明的目的是:针对现有技术的不足,提供一种简单实用,且可实现同时播放多路MIDI音乐的方法和MIDI音乐播放装置。
为了解决上述技术问题,本发明所采取的技术方案是:一种MIDI音乐播放的方法,包括MIDI数据指令输入步骤、仲裁选择步骤以及音乐合成步骤,其中,
所述MIDI数据指令输入步骤为:米用多路序列器分别输入多路MIDI数据指令,并等待所输入的MIDI数据指令的执行时间的到达;
所述仲裁选择步骤为:当多路序列器中只有一路序列器内的MIDI数据指令的执行时间到达时,则该序列器输出MIDI数据指令;当多路序列器中存在至少两路序列器,它们的MIDI数据指令的执行时间同时到达,则在它们之间作出仲裁选择,使其中的一路序列器输出MIDI数据指令;
所述音乐合成步骤为:采用音乐合成器接收所述序列器输出的MIDI数据指令,进行MIDI音乐合成,并输出合成后的MIDI音乐。
所述仲裁选择可以是根据预先设定的优先级,选择优先级最高的一路序列器输出MIDI数据指令。
可以采用缓存器对将要输入所述序列器内的MIDI数据指令进行缓存。
所述MIDI数据指令输入步骤中,所述序列器可以首先自所述缓存器内预取MIDI数据指令的部分数据,其中包括该指令的执行时间数据,当该指令的执行时间到达,并且该序列器获得仲裁许可时,则该序列器从所述缓存器内取出该MIDI数据指令的全部数据,并传输至所述音乐合成器。
所述音乐合成步骤中,可以首先采用通道分配器为输出至音乐合成器内的MIDI数据指令选择正确的合成器通道,从而控制相应通道的合成器合成音乐。
一种MIDI音乐播放装置,包括音乐合成器、仲裁器以及多路序列器,所述多路序列器用于分别输入多路MIDI数据指令,并按该MIDI数据指令的执行时间输出;所述仲裁器用于对多路序列器作出仲裁选择,从而使其中一路序列器的MIDI数据指令传输至所述音乐合成器。
还可以包括多路缓存器,且每路缓存器的输出端对应连接至一路序列器的输入端,用于缓存MIDI数据指令。
还可以包括通道分配器,用于接收序列器输出的MIDI数据指令,并为其分配正确的音乐合成器的通道,控制相应通道合成音乐。
还可以包括中央控制器,用于读入MIDI文件,并将其转换成可控制音乐合成器的MIDI数据指令后,输入对应的缓存器。
还可以包括模数转换器,用于将所述音乐合成器输出的数字信号的MIDI音乐转换成模拟信号,以进行播放。
在上述技术方案中,本发明通过采用多路序列器并列获取MIDI数据指令,并通过仲裁选择的方法选取其中一路输出到音乐合成器内合成,从而实现了多路MIDI音乐并发播放的目的,获得更好的音乐播放的效果;并且,由于多路序列器共享一个音乐合成器,则可以最大限度的利用好音乐合成器资源,简化系统结构、缩小装置的体积,并可降低成本。另外,在序列器前设置缓存器缓存MIDI数据指令可减少序列器的工作负荷;在音乐合成器前设置通道分配器进行合成器通道的配置则可更有效的利用音乐合成器的通道。相对现有技术,本发明具有资源配置合理、结构简单,可实现多路MIDI音乐同时播放,播放效果好等特点。
附图说明
附图1为本发明一种MIDI音乐播放的方法的流程图;
附图2为本发明一种MIDI音乐播放装置的结构原理方框图;
附图3为本发明的一种较佳实施例的MIDI音乐播放装置的结构原理方框图;
附图4为本发明的一种较佳实施例的MIDI音乐播放方法的流程图。
具体实施方式
下面将结合说明书附图及具体实施例对本发明作进一步详细说明。
参考图1,本发明提供的一种MIDI音乐播放的方法,包括MIDI数据指令输入步骤、仲裁选择步骤以及音乐合成步骤。其中:
所述MIDI数据指令输入步骤为:采用多路序列器分别输入多路MIDI数据指令,并等待所输入的MIDI数据指令的执行时间的到达。
所述仲裁选择步骤为:序列器在其执行时间到达时发出仲裁请求。这时判断是否有多路序列器同时发出仲裁请求。当多路序列器中只有一路序列器内的MIDI数据指令的执行时间到达,并发出仲裁请求时,则该序列器输出MIDI数据指令;当多路序列器中存在至少两路序列器,它们的MIDI数据指令的执行时间同时到达,则在它们之间作出仲裁选择,使其中的一路序列器输出MIDI数据指令。
所述音乐合成步骤为:采用音乐合成器接收所述序列器输出的MIDI数据指令,进行MIDI音乐合成,并输出合成后的MIDI音乐。
参考附图2,本发明提供的一种MIDI音乐播放装置,包括音乐合成器、仲裁器以及多路序列器,所述多路序列器用于分别输入多路MIDI数据指令,并按该MIDI数据指令的执行时间输出;所述仲裁器用于对多路序列器作出仲裁选择,从而使其中一路序列器的MIDI数据指令传输至所述音乐合成器。
图3、4给出本发明的一个较佳实施例。
如图3,本实施例中给出具有两路序列器的MIDI音乐播放装置的结构。具有两路以上序列器的MIDI音乐播放装置的结构以及工作原理均与此类似,因此本发明包括但不局限于本实施例。
本实施例的MIDI音乐播放装置包括中央控制器(CPU)、多路缓存器、多路序列器、仲裁器、通道分配器、音乐合成器及模数转换器。其中各个模块的具体结构均可采用现有技术的结构实现,如序列器可采用状态机实现,仲裁器可采用选择电路实现等,该现有技术为本技术领域内的技术人员所公知的技术方案,本专利中不再详细描述。
本实施例的结构中,所述中央控制器用于读入所有MIDI文件,并将其转换成可控制音乐合成器的MIDI数据指令后,输入对应的缓存器。
每路缓存器的输出端对应连接至一路序列器的输入端,用于缓存MIDI数据指令。
所述序列器用于首先自所述缓存器内预取MIDI数据指令的部分数据,其中包括该指令的执行时间数据。当该指令的执行时间到达,并且该序列器获得仲裁许可时,该序列器再从所述缓存器内取出该MIDI数据指令的全部数据,并传输至所述音乐合成器。由此可见,序列器不必如现有技术中,预先存取所有的MIDI数据指令,消耗过多的系统资源。当然,在MIDI数据指令较短的情况下,亦可对本实施例作出修改,去掉多路缓存器,使多路序列器直接从中央控制器中获得全部的MIDI数据指令。
所述仲裁器用于根据预先设定的优先级,选择优先级最高的一路序列器输出MIDI数据指令。
所述通道分配器用于接收序列器输出的MIDI数据指令,并为其分配正确的音乐合成器的通道,控制相应通道合成音乐。
所述模数转换器用于将所述音乐合成器输出的数字信号的MIDI音乐转换成模拟信号,以进行播放。
下面对照图4说明本实施例的具体的工作流程。
首先我们假定一种应用场景:在通过手机上网玩游戏时,手机的背景音乐是一路MIDI音乐,当按下按键时会发出按键音,这是另一路MIDI音乐,这两路MIDI音乐需要同时播放,而且预先规定按键音的优先级高于背景音乐。
当需要播放背景音乐文件的时候,CPU从MIDI文件1读入MIDI文件,作分析处理,将MIDI指令转变为可以控制音乐合成器的指令,然后将该指令送入缓存器1,当要播放按键音时CPU就读入MIDI文件2,作同样的处理,将处理结果送入缓存器2。缓存器1和缓存器2是两个缓冲区,用来缓冲CPU送入的数据。序列器1和序列器2是两个相同的序列器,当缓冲区中有数据的时候,序列器从缓冲区中取出部分MIDI数据指令,其中包含了该命令的执行时间,序列器等待该执行时间,当时间到达后序列器向仲裁器发出仲裁请求。如果只有一路序列器向仲裁器发出仲裁请求,则直接将该路序列器的MIDI数据指令发送给通道分配器。而当序列器1和序列器2同时向仲裁器发送仲裁请求时,由于设定序列器2的优先级高于序列器1的优先级,序列器2的MIDI数据指令将被仲裁器选择送给通道分配器,序列器1则要等到序列器2发送完MIDI指令后才能发送。由于音乐合成器可以有16、64等多个通道,通道分配器需要为来自仲裁器的MIDI指令选择正确的合成器通道,控制相应通道的合成器合成音乐。当命令送入音乐合成器后就开始合成音乐,从音乐合成器输出合成的MIDI音乐,再经过一个模数转换模块将数字信号变成模拟信号,就得到了两路MIDI音乐。
以上仅为本发明的一个具体实施例。而在实际实施过程中,还可根据实际应用作出相应的调整,如仲裁器的实施结构以及进行仲裁选择的方法可以按照不同的应用环境、不同的MIDI指令等因素作出相应的改变;再如通道分配器的功能亦可在CPU内完成。因此,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (10)

1、一种MIDI音乐播放的方法,其特征在于:包括MIDI数据指令输入步骤、仲裁选择步骤以及音乐合成步骤,其中,
所述MIDI数据指令输入步骤为:采用多路序列器分别输入多路MIDI数据指令,并等待所输入的MIDI数据指令的执行时间的到达;
所述仲裁选择步骤为:当多路序列器中只有一路序列器内的MIDI数据指令的执行时间到达时,则该序列器输出MIDI数据指令;当多路序列器中存在至少两路序列器,它们的MIDI数据指令的执行时间同时到达,则在它们之间作出仲裁选择,使其中的一路序列器输出MIDI数据指令;
所述音乐合成步骤为:采用音乐合成器接收所述序列器输出的MIDI数据指令,进行MIDI音乐合成,并输出合成后的MIDI音乐。
2、如权利要求1所述MIDI音乐播放的方法,其特征在于:所述仲裁选择是根据预先设定的优先级,选择优先级最高的一路序列器输出MIDI数据指令。
3、如权利要求1或2所述的MIDI音乐播放的方法,其特征在于:采用缓存器对将要输入所述序列器内的MIDI数据指令进行缓存。
4、如权利要求3所述的MIDI音乐播放的方法,其特征在于:所述MIDI数据指令输入步骤中,所述序列器首先自所述缓存器内预取MIDI数据指令的部分数据,其中包括该指令的执行时间数据,当该指令的执行时间到达,并且该序列器获得仲裁许可时,则该序列器从所述缓存器内取出该MIDI数据指令的全部数据,并传输至所述音乐合成器。
5、如权利要求3所述的MIDI音乐播放的方法,其特征在于:所述音乐合成步骤中,首先采用通道分配器为输出至音乐合成器内的MIDI数据指令选择正确的合成器通道,从而控制相应通道的合成器合成音乐。
6、一种MIDI音乐播放装置,包括音乐合成器,其特征在于:还包括仲裁器以及多路序列器,所述多路序列器用于分别输入多路MIDI数据指令,并按该MIDI数据指令的执行时间输出;所述仲裁器用于对多路序列器作出仲裁选择,从而使其中一路序列器的MIDI数据指令传输至所述音乐合成器。
7、如权利要求6所述MIDI音乐播放装置,其特征在于:还包括多路缓存器,且每路缓存器的输出端对应连接至一路序列器的输入端,用于缓存MIDI数据指令。
8、如权利要求6或7所述MIDI音乐播放装置,其特征在于:还包括通道分配器,用于接收序列器输出的MIDI数据指令,并为其分配正确的音乐合成器的通道,控制相应通道合成音乐。
9、如权利要求8所述MIDI音乐播放装置,其特征在于:还包括中央控制器,用于读入MIDI文件,并将其转换成可控制音乐合成器的MIDI数据指令后,输入对应的缓存器。
10、如权利要求9所述MIDI音乐播放装置,其特征在于:还包括模数转换器,用于将所述音乐合成器输出的数字信号的MIDI音乐转换成模拟信号,以进行播放。
CN 200410091009 2004-11-15 2004-11-15 一种midi音乐播放的方法及midi音乐播放装置 Expired - Fee Related CN1604181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410091009 CN1604181B (zh) 2004-11-15 2004-11-15 一种midi音乐播放的方法及midi音乐播放装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410091009 CN1604181B (zh) 2004-11-15 2004-11-15 一种midi音乐播放的方法及midi音乐播放装置

Publications (2)

Publication Number Publication Date
CN1604181A true CN1604181A (zh) 2005-04-06
CN1604181B CN1604181B (zh) 2011-07-13

Family

ID=34667238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410091009 Expired - Fee Related CN1604181B (zh) 2004-11-15 2004-11-15 一种midi音乐播放的方法及midi音乐播放装置

Country Status (1)

Country Link
CN (1) CN1604181B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719513B (zh) * 2005-08-08 2011-04-27 北京中星微电子有限公司 音频序列器及声音文件处理方法
CN101159132B (zh) * 2007-11-22 2011-05-04 无敌科技(西安)有限公司 一种适性化midi播放系统及其方法
CN101600011B (zh) * 2008-06-03 2013-06-05 中兴通讯股份有限公司 移动终端多媒体的并发播放方法和装置
CN101635721B (zh) * 2009-08-19 2013-06-26 深圳市新飞扬数码技术有限公司 一种网络游戏业务操作指令处理系统及其处理方法
CN101489068B (zh) * 2009-01-19 2013-10-16 深圳市同洲电子股份有限公司 基于嵌入式浏览器的背景音和按键音的播放方法与系统
CN108364627A (zh) * 2018-03-06 2018-08-03 安徽华熊科技有限公司 一种应用于智能钢琴的数据初始化方法及装置
CN108521382A (zh) * 2018-04-11 2018-09-11 中国农业银行股份有限公司 一种消息发送方法、装置及系统
CN111933099A (zh) * 2020-07-27 2020-11-13 北京爱其科技有限公司 基于单片机的midi音乐播放电路和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US648954A (en) * 1900-02-12 1900-05-08 George D Haworth Grain-drill.
US4889026A (en) * 1987-05-29 1989-12-26 Yamaha Corporation Sequencer unit of electronic musical instrument
JP3537783B2 (ja) * 2001-07-13 2004-06-14 株式会社フュートレック 音源装置
CN2758924Y (zh) * 2004-11-15 2006-02-15 北京中星微电子有限公司 一种midi音乐播放装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719513B (zh) * 2005-08-08 2011-04-27 北京中星微电子有限公司 音频序列器及声音文件处理方法
CN101159132B (zh) * 2007-11-22 2011-05-04 无敌科技(西安)有限公司 一种适性化midi播放系统及其方法
CN101600011B (zh) * 2008-06-03 2013-06-05 中兴通讯股份有限公司 移动终端多媒体的并发播放方法和装置
CN101489068B (zh) * 2009-01-19 2013-10-16 深圳市同洲电子股份有限公司 基于嵌入式浏览器的背景音和按键音的播放方法与系统
CN101635721B (zh) * 2009-08-19 2013-06-26 深圳市新飞扬数码技术有限公司 一种网络游戏业务操作指令处理系统及其处理方法
CN108364627A (zh) * 2018-03-06 2018-08-03 安徽华熊科技有限公司 一种应用于智能钢琴的数据初始化方法及装置
CN108521382A (zh) * 2018-04-11 2018-09-11 中国农业银行股份有限公司 一种消息发送方法、装置及系统
CN108521382B (zh) * 2018-04-11 2021-12-03 中国农业银行股份有限公司 一种消息发送方法、装置及系统
CN111933099A (zh) * 2020-07-27 2020-11-13 北京爱其科技有限公司 基于单片机的midi音乐播放电路和方法

Also Published As

Publication number Publication date
CN1604181B (zh) 2011-07-13

Similar Documents

Publication Publication Date Title
JP3149093B2 (ja) 自動演奏装置
US6665409B1 (en) Methods for surround sound simulation and circuits and systems using the same
CN1934646A (zh) 使音频处理模块同步的方法和系统
CN101405790B (zh) 多个输入设备对系统资源的同时共享
US20060152398A1 (en) Digital interface for analog audio mixers
US7678986B2 (en) Musical instrument digital interface hardware instructions
US6525256B2 (en) Method of compressing a midi file
US20040267541A1 (en) Method and apparatus for playing a digital music file based on resource availability
CN1604181A (zh) 一种midi音乐播放的方法及midi音乐播放装置
CN1321966A (zh) 在手机上实现乐曲弹奏的方法及可实现乐曲弹奏的手机
US20120186417A1 (en) Musical tone signal generating apparatus
US7718882B2 (en) Efficient identification of sets of audio parameters
CN2758924Y (zh) 一种midi音乐播放装置
US7663052B2 (en) Musical instrument digital interface hardware instruction set
KR100901555B1 (ko) 사운드 발생 할당 장치, 음악 사운드 발생기 및 사운드 발생 할당 처리 프로그램을 기록한 컴퓨터 판독가능한 기록매체
CN2847450Y (zh) 乐音生成处理设备
KR20020096919A (ko) 채널들간에 파라미터들을 공유하는 톤 발생기 장치
CN1205829C (zh) 在无线手持式设备中的音乐格式转换方法
CN101165772A (zh) 一种扩展合成器音色的方法
CN1719513A (zh) 音频序列器及声音文件处理方法
CN1535458A (zh) 乐音再现装置及便携终端装置
JP2002006844A (ja) 楽音発生方法
CN1741126B (zh) 音乐事件持续时间补偿方法
JP2709965B2 (ja) Bgm再生に用いる音楽伝送再生システム
CN1794345A (zh) 乐曲再生装置

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: 20110713

Termination date: 20121115