CN101636782A - 用于产生三角波的方法和装置 - Google Patents

用于产生三角波的方法和装置 Download PDF

Info

Publication number
CN101636782A
CN101636782A CN200880008803A CN200880008803A CN101636782A CN 101636782 A CN101636782 A CN 101636782A CN 200880008803 A CN200880008803 A CN 200880008803A CN 200880008803 A CN200880008803 A CN 200880008803A CN 101636782 A CN101636782 A CN 101636782A
Authority
CN
China
Prior art keywords
data point
triangular wave
phase
group
increment size
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
Application number
CN200880008803A
Other languages
English (en)
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.)
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 CN101636782A publication Critical patent/CN101636782A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

本发明描述用于产生形成具有所要增益和所要频率的三角波的一组数据点的技术。在一个实例中,方法包括基于所述三角波的所述所要频率和所述所要增益确定增量值的步骤(a)。所述方法进一步包括将所述增量值相加到当前数据点以产生下一数据点的步骤(b),所述当前数据点和所述下一数据点形成所述组数据点的子组。所述方法进一步包括反复执行(a)和(b)以产生形成所述三角波的所述组数据点的步骤。

Description

用于产生三角波的方法和装置
根据35U.S.C.§119主张优先权
本专利申请案主张2007年3月22日申请的标题为“用于产生三角波的方法和装置(METHOD AND DEVICE FOR GENERATING TRIANGULAR WAVES)”的第60/896,463号临时申请案的优先权,且所述申请案已转让给本案受让人,且在此明确以引用的方式并入本文中。
技术领域
本发明涉及电子装置,且特定来说,涉及可产生三角波的电子装置。
背景技术
乐器数字接口(MIDI)是用于产生、传送及/或回放例如音乐、话音、音调、警报及其类似物的音频声音的格式。支持MIDI格式的装置可存储可用以产生各种“语音”的音频信息的集合。每一语音可对应于特定声音,例如由特定器具产生的音符。举例来说,第一语音可对应于如由钢琴演奏的中音C,第二语音可对应于如由长号演奏的中音C,第三语音可对应于如由长号演奏的D#,等等。为了复制由各种器具演奏的声音,兼容MIDI的装置可包括指定各种音频特征(例如低频振荡器的特性、例如震音等效果及可影响对不同声音的感知的许多其它音频特征)的语音信息的集合。可界定、在MIDI文件中输送并由支持MIDI格式的装置重现几乎任何声音。
支持MIDI格式的装置可在指示装置应开始产生音符的事件发生时产生音符(或其它声音)。类似地,装置在指示装置应停止产生音符的事件发生时停止产生音符。可通过指定指示特定语音何时应开始及停止的事件而根据MIDI格式对整个音乐作品进行编码。以此方式,可以根据MIDI格式的紧凑文件格式来存储及传输音乐作品。
多种装置中支持MIDI。举例来说,例如无线电电话等无线通信装置可支持用于可下载的铃声或其它音频输出的MIDI文件。例如苹果计算机有限公司(Apple Computer,Inc)售卖的“iPod”装置及微软公司(Microsoft Corp)售卖的“Zune”装置等数字音乐播放器也可支持MIDI文件格式。支持MIDI格式的其它装置可包括多种音乐合成器,例如键盘、音序器、语音编码器(音码器)和节奏器。另外,广泛多种装置还可支持MIDI文件或音轨的播放,所述装置包括无线移动装置、直接双向通信装置(有时称为对讲机)、网络电话、个人计算机、桌上型及膝上型计算机、工作站、卫星无线电装置、内部通信装置、无线电广播装置、手持型游戏装置、安装在装置中的电路板、信息查询站(information kiosk)、视频游戏控制台、各种用于儿童的计算机化玩具、用于汽车、船只及飞机中的机载计算机及多种其它装置。
业内还已开发若干其它类型的音频格式、标准和技术。仅举几个例子,其它实例包括由运动图片专家组(MPEG)界定的标准、窗口媒体音频(WMA)标准、杜比实验室(Dolby Laboratories,Inc.)的标准和由THX,ltd.开发的质量保证技术。此外,许多音频编码标准和技术相继出现,包括数字MP3标准和MP3标准的变型,例如用于“iPod”装置中的高级音频编码(AAC)标准。各种视频编码标准还可使用音频编码技术,(例如)以编码包括音频和视频信息的多媒体帧。
MIDI格式的一个重要特征为其存储关于特定音符的发音的数据的能力。发音数据包括关于声音效果的信息,例如颤音或震音,其可帮助仿真声学器具的声音。利用MIDI的装置可使用低频振荡器与包络产生器(envelope generator)的组合实施这些效果。通常,低频振荡器(LFO)可用于产生周期性低频率波以调制特定音符的音高、振幅和频率。为了产生在可接受容许范围内操作的低频波,需要大量和复杂的计算,其可需要存储若干参数且利用显著数量的芯片区域。
发明内容
一般来说,本发明描述用于产生三角波的技术。尽管所述技术可用于其它音频格式、技术或标准,但是所述技术对于遵照乐器数字接口(MIDI)格式的音频文件的播放可尤其有用。
在一个方面中,本发明提供一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的方法。所述方法包括基于所述三角波的所述所要频率和所述所要增益确定增量值的步骤(a)。所述方法进一步包括将所述增量值相加到当前数据点以产生下一数据点的步骤(b),所述当前数据点和所述下一数据点形成所述组数据点的子组。所述方法进一步包括反复执行(a)和(b)以产生形成所述三角波的所述组数据点的步骤。
在另一方面中,本发明提供一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的装置。所述装置包括电路,所述电路基于所述三角波的所述所要频率和所述所要增益确定增量值。所述装置进一步包括加法器,所述加法器将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组,其中所述电路反复确定增量值且所述加法器反复地将所述增量值相加到连续数据点以产生形成所述三角波的所述组数据点。
在另一方面中,本发明提供一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的装置。所述装置包括用于基于所述三角波的所述所要频率和所述所要增益确定增量值的第一装置。所述装置进一步包括用于将所述增量值相加到当前数据点以产生下一数据点的第二装置,所述当前数据点和所述下一数据点形成所述组数据点的子组,其中所述第一装置反复确定增量值且所述第二装置反复地将所述增量值相加到连续数据点以产生形成所述三角波的所述组数据点。
可以硬件、软件、固件或其任何组合实施本发明中所描述的技术的各种方面。如果以软件实施,则可在一个或一个以上处理器中执行软件,所述处理器例如为微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)。执行所述技术的软件最初可存储于计算机可读媒体中且加载并在处理器中执行。
因此,本发明还涵盖一种包含指令的计算机可读媒体,所述指令在由一个或一个以上处理器执行时,致使所述处理器产生形成具有所要频率和所要增益的三角波的一组数据点,其中所述指令致使所述一个或一个以上处理器:(a)基于所述三角波的所述所要频率和所述所要增益确定增量值;(b)将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;且反复执行(a)和(b)以产生形成所述三角波的所述组数据点。
在某些情况下,计算机可读媒体可形成计算机程序产品的部分,计算机程序产品可出售给制造商和/或用于视频编码装置中。计算机程序产品可包括计算机可读媒体,且在某些情况下,还可包括封装材料。
在其它情况下,本发明可针对一种电路,例如经配置或适于执行本文所描述的技术中的一者或一者以上的集成电路、芯片组、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、逻辑或其各种组合。
因此,本发明还涵盖一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的电路,其中所述电路适于:(a)基于所述三角波的所述所要频率和所述所要增益确定增量值;(b)将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;且反复执行(a)和(b)以产生形成所述三角波的所述组数据点。
在附图和以下描述中陈述本发明的一个或一个以上实施例的细节。根据所述描述和图式且根据权利要求书将明白本发明的其它特征、目的和优点。
附图说明
图1为说明可实施根据本发明的用于处理音频文件的技术的示范性音频装置的框图。
图2为根据本发明的用于处理合成参数的硬件单元的一个实例的框图。
图3为说明根据本发明的用于产生形成具有所要增益和频率的三角波的一组数据点的示范性三角波产生器的示意图。
图4为说明根据本发明的用于产生形成具有所要频率和所要增益的三角波的一组数据点的示范性方法的流程图。
图5为说明由分别在图3和图4中展示的三角波产生器和方法产生的示范性三角波的一个周期的曲线图。
具体实施方式
本发明描述用于产生三角波的技术。尽管所述技术可与利用三角波的其它音频格式、技术或标准一起使用,但所述技术对于遵照乐器数字接口(MIDI)格式的音频文件的回放可尤为有用。如本文所使用,术语MIDI文件指含有符合MIDI格式的至少一个音轨的任何音频数据或文件。可包括MIDI音轨的各种文件格式的实例包括(例如)CMX、SMAF、XMF、SP-MIDI。CMX代表由高通有限公司(Qualcomm Inc.)开发的紧凑媒体扩展。SMAF代表由雅马哈公司(Yamaha Corp.)开发的合成音乐移动应用格式。XMF代表可扩展音乐格式且SP-MIDI代表可缩放多音MIDI。
可在可包括音频信息或音频-视频(多媒体)信息的音频帧内在装置之间输送MIDI文件或其它音频文件。音频帧可包含单一音频文件、多个音频文件或(可能)一个或一个以上音频文件和例如经编码视频帧的其它信息。如本文所使用,可将音频帧内的任何音频数据称为音频文件,其包括串流音频数据或上文列出的一个或一个以上音频文件格式。同时操作的多个硬件元件可用于服务从一个或一个以上音频文件(例如MIDI文件)产生的各种合成参数。
通用处理器可执行用以剖析MIDI文件且调度与MIDI文件相关联的MIDI事件的软件。如由MIDI文件中的时序参数所指定,经调度的事件可接着由DSP以同步方式服务。通用处理器以时间同步方式将MIDI事件分派到DSP,且DSP根据时间同步调度处理MIDI事件以产生MIDI合成参数。DSP接着调度合成参数在硬件中的处理,且硬件单元可基于合成参数产生音频样本。
通用处理器可服务第一帧(帧N)的MIDI文件,且在第一帧(帧N)由DSP服务时,第二帧(帧N+1)可同时由通用处理器服务。此外,在第一帧(帧N)由硬件服务时,第二帧(帧N+1)同时由DSP服务,同时第三帧(帧N+2)由通用处理器服务。以此方式,MIDI文件处理被分离成可同时处理的管线化级,此可改进效率且可能减少给定级(例如与DSP相关联的级)所需的计算资源。每一帧经过各种管线化级,从通用处理器到DSP,且接着到硬件。在某些情况下,由硬件产生的音频样本可(例如)经由中断驱动技术递送回到DSP,使得可执行任何后处理。可接着将音频样本转换成模拟信号,其可用于驱动扬声器且将音频声音输出到用户。
或者,可将与MIDI文件处理相关联的任务委派于DSP和专用硬件的两个不同线程之间。即,与通用处理器相关联的任务(如本文描述)可替代地由多线程DSP的第一线程执行。在此情况下,DSP的第一线程执行调度,DSP的第二线程产生合成参数,且硬件单元基于合成参数产生音频样本。此替代实例还可以类似于使用用于调度的通用处理器的实例的方式被管线化。
图1为说明示范性音频装置4的框图。作为一实例,音频装置4可包含能够处理MIDI文件(例如,包括至少一个MIDI音轨的文件)的任何装置。而且,然而,本发明的技术可发现具有其它音频格式、技术或标准的应用。音频装置4的实例包括无线通信装置,例如无线电电话、网络电话、数字音乐播放器、音乐合成器、无线移动装置、直接双向通信装置(有时称为对讲机)、个人计算机、桌上型或膝上型计算机、工作站、卫星无线电装置、内部通信装置、无线电广播装置、手持型游戏装置、安装于装置中的音频电路板、公共查询站装置、视频游戏控制台、各种用于儿童的计算机化玩具、用于汽车、船只或飞机中的机载计算机,或处理并输出音频的多种其它装置。
提供图1中所说明的各种组件来阐释本发明的方面。然而,在一些实施方案中,其它组件可能存在,且可能不包括所说明的组件中的一些。举例来说,如果音频装置4为无线电电话,则可包括天线、发射器、接收器和调制解调器(调制器-解调制器)以促进音频文件的无线通信。
如图1的实例中所说明,音频装置4包括用以存储音频文件(例如MIDI文件)的音频存储单元6。此外,MIDI文件一般指包括以MIDI格式编码的至少一个音轨的任何音频文件。音频存储单元6可包含任何易失性或非易失性存储器或存储装置。出于本发明的目的,可将音频存储单元6视为将MIDI文件转发到处理器8的存储单元,或者处理器8从音频存储单元6检索MIDI文件,以使得所述文件得以处理。音频存储单元6还可为与数字音乐播放器相关联的存储单元或与从另一装置传送的信息相关联的临时存储单元。举例来说,音频存储单元6可缓冲从服务器或广播源获得的串流音频。音频存储单元6可为经由数据总线或其它连接耦合到处理器8的单独的易失性存储器芯片或非易失性存储装置。可包括存储器或存储装置控制器(未图示)以促进信息从音频存储单元6的传送。
装置4可实施分离软件、硬件与固件之间的音频处理任务的架构。如图1所示,装置4包括处理器8、数字信号处理器(DSP)12和音频硬件单元14。这些组件中的每一者可(例如)直接或经由总线耦合到局部存储器单元10。处理器8可包含执行用以剖析音频文件且调度与音频文件相关联的音频事件的软件的通用处理器。如由音频文件中的时序参数所指定,可以时间同步方式将经调度的事件分派到DSP 12,且借此由DSP 12以同步方式服务。DSP 12可包含根据由通用处理器8产生的时间同步调度来处理音频事件以产生合成参数的固件。DSP 12还可调度音频硬件单元14对合成参数的后续处理。
一旦DSP 12已产生合成参数,就可将这些合成参数存储于存储器单元10中。存储器单元10可包含易失性或非易失性存储器。为了支持快速数据传送,存储器单元10可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、快闪存储器或其类似物。存储于存储器单元10中的合成参数可由音频硬件单元14服务以产生音频样本。
音频硬件单元14可包括用于服务合成参数的若干处理元件。处理元件可包含支持例如乘法、加法和累加等运算的算术逻辑单元(ALU)。另外,每一处理元件还可支持用于加载和/或存储到其它硬件组件的硬件特定操作。音频硬件单元14中的其它硬件组件(例如)可包含低频振荡器(LFO)、波获取单元(WFU)以及求和缓冲器(SB)。因此,音频硬件单元14中的处理元件可支持并执行用于与音频处理中的这些其它硬件组件相互作用且使用所述其它硬件组件的指令。根据本发明,处理元件可与低频振荡器相互作用以便产生例如颤音或震音的特定发音的声音效果。低频振荡器可响应于由处理元件提供到LFO的特定参数而提供周期性波形(例如三角波)。举例来说,处理元件可在去往低频振荡器的指令中指定三角波的所要增益和所要频率。作为响应,LFO可提供对应于由处理元件请求的三角波的一系列数据点。下文参看图2更详细地提供音频硬件单元14的一个实例的额外细节。
在某些情况下,可将装置4对音频文件的处理管线化。举例来说,处理器8、DSP 12和音频硬件单元14可关于连续音频帧同时操作。每一音频帧可对应于一时间块(例如,10毫秒(ms)的时间间隔),其包括许多经编码音频样本。硬件单元14的数字输出(例如)可每音频帧包括480个数字音频样本,其可由数/模转换器16转换成模拟音频信号。许多事件可对应于一个时间实例(instance of time),使得许多不同声音或音符可根据MIDI格式或类似音频格式包括于一个时间实例中。当然,委派给任何音频帧的时间量和在一个帧中所界定的音频样本的数目在不同实施方案中可变化。
在某些情况下,由音频硬件单元14产生的音频样本(例如)经由中断驱动技术被递送回到DSP 12。在此情况下,DSP 12还可对音频样本执行后处理技术。后处理可包括可最终增强声音输出的滤波、缩放、音量调整或广泛多种音频后处理。数/模转换器(DAC)16接着将音频样本转换成模拟信号,模拟信号可由驱动电路18用来驱动扬声器19A和19B以用于将音频声音输出到用户。
局部存储器10可经建构以使得处理器8、DSP 12和MIDI硬件14可存取执行委派给这些不同组件的各种任务所需的任何信息。在某些情况下,MIDI信息在局部存储器10中的存储布局可经布置以允许从不同组件8、12和14进行有效存取。而且,局部存储器10用于存储与一个或一个以上音频文件相关联的合成参数。一旦DSP 12产生这些合成参数,其便可由硬件单元14处理以产生音频样本。由音频硬件单元14产生的音频样本可包含脉冲编码调制(PCM)样本,其为模拟信号的数字表示,其中以规则时间间隔对模拟信号进行取样。在下文参看图2更详细地论述由音频硬件单元14进行的示范性音频产生的额外细节。
图2为说明可对应于音频装置4的音频硬件单元14的示范性音频硬件单元20的框图。图2所示的实施方案仅为示范性的,因为还可界定其它硬件实施方案以与本发明的教示相一致。如图2的实例中所说明,音频硬件单元20包括用以发送和接收数据的总线接口30。举例来说,总线接口30可包括AMBA高性能总线(AHB)主接口、AHB从属接口和存储器总线接口。AMBA代表高级微处理器总线架构。或者,总线接口30可包括AXI总线接口或另一类型的总线接口。AXI代表高级可扩展接口。
另外,音频硬件单元20可包括协调模块32。协调模块32协调音频硬件单元20内的数据流。当音频硬件单元20从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,但硬件单元20中可包括更多处理元件。处理元件34可以彼此并行的方式合成语音。具体来说,多个不同处理元件34并行工作以处理不同合成参数。以此方式,音频硬件单元20内的多个处理元件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中的一者从音频硬件单元20中的低频振荡器(LFO)38请求不对称三角形波。通过使WFU 36传回的波乘以LFO38传回的三角形波,相应处理元件可操纵波的各种声学特性以实现所要音频效果。举例来说,使波乘以三角形波可导致听起来更像所要乐器的波。
基于合成参数执行的其它指令可致使处理元件34中的相应者使波形循环特定数目次、调节波形的振幅、添加交混回响、添加颤音效果或造成其它效果。以此方式,处理元件34可计算持续一个MIDI帧的语音的波形。最后,相应处理元件可遇到退出指令。当处理元件34中的一者遇到退出指令时,处理元件以信号向协调模块32通知语音合成的结束。可在程序指令的执行期间在另一存储指令的指导下将经计算的语音波形提供到求和缓冲器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以用于转换成模拟域之前对数字音频样本执行任何后处理。在某些情况下,由音频硬件单元20关于帧N+2而执行的处理与由DSP 12(图1)关于帧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中所示的各种存储器和存储器的布置仅为示范性的。可用多种其它存储器布置实施本文所描述的技术。
在音频硬件单元20中可包括任何数目的处理元件34,只要多个处理元件34关于存储于存储器10(图1)或存储器42(图2)中的不同合成参数同时操作。第一音频处理元件34A(例如)处理第一音频合成参数以产生第一音频信息,同时另一音频处理元件34N处理第二音频合成参数以产生第二音频信息。求和缓冲器40可接着在产生一个或一个以上音频样本中组合第一与第二音频信息。类似地,第三音频处理元件(未图示)和第四处理元件(未图示)可处理第三和第四合成参数以产生第三和第四音频信息,其还可在产生音频样本中在求和缓冲器40中进行累加。
处理元件34可处理用于音频帧的所有合成参数。在处理每一相应合成参数后,处理元件34中的相应者将其所处理的音频信息添加到求和缓冲器40中的累加中,且接着继续移动到下一合成参数。以此方式,处理元件34共同工作以处理针对音频帧的一个或一个以上音频文件而产生的所有合成参数。接着,在处理音频帧且将求和缓冲器中的样本发送到DSP 12以用于后处理后,处理元件34可开始处理用于下一音频帧的音频文件的合成参数。
图3为说明示范性三角波产生器44的示意图,三角波产生器44可对应于音频硬件单元20的低频振荡器38。三角波产生器40可产生形成具有所要频率和增益的三角波的一组数据点。所述装置包括累加器寄存器50;相位累加器52;多路复用器54、56;加法器58、60;强制归零逻辑(zero forcing logic)62和线64、66、68、70、72、74、78、80、82、84、86、88、90、92、94。
累加器寄存器50可存储来自形成三角波的所述组数据点的单一数据点。累加器寄存器50电耦合到加法器58和多路复用器56的输出。累加器寄存器50经由线66输出当前数据点。在单一时钟周期期间,累加器寄存器50依据多路复用器56的输出而经由线64接收下一数据点或零值。在下一时钟周期期间,累加器寄存器50经由线66输出从前一时钟周期接收到的值作为当前数据点。对于给定时钟周期,将当前数据点界定为累加器寄存器经由线66的输出,且将下一数据点界定为加法器58经由线68的输出。
相位累加器52可存储对应于三角波的时间轴的单一相位数据点。一般来说,相位数据确定将四个比率70、72、76、78中的哪一者选择为增量值70。相位累加器52经由线80和82电耦合到加法器60,且经由线84电耦合到强制归零逻辑62。在特定时钟周期期间,相位累加器52经由线80接收下一相位数据点,且经由线82输出当前相位数据点。在下一时钟周期期间,相位累加器52输出经由线80从前一时钟周期接收到的值作为当前相位数据点。对于给定时钟周期,将当前相位数据点界定为相位累加器52经由线82的输出,且将下一相位数据点界定为加法器60经由线80的输出。可利用例如触发器、锁存器、RAM单元等任何连续存储元件实施累加器寄存器50和相位累加器52。
多路复用器54基于在输入线72、74、76、78上提供的四个比率中的一者的选择在线76上输出增量值。所述选择是基于控制线86,控制线86含有下一相位数据点的两个最高有效位。当两个最高有效位为“00”时,多路复用器54选择比率RP作为增量值。类似地,当两个最高有效位为“01”时,多路复用器54选择比率-RP作为增量值。当最高有效位为“10”时,多路复用器54选择比率-RN作为增量值。最后,当最高有效位为“11”时,多路复用器54选择比率RN作为增量值。将增量值放置于多路复用器54的输出上,增量值经由线70被传输到加法器58。可使用例如逻辑门、FPGA、RAM等任何数字选择方案实施多路复用器54。虽然此处展示的多路复用器54具有四个比率值且选择是基于下一相位数据点的两个最高有效位,但应认识到,本文所描述的技术的其它实例可利用具有或多或少输入和额外或更少选择位的多路复用器54。另外,本文所描述的技术的其它实例可利用基于当前相位数据点来选择增量值的多路复用器,当前相位数据点为相位累加器52经由线82的输出。
加法器58可产生当前数据点与增量值的和。加法器58经由线66从累加器寄存器50接收当前数据点,且经由线70从多路复用器54接收增量值。将和界定为下一数据点,且将其作为输出放置于线68上。
加法器60可产生当前相位数据点与相位增量的和。加法器60经由线82从相位累加器52接收当前相位数据点,且经由线90接收相位增量。将和界定为下一相位数据点,且将其作为输出放置于线80上。可使用此项技术中已知的任何常规数字加法电路实施加法器58、60两者。
根据本发明的实例,比率RP和RN和相位增量可根据以下公式计算:
RP=round(4*GP*Ft)         (1)
RN=round(4*GN*Ft)         (2)
相位增量=round(2^B*Ft)    (3)
其中GP=正增益
GN=负增益
B=相位累加器中的位的数目
Ft=规范化的所要频率
正增益为三角波的正峰值或最高点的值。负增益为三角波的负峰值或最低点的值。计算相位增量,以使得相位累加器52中的值在所要三角波的一个周期中将横越相位累加器52的整个范围。值B表示相位累加器中的位的数目。规范化的所要频率为所要频率除以硬件的计时速率(clocking rate)。
在图2中展示的示范性音频硬件单元20中,当特定处理元件需要特定发音(例如颤音或震音)时,正增益、负增益和规范化的所要频率可由不同处理元件34A到34N供应到低频振荡器38。
本文所描述的技术的一个优点在于正和负比率含有关于所得三角波的所要增益和频率两者的信息。这些比率允许三角波产生器44通过将连续增量值相加来计算连续数据点,而不需要在每一时钟周期期间利用乘法器来校正增益。因为硬件乘法器可占据珍贵的芯片区域,且常需要大量处理时间,所以消除对乘法器的需要可减少硬件的复杂性且允许三角波产生器的更有效操作。
强制归零逻辑块62检测相位累加器翻转(roll over)条件且将累加器寄存器50复位到零值以开始三角波的新周期。当下一相位数据点的最高有效位为逻辑零且当前相位数据点的最高有效位为逻辑一时,检测翻转条件。相位累加器52中的翻转条件可与累加器寄存器50中的负到正转变同时发生。因此,应注意,在其它实例中,可通过检测当前数据点何时为负且下一数据点何时为正来实施强制归零逻辑块62。
多路复用器56可基于强制归零逻辑块62的输出而强制由累加器寄存器50接收到的下一数据点为零值。多路复用器56可在来自线68的下一数据点与线92上的零值之间选择。所述选择可基于经由线94传输到多路复用器的强制归零逻辑块62的输出。在无翻转条件的正常操作期间,控制线94保持无效,且多路复用器56将下一数据点放置于线64上以作为三角波产生器44的输出且作为到累加器寄存器50的输入。当翻转条件发生时,强制归零逻辑块62启动控制线94且多路复用器56将零值放置于线64上。应注意,在本发明的其它实施例中,三角波产生器44的输出还可经由线68连接到累加器寄存器50的输出。
本文所描述的技术的另一优点在于强制归零逻辑62防止正和负偏置归因于相位累加器52和相位增量的有限精度而在三角波的后续周期中发生。举例来说,考虑在三角波形的单一周期中数据点的数目不为四的偶数倍的情况。当翻转条件发生时,累加器寄存器50中的值可不为零。如果无校正发生,则非零偏移可继续在连续时钟周期内累加,其中存在在连续三角波中产生正或负偏置的可能。正或负偏置的引入还可具有引起若干周期内三角波的频率中的偏差的可能。通过利用强制归零逻辑62,因为每当发生翻转条件时,强制归零逻辑62均强制下一数据点为零,所以可移除与翻转偏移值相关联的偏置和频率问题。
图4为说明根据本发明的一实例的用于产生形成具有所要频率和所要增益的三角波的一组数据点的示范性方法100的流程图。图4中所说明的方法可利用图3中的示范性三角波产生器44。
在步骤102中,由三角波产生器44接收波形参数。可通过音频硬件单元20中的处理元件34将波形参数传输到三角波产生器44。波形参数可含有关于将要产生的三角波的所要正增益、所要负增益和所要频率的信息。在其它实施例中,由三角波产生器44接收的波形参数可含有关于所要三角波的正比率、负比率和相位增量的信息。
在步骤104中,三角波产生器44根据等式(1)到(3)计算正比率、负比率和相位增量。此步骤为可选的且由虚线说明,因为正比率、负比率和相位增量可已在步骤102中由处理元件提供。
在步骤106中,三角波产生器44将累加器寄存器50和相位累加器52复位到零以开始产生三角波形。在步骤108中,三角波产生器44将相位增量相加到相位累加器52的当前值以产生下一相位数据点。相位累加器52的当前值对应于当前相位数据点。
在步骤110中,三角波产生器44从一组比率中选择增量值。所述组比率可包括正比率、负比率以及正和负比率两者的加性逆元素。增量值的选择可基于在步骤108中产生的和的两个最高有效位。在其它实例中,增量的选择可基于当前相位数据点的两个最高有效位。
在步骤112中,三角波产生器44将在步骤110中选择的增量值添加到累加器寄存器50的当前值。累加器寄存器50的当前值对应于当前数据点。
在步骤114中,三角波产生器44检测翻转条件是否已在相位累加器52中发生。可通过检查相位累加器52的当前值的最高有效位和步骤108中所产生的和的最高有效位来检测翻转条件。如果相位累加器52的当前值的最高有效位为逻辑一且步骤108中所产生的和的最高有效位为逻辑零,则翻转条件已发生且三角波产生器进行到步骤118。如果发生任何其它组合,则翻转条件未发生且三角波产生器进行到步骤116。
在其它实例中,可通过检查累加器寄存器50的当前值的输出和步骤112中所产生的和来检测翻转条件。如果累加器寄存器50的当前值为负且步骤112中所产生的和为正,则翻转条件已发生且三角波产生器44进行到步骤118。如果发生任何其它组合,则翻转条件未发生且三角波产生器进行到步骤116。
在步骤116中,三角波产生器44将步骤112中所产生的和存储于累加器寄存器50中。此步骤致使当前时钟周期的下一数据点变成下一时钟周期中的当前数据点。在步骤118中,三角波产生器44强制累加器寄存器50归零。此步骤致使当前数据点在下一时钟周期中为零。
在步骤120中,三角波产生器44将步骤108中所产生的和存储于相位累加器52中。此步骤致使当前时钟周期中的下一相位数据点变成下一时钟周期中的当前相位数据点。
在步骤120后,三角波产生器44循环回到步骤108。必要时三角波产生器44可循环许多次以反复地产生形成三角波的一组数据点。
图5为说明由三角波产生器(例如由图3中展示的三角波产生器44使用图4中所展示的方法100)产生的示范性三角波的一个周期的图140。实线142表示具有所要正增益、所要负增益和所要频率的所要三角波。虚线144表示由三角波产生器44使用方法100产生的三角波。存储于相位累加器52中的当前相位数据点对应于位于时间轴146上的特定时间值。随着相位累加器52中的值增加,当前相位数据点从左到右横越时间轴146。基于相位累加器52的两个最高有效位,沿时间轴界定四个区域152、154、156、158。
存储于累加器寄存器50中的当前数据点对应于与轴148相关联的输出值。在横越时间轴146时,基于三角波产生器44的操作区域152、154、156、158选择不同比率作为增量值。举例来说,在区域152中,下一相位数据点的两个最高有效位为“00”且添加到累加器寄存器50的比率为RP。此致使三角波产生器44的输出数据点增加到所要正增益或接近所要正增益的值。类似地,在区域154中,下一相位数据点的两个最高有效位为“01”且将比率RP的加性逆元素添加到累加器寄存器50。此致使输出数据点减少到零或接近零的值。在区域156中,下一相位数据点的两个最高有效位为“10”且将比率RN的加性逆元素添加到累加器寄存器50。此致使输出数据点减小到RN的加性逆元素或接近RN的加性逆元素的值。最后,在区域158中,下一相位数据点的两个最高有效位为“11”且将比率RN添加到累加器寄存器50。此致使输出数据点增加到零或接近零的值。在波已横越区域158后,检测到翻转条件且强制累加器寄存器50归零(160)以开始三角波的新周期。
在本发明中已描述各种实例。举例来说,已揭示不需要使用乘法器的三角波产生器。消除对乘法器的需要可减少硬件的复杂性且允许三角波产生器的更有效操作。另外,还已描述在翻转条件期间校正任何偏移的三角波产生器。校正在翻转条件期间发生的任何偏移可减轻与翻转偏移相关联的许多偏置问题且还允许对所得三角波的频率的较好控制。然而,可对上文所描述的技术进行各种修改。举例来说,其它类型的装置也可实施本文所描述的三角波产生技术。而且,可利用其它方法来检测和校正翻转偏移值,例如检查累加器寄存器的输出或在三角波的负斜坡上而非正斜坡上强制累加器归零。
可以硬件、软件、固件或其任何组合实施本文所描述的技术。作为模块或组件而描述的任何特征可一起实施于整合逻辑装置中或单独地实施为离散但可互操作的逻辑装置独立地实施。如果以软件实施,则所述技术的一个或一个以上方面可至少部分通过包含指令的计算机可读媒体实现,所述指令在执行时执行上文所述的方法中的一者或一者以上。计算机可读数据存储媒体可形成可包括封装材料的计算机程序产品的部分。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体和其类似物。另外或替代地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来携载或传送代码且可由计算机存取、读取和/或执行。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑(FPGA)或其它等效整合或离散逻辑电路的一个或一个以上处理器来执行所述代码。因此,如本文中所使用,术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可在经配置或适于执行本发明的技术的专用软件模块或硬件模块内提供本文中所描述的功能性。
如果以硬件实施,则本发明可针对经配置或适于执行本文所描述的技术中的一者或一者以上的例如集成电路、芯片组、ASIC、FPGA、逻辑或其各种组合等电路。
还应注意,所属领域的技术人员将认识到,电路可实施上文所描述的功能中的一些或全部。可能存在实施所有功能的一个电路,或者还可能存在实施功能的电路的多个部分。在当前移动平台技术的情况下,集成电路可包含至少一个DSP和至少一个高级精简指令集计算机(RISC)机器(ARM)处理器以控制和/或传送到一个或一个以上DSP。另外,电路可经设计或实施于若干部分中,且在一些情况下,可重新使用若干部分以执行本发明中所描述的不同功能。
这些和其它实施例处于所附权利要求书的范围内。

Claims (55)

1.一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的方法,所述方法包含:
(a)基于所述三角波的所述所要频率和所述所要增益确定增量值;
(b)将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;以及
反复执行(a)和(b)以产生形成所述三角波的所述组数据点。
2.根据权利要求1所述的方法,其中所述反复执行(a)和(b)的步骤包括:
将所述增量值相加到所述下一数据点以产生第三数据点,所述当前数据点、所述下一数据点和所述第三数据点形成所述组数据点的新子组。
3.根据权利要求1所述的方法,其中从一组比率中选择所述增量值,所述比率对应于所述三角波的所要正增益、所要负增益和所述所要频率。
4.根据权利要求3所述的方法,其中所述所要正增益与所述所要负增益彼此相等。
5.根据权利要求3所述的方法,其进一步包含:
基于所述三角波的所述所要频率确定相位增量;
将所述相位增量相加到当前相位数据点以产生下一相位数据点;以及
基于所述下一相位数据点的值选择所述增量值。
6.根据权利要求5所述的方法,其中所述组比率含有四个比率且所述增量值的所述选择是基于所述下一相位数据点的两个最高有效位。
7.根据权利要求5所述的方法,其中所述相位增量的所述选择是基于相位累加器中的位的数目和所述三角波的所述所要频率。
8.根据权利要求5所述的方法,其进一步包含:
在所述当前数据点为负且所述当前数据点与所述增量值的和为正时,强制所述下一数据点归零。
9.根据权利要求5所述的方法,其进一步包含:
在所述当前相位数据点的最高有效位为一且所述下一相位数据点的最高有效位为零时,强制所述下一数据点归零。
10.根据权利要求1所述的方法,其中所述三角波是低频振荡器的输出。
11.根据权利要求10所述的方法,其中在乐器数字接口(MIDI)硬件实施方案中利用所述低频振荡器。
12.一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的装置,所述装置包含:
电路,其基于所述三角波的所述所要频率和所述所要增益确定增量值;以及
加法器,其将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组
其中所述电路反复确定增量值且所述加法器反复地将所述增量值相加到连续数据点以产生形成所述三角波的所述组数据点。
13.根据权利要求12所述的装置,其中所述加法器将所述增量值相加到所述下一数据点以产生第三数据点,所述当前数据点、所述下一数据点和所述第三数据点形成所述组数据点的新子组。
14.根据权利要求12所述的装置,其中所述电路包含选择单元,所述选择单元从一组比率中选择所述增量值,所述比率对应于所述三角波的所要正增益、所要负增益和所述所要频率。
15.根据权利要求14所述的装置,其中所述所要正增益与所述所要负增益彼此相等。
16.根据权利要求14所述的装置,其中所述电路进一步包含:
相位计算单元,其基于所述三角波的所述所要频率确定相位增量;以及
第二加法器,其将所述相位增量相加到当前相位数据点以产生下一相位数据点;
其中所述选择单元基于所述下一相位数据点的值选择所述增量值。
17.根据权利要求16所述的装置,其中所述组比率含有四个比率,且所述选择单元基于所述下一相位数据点的两个最高有效位选择所述增量值。
18.根据权利要求16所述的装置,其中所述相位计算单元基于相位累加器中的位的数目和所述三角波的所述所要频率确定所述相位增量。
19.根据权利要求16所述的装置,其进一步包含:
强制归零逻辑块,其在所述当前数据点为负且所述当前数据点与所述增量值的和为正时,强制所述下一数据点归零。
20.根据权利要求16所述的装置,其进一步包含:
强制归零逻辑块,其在所述当前相位数据点的最高有效位为一且所述下一相位数据点的最高有效位为零时,强制所述下一数据点归零。
21.根据权利要求12所述的装置,其进一步包含低频振荡器,所述低频振荡器将形成所述三角波的所述组数据点输出到处理器。
22.根据权利要求21所述的装置,其中在乐器数字接口(MIDI)硬件实施方案中利用所述低频振荡器。
23.一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的装置,所述装置包含:
第一装置,其用于基于所述三角波的所述所要频率和所述所要增益确定增量值;
以及
第二装置,其用于将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;
其中所述第一装置反复确定增量值且所述第二装置反复地将所述增量值相加到连续数据点以产生形成所述三角波的所述组数据点。
24.根据权利要求23所述的装置,其进一步包含:
用于将所述增量值相加到所述下一数据点以产生第三数据点的装置,所述当前数据点、所述下一数据点和所述第三数据点形成所述组数据点的子组。
25.根据权利要求22所述的装置,其进一步包含:
用于从一组比率中选择所述增量值的装置,所述比率对应于所述三角波的所要正增益、所要负增益和所述所要频率。
26.根据权利要求25所述的装置,其中所述所要正增益与所述所要负增益彼此相等。
27.根据权利要求25所述的装置,其进一步包含:
用于基于所述三角波的所述所要频率确定相位增量的装置;
用于将所述相位增量相加到当前相位数据点以产生下一相位数据点的装置;以及
用于基于所述下一相位数据点的值选择所述增量值的装置。
28.根据权利要求27所述的装置,其中所述组比率含有四个比率,且所述增量值的所述选择是基于所述下一相位数据点的两个最高有效位。
29.根据权利要求27所述的装置,其中所述相位增量的所述选择是基于相位累加器中的位的数目和所述三角波的所述所要频率。
30.根据权利要求27所述的装置,其进一步包含:
用于在所述当前数据点为负且所述当前数据点与所述增量值的和为正时强制所述下一数据点归零的装置。
31.根据权利要求27所述的装置,其进一步包含:
用于在所述当前相位数据点的最高有效位为一且所述下一相位数据点的最高有效位为零时强制所述下一数据点归零的装置。
32.根据权利要求23所述的装置,其中所述三角波是低频振荡器的输出。
33.根据权利要求32所述的装置,其中在乐器数字接口(MIDI)硬件实施方案中利用所述低频振荡器。
34.一种包含指令的计算机可读媒体,所述指令在由一个或一个以上处理器执行时致使所述处理器产生形成具有所要频率和所要增益的三角波的一组数据点,其中所述指令致使所述一个或一个以上处理器:
(a)基于所述三角波的所述所要频率和所述所要增益确定增量值;
(b)将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;以及
反复执行(a)和(b)以产生形成所述三角波的所述组数据点。
35.根据权利要求34所述的计算机可读媒体,其中反复执行(a)和(b)包括:
将所述增量值相加到所述下一数据点以产生第三数据点,所述当前数据点、所述下一数据点和所述第三数据点形成所述组数据点的新子组。
36.根据权利要求34所述的计算机可读媒体,其中所述增量值选自一组比率,所述比率对应于所述三角波的所要正增益、所要负增益和所述所要频率。
37.根据权利要求36所述的计算机可读媒体,其中所述所要正增益与所述所要负增益彼此相等。
38.根据权利要求36所述的计算机可读媒体,其中所述指令致使所述一个或一个以上处理器:
基于所述三角波的所述所要频率确定相位增量;
将所述相位增量相加到当前相位数据点以产生下一相位数据点;以及
基于所述下一相位数据点的值选择所述增量值。
39.根据权利要求38所述的计算机可读媒体,其中所述组比率含有四个比率且所述增量值的所述选择是基于所述下一相位数据点的两个最高有效位。
40.根据权利要求38所述的计算机可读媒体,其中所述相位增量的所述选择是基于相位累加器中的位的数目和所述三角波的所述所要频率。
41.根据权利要求38所述的计算机可读媒体,其中所述指令致使所述一个或一个以上处理器:
在所述当前数据点为负且所述当前数据点与所述增量值的和为正时,强制所述下一数据点归零。
42.根据权利要求38所述的计算机可读媒体,其中所述指令致使所述一个或一个以上处理器:
在所述当前相位数据点的最高有效位为一且所述下一相位数据点的最高有效位为零时,强制所述下一数据点归零。
43.根据权利要求34所述的计算机可读媒体,其中所述三角波是低频振荡器的输出。
44.根据权利要求43所述的计算机可读媒体,其中在乐器数字接口(MIDI)实施方案中利用所述低频振荡器。
45.一种用于产生形成具有所要频率和所要增益的三角波的一组数据点的电路,其中所述电路适于:
(a)基于所述三角波的所述所要频率和所述所要增益确定增量值;
(b)将所述增量值相加到当前数据点以产生下一数据点,所述当前数据点和所述下一数据点形成所述组数据点的子组;以及
反复执行(a)和(b)以产生形成所述三角波的所述组数据点。
46.根据权利要求45所述的电路,其中反复执行(a)和(b)包括:
将所述增量值相加到所述下一数据点以产生第三数据点,所述当前数据点、所述下一数据点和所述第三数据点形成所述组数据点的新子组。
47.根据权利要求45所述的电路,其中所述增量值选自一组比率,所述比率对应于所述三角波的所要正增益、所要负增益和所述所要频率。
48.根据权利要求47所述的电路,其中所述所要正增益与所述所要负增益彼此相等。
49.根据权利要求47所述的电路,其中所述电路适于:
基于所述三角波的所述所要频率确定相位增量;
将所述相位增量相加到当前相位数据点以产生下一相位数据点;以及
基于所述下一相位数据点的值选择所述增量值。
50.根据权利要求49所述的电路,其中所述组比率含有四个比率且所述增量值的所述选择是基于所述下一相位数据点的两个最高有效位。
51.根据权利要求49所述的电路,其中所述相位增量的所述选择是基于相位累加器中的位的数目和所述三角波的所述所要频率。
52.根据权利要求49所述的电路,其中所述电路适于:
在所述当前数据点为负且所述当前数据点与所述增量值的和为正时,强制所述下一数据点归零。
53.根据权利要求49所述的电路,其中所述电路适于:
在所述当前相位数据点的最高有效位为一且所述下一相位数据点的最高有效位为零时,强制所述下一数据点归零。
54.根据权利要求45所述的电路,其中所述三角波是低频振荡器的输出。
55.根据权利要求54所述的电路,其中在乐器数字接口(MIDI)实施方案中利用所述低频振荡器。
CN200880008803A 2007-03-22 2008-03-17 用于产生三角波的方法和装置 Pending CN101636782A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US89646307P 2007-03-22 2007-03-22
US60/896,463 2007-03-22
US12/042,190 2008-03-04

Publications (1)

Publication Number Publication Date
CN101636782A true CN101636782A (zh) 2010-01-27

Family

ID=41595124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880008803A Pending CN101636782A (zh) 2007-03-22 2008-03-17 用于产生三角波的方法和装置

Country Status (1)

Country Link
CN (1) CN101636782A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104849215A (zh) * 2015-04-23 2015-08-19 天津大学 一种位置三角波频率编码的面阵成像光测量系统
CN104865184A (zh) * 2015-04-23 2015-08-26 天津大学 一种位置三角波频率编码的线阵成像光测量系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104849215A (zh) * 2015-04-23 2015-08-19 天津大学 一种位置三角波频率编码的面阵成像光测量系统
CN104865184A (zh) * 2015-04-23 2015-08-26 天津大学 一种位置三角波频率编码的线阵成像光测量系统

Similar Documents

Publication Publication Date Title
US7678986B2 (en) Musical instrument digital interface hardware instructions
US7807915B2 (en) Bandwidth control for retrieval of reference waveforms in an audio device
CN101636779B (zh) 用于处理音频文件的波形获取单元
CN101636782A (zh) 用于产生三角波的方法和装置
TW200903447A (en) Efficient identification of sets of audio parameters
US7663046B2 (en) Pipeline techniques for processing musical instrument digital interface (MIDI) files
KR100236686B1 (ko) 데이터 샘플열 액세스 장치
Vercoe Audio-pro with multiple DSPs and dynamic load distribution
US7687703B2 (en) Method and device for generating triangular waves
US7723601B2 (en) Shared buffer management for processing audio files
US7663051B2 (en) Audio processing hardware elements
US7893343B2 (en) Musical instrument digital interface parameter storage
CN101636781A (zh) 用于处理音频文件的共享缓冲器管理
CN114765029A (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