CN101641731B - 用于在音频装置中检索参考波形的带宽控制 - Google Patents

用于在音频装置中检索参考波形的带宽控制 Download PDF

Info

Publication number
CN101641731B
CN101641731B CN2008800091465A CN200880009146A CN101641731B CN 101641731 B CN101641731 B CN 101641731B CN 2008800091465 A CN2008800091465 A CN 2008800091465A CN 200880009146 A CN200880009146 A CN 200880009146A CN 101641731 B CN101641731 B CN 101641731B
Authority
CN
China
Prior art keywords
voice
bandwidth
audio
audio frame
reference waveform
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
Application number
CN2008800091465A
Other languages
English (en)
Other versions
CN101641731A (zh
Inventor
普拉加克特·V·库尔卡尼
苏雷什·德瓦拉帕里
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101641731A publication Critical patent/CN101641731A/zh
Application granted granted Critical
Publication of CN101641731B publication Critical patent/CN101641731B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/22Selecting circuits for suppressing tones; Preference networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments 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/004Instruments 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/005Device type or category
    • G10H2230/021Mobile ringtone, i.e. generation, transmission, conversion or downloading of ringing tones or other sounds for mobile telephony; Special musical data formats or protocols herefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

一般来说,本发明的技术可用于控制对分配给音频处理模块的带宽的利用。举例来说,为了处理各种音频合成参数,所述音频处理模块可检索用于产生例如MIDI帧的音频帧内的语音的音频信息中的参考波形样本。在一些情况下,可用于从存储器检索所述参考波形的带宽量受到限制。为了管理对所分配带宽的利用,带宽控制模块估计检索所述音频帧的所有语音的参考波形所需的带宽量,且在所述带宽估计超过所述所分配带宽时选择一个或一个以上语音以从所产生的音频信息中进行消除。

Description

用于在音频装置中检索参考波形的带宽控制
相关申请案
根据35U.S.C.§119主张优先权
本专利申请案主张2007年3月22日申请的标题为“用于在音频装置中检索参考波形的带宽控制(BANDWIDTH CONTROL FOR RETRIEVAL OF REFERENCEWAVEFORMS IN AN AUDIO DEVICE)”的第60/896,438号临时申请案的优先权,且所述申请案转让给本案受让人且在此明确以引用的方式并入本文中。
技术领域
本发明涉及电子装置,且特定来说,其涉及产生音频的电子装置。
背景技术
乐器数字接口(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),其处理所述事件且产生合成参数;硬件单元,其基于合成参数中的至少一部分产生音频信息;以及存储器单元。所述DSP估计所述硬件单元检索用于产生音频帧内的语音的音频信息的参考波形所需的带宽量且在所述带宽估计超过分配给硬件单元的带宽量时选择所述语音中的一者或一者以上以从所产生的音频信息中进行消除。
在另一方面中,一种电路经配置以估计检索用于产生音频帧内的语音的音频信息的参考波形所需的带宽,且在所述带宽估计超过所分配带宽时选择所述语音中的一者或一者以上以从所产生的音频信息中进行消除。
在附图和以下描述中陈述本发明的一个或一个以上方面的细节。根据所述描述和图式且根据权利要求书将明白其它特征、目的和优势。
附图说明
图1为说明可实施本发明的技术的示范性音频装置的框图。
图2为说明用于音频装置中的示范性音频硬件单元的框图。
图3为说明示范性带宽控制模块的框图。
图4为说明实施本发明的带宽控制技术的音频装置的示范性操作的流程图。
具体实施方式
一般来说,本发明描述用于处理音频文件的技术。尽管所述技术对于其它音频格式、技术或标准可为有用的,但所述技术对于遵照乐器数字接口(MIDI)格式的音频文件的重放可尤为有用。如本文所使用,术语MIDI文件指含有符合MIDI格式的至少一个音轨的任何文件。
具体来说,本发明的技术可用于控制对分配给音频处理模块的带宽的利用。举例来说,为了处理各种音频合成参数,音频处理模块可检索用于产生例如MIDI帧的音频帧内的语音的音频信息的参考波形样本。在一些情况下,可用于从存储器检索参考波形的带宽量受到限制。举例来说,可基于分配给音频处理模块的其它组件的带宽量来限制可用于音频硬件单元检索参考波形的带宽量。为了管理对所分配带宽的利用,带宽控制模块根据本文所描述的技术来估计检索音频帧的所有语音的参考波形所需的带宽,且在所估计带宽超过所分配带宽时选择语音中的一者或一者以上以从所产生的音频信息中进行消除。以此方式,本质上从到人类收听者的音频输出中丢弃选定语音。
图1为说明示范性音频装置4的框图。音频装置4可包含能够处理MIDI文件(例如,包括至少一个MIDI音轨的文件)的任何装置。音频装置4的实例包括无线通信装置,例如无线电电话、网络电话、数字音乐播放器、音乐合成器、无线移动装置、直接双向通信装置(有时称为对讲机)、个人计算机、桌上型或膝上型计算机、工作站、卫星无线电装置、内部通信装置、无线电广播装置、手持型游戏装置、安装于装置中的电路板、公共查询站装置、各种用于儿童的计算机化玩具、视频游戏控制台、用于汽车、船只或飞机中的机载计算机或多种其它装置。另外,音频装置4可为例如电子键盘、鼓机或其它电子乐器的乐器。
音频装置4包括存储MIDI文件的音频存储单元6。音频存储单元6可另外存储其它类型的数据。举例来说,如果音频装置4为移动电话,则音频存储单元6可存储包含个人联系(personal contact)、相片和其它类型的数据的列表的数据。音频存储单元6可包含任何易失性或非易失性存储器或存储装置,例如硬盘驱动器、快闪存储器单元、压缩光盘、软盘、数字多功能光盘、只读存储器(ROM)、随机存取存储器(RAM)或其它信息存储媒体。当然,音频存储单元6还可为与数字音乐播放器相关联的存储单元或与从另一装置进行的信息传送相关联的临时存储单元。音频存储单元6可为经由数据总线或其它连接耦合到处理器8的单独的易失性存储器芯片或非易失性存储装置。
音频装置4还包括处理器8、数字信号处理器(DSP)12和音频硬件音频硬件单元14,其共同操作以处理MIDI文件以基于MIDI文件的内容产生音频信息(例如音频样本的数字波形)。换句话说,处理器8、DSP 12和音频硬件单元14可共同操作以充当合成器。在图1所说明的实例中,音频装置4实施在处理器8、DSP 12和音频硬件单元14之间分离MIDI处理任务的架构。然而,MIDI处理任务的所述分离对于实施本文所描述的带宽控制技术并非必需。因此,在一些实施方案中,可将处理器8、DSP 12和音频硬件单元14的处理任务组合到单一模块中。举例来说,可在DSP 12和音频硬件单元14的两个不同线程之间委派与MIDI文件处理相关联的任务。即,与通用处理器8(如本文中所描述)相关联的任务可替代地由多线程DSP(例如,DSP 12)的第一线程执行。在此情况下,DSP 12的第一线程执行调度,DSP 12的第二线程产生合成参数,且硬件单元14基于合成参数产生音频样本。DSP 12还可包括用以执行例如本文所揭示的带宽估计技术的其它任务的额外线程。
在一方面中,处理器8、DSP 12和音频硬件单元14以逐音频帧的方式处理MIDI文件。如本文所使用,短语“音频帧”指可包括若干音频样本的时间块。作为一个实例,音频帧可对应于10毫秒(ms)的时间间隔,其对于以48kHz的取样速率而操作的装置包括480个样本。许多事件可对应于一个时间实例以使得许多语音或声音可根据MIDI格式包括于一个时间实例中。当然,委派给任何音频帧的时间量以及每一帧的样本的数目在不同实施方案中可变化。
处理器8可从音频存储单元6读取数据或向其写入数据。此外,处理器8可从存储器单元10读取数据或向其写入数据。举例来说,处理器8可从音频存储模块6读取MIDI文件且将MIDI文件写入存储器单元10。对于每一音频帧,处理器8可检索MIDI文件中的一者或一者以上且剖析MIDI文件以提取一个或一个以上MIDI指令。MIDI文件中的MIDI指令可指令特定MIDI语音开始或停止。其它MIDI指令可涉及触摸后效果、呼吸控制效果、程序改变、音高折曲效果、例如左右摇动(pan)等控制消息、延音踏板效果、主音量控制、例如时序参数等系统消息、例如灯光效果提示(cue)等MIDI控制消息和/或其它声音效果。
基于这些MIDI指令,处理器8对与MIDI文件相关联的MIDI事件进行调度以由DSP 12处理。处理器8可向存储器单元10提供对MIDI事件的调度以由DSP 12存取,以使得DSP 12可处理MIDI指令。或者,处理器8可通过以时间同步方式向DSP 12直接分派MIDI指令而执行调度。具体来说,由处理器8进行的调度可包括与MIDI指令相关联的时序的同步,其可基于MIDI文件中所指定的时序参数而识别。
DSP 12根据处理器8所产生的调度来处理MIDI指令。具体来说,DSP 12可分配MIDI指令中指定为开始的语音的新语音以及丢弃MIDI指令中指定为停止的语音的语音。以此方式,DSP 12产生开始和停止当前音频帧的新MIDI语音的合成参数。此外,DSP 12可根据MIDI指令产生描述音频帧内的语音的各种声学特性(例如谐振水平、音高、交混回响和音量)的其它合成参数。
在一些情况下,可用于从存储器单元10检索参考波形的带宽量受到限制。举例来说,可用于音频硬件单元14存取存储器单元10的带宽量可随分配给处理器8和DSP 12的带宽量而变化。为了在每一帧可传送用于波表查找的数据量受到限制时使用波表合成来管理MIDI语音,DSP 12包括实施本发明的带宽控制技术的带宽控制模块15。具体来说,带宽控制模块15估计检索音频帧的所有语音的参考波形所需的带宽量。如下文更详细地描述,参考波形用于产生对应语音的音频信息,例如样本。根据本发明的技术,带宽控制模块15在带宽估计超过分配给音频硬件单元14的用于从存储器单元10检索参考波形的带宽量时选择一个或一个以上语音以进行消除。带宽控制模块15继续选择将要消除的语音,直到用于检索参考波形的带宽估计小于或等于分配给音频硬件单元14的用于那个目的的带宽量为止。以此方式,带宽控制模块15可以递归方式选择将要消除的语音直到所估计带宽小于或等于所分配带宽。或者,带宽控制模块15可确定所估计带宽与所分配带宽之间的差值且选择具有大于或等于所估计带宽与所分配带宽之间的差值的总带宽的多个语音。以此方式,带宽控制模块15可同时选择将要消除的多个语音而非以递归方式选择语音。
作为一实例,术语“带宽”指每单位时间可传送到音频硬件单元14的数据量,例如,字节/秒。可由存储器10与音频硬件单元之间的传输媒体和(可能)其它因素(例如是否有其它组件共享传输媒体来存取存储器10)来界定带宽。举例来说,音频硬件单元14可具有其自身的到存储器10的专用总线,在此情况下,可由每秒可经由总线传送的字节的数目来界定带宽。或者,音频硬件单元14可与DSP 12和/或处理器8共享总线以存取存储器10。在此情况下,带宽可指当前每秒经由共享总线分配给音频硬件单元14的字节的数目。如果使用共享总线,则可通过总线控制器或调节经由共享总线进行的信息传送的其它组件来确定带宽。此外,如果使用共享总线,则分配给音频硬件单元14的带宽可依据使用同一总线的其它组件所需要的带宽量而在不同时间改变。在任何情况下,在任何给定实例处给定固定量的带宽,本发明的技术可以提高所要的音频体验的方式促进对语音的所要控制和对最不重要的语音的可能消除。
在图1中,音频硬件单元14与存储器单元10之间的箭头可表示专用总线,或者,存储器单元10与处理器8之间、存储器单元10与DSP 12之间以及存储器单元10与音频硬件单元14之间的不同箭头可共同表示共享总线。专用或共享总线可由总线控制器(未图示)控制,所述总线控制器可确定在任何给定实例处到音频硬件单元14的带宽。
如下文更详细地描述,带宽控制模块15试图选择音频帧中最不显著的语音。MIDI语音在音频帧中的声学显著性水平可随着那个MIDI语音对于音频帧的人类收听者所感知的整体声音的重要性而变化。带宽控制模块15可(例如)选择一个或一个以上具有最低振幅的语音、已活动或开启最长时期的语音或与最低优先级MIDI通道相关联的语音。此外,带宽控制模块15可在选择哪一语音将要被消除时分析与语音相关联的其它合成参数,例如ADSR包络的状态、对应于语音的器具的类型等等。ADSR代表“起声延迟持续释放”。在带宽控制模块15中可个别地实施前述技术,或者可共同实施所述技术中的两者或两者以上或所述技术中的全部。
DSP 12可在存储器单元10中存储未选定语音的MIDI合成参数。在此情况下,音频硬件单元14可存取存储器单元10以获得合成参数。或者,DSP 12可直接向音频硬件单元14提供未选定语音的合成参数,例如,设置音频硬件单元14内的一个或一个以上寄存器。因此,音频硬件单元14不接收选定语音的合成参数。因此,本质上从音频帧丢弃被选定为消除的语音。以此方式,DSP 12控制音频硬件单元14的带宽需求以确保用于检索参考波形的带宽需求不超过音频硬件单元14的所分配带宽。
音频硬件单元14使用由DSP 12产生的合成参数而产生包含每一音频帧的许多音频样本的数字波形。由音频硬件单元14产生的数字波形可(例如)包含脉冲编码调制(PCM)信号,所述信号为以规则时间间隔取样的模拟信号的数字表示。为了产生个别音频帧的数字波形,音频硬件单元14可产生音频帧中的MIDI语音中的每一者的数字波形。为了产生MIDI语音的数字波形,音频硬件单元14可从存储器单元10检索与MIDI语音相关联的参考波形(常被称为“波表”)。音频硬件单元14根据合成参数使参考波形的一个或一个以上参数(例如,音高、振幅或其它声学特性)变化以产生MIDI语音的数字波形。音频硬件单元14对针对MIDI语音中的每一者所产生的数字波形进行求和以计算音频帧的数字波形。下文参看图2论述由音频硬件单元14进行的示范性音频产生的额外细节。
在产生音频帧的数字波形后,音频硬件单元14可(例如)经由中断驱动技术将所产生的数字波形传递回到DSP 12。在此情况下,DSP 12还可对数字波形执行后处理技术。后处理可包括滤波、缩放、音量调节或可最终增强声音输出的多种音频后处理。在后处理后,DSP 12可将经后处理的数字波形输出到数字模拟转换器(DAC)16。DAC 16将数字波形转换为模拟信号且将模拟信号输出到驱动电路18。驱动电路18可放大信号以驱动一个或一个以上扬声器19A和19B来产生可听声音。音频装置4可包括一个或一个以上额外组件(未图示),包括滤波器、预放大器、放大器和制备模拟信号以用于由扬声器19输出的其它类型的组件。
在一些实施方案中,可将所描述的技术管线化以实现在对MIDI文件的处理中的改进效率。具体来说,由音频硬件单元14关于音频帧N+2执行的处理与由DSP 12关于音频帧N+1执行的合成参数产生和由处理器8关于音频帧N执行的调度操作同时发生。所述管线化技术可改进效率且(可能)减少给定级(例如与DSP相关联的级)所需的计算资源。
处理器8可包含多种通用单芯片或多芯片微处理器中的任一者。处理器8可实施复杂指令集计算机(CISC)设计或精简指令集计算机(RISC)设计。一般来说,处理器8包含执行软件的中央处理单元(CPU)。实例包括来自例如因特尔公司(IntelCorporation)、苹果计算机有限公司(Apple Computer,Inc)、太阳微系统有限公司(SunMicrosystems Inc.)、高级微装置(AMD)有限公司(Advanced Micro Devices(AMD)Inc.)ARM有限公司(ARM Inc.)等公司的16位、32位或64位微处理器。其它实例包括来自例如国际商业机器(IBM)公司(International Business Machines(IBM)Corporation)、红帽有限公司(RedHat Inc.)等公司的基于Unix或基于Linux的微处理器。DSP 12可包含由高通有限公司(Qualcomm Inc.)开发的QDSP4DSP。音频硬件单元14可实施为音频装置4的硬件组件。举例来说,音频硬件单元14可为嵌入到音频装置4的电路板中的芯片组。
虽然在图1中将带宽控制技术描述为在DSP 12内执行,但带宽控制技术可替代地在音频装置4的其它模块内执行。举例来说,音频硬件单元14可实施带宽控制技术。在此情况下,音频硬件单元14接收帧的所有语音的合成参数且在从存储器单元10检索参考波形所必需的所估计带宽超过分配给音频硬件单元14的带宽量时选择将要消除的语音。此外,虽然在MIDI的环境中描述本发明的技术,但所述技术适用于合成在产生、传送和/或重放音频声中所使用的其它格式的数字波形。
出于示范性目的说明图1中所说明的各种组件来阐述本发明的方面。可通过硬件、软件组件或其组合的任何合适组合来实现图1中所说明的特征。然而,其它组件可存在于一些实施方案中。举例来说,如果音频装置4为无线电电话,则可包括天线、发射器、接收器和调制器-解调器(“调制解调器”)以促进音频文件的无线传送。此外,在其它实施方案中可能不包括所说明的组件中的一些。
图2为说明用于音频装置中的示范性音频硬件单元20的框图。音频硬件单元20可表示音频装置4(图1)的音频硬件单元14。图2所示的实施方案仅为示范性的,因为还可界定其它硬件实施方案以与本发明的教示相一致。如图2的实例中所说明,音频硬件单元20包括用以发送和接收数据的总线接口30。音频硬件单元20可利用总线接口30来向DSP 12发送数据和从DSP 12接收数据。另外,音频硬件单元20可从存储器单元10检索数据。为了完成所述动作,总线接口30可包括AMBA高性能总线(AHB)主接口、AHB从属接口和存储器总线接口。AMBA代表高级微处理器总线架构。或者,总线接口30可包括AXI总线接口或另一类型的总线接口。AXI代表高级可扩展接口。
音频硬件单元20可包括协调模块32。协调模块32协调音频硬件单元20内的数据流。另外,协调模块32可协调音频硬件单元20与DSP 12或存储器单元10之间的数据流。协调模块32可(例如)协调从DSP 12传送音频帧的语音的合成参数。如上文所描述,DSP 12可估计音频硬件单元20检索音频帧的所有语音的参考波形所需要的带宽量,且在带宽估计超过分配给音频硬件单元20的用于从存储器单元10检索参考波形的带宽量时选择一个或一个以上语音以从所产生的音频中进行消除。在此情况下,音频硬件单元20仅接收未选定语音的合成参数,借此在本质上从音频帧丢弃选定语音。
然而,在另一方而中,本发明的带宽控制技术可实施于音频硬件单元20内。具体来说,音频硬件单元20可接收音频帧的所有语音的合成参数且选择将要从所产生的音频信息中进行消除的语音以满足所分配带宽。举例来说,控制模块32可估计音频硬件单元20检索音频帧的所有语音的参考波形所需要的带宽量,且在带宽估计超过分配给音频硬件单元20的用于从存储器单元10检索参考波形的带宽量时选择一个或一个以上语音以进行消除。为此,协调模块32可包括带宽控制模块(图2中未展示)。
当音频硬件单元20从DSP 12(图1)接收指令以开始合成音频帧时,协调模块32读取音频帧的未选定语音的合成参数。音频硬件单元20使用合成参数产生音频帧的未选定语音的数字波形。因为未接收与选定语音相关联的合成参数,所以音频硬件单元20不产生那些语音的音频信息。换句话说,本质上从音频帧丢弃选定语音。合成参数描述给定帧内的一个或一个以上MIDI语音的各种声学特性,例如谐振水平、音高、交混回响、音量和/或可影响一个或一个以上语音的其它特性。音频硬件单元20可直接从DSP 12将合成参数加载音频硬件单元20内的存储器模块42,或经由指向存储器单元10中的位置的数据指针从存储器10对其进行检索。具体来说,在协调模块32的指导下,可从存储器单元10将合成参数加载到与相应处理元件34A或34N相关联的语音参数集合(VPS)RAM 46A或46N。在DSP 12(图1)的指导下,从存储器10将程序指令加载到与相应处理元件34A或34N相关联的程序RAM单元44A或44N。
在协调模块32读取合成参数的列表后,协调模块32可从存储器单元10检索与未选定语音相关联的多个参考波形。举例来说,协调模块32可检索产生语音中的每一者的样本所需的参考波形。协调模块32可将所检索的参考波形存储在WFO/LFO存储器39中。
加载到程序RAM单元44A或44B中的指令指令相关联的处理元件34A或34N合成语音,在VPS RAM单元46A或46N中的合成参数的列表中指示所述语音中的一者。可能存在任何数目的处理元件34,且每一者可包含一个或一个以上算术逻辑单元(ALU)或能够执行数学运算以及能够读取并写入数据的其它单元。为了简单起见仅说明两个处理元件34A和34N,但硬件单元20中可包括更多处理元件。处理元件34可以彼此并行的方式合成语音。具体来说,多个不同处理元件34并行工作以处理与不同语音相关联的不同合成参数。换句话说,处理元件中的每一者合成在合成参数的列表中所指示的语音中的一者。以此方式,音频硬件单元20内的多个处理元件34可加速且(可能)增加所产生的语音的数目,借此改进音频样本的产生。
当协调模块32指令处理元件34中的一者合成语音时,相应处理元件可执行与合成参数相关联的一个或一个以上指令。而且,可将这些指令加载到程序RAM单元44A或44N中。加载到程序RAM单元44A或44N中的指令致使处理元件34中的相应者执行语音合成。举例来说,处理元件34可向波形获取单元(WFU)36发送请求以获得合成参数中所指定的MIDI语音的参考波形。处理元件34中的每一者可使用WFU 36。如果两个或两个以上处理元件34同时请求使用WFU 36,则可使用仲裁机制来解决任何冲突。
响应于来自处理元件34中的一者的请求,WFU 36传回由合成参数指定的参考波形。WFU 36可传回存储于高速缓冲存储器48内、WFU/LFU存储器39内或存储器单元10内的参考波形。由WFU 36传回的参考波形包括提供到请求处理元件34的一个或一个以上样本。因为波可在样本内相移(例如,高达一个波循环),所以WFU 36可传回两个样本以使用内插来补偿相移。此外,因为立体声信号可包括用于两个立体声通道的两个单独的波,所以WFU 36可传回用于不同通道的单独样本,(例如)从而导致立体声输出的高达四个单独样本。
在WFU 36将参考波形传回到处理元件34中的一者后,相应处理元件可基于合成参数执行额外程序指令。具体来说,指令致使处理元件34中的一者从音频硬件单元20中的低频振荡器(LFO)38请求不对称三角形波形。通过使WFU 36传回的参考波形乘以LFO 38传回的三角形波形,相应处理元件34可操纵波形的各种声学特性以实现所要音频效果。举例来说,使波形乘以三角形波可导致听起来更像所要乐器的波形。
基于合成参数执行的其它指令可致使处理元件34中的相应者使波形循环特定次数、调节波形的振幅、添加混响、添加颤音效果或造成其它声学效果。以此方式,处理元件34可计算持续一个音频帧的MIDI语音的数字波形。最后,相应处理元件34可遇到退出指令。当处理元件34中的一者遇到退出指令时,处理元件以信号向协调模块32通知语音合成的结束。可在程序指令的执行期间在另一存储指令的指导下将经计算的语音波形提供到求和缓冲器40。此致使求和缓冲器40存储经计算的语音波形。
当求和缓冲器40从处理元件34中的一者接收到经计算的波形时,求和缓冲器40将经计算的波形添加到与音频帧的整体波形相关联的适当时间实例。因此,求和缓冲器40组合多个处理元件34的输出。举例来说,求和缓冲器40最初可存储平顶波(即,所有数字样本均为零的波)。当求和缓冲器40从处理元件34中的一者接收到与特定MIDI语音相关联的经计算的波形时,求和缓冲器40可将经计算的波形的每一数字样本添加到存储于求和缓冲器40中的波形的相应样本。以此方式,求和缓冲器40累加与多个MIDI语音相关联的经计算的波形,且存储完整音频帧的波形的整体数字表示。求和缓冲器40本质上对与从处理元件34中的不同者产生的不同语音相关联的不同时间实例进行求和以产生表示给定音频帧内的整体音频编辑的数字波形。
最后,协调模块32可确定处理元件34已完成合成当前音频帧所需要的所有语音且已将那些语音提供到求和缓冲器40。此时,求和缓冲器40含有指示当前音频帧的完整波形的数字样本。在协调模块32作出此确定时,协调模块32向DSP 12(图1)发送中断。响应于中断,DSP 12可(例如)经由直接存储器交换(DME)向求和缓冲器40中的控制单元(未图示)发送请求以接收求和缓冲器40的内容。或者,DSP 12还可经预编程以执行DME。DSP 12可接着在将数字波形提供到DAC 16以用于转换到模拟域之前对数字波形执行任何后处理。由音频硬件单元20关于帧N+2而执行的处理与由DSP12关于帧N+1而进行的合成参数产生和由处理器8(图1)关于帧N进行的调度操作同时发生。
图2中还展示高速缓冲存储器48、WFU/LFO存储器39和链接列表存储器42。高速缓冲存储器48可由WFU 36用来以快速且有效的方式获取基本波形。WFU/LFO存储器39可由协调模块32用来存储语音参数集合的语音参数或者一个或一个以上参考波形。以此方式,可将WFU/LFO存储器39视为专用于波形获取单元36和LFO 38的操作的存储器。链接列表存储器42可包含用于存储由DSP 12产生的语音指示符的列表的存储器。语音指示符可包含指向存储于存储器10中的一个或一个以上合成参数的指针。列表中的每一语音指示符可指定存储相应MIDI语音的语音参数集合的存储器位置。图2所示的各种组件和组件(包括存储器)的布置仅为示范性的。可通过多种其它布置来实施本文所描述的技术。
图3为说明示范性带宽控制模块48的框图。带宽控制模块48可表示音频装置4(图1)的带宽控制模块15。如图3中所说明,带宽控制模块48包括带宽估计模块50和语音选择模块52,其共同起作用以实施本文所描述的带宽控制技术。
具体来说,对于每一音频帧,带宽估计模块50估计音频硬件单元14从存储器单元10检索那个特定帧的MIDI语音的参考波形所需的带宽量。如上文所描述,可用于传送与MIDI语音相关联的参考波形的带宽量可逐音频帧地变化。举例来说,经分配用于检索存储器单元10中的参考波形的带宽量可随着分配给音频装置4的其它组件的存储器带宽量(例如到处理器8和DSP 12的带宽分配)而变化。此外,经分配用于存取存储器单元10中的参考波形的带宽量还可基于分配给音频硬件单元14内的其它模块的存储器带宽而变化。
带宽估计模块50可(例如)基于音频硬件单元14需从存储器单元10检索的参考波形的样本的数目来估计音频硬件单元14对于当前帧的带宽需求。换句话说,带宽估计模块50在逐帧的基础上估计音频硬件单元14的带宽需求。作为开始点,带宽估计模块50可基于参考波形的样本的数目而估计音频硬件单元14的带宽需求。然而,为了更准确地估计音频硬件单元14的带宽需求,带宽估计模块50可利用本文所描述的带宽估计技术中的一者或一者以上。
在第一带宽估计技术中,带宽估计模块50可确定音频帧的语音中的每一者的重放位置且基于重放位置来估计带宽需求。将被称为循环波形的一种类型的参考波形划分为两段,瞬时段与循环段。音频装置播放瞬时段一次且接着重复播放循环段直到音符结束。重放位置指沿着对应于那个特定音频帧的波形的位置。带宽估计模块50可确定与音频帧的语音相关联的重放位置是处于瞬时段还是处于循环段中,且在重放位置位于循环段中时确定仅检索循环参考波形的循环段是必需的。因此,带宽估计模块50可将检索参考波形所需的带宽估计为参考波形的循环段的样本的数目。然而,当重放位置位于参考波形的瞬时段内时,带宽估计模块50确定音频硬件单元14有可能检索整个参考波形且在估计音频硬件单元14的带宽需求中使用那个确定。对于单拍声音(即,未被分段为瞬时部分与循环部分的声音),带宽估计模块50可确定音频硬件单元14必须检索整个参考波形。
在另一带宽估计技术中,带宽估计模块50确定仅参考波形的一部分需被检索,且在估计音频硬件单元14的带宽需求中使用那个确定。举例来说,带宽估计模块50可计算与音频帧的开始相关联的波形样本索引和与音频帧的结束相关联的波形样本索引之间的差值。带宽估计模块50可将开始与结束波形样本索引之间的差值与参考波形中的样本的数目进行比较。如果开始与结束波形样本索引之间的差值小于波形中的样本的数目,则带宽估计模块50确定音频硬件单元14仅需检索参考波形的从与帧的开始相关联的样本索引和与帧的结束相关联的样本索引的部分。然而,如果与帧的结束相关联的波形样本索引大于循环波形的样本的总数目,则带宽估计模块50确定翻转将在那个帧期间发生。翻转致使带宽估计模块50重新计算从波形的循环部分的开始的索引。因此,带宽估计模块可确定应将整个波形或至少波形的整个循环部分传送到音频硬件单元14。
带宽估计模块50将检索MIDI语音的参考波形所需的所估计带宽与经分配用于从存储器单元10检索参考波形的带宽量进行比较。如上文所描述,经分配以检索参考波形的带宽量可每帧变化。在确定音频硬件单元14的所估计带宽需求超过所分配带宽后,语音选择模块52选择将要从所产生的音频中消除的一个或一个以上MIDI语音。语音选择模块52可试图选择作为帧中在感知上最不相关的语音的语音。举例来说,语音选择模块52可选择具有最低振幅包络且因此为在感知上最不可听的语音的语音。替代地或另外,语音选择模块52可选择已活动或开启最长时期的语音(即,最老音符)。举例来说,语音选择模块52可分析与每一语音相关联的对语音已活动的连续帧的数目进行计数的帧计数器,且选择已活动持续最多连续帧的语音。在例如SP-MIDI的一些MIDI规格中,向音频通道指派优先级值。在此情况下,语音选择模块52可选择与最低优先级音频通道相关联的一个或一个以上语音作为将要从所产生的音频信息中进行消除的一个或一个以上语音。
除了分析与语音相关联的振幅、活动长度或优先级之外,语音选择模块52可在作出其选择中分析与语音相关联的其它合成参数。作为一个实例,语音选择模块52可分析ADSR包络的状态,且仅选择不处于起声状态中的语音。通常,处于起声状态中的音符比处于其它状态中的音符在感知上对于人类收听者更可听。替代地,语音选择模块52仅选择处于衰退状态、持续状态或释放状态中的语音。作为另一实例,语音选择模块52可分析与语音中的每一者相关联的器具的类型且选择在感知上最不相关的器具以进行移除。语音选择模块52可(例如)试图避免选择对应于打击器具的语音,因为打击器具倾向于在歌曲中在感知上较引人注意。
此外,语音选择模块52可基于先前选定的语音来选择将要消除的额外语音。举例来说,一些语音属于分层音符(即,包括多个语音的音符)。如果语音选择模块52最初选择属于分层音符的语音,则语音选择模块52可选择那个音符的其它语音以从所产生的音频信息中进行消除。这是因为通过移除分层音符的语音中的一者将无论如何有可能导致不同的发声音符。
在带宽控制模块48中可个别地实施前述技术,或者可共同实施所述技术中的两者或两者以上或所述技术中的全部。此外,如上文所描述,带宽控制模块48可实施于音频装置4(图1)的模块中的任一者内。在一方面中,带宽控制模块48可实施于DSP 12(图1)内。在此情况下,音频硬件单元20(图1)仅接收到未选定语音的合成参数。在另一方面中,带宽控制模块48可实施于音频硬件单元14内。在此情况下,音频硬件单元14接收帧的所有语音的合成参数且在从存储器单元10检索参考波形所必需的所估计带宽超过分配给音频硬件单元14的带宽量时选择一个或一个以上语音以进行消除。
可以硬件、软件、固件或其任何组合实现图3中所说明的各种组件。可将一些组件实现为由一个或一个以上微处理器或数字信号处理器(DSP)、一个或一个以上专用集成电路(ASIC)、一个或一个以上现场可编程门阵列(FPGA)或其它等效集成或离散逻辑电路执行的过程或模块。将不同特征描绘为模块意在强调带宽控制模块48的不同功能方面,且未必暗示所述模块需由单独硬件或软件组件实现。而是,与一个或一个以上模块相关联的功能性可集成于共用或单独的硬件或软件组件内。因此,本发明不应限于带宽控制模块48的实例。
当以软件实施时,归于本发明中所描述的系统和装置的功能性可具体化为计算机可读媒体上(例如位于存储器(未图示)内)的指令,所述存储器可包含(例如)随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体或其类似物。执行所述指令以支持本发明中所描述的功能性的一个或一个以上方面。
图4为说明例如图1的音频装置4的实施本发明的带宽控制技术的合成装置的示范性操作的流程图。出于示范性目的,将合成装置的示范性操作描述为执行于DSP 12内。然而,如上文所描述,可替代地在音频装置4的其它模块内(例如在音频硬件单元14内)执行带宽控制技术。
最初,DSP 12接收与音频帧的MIDI文件相关联的一个或一个以上MIDI指令(60)。如上文所描述,DSP 12可以时间同步方式从处理器8接收MIDI指令。或者,处理器8可向局部存储器10写入MIDI指令且DSP 12可存取存储器10以检索用于处理的指令。MIDI指令可指令特定MIDI语音开始或结束。其它MIDI指令可涉及触后效果、呼吸控制效果、程序改变、音高折曲效果、例如左右摇动等控制消息、延音踏板效果、主音量控制、例如时序参数等系统消息、例如灯光效果提示等MIDI控制消息和/或其它声音效果。
DSP 12处理从处理器8接收到的MIDI指令(62)。具体来说,DSP 12可根据指示语音的开始或结束的MIDI指令分配新语音且删除具有过期延续时间的语音。此外,DSP12可根据MIDI指令产生音符中的每一者的合成参数。
DSP 12确定经分配用于从存储器单元10检索参考波形的带宽量(64)。如上文所描述,可用于传送与MIDI语音相关联的参考波形的带宽量可逐音频帧地变化。举例来说,经分配用于检索存储器单元10中的参考波形的带宽量可随着分配给音频装置4的其它组件的存储器带宽量(例如到处理器8和DSP 12的带宽分配)而变化。此外,经分配用于存取存储器单元10中的参考波形的带宽量还可基于分配给音频硬件单元14内的其它模块的存储器带宽而变化。
DSP 12估计音频硬件单元14从存储器单元10检索帧的MIDI语音的参考波形所需的带宽量(64)。带宽估计模块50可(例如)基于音频硬件单元14需从存储器单元10检索的参考波形的样本的数目而估计音频硬件单元14对于当前帧的带宽需求。作为开始点,带宽估计模块50可基于参考波形中所含有的样本的数目而估计音频硬件单元14的带宽需求。
然而,为了更准确地估计音频硬件单元14的带宽需求,带宽估计模块50可利用本文所描述的带宽估计技术中的一者或一者以上。举例来说,在循环参考波形中,带宽估计模块50可确定与音频帧的语音相关联的重放位置是处于对应参考波形的瞬时段还是处于循环段中且在重放位置位于循环段中时确定仅检索循环参考波形的循环段是必需的。然而,当重放位置位于循环参考波形的瞬时段内时,带宽估计模块50确定音频硬件单元14可能需要检索整个参考波形且在估计音频硬件单元14的带宽需求中使用那个确定。此外,对于单拍声音(即,未被分段为瞬时部分与循环部分的声音),带宽估计模块50可确定音频硬件单元14可能需要检索整个参考波形。
作为另一实例,音频硬件单元14可计算与音频帧的开始相关联的波形样本索引和与音频帧的结束相关联的波形样本索引之间的差值。带宽估计模块50可将开始与结束波形样本索引之间的差值与参考波形中的样本的数目进行比较。如果开始与结束波形样本索引之间的差值小于波形中的样本的数目,则带宽估计模块50确定音频硬件单元14仅需检索参考波形的从与帧的开始相关联的样本索引和与帧的结束相关联的样本索引的部分。
DSP 12确定检索MIDI语音的参考波形所需的所估计带宽是否大于经分配用于检索参考波形的带宽量(68)。如果检索MIDI语音的参考波形所需的所估计带宽小于或等于经分配用于检索参考波形的带宽量,则DSP 12向14发送语音的合成参数以用于合成(69)。
如果检索MIDI语音的参考波形所需的所估计带宽大于经分配用于检索参考波形的带宽量,则DSP 12选择将要从所产生的音频信息中进行消除的至少一个语音(70)。语音选择模块52可试图选择在帧中在感知上最不相关的语音。语音选择模块52可(例如)使用最低振幅语音是在感知上最不可听的语音的试探法而选择具有最低振幅包络的语音。替代地或另外,语音选择模块52可选择已活动或开启最长时期的语音(即,最老音符)。举例来说,语音选择模块52可分析与每一语音相关联的对语音已活动的连续帧的数目进行计数的帧计数器,且选择已活动持续最多连续帧的语音。在例如SP-MIDI的一些MIDI规格中,向通道指派优先级值。在此情况下,语音选择模块52可选择与具有最低优先级值的通道相关联的一个或一个以上语音作为将要消除的一个或一个以上语音。
除了分析与语音相关联的振幅、活动长度或优先级之外,语音选择模块52可在作出其选择中分析与语音相关联的其它合成参数。作为一个实例,语音选择模块52可分析ADSR包络的状态,且仅选择不处于起声状态中的语音。通常,处于起声状态中的音符比处于其它状态中的音符在感知上对于人类收听者更可听。替代地,语音选择模块52仅选择处于衰退状态、持续状态或释放状态中的语音。作为另一实例,语音选择模块52可分析与语音中的每一者相关联的器具的类型且选择在感知上最不相关的器具进行移除。语音选择模块52可(例如)试图避免选择对应于打击器具的语音,因为打击器具倾向于对于人类收听者在感知上较引人注意。
此外,语音选择模块52可基于先前选定语音来选择将要消除的额外语音。举例来说,一些语音属于分层音符(即,包括多个语音的音符)。如果语音选择模块52最初选择属于分层音符的语音,则语音选择模块52可选择那个音符的其它语音进行消除。这是因为通过移除分层音符的语音中的一者将无论如何有可能导致不同的发声音符。
在选择将要消除的语音后,DSP 12从所估计带宽减去检索选定语音的参考波形所需的带宽(72)。换句话说,DSP 12从原始带宽估计减去选定语音所需的带宽。以此方式,DSP 12重新计算检索音频帧的未选定语音的参考波形所需的带宽。DSP 12接着将经重新计算的带宽需求与经分配用于检索参考波形的带宽量进行比较。DSP 12继续选择语音直到用于检索波形所需的所估计带宽小于经分配用于检索参考波形的带宽量为止。通过不向音频硬件单元14发送与选定语音相关联的合成参数,DSP 12控制由音频硬件单元14使用以检索参考波形的带宽量。
已描述各个实例。可以硬件、软件、固件或其组合实施本文所描述的技术的一个或一个以上方面。描述为模块或组件的任何特征可一起实施于集成逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果以软件实施,则所述技术的一个或一个以上方面可至少部分通过包含指令的计算机可读媒体实现,所述指令在执行时执行上文所述的方法中的一者或一者以上。计算机可读数据存储媒体可形成可包括封装材料的计算机程序产品的部分。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体和其类似物。另外或替代地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来携载或传送代码且可由计算机存取、读取和/或执行。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑(FPGA)或其它等效集成或离散逻辑电路的一个或一个以上处理器来执行所述指令。因此,如本文中所使用,术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可在经配置或适于执行本发明的技术的专用软件模块或硬件模块内提供本文中所描述的功能性。
如果以硬件实施,则本发明的一个或一个以上方面可针对经配置或适于执行本文所描述的技术中的一者或一者以上的例如集成电路、芯片组、ASIC、FPGA、逻辑或其各种组合等电路。电路可包括(如本文中所描述)集成电路或芯片组中的处理器和一个或一个以上硬件单元。
还应注意,所属领域的技术人员将认识到,电路可实施上文所描述的功能中的一些或全部。可能存在实施所有功能的一个电路,或者还可能存在实施功能的电路的多个部分。在当前移动平台技术的情况下,集成电路可包含至少一个DSP和至少一个高级精简指令集计算机(RISC)机器(ARM)处理器以控制和/或传送到一个或一个以上DSP。另外,电路可经设计或实施于若干部分中,且在一些情况下,可重新使用若干部分以执行本发明中所描述的不同功能。
已描述各种方面和实例。然而,可在不脱离所附权利要求书的范围的情况下对本发明的结构或技术进行修改。举例来说,其它类型的装置也可实施本文所描述的MDI处理技术。本发明的这些和其它方面处于所附权利要求书的范围内。

Claims (43)

1.一种用于控制带宽利用的方法,其包含:
估计检索参考波形所需的带宽,其中所述参考波形用于产生音频帧内的语音的音频信息;以及
在所述带宽估计超过所分配带宽时选择所述语音中的一者或多者以从所产生的音频信息中进行消除;
其中估计所述带宽包含估计对应于所述音频帧的所述语音的所述参考波形的样本的总数目。
2.根据权利要求1所述的方法,其中选择所述语音中的一者或多者以进行消除包含选择所述语音中具有最低振幅的至少一者。
3.根据权利要求1所述的方法,其中选择所述语音中的一者或多者以进行消除包含选择所述语音中已开启最长时期的至少一者。
4.根据权利要求1所述的方法,其进一步包含:
确定选定语音是否对应于具有多个语音层的音符;以及
选择多层音符的其它层的所述语音中的对应于选定语音中的任一者的一者或多者进行消除。
5.根据权利要求1所述的方法,其进一步包含:
分析与对应于所述音频帧的所述语音的多个音频通道相关联的优先级值,其中
选择所述语音中的一者或多者以进行消除包含选择与对应于所述优先级值中的最低一者的所述音频通道相关联的一个或多个语音。
6.根据权利要求1所述的方法,其进一步包含:
确定与所述语音中的每一者相关联的ADSR包络的状态,其中
选择所述语音中的一者或多者以进行消除包含选择不处于对应ADSR包络的起声状态中的一个或多个语音。
7.根据权利要求1所述的方法,其进一步包含:
确定对应于所述语音中的每一者的器具的类型,其中
选择所述语音中的一者或多者以进行消除包含选择不对应于打击器具的一个或多个语音。
8.根据权利要求1所述的方法,其进一步包含:
重新计算未选定语音的所述带宽估计;以及
在所述重新计算的带宽估计超过所述所分配带宽时选择将要消除的一个或多个额外语音。
9.根据权利要求8所述的方法,其中重新计算所述带宽估计包含从所述音频帧的所述带宽估计减去与选定语音相关联的带宽估计。
10.根据权利要求1所述的方法,其中估计检索所述参考波形所需的所述带宽包含:
确定所述音频帧的所述语音中的每一者的重放位置;以及
将检索所述参考波形所需的所述带宽估计为语音的所述参考波形的循环段的样本的数目,其中对应重放位置处于相关联的参考波形的所述循环段内。
11.根据权利要求1所述的方法,其中估计检索所述参考波形所需的所述带宽包含:
针对所述语音中的每一者计算与所述音频帧的开始处的所述语音相关联的波形样本索引和与所述音频帧的结束处的所述语音相关联的波形样本索引之间的差值;
将所述差值和与所述语音相关联的相应参考波形中的样本的总数目进行比较;以及
在对应差值小于样本的所述总数目时,将检索与所述语音相关联的所述参考波形中的每一者所需的所述带宽估计为与所述音频帧的所述开始处的相应语音相关联的所述波形样本索引和与所述音频帧的所述结束处的所述相应语音相关联的所述波形样本索引之间的样本的所述数目。
12.根据权利要求1所述的方法,其中估计检索参考波形所需的所述带宽包含在数字信号处理器DSP内估计硬件单元从存储器检索所述参考波形所需的带宽,且进一步包含:
在所述带宽估计小于或等于所述所分配带宽时,在所述硬件单元内接收与未选定语音相关联的合成参数;以及
在所述硬件单元内使用所述所接收的合成参数产生音频信息。
13.根据权利要求12所述的方法,其进一步包含向所述硬件单元传递所述未选定语音的合成参数。
14.根据权利要求1所述的方法,其进一步包含:
在所述带宽估计小于或等于所述所分配带宽时,接收对应于所述音频帧的未选定语音的所述参考波形;以及
使用所检索的参考波形产生音频信息。
15.一种用于控制带宽利用的装置,其包含:
带宽估计模块,其估计检索参考波形所需的带宽,其中所述参考波形用于产生音频帧内的语音的音频信息;以及
语音选择模块,其在所述带宽估计超过所分配带宽时选择所述语音中的一者或多者以从所产生的音频信息中进行消除;
其中所述带宽估计模块估计所述音频帧的所述语音的所述参考波形的样本的总数目。
16.根据权利要求15所述的装置,其中所述语音选择模块选择所述语音中具有最低振幅的至少一者。
17.根据权利要求15所述的装置,其中所述语音选择模块选择所述语音中已开启最长时期的至少一者作为将要消除的所述语音。
18.根据权利要求15所述的装置,其中所述语音选择模块确定选定语音是否对应于具有多个语音层的音符且选择多层音符的其它层的所述语音中的对应于选定语音中的任一者的一者或多者进行消除。
19.根据权利要求15所述的装置,其中所述语音选择模块分析与对应于所述音频帧的所述语音的多个音频通道相关联的优先级值且选择所述语音中与所述音频通道中对应于所述优先级值中的最低一者的一个音频通道相关联的一者或多者。
20.根据权利要求15所述的装置,其中所述语音选择模块确定与所述语音中的每一者相关联的ADSR包络的状态且选择所述语音中不处于对应ADSR包络的起声状态中的一者或多者。
21.根据权利要求15所述的装置,其中所述语音选择模块确定对应于所述语音中的每一者的器具的类型且选择所述语音中不对应于打击器具的一者或多者。
22.根据权利要求15所述的装置,其中:
所述带宽估计模块重新计算未选定语音的所述带宽估计;且
在所述重新计算的带宽估计超过所述所分配带宽时,所述语音选择模块选择将要消除的一个或多个额外语音。
23.根据权利要求22所述的装置,其中所述带宽估计模块从所述带宽估计减去与选定语音相关联的带宽估计以重新计算所述带宽估计。
24.根据权利要求15所述的装置,其中所述带宽估计模块确定所述语音中的每一者的重放位置,且将检索与所述语音中的每一者相关联的所述参考波形所需的所述带宽估计为语音的相应参考波形的循环段的样本的数目,其中所述重放位置处于所述相应参考波形的所述循环段内。
25.根据权利要求15所述的装置,其中所述带宽估计模块针对所述语音中的每一者计算与所述音频帧的开始处的所述语音中的每一者相关联的波形样本索引和与所述音频帧的结束处的所述语音中的每一者相关联的波形样本索引之间的差值,将所述差值中的每一者与所述相应参考波形中的样本的总数目进行比较,且在对应差值小于样本的所述总数目时将检索所述参考波形中的每一者所需的所述带宽估计为与所述音频帧的所述开始处的相应语音相关联的所述波形样本索引和与所述音频帧的所述结束处的所述相应语音相关联的所述波形样本索引之间的样本的所述数目。
26.根据权利要求15所述的装置,其进一步包含:
处理器,其执行软件以剖析所述音频帧且对与所述音频帧相关联的事件进行调度;
数字信号处理器DSP,其处理所述事件且产生合成参数;以及
硬件单元,其基于所述合成参数产生音频信息。
27.根据权利要求26所述的装置,其中所述带宽估计模块和所述语音选择模块实施于所述数字信号处理器内以控制所述硬件单元从存储器检索所述参考波形所需的所述带宽。
28.根据权利要求27所述的装置,其中所述数字信号处理器向所述硬件单元提供未选定语音的合成参数。
29.根据权利要求26所述的装置,其中所述带宽估计模块和所述语音选择模块实施于所述硬件单元内以控制所述硬件单元从存储器检索所述参考波形所利用的所述带宽。
30.根据权利要求26所述的装置,其中所述处理器、所述数字信号处理器和所述硬件单元以管线化方式操作。
31.根据权利要求26所述的装置,其进一步包含:
多线程数字信号处理器DSP,其包括剖析乐器数字接口MIDI文件且对与所述乐器数字接口文件相关联的乐器数字接口事件进行调度的第一线程、处理所述乐器数字接口事件且产生乐器数字接口合成参数的第二线程,和实施所述带宽估计模块和所述语音选择模块的第三线程;以及
硬件单元,其基于所述合成参数产生音频样本。
32.根据权利要求15所述的装置,其中所述音频帧包含乐器数字接口MIDI帧。
33.一种用于控制带宽利用的装置,其包含:
用于估计从存储器检索参考波形所需的带宽的装置,其中所述参考波形用于产生音频帧内的语音的音频信息;以及
用于在所述带宽估计超过所分配带宽时选择所述语音中的一者或多者以从所产生的音频信息中进行消除的装置;其中用于估计带宽的装置估计对应于所述音频帧的所述语音的所述参考波形的样本的总数目。
34.根据权利要求33所述的装置,其中语音选择装置选择以下各项中的一者:
所述语音中具有最低振幅的至少一者,
所述语音中已开启最长时期的至少一者,以及
所述语音中与对应于最低优先级值的音频通道相关联的至少一者。
35.根据权利要求33所述的装置,其进一步包含:
用于确定与所述语音中的每一者相关联的ADSR包络的状态的装置,其中
语音选择装置选择所述语音中不处于对应ADSR包络的起声状态中的一者或多者。
36.根据权利要求33所述的装置,其进一步包含:
用于确定对应于所述语音中的每一者的器具的类型的装置,其中
语音选择装置选择所述语音中不对应于打击器具的一者或多者。
37.根据权利要求33所述的装置,其中:
估计装置重新计算未选定语音的所述带宽估计;且
在所述重新计算的带宽估计超过所述所分配带宽时,语音选择装置选择将要消除的一个或多个额外语音。
38.根据权利要求33所述的装置,其中带宽估计装置确定所述音频帧的所述语音中的每一者的重放位置,且将检索所述参考波形所需的所述带宽估计为语音的所述参考波形的循环段的样本的数目,其中所述重放位置处于所述循环段内。
39.根据权利要求33所述的装置,其进一步包含:
用于针对所述语音中的每一者计算与所述音频帧的开始处的所述语音相关联的波形样本索引和与所述音频帧的结束处的所述语音相关联的波形样本索引之间的差值的装置;以及
用于将所述差值和与所述语音相关联的相应参考波形中的样本的总数目进行比较的装置;
其中在对应差值小于样本的所述总数目时,估计装置将检索与所述语音相关联的所述参考波形中的每一者所需的所述带宽估计为与所述音频帧的所述开始处的相应语音相关联的所述波形样本索引和与所述音频帧的所述结束处的所述相应语音相关联的所述波形样本索引之间的样本的所述数目。
40.根据权利要求33所述的装置,其进一步包含:
用于剖析所述音频帧且对与所述音频帧相关联的事件进行调度的软件装置;
用于处理所述事件以产生合成参数的固件装置;以及
用于基于所述合成参数产生音频样本的硬件装置,
其中所述固件装置包括:
估计装置,其用以估计所述硬件装置从存储器检索所述音频帧内的所述语音的所述参考波形所需的所述带宽,以及
语音选择装置,其在所述带宽估计超过分配给所述硬件装置的带宽时选择所述语音中的一者或多者以进行消除。
41.一种用于控制带宽利用的装置,其包含:
处理器,其执行软件以剖析音频帧且对与所述音频帧相关联的事件进行调度;
数字信号处理器(DSP),其处理所述事件且产生合成参数;
硬件单元,其基于所述合成参数中的至少一部分产生音频信息;以及
存储器单元,
其中所述数字信号处理器估计所述硬件单元检索参考波形所需的带宽量,其中所述参考波形用于产生所述音频帧内的语音的音频信息,且在所述带宽估计超过分配给所述硬件单元的带宽量时选择所述语音中的一者或多者以从所产生的音频信息中进行消除;
其中所述数字信号处理器估计带宽量包括估计对应于所述音频帧的所述语音的所述参考波形的样本的总数目。
42.根据权利要求41所述的装置,其中所述数字信号处理器向所述硬件单元提供与未选定语音相关联的所述合成参数。
43.根据权利要求41所述的装置,其中所述硬件单元在所述带宽估计小于或等于所述所分配带宽时检索对应于所述音频帧的未选定语音的所述参考波形,且使用所检索的参考波形产生音频信息。
CN2008800091465A 2007-03-22 2008-03-17 用于在音频装置中检索参考波形的带宽控制 Expired - Fee Related CN101641731B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89643807P 2007-03-22 2007-03-22
US60/896,438 2007-03-22
US12/041,871 2008-03-04
US12/041,871 US7807915B2 (en) 2007-03-22 2008-03-04 Bandwidth control for retrieval of reference waveforms in an audio device
PCT/US2008/057240 WO2008115873A1 (en) 2007-03-22 2008-03-17 Bandwidth control for retrieval of reference waveforms in an audio device

Publications (2)

Publication Number Publication Date
CN101641731A CN101641731A (zh) 2010-02-03
CN101641731B true CN101641731B (zh) 2013-11-06

Family

ID=39511106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800091465A Expired - Fee Related CN101641731B (zh) 2007-03-22 2008-03-17 用于在音频装置中检索参考波形的带宽控制

Country Status (7)

Country Link
US (1) US7807915B2 (zh)
EP (1) EP2126891A1 (zh)
JP (1) JP5566876B2 (zh)
KR (1) KR101120969B1 (zh)
CN (1) CN101641731B (zh)
TW (1) TW200901159A (zh)
WO (1) WO2008115873A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983003B2 (en) 2010-03-31 2015-03-17 Hytera Communications Corp., Ltd. Method and system for adaptively identifying signal bandwidth
CN101848176B (zh) * 2010-03-31 2013-01-16 海能达通信股份有限公司 信号带宽自适应识别方法和系统
US20160055857A1 (en) * 2014-08-19 2016-02-25 Matthew Lee Johnston System and method for generating dynamic sound environments
EP3121814A1 (en) * 2015-07-24 2017-01-25 Sound object techology S.A. in organization A method and a system for decomposition of acoustic signal into sound objects, a sound object and its use
US9959342B2 (en) * 2016-06-28 2018-05-01 Microsoft Technology Licensing, Llc Audio augmented reality system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864080A (en) * 1995-11-22 1999-01-26 Invision Interactive, Inc. Software sound synthesis system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535271A (ja) * 1990-08-06 1993-02-12 Roland Corp 電子楽器のアサイナ
JPH0519766A (ja) * 1991-07-11 1993-01-29 Roland Corp 電子楽器の補間回路
JP2715795B2 (ja) * 1992-03-05 1998-02-18 ヤマハ株式会社 発音割当手段を有する楽音合成装置
JPH06195085A (ja) * 1992-12-25 1994-07-15 Casio Comput Co Ltd 波形データ出力装置
JP2928452B2 (ja) * 1994-03-17 1999-08-03 富士通株式会社 Atm交換機及びatm交換機における呼受付け装置及び呼受付け方法
JP3521165B2 (ja) * 1994-12-21 2004-04-19 ヤマハ株式会社 ファイル管理システム及び方法
JP3567293B2 (ja) * 1994-12-24 2004-09-22 カシオ計算機株式会社 発音チャンネル割当装置
JP3372124B2 (ja) * 1995-01-20 2003-01-27 株式会社河合楽器製作所 電子楽器
JP3430731B2 (ja) * 1995-09-22 2003-07-28 ヤマハ株式会社 楽音制御システム
GB2306043A (en) 1995-10-03 1997-04-23 Ibm Audio synthesizer
JPH10240265A (ja) * 1997-02-27 1998-09-11 Kawai Musical Instr Mfg Co Ltd 楽音信号発生装置
JP3637578B2 (ja) * 1997-10-21 2005-04-13 ヤマハ株式会社 楽音生成方法
JP2001265342A (ja) * 2000-03-22 2001-09-28 Kawai Musical Instr Mfg Co Ltd 楽音信号発生装置
JP4106798B2 (ja) * 1999-03-10 2008-06-25 ヤマハ株式会社 音源装置
JP2001215970A (ja) * 2000-02-02 2001-08-10 Roland Corp 拡張波形記憶媒体および電子楽器
FR2808370A1 (fr) 2000-04-28 2001-11-02 Cit Alcatel Procede de compression d'un fichier midi
US20030084144A1 (en) * 2001-10-30 2003-05-01 Lipinski Greg J. Network bandwidth optimization method and system
JP3758159B2 (ja) * 2002-09-17 2006-03-22 ヤマハ株式会社 音源制御プログラム
US7283585B2 (en) * 2002-09-27 2007-10-16 Broadcom Corporation Multiple data rate communication system
US7045700B2 (en) * 2003-06-30 2006-05-16 Nokia Corporation Method and apparatus for playing a digital music file based on resource availability
US7038119B2 (en) * 2003-07-18 2006-05-02 Telefonaktiebolaget L M Ericsson (Publ) Dynamic control of processing load in a wavetable synthesizer
DE10339032A1 (de) 2003-08-25 2005-05-25 Infineon Technologies Ag Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
JP3918817B2 (ja) * 2004-02-02 2007-05-23 ヤマハ株式会社 楽音生成装置
US7285712B2 (en) * 2004-05-25 2007-10-23 Mediatek Incorporation Method of dynamically determining a maximum polyphony number according to operation mode and smoothly changing polyphony number when switching operation modes
US8102878B2 (en) * 2005-09-29 2012-01-24 Qualcomm Incorporated Video packet shaping for video telephony
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US20070127489A1 (en) * 2005-11-18 2007-06-07 Amaya Nestor A Apparatus and method for the optimal utilization and delivery of multiple applications over a digital subscriber loop
EP1970900A1 (en) * 2007-03-14 2008-09-17 Harman Becker Automotive Systems GmbH Method and apparatus for providing a codebook for bandwidth extension of an acoustic signal
US8041577B2 (en) * 2007-08-13 2011-10-18 Mitsubishi Electric Research Laboratories, Inc. Method for expanding audio signal bandwidth
US8326641B2 (en) * 2008-03-20 2012-12-04 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding using bandwidth extension in portable terminal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864080A (en) * 1995-11-22 1999-01-26 Invision Interactive, Inc. Software sound synthesis system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张志飞等.一种新的等效带宽估计方法.《计算机研究与发展》.2001,第38卷(第5期),616-619. *

Also Published As

Publication number Publication date
TW200901159A (en) 2009-01-01
US20080229913A1 (en) 2008-09-25
EP2126891A1 (en) 2009-12-02
CN101641731A (zh) 2010-02-03
KR101120969B1 (ko) 2012-03-05
WO2008115873A1 (en) 2008-09-25
KR20090132615A (ko) 2009-12-30
US7807915B2 (en) 2010-10-05
JP2010522362A (ja) 2010-07-01
JP5566876B2 (ja) 2014-08-06

Similar Documents

Publication Publication Date Title
CN101641731B (zh) 用于在音频装置中检索参考波形的带宽控制
US7678986B2 (en) Musical instrument digital interface hardware instructions
CN101636779B (zh) 用于处理音频文件的波形获取单元
JP2013152477A (ja) 電子楽器デジタルインターフェースハードウェア命令セット
US7718882B2 (en) Efficient identification of sets of audio parameters
JP2010522362A5 (zh)
CN101636780A (zh) 用于处理乐器数字接口(midi)文件的管线技术
US7723601B2 (en) Shared buffer management for processing audio files
CN101636782A (zh) 用于产生三角波的方法和装置
US20080229915A1 (en) Musical instrument digital interface parameter storage

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131106

Termination date: 20170317