CN1674090B - 声音波形合成器 - Google Patents
声音波形合成器 Download PDFInfo
- Publication number
- CN1674090B CN1674090B CN200510055994.8A CN200510055994A CN1674090B CN 1674090 B CN1674090 B CN 1674090B CN 200510055994 A CN200510055994 A CN 200510055994A CN 1674090 B CN1674090 B CN 1674090B
- Authority
- CN
- China
- Prior art keywords
- waveform
- wave data
- processing section
- data processing
- sound
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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
- 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
- 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/02—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
-
- 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
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/031—Use of cache memory for electrophonic musical instrument processes, e.g. for improving processing capabilities or solving interfacing problems
-
- 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
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/641—Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
一种声音波形合成器,其中波形数据提供部分响应第一传送请求,来把波形数据从用于提供波形数据的存储介质读到波形缓冲器。波形数据处理部分响应第二传送请求,来从波形缓冲器检索波形数据。波形数据处理部分根据检索的波形数据和给定的控制参数来执行声音波形合成,同时将声音波形合成的状态和进展通知给控制数据处理部分。控制数据处理部分根据通知的声音波形合成的进展,来发出第一传送请求。控制数据处理部分从外部接收波形控制信息,并根据波形控制信息和通知的声音波形合成的状态来生成控制参数。控制数据处理部分把基于第一传送请求的第二传送请求和生成的控制参数一起发送给波形数据处理部分。
Description
技术领域
本发明涉及一种声音波形合成器,用于合成波形数据,以产生诸如音乐声或声音的声音波形。
背景技术
具有波形存储器型(波形表型)声音产生系统的电子音乐设备是众所周知的,该电子音乐设备根据演奏数据、将波形数据处理为材料,以合成音乐声波形。
图4(a)、4(b)和4(c)所示为,某些具有波形存储器型声音产生系统的电子音乐设备的框图。
在图4(a)中,用于声音产生控制的中央处理器(CPU)102、工作RAM(随机存储器)103和声音产生LSI(大规模集成电路)连接到CPU中线101。声音产生LSI104通过波形存储器总线105连接到波形ROM(只读存储器)106。
用于操作CPU 102的处理程序被加载在工作RAM 103中。另一方面,演奏数据(音乐波形控制信息)通过CPU总线101,从未显示的键盘等被输入到工作RAM 103中。CPU 102根据演奏数据生成声音产生参数(控制参数),并将该参数输出到声音产生LSI 104。声音产生LSI 104根据声音产生参数,从波形ROM 106读出波形数据,作为材料。然后,声音产生LSI 104处理波形数据,以合成音乐声波形。合成的音乐声波形被编码器/解码器(CODEC)(未显示)转换为模拟信号,以产生音乐声信号。
如图4(b)所示,可以使用数字信号处理器(DSP)107代替声音产生LSI,来用于声音产生。
DSP是数字信号处理专用的微处理器。DSP的特征在于,高速加法和乘法运算。DSP也能够用其它系统代替声音产生系统,或者通过改变微程序代码,来使声音产生系统升级。由DSP 107合成的音乐声波形被CODEC(未显示)转换为模拟信号,从而模拟信号将被输出。
DSP 107可以是以下类型:DSP 107在信号处理中使用的经过处理的波形数据与信号处理程序指令之间共享总线(DSP总线108和工作RAM110)。
然而,因为CPU 102和DSP 107都具有分配总线访问权的功能,即所谓的仲裁(arbitration)功能,因此它们不能共享总线。
共享存储器连接两条总线一般是众所周知的,如待审公开的日本专利申请No.6-59678中所披露的。因此,共享存储器109被提供在图4(b)中,同时工作RAM 110连接到DSP总线108。
另一方面,波形ROM 106按比例被扩大以增大容量,以便存储足以重现高质量音乐声波形的波形数据。
然而,对于这种大容量波形ROM存储各种乐器的各种音色的波形数据,存在成本限制。
为了解决该问题,还有另一种结构,如图4(c)所示,其中硬盘驱动器(HDD)113通过硬盘控制器(HDC)112连接到CPU总线101,同时使用波形RAM 111。
在该情况下,CPU 102在开始音乐演奏之前,将波形数据从HDD 113传送到工作RAM 103。然后,CPU 102将波形数据传送被存储到波形RAM111中。尤其是,CPU 102访问HDD 113,以便将所需乐器的音色的波形数据从HDD 113、通过工作RAM 103传送到波形RAM 111。然而,当将音色改变为另一种音色时,需要将另一种乐器的音色的波形数据传送给波形RAM 111。这造成了需要花费时间来改变波形数据的另一个问题。在合理的成本下,波形RAM 111中可存储的数据量也有限制。
因此,有另一种被称为采样器方法的方法。在开始演奏之后的音乐声合成处理中,音乐声合成所需的波形数据从HDD 113、逐一地通过工作RAM 103被提供给波形RAM 111。根据该系统,用户能够存取实际上无限量的波形数据。该系统被实施为,在个人计算机上运行的“采样器”程序。
然而,因为从接收读取波形数据的请求到实际从HDD 113读取数据的等待时间太重要,以致于不能忽视,因此音乐声合成所需的大量波形数据需要被读出,并被预先存储在工作RAM 103中。
CPU总线101主要用于声音产生参数合成。该处理需要具有复杂算法的大规模程序,该程序的处理量很大。
然而,系统中并入的CPU总线比个人计算机用的CPU总线慢。进一步,该CPU总线的速度仅仅是CPU的内部操作速度的一小部分。CPU 102被设计成,在其最忙的时候、在最坏的情况下使用70%至80%的数据传送能力来执行命令“取出”。
因此,如果CPU总线101的数据传送能力被HDC 112与工作RAM 103之间的波形数据传送占据得太多,则CPU 102不能提供足够的计算能力。
如待审公开的日本专利申请No.6-51776中所披露的音乐声数据记录/重现设备是众所周知的,其中HDD连接到与重现侧的总线和CPU总线不同的总线,使得从HDD读出的波形数据将通过共享缓冲器被传送给重现侧的总线。
图5所示为,常规音乐声数据记录/重现设备的框图。在该配置中,用于将波形数据记录在HDD上的其它块没有显示。
个人计算机121和重现控制设备122通过串行电缆连接。此外,个人计算机121、重现控制设备122与HDD 123分别通过小型计算机系统接口(SCSI)连接。
个人计算机121允许用户对文件名执行选择和设置操作,并通过串行电缆将用于指定数据文件的位置的信息发送给重现控制设备122。
重现控制设备122通过SCSI总线读出HDD 123中存储的音乐声波形数据,以便重现音乐声波形数据。
在重现设备122中,主要由CPU 126、RAM 127和ROM 128组成的微型计算机连接到CPU总线125。串行输入/输出接口124、SCSI接口129、重现/传送控制器130和声音发生器131也连接到CPU总线125。这些部件的操作受CPU 126控制。
重现/传送控制器130拥有捕获缓冲器134。捕获缓冲器134通过波形数据总线132连接到SCSI接口,并通过总线133连接到重现缓冲器135。
从HDD 123中读出的音乐声波形数据被存储在捕获缓冲器134中。在除去不必要的头部分、并重新排列数据之后,捕获缓冲器134把作为重现和读取用的合适单元的一块音乐声波形数据(16K字),传送给重现缓冲器135(两个4K字)。分别通过系统时钟脉冲1或0,来切换捕获缓冲器134的写/读操作。
重现声音发生器131响应采样时钟,来从重现缓冲器135读出并输出一块音乐声波形数据。在该处理期间,可以控制读波形的间隔。
如待审公开的日本专利申请No.6-51776中所披露的,捕获缓冲器134被提供在波形数据总线132与波形重现总线133之间的这种结构允许这两个总线彼此独立地传送音乐声波形。
待审公开的日本专利申请No.6-51776中所披露的传送功能是,从HDD 123读出并重现预定块大小的波形数据。
换句话说,待审公开的日本专利申请No.6-51776没有教导,当音乐声波形合成所需的波形数据量随诸如演奏数据(音乐波形控制信息)的时变因素而变时,每个总线怎样传送从诸如HDD 123的、具有长等待时间的存储器中读出的波形数据。
发明内容
提出本发明以便解决上述问题,并且本发明的目的是提供一种能够从存储介质读取波形数据、并有效地将波形数据传送给信号处理部分的声音波形合成器。
在本发明的一个方面,提供一种声音波形合成器设备,用于根据从外部提供的波形控制信息和存储介质中存储的波形数据来执行声音波形合成。该声音波形合成器设备包括波形数据提供部分、波形缓冲器、波形数据处理部分和控制数据处理部分。波形数据提供部分接收第一传送请求,并响应第一传送请求来从用于提供波形数据的存储介质读取波形数据。波形缓冲器连接到波形数据提供部分,用于存储从波形数据提供部分提供的波形数据。波形数据处理部分接收第二传送请求、并连接到波形缓冲器,以便响应第二传送请求来将波形数据从波形缓冲器传送给波形数据处理部分。波形数据处理部分根据传送的波形数据和给定的控制参数来执行声音波形合成,同时通知声音波形合成的状态和声音波形合成的进展。控制数据处理部分根据从波形数据处理部分通知的声音波形合成的进展来生成第一传送请求,并向波形数据提供部分发送第一传送请求。控制数据处理部分从外部接收波形控制信息,并根据波形控制信息以及从波形数据处理部分通知的声音波形合成的状态来生成控制参数。控制数据处理部分把基于第一传送请求的第二传送请求和生成的控制参数一起发送给波形数据处理部分。
优选地,波形数据处理部分包括第一总线、连接到第一总线用于存储波形数据的第一存储器、以及连接到第一总线用于在声音波形合成期间处理波形数据的数字信号处理器,而波形数据提供部分包括第二总线、用于从存储介质读取波形数据并将读取的波形数据供给第二总线的读装置、以及连接到第二总线用于存储波形数据的第二存储器,以致于波形缓冲器连接在第一总线与第二总线之间,以便通过波形缓冲器将波形数据从波形数据提供部分的第二存储器传送到波形数据处理部分的第一存储器。
在这种情况下,控制数据处理部分进一步根据波形控制信息来生成读请求,并将读请求发送给波形数据提供部分的读装置。当读装置收到读请求时,读装置操作,以便从存储介质读出波形数据并将读出的波形数据传送到第二存储器。
进一步,波形数据提供部分包括控制器,该控制器用于这样控制第二总线,以致于从第二存储器到波形缓冲器的波形数据传送被给予比从存储介质到第二存储器的波形数据传送更高的优先级。
进一步,控制数据处理部分在波形控制信息到控制数据处理部分的输入开始之前,向波形数据提供部分的读装置发送读请求,使得在声音波形合成之前波形数据将被从存储介质传送到第二存储器。
优选地,波形数据处理部分与给定帧周期同步地、根据波形数据逐帧地执行声音波形合成、以合成声音波形,以致于每一帧都包含多个声音波形样本,以及其中,当波形数据提供部分收到第一传送请求时,波形数据提供部分操作,以便和帧周期相一致地将波形数据从存储介质传送到波形缓冲器。
在本发明的另一方面,提供一种对由波形数据提供部分、波形缓冲器、波形数据处理部分和控制数据处理部分组成、并用于根据波形控制信息和波形数据来执行声音波形合成的声音波形合成器设备进行操作的方法。通过以下步骤来执行本发明的方法:当从控制数据处理部分收到第一传送请求时,操作波形数据提供部分,以便响应该第一传送请求而从存储介质读取波形数据、并将读出的波形数据提供给波形缓冲器;操作波形缓冲器,以便存储来自于波形数据提供部分的波形数据;当从控制数据处理部分收到第二传送请求时,操作波形数据处理部分,以便响应该第二传送请求而将波形数据从波形缓冲器传送到波形数据处理部分;操作波形数据处理部分,以便根据传送的波形数据和从控制数据处理部分供给的控制参数来执行声音波形合成,同时将声音波形合成的状态和声音波形合成的进展通知给控制数据处理部分;操作控制数据处理部分,以便根据从波形数据处理部分通知的声音波形合成的进展来生成第一传送请求,以及将第一传送请求发送给波形数据提供部分;当收到波形控制信息时,操作控制数据处理部分,以便根据波形控制信息和从波形数据处理部分通知的声音波形合成的状态来生成控制参数;以及操作控制数据处理部分,以便把基于第一传送请求的第二传送请求和生成的控制参数一起发送给波形数据处理部分。
在该结构中,波形缓冲器的使用使在声音波形合成处理期间、彼此独立地控制由波形数据处理部分执行的声音波形合成以及由波形数据提供部分执行的从存储介质的波形数据读取成为可能。因为波形数据处理部分能够在方便的定时从波形缓冲器传送波形数据,因此能够减小从存储介质的波形数据读取对声音波形合成处理的影响。
在该结构中,在声音波形合成处理期间,数字信号处理器、第一存储器和波形缓冲器之间的第一总线上的传送与存储介质读装置、传送控制器、第二存储器和波形缓冲器之间的第二总线上的波形数据等的传送彼此独立地受控制。它允许信号处理器在方便的定时、在第一存储器与波形缓冲器之间高效地传送波形数据。
进一步,因为第二总线这样受控制,以致于从第二存储器到波形缓冲器的波形数据传送被给予比从存储介质到第二存储器的波形数据传送更高的优先级,因此能够减小从存储介质的传送对声音波形合成处理的影响。
另外,存储介质读装置分别执行从存储介质到第二存储器的波形数据传送以及从第二存储器到波形缓冲器的波形数据传送。这使高效地传送具有比第二存储器更长的延迟的存储介质中存储的波形数据成为可能。
进一步,因为一帧波形数据作为单位被合成,因此要被波形数据处理部分处理的波形数据量在时间上变得均匀。换句话说,因为经过处理的波形数据量没有在帧间变化得这么多,因此能够稳定地操作波形数据处理部分。
另外,与给定帧周期同步地执行由波形数据处理部分执行的波形数据传送和由波形数据提供部分执行的波形数据传送,使得一次传送的波形数据量变得合理地大,由此能够利用更少的开销进行高效传送。
根据本发明,波形缓冲器的使用使得有可能在产生音乐声的操作期间,从诸如硬盘的、具有长等待时间的大容量存储介质读取并传送波形数据到波形数据处理部分。因此,甚至能够实时地合成高质量音乐声。
在数据读取和传送操作期间,能够高效地利用信号处理器所连接的总线的数据传送能力。
在数据读取和传送操作期间,以帧单位传送波形数据,从而能够高效地利用数据传送能力。
结果,能够防止波形数据处理部分的处理能力的降低,以及因此获得了足以用于实际用途的大量同时产生的声音。
附图说明
图1所示为,用于说明本发明的一个优选实施例的功能结构的框图。
图2所示为,图1所示的实施例被应用于波形存储器声音产生系统的电子音乐设备的特定例子的框图。
图3-1和3-2所示为,用于说明图2的特定例子中的各个部件的处理时间的例子的顺序图。
图4(a)、4(b)和4(c)所示为,某些具有波形存储器声音产生系统的电子音乐设备的框图。
图5所示为,常规音乐声数据记录/重现设备的框图。
具体实施方式
图1所示为,用于说明本发明的一个优选实施例的功能结构的框图。
该实施例提供声音波形合成器作为电子音乐设备等,用于根据波形控制信息和存储器中存储的波形数据来执行声音波形合成。在声音波形合成器中,由附图标记1表示的部分是控制数据处理单元,由附图标记2表示的部分是波形数据处理单元,由附图标记3表示的部分是波形数据提供单元,以及由附图标记5表示的部分是接口单元。
波形数据提供单元3连接到诸如HDD的波形数据存储器4。
接口单元5将控制数据处理单元1、波形数据处理单元2和波形数据提供单元3相互连接起来。波形缓冲器6连接波形数据处理单元2和波形数据提供单元3,为波形数据的传送提供缓冲中继。这允许波形数据处理单元2合成声音波形以及波形数据提供单元3单独地读出波形数据,而不造成相互干扰。
可以采用多种方法,用于控制数据处理单元1与波形数据处理单元2之间的接口以及控制数据处理单元1与波形数据提供单元3之间的接口。在所示的例子中,这些接口是直接连接。
控制数据处理单元1、波形数据处理单元2和波形数据提供单元3彼此独立地执行内部处理。然而,在所示的例子中,这些操作被合并到与预定的多个采样周期相对应的帧周期单位(unit)中。
波形数据处理单元2具有信号处理总线(第一总线)20,数字信号处理器21和存储器(第一存储器)22连接到该信号处理总线20。信号处理单元21也具有内置的传送控制器(第一传送控制器)23。信号处理单元21的输出连接到声音波形输出单元(未显示)。
波形数据处理单元2根据获取的控制参数和传送的波形数据,来逐帧地合成一帧声音波形。合成的声音波形的多个样本被提供给声音波形输出单元,每采样周期从该声音波形输出单元输出声音波形的一个样本。
可以响应于帧同步(sync)信号从声音波形输出单元的供给,来执行基于帧的声音波形合成。在该情况下,帧同步信号与预定的多个采样时钟脉冲相对应。
波形数据处理单元2从控制数据处理单元1获取至少当前帧周期的声音波形合成所需的控制参数。同时,传送控制器23把至少当前帧周期的声音波形合成所需的波形数据,从波形缓冲器6传送到存储器22。
可以根据声音波形合成的进展,以帧周期单位来执行控制参数的获取和波形数据的传送。
帧周期单位表示这样的时间间隔,该时间间隔是一个帧周期的整数倍。整数倍的值可以在不同的时期变化。
波形数据处理单元2也可以对声音波形的每一个样本执行声音波形合成。然而,用于声音波形合成的波形数据的样本数随诸如间隔的条件而变。因此,临时提供的波形数据量可能不足,并且这可能在合成的波形中造成噪声。优选地,信号处理单元21逐帧地执行处理,每一帧具有合理的大小,这是因为它能够抑制必需波形数据的变化。
此外,如果针对声音波形的每一个样本执行声音波形合成,则可能必须逐个样本地传送波形数据。在这种情况下,每当传送波形数据的一个样本时,都需要一定量的开销。相反,如果逐帧地执行声音波形合成,则也可以每帧周期在信号处理总线20或波形数据总线30上传送波形数据,由此实现高速、高效的数据传送。
波形数据处理单元2逐帧地合成声音波形,并且这引入了一帧的延迟。然而,这种延迟将尤其无关紧要,除非一个帧周期极长。
以下描述波形数据处理单元2的特定结构。
信号处理器21根据存储器22中存储的控制参数和波形数据,来逐帧地合成声音波形,同时信号处理器21向控制数据处理单元1通知声音波形合成的状态和进展。
一旦从控制数据处理单元1收到波形数据传送请求(第二传送请求)的通知,传送控制器23就把波形数据从波形缓冲器6传送给存储器22。
即使在信号处理总线20上的波形数据传送期间,信号处理器21也能够执行内部信号处理。
由信号处理器21合成的声音波形的多个样本被提供给声音波形输出单元(未显示),并且在每一采样周期逐个样本地被输出。
可以每帧周期、连同声音波形合成处理一起通知声音波形合成的状态和进展。
控制数据处理单元1具有控制参数生成器11和请求生成器12,波形控制信息被输入到控制参数生成器11和请求生成器12。在电子音乐设备的情况下,输入的波形控制信息是从键盘输出的或从音乐数据存储器读出的演奏信息。
如上所述,每当一个声音的波形被合成时,波形数据处理单元2就逐片地使用从波形缓冲器6传送的波形数据。因此,波形数据处理单元2需要这样一片新的波形数据,以致于这一片新的波形数据按次序位于紧接着合成的声音波形数据片之后。此外,当命令产生一种不同的声音时,直到那时为止使用的波形数据变得不必要,并且需要传送一种新的波形数据。
在这种情况下,控制数据处理单元1的请求生成器12从信号处理器21接收声音波形合成的进展的通知,并从存储器22中存储的、被波形数据处理单元2获取的波形数据,来计算进一步声音波形合成所需的剩余波形数据量。然后,请求生成器12将请求从计算结果确定的、如声音波形合成新近需要的波形数据的第一传送请求的通知,发送给波形数据提供单元3。第一传送请求包括用于指定要提供的波形数据的某些片的信息。
然后,请求生成器12把根据第一传送请求生成的第二传送请求的通知,发送给波形数据处理单元2,使得被请求的波形数据将从波形缓冲器6被传送给信号处理器21。
可以每帧周期、连同声音波形合成处理一起发送第一传送请求和第二传送请求。在这种情况下,波形数据处理单元2可以提供帧同步信号。
如果波形数据处理单元2不需要新波形数据,则第一传送请求和第二传送请求都不用通知。
也可以在声音波形合成所需的波形数据量和存储器22中的剩余量变得相等或者少于预定量时,发送第一传送请求和第二传送请求。
另外,可以根据声音波形合成已经消耗的波形数据量,而不是剩余波形数据量,来发送第一传送请求和第二传送请求。
请求生成器12向存储介质读控制器(读装置)31发送以下读请求:预先从波形数据存储器(存储介质)4读出由输入的波形控制信号预期为进一步声音波形合成新近需要的波形数据。可读取的波形数据量被确定为,不超过波形数据已从存储器32被传送给波形缓冲器6之后的可用存储空间。
另一方面,控制参数生成器11根据波形控制信息和声音波形合成的状态来生成控制参数,并将生成的控制参数通知给波形数据处理单元2。也可以每帧周期、连同声音波形合成处理一起发送控制参数的通知。
一旦收到第一传送请求,波形数据提供单元3就将声音波形合成新近需要的波形数据从存储器32传送给波形缓冲器6。
然后,一旦收到第二传送请求,波形数据处理单元2就将波形数据从波形缓冲器6传送给存储器22。
以下描述波形数据提供单元3的特定结构。
波形数据提供单元3具有波形数据总线(第二总线)30,存储介质读控制器(读装置)31、存储器(第二存储器)32和传送控制器(第二传送控制器)33连接到波形数据总线30。
一旦收到上述第一传送请求,传送控制器33就选择存储器32中存储的波形数据的至少一部分,以便将选中的波形数据部分从存储器32传送给波形缓冲器6。
然后,一旦收到上述读请求,存储介质读控制器31就从波形数据存储器4的存储器读出波形数据,以便将读出的波形传送给存储器32。
总线仲裁被执行,以便以这样一种方式来仲裁波形数据总线30上的总线传送,使得从存储器32的波形数据传送被给予比去往存储器32的波形数据传送更高的优先级,以避免通过波形缓冲器6被传送给波形数据处理单元2的、用于声音波形合成的波形数据的缺少。
如果每帧周期在波形数据总线上传送波形数据,则突发方式(burstmode)传送成为可能,由此实现高速、高效的传送。可以直接响应于每帧周期通知的第一传送请求,来执行这种传送。作为替换,可以通过来自波形数据处理单元2等的帧同步信号的提供,来执行这种传送。
控制数据处理单元1可以在开始上述波形控制信息的输入之前,向存储介质读控制器31发送读请求的通知,使得预期在开始波形控制信息的输入的时候需要的波形数据预先从波形数据存储器4被传送到存储器32。
在这种情况下,一旦波形控制信息的输入开始,则会话开始之后声音波形合成所需的波形数据能够立刻从存储器32被传送给波形缓冲器6。
当波形数据处理单元2同时在多个通道上合成两个或多个声音波形时,控制数据处理单元1被通知关于基于通道的声音波形合成的状态和进展的信息。控制参数生成器11向波形数据处理单元1通知每个通道的控制参数,而请求生成器12通知每个通道的第一和第二请求。波形数据提供单元3读出每个通道的波形数据,并将每个通道的波形数据提供给波形缓冲器6。
以上描述了,以帧周期单位、连同声音波形合成处理一起通知控制参数、第二传送请求、声音波形合成的状态、声音波形合成的进展、以及第一传送请求。然而,不必以帧周期单位通知它们。
另一方面,优选地应该以帧周期单位,来执行从波形数据提供单元3到波形缓冲器6的波形数据传送以及从波形缓冲器6到波形数据处理单元2的波形数据传送。这是因为,如果以帧周期单位传送波形数据,则一次传送的波形数据量变得适度的大,以及因此开销量变得相对地小。此外,因为突发方式传送成为可能,因此传送效率也提高了。
图2所示为,图1所示的实施例被应用于波形存储器声音产生系统的电子音乐设备的特定例子的框图。在图2中,类似于图1中的部分被给予相同的附图标记。
电子音乐设备是由用于控制数据处理的CPU总线41、与图1中的信号处理总线20相对应的DSP总线42、以及与图1中的波形数据总线30相对应的HDD总线43组成的三总线结构。通过接口单元5中的共享存储块45,来执行这些总线之间的数据传送。这减少了一条总线上的访问竞争的发生,以及因此减少了总线上的通信堵塞。
控制数据处理单元1、波形数据处理单元2和波形数据处理单元3通过接口5、以帧周期单位操作。
接口单元5具有共享存储块45和用于IRQ#2的硬件中断线。另一方面,IRQ#1是从CODEC 52到DSP 50的硬件中断,每64个样本(一帧)产生IRQ#l。IRQ#1是用于DSP 50中帧处理的触发器。另一方面,IRQ#2是从DSP 50到CPU 46的硬件中断,每帧周期、但是在不同于IRQ#1的定时、产生IRQ#2。换句话说,IRQ#2是用于CPU 46中帧处理的触发器。
控制数据处理单元1拥有CPU总线41。实施图1中所示的控制参数生成器11和请求生成器12的功能的CPU 46和工作RAM 47、用于输入演奏信息(波形控制信息)的乐器数字接口(MIDI)48、用于在加电时把CPU控制程序加载到工作RAM 47中的引导ROM 49等连接到CPU总线41。如果CPU 46包括MIDI接口,则可以用CPU 46的MIDI接口代替MIDI接口48。在图2中没有显示与本发明无关的其它块,例如输入操作子、显示器、输入/输出(I/O)接口、效果器LSI等。
CPU 46从工作RAM 47读出处理程序,读和写工作RAM以便临时存储数据,以及如果需要,读和写共享存储块45。CPU 46占有CPU总线41。
一旦工作RAM 47上的处理程序被执行,CPU总线41的大部分数据传送能力就都用于CPU 46去读命令“取出”。
波形数据处理单元2连接到DSP总线42,波形数据处理单元2通过该DSP总线42与用作图1中的信号处理单元50的DSP 50、用作存储器22的工作RAM 51、用于在通电时把控制程序加载到工作RAM 51中的引导ROM 51等相连。DSP 50连接到用作声音波形输出单元的CODEC 52。
DSP 50从工作RAM 51读出控制程序,读和写工作RAM 51以便临时存储数据,以及如果需要,读和写共享存储块45。DSP 50占有DSP总线42。
由DSP 50执行的声音波形合成处理具有基于重复处理(循环处理)的相对简单处理算法。尤其是,因为与程序中的重复处理相对应的操作需要这样小的存储空间,以致于它们能够被存储在DSP 50中的命令高速缓存中,因此命令“取出”几乎不需要DSP总线42的频带。大多数传送能力用于从波形共享存储器58到工作RAM 51的波形数据传送、以及DSP 50与工作RAM 51之间的经过处理的数据的传送。
工作RAM 51为每一通道临时存储并保存在数量上与能够同时产生声音的通道的最大数量相对应的波形数据的某些片。每个通道由能够存储“管理信息”和“部分波形的4096个样本”的缓冲器构成。
DSP 50也可以在不通过CODEC 52的情况下输出数字波形数据。如果效果器LSI连接到CPU总线41、并且受CPU 46控制,则在DSP 50中合成的音乐声波形数据将被提供给效果器LSI的输入端。在该情况下,效果器给予波形数据以效果,对波形数据进行D/A(数模)转换,并输出波形数据。
另一方面,波形数据提供单元3连接到HDD总线43,波形数据提供单元3通过HDD总线43与用作图1中的存储介质读控制器31的HDC 59、用作存储器32的工作RAM 60、以及用作传送控制器33的直接存储器存取控制器(DMAC)61相连。
在该情况下,使用能够存储成批数据的大容量HDD 44来代替图1中的波形数据存储器4,虽然大容量HDD 44具有长等待时间。
HDD 44不仅能够存储大量波形数据,而且能够高速地传送波形数据。当HDD 44是最新型时,按一般规律,顺序存取速率大约为30至40Mbps,并且随机存取速率大约为10至20Mbps。
然而,从接收读请求到开始读的延迟时间很长,大约为10ms。因此,如果用户想要实时地产生音乐声,则直到发生开始为止的延迟时间将必须在10ms之内。
为此,预先从HDD 44读出波形数据,并将读出的波形数据临时存储在工作RAM 60中。
HDD总线43主要用于从HDD 44到工作RAM 60的波形数据传送以及从工作RAM 60到波形缓冲器58的波形数据传送。
因此,在不同的传送周期期间,至少一部分波形数据在HDD总线43上被传送两次。
因为从HDD 44和工作RAM 60传送的波形数据是预期为新近需要的波形数据,因此不是波形数据的所有片都需要从工作RAM 60被传送给波形缓冲器58。情况是,每单位时间从工作RAM 60传送到波形缓冲器58的波形数据量(总线频带的使用率)低于每单位时间从HDD 44传送到工作RAM 60的波形数据量。
每单位时间将波形数据从工作RAM 60传送到波形缓冲器58的次数(例如,一帧一次)也大于每单位时间将波形数据从HDD 44传送到工作RAM 60的次数,即每次的传送量小。
因此,规定DSP总线42和HDD总线43共享传送波形数据的负荷,以减轻DSP总线42的负荷。
工作RAM 60由存储器和环形缓冲器构成。存储器为所有音色的所有键控代码(keycode)的每一个(在键盘上演奏的所有键的音调的每一个),静态地存储能够在系统启动时发声的第一部分波形数据。所提供的环形缓冲器的数量和能够同时产生声音的通道的最大数量一样。静态存储器可以在通道之间被共享。
环形缓冲器分别具有恒定的存储容量,其中读地址和写地址是循环的。新波形数据按次序被写到以前的数据上。每一个环形数据都存储例如一又二分之一秒的波形数据。
用于工作RAM 60的管理信息被CPU 46保存在控制数据处理单元1那一侧。
共享存储块45连接在两条总线之间,以便在逻辑上连接这两条总线。可以从这两条总线来存取共享存储块45,用作总线之间的数据传送的联络。可以在任何定时异步地从每条总线读或写共享存储块45。
可以利用双端口RAM、先进先出存储器(FIFO),或者利用用于响应高速时钟在两条总线之间切换RAM的分时机制,来实施共享存储块45。共享存储块45由专用硬件构成。也可以利用现场可编程门阵列(FPGA)来实施共享存储块45的功能。在该情况下,共享存储块45能够结合DMAC61的功能。
在接口单元5中,分别通过波形缓冲共享存储器58、声音产生参数共享存储器54、声音产生状态共享存储器55、读请求共享存储器56和传送请求共享存储器57,来执行关于声音产生参数和声音产生状态的信息的传送、以及由图1中的波形缓冲器6执行的波形数据的传送。
声音产生参数共享存储器54和声音产生状态共享存储器55连接在CPU总线41与DSP总线42之间。读请求共享存储器56和传送请求共享存储器57连接在CPU总线41与HDD总线43之间。波形缓冲共享存储器58连接在HDD总线43与DSP总线42之间。
利用环形缓冲器来实施波形缓冲共享存储器58;波形缓冲共享存储器58保存工作RAM 60中存储的波形数据的一部分。
用于波形缓冲共享存储器58的管理信息被CPU 46保存。环形缓冲器只存储波形数据。
以下描述声音产生参数。
图2中的“声音产生参数”包括用于命令“从波形缓冲共享存储器58传送到工作RAM 51”(图1中的第二传送请求)的参数以及“正常声音产生参数”(图1中的控制参数)。
“正常声音产生参数”包括键开启(key-on)、音符号(note number)、包络电平等。
声音产生参数以帧周期单位被更新,并且以“分组大小+分组主体(16位×n)”(n为正整数)的格式从声音产生参数共享存储器54的第一部分被写入。如果在帧周期中没有声音参数要传送,将写入“0”作为分组大小。可以将两个或多个产生参数存储在上述分组主体中。
以下描述“传送请求”。
当发出从工作RAM 60到波形缓冲共享存储器58的传送的请求时,通知“传送请求”。
传送请求由“工作RAM 60上的传送的起始地址”+“传送大小”+“目的方的发声通道”组成。
以下描述“声音产生状态”。
图2中的“声音产生状态”包括指示“音乐声波形合成的进展”(图1中的声音波形合成的进展)的信息,以及关于“正常声音产生状态”(图1中的声音波形合成的状态)的信息。
指示“正常声音产生状态”的信息包括键开启状态、当前包络电平状态等,象为现有的音调发生器规定的一样。
另一方面,指示“音乐声波形合成的进展”的信息是关于当前为音乐声合成而处理的波形数据的位置的信息。波形位置是相对于被设置为作为参考点的“0”的音符开位置的发声位置。例如,波形位置被表示为累积样本数。
声音产生状态共享存储器55是这样的映射,以便指示能够同时产生声音的通道的每一个的每个声音产生的状态。该存储器被预先分配了其存储器地址。
图3-1和3-2是用于说明图2的特定例子中的各个部件的处理时间的例子的顺序图。
操作序列被分成以下5个部分:响应于MIDI事件而执行的处理,与HDD读有关的处理,响应于IRQ#2而执行的处理,响应于IRQ#1而执行的处理,以及CODEC处理。
在图3-1和3-2中,响应于MIDI事件而执行的处理和与HDD读有关的处理在不同于其它处理的时间单位中进行。
DSP 50以帧周期单位执行音乐声合成的处理。如果采样时钟为44.1kHz、并且一帧为64个样本,则一个帧周期大约为1.45毫秒。
假定操作CPU 46所需的程序和数据被存储在引导ROM 49中。在该情况下,在系统启动时这些程序和数据被传送给工作RAM 47,以便开始程序的执行。
类似,操作DSP 50所需的程序和数据被存储在引导ROM 53中,并且被传送给工作RAM 51,以便开始程序的执行。
当要实时地产生音乐声时,大约在系统启动时读请求从CPU 46被通知,使得能够用于产生声音的所有波形数据的第一片将预先通过HDC 59、从HDD 44被传送到RAM 60,并且在音乐声合成处理期间被保存在RAM60中。
以下取简单的演奏信息作为例子,来描述从接收演奏信息“音符开”以开始产生一个声音直到接收演奏信息“音符关”的一序列操作。在该例子中,中途通过该操作序列来接收演奏信息“声调”,以改变音量。
如图3-1(a)所示,演奏信息(波形控制信息)片71、75和77被接收作为MIDI数据,并且被输入到工作RAM 47中。然后,如图3-1(b)所示,CPU 46使用诸如音符开、音符关、控制改变和音调弯曲的MIDI事件,来作为用于生成声音产生参数的触发器。
虽然未显示,但是也响应于声音产生期间的5至20毫秒的时间中断,来生成声音产生参数。
根据类似于MIDI数据的演奏数据来生成声音产生参数,并且“正常声音产生状态”(声音波形合成的状态)包括如上所述的键开启状态、当前的幅度包络状态。
CPU 46在工作RAM 47上生成声音产生参数72、76和78。生成处理所需的时间不是恒定的。
CPU 46控制HDD 44的读。然后,CPU 46根据收到的MIDI数据,来确定预期为进一步音乐声波形合成新近需要的波形数据。
如图3-1(c)所示,用于将预期为新近需要的波形数据从HDD 44读到工作RAM 60的读请求73,从工作RAM 47被传送到读请求共享存储器56。
例如,当MIDI数据被收到以便开始产生具有某一音调的声音时,以该音调发声的音乐声的波形的波形数据、以及随来自声音的原始音调的音调弯曲操作而变的可能音调范围(例如,实际音符的音调之上或之下的两个八音度)内的音乐声的波形的波形数据的所有片,从HDD 44一个接一个地被读出,并且被预先存储在工作RAM 60中。
然后,如图3-1(d)所示,HDC 59访问读请求共享存储器56,以读出读请求共享存储器56中存储的读请求74。
然后,如图3-1(e)所示,HDC 59根据来自HDD 44的读请求来读出波形数据,并将波形数据传送给工作RAM 60。
CPU 46的任务被阻塞,直到所请求的在定时79的读完成为止,如图3-1(c)所示。一旦波形数据的读完成了,它就允许CPU 46将下一个读请求80传送给读请求共享存储器56。
以下描述响应于IRQ#2而执行的处理。
如图3-2(k)所示,中断信号(IRQ#2)91从DSP 50被通知给CPU 46。然后,如图3-2(f)所示,CPU 46从声音产生状态共享存储器55读出当前帧(1)中的声音产生状态(“正常声音产生状态”和音乐声波形合成的进展)92的信息,并将其写到工作RAM 47。
CPU 46根据声音产生状态(音乐声波形合成的进展)92,来计算作为下一帧(2)以及接着该下一帧之后的更多帧所需的、工作RAM 51中剩余的波形数据量,并传送新近需要的波形数据,即使有的话。
然后,如图3-2(g)所示,CPU 46向传送请求共享存储器57发送用于将波形数据从工作RAM 60传送到波形缓冲器58的“传送请求”93的通知。要传送的波形数据对应于稍后要传送到工作RAM 51的那些波形数据。
然后,如图3-2(h)所示,波形数据提供单元3那一侧的DMAC 61访问传送请求共享存储器57,以获取“传送请求”94。一般来说,虽然DMAC不访问存储器以读出数据,但是因为DMAC 61是专用型DMAC或者共享存储块45具有向DMAC 61通知请求的功能,因此DMAC 61能够获取“传送请求”。
然后,如图3-2(i)所示,DMAC 61将波形数据从工作RAM 60传送给波形缓冲共享存储器58。传送请求的任务被阻塞,直到由如图3-2(g)所示的“传送请求”通知的传送完成为止。
最后,如图3-2(j)所示,CPU 46根据演奏信息和“正常声音产生状态”(声音波形合成的状态)来生成声音产生参数,并将工作RAM 47中存储的声音产生参数传送给声音产生参数共享存储器54。
以下描述响应于IRQ#1而执行的处理。
如图3-2(p)所示,每帧产生中断信号(IRQ#1)81、86、...,并且这些中断信号(IRQ#1)81、86、...被提供给DSP 50。
然后,如图3-2(1)所示,DSP 50将声音产生参数82、87、...从声音产生参数共享存储器54传送给工作RAM 51。
声音产生参数的数据量小,因此DSP 50可以将它们传送到DSP 50的内部RAM,而不是传送到工作RAM 51。
然后,如图3-2(m)所示,DSP 50将当前帧(1)中的最新声音产生状态83、88、...从工作RAM 51传送到声音产生状态共享存储器55。如上所述,被传送的声音产生状态在如图3-2(f)所示的定时被传送到控制数据处理单元1那一侧的RAM 47。
声音产生状态的数据量小,因此DSP 50可以将它们传送到DSP 50的内部RAM,而不是传送到工作RAM 51。
然后,如图3-2(n)所示,DSP 50将波形缓冲共享存储器58中存储的波形数据84、89传送到工作RAM 51。这些传送可以直接受DSP 50自己控制。作为替换,如果DSP 50具有如同实施例中的内置DMAC(传送控制器23),则该内置DMAC可以根据来自DSP 50的主单元的指令来控制这些传送。
波形缓冲共享存储器58中存储的波形数据是如图3-1(e)所示响应于图3-1(c)中的读请求73而被读入工作RAM 60中、并且在图3-2(i)中的定时95被存储在波形缓冲共享存储器58中的波形数据。在此注意,在图3-1(e)中读出的波形数据没有在图3-1和3-2中显示出,这是因为在帧(1)的周期之前它们已经被读出。
换句话说,在工作RAM 60中预先存储的波形数据当中,下一帧(2)以及接着该下一帧之后的更多帧所需的波形数据是根据图3-2(f)所示的当前帧(1)中的最新声音产生状态(音乐声合成的进展)92来确定的,并且被存储在波形缓冲共享存储器58中。
因此,图3-2(n)中被传送到工作RAM 51的波形数据84是下一帧(2)以及接着该下一帧之后的更多帧所需的波形数据。
然后,因为确定了在帧(2)周期内不需要新波形数据,因此没有生成用于波形数据传送的请求如,图3-2(g)所示。结果,没有波形数据被传送到波形缓冲共享存储器58,如图3-2(i)所示,以及因此没有波形数据被传送到工作RAM 51,如图3-2(n)所示。
然后,如图3-2(o)所示,DSP 50读出工作RAM 51中存储的声音产生参数(正常声音产生参数)82和和波形数据84,并根据读取的参数和波形数据、在RAM 51上执行下一帧(2)的64个样本的音乐声合成。
DSP 50按次序一个接一个地对能够同时产生声音的通道的每一个执行一帧的音乐声合成,并将新合成的通道的音乐声波形数据添加到累积的波形上。
CODEC 52逐个样本地对工作RAM 51中存储的一帧的音乐声波形数据进行数模转换,以便输出合成的声音。
在以上说明中,波形数据从波形缓冲共享存储器58到工作RAM 51的传送周期、以及波形数据从DSP 50到工作RAM 51的传送周期不在DSP总线42上重叠,如图3-2(l)和3-2(n)所示,这是因为DSP 50执行总线仲裁,使得它们被轮流执行。
另一方面,HDD总线这样受控制,使得图3-2(i)所示的借助于DMAC61从工作RAM 60到波形缓冲共享存储器58的波形数据传送被给予比图3-1(e)所示的从HDC 59到工作RAM 60的波形数据传送更高的优先级。
因此,如果发生访问竞争,总线仲裁将被执行,以便中断从HDC 59到工作RAM 60的波形数据传送,以及允许从工作RAM 60到波形缓冲共享存储器58的波形数据传送。
该优先级控制被执行,以便防止从HDD 44读受到由波形数据处理单元2执行的音乐声波形合成处理的影响。
假设没有提供波形缓冲共享存储器58、并且HDD总线43直接连接到图2中的DSP总线42。在该情况下,如果DSP 50执行总线仲裁,则从HDC 59传送给工作RAM 60的实际需要的波形数据的一部分将从工作RAM 60被重新传送给工作RAM 51。这造成了最多两倍于预定传送量的波形数据量流动。因为DSP总线42预期传送相当多的数据,因此DSP总线42上的通信堵塞造成了传送延迟,这导致了对由DSP 50执行的音乐声波形合成处理的障碍。
相反,具有波形缓冲共享存储器58的结构不削弱DSP总线422的数据传送能力。
此外在以上说明中,如图3(c)所示,与图3-1(e)所示的波形数据读操作的完成同步地发出读请求。作为替换,可以将用于存储读操作完成的通知的共享存储器新提供在共享存储块45中,使得读操作完成的通知将通过该共享存储器从HDC 59被发送到CPU 46,由此与读操作异步地发出读请求。
同样,可以将用于存储波形传送操作完成的通知的共享存储器新提供在共享存储块45中,使得波形传送操作完成的通知将通过该共享存储器从HDC 59被发送到CPU 46,由此与波形传送操作异步地发出传送请求。
此外在以上说明中,使用了读请求共享存储器56,如图3(c)和3(d)所示。作为替换,可以使用中断信号来将读请求的通知从CPU 46发送到HDC 59。
同样,也可以使用这种中断信号代替传送请求共享存储器57的使用,来发送传送请求的通知。
此外,在以上说明中,共享存储器用于通知声音产生参数和声音产生状态。作为替换,DSP总线可以拥有类似于图5中的重现声音发生器131的I/O端口,DSP总线通过该I/O端口连接到CPU总线41。在该情况下,因为这种I/O端口连接到DSP总线42和CPU总线41两者,因此不需要提供声音产生参数共享存储器54和声音产生状态共享存储器55。
同样,HDC 59和DMAC 61也可以分别拥有类似于图5中的SCSI接口129的I/O端口,HDC 59和DMAC 61通过各自I/O端口连接到CPU总线41。在该情况下,也不需要提供分别用于通知读请求和传送请求的共享存储器。
此外在以上说明中,CPU 46的操作所需的处理程序和DSP 50的操作所需的处理程序分别被存储在引导ROM 49和53中,并且在系统启动时分别被加载到工作RAM 47和51中。
作为替换,引导ROM 49和53可以只存储引导加载程序,以便允许处理程序被存储在HDD 44中。在该情况下,引导加载程序在系统启动时从HDD 44读出每一个程序,并将其加载到工作RAM 47或51中。
为了从HDD 44加载程序,只需要将用于程序传送的数据缓冲器提供在共享存储块45中。
此外,以上说明取HDD作为波形数据存储器的例子,但是波形数据存储器可以是其它任何大容量存储器,即使需要花费长时间从其存储介质读取数据。例如,它可以是用于诸如只读光盘(CD-ROM)、磁光盘(MO)和数字通用光盘(DVD)的存储介质的重现装置,或者可以是具有大存取延迟的低速RAM。它也可以是USB 2.0闪存或者其它的闪速ROM。
以上描述了实施输入的诸如MIDI消息的演奏信息被处理、以合成音乐声波形的情况下的特定例子。
然而,存储器中存储的诸如标准MIDI文件(SMF)的音乐数据也能够被重现,以合成音乐声波形。在该情况下,如果根据音乐数据中包括的时间信息(持续时间信息)将音乐数据转换成实时MIDI数据,则能够以如同以上特定例子一样的方式来合成音乐声波形。
作为替换,可以以这样一种方式将时间信息包括在声音产生参数(控制参数)中,以致于时间信息被通知给DSP 50,并被DSP 50解释以便合成音乐声波形。
在该情况下,因为可以预先确定直到发声开始为止的延迟时间,因此也能够减小工作RAM的容量。
此外,基于在波形存储器声音产生系统中产生音乐声波形的假设,进行了以上说明。然而,本发明可应用于使用波形数据作为材料的其它任何声音产生系统。
例如,本发明可应用于多重演奏AEM(articulation element modeling)声音产生系统。
此外,本发明不限于模拟声乐器的声音的音乐声波形的合成。本发明可以使用人工生成的音乐声波形。本发明进一步可应用于唱歌或播音的人声的合成,只要系统用于合成声音波形。总之,本发明可应用于包括音乐声信号和人声的声音的合成。
Claims (7)
1.一种声音波形合成器设备,用于根据从外部提供的波形控制信息和存储介质中存储的波形数据来执行声音波形合成,该声音波形合成器设备包括:
波形数据提供部分,
波形数据处理部分,
连接在波形数据提供部分与波形数据处理部分之间的波形缓冲器,以及
连接在波形数据提供部分与波形数据处理部分之间的控制数据处理部分;
该声音波形合成器设备的特征在于,
波形数据提供部分接收来自控制数据处理部分的第一传送请求,并响应第一传送请求来从存储介质读取波形数据,以将波形数据提供给波形缓冲器;
波形缓冲器存储从波形数据提供部分提供的波形数据;
波形数据处理部分接收来自控制数据处理部分的第二传送请求,并响应第二传送请求,使得波形数据从波形缓冲器传送到波形数据处理部分,波形数据处理部分根据传送的波形数据和从控制数据处理部分提供的控制参数来执行声音波形合成,同时向控制数据处理部分通知声音波形合成的状态和声音波形合成的进展;以及
控制数据处理部分根据从波形数据处理部分通知的声音波形合成的进展来生成第一传送请求,并向波形数据提供部分发送第一传送请求,该控制数据处理部分从外部接收波形控制信息,并根据波形控制信息以及从波形数据处理部分通知的声音波形合成的状态来生成控制参数,该控制数据处理部分把基于第一传送请求的第二传送请求和生成的控制参数一起发送给波形数据处理部分。
2.根据权利要求1所述的声音波形合成器设备,其中波形数据处理部分包括第一总线、连接到第一总线并用于存储波形数据的第一存储器、以及连接到第一总线并用于在声音波形合成期间处理波形数据的数字信号处理器,而波形数据提供部分包括第二总线、用于从存储介质读取波形数据并将读取的波形数据供给第二总线的读装置、以及连接到第二总线并用于存储波形数据的第二存储器,以便波形缓冲器连接在第一总线与第二总线之间,来通过波形缓冲器将波形数据从波形数据提供部分的第二存储器传送到波形数据处理部分的第一存储器。
3.根据权利要求2所述的声音波形合成器设备,其中控制数据处理部分进一步根据波形控制信息来生成读请求,并将读请求发送给波形数据提供部分的读装置,以及其中,当读装置收到读请求时,读装置操作,以便从存储介质读出波形数据并将读出的波形数据传送到第二存储器。
4.根据权利要求3所述的声音波形合成器设备,其中波形数据提供部分包括控制器,该控制器用于控制第二总线,以使从第二存储器到波形缓冲器的波形数据传送被给予比从存储介质到第二存储器的波形数据传送更高的优先级。
5.根据权利要求3所述的声音波形合成器设备,其中控制数据处理部分在波形控制信息到控制数据处理部分的输入开始之前,向波形数据提供部分的读装置发送读请求,使得在声音波形合成之前,将波形数据从存储介质传送到第二存储器。
6.根据权利要求1所述的声音波形合成器设备,其中波形数据处理部分与给定帧周期同步地根据波形数据逐帧地执行声音波形合成,以合成声音波形,以致每一帧都包含多个声音波形样本,以及其中,当波形数据提供部分收到第一传送请求时,波形数据提供部分操作,以和帧周期相一致地将波形数据从存储介质传送到波形缓冲器。
7.一种对声音波形合成器设备进行操作的方法,所述声音波形合成器设备由波形数据提供部分、波形数据处理部分、连接在波形数据提供部分和波形数据处理部分之间的波形缓冲器、和连接在波形数据提供部分和波形数据处理部分之间的控制数据处理部分组成,用于根据波形控制信息和波形数据来执行声音波形合成,所述方法包括以下步骤:
当从控制数据处理部分收到第一传送请求时,操作波形数据提供部分,以便响应该第一传送请求而从存储介质读取波形数据、并将读出的波形数据提供给波形缓冲器;
操作波形缓冲器,以便存储来自于波形数据提供部分的波形数据;
当从控制数据处理部分收到第二传送请求时,操作波形数据处理部分,以便响应该第二传送请求而将波形数据从波形缓冲器传送到波形数据处理部分;
操作波形数据处理部分,以便根据传送的波形数据和从控制数据处理部分供给的控制参数来执行声音波形合成,同时将声音波形合成的状态和声音波形合成的进展通知给控制数据处理部分;
操作控制数据处理部分,以便根据从波形数据处理部分通知的声音波形合成的进展来生成第一传送请求,以及将第一传送请求发送给波形数据提供部分;
当收到波形控制信息时,操作控制数据处理部分,以便根据波形控制信息和从波形数据处理部分通知的声音波形合成的状态来生成控制参数;以及
操作控制数据处理部分,以便把基于第一传送请求的第二传送请求和生成的控制参数一起发送给波形数据处理部分。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-091517 | 2004-03-26 | ||
JP2004091517A JP4102930B2 (ja) | 2004-03-26 | 2004-03-26 | 音波形合成装置 |
JP2004091518 | 2004-03-26 | ||
JP2004-091518 | 2004-03-26 | ||
JP2004091518A JP4102931B2 (ja) | 2004-03-26 | 2004-03-26 | 音波形合成装置 |
JP2004091517 | 2004-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1674090A CN1674090A (zh) | 2005-09-28 |
CN1674090B true CN1674090B (zh) | 2011-02-02 |
Family
ID=34863571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510055994.8A Expired - Fee Related CN1674090B (zh) | 2004-03-26 | 2005-03-24 | 声音波形合成器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7381879B2 (zh) |
EP (1) | EP1580729B1 (zh) |
CN (1) | CN1674090B (zh) |
DE (1) | DE602005004685T2 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7420115B2 (en) * | 2004-12-28 | 2008-09-02 | Yamaha Corporation | Memory access controller for musical sound generating system |
US7807914B2 (en) * | 2007-03-22 | 2010-10-05 | Qualcomm Incorporated | Waveform fetch unit for processing audio files |
JP4475323B2 (ja) * | 2007-12-14 | 2010-06-09 | カシオ計算機株式会社 | 楽音発生装置、及びプログラム |
US8183452B2 (en) | 2010-03-23 | 2012-05-22 | Yamaha Corporation | Tone generation apparatus |
JP5614420B2 (ja) * | 2012-03-09 | 2014-10-29 | カシオ計算機株式会社 | 楽音発生装置、電子楽器、プログラム及び楽音発生方法 |
JP5915420B2 (ja) * | 2012-07-05 | 2016-05-11 | カシオ計算機株式会社 | 楽音発生装置、楽音発生方法、電子楽器及びプログラム |
JP2014092722A (ja) * | 2012-11-05 | 2014-05-19 | Yamaha Corp | 音発生装置 |
JP6904141B2 (ja) * | 2017-07-28 | 2021-07-14 | カシオ計算機株式会社 | 楽音発生装置、方法、プログラム、及び電子楽器 |
JP6922614B2 (ja) * | 2017-09-27 | 2021-08-18 | カシオ計算機株式会社 | 電子楽器、楽音発生方法、及びプログラム |
CN109741720A (zh) * | 2018-11-28 | 2019-05-10 | 星海音乐学院 | 一种合成器软件 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1159637A (zh) * | 1995-12-21 | 1997-09-17 | 雅马哈株式会社 | 产生乐音的方法和装置 |
EP0747878B1 (en) * | 1995-06-07 | 2001-09-26 | Yamaha Corporation | Music system, tone generator and musical tone-synthesizing method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446237A (en) * | 1992-01-08 | 1995-08-29 | Yamaha Corporation | Electronic musical instrument having a control section memory for generating musical tone parameters |
US5525748A (en) * | 1992-03-10 | 1996-06-11 | Yamaha Corporation | Tone data recording and reproducing device |
JP2882311B2 (ja) * | 1995-06-07 | 1999-04-12 | ヤマハ株式会社 | ミュージックシステム、音源および楽音合成方法 |
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 |
US6441290B2 (en) * | 2000-02-01 | 2002-08-27 | Yamaha Corporation | Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device |
-
2005
- 2005-03-23 DE DE602005004685T patent/DE602005004685T2/de active Active
- 2005-03-23 EP EP05006393A patent/EP1580729B1/en not_active Not-in-force
- 2005-03-24 CN CN200510055994.8A patent/CN1674090B/zh not_active Expired - Fee Related
- 2005-03-25 US US11/090,663 patent/US7381879B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0747878B1 (en) * | 1995-06-07 | 2001-09-26 | Yamaha Corporation | Music system, tone generator and musical tone-synthesizing method |
CN1159637A (zh) * | 1995-12-21 | 1997-09-17 | 雅马哈株式会社 | 产生乐音的方法和装置 |
Non-Patent Citations (1)
Title |
---|
JP特开平6-51776A 1994.02.25 |
Also Published As
Publication number | Publication date |
---|---|
US7381879B2 (en) | 2008-06-03 |
EP1580729A1 (en) | 2005-09-28 |
US20050211070A1 (en) | 2005-09-29 |
EP1580729B1 (en) | 2008-02-13 |
DE602005004685D1 (de) | 2008-03-27 |
DE602005004685T2 (de) | 2009-02-12 |
CN1674090A (zh) | 2005-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1674090B (zh) | 声音波形合成器 | |
US6100461A (en) | Wavetable cache using simplified looping | |
CN100495532C (zh) | 乐音发生方法与设备 | |
US5808221A (en) | Software-based and hardware-based hybrid synthesizer | |
JP4025501B2 (ja) | 楽音発生装置 | |
CN110299128A (zh) | 电子乐器、方法、存储介质 | |
CN108630178A (zh) | 乐音生成装置、乐音生成方法、记录介质及电子乐器 | |
US5847304A (en) | PC audio system with frequency compensated wavetable data | |
TW300298B (zh) | ||
US5901333A (en) | Vertical wavetable cache architecture in which the number of queues is substantially smaller than the total number of voices stored in the system memory | |
JPH08160961A (ja) | 音源装置 | |
EP0882286B1 (en) | Pc audio system with frequency compensated wavetable data | |
US7274967B2 (en) | Support of a wavetable based sound synthesis in a multiprocessor environment | |
CN1763839B (zh) | 乐音发生方法与设备 | |
JP3275678B2 (ja) | 楽音発生方法および装置 | |
JPH11167517A (ja) | 信号処理装置 | |
JPH10319958A (ja) | 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体 | |
JP2611531B2 (ja) | 楽音合成装置 | |
JPH08152884A (ja) | 音源装置 | |
JP3060920B2 (ja) | ディジタル信号処理装置 | |
JP3387810B2 (ja) | サウンドプロセッサ | |
JPS6335994B2 (zh) | ||
JP2000122668A (ja) | デジタル音声データ処理装置およびコンピュータシステム | |
JP3313050B2 (ja) | カラオケ装置及びカラオケ再生方法 | |
JP2001318672A (ja) | 楽音発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
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: 20110202 Termination date: 20190324 |