CN101636780A - 用于处理乐器数字接口(midi)文件的管线技术 - Google Patents
用于处理乐器数字接口(midi)文件的管线技术 Download PDFInfo
- Publication number
- CN101636780A CN101636780A CN200880008719A CN200880008719A CN101636780A CN 101636780 A CN101636780 A CN 101636780A CN 200880008719 A CN200880008719 A CN 200880008719A CN 200880008719 A CN200880008719 A CN 200880008719A CN 101636780 A CN101636780 A CN 101636780A
- Authority
- CN
- China
- Prior art keywords
- midi
- file
- frame
- audio samples
- synthetic parameters
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
- G10H7/004—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K15/00—Acoustics not otherwise provided for
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明描述用于处理遵照乐器数字接口(MIDI)格式的音频文件的技术。确切地说,在于通用处理器上操作的软件、与数字信号处理器(DSP)相关联的固件及经特定设计以用于MIDI文件处理的专用硬件之间委派与MIDI文件处理相关联的各种任务。或者,可使用多线程DSP代替通用处理器及所述DSP。在一方面中,本发明提供一种方法,其包含使用第一过程剖析MIDI文件且对与所述MIDI文件相关联的MIDI事件进行调度,使用第二过程处理所述MIDI事件以产生MIDI合成参数,及使用硬件单元基于所述合成参数产生音频样本。
Description
相关申请案
根据35U.S.C.§119主张优先权
本专利申请案主张2007年3月22日所申请的标题为“用于处理乐器数字接口(MIDI)文件的管线技术(PIPELINE TECHNIQUES FOR PROCESSING MUSICALINSTRUMENT DIGITAL INTERFACE(MIDI)FILES)”的第60/896,455号临时申请案的优先权,所述临时申请案转让给本案受让人且在此以引用的方式明确地并入本文中。
技术领域
本发明涉及音频装置,且更确切地说涉及基于乐器数字接口(MIDI)文件产生音频输出的音频装置。
背景技术
乐器数字接口(MIDI)是用于产生、传送及/或回放例如音乐、话音、音调、警报及其类似物的音频声音的格式。支持MIDI格式回放的装置可存储可用以产生各种“语音”的音频信息的集合。每一语音可对应于一个或一个以上声音,例如由特定器具产生的音符。举例来说,第一语音可对应于如由钢琴演奏的中音C,第二语音可对应于如由长号演奏的中音C,第三语音可对应于如由长号演奏的D#音,等等。为了复制由特定器具演奏的音符,兼容MIDI的装置可包括指定各种音频特征(例如低频振荡器的行为、例如颤音等效果及可影响对声音的感知的许多其它音频特征)的语音信息的集合。可界定、在MIDI文件中输送及由支持MIDI格式的装置重现几乎任何声音。
支持MIDI格式的装置可在指示装置应开始产生音符的事件发生时产生音符(或其它声音)。类似地,装置在指示装置应停止产生音符的事件发生时停止产生音符。可通过指定指示特定语音何时应开始及停止的事件而根据MIDI格式对整个音乐作品进行编码。以此方式,可以根据MIDI格式的紧凑文件格式来存储及传输音乐作品。
多种装置中支持MIDI。举例来说,例如无线电电话等无线通信装置可支持MIDI文件以用于可下载的声音,例如铃声或其它音频输出。例如苹果计算机有限公司(AppleComputer,Inc)售卖的“iPod”装置及微软公司(Microsoft Corporation)售卖的“Zune”装置等数字音乐播放器也可支持MIDI文件格式。其它支持MIDI格式的装置可包括各种音乐合成器、无线移动装置、直接双向通信装置(有时称为对讲机)、网络电话、个人计算机、桌上型及膝上型计算机、工作站、卫星无线电装置、内部通信装置、无线电广播装置、手持型游戏装置、安装在装置中的电路板、信息查询站(information kiosk)、各种儿童计算机化玩具、用于汽车、船只及飞机中的机载计算机及多种其它装置。
发明内容
大体而言,本发明描述用于处理遵照乐器数字接口(MIDI)格式的音频文件的技术。在本文中使用时,术语MIDI文件指代含有符合MIDI格式的至少一个音轨的任何文件。根据本发明,描述用于使用软件、固件及硬件有效处理MIDI文件的技术。确切地说,在于通用处理器上操作的软件、与数字信号处理器(DSP)相关联的固件及经特定设计以用于MIDI文件处理的专用硬件之间委派与MIDI文件处理相关联的各种任务。或者,可在DSP的两个不同线程与专用硬件之间委派与MIDI文件处理相关联的任务。
所描述的技术可经管线化以用于实现MIDI文件处理的改进的效率。通用处理器可服务于第一帧(帧N)的MIDI文件。当第一帧(帧N)由DSP服务时,第二帧(帧N+1)可同时由通用处理器服务。当第一帧(帧N)由硬件服务时,第二帧(帧N+1)可同时由DSP服务,同时第三帧(帧N+2)由通用处理器服务。如果在DSP的两个不同线程与专用硬件之间委派与MIDI文件处理相关联的任务,则也可使用类似管线化。
在任一情况下,均将MIDI文件处理分离为可同时处理的管线化级,从而改进效率且可能减少给定级(例如与DSP相关联的级)所需的计算资源。每一帧从通用处理器到DSP且接着到硬件、或从第一DSP线程到第二DSP线程且接着到硬件而通过各种管线级。可(例如)经由中断驱动技术将硬件所产生的音频样本传递回到DSP以便可在向用户输出音频声音之前执行任何后处理。
在一方面中,本发明提供一种方法,其包含使用第一过程剖析MIDI文件且对与MIDI文件相关联的MIDI事件进行调度,使用第二过程处理MIDI事件以产生MIDI合成参数,及使用硬件单元基于所述合成参数产生音频样本。
在另一方面中,本发明提供一种装置,其包含执行软件以剖析MIDI文件且对与所述MIDI文件相关联的MIDI事件进行调度的处理器、处理所述MIDI事件且产生MIDI合成参数的DSP及基于所述合成参数产生音频样本的硬件单元。
在另一方面中,本发明提供一种装置,其包含剖析MIDI文件且对与所述MIDI文件相关联的MIDI事件进行调度的软件装置、用于处理所述MIDI事件以产生MIDI合成参数的固件装置及用于基于所述合成参数产生音频样本的硬件装置。
在另一方面中,本发明提供一种装置,其包含:多线程DSP,其包括剖析MIDI文件且对与所述MIDI文件相关联的MIDI事件进行调度的第一线程及处理所述MIDI事件且产生MIDI合成参数的第二线程;及硬件单元,其基于所述合成参数产生音频样本。
在另一方面中,本发明提供一种包含指令的计算机可读媒体,所述指令在由一个或一个以上处理器执行时,致使所述一个或一个以上处理器使用第一过程剖析MIDI文件且对与MIDI文件相关联的MIDI事件进行调度,使用第二过程处理所述MIDI事件以产生MIDI合成参数,且使用硬件单元基于所述合成参数产生音频样本。
在另一方面中,本发明提供一种电路,其经配置以使用第一过程剖析MIDI文件且对与MIDI文件相关联的MIDI事件进行调度,使用第二过程处理所述MIDI事件以产生MIDI合成参数,且使用硬件单元基于所述合成参数产生音频样本。
在随附图式及以下描述中阐述本发明的一个或一个以上方面的细节。其它特征、目标及优势根据描述及图式且根据权利要求书将显而易见。
附图说明
图1是说明可实施本发明的技术的示范性音频装置的框图。
图2是说明可经管线化以用于有效处理MIDI文件的第一处理器(或第一线程)、第二处理器(或第二线程)及乐器数字接口(MIDI)硬件的框图。
图3是MIDI硬件的一个实例的更详细的框图。
图4是说明与本发明的教示相一致的示范性技术的流程图。
具体实施方式
本发明描述用于处理遵照乐器数字接口(MIDI)格式的音频文件的技术。在本文中使用时,术语MIDI文件指代含有符合MIDI格式的至少一个音轨的任何文件。可包括MIDI音轨的各种文件格式的实例包括(例如)CMX、SMAF、XMF、SP-MIDI。CMX代表由高通有限公司(Qualcomm Inc.)开发的紧凑媒体扩展。SMAF代表由雅马哈公司(Yamaha Corp.)开发的合成音乐移动应用格式。XMF代表可扩展音乐格式且SP-MIDI代表可缩放复调MIDI。
如下文更详细描述的,本发明提供在于通用处理器上操作的软件、与数字信号处理器(DSP)相关联的固件及经特定设计以用于MIDI文件处理的专用硬件之间委派与MIDI文件处理相关联的各种任务的技术。所描述的技术可经管线化以用于实现MIDI文件处理的改进的效率。
通用处理器可执行软件以剖析MIDI文件且对与MIDI文件相关联的MIDI事件进行调度。接着可由DSP以同步方式(如由MIDI文件中的时序参数所指定)服务于经调度的事件。通用处理器以时间同步方式向DSP分派MIDI事件,且DSP根据时间同步调度来处理所述MIDI事件以产生MIDI合成参数。DSP接着对硬件中合成参数的处理进行调度,且硬件单元可基于合成参数产生音频样本。
通用处理器可服务于第一帧(帧N)的MIDI文件,且当第一帧(帧N)由DSP服务时,第二帧(帧N+1)可同时由通用处理器服务。此外,当第一帧(帧N)由硬件服务时,第二帧(帧N+1)同时由DSP服务,同时第三帧(帧N+2)由通用处理器服务。以此方式,将MIDI文件处理分离为可同时处理的管线化级,其可改进效率且可能减少给定级(例如与DSP相关联的级)所需的计算资源。每一帧从通用处理器到DSP且接着到硬件而通过各种管线级。在一些情况下,可(例如)经由中断驱动技术将硬件产生的音频样本传递回到DSP以便可执行任何后处理。接着可将音频样本转换为可用以驱动扬声器且向用户输出音频声音的模拟信号。
或者,可在DSP的两个不同线程与专用硬件之间委派与MIDI文件处理相关联的任务。亦即,可替代地由多线程DSP的第一线程来执行与通用处理器(如本文中所描述)相关联的任务。在此情况下,DSP的第一线程执行调度,DSP的第二线程产生合成参数,且硬件单元基于合成参数产生音频样本。也可以类似于使用通用处理器进行调度的实例的方式将此替代实例管线化。
图1是说明示范性音频装置4的框图。音频装置4可包含任何能够处理MIDI文件(例如,包括至少一个MIDI音轨的文件)的装置。音频装置4的实例包括无线通信装置,例如无线电电话、网络电话、数字音乐播放器、音乐合成器、无线移动装置、直接双向通信装置(有时称为对讲机)、个人计算机、桌上型或膝上型计算机、工作站、卫星无线电装置、内部通信装置、无线电广播装置、手持型游戏装置、安装在装置中的电路板、查询站装置、视频游戏控制台、各种儿童计算机化玩具、用于汽车、船只或飞机中的机载计算机或多种其它装置。
提供图1中所说明的各种组件来解释本发明的方面。然而,在一些实施方案中,可能存在其它组件,且可能不包括所说明的组件中的一些。举例来说,如果音频装置4为无线电电话,则可包括天线、发射器、接收器及调制解调器(调制器-解调器)以促进对音频文件的无线传送。
如图1的实例中所说明,音频装置4包括音频存储单元6以存储MIDI文件。又,MIDI文件一般指代任何包括以MIDI格式编码的至少一个音轨的音频文件。音频存储单元6可包含任何易失性或非易失性存储器或存储装置。出于本发明的目的,可将音频存储单元6视为将MIDI文件转发到处理器8的存储单元,或者处理器8从音频存储单元6检索MIDI文件,以使得所述文件被处理。当然,音频存储单元6也可为与数字音乐播放器相关联的存储单元或与从另一装置的信息传递相关联的临时存储单元。音频存储单元6可为经由数据总线或其它连接耦合到处理器8的单独的易失性存储器芯片或非易失性存储装置。可包括存储器或存储装置控制器(未图示)以促进从音频存储单元6的信息传递。
根据本发明,装置4实施在软件、硬件及固件之间分离MIDI处理任务的架构。确切地说,装置4包括处理器8、DSP 12及MIDI硬件单元14。这些组件中的每一者可(例如)直接或经由总线耦合到存储器单元10。处理器8可包含执行软件以剖析MIDI文件且对与MIDI文件相关联的MIDI事件进行调度的通用处理器。经调度的事件可以时间同步方式向DSP 12分派,且借此由DSP 12以同步方式(如由MIDI文件中的时序参数所指定)服务。DSP 12根据通用处理器8所产生的时间同步调度来处理MIDI事件以便产生MIDI合成参数。DSP 12也可对由MIDI硬件单元14进行的对MIDI合成参数的后续处理进行调度。MIDI硬件单元14基于合成参数产生音频样本。
处理器8可包含多种通用单芯片或多芯片微处理器中的任一者。处理器8可实施CISC(复杂指令集计算机)设计或RISC(精简指令集计算机)设计。一般而言,处理器8包含执行软件的CPU(中央处理单元)。实例包括来自例如英特尔公司(IntelCorporation)、苹果计算机有限公司(Apple Computer,Inc)、太阳微系统有限公司(SunMicrosystems Inc.)、高级微型装置(AMD)有限公司等公司的16位、32位或64位微处理器。其它实例包括来自例如国际商业机器公司(International Business Machines(IBM)Corporation)、红帽有限公司(RedHat Inc.)等公司的基于Unix或基于Linux的微处理器。通用处理器可包含可购自ARM有限公司(ARM Inc.)的ARM9,且DSP可包含由高通有限公司(Qualcomm Inc.)开发的QDSP4 DSP。
处理器8可服务于第一帧(帧N)的MIDI文件,且当第一帧(帧N)由DSP 12服务时,第二帧(帧N+1)可同时由处理器8服务。当第一帧(帧N)由MIDI硬件单元14服务时,第二帧(帧N+1)同时由DSP 12服务,同时第三帧(帧N+2)由处理器8服务。以此方式,将MIDI文件处理分离为可同时处理的管线化级,此可改进效率且可能减少给定级所需的计算资源。举例来说,DSP 12可相对于在没有处理器8或MIDI硬件14的帮助下执行完整MIDI算法的常规DSP得到简化。
在一些情况下,(例如)经由中断驱动技术将MIDI硬件14所产生的音频样本传递回DSP 12。在此情况下,DSP也可对音频样本执行后处理技术。DAC 16将数字音频样本转换为可由驱动电路18用以驱动扬声器19A及19B以用于向用户输出音频声音的模拟信号。
对于每一音频帧,处理器8读取一个或一个以上MIDI文件且可从MIDI文件提取MIDI指令。基于这些MIDI指令,处理器8对MIDI事件进行调度以用于由DSP 12处理,且根据此调度向DSP 12分派MIDI事件。确切地说,通过处理器8进行的此调度可包括与MIDI事件相关联的时序的同步,所述同步可基于MIDI文件中所指定的时序参数来识别。MIDI文件中的MIDI指令可指令特定MIDI语音开始或停止。其它MIDI指令可关于触后效果、呼吸控制效果、程序改变、音高折曲(pitch bend)效果、例如左右摇动(pan)等控制消息、延音踏板(sustain pedal)效果、主音量控制、例如时序参数等系统消息、例如灯光效果提示(cue)等MIDI控制消息及/或其它声音效果。在对MIDI事件进行调度之后,处理器8可将调度提供到存储器10或DSP 12以使得DSP 12可处理所述事件。或者,处理器8可通过以时间同步方式向DSP 12分派MIDI事件而执行调度。
存储器10可构造成使得处理器8、DSP 12及MIDI硬件14可存取执行委派给这些不同组件的各种任务所需的任何信息。在一些情况下,可对MIDI信息在存储器10中的存储布局进行布置以允许从不同组件8、12及14进行有效存取。
当DSP 12从处理器8(或从存储器10)接收到经调度的MIDI事件时,DSP 12可处理MIDI事件以便产生可被存储回存储器10中的MIDI合成参数。又,这些MIDI事件由DSP服务的时序由处理器8加以调度,此通过消除DSP 12执行所述调度任务的需要而产生效率。因此,DSP 12可在处理器8正对下一音频帧的MIDI事件进行调度的同时服务于第一音频帧的MIDI事件。音频帧可包含时间块(例如,10毫秒(ms)的间隔),其可包括若干音频样本。举例来说,数字输出可对于每一帧产生480个样本,可将所述样本转换为模拟音频信号。许多事件可对应于一个时间实例以使得许多音符或声音可根据MIDI格式包括于一个时间实例中。当然,委派给任何音频帧的时间量以及每一帧的样本的数目在不同实施方案中可变化。
一旦DSP 12已产生MIDI合成参数,MIDI硬件单元14便基于合成参数产生音频样本。DSP 12可对由MIDI硬件单元14进行的对MIDI合成参数的处理进行调度。由MIDI硬件单元14产生的音频样本可包含脉冲编码调制(PCM)样本,所述样本是对以规律间隔取样的模拟信号的数字表示。下文参看图3论述由MIDI硬件单元14进行的示范性音频产生的额外细节。
在一些情况下,可能需要对音频样本执行后处理。在此情况下,MIDI硬件单元14可向DSP 12发送中断命令以指令DSP 12执行所述后处理。后处理可包括滤波、缩放、音量调节或可最终增强声音输出的多种音频后处理。
在后处理之后,DSP 12可将经后处理的音频样本输出到数/模转换器(DAC)16。DAC 16将数字音频信号转换为模拟信号且将模拟信号输出到驱动电路18。驱动电路18可放大信号以驱动一个或一个以上扬声器19A及19B来产生可听的声音。
图2是说明可经管线化以用于有效处理MIDI文件的第一处理器(或第一线程)8B、第二处理器(或第二线程)12B及MIDI硬件单元14B的框图。处理器(或线程)8B、12B及MIDI硬件单元14B可对应于图1的处理器8、DSP 12及单元14。或者,元件8B及12B可对应于在多线程DSP中执行的两个不同处理线程(不同过程)。在此情况下,DSP的第一线程执行调度,DSP的第二线程产生合成参数,且硬件单元基于合成参数产生音频样本。也可以类似于使用通用处理器进行调度的实例的方式对此替代实例进行管线化。
如图2所示,第一处理器(或线程)8B执行文件剖析器模块22及事件调度器模块24。文件剖析器模块22剖析MIDI文件以识别MIDI文件中需被调度的MIDI事件。换句话说,文件剖析器检查MIDI文件以识别指示需要调度的MIDI事件的时序参数。事件调度器模块24接着对所述事件调度以由第二处理器(或线程)12B进行服务。第一处理器(或线程)8B以如事件调度器模块24界定的时间同步方式向第二处理器(或线程)12B分派经调度的MIDI事件。
第二处理器(或线程)12B包括MIDI合成模块25、硬件控制模块26及后处理模块28。MIDI合成模块25包含使得第二处理器(或线程)12B基于MIDI事件产生合成参数的可执行指令。然而,第一处理器(或线程)8B对MIDI事件进行调度以使得此调度任务不会减缓由第二处理器(或线程)12B进行的合成参数产生。
硬件控制模块26是由第二处理器(或线程)12B执行以用于控制MIDI硬件单元14的操作的软件控制。硬件控制模块26可向MIDI硬件单元14发布命令,且可对MIDI硬件单元14进行的对合成参数的服务进行调度。后处理模块28是由第二处理器(或线程)12B执行以对由MIDI硬件单元14B产生的音频样本执行任何后处理的软件模块。
一旦第二处理器(或线程)12B已产生合成参数,MIDI硬件单元14B便使用这些合成参数来产生音频样本,所述音频样本可经后处理且接着用以驱动扬声器。下文参看图3论述特定MIDI硬件单元14C的一个实施方案的其它细节。然而,依照本发明的教示也可界定其它MIDI硬件实施方案。举例来说,虽然图3中所示的MIDI硬件单元14C使用基于波表的方法来进行语音合成,但也可使用包括频率调制合成方法在内的其它方法。
重要的是,图2中所示的组件(亦即,第一处理器(或线程)8B、第二处理器(或线程)12B及MIDI硬件单元14B)以管线化方式起作用。具体来说,音频帧沿此处理管线经过,以使得当第一帧(例如,帧N)正由硬件单元14B服务时,第二帧(例如,帧N+1)正由第二处理器(或线程)12B服务且第三帧(例如,帧N+2)正由第一处理器(或线程)8B服务。在三级实施方案中用通用处理器、DSP及MIDI硬件单元(或替代地,第一DSP线程、第二DSP线程及MIDI硬件单元)进行的对MIDI文件的所述管线化处理可在处理包括MIDI文件的音频帧方面提供效率。
图3是说明可对应于音频装置4的音频硬件单元14的示范性MIDI硬件单元14C的框图。图3所示的实施方案只是示范性的,因为依据本发明的教示也可界定其它硬件实施方案。如图3的实例中所说明,MIDI硬件单元14C包括用以发送及接收数据的总线接口30。举例来说,总线接口30可包括AMBA高性能总线(AHB)主接口、AHB从属接口及存储器总线接口。AMBA代表高级微处理器总线架构。或者,总线接口30可包括AXI总线接口或另一类型的总线接口。AXI代表高级可扩展接口。
另外,MIDI硬件单元14C可包括协调模块32。协调模块32协调MIDI硬件单元14C内的数据流。当MIDI硬件单元14C从DSP 12(图1)接收开始合成音频样本的指令时,协调模块32从存储器10读取音频帧的合成参数(其由DSP 12(图1)产生)。这些合成参数可用以重建音频帧。对于MIDI格式,合成参数描述给定帧内的一个或一个以上MIDI语音的各种声音特征。举例来说,MIDI合成参数的集合可指定谐振级、混响、音量及/或可影响一个或一个以上语音的其它特征。
在协调模块32的指导下,可将合成参数从存储器10(图1)加载到与相应处理元件34A或34N相关联的语音参数集合(VPS)RAM 46A或46N中。在DSP 12(图1)的指导下,将程序指令从存储器10加载到与相应处理元件34A或34N相关联的程序RAM单元44A或44N中。
加载到程序RAM单元44A或44N中的指令指令相关联的处理元件34A或34N合成VPS RAM单元46A或46N中的合成参数的列表中指示的语音中的一者。可能存在任何数目的处理元件34A到34N(统称为“处理元件34”),且每一者可包含能够执行数学运算的一个或一个以上ALU以及用以读取及写入数据的一个或一个以上单元。为了简单起见仅说明两个处理元件34A及34N,但MIDI硬件单元14C中可包括许多更多处理元件。处理元件34可以彼此并行的方式合成语音。确切地说,所述多个不同处理元件34并行工作以处理不同合成参数。以此方式,MIDI硬件单元14C内的多个处理元件34可加速且可能改进音频样本的产生。
当协调模块32指令处理元件34中的一者合成语音时,相应处理元件可执行与合成参数相关联的一个或一个以上指令。同样,可将这些指令加载到程序RAM单元44A或44N中。加载到程序RAM单元44A或44N中的指令使得处理元件34中的相应一者执行语音合成。举例来说,处理元件34可向波形获取单元(WFU)36发送对于合成参数中所指定的波形的请求。处理元件34中的每一者可使用WFU 36。如果两个或两个以上处理元件34同时请求使用WFU 36,则可使用仲裁方案以解决任何冲突。
响应于来自处理元件34中的一者的请求,WFU 36向请求处理元件返回一个或一个以上波形样本。然而,因为波可在样本内相移(例如,高达一个波循环),所以WFU 36可返回两个样本以便使用内插来补偿相移。此外,因为立体声信号可针对两个立体声通道包括两个单独的波,所以WFU 36可针对不同通道返回单独的样本,(例如)从而产生立体声输出的高达四个单独样本。
在WFU 36将音频样本返回到处理元件34中的一者之后,相应处理元件可基于合成参数执行额外程序指令。确切地说,指令使得处理元件34中的一者从MIDI硬件单元14C中的低频振荡器(LFO)38请求不对称三角波。通过使WFU 36返回的波形乘以LFO38返回的三角波,相应处理元件可操纵波形的各种声音特征以实现所要的音频效果。举例来说,使波形乘以三角波可产生听起来较像所要乐器的波形。
基于合成参数执行的其它指令可使得处理元件34中的相应一者使波形循环特定次数、调节波形的振幅、添加混响、添加颤音效果或造成其它效果。以此方式,处理元件34可计算持续一个MIDI帧的语音的波形。最后,相应处理元件可遇到退出指令。当处理元件34中的一者遇到退出指令时,所述处理元件向协调模块32发信号通知语音合成的结束。接着可在使得求和缓冲器40存储所计算的语音波形的另一存储指令的指导下将所述所计算的语音波形提供到求和缓冲器40。可在程序指令的执行期间在另一存储指令的指导下将所计算的语音波形提供到求和缓冲器40。此使得求和缓冲器40存储所述所计算的语音波形。
当求和缓冲器40从处理元件34中的一者接收到所计算的波形时,求和缓冲器40将所计算的波形添加到与MIDI帧的整体波形相关联的适当时间实例。因此,求和缓冲器40组合多个处理元件34的输出。举例来说,求和缓冲器40最初可存储平顶波(亦即,所有数字样本均为零的波)。当求和缓冲器40从处理元件34中的一者接收到例如所计算的波形等音频信息时,求和缓冲器40可将所计算的波形的每一数字样本添加到存储于求和缓冲器40中的波形的相应样本。以此方式,求和缓冲器40累加并存储完整音频帧的波形的整体数字表示。
求和缓冲器40主要对来自处理元件34中的不同处理元件的不同音频信息进行求和。不同音频信息指示与不同的所产生的语音相关联的不同时间实例。以此方式,求和缓冲器40产生表示给定音频帧内的整体音频编辑的音频样本。
处理元件34可彼此并行但独立地操作。亦即,处理元件34中的每一者可处理合成参数,且接着一旦针对第一合成参数产生的音频信息被添加到求和缓冲器40便继续移动到下一合成参数。因此,处理元件34中的每一者独立于其它处理元件34而执行其针对一个合成参数的处理任务,且在针对合成参数的处理完成时,所述相应处理元件变得立即可用于对另一合成参数的后续处理。
最后,协调模块32可确定处理元件34已完成对当前音频帧所需要的所有语音的合成且已将所述语音提供到求和缓冲器40。在此点上,求和缓冲器40含有指示当前音频帧的完整波形的数字样本。在协调模块32进行此确定时,协调模块32向DSP 12(图1)发送中断。响应于所述中断,DSP 12可经由直接存储器交换(DME)向求和缓冲器40中的控制单元(未图标)发送请求以接收求和缓冲器40的内容。或者,DSP 12也可经预编程以执行DME。DSP 12接着可在将数字音频样本提供到DAC 16以供转换到模拟域之前对数字音频样本执行任何后处理。根据本发明,由MIDI硬件单元14C关于帧N+2执行的处理与由DSP 12(图1)关于帧N+1进行的合成参数产生及由处理器8(图1)关于帧N进行的调度操作同时发生。
图3中也展示高速缓冲存储器48、WFU/LFO存储器39及链接列表存储器42。高速缓冲存储器48可由WFU 36用来以快速且有效的方式获取基本波形。WFU/LFO存储器39可由协调模块32用以存储语音参数集合的语音参数。以此方式,可将WFU/LFO存储器39视为专用于波形获取单元36及LFO 38的操作的存储器。链接列表存储器42可包含用以存储由DSP 12产生的语音指示符的列表的存储器。语音指示符可包含指向存储于存储器10中的一个或一个以上合成参数的指针。列表中的每一语音指示符可指定存储相应MIDI语音的语音参数集合的存储器位置。图3所示的各种存储器及存储器的布置只是示范性的。本文中描述的技术可用多种其它存储器布置实施。
根据本发明,只要多个处理元件34关于存储器10(图1)中存储的不同合成参数同时操作,MIDI硬件单元14C中便可包括任何数目的处理元件34。举例来说,第一音频处理元件34A处理第一音频合成参数以产生第一音频信息,同时另一音频处理元件34N处理第二音频合成参数以产生第二音频信息。求和缓冲器40接着可在产生一个或一个以上音频样本时组合第一音频信息与第二音频信息。类似地,第三音频处理元件(未图示)及第四处理元件(未图示)可处理第三及第四合成参数,以产生在产生音频样本时也可在求和缓冲器40中累加的第三及第四音频信息。
处理元件34可处理音频帧的所有合成参数。在处理每一相应合成参数之后,处理元件34中的相应一者将其经处理的音频信息添加到求和缓冲器40中的累加,且接着继续移动到下一合成参数。以此方式,处理元件34共同工作以处理针对音频帧的一个或一个以上音频文件产生的所有合成参数。接着,在处理音频帧且将求和缓冲器中的样本发送到DSP 12以用于后处理之后,处理元件34可开始处理下一音频帧的音频文件的合成参数。
同样,第一音频处理元件34A处理第一音频合成参数以产生第一音频信息,同时第二音频处理元件34N处理第二音频合成参数以产生第二音频信息。在此点上,第一处理元件34A可处理第三音频合成参数以产生第三音频信息,同时第二音频处理元件34N处理第四音频合成参数以产生第四音频信息。求和缓冲器40可在产生一个或一个以上音频样本时组合第一、第二、第三及第四音频信息。
图4是说明依据本发明的教示的示范性技术的流程图。将参看图1的装置4来描述图4,但其它装置可实施图4的技术。可替代地由多线程DSP的两个不同线程来执行图4中标记的级1及级2。
如图4所示,以第一音频帧N开始(51),在处理器8上执行的软件剖析MIDI文件(52),且对MIDI事件进行调度(53)。经调度的事件可与调度一起被存储,或根据调度而向DSP 12分派。在任何情况下,DSP 12均处理帧N的MIDI事件以产生合成参数(56)。
在此点上,在DSP 12正处理帧N的MIDI事件(56)的同时,如果音频序列中存在更多帧(54的“是”分支),则在处理器8上执行的软件开始服务于下一帧(55),亦即,帧N+1。因此,在DSP 12正处理帧N的MIDI事件(56)的同时,在处理器8上执行的软件剖析帧N+1的MIDI文件(52),且对帧N+1的MIDI事件进行调度(53)。换句话说,关于帧N及帧N+1同时执行级1及级2。
接着,MIDI硬件单元14产生帧N的音频样本(57)。在此点上,DSP正处理帧N+1的MIDI事件(56),且在处理器8上执行的软件正剖析帧N+2的MIDI文件(52),且正对帧N+2的MIDI事件进行调度(53)。换句话说,关于帧N、帧N+1及帧N+2同时执行级1、2及3。此分级方法继续用于每一后续音频帧以使得音频帧以管线化方式通过级1、2及3。当帧N+1由硬件单元14服务时,帧N+2由DSP 12服务且帧N+3由通用处理器8服务。当帧N+2由硬件单元14服务时,帧N+3由DSP 12服务且帧N+4由通用处理器8服务,等等。
一旦针对任何给定帧产生了音频样本(57),便可对所述帧执行后处理(58)。DSP 12可响应于来自硬件单元14的中断命令而执行任何后处理。以此方式,DSP 12不仅处置对MIDI事件的处理,而且还处置需要对所产生的音频帧执行的任何后处理。
在针对任何帧的后处理(58)之后,DAC 16将帧的音频样本转换为模拟音频信号(59),所述模拟音频信号可被提供到驱动电路18。驱动电路18使用模拟音频信号来产生使得扬声器19A及19B输出声音(60)的驱动信号。
已描述各种实例。本文中描述的技术的一个或一个以上方面可在硬件、软件、固件或其组合中实施。描述为模块或组件的任何特征可一起实施在集成逻辑装置中,或单独地实施为离散但可交互操作的逻辑装置。如果在软件中实施,则所述技术的一个或一个以上方面可至少部分地由包含指令的计算机可读媒体实现,所述指令在被执行时执行上文所述的方法中的一者或一者以上。计算机可读数据存储媒体可形成可包括封装材料的计算机程序产品的部分。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及其类似物。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式来载运或传送代码,且可由计算机来存取、读取及/或执行。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,在本文中使用时,术语“处理器”可指代上述结构中的任一者或适于实施本文中描述的技术的任何其它结构。另外,在一些方面中,本文中描述的功能性可提供于经配置或适于执行本发明的技术的专用软件模块或硬件模块内。
如果在硬件中实施,则本发明的一个或一个以上方面可针对经配置或经适于执行本文中描述的技术中的一者或一者以上的例如集成电路、芯片组、ASIC、FPGA、逻辑或其各种组合等电路。电路可包括集成电路或芯片组中的处理器及一个或一个以上硬件单元(如本文中所描述)。
也应注意,所属领域的技术人员将认识到电路可实施上文描述的功能中的一些或全部。可能存在实施所有功能的一个电路,或者也可能存在实施功能的电路的多个区段。在当前移动平台技术的情况下,集成电路可包含至少一个DSP及至少一个高级精简指令集计算机(RISC)机器(ARM)处理器以控制及/或通信到DSP。另外,电路可设计或实施于若干区段中,且在一些情况下,可再使用区段以执行本发明中所描述的不同功能。
已描述各种方面及实例。然而,可在不脱离随附权利要求书的范围的情况下对本发明的结构或技术进行修改。举例来说,其它类型的装置也可实施本文中描述的MIDI处理技术。又,虽然图3所示的示范性硬件单元14C使用基于波表的方法来进行语音合成,但也可使用包括频率调制合成方法在内的其它方法。这些及其它实施例属于随附权利要求书的范围内。
Claims (48)
1.一种方法,其包含:
使用第一过程剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度;
使用第二过程处理所述MIDI事件以产生MIDI合成参数;以及
使用硬件单元基于所述合成参数产生音频样本。
2.根据权利要求1所述的方法,其中由处理器执行所述第一过程且由数字信号处理器(DSP)执行所述第二过程。
3.根据权利要求1所述的方法,其中由数字信号处理器(DSP)的第一线程执行所述第一过程且由所述DSP的第二线程执行所述第二过程。
4.根据权利要求1所述的方法,其中以管线化方式执行所述方法。
5.根据权利要求4所述的方法,其中同时地:
所述第一过程针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述第二过程针对第N+1帧产生MIDI合成参数;且
所述硬件单元针对第N帧产生音频样本。
6.根据权利要求1所述的方法,其中所述音频样本包含脉冲编码调制(PCM)样本。
7.根据权利要求1所述的方法,其中所述音频样本包含数字样本,所述方法进一步包含:
将所述音频样本转换为模拟输出;以及
向用户输出所述模拟输出。
8.根据权利要求1所述的方法,其中所述MIDI文件包含含有符合MIDI格式的至少一个音轨的文件。
9.根据权利要求1所述的方法,其中对所述MIDI事件进行调度包括基于所述MIDI文件中指定的时序参数使所述MIDI事件的时序同步。
10.根据权利要求1所述的方法,其中所述第一过程以时间同步方式向所述第二过程分派所述MIDI事件。
11.根据权利要求1所述的方法,其中所述第二过程对由所述硬件单元进行的对所述合成参数的处理进行调度。
12.根据权利要求1所述的方法,其进一步包含对所述音频样本进行后处理。
13.根据权利要求12所述的方法,其中所述硬件单元发布中断以起始所述后处理。
14.根据权利要求1所述的方法,其中所述硬件单元包括并行工作以处理不同合成参数的多个处理元件。
15.根据权利要求14所述的方法,其中所述硬件单元进一步包括组合所述多个处理元件的输出的求和缓冲器。
16.一种装置,其包含:
处理器,其执行软件以剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度;
数字信号处理器(DSP),其处理所述MIDI事件且产生MIDI合成参数;以及
硬件单元,其基于所述合成参数产生音频样本。
17.根据权利要求16所述的装置,其中所述处理器、所述DSP及所述硬件单元以管线化方式操作。
18.根据权利要求17所述的装置,其中同时地:
所述处理器针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述DSP针对第N+1帧产生MIDI合成参数;且
所述硬件单元针对第N帧产生音频样本。
19.根据权利要求16所述的装置,其中所述音频样本包含脉冲编码调制(PCM)样本。
20.根据权利要求16所述的装置,其中所述音频样本包含数字音频样本,所述装置进一步包含:
数/模转换器,其将所述音频样本转换为模拟输出;
驱动电路,其放大所述模拟输出;以及
一个或一个以上扬声器,其向用户输出所述经放大的模拟输出。
21.根据权利要求16所述的装置,其中所述MIDI文件包含含有符合MIDI格式的至少一个音轨的文件。
22.根据权利要求16所述的装置,其中所述处理器执行所述软件以基于所述MIDI文件中指定的时序参数使所述MIDI事件的时序同步。
23.根据权利要求16所述的装置,其中所述处理器以时间同步方式向所述DSP分派所述MIDI事件。
24.根据权利要求16所述的装置,其中所述DSP对由所述硬件单元进行的对所述合成参数的处理进行调度。
25.根据权利要求16所述的装置,其中所述DSP对所述音频样本进行后处理。
26.根据权利要求25所述的装置,其中所述硬件单元向所述DSP发布中断以起始所述后处理。
27.根据权利要求16所述的装置,其中所述硬件单元包括并行工作以处理不同合成参数的多个处理元件。
28.根据权利要求27所述的装置,其中所述硬件单元进一步包括组合所述多个处理元件的输出的求和缓冲器。
29.一种装置,其包含:
用于剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度的软件装置;
用于处理所述MIDI事件以产生MIDI合成参数的固件装置;以及
用于基于所述合成参数产生音频样本的硬件装置。
30.根据权利要求29所述的装置,其中软件装置、所述固件装置及所述硬件装置以管线化方式操作。
31.根据权利要求30所述的装置,其中同时地:
所述软件装置针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述固件装置针对第N+1帧产生MIDI合成参数;且
所述硬件装置针对第N帧产生音频样本。
32.根据权利要求29所述的装置,其中所述音频样本包含脉冲编码调制(PCM)样本。
33.根据权利要求29所述的装置,其中所述音频样本包含数字音频样本,所述装置进一步包含:
用于将所述音频样本转换为模拟输出的装置;以及
用于向用户输出所述模拟输出的装置。
34.根据权利要求29所述的装置,其中所述MIDI文件包含含有符合MIDI格式的至少一个音轨的文件。
35.根据权利要求29所述的装置,所述软件装置基于所述MIDI文件中指定的时序参数使所述MIDI事件的时序同步。
36.根据权利要求29所述的装置,其中所述软件装置以时间同步方式向所述固件装置分派所述MIDI事件。
37.根据权利要求29所述的装置,其中所述固件装置对由所述硬件装置进行的对所述合成参数的处理进行调度。
38.根据权利要求29所述的装置,其中所述固件装置使用所述DSP对所述音频样本进行后处理。
39.根据权利要求38所述的装置,其中所述硬件装置向所述固件装置发布中断以起始所述后处理。
40.根据权利要求29所述的装置,其中所述硬件装置包括并行工作以处理不同合成参数的多个处理元件。
41.根据权利要求40所述的装置,其中所述硬件装置进一步包括用以组合所述多个处理元件的输出的求和缓冲器。
42.一种装置,其包含:
多线程数字信号处理器(DSP),其包括剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度的第一线程及处理所述MIDI事件且产生MIDI合成参数的第二线程;以及
硬件单元,其基于所述合成参数产生音频样本。
43.根据权利要求42所述的装置,其中所述第一线程、所述第二线程及所述硬件单元以管线化方式操作。
44.根据权利要求43所述的装置,其中同时地:
所述第一线程针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述第二线程针对第N+1帧产生MIDI合成参数;且
所述硬件单元针对第N帧产生音频样本。
45.一种包含指令的计算机可读媒体,所述指令在由一个或一个以上处理器执行时致使所述一个或一个以上处理器以:
使用第一过程剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度;
使用第二过程处理所述MIDI事件以产生MIDI合成参数;且
使用硬件单元基于所述合成参数产生音频样本。
46.根据权利要求45所述的计算机可读媒体,其中同时地:
所述第一过程针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述第二过程针对第N+1帧产生MIDI合成参数;且
所述硬件单元针对第N帧产生音频样本。
47.一种电路,其经配置以:
使用第一过程剖析乐器数字接口(MIDI)文件且对与所述MIDI文件相关联的MIDI事件进行调度;
使用第二过程处理所述MIDI事件以产生MIDI合成参数;且
使用硬件单元基于所述合成参数产生音频样本。
48.根据权利要求47所述的电路,其中同时地:
所述第一过程针对第N+2帧剖析MIDI文件且对MIDI事件进行调度;
所述第二过程针对第N+1帧产生MIDI合成参数;且
所述硬件单元针对第N帧产生音频样本。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89645507P | 2007-03-22 | 2007-03-22 | |
US60/896,455 | 2007-03-22 | ||
US12/042,170 | 2008-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101636780A true CN101636780A (zh) | 2010-01-27 |
Family
ID=39773424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880008719A Pending CN101636780A (zh) | 2007-03-22 | 2008-03-17 | 用于处理乐器数字接口(midi)文件的管线技术 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7663046B2 (zh) |
EP (1) | EP2126893A1 (zh) |
JP (1) | JP2010522364A (zh) |
KR (1) | KR20090130863A (zh) |
CN (1) | CN101636780A (zh) |
TW (1) | TW200847129A (zh) |
WO (1) | WO2008118675A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7663046B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Pipeline techniques for processing musical instrument digital interface (MIDI) files |
US9348775B2 (en) | 2012-03-16 | 2016-05-24 | Analog Devices, Inc. | Out-of-order execution of bus transactions |
US10983842B2 (en) | 2019-07-08 | 2021-04-20 | Microsoft Technology Licensing, Llc | Digital signal processing plug-in implementation |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5865492A (ja) * | 1981-10-15 | 1983-04-19 | ヤマハ株式会社 | 電子楽器 |
US4611522A (en) * | 1984-04-10 | 1986-09-16 | Nippon Gakki Seizo Kabushiki Kaisha | Tone wave synthesizing apparatus |
US4966053A (en) * | 1987-06-26 | 1990-10-30 | John Dornes | Music synthesizer with multiple movable bars |
JPH02208697A (ja) * | 1989-02-08 | 1990-08-20 | Victor Co Of Japan Ltd | Midi信号誤動作防止方式及びmidi信号記録再生装置 |
JP2538668Y2 (ja) * | 1990-03-02 | 1997-06-18 | ブラザー工業株式会社 | メッセージ機能付き音楽再生装置 |
US5117726A (en) * | 1990-11-01 | 1992-06-02 | International Business Machines Corporation | Method and apparatus for dynamic midi synthesizer filter control |
JP3246312B2 (ja) * | 1995-09-20 | 2002-01-15 | ヤマハ株式会社 | 楽音発生方法および装置 |
TW314614B (zh) * | 1995-10-23 | 1997-09-01 | Yamaha Corp | |
US5747714A (en) * | 1995-11-16 | 1998-05-05 | James N. Kniest | Digital tone synthesis modeling for complex instruments |
US5917917A (en) * | 1996-09-13 | 1999-06-29 | Crystal Semiconductor Corporation | Reduced-memory reverberation simulator in a sound synthesizer |
US6105119A (en) * | 1997-04-04 | 2000-08-15 | Texas Instruments Incorporated | Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems |
US5811706A (en) * | 1997-05-27 | 1998-09-22 | Rockwell Semiconductor Systems, Inc. | Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples |
JP3637578B2 (ja) * | 1997-10-21 | 2005-04-13 | ヤマハ株式会社 | 楽音生成方法 |
JPH11133968A (ja) * | 1997-10-31 | 1999-05-21 | Yamaha Corp | 波形サンプリング装置 |
US6093880A (en) * | 1998-05-26 | 2000-07-25 | Oz Interactive, Inc. | System for prioritizing audio for a virtual environment |
US6150599A (en) | 1999-02-02 | 2000-11-21 | Microsoft Corporation | Dynamically halting music event streams and flushing associated command queues |
US6787689B1 (en) * | 1999-04-01 | 2004-09-07 | Industrial Technology Research Institute Computer & Communication Research Laboratories | Fast beat counter with stability enhancement |
US6665409B1 (en) * | 1999-04-12 | 2003-12-16 | Cirrus Logic, Inc. | Methods for surround sound simulation and circuits and systems using the same |
JP3674407B2 (ja) * | 1999-09-21 | 2005-07-20 | ヤマハ株式会社 | 演奏データ編集装置、方法及び記録媒体 |
JP3829549B2 (ja) * | 1999-09-27 | 2006-10-04 | ヤマハ株式会社 | 楽音生成装置及びテンプレート編集装置 |
JP4306944B2 (ja) * | 2000-10-18 | 2009-08-05 | 株式会社コルグ | 楽音再生装置 |
US20020103552A1 (en) | 2000-12-04 | 2002-08-01 | Mike Boucher | Method and apparatus to reduce processing requirements for the playback of complex audio sequences |
JP3687090B2 (ja) * | 2000-12-19 | 2005-08-24 | ヤマハ株式会社 | 音源付き記憶装置 |
US7107110B2 (en) * | 2001-03-05 | 2006-09-12 | Microsoft Corporation | Audio buffers with audio effects |
US6970822B2 (en) | 2001-03-07 | 2005-11-29 | Microsoft Corporation | Accessing audio processing components in an audio generation system |
US6806412B2 (en) * | 2001-03-07 | 2004-10-19 | Microsoft Corporation | Dynamic channel allocation in a synthesizer component |
WO2002077585A1 (en) * | 2001-03-26 | 2002-10-03 | Sonic Network, Inc. | System and method for music creation and rearrangement |
US7065380B2 (en) * | 2001-07-19 | 2006-06-20 | Texas Instruments Incorporated | Software partition of MIDI synthesizer for HOST/DSP (OMAP) architecture |
JP2003044052A (ja) * | 2001-07-26 | 2003-02-14 | Kawai Musical Instr Mfg Co Ltd | 電子楽器の音量制御装置 |
US6683241B2 (en) * | 2001-11-06 | 2004-01-27 | James W. Wieder | Pseudo-live music audio and sound |
JP3991724B2 (ja) * | 2002-03-12 | 2007-10-17 | ヤマハ株式会社 | データ処理装置およびコンピュータプログラム |
WO2005036396A1 (en) | 2003-10-08 | 2005-04-21 | Nokia Corporation | Audio processing system |
US20050185541A1 (en) * | 2004-02-23 | 2005-08-25 | Darren Neuman | Method and system for memory usage in real-time audio systems |
KR20050087368A (ko) * | 2004-02-26 | 2005-08-31 | 엘지전자 주식회사 | 무선 단말기의 벨소리 처리 장치 |
KR100694395B1 (ko) * | 2004-03-02 | 2007-03-12 | 엘지전자 주식회사 | 웨이브 테이블 기반의 미디 합성 방법 |
KR100636906B1 (ko) * | 2004-03-22 | 2006-10-19 | 엘지전자 주식회사 | 미디 재생 장치 그 방법 |
EP1805761A4 (en) * | 2004-10-22 | 2011-03-30 | Lg Electronics Inc | DEVICE AND METHOD FOR PLAYING A MIDI FILE |
KR100598209B1 (ko) * | 2004-10-27 | 2006-07-07 | 엘지전자 주식회사 | Midi 재생 장치 및 방법 |
KR100689495B1 (ko) * | 2004-12-14 | 2007-03-02 | 엘지전자 주식회사 | Midi 재생 장치 및 방법 |
KR100655548B1 (ko) * | 2004-12-15 | 2006-12-08 | 엘지전자 주식회사 | 미디 합성 방법 |
US7663046B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Pipeline techniques for processing musical instrument digital interface (MIDI) files |
-
2008
- 2008-03-04 US US12/042,170 patent/US7663046B2/en not_active Expired - Fee Related
- 2008-03-17 EP EP08714250A patent/EP2126893A1/en not_active Withdrawn
- 2008-03-17 CN CN200880008719A patent/CN101636780A/zh active Pending
- 2008-03-17 JP JP2010501078A patent/JP2010522364A/ja active Pending
- 2008-03-17 WO PCT/US2008/057271 patent/WO2008118675A1/en active Application Filing
- 2008-03-17 TW TW097109344A patent/TW200847129A/zh unknown
- 2008-03-17 KR KR1020097022030A patent/KR20090130863A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US7663046B2 (en) | 2010-02-16 |
TW200847129A (en) | 2008-12-01 |
KR20090130863A (ko) | 2009-12-24 |
WO2008118675A1 (en) | 2008-10-02 |
JP2010522364A (ja) | 2010-07-01 |
US20080229918A1 (en) | 2008-09-25 |
EP2126893A1 (en) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7678986B2 (en) | Musical instrument digital interface hardware instructions | |
CN101636779B (zh) | 用于处理音频文件的波形获取单元 | |
CN101641731B (zh) | 用于在音频装置中检索参考波形的带宽控制 | |
CN101636780A (zh) | 用于处理乐器数字接口(midi)文件的管线技术 | |
Vercoe | Extended Csound | |
US7718882B2 (en) | Efficient identification of sets of audio parameters | |
Vercoe | Audio-pro with multiple DSPs and dynamic load distribution | |
US7723601B2 (en) | Shared buffer management for processing audio files | |
CN101636782A (zh) | 用于产生三角波的方法和装置 | |
US7663051B2 (en) | Audio processing hardware elements | |
US7893343B2 (en) | Musical instrument digital interface parameter storage | |
US7687703B2 (en) | Method and device for generating triangular waves | |
CN101636781A (zh) | 用于处理音频文件的共享缓冲器管理 | |
CN100489963C (zh) | 应用于可变式负载数字信号处理器的声音合成器 | |
Vercoe et al. | Multiprocessor Csound: Audio-Pro with Multiple DSP‘s and Dynamic Load Distribution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100127 |