专利名称:波形产生装置的制作方法
本申请是申请人于1992年12月12日递交的第9211,4244.7号发明专利申请(发明名称“波形产生装置”)的分案申请。
本发明涉及的是一个带有波形存储器的波形产生装置(音源),具体地讲,本发明涉及的波形产生装置产生的第一个波形需要一个内插操作,产生的第二个波形环需要这样的内插操作,而是在时间分配的基础上适当地开关产生这些波形。
在电子(音乐)乐器中,通常一直是用波形产生装置来产生一个波形、一个包络以及各种用于音乐控制的控制函数。作为这样的波形产生装置(例如有一种带有波形存储器的装置),把一个确定波形的、顺序抽样点上的幅度值存储起来,用一个累加器顺序地将与所产生乐音的音调相符的频率信息F(常数)进行累加,并读波形存储器以提供波形数据,用顺序提供的累加值qF的整数部分I当作地址,其中q=1,2,3,……。
在这个先前技术的波形产生装置中,波形存储器的存取是利用频率信息F(所谓F数)所累加的值qF(q=1,2,3,……)的整数部分I作为地址来进行的,这就发生了时间基线的量化。换句话说,所累加的值qF的小数部分被忽略不计了。此外,波形存储器各个地址中所存储的波形幅度值是数字数据,这些数据是出现在预定时间间隔上的离散值。因此,用地址信号I(整数)从波形存储器中读出来的音乐波形自然地就含有不应有的量化噪声。
为了解决这个问题,有人建议这样的一个系统,该系统中在所需位置上的幅值由算术运算来获得,运算的依据是多个抽样点上的幅度值。例如,日本专利刊物No.17838/1984揭示了一种波形产生装置,该装置中对两个相邻的基本抽样点的波形幅度值进行计算和提供,方法是根据地址信号整数部分所标记的各个基本抽样点上波形幅度值插入一个内插值。
按照这个波形产生装置,存储器容量能得到节省,并且,有精确时基的波形不会产生小的量化噪声。
由电子(音乐)乐器产生的乐音之间,有一些乐音要求有高精度的音波而另一些乐音则不要求有这样的精确波形。例如,节奏声就不需要这样的精确波形,因此也就不需要用内插来获得精确的波形数据。
本发明提供的波形产生装置中,把利用诸如内插的运算以获得高精度波形数据的处理与不需要这样的运算以产生波形数据的处理结合起来,其目的就是增加电子(音乐)乐器中波形产生装置的适用性。
为了达到上述本发明的目的,依据本发明的波形产生装置包括一个波形存储器,以存储波形抽样值数值;一个方式标记部分,以标识是第一方式还是第二方式;以及一个处理部分,以控制波形存储器的读出,这取决于所标识的是第一方式还是第二方式当标识的是第一方式,则完成的处理是产生和输出一组根据从波形存储器读出的多个抽样值数据的波形抽样值数据。当标识的是第二方式,则完成的处理是产生和输出一组根据从波形存储器读出的一个抽样值数据的波形抽样值数据。
当第一方式被标识时,处理部分所完成的处理是利用从波形存储器读出的多个抽样值数据去实现预定的内插运算。因此,能够产生出波形抽样值数据其精度高于波形存储器中所存储数据的精度。相反,
当第二方式被标识时,一组波形抽样值数据的产生是根据从波形存储器读出的一个抽样值数据,所以不实现上述的内插,其产生的波形抽样值数据具有与波形存储器中所存储的数据相同的精度。在第二方式中不需要内插运算时间,所以,能够产生更多波形的抽样值数据。
例如,在乐音信号产生的处理是在一个处理通道中完成的情况下(该通道包括一个处理时间槽的预定数),在第一方式中,多个抽样值数据在预定数的处理时间槽中被读出,并且,根据读出的数据产生波形抽样值数据;反之,在第二方式中,不同波形的波形抽样值数据能够在预定数的处理时间槽(组成一个处理通道)中分别读出,因此,不同的波形信号能够利用一个处理通道来产生。
因此,藉标识第一方式或第二方式,适当地依据所产生的乐音波形的性质(例如,性质的差别在于需要一个高的精度或在不需要这样的高精度,不过最好要保证能够简单地产生的乐音的数目),波形产生装置能够有效地使用。在下面所要描述的实例中,作为一个例子,当符合键盘上标记的音阶音符的波形信号以高精度产生的情况下,就标识第一方式;而在符合所选节奏的多个打击乐器的波形信号以简单的结构产生的情况下,就标识第二方式。
在第一方式中,分给所产生乐音波形信号的包络信号其产生是依据在一个处理通道中形成的一个乐音波形信号;反之,在第二方式中,不同的包络信号分别产生是为在一个处理通道中形成的多个乐音波形信号。
包括一个处理通道的处理时间槽的预定数来必需要是连续的。符合一个处理通道的所分配的处理时间槽能够方便地用于复制并具有数据处理中的信号延迟。
现在,我们参考附图来描述本发明的实例。
在附图中,
图1是表示一个电子(音乐)乐器的方框图,图中依据本发明的波形产生装置实例用于音源;图2是一个方框图,表示图1中时基产生部分的例子图3是一个时间图,表示各个时基信号;图4是一个方框图,表示图1中乐音信号产生部分的例子;图5是一个方框图,表示图4中读出部分的例子;图6是一个时间图,表示读出部分所提供的地址数据的时基;图7是一个方框图,表示图4中内插部分的例子;图8是一个方框图,表示图4中多功能包络产生器的例子;图9是一个方框图,表示图1中速率寄存器的例子;图10是一个方框图,表示图1中目标寄存器的例子;图11是为了说明包络产生器所完成的音符上延迟功能的波形图;图12是为了说明包络产生器的低频信号波形产生功能的波形图;图13是为了说明包络产生器的包络波形产生功能的波形图;图14是为了说明包络产生器的内插功能的波形图;图15是一个方框图,表示图4中系数产生部分;图16是一个方框图,表示图4中操作部分;图17是一个时间图,说明产生乐音波形的操作;图18是一个时间图,说明产生节奏声波形的操作;
图19是一个示意图,表示在波形产生处理中的一个基本的信号处理。
图1是一个电子乐器的方框图,图中,依据本发明的波形产生装置的实例用于音源。这个图中的电子乐器包括一个有多个键的键盘101,能输出一个与所按之键相应的键码;一个标识乐音音色的音色标识开关102;一个微计算机103,产生和输出一个F数(频率信息)以代表一个由键盘101产生的键码所对应的频率,和为产生音色音波的参数,此音色与音色开关102的标记相对应;一个音源104,产生和输出一个对微计算机103的指令作出响应的乐音波形;一个波形存储器105,存储前述PCM(PCM是脉冲编码调制的缩写)调制音波数据和节奏声波数据;一个D/A转换器106,把音源104提供的乐音信号OUTD进行数模转换;以及一个声音系统107,按照D/A转换器106提供的模拟乐音信号产生一个乐音。
音源104包括一个接口111,把微计算机103提供的各种数据写入所提供的各个寄存器部分。各个寄存器部分的数据提供给乐音信号产生部分118。乐音信号产生部分118依据输入数据对波形存储器105进行存取,以提供预定的波形数据。这个音源104有两种运作方式正常方式和节奏方式。在正常方式中,音源104起的作用是32通道(0-31通道)的PCM音源(实际上产生的波形是PCM波形和FM波形的合成波)。在节奏方式中,音源104起的作用是30个通道的PCM音源和80通道的节奏声源。(上述FM是频率调制的缩写)。
在每个通道中的处理是在时间分配的基础上完成的。具体地讲是这样安排的对节奏声8个通道的处理安排在正常方式的第30和第31通道的处理时基上。这样的时分处理将在以后作更进一步的描述。完成时分处理是对时基产生部分120所产生的各种时基信号的响应。时基产生部分120将在以后参考图2作更进一步的描述。
通过接口111写入数据的寄存器有下列几个(1)方式寄存器(RM)(参考图1中112)这是一个1位寄存器。当这个寄存器的值是“0”时,代表正常方式,当这个寄存器的值是“1”时,代表节奏方式。
(2)音行开寄存器(NON)(参考图1中113)这是一个1位寄存器,标识PCM乐音的产生。按照PCM音源的各个通道,共提供有32个音符开寄存器。当一个确定的键被按下时,微计算机103对此键进行检测,进而指定一个通道去产生一个基于PCM音源的乐音。与所指定通道相对应的NON寄存器被调谐到“1”。当此键释放时,NON寄存器就恢复为“0”。
(3)节奏寄存器(RON)(参考图1中113)这是一个1位寄存器,标识节奏声的产生。按照节奏声源的各个通道,共提供有8个RON寄存器当节奏声被产生时,微计算机103指定一个通道产生节奏声。与所指定通道相对应的RON寄存器被调谐到“1”。
(4)F数寄存器(FN)(参考图1中114)这是一个25位寄存器。按照PCM音源的各个通道,共提供有32个FN寄存器。当一个确定的键被按下时,微计算机103将与所按键的键码对应的F数置于相应的FN寄存器中。F数被顺序地累加并附加上起始地址(存储在下面要描述到的SA寄存器中)以组成顺序的读地址去存取波形存储器(5)起始地址寄存器(SA)(参考图1中114)从波形存储器中读数据的地址,其起始地址存储在此寄存器中。按照PCM音源的各个通道,共提供有32个SA寄存器。
(6)节奏读出速度寄存器(RSP)(参考图1中114)这是一个2位寄存器,存储在波形寄存器中节奏声的波形数据其读出的速度存储在此寄存器中,因而说起来与PCM音源的F数相对应。按照节奏声源的各个通道,共提供有8个RSP寄存器。
(7)幅度调制深度寄存器(AMD)(参考图1中115)这个寄存器中存储的参数是控制低频振荡器中幅度调制深度的。
(8)音调调制深度(PMD)寄存器(参考图1中115)这个寄存器中存储的参数是控制低频振荡器中音调调制深度的。
(9)速率寄存器部分(参考图1中116)包含在本实例音源的乐音产生部分118中,包络产生器(下文中称为EG)是一个实现多个功能的多功能EG。速度寄存器部分116产生一个参数RATE提供给多功能EG。多功能EG能够在各个时间分割的时基上实现不同的功能,因此,由EG在给定时基上实现的功能所对应的参数被提供来作为参数RATE。速率寄存器部分116的具体结构将在以后参考图6来描述(10)目标寄存器部分(参考图1中117)目标寄存器部分117产生一个参数TARGET提供给多功能EG。在每个时间分割的时基上,多功能EG实现其中的一个功能,相应的参数被提供来作为参数TARGET。目标寄存器部分117的具体结构将在以后参考图7来描述。
用来标识上述寄存器的符号也可用来标识这些寄存器中所存储的数据。例如,符号RM标识方式寄存器,也可标识作为存储在方式寄存器中数据的方式值。下面描述的所有其它寄存器也是相同情况。
可以用任何适当的方法在任何适当的时基上写入这些寄存器。
图2是一个方框图,表示图1中时基产生部分120的具体结构。时基产生部分120有一个时基产生器201,它包括一个3位计数器202,一个5位计数器203和一个节奏时基产生部分204。加到时基产生器201上的是时钟信号Φ0,Φ1,Φ2和Φ3。时钟信号Φ0是一个时钟脉冲,它是本装置中的最高频率且被开关在“0”和“1”上。时钟信号Φ1是由时钟信号Φ0的二分频而获得的时钟脉冲,时钟信号Φ2是由时钟ΦΦ1的二分频而获得的时钟脉冲,时钟信号Φ3是由时钟Φ2的二分频而获得的时钟脉冲。
3位计数器202重复地对时钟信号Φ0进行“0”到“7”的计数。3位计数被提供作为一个槽时间SLT。换句话说,槽时间SLT是十进计数法中“0”,“1”,“2”,……“7”,“0”,“1”,……这样的方法来提供的。 3位槽时间SLT的最低有效位标记为SLTO,接着一位是SLT1,最高有效位是SLT2 。
5位计数器203从3位计数器202接收进位信号并从“0”到“31”重复地计数。5位计数器被提供作为一个通道时间CHT。换句话说,通道时间CHT是十进计数法中“0”,“1”,“2”……“31”,“0”,“1”,……这样的顺序来提供的。通道时间CHT的最低有效位标记为CHT0,较高位为CHT1,CHT2,CHT3(从最低有效位开始排列),最高有效位为CHT4。
考虑到3位计数器202是一个低阶计数器,5位计数器是一个高阶计数器,这两个计数器组成的一个计数器可重复地从“0”到“255”计数。
时基产生器201响应所提供的时钟信号,在各个预定的时基上产生一个按键延迟时基信号TOND,一个低频振荡器时基信号TLFO,一个PCMEG时基信号TPE,一个FM EG时基信号TFE,一个FM调制因子电平内插时基信号TMI,一个PCM电平内插时基信号TPI,一个FM电平内插时基信号TFI和一个滤波系数处理时基信号TDF。
节奏时基产生部分204接收方式RM作为它的使能信号。当方式RM是“1”时,亦即节奏方式时,节奏时基产生部分204在各个预定的时基产生一个节奏声EG时基信号TRE,一个节奏声内插时基信号TRI和一个节奏读时基信号RT以产生一个节奏声。当方式RM是“0”时,亦即正常方式时,节奏时基产生部分204不必产生为节奏声的产生而所需的那些时基信号。
或门207计算节奏声EG时基信号TRE和节奏声内插时基信号TRI的逻辑或,计算的结果提供来作为节奏操作的时基信号TR。或门207的输出被反相器208反相,门205响应反相器208的输出,被关闭或被打开。因此,当方式RM是“1”且产生节奏声的时基信号被产生时,与这个节奏声不同的时基信号TOND,TLFO,TPE,TFE,TMI,TPI和TDF(这些信号是用来产生乐音的)就不会产生出来。
或门206计算PCM EG时基信号TPE,FM EG时基信号TFE和节奏声EG时基信号TRE的逻辑或。计算的结果提供来作为EG操作的时基信号TEG。
图3是一个时间图,表示由图2的时基产生部分120所产生的时基信号。因为在乐音信号产生部分118中EG在产生这些时基信号的各个时基上实现不同的功能,所以图3可以说是表示了目前正在被EG处理的数据。
在图3中,竖着写的并用括号括在一起的通道时间CHT和槽时间SLT的线(即,重复地出现“0”到“255”值的线)表示了一个8位值,在这8位值中,通道时间CHT组成一个高阶值,槽时间SLT组成一个低阶值。SLT线(即,重复地出现“0”到“31”值的线)表示了时基产生部分120所产生的通道时间CHT的值。
本实例的音源实现了在跳过的时间槽上对一个通道的处理。例如,参考图3,在第28通道上对PCM中有关连的波形产生其处理是在下列时间实现的(1)当CHT是30而SLT是0时,按键延迟时基信号TOND被产生,因而EG完成了按键延迟处理。
(2)当CHT是30而SLT是4时,PCM EG时基信号TLFO被产生,因而EG完成了低频振荡器处理。(低频振荡器在以后用缩写LFO来标记)。
(3)当CHT是31而SLT是0时,PCM EG时基信号TPE被产生,因而EG完成了PCM EG处理(即,包络产生处理)。
(4)当CHT是31而SLT是4时,FM EG时基信号TFE被产生,因而EG完成了FM EG处理(即,包络产生处理)。
(5)当CHT是0而SLT是0时,FM调制因子电平内插时基信号TMI被产生,因而EG完成了FM音源调制因子电平内插处理。
(6)当CHT是0而SLT是4时,PCM电平内插时基信号TPI被产生,因而EG完成了PCM电平内插处理。
(7)当CHT是1而SLT是0时,FM电平内插时基信号TFI被产生,因而EG完成了FM电平内插处理。
(8)当CHT是1而SLT是4时,滤波系数处理时基信号TDF被产生,因而EG完成了对操作部分的数字滤波器滤波系数的内插操作。同样,例如在第29通道,第30通道和第31通道中处同样,例如在第29通道,第30通道和第31通道中处理时基以图例方法被产生出来。当槽时间SLT是“1”和“5”时,第29通道中各个时基信号TOND等等被产生出来。当槽时间SLT是“2”和“6”时,第30通道中各个时基信号被产生出来。当槽时间SLT是“3”和“7”时,第31通道中各个时基信号被产生出来。
正如图3所示,当槽时千SLT是“0”和“4”时产生时基信的线与这些槽一起被称作为“A槽”。同样,槽时间SLT是“1”和“5”的部分被称作为“B槽”,槽时间SLT是“2”和“6”的部分被称作为“C槽”,槽时间SLT是“3”和“7时的部分被称作为“D槽”。
A槽产生第0,第4,第8,第12,第15,第20,第24和第28通道的时基信号。B槽产生第1,第5,第9,第13,第17,第21,第25和第29通道的时基信号。C槽产生第2,第6,第10,第14,第18,第22,第26和第30通道的时基信号。D槽产生第3,第7,第11,第15,第19,第23,第27和第31通道的时基信号。
正如前述,在本实例的音源中,PCM中在其上正常完成波形产生处理的部分时基用于在节奏方式时节奏声波形的产生。具体地讲,在节奏方式时,C槽第30通道的各个时基和D槽第31通道的各个时基被节奏声波形产生处理的时基信号所取代。即,在正常方式(RM=0时,上述时基信号TOND等等被产生出来在PCM音源的第30和第31通道产生波形;反之,在节奏方式(RM=1)时,C槽第30通道的8个时基被用在下列方法中(1)当CHT是0而SLT是2时,节奏声第0通道的EG时基信号TRE被产生,因而完成了节奏声包络产生处理。
(2)当CHT是0而SLT是6时,节奏声第0通道的电平内插时基信号被产生,因而完成了节奏声内插电平数据的产生处理。
(3)同样,当CHT是1而SLT是2时,完成了节奏声第1通道的节奏声EG处理。当CHT是1而SLT是6时,完成了节奏声第1通道的节奏声电平内插处理。当CHT是2而SLT是2时,完成了节奏声第2通道的节奏声EG处理。当CHT是2而SLT是6时,完成了节奏声第2通道的节奏声电平内插处理。当CHT是3而SLT是2时,完成了节奏声第3通道的节奏声EG处理。当CHT是3而SLT是6时,完成了节奏声第3通道的节奏声电平内插处理。
同样,在节奏方式时,D槽第31通道的8个时基被用在下列方法中
(1)当CHT是1而SLT是3时,节奏声第4通道的EG时基信号TRE被产生,因而完成了节奏声的包络产生处理。
(2)当CHT是1而SLT是7时,节奏声第4通道的电平内插时基信号TRI被产生,因而完成了该节奏声产生内插电平数据的处理。
(3)同样,当CHT是2而SLT是3时,完成了节奏声第5通道的节奏声EG处理。当CHT是2而SLT是7时,完成了节奏声第5通道的节奏声电平内插处理。当CHT是3而SLT是3时,完成了节奏声第6通道的节奏声EG处理。当CHT是3而SLT是7时,完成了节奏声第6通道的节奏声电平内插处理。当CHT是4而SLT是3时,完成了节奏声第7通道的节奏声EG处理。当CHT是4而SLT是7时,完成了节奏声第7通道的节奏声电平内插处理。
正如前述,通道时间CHT的值与处理通道是不同的,例如,第28通道的处理是从通道时间CHT为“30”的位置上开始的,第29通道的处理是从通道时间CHT为“31”的位置上开始的。这样的安排是为了使每个通道中的处理与从波形存储器105读出的PCM波形数据所处的时基同步且提供内插。在本实例中,考虑到组成电路的乘法器的速度,为了在每个通道中产生一个PCM波形,在每四个时间槽上执行8种功能。由于这种结构利用了跳过槽的安排方法,所以,用提供的延迟电路在电路的许多点上对时基强制同步的必要性就减小了,从而使在电路中所需的延迟电路的数目能够得以减少。
图4是一个方框图,表示了乐音信号产生部分118的具体结构。本实例中的乐音信号产生部分118包括一个乘法器401,一个读出部分402,一个内插部分403,一个操作部分404,一个多功能EG405,一个LFO(低频振荡器)闩锁电路406,一个波形成形部分407,又一个波形成形部分408,一个选择器409,一个系数产生部分410和一个通道积累部分411。
用于乐音信号产生部分118的F数FN被加到乘法器401上并与波形成形部分407的输出相乘。多功能EG405有一个低频振荡器的功能,低频振荡器的输出通过闩锁406加到波形成形部分407上。波形成形部分407依据表示音调调制深度的参数PMD对从闩锁406来的LFO输出进行处理,然后将经处理的输出加到乘法器401上。藉此处理,乘法器401的输出变为F数,F数中隐含了音调调制深度PMD,且此F数FN被加到读出部分402。
起始地址和其它信号被加到读出部分402。读出部分将输入的F数积累起来,并顺序产生地址AD去存取波形存储器105。波形存储器105预先存储有乐音波形数据和节奏声波形数据。因此,读出部分402为PCM波形数据产生读地址,还在节奏方式时为节奏声波形数据产生读地址。
在本实例的音源中,在四个抽样点上的抽样数据从波形存储器105读出并对这些数据进行内插以产生PCM波形。为此,读出部分402产生小数部分数据FRAC用于内插。因为节奏波形数据不需要内插(因节奏声不需要这样的精度),所以从波形存储器读出的数据直接可以使用。
依据从读出部分402来的地址AD,每四个抽样点的抽样数据WSD从波形存储器105读出。内插部分403接收该读出的抽样数据WSD及由402读出部分所提供的小数部分数据FRAC,实现了用四个抽样点抽样数据的内插以产生PCM乐音波形数据。在遇到延迟处理之后,直接提供节奏声的波形数据,以致使在抽样时基上提供的波形数据作为PCM乐音波形数据的输出时基。从内插部分403来的波形数据输出IWD被加到操作部分404。
多功能EG405实现多个功能。这些功能是在上述时基信号被产生的时基上完成的。为了实现预定的功能,多功能EG405将输出数据在预定的时基加到系数产生部分410上。在预定的时基上,系数产生部分410为实现功能而将系数COEF加到操作部分404。操作部分404依据系数产生部分404来的系数COEF完成运算处理(例如分配包络),从而产生最终的波形数据MTD。多功能EG405,系数产生部分410和操作部分404的操作和功能将在以后加以描述。
由操作部分404所提供的波形数据MTD加到通道累积部分411由通道予以累积并作为音源104的输出加到D/A转换器106(图1)。
多功能EG405在功能上亦可作为一个LFO。从多功能EG405来的LFO输出被闩锁电路406闩锁后加到波形成形部分407,正如上面所描述的,也加到波形成形部分408。波形成形部分408依据表示幅度调制深度的参数AMD对闩锁电路406来的LFO输出进行处理并通过选择器409加到系数产生部分410。由于从波形成形部分408来的LFO输出被隐含在系数产生部分410所产生的系数中,所以PCM波形数据经受了预定的幅度调制。
现在,参考图5,我们将描述关于读出部分402。读出部分402包括一个PCM地址计数器部分501和一个节奏地址计数器部分502。PCM地址计数器部分501包括一个全加器511,一个半加器512,一个门513,一个移位寄存器514(是一个延迟电路,有21位×64级的存储区)和一个移位寄存器515(是一个延迟电路,有17位×32级的存储区)。F数FN被加到全加器511上,同时还加上从PCM地址计数器部分501来的38位输出中的低阶25位。全加器511的进位信号加到半加器512的进位入。当进位入加上时,半加器512就完成了关于从PCM地址计数器部分501来的38位输出中高阶13位的一次进位,即,计数完。全加器511的输出(低阶25位)和半加器512的输出(高阶13位)一起加到门513。
当音符开寄存器NON是“1”时,门513开;当音符开寄存器NON是“0”时,门513关。门513的输出中,低阶21位加到移位寄存器514(64级),高阶17位加到移位寄存器515(32级)。
移位寄存器514将21位输入数据按时钟信号Φ2顺序地移位到下一级。时钟信号Φ2是这样的一种时钟信号每一个通道出间被产生两次,即,在CHT保持一个数值期间的时间周期中被产生两次,正如参考图2和图3所描述的那样。因此,在移位寄存器514中21位低阶数据在每个通道时间被移位两次。
在移位寄存器515中,17位输入数据按时钟信号Φ3被顺序地移位到下一级。时钟信号Φ3是这样的一种时钟信号每一个通道时间被产生一次,正如参考图2和图3所描述的那样。因此,在移位寄存器515中,17位高阶数据在每个通道时间被移位一次。由于有这样的情况在某些通道中不需要高阶17位,所以要把移位寄存器分成两个来提供。例如,当计算FM的相位时,正弦波波形数据的一个周期如果在最大时被读出,那么这一个周期就足够了,于是,高阶17位在这样情况下就不需要了。
在移位寄存器514和移位寄存器515的输出中(总计38位),低阶25位被加到全加器511,高阶13位被加到半加器512。F数的累积是由这个环形电路实现的。在移位寄存器514和515的38位输出中,高阶23位还被加到选择器503作为存取波形存储器地址的整数部分。移位寄存器514和515输出的低阶15位被提供来作为存取波形存储器地址的小数部分FRAC。进一步说,低阶21位中的12位被提供来作为FM的相位数据PHASE。
节奏地址计数器部分502包括一个译码器521,一个门522,一个全加器523,一个半加器524和一个移位寄存器526--一个延迟电路,有一个19位×8级的存储区。
译码器521对2位节奏读出速度RSP进行译码。当节奏读出速度RSP是“00”时,由节奏地址计数器部分502提供的地址在产生8个时钟信号Φ1的情况下步进一步。同样,当节奏读出速度RSP是“01”时,地址在每4个时钟信号上步进一步。当节奏读出速度RSP是“10”时,地址在每2个时钟信号上步进一步。当节奏读出速度RSP是“11”时,地址在每个时钟信号上步进一步。
门522的开或关是对节奏读出时基RT的响应。在节奏方式时,当通道时间CHT是“30”或“31”时,节奏读出时基RT为“1”,否则为“0”。因此,仅在节奏方式时,当通道时间CHT是“30”或“31”时,译码器521的输出通过门522加到全加器523。
全加器523是一个4位全加器,它的一个输入是从移位寄存器526来的低价4位,另一个输入是从门522来的4位。在从门522来的4位中,当节奏读出速度RSP是“00”时,电平线变为“1”,并连接到4位全加器523的最低有效位(20位)上。因此,全加器523就把4位数据“0001”加到移位寄存器526来的低价4位上。
当节奏读出速度RSP是“01”时,门522变成“1”,从门522来的输出线被接到4位全加器523最低有效位相邻的那一位上(21位)。因此,当节奏读出速度RSP是“01”时,全加器523把4位数据“0010”加到从移位寄存器526来的低价4位上。
当节奏读出速度RSP是“10”时,门522变成“1”,从门522来的输出线被接到4位全加器523再相邻的那一位上(22位)。因此,当节奏读出速度RSP是“10”时,全加器523把4位数据“0100”加到从移位寄存器526来的低阶4位上。
当节奏读出速度RSP是“11”时,门522变成“1”,从门522来的输出线被接到4位全加器523最高有效位上(23位)。因此,当节奏读出速度RSP是“11”时,全加器523把4位数据“1000”加到从移位寄存器526来的低阶4位上。
从全加器523来的进位信号被加到半加器524的进位入。当进位信号加上时,半加器524就完成关于从移位寄存器526来的19位输出中高阶15位的一次进位(计数完)。全加器523输出的低价4位和半加器524输出的高阶15位一起加到门525。
当节奏开寄存器RON是“1”时,门525开;当节奏开寄存器RON是“0”时,门525关。门525的19位输出加到8级移位寄存器526上。移位寄存器526按时钟信号Φ1完成对下一级的顺序移位。时钟信号Φ1是这样的时钟信号每一个通道时间产生4个时间,正如参考图2和图3的上面所述。因此,在移位寄存器526中,每一个通道时间19位数据被移位4次。
在从移位寄存器526来的19位输出中,低价4位被加到全加器523,高阶15位被加到半加器524。从译码器521来的输出的累积就是这个环形电路来作的。在从移位寄存器526来的19位输出中,高阶16位被加到选择器503作为存取波形存储器中节奏声波形的地址。为了使加到选择器503输入端限制在23位,低阶7位全是“0”。
当节奏读出时基RT是“0”时,选择器503进行选择并将输入端是从PCM地址计数器部分501来的数据予以输出;当节奏读出时基RT是“1”时,选择器503进行选择并将输入端是从节奏地址计数器部分502来的数据予以输出。从选择器503来的23位输出被加到加法器505并加上由内插计数器504提供的2位数据。当节奏读出时基RT是“0”时,内插计数器504以十进计数法顺序输出“0”,“1”,“2”和“3”。因此,关于由选择器503产生的一个PCM地址数据,把“0”,“1”,“2”和“3”加到这个PCM地址上就得到了四个相邻的地址。这四个地址数据分别被加到加法器506中的起始地址上以提供为存取波形存储器的最后四个地址数据。
另一方面,当节奏读出时基RT是“1”时,内插计数器504产生十进计数法的“0”。因此,由选择器503提供的节奏声地址数据被加到加法器506中的起始地址上以提供为存取波形存储器最后的地址数据。
上述内插计数器504和其它电路是依据时基Φ1来操作的,在该时基上时钟信号,在一个通道时间被产生四次。因此,为了产生一个PCM乐音波形,当寻址时,在一个通道时基内产生四个相邻的地址。正如以后要描述的,这四个地址组成四个抽样地址用于由内插获得的PCM波形数据。当对节奏声来说,每一个通道时间产生四次地址数据。四个节奏声的地址数据在一个通道时基内产生。
图6表示从读出部分402来的地址数据的输出时基。当PCM乐音波形被产生的时候,为存取内插的四个抽样的四个地址数据P0,P1,P2和P3在一个通道时基内被顺序地产生。当节奏声波形被产生的时候,为存取四个节奏声的节奏声抽样的四个地址数据r0,r1,r2和r3在一个通道时基内被顺序地产生。
关于这些地址数据,作为从图4波形存储器105读出的PCM抽样数据,四个相邻的抽样数据WSD在一个通道时基内被顺序地加到内插部分403;反之,作为节奏声抽样数据,四个节奏声的四个抽样数据WSD在一个通道时基内被顺序地加到内插部分403。
现在参考图7描述内插部分403。利用已知的插入内插方法,如日本专利刊物NO.Sh 059-17838所发表的。内插部分403产生并输出PCM波形数据,还在经延迟后产生并输出节奏声波形数据。内插部分403包括一个系数存储器701,一个辅助计数器702,一个乘法器703,一个累加器704,一个闩锁电路705,一个门706,一个与门707,一个反相器708,一个延迟电路709和一个门710。
系数存储器701存储四个系数AO(FRAC)-A3(FRAC)对应各个小数部分FRAC的值。辅助计数器702产生K=0,1,2,3,与从波形存储器105相邻地产生的四个抽样数据WSD的输出时基同步。系数存储器701接收小数部分作为地址信号加到它的第一个输入端,辅助计数器702的系数值K(=0,1,2,3)加到它的第二个输入端并依据这些信号的值顺序地产生四个系数AK(FRAC)。
乘法器703把系数存储器701顺序地产生的四个系数AK(FRAC)与波形存储器105来的相邻产生的四个抽样数据WSD相乘并将乘的结果送到累加器704。累加器704将相乘的四个结果进行累加。这就实现了从四个抽样来的内插。利用四个抽样数据的累加完成后,累加器704被清除以便作下一次累加。由累加器704提供的、经内插的PCM波形数据被闩锁电路705闩锁并通过门706被提供出去。
加到内插部分403的节奏声的波形数据被延迟电路709延迟一个预定时间,并通过门710传递出去。设置一个预定值作为延迟电路709的延迟时间,并且节奏声的输出也延迟一个相同的时间作为PCM波形有效内插的处理时间,于是,PCM波形数据和节奏声波形数据在相同的时基上被提供。
与门707将方式RM和节奏运算时间TR(见图2)相与。当方式RM是“1”且节奏运算时基TR是“1”时,即,方式是节奏方式,时基是完成产生节奏声运算的时基,则与门707产生为“1”。与门707的这个“1”输出就打开了门710,从而内插部分403就产生节奏声的波形数据。与门707的“1”输出经反相器708反相后变为“0”,从而使门706关闭。因此,此时PCM波形不产生。
在另外的时基上,与门707产生为“0”。与门707的“0”输出将门710关闭,因此,节奏声的波形数据就不被产生。与门707的“0”输出经反相器708反相后变为“1”,从而使门706打开。因此,此时PCM波形数据被产生。
从内插部分403来的这些波形数据的时基表示在图3中。即,图3中标记为“被内插的PCM波形”的线表示了时基,在该时基上特殊通道的被内插的PCM波形数据从内插部分403产生。例如,第28通道的PCM波形数据产生在通道时间CHT为“0”的时基上,第29通道的PCM波形数据产生在通道时间CHT为“1”的时基上,等等。
标记为“读出节奏波形的存储器”的线表示了时基,在该时基上产生节奏声波形数据。如上所述,在PCM第31和第32通道部分中在节奏方式时完成了节奏声波形的产生处理。因此,节奏声的波形数据在PCM的第30和第31通道中被产生。参考字符r0,r1……,r7标记了节奏声第0通道,第1通道,……第7通道的波形数据。
现在参考图8,将描述图4的多功能EG 405。多功能EG405包括一个延迟的音符开DNON产生部分801,一个EG状态产生部分802,一个选择器控制部分803,一个加法器804,一个延迟电路805,一个选择器806,一个有255级的移位寄存器807和一个检测器808。加法器804接收来自图1速率寄存器部分116的参数RATE。延迟电路805接收来自图1目标寄存器117的参数TARGET。
在详细地描述多功能EG 405的操作之前,我们将先来描述这些寄存器部分的结构和从那里所产生的参数。
图9是一个表示图1中速率寄存器部分116的具体方框图。速率寄存器部分116包括一个延迟时间寄存器901,一个T-R转换器909,一个LFO速率寄存器902,一个PCM EG速率寄存器903,一个FM EG速率寄存器904,一个FM调制因子内插速率寄存器905,一个PCM电平内插速率寄存器906,一个FM电平内插速率寄存器907,一个DCF系数内插速率寄存器908,一个节奏声EG速率产生部分910,一个选择器911和一个节奏声电平内插速率寄存器912。
延迟时间寄存器901存储延迟时间T以确定一个速率,用在当EG 405实现音符延迟功能的时候。当EG405产生一个LFO输出的时候,LFO速率寄存器902存储LFO的一个速率。PCM EG速率寄存器903存储包络的速率(即,冲击速率,一次衰减速率,二次衰减速率和释放速率)用于当EG 405产生一个PCM包络的时候。FM EG速率寄存器904存储包络的速率(即,冲击速率,一次衰减速率,二次衰减速率和释放速率)用于当EG 405产生一个FM包络的时候。
FM调制因子内插速率寄存器905存储一个内插速率用于当EG 405实现FM调制因子内插处理的时候。FM电平内插速率寄存器907存储一个内插速率用于当EG 405实现FM电平内插处理的时候。DCF系数内插速率寄存器908存储一个内插速率用于当EG405B现操作部分中数字滤波器系数的内插的时候。
8个寄存储901至908分别有通道数的存储区。例如,延迟时间寄存器901是32个寄存器的集合,即,第0通道延迟时间寄存器第1通道延迟时间寄存器,……,和第31通道延迟时间寄存器。其它的寄存器902至908也是这种情况。但是,PCMEG速率寄存器903和FM EG速率寄存器904对一个通道的每个存储区存储四个速率,即冲击速率,一次衰减速率,二次衰减速率和释放速率。
8个寄存器901至908分别接收通道时间CHT(5位)。这8个寄存器901至908还接收8个由图2时基产生部分120所产生的时基信号,即,按键延迟时基信号TOND,LFO时基信号TLFO,PCM EG时基信号TPE,FM EG时基信号TFE,FM调制因子电平内插时基信号TMI,PCM电平内插时基信号TPI,FM电平内插时基信号TFI和滤波器系数处理时基信号TDF。
各个寄存器901至908的数据作为参数RATE在每个通道中这些时基信号被产生的时基上传送出去。
例如,参考图3,第28通道的按键延迟时基信号TOND是在CHT=30和SLT=0的时基上被产生的。在这个时基上,LFO速率寄存器902产生为第28通道的LFO速率。所产生的LFO速率组成参数RATE。类似地,第28通道的LFO时基信号TLFO在CHT=30和SLT=4的时基上被产生。在这个时基上,LFO寄存器902产生的第28通道的LFO速率。所产生的LFO速率组成参数RATE。
因为PCM EG速率寄存器903每一个通道提供四个速率数据,所以它接收一个EG状态EGST以便使四个数据互相区分。EG状态寄存器EGST是一个由图8中EG405的EG状态产生部分802所产生的信号。EG状态EGST表示了通常所产生的包络中的波形状态。更具体地讲,当EG405通常正在产生冲击部分的波形,EG状态EGST假定是值“1”。当EG405通常正在产生一次衰减部分的波形时,EGST是“2”。当EG405通常正在产生二次衰减或维持部分时(或没有声音被产生),EGST是“3”。
第28通道的PCM EG时基信号TPE在CHT=31和SLT=0的时基上被产生。在这个时基上和在EG状态EGST为“0”的条件下,PCM EG速率寄存器903产生第28通道中包络的冲击速率。类似地,在时基信号TPE的时基上和在EG状态EGST为“1”,“2”和“3”的条件下,PCM EG状态寄存器903分别产生第28通道中包络的一次衰减速率、二次衰减速率和释放速率。所产生的这些速率被产生出来作为参数RATE。
从FM EG速率寄存器904产生四个速率数据的时基是与上述PCM EG速率寄存器903的那些时基相同。但是,FMEG速率寄存器904产生速率数据作为参数RATE对应于EG状态EGST是发生在产生FM EG时基信号TFE的时基上。
用描述延迟时间寄存器901和LFO寄存器902相同的方法,其它的寄存器905至908产生的各个数据作为参数RATE是发生在产生各个时基信号的时基上。
节奏声EG速率产生部分910接收通道时间CHT的低阶2位CHT0和CHT1,还接收EG状态EGST和节奏EG时基TRE。节奏声EG状态产生部分810在节奏EG时基TRE的时基上产生节奏声EG速率数据。具体说,正如图3所示,在节奏EG时基TRE被产生的时基上,节奏声通道能够用下列方法由通道时间CHT的低阶2位CHT0和CHT1的值来决定。
(1)当CHTO为0和CHTL亦为0时,CHT可以是0亦可以是4,因此,被产生的节奏声EG速率数据可以是节奏声第0通道的数据也可以是节奏声第7通道的数据。
(2)当CHTO为0和CHTL为1时,CHT为0或4,因此,被产生的节奏声EG速率数据是节奏声第1通道或节奏声第4通道的数据。
(3)当CHTO为1和CHTI为0时,CHT是2,因此,被产生的节奏声EG速率数据可以是节奏声第2通道的数据也可以是节奏声第5通道的数据。
(4)当CHTO为1和CHTI为1时,CHT是3,因此,被产生的节奏声EG速率数据可以是节奏声第3通道的数据也可以是节奏声第6通道的数据。
对于CHTO和CHTI各个值的响应,节奏声第0通道,第1通道,第2通道或第3通道的节奏声EG速率数据被产生自标记为“(0,1,2,3)”的输出端;节奏声第7通道,第4通道,第5通道或第6通道的节奏声EG速率数据被产生自标记为“7,4,5,6)”的输出端。这些转出被分别加到选择器911的A端和B端。当槽时间SLT是“2”(即图3中的C槽上)时,选择器911进行选择并将转入到A端的数据输出;当槽时间SLT是“3”(即图3中的D槽上)时,选择器911进行选择并将输入到B端的数据输出。因此,为产生图3所述的节奏声,当各个通道的时基信号被产生时,相应通道的节奏声EG速率数据被提供作为参数RATE 。
每个节奏声的一个通道因此而产生的节奏声EG速率数据是四个速率数据。为了互相区分这四个速率数据。加入了EG状态EGST。更具体地讲,当节奏声的冲击部分波形现行产生时,EGST是“0”。此时,节奏声EG速率产生部分910产生节奏声声包络的冲击部分。类似地,当节奏声一次衰减部分的波形产生时,EGST是“1”。当节奏声二次衰减部分的波形产生时,EGST是“2”。当节奏声释放部分的波形产生时(或没有声音被产生),EGST是“3”。节奏声EG速率产生部分910相应地产生节奏声包络的一次衰减速率。二次衰减速率和释放速率。
节奏声电平内插速率寄存器912存储了为实现节奏声电平内插的速率。实现节奏声电平内插是利用对8个节奏声通道上用的值。因此,作此安排就使在节奏声内插时基信号TRI的时基上,在节奏声电平内插速率寄存器912中所存储的值被提供来作为参数RATE。
然后,参考图10,我们将描述图1所示的目标寄存器部分117。目标寄存器部分117包括一个译码器1001,一个或门1002,一个最大值产生器1003,一个最小值产生器1004,一个PCM EG目标寄存器1005,一个FM EG目标寄存器1006,一个FM调制电平数据寄存器1007,一个PCM电平数据寄存器1008,一个电平数据寄存器1009,一个DCF系数数据寄存器1010,一个节奏声EG目标值产生部分1011,选择器1012,一个节奏声电平数据寄存器1013和一个选择器1014 。
最大值产生器1003存储了当EG405完成音符延迟功能时的目标值,当EGEG405产生LFO时的目标值和当EG405产生PCM包络释放部分的波形时的目标值。因为相同的值用於所有通道的最大值产生器1003中存储的目标值,相同的值用於所有通道的最小值产生器1004中存储的目标值,所以,这些产生器分别有一个单一的存储区。
加到或门1002的是按键延迟时基信号TOND,LFO时基信号TLFO和从译码器第0通道输出端来的输出信号。译码器1001接收EG运算时基信号TEG,还接收EG状态EGST。在EG运算时基上,译码器1001在第0、第1、第2和第3输出端(即,在该译码器上标记“0”,“1”,“2”和“3”的输出端)上提供“1”响应EG状态EGST的值。因此,在产生包络冲击部分的时基上,译码器1001的第0输出端变为“1”。在一次衰减部分的时基上,第1输出端变为“1”。在二次衰减部分的时基上,第2输出端变为“1”。在释放部分的时基上,第3输出端变为“1”。否则,这些输出端是“0”。
于是,在EG405完成音符开延迟功能,LFO输出功能输出包络的冲击部分这些时基上,或门1002将“1”加到最大值产生器1003上。最大值产生器1003对此响应,产生一个常数,此常数在这些功能的执行中变为一个目标值并提供作为参数TARGET。
译码器1001的第3输出端加到最小值产生器1004。在这个信号的输入时基上,即在EG405产生包络释放部分的时基上,最小值产生器1004产生一个常数,此常数变为释放波形的一个目标值并提供作为参数TARGET。
6个寄存器1005至1010分别有与通道数相对应的存储区。例如,PCM EG目标寄存器1005是一32个存储区的集合,即存储第0通道目标值的存储区,存储第1通道目标值的存储区,……,存储第31通道目标值的存储区。其它的寄存器1006至1010其情况是相同的。
PCM EG目标寄存器1005和FMEG目标寄存器1006分别存储两个目标值于一个通道的存储区中,即,一次衰减部分目标值--一次衰减电平和二次衰减部分目标值--二次衰减电平。FM调制电平数据寄存器1007,PCM电平数据寄存器1008,FM电平数据寄存器1009和DCF系数数据寄存器1010在一个通道的每个存储区存储一个目标值。
通道时间CHT(5位)被加到6个寄存器1005至1010。在时基产生部分120产生的6个时基信号也被加到6个寄存器1005至1010,这6个时基信号是PCMEG时基信号TPE,FM EG时基信号TFE,FM调制因子电平内插时基信号TMI,PCM电平内插时基信号TPI,FM电平内插时基信号TFI和滤波系数处理时基信号TDF。
在各个通道中产生这些时基信号的时基上,存储在寄存器1005至1010中的数据被提供作为参数TARGET。
因为每一个通道有两个目标值数据从PCM EG目标寄存器1005读出,所以从译码器1001的第1和第2输出端来的输出信号S12(2位)被加到寄存器1005上以便区分这两个目标值。藉此输出信号S12,无论EG405正在产生包络的一次衰减部分还是二次衰减部分,都能被检测出来。当一次衰减部分的输出被检测出来时,PCM EG目标寄存器1005产生一次衰减电平;当二次衰减部分的输出检测出来时,产生二次衰减电平。
低价2位CHTO和CHTI,译码器1001的输出信号S12和节奏EG时基TRE一起加到节奏声EG目标值产生部分1011。节奏声EG目标值产生部分1011在节奏EG时基TRE上产生节奏声的EG目标值数据。产生这些数据的方法是与图9中节奏声EG速率产生部分910和选择器911的方法相同。对各个CHTO和CHTI的响应,节奏声第0,第1,第2和第3通道的节奏声EG目标值数据从标记为“(0,1,2,3)”的输出端提供;节奏声第7,第4,第5或第6通道的节奏声EG目标值数据从标记为“(7,4,5,6)”的输出端提供。这些输出加到选择器1012的A端和B端。选择器1012进行选择并且当槽时间SLT是“2”时(即,在图3中的C槽),将输入到A端的数据输出;当槽时间SLT是“3”时(即,在图3中的D槽),将输入到B端的数据输出。因此,当各个通道的时基信号被产生,以产生图3所述的节奏声的时候,对应通道的节奏声EG目标值数据被提供来作为参数TARGET。
由此而产生的节奏声EG目标值数据对节奏声的一个通道有两个目标值数据。为了相互区分这两个目标值数据,译码器1001的输出信号S12被加上。即,当节奏声一次衰减部分的波形被现行产生时,节奏声EG目标值产生部分1011产生节奏声包络的一次衰减电平。类似地,当节奏声二次衰减部分的波形被现行产生时,节奏声EG目标产生部分1011产生节奏声包络的二次衰减电平。
节奏声电平数据寄存器1013存储了各个通道节奏声电平。作这样的安排,使在节奏声内插时基信号TRI的时基上,存储在这个节奏声电平数据寄存器1012中的数据提供来作为参数TARGET。这个寄存器1013与选择器1014连接方法与节奏声EG目标值产生部分1011和选择器1012的连接方法是相同的,因此不再赘述。但是,由于所产生的节奏声电平数据对每个通道是一个数据,所以输出信号S12不加到节奏声电平数据寄存器1013。
现在,参考图11至图14,我们来详细地描述多功能EG404的功能。
图11是一张表述多功能EG405的音符开延迟功能的波形图。在图中,“COUNT VALUE”表示现行由EG405处理的数据。具体说,它是EG405的移位寄存器807最后一级的值并加到加法器804和检测器808上。
参考图8,有255级的移位寄存器807按照时钟信号Po实现移位。因此,移位寄存器807的数据与接到移位寄存器807最后一级的一级延迟电路--一加法器804的数据加起来,则从现时点倒计数的256个时钟(在Φo中)的数据被存储下来。正如图3所示,这个数据是对应于第0至第31通道的各个功能的一系列数据(每个通道8个)。
参考图11,在确定通道的按键延迟时基信号TOND的时基上,EG405与这个通道的NON寄存器有关(图1中113)。在NON寄存器为“0”的同时(例如,参考1101的位置),选择器控制部分803控制选择器806使选择器806进行选择并输出常数最小值。因此选择器806产生常数最小值作为现行的计数值被写入移位寄存器807的第一级。然后,键盘101的一个键被按下,从而指定了一个确定的通道,这个通道的NON寄存器变为“1”。
NON寄存器调谐到“1”的情况下,选择器控制部分803在这个通道的按键延迟时基信号TOND的时基上控制选择器806,于是,选择器806进行选择并把从加法器804输入进的数据输出去(参考1102)。此时,正如图9和图10所描述的那样,速率R(=1/延迟时间T)作为参数RATE以及常数最大值(构成目标值)作为参数TARGET分别加到EG405上。因此,加法器804完成相加处理速率R加上已经被写入的常数最小值。在加法器804中相加的结果经过选择器806被写入移位寄存器807。
在时钟进一步增加并到达这个通道按键延迟时基信号TOND的下一个时基的情况下,在NON寄存器为“1”的同时,速率R同样被加到存储在移位寄存器807中的相应数据上,且相加的结果被写入移位寄存器807。在这个方法中,移位寄存器807所存储的数据(计数值)被积累(即,在速率R上计数完)(参考1103)。
在此期间,组成目标值的参数TARGET(常数最大值)被加到检测器808,检测器808对加到加法器804的移位寄存器807最后一级值与目标值TARGET进行比较。当移位寄存器807最后一级值到达目标值TARGET(参考1104)的时候,检测信号OVER从“0”升到“1”。作为对这个检测信号OVER升高的响应,选择器控制部分803控制选择器806进行选择并输出常数最大值。因此,常数最大值接着被维持下来(作为移位寄存器807所存储的数据)直到检测出NON寄存器调谐在“0”(参考1105)。
检测信号OVER也加到DNON产生部分801。DNON产生部分801在检测信号OVER升高的时基上产生音符开脉冲NONP(参考1106)。DNON产生部分801还直接提供检测信号OVER作为延迟音符开DNON。
然后,在键盘101上的键弹回来时,所弹回来的键的该通道的NON寄存器被指定变为“0”。在NON寄存器调谐到“0”的情况下,选择器控制部分803在这个通道按键延迟时基信号TOND的时基上控制选择器806进行选择并输出常数最小值(参考1107)。检测器808使检测信号OVER降为“0”并在信号OVER下降的时基上产生音符关脉冲NOFP。
当EG405实现音符开延迟功能时,EG405执行后面的操作。
图12是一张表述多功能EG405的LFO波形产生部分的波形图。参考图12,EG405的选择器控制部分803控制选择器806(在每个通道的LFO时基信号TLFO的时基上),使选择器806进行选择并将从加法器804来的输入数据予以输出。此时,LFO速率被加到EG405作为参数RATE。因此,加法器804完成了将LFO速率与已经被写入的数值进行相加处理。在加法器804中相加的结果通过选择器806写入移位寄存器807。
在时钟进一步增加并到达这个通道LFO时基信号TLFO下一个时基时,LFO速率同样被加到已经存储在移位寄存器807的数值上且相加的结果被写入移位寄存器807。在这个方法中,在移位寄存器807中所存储的数据被积累(在LFO速率上计数完)(参考1201)。
在此期间,常数最大值作为组成目标值的参数TARGET被加到检测器808。检测器808将送到加法器804的移位寄存器807最后一级的值与目标值TARGET进行比较。当移位寄存器807最后一级的数值达到目标值TARGET(参考1202)时,检测信号ONER从“0”上升到“1”。作为对检测信号OVER的响应,选择器控制部分803控制选择器806进行选择并输出常数最小值。因此,接着LFO速率的累积以此最小值作为起始值继续重新开始(考参1203)。在LFO输出的时基上,上述操作基本上是重复的。
在此期间,当键盘101上一个确定的键被弹回来并因而产生音符开脉冲NONP时,选择器控制部分802检测这个脉冲并控制选择器806进行选择和输出常数最小值(参考1204)。因此,LFO输出也由音符开脉冲NONP初始化到最小值,接着LFO速率的累积被重新开始。
当EG405实现LFO波形产生功能时,EG405执行后面的操作。因此而产生的LFO波形在预定时基被传递出移位寄存器807且被图4的LFO闩锁电路406新闩锁。然后,波形由波形成形部分407和408所成形并用于幅度调制和音调调制。图12还表示了由波形成形部分407和408检波后的波形1205。在波形成形部分407和408中的波形检波处理是由LFO闩锁电路406的最高有效位造成的。当最高有效位是“1”时,所有的位均被反相。
图13是一张表示多功能EG405的包络成形产生功能的波形图。由EG405产生的包络有三种类型在PCM EG时基信号TPE的时基上产生的PCM包络;在FM EG时基信号TFE的时基上产生的FM包络和在节奏声EG时基信号TRE的时基上产生的节奏声包络。
作为例子,首先描述PCM包络的产生。参考图13,当在一个确定通道的EG时基信号TPE的时基上,现行状态是不产生乐音的状态(EG状态EGST=3),则EG405的选择器控制部分803控制选择器806进行选择并输出常数最小值。此时,加到检测器808的参数TARGET是最小值的常数最小值。因此,检测器808产生一个信号“1”作为检测信号OVER(参考1302)。
然后,当键盘101中一个确定的键被弹回来并因而产生音符开脉冲NONP时,E G状态产生器802响应音符开脉冲NONP而动作,EG状态EGST成“0”(即,输出状态是冲击部分)且选择器控制部分803对这个状态进行检测并控制选择器806进行选择,将从加法器804来的输入数据予以输出(参考1303)。在EG状态EGST为“0”的情况下,正如图9和图10所述,冲击速率AR作为参数RATE,组成目标值的常数最大值作为参数TARGET分别被加到EG40 5上。
因此,加法器804完成的处理是把冲击速率A R加到已被写入的常数最小值上。在加法器804相加的结果通过选择器806写入移位寄存器807。因为加到检测器808的参数TARGET变为常数最大值,所以检测信号OVER变为“0”。
在时钟增加并到达这个通道PCM音源EG时基信号TPE的时基下,冲击速率AR同样地被加到存储在移位寄存器807的现行数值上且相加的结果被写入移位寄存器807。在这个方法中,在移位寄存器中所存储的数据被累积(在冲击速率AR上计数完)(参考1304)。于是包络冲击部分的波形被产生了。
在此期间,当因此而被累积的计数到达目标值TARGET时((常数最大值)(参考1305),检测器808产生一个信号“1”作为检测信号OVER。EG状态产生部分802接收这个检测信号OVER并调谐EG状态EGST从“0”到“1”(一次衰减部分的输出状态)。在EG状态EGST调谐到“1”的情况下,正如图9和图10所述,一次衰减速率IDR作为参数ARTE和一次衰减电平IDL(组成目标值)作为参数TARGET分别被加到EG405。
检测器808因此对一次衰减电平1DL的计数(在这个时间点到达常数最大值)与检测信号OVER(变为“0”)进行比较(参考1306)。选择器控制部分803控制选择器806连续地进行选择并将加法器804来的输入数据予以输出。接着,一次衰减速率1DR以最大值作为起始值进行累积,从而产生了包络的一次衰减部分的波形(参考1306)。因为一次衰减速率1DR是一个负数,所以一次衰减部分的波形采取了如图所示的逐渐衰减的曲线。
当计数如此积累并达到目标值(即一次衰减电平1DL)时(参考1307),检测器808产生“1”作为检测信号OVER。EG状态产生部分802接收这个检测信号OVER并因而将EG状态EGST从“1”调谐到“2”(二次衰减部分输出状态)。在EG状态EGST调谐到“2”的情况下,正如图9和图10所示,二次衰减速率2DR作为参数RATE,二次衰减电平(组成目标值)作为参数TARGET分别加到EG405。
检测器808因此对二次衰减电平的计数(在此时间点上达到一次衰减电平1DL)与检测信号OVER(为“0”)进行比较(参考1308)。选择器控制部分803控制选择器806连续地进行选择并将从加法器804来的输入数据予以输出。接着,二次衰减速率2DR以一次衰减电平1DL作为起始值被累积,从而产生二次衰减减部分的波形(参考1309)。因为二次衰减速率2DR是一个负数,所以二次衰减部分的波形采取了如图所示的逐渐衰减的曲线。
当计数如此积累并达到目标值(即二次衰减电平2DL)时(参考1310),检测器808产生一个信号“1”作为检测信号OVER。EG状态产生部分802接收这个检测信号OVER但将EG状态EGST保持在“2”上。此时,二次衰减速率2DR作为参数RATE,二次衰减电平2DL(组成目标值)作为参数TARGET,分别加到EG405。
检测器808因此对二次衰减电平2DL的计数(在此时间点达到二次衰减电平2DL)与二次衰减电平2DL进行比较并连续产生“1”作为检测信号OVER(参考1311)。选择器控制部分803控制选择器806进行选择并通过一级延迟电路805将参数TARGET的输入予以输出。接着,二次衰减电平2DL因此作为计数而被保持,从而产生包络维持部分的波形(参考1312)。
然后,当键盘101上的键弹回来,于是产生音符关脉冲NOFP时,EG状态产生器802将EG状态EGST从“2”调谐到了“3”(释放部分输出状态)以响应音符关脉冲NOFP。选择器控制部分803检测这个状态并控制选择器806进行选择,将加法器804来的输入予以输出。在EG状态EGST调谐到“3”的情况下,正如图9和图10所述,释放速率RR作为参数RATE,常数最小值(组成目标值)作为参数TARGET分别加到EG405。
接着,释放速率RR以二次衰减电平2DL作为起始值被积累,从而产生包络释放部分的波形(参考1314)。因为释放速率是一个负数,所以释放部分的波形采取了如图所示的逐渐衰减的曲线。因为加到检测器808上的参数TARGET变成常数最小值,所以检测信号OVER变为“0”(参考1315)。
当计数如此积累并达到目标值--即常数最小值时(参考1316),检测器808产生“1”作为检测信号OVER。EG状态产生部分802接收这个检测信号OVER,但保持EG状态EGST在“3”上。此时,常数最小值连续地加在EG405上作为常数TARGET。因此,检测器808对达到常数最小值的计数(在此时间点上是目标值)与常数最小值进行比较并连续产生“1”作为检测信号OVER(参考1317)。选择器控制部分803控制选择器806进行选择并将最小值的常数最小值输入予以输出。接着,最小值的常数最小值被维持下来作为计数,于是声音状态不再连续(参考1318)。
前面描述了产生PCM包络时EG405的操作。因为在FM音源EG时基信号TFE的时基上产生FM包络和在节奏声EG时基信号TRE的时基上产生节奏声包络其操作是类似的,故不再赘述。
图14是表述多功能EG405内插功能的波形图。由EG405实现的内插功能有5种类型在产生FM调制因子电平内插时基信号TMI时执行的内插处理;PCM电平内插时基信号TPI产生时执行的内插处理;FM电平内插时基信号TFI产生时执行的内插处理;滤波系数处理时基信号TDF产生时执行的内插处理和节奏声内插时基信号TRI产生时执行的内插处理。由于以上这些内插处理的执行中EG405的操作是相同的,所以我们仅以FM调制因子电平内插处理为例来加以描述,其它内插处理的描述就省略了。
参考图14,EG405的检测器808在一个确定通道的FM调制因子电平内插时基信号TMI的时基上将计数与目标值进行比较。作为目标值TARGET,存储在目标寄存器部分117的调制电平数据寄存器1007中的数据被产生。当计数与目标值TARGET一致时(参考1401),检测器808产生“1”作为检测信号OVER,选择器控制部分803控制选择器806进行选择并通过一级延迟电路将考数TARGET的输入予以输出。因此,参数TARGET的值作为计数被维持下来(参考1401)。
然后,我们假定微计算机103重写目标寄存器部分117的调制电平数据寄存器1007的目标值(参考1402)。由于计数与目标值TARGET不同,所以检测器808产生“0”作为检测信号OVER,同时,选择器控制部分803因此控制选择器806进行选择并将来自加法器804的输入予以输出。FM调制因子内插速率寄存器905作为参数RATE被加上。因此,加法器804把这个FM调制因子内插速率RATE加到计数上。加法器804相加的结果通过选择器806被写入移位寄存器807。
在时钟增加并到达这个通道FM调制因子电平内插时基信号TMI的时基时,FM调制因子内插速率同样被加到存储在移位寄存器807的计数上。在这个方法中,存储在移位寄存器807中的数据(计数)被累积。我们假定参数RAT E和TARGET以这样的方法来选择利用速率RATE的顺序积累,速率RATE逐渐逼近目标值TARGET。
在此期间,当计数如此积累并达到目标值的时候(参考1404),检测器808产生“1”作为检测信号OVER。此时,FM调制因子内插速率作为参数RATE,组成目标值的调制电平作为参数TARGET连续地加到EG405上。
因此,检测器808对计数(已经达到目标调制电平的值)与调制电平的目标值进行比较并连续产生“1”作为检测信号OVER。选择器控制部分803控制选择器806进行选择并通过一级延迟电路805将参数TARGET的输入予以输出。接着,调制电平目标值作为计数被维持下来(参考1401)。当计数达到目标值TARGET的时候,内插就在微计算机103中发生了。于是微计算机103就知道了计数已达到目标值TARGET。
当键盘101中一个确定的键弹回来并从而产生音符开脉冲NONP时(参考1405),选择器控制部分803控制选择器806进行选择并通过一级延迟电路805将参数TARGET的输入予以输出。因此,目标值TARGET作为计数至被强制地写入。检测器808产生“1”作为检测信号OVER且调制电平的目标值作为计数被维持下来(参考1406)。
在前面提到的方法中,EG405实现了FM调制因子电平内插的处理。
现在参考图15,我们将描述图4的系数产生部分410。系数产生部分410包括一个选择器1501,一个选择器1502,一个加法器1503,一个0电平检测部分1504,一个柔音产生部分1505,一个延迟电路1506,一个限幅器1507,一个选择器1508和一个延迟电路1509。
从图8中EG405的移位寄存器807上预定抽头位置来的F1,E9,E13和E17加到选择器1501上。数据E1是移位寄存器807第一级的数据,数据E9是移位寄存器807第9级的数据,数据E13是移位寄存器807第13级的数据,数据E17是移位寄存器807第17级的数据。数据E1在这样的时基上被处理EG405中现时正被处理的数据之前一个时钟。数据E9,E13和E17分别在这样的时基上被处理现时正被处理的数据之前9个时钟、13个时钟和17个时钟。从柔音产生部分1505来的柔音信号被加到选择器1501上。
EG405的移位寄存器807的数据E9和E13加到选择器1502上。从图4中选择器409来的LFO输出ALFO也加到选择器1502上。选择器1501和1502的输出加到加法器1503上。加法器1503有一个时钟的延迟时间。相加的结果加到延迟电路1506和电平检测部分1504。延迟电路1506将输入信号延迟一个时钟并将已延迟的输出提供给限幅器1057以及选择器1508的第1个输入端。
限幅器1507接收数据DFQ(此数据决定了操作部分404数字滤波器的Q值)并对延迟电路1506来的输入进行限幅。
相加器1503相加的结果不管是“0”电平还是非“0”电平,0电平检测部分1504都予以检测。当检测出“0”电平时,它就产生一个检测信号DET。当PCM包络和FM包络比预定值(当预定的高阶位数据是“0”时)小的时候,检测信号DET是一个特定信号“1”,否则就是“0”。检测信号DET加到柔音产生部分1505。作为对检测信号DET的响应,柔音产生部分1505产生柔音信号MC,当检测信号DET是“1”时,MC处于低电平;当检测信号DET是“0”时,MC处于高电平。选择器1508在它的第0输入端接收限幅器1507的输出,在它的第1输入端接收延迟电路1506的输出,在它的第2输入端接收加法器1503的输出。选择器1508的输出通过延迟时间为2个时钟的延迟电路传送出去作为信号COEF。
由选择器1501,1502和1508提供数据的决定方法将在以后进一步描述。
现在参考图16,我们将描述图4的操作部分404。操作部分404包括一个延迟电路1601,一个输入寄存器1602,一个选择器1603,一个乘法器1604,一个延迟电路1605,一个延迟电路1606,一个选择器1607,一个选择器1608,一个加法器1609,一个F M波形产生部分1610,一个Z1延迟寄存器1611,一个Z2延迟寄存器1612,一个延迟电路1613和一个输出寄存器1614。
由内插部分403提供的PCM波形输出1WD被加到延迟电路1601上,延迟4个时钟后,加到选择器1603。类似地,内插部分403提供的节奏声波形输出1WD通过输入寄存器1602加到选择器1603上。从FM波形产生部分1610来的输出信号OPD,从Z1延迟寄存器1611来的输出信号Z1D,从延迟电路1605来的输出信号M4D和从加法器1609来的输出信号MA4D都加到选择器1603上。
选择器1603的选择输出加到乘法器1604上并在那里与从系数产生部分410来的系数输出COEF相乘。乘法器1604有3个时钟的延迟时间。乘法器1604相乘的结果被延迟电路1605延迟一个时钟,然后作为输出信号M4D加到选择器1603乘法器1604相乘的结果还加到选择器1608。从Z2延迟寄存器1612来的输出信号也加到选择器1608上。选择器1608的选择输出加到加法器1609上。
乘法器1604相乘的结果被延迟电路1606延迟4个时钟,然后加到选择器1607上。从Z1延迟寄存器1611来的输出信号Z1D,从Z2延迟寄存器1612来的输出信号Z2D,总是常数“0”的信号“0”,图5中读出部分402所提供的相位PHASE,以及从延迟电路1613来的输出信号A4D都加到选择器1607上。选择器1607的选择输出加到加法器1609上。
加法器1609将选择器1607来的输出信号与选择器1608来的输出信号一起相加。相加的结果送到FM波形产生部分1610、Z1延迟寄存器1611、Z2延迟寄存器1612、延迟电路1613和输出寄存器1614。加法器1609相加的结果还作为输出信号MA4D直接送出并加到选择器1603。
操作部分404的最后输出信号作为信号MTD从输出寄存器1614提供。
现在参考图17的时间图表,我们将描述第i通道中为产生乐音波形的操作。描述中假定第i通道是属于图3的A槽。
图17中标记为1701的8个方块表示与EG405中实现第i个通道有关的处理时基。参考字符TOND,TLFO,TPE,TFE,TMI,TPI,TFI和TDF所标识的时基信号已经描述过,可参考图2,图3和图8。在方块里面的参考字符标识为EG405在与所产生的相应时基信号的时基上被处理的数据(即由加法器804正常积累的数据)。
具体地讲,数据LF是LFO的输出数据,由EG405在CHT=i+2,SLT=4的时基信号TLFO被产生的时基上所处理。数据PE是PCM包络数据,由EG405在CHT=i+3,SLT=0的时基信号TPE的时基上所处理。数据FE是FM包络数据,由EG405在CHT=i+3,SLT=4的时基信号TFE的时基上所处理。数据MI是被内插的调制电平数据,由EG405在CHT=i+4,SLT=4的时基信号TMI的时基上所处理。数据PI是被内插的PCM电平数据,由EG405在CHT=i+4,SLT=4的时基信号TPI的时基上所处理。数据FI是FM电平数据,由EG405在CHT=i+5,SLT=0的时基信号TFI的时基上所处理。数据DF是被内插的DCF系数数据,由EG405在CHT=i+5,SLT=4的时基信号TDF的时基上所处理。
1702标识为一个时基,在该时基上产生延迟音符开DNON。延迟音符开DNON被产生在CHT=i+2,SLT=4的时基上,其被延迟一个预定的时间一一从音符开延迟功能被实现的时基起(CHT=i+2,SLT=0)。
1703标记为一个图4中波形检波部分408的处理时基。在CHT=i+4,SLT=7的一个时基上,LFO闩锁电路406将图8的EG405来的LFO输出闩锁住。为此,为LFO输出的抽头在EG405的移位寄存器第(16+3)级上被提供。利用在“16+3”级上提供抽头可以取出LFO输出,即,前19个时钟的已处理数据能够被存取的位置,因为CHT=i+2,SLT=4的时基是在CHT=i+4,SLT=7的时基之前19个时钟,在该时基上作LFO输出处理。
在A槽至D槽的任一槽上,LFO输出LF的加载是在SLT=7的时基上、在CHT+2的范围内进行的,CHT+2是从通道时间CHT起向前推进2个时钟,与具体通道有关的时基信号TFO被包括在CHT中。因此,在B槽上与这个时基同步,利用在“16+2”状态上提供抽头可以取出LFO输出,即,在移位寄存器807中前18个时钟的已处理数据能够被存取的位置。在C槽上,利用在“16+1”级上提供抽头可以取出LFO输出,即;前17个时钟的已处理数据能够被存取的位置。在D槽上,利用在“16+0”级上提供抽头取出LFO输出,即,前16个时钟的已处理数据能够被存取的位置。
图4的波形检波部分408在CHT=i+5,SLT=0~7的时基上实现了波形检波处理作为所提供LFO输出LF的响应,检波处理是对幅度调制深度AMD的相乘处理上进行的。这些处理的结果在CHT=i+6,SLT=2至CHT=i+8,SLT=1的时基上被提供,在LFO1端上作为第i通道的LFO输出(LFO1是图4中波形检波部分408的输出)。类似地,在CHT=i+7,SLT=2至CHT=i+9,SLT=1的时基上,i+1通道的LFO输出在LFO2端上被提供。
LFO1端和LFO2端的输出加到选择器409,在选择器409中槽时间SLT的最低有效位SLTO上开关所选的输出。选择器409进行选择并在这个例子的第i通道中输出LFO1,在第i+1通道中输出LFO2,且将输出作为输出数据ALFO加到图15系数产生部分410的选择器1502上。
图17的1704标识为图15系数产生部分410中的处理时基。在标识每个时基的方块中,标记“-”(休止之意)的时基上不执行有效处理。
EG405在CHT=i+4,SLT=0的时基上实现与调制电平有关的内插操作之后其相邻时基上(CHT=i+4,SLT=1),系数产生部分410的选择器1501进行选择并将输入数据E1予以输出,同时选择器1502进行选择并将输入数据E9予以输出。此时,数据E1是被内插的调制电平数据MI,是前1个时钟被处理的数据;数据E9是PCM包络数据PE,是前9个时钟被处理的数据。
这两个数据MI和PE一起加到加法器1503相加(参考1711)。相加的结果是调制电平数据ML并由加法器1503延迟一个时钟,接着,加法器1503来的输出在CHT=i+4,SLT=2的时基上加到选择器1508。此时,选择器1508被控制进行选择并将第2个端子的输入予以输出,因此,从选择器1508来的这个调制电平数据ML被加到延迟电路1509。这个调制电平数据ML被延迟电路1509延迟2个时钟,并在CHT=i+4,SLT=4的时基上加到操作部分404中的乘法器1604上作为乘数(即系数COEF)。
然后,在CHT=i+4,SLT=5的时基上,系数产生部分410的选择器1501进行选择并将输入数据E1予以输出;选择器1502进行选择并将输入数据E13予以输出。此时,数据E1是被内插的PCM电平数据PI。是前一个时钟被处理的数据;数据E13是PCM包络数据PE,是前13个时钟被处理的数据。
这两个数据PI和PE一起被加法器1503相加(参考1712)。相加的结果是PCM电平数据PL。它被加法器1503延迟一个时钟,接着,加法器1503的输出在CHT=i+4,SLT=6的时基上加到选择器1508上。此时,选择器1508被控制进行选择并将第2个端子的输入予以输出。从选择器1508来的PCM电平数据PL因而加到延迟电路1509。PCM电平数据PL被延迟电路1509延迟2个时钟,并在CHT=i+5,SLT=0的时基上加到操作部分404的乘法器1604上作乘数(即系数COEF)。
然后,在CHT=i+5,SLT=1的时基上,系数产生部分410的选择器1501进行选择并将输入数据E1予以输出;选择器1502进行选择并将输入数据E13予以输出。此时,数据E1是被内插的FM电平数据FI,是前一个时钟被处理的数据;数据E13是FM包络数据FE,是前13个时钟被处理的数据。
这两个数据F1和FE一起被加法器1503相加(参考1713)。相加的结果是FM电平数据FL,被加法器1503延迟一个时钟,接着,加法器1503的输出在CHT=i+5,SLT=2的时基上加到选择器1508上。此时,选择器1508被控制进行选择并将第二个端子的输入予以输出。因此,从选择器1508来的FM电平数据FL被加到延迟电路1509。FM电平数据FL被延迟电路1509延迟2个时钟,且在CHT=i+5,SLT=4的时基上被加到操作部分404的乘法器1604上作为乘数(即系数COEF)。
然后,在CHT=i+6,SLT=5的时基上,系数产生部分410的选择器1501进行选择并将输入数据E9予以输出;选择器1502进行选择并将输入数据ALFO予以输出。此时,数据E9是被内插的DCF系数数据DF,是前9个时钟被处理的数据;数据ALFO是从波形检波部分408的LFO1端子来的LFO输出数据。
这两个数据DF和ALFO一起被加法器1503相加(参考1714)。相加的结果是滤波系数F,被加法器1503延迟一个时钟,接着,从加法器1503来的输出在CHT=i+6,SLT=6的时基上加到选择器1508。此时,选择器1508被控制进行选择并将第2个端子的输入予以输出,从选择器1508来的滤波系数F因此被加到延迟电路1509上。滤波系数F被延迟电路1509延迟2个时钟且在CHT=i+7,SLT=0的时基上加到操作部分404的乘法器1604作为一个乘数(即系数COEF)。
类似地,在CHT=i+7,SLT=1的时基上,系数产生部分410的选择器1501进行选择并将输入数据E13予以输出,同时选择器1502进行选择并将输入数据ALFO予以输出。此时,数据E13是被内插的DCF系数数据DF,是前13个时钟的被处理的数据;数据ALFO是从波形检波部分408的FLO1端来的LFO输出数据。这两个数据DF和ALFO被处理的方法与上述方法相同(参考1715),并且,作为一个结果,滤波系数F在CHT=i+7,SLT=4的时基上加到操作部分404的乘法器1604上作为一个乘数(即系数COEF)。
在CHT=i+7,SLT=5的时基上,选择器1501进行选择并输出柔音信号MC;选择器1502进行选择并输出输入数据ALFO。这两个数据MC和ALFO一起被加法器1503相加(参考1716)。相加的结果是柔音电平MU,由加法器1503延迟一个时钟,接着,从加法器1503来的数据在CHT=i+7,SLT=6的时基上被加到选择器1508上。此时,选择器1508被控制进行选择并将第2个端子的输入予以输出,因此,从选择器1508来的柔音电平MU被加到延迟电路1509上。PGM电平数据PL被延迟电路1509延迟2个时钟,且在CHT=i+8,SLT=0的时基上被加到操作部分404中的乘法器1604上作为一个乘数(即系数COEF)。
在前面的方法中,系数产生部分410在各个时基上产生系数COEF。以上所述是针对A槽的第i通道的。在其它的槽和通道中,除了通道时间CHT和槽时间SLT外,所作的处理都是相同的。
在图17中,参考字符1705标记为由图7内插部分403所提供的被内插的(在4个点上)PCM波形数据IWD。正如前述,对于第i通道的被内插的PGM波形数据IWD在通道时间CHT=i+4时产生。
1706标记为图16中操作部分404的处理时基。具体地讲,1707标记为操作部分404中乘法器1604的相乘操作;1708标记为加法器1609中的相加操作。
在操作部分404中的选择器1603进行选择并将延迟电路1601来的PCM波形数据IWD在CHT=i+4,SLT=4的时基上输出到乘法器1604去。调制电平数据ML作为乘数COEF加到乘法器1604上。乘法器1604将这两个数据IWD和ML彼此相乘并产生一个相乘的结果,即伴有幅度调制的波形数据MO(参考1721)。乘法器1604有3个时钟的延迟时间,所以波形数据在CHT=i+4,SLT=7的时基上被加至选择器1608上。
此时,选择器1608被控制进行选择并输出来自乘法器1604的数据。另一方面,选择器1607进行选择且在CHT=i+4,SLT=7的时基上将输入相位PHASE予以输出。因此,加法器1609把波形数据MO和相位数据PHASE一起相加(参考1722),并在延迟一个时钟后,将相加的结果作为FM相位数据AO加到FM波形产生部分1610或其它部分上。作为对这个输入数据AO的响应,FM波形产生部分1610在CHT=i+5,SLT=4的时基上产生FM波形数据OPD(操作器数据)。
在CHT=i+5,SLT=4的时基上,正如前述,FM电平数据作为乘数COEF加到乘法器1604上。乘法器1604将这两个数据OPD和FL彼此相乘(参考1723)并产生一个相乘的结果,即隐含FM电平数据的FM波形数据M2。乘法器1604有3个时钟的延迟时间,因此,FM波形数据M2在CHT=i+5,SLT=7的时基上被加到选择器1608上。此时,选择器1708被控制进行选择并输出从乘法器1604来的数据,因此,FM波形数据M2被加到加法器1609上。
另一方面,操作部分404的选择器1603进行选择并将从延迟电路1601来的PCM波形数据IWD在CHT=i+5,SLT=0的时基上输出到乘法器1604。此时,正如上述,PCM电平数据PL作为乘数COEF加到乘法器1604上。乘法器1604将这两个数据IWD和PL彼此相乘并提供相乘的结果,即隐含PCM电平数据的PCM波形数据M1(参考1724)。
乘法器1604有3个时钟的延迟时间,因此,PCM波形数据M1在CHT=i+5,SLT=3的时基上加到延迟电路1606上。延迟电路1606有4个时钟的延迟时间,所以,PCM波形数据M1在CHT=i+5,SLT=7的时基上加到选择器1607上。此时,选择器1607进行选择并输出PCM波形数据M1。
因此,在时基CHT=i+5,SLT=7,PCM波形数据M1和FM波形数据M2加到加法器1609一起相加(参考1725)。相加的结果被加法器1609延迟一个时钟的延迟时间,接着,作为波形数据A1被提供,此数据A1是在CHT=i+6,SLT=0的时基上波形数据PCM和FM之和。这个波形数据A1被加到有3个时钟延迟时间的延迟电路1613上。
在上述方法中,基本波形数据A1--PCM与FM之和一一被产生。然后,这个波形数据通过数字滤波器被处理。与这个数字滤波器相应的处理将在下面描述。
选择器1603进行选择并将输入数据Z1D输出到乘法器1604(在CHT=i+6,SLT=0的时基上)。当第i通道的处理被完成时,输入数据Z1D已经在CHT=i+7,SLT=4的时基上存储于图16的Z1延迟寄存器1611中。此时,图15的系数产生部分410的选择器1508进行选择并输出由限幅器1507提供的数字滤波器Q值数据。这个数据Q作为乘数COEF加到乘法器1604。
乘法器1604将这两个数据Z1D和Q彼此相乘并提供相乘的结果--数据M3。乘法器1604有3个时钟的延迟时间,因此,数据M3在CHT=i+6,SLT=3的时基上加到选择器1608上。
此时,选择器1608被控制进行选择并输出从乘法器1604来的数据,因此,数据M3被加到加法器1609。选择器1607被控制进行选择并将输入数据A4D予以输出。这个输入数据A4D是波形数据A1即上述通过延迟电路1613提供的PCM和FM波形的和。
因此,在CHT=i+6,SLT=3的时基上,加法器1609将波形数据A1和数据M3一起相加(参考1727)。相加的结果被相加器1609延迟一个时钟的延迟时间,接着,作为波形数据A2在CHT=i+6,SLT=7的时基上被提供。这个波形数据A2加到有3个时钟延迟时间的延迟电路1613上,还作为输入数据A4D在CHT=i+6,SLT=7的时基上加到选择器1607。
在CHT=i+6,SLT=7的这个时基上,选择器1608进行选择并将输入数据Z2D予以输出。输入数据Z2D是在第i通道上述处理期间在CHT=i+8,SLT=0时基上存储在图16的Z2延迟寄存器1612中的数据。
因此,在CHT=i+6,SLT=7的时基上,加法器1609将波形数据A2和数据Z2D一起相加(参考1728)。相加的结果被加法器1609延迟一个时钟的延迟时间,接着,作为波形数据A3在CHT=i+7,SLT=0的时基上被提供。这个波形数据A3是作为输入数据MA4D直接加在选择器1603上的。此时,选择器1603被控制进行选择并将输入数据MA4D予以输出,因此,波形数据A3被加到乘法器1604上。
正如前述,在CHT=i+7,SLT=0的时基上,滤波系数F作为乘数被加到乘法器1604上。乘法器1604将这两个数据A3和F彼此相乘并提供相乘结果波形数据A4(参考1729)。因为乘法器1604有3个时钟的延迟时间,所以波形数据M4在CHT=i+7,SLT=3的时基上加到选择器1608上。此时,选择器1608被控制进行选择并输出从乘法器1604来的数据,因此,波形数据M4加到加法器1609上。
此时,选择器1607进行选择并输出从Z1D延迟寄存器1611来的输入数据Z1D。因此,在CHT=i+7,SLT=3的时基上,加法器1609将波形数据M4和数据Z1D一起相加(参考1730)。相加的结果被加法器1609延迟一个时钟的延迟时间,接着,作为波形数据A4在CHT=i+7,SLT=4的时基上被提供。这个波形数据A4被存储在Z1延迟寄存器1611中,亦作为输入数据MA4D被直接加到选择器1603上。此时,选择器1603被控制进行选择并输出这个输入数据MA4D。因此,波形数据A4被加到乘法器1604。
正如前述,在CHT=i+7,SLT=4的时基上,滤波系数F作为乘数加到乘法器1604上。乘法器1604将这两个数据A4和F彼此相乘并提供作为相乘结果的波形数据M5(参考1731)。因为乘法器1604有3个时钟的延迟时间,所以波形数据M5在CHT=i+7,SLT=7的时基上加到选择器1608上。此时,选择器1608被控制进行选择并输出从乘法器1604来的数据,因此,波形数据M5被加到加法器1609上。
此时,选择器1607进行选择并将从Z2D延迟寄存器1612来的输入数据Z2D予以输出。因此,在CHT=i+7,SLT=7的时基上,加法器1609将波形数据M5和数据Z2D一起相加(参考1732)。相加的结果被加法器1609延迟一个时钟的延迟时间,接着在CHT=i+8,SLT=0的时基上作为波形数据A5被提供。这个波形数据A5被存储在Z2延迟寄存器1612中,还作为输入数据MA4D直接加到选择器1603上。此时,选择器1603被控制进行选择并输出这个输入数据MA4D。因此,波形数据A5被加到乘法器1604上。
正如前述,在CHT=i+8,SLT=0的时基上,柔音电平MU作为乘数COEF被加到乘法器1604上。乘法器1604将这两个数据A5和MU彼此相乘并提供作为相乘结果的波形数据M6(参考1733)。因为乘法器1604有3个时钟的延迟时间,所以,波形数据M6在CHT=i+8,SLT=3的时基上被加到选择器1608上。此时,选择器1608被控制进行选择并输出从乘法器1604来的数据,因此,波形数据M6被加到加法器1609上。
此时,选择器1607进行选择并将输入数据“0”予以输出。因此,在CHT=i+8,SLT=3的时基上,加法器1609将波形数据M6和数据“0”一起相加(参考1734)。相加的结果被加法器1609延迟一个时钟的延迟时间,接着,在CHT=i+8,SLT=4的时基上作为波形数据A6被提供。这个波形数据A6被存储在图16的输出寄存器1614中且作为第i通道的最后的波形数据加到下一级的通道累加器上。
现在,参考图18的时间图表,我们来描述节奏声第30和第31通道中的操作,即对于8个通道的节奏声波形产生。
在图18中,标记为1801的16个方块表示了C槽第30通道和D槽第31通道中EG405的处理时基。在节奏方式中,EG405在这些时基上完成了为产生节奏声波形的处理。在这些方块的上面或下面出现的TRE和TRI表示了图2、图3和图8所述的时基信号。在这些方块里面出现的参考字符表示了EG405在产生相应时基信号的时基上所处理的数据(通常,数据由加法器804所积累)。
更具体地讲,RnE(n是0至7)标识为节奏声的包络数据,是由EG405在产生节奏声相应的第n通道时基信号TRE的时基上处理的。RnI(n是0至7)标识为节奏声的电平数据,是由EG405在产生节奏声相应的第n通道时基信号TRE的时基上处理的。
1802标识为图15的系数产生部分410中的处理时基。系数产生部分410的选择器1501进行选择并在CHT=2,SLT=3的时基上将输入数据E17予以输出。选择器1502进行选择并将输入数据E13予以输出。此时,数据E17是节奏声第0通道的包络数据ROE,是前17个时钟所处理的数据;数据E13是节奏声第0通道的电平数据ROL,是前13个时钟所处理的数据。
这两个数据ROE和ROL由加法器1503一起相加(参考1811)。相加的结果是数据LO,被加法器1503延迟一个时钟,在CHT=2,SLT=4的时基上,加法器1503的输出送到选择器1508。此时,选择器1508被控制进行选择,并在它的第2个端子将输入数据予以输出,因此,从选择器1508来的数据LO送到延迟电路1509。这个数据LO被延迟电路1509延迟2个时钟并在CHT=2,SLT=6的时基上作为一个乘数(即系数COEF)加到操作部分404的乘法器1604上。
1803标识为由图16中内插部分403所提供的节奏声波形数据IWD。正如前述,节奏声第0至第3通道的波形数据r0至r3在CHT=2的范围内产生,节奏声第4至第7通道的波形数据r4至r7在CHT=3的范围内产生。
1804标识为图16操作部分404中的处理时基。具体地讲,1805标识为操作部分404的乘法器1604中的相乘,1806标识为加法器1609中的相加。
在节奏方式中,操作部分404的选择器1603进行选择并在CHT=2,SLT=6的时基上将输入寄存器1602来的节奏声第0通道的波形数据r0输出到乘法器1604。此时,正如前述,数据LO作为乘数COEF被加到乘法器1604上。乘法器1604将这两个数据r0和LO彼此相乘,相乘的结果是节奏声第0通道的波形数据RO(参考1812),因为乘法器1604有3个时钟的延迟时间,所以节奏声波形数据RO在CHT=3,SLT=1的时基上被产生。
此时,选择器1608被控制进行选择并输出从乘法器1604来的数据。另一方面,选择器1607进行选择并在CHT=3,SLT=1的时基上将输入数据“0”予以输出。此时,加法器1609将节奏声波形数据RO和数据“0”一起相加(参考1813)并在延迟一个时钟的延迟时间后将相加结果作为波形数据RO在CHT=3,SLT=2的时间上提供出去。这个波形数据RO被存储在图16的输出寄存器1614中并作为最后的节奏声第0通道的波形数据送到下一级的累加器中。
上述是对于节奏声第0通道的处理。类似地,可作出在预定时基上与其它节奏声第1至第7通道和波形有关的处理。(在图18中表示)。
图19示意地表示了参考图17和图18所描述的波形产生处理中基本的信号处理。1901所标识的部分表示EG405的功能。
内插操作1911是一种处理,在此处理中,加入调制因子电平的参数MODL以实现内插操作并提供一个被内插的调制因子电平MI。这是一个由EG405在FM调制因子电平内插时基信号TMI的时基上所实现的内插操作。输入参数MODL对应于速率寄存器部分116的FM调制因子内插速率905和目标寄存器部分117的FM调制电平数据1007。
PCM EG处理1912是一种处理,在此处理中,PCM包络数据PE由加入ADSR数据来提供。这是一种由EG405在PCM EG时基信号TPE的时基上所实现的处理。输入参数ADSR包括冲击部分、一次衰减部分、二次衰减部分以及释放部分的速率和电平,并对应于存储在速率寄存器部分116的PCM EG速率寄存器903和目标寄存器部分117的PCM EG目标寄存器1005中的数据。
PCM内插处理1913是一种处理,在此处理中,内插处理由加入PCM电平数据的参数PCML来实现并产生内插电平PI。这是一种由EG 405在PCM电平内插时基信号TPI的时基上所完成的处理。输入参数PCML对应于PCM电平内插速率906和PCM电平数据1008。
FMEG处理1914是一种处理,在此处理中,FM包络数据FE由加入ADSR数据来产生。这是一种由EG 405在FMEG时基信号TFE的时基上所完成的处理。输入参数ADSR对应于存储在FM EG速率寄存器904和FM EG目标寄存器1006中的数据。
FM电平内插处理1915是一种处理,在此处理中,内插操作由加入FM电平数据的参数FML来实现并产生内插电平FI。这是一种由EG 405在FM电平内插时基信号TFI的时基上所完成的处理。输入参数FML对应于FM电平内插速率907和FM电平数据1009。
节奏声EG处理1916是一种处理,在此处理中,节奏声包络数据RnE(其中n为0至7)由加入ADSR数据来产生。这是一种由EG 405在节奏EG时基信号TRE的时基上所完成的处理。输入参数ADSR对应于节奏声EG速率产生部分910和节奏声EG目标值产生部分1011所提供的数据。
节奏声电平内插处理1917是一种处理,在此处理中,内插处理是由加入节奏声电平数据的参数RHYL来实现并产生一个内插电平RnL(其中n是0至7)。这是一种由EG 405在节奏声电平内插时基信号TRI的时基上完成的处理。输入参数RHYL对应于节奏声电平内插速率912和节奏声电平数据1013。
延迟处理1918是一种处理,在此处理中,延迟音符开DNON在延迟一个预定延迟时间后由加入音符开NON来产生。这是一个由EG 405在按键延迟时基信号TOND的时基上所完成的处理。滤波系数内插处理1919是一种处理,在此处理中,滤波系数DF由操作部分数字滤波器滤波系数正实现的内插来产生。这是一种由EG 405在滤波系数处理时基信号TDF的时基上完成的处理。LFO处理1920是一种处理,在此处理中,产生LFO输出。这是一个由EG 405在LFO时基信号TEL的时基上所完成的处理。
在图19中,标记为1902的部分表示了由系数产生部分410所完成的处理。在系数产生部分410中,由相加部分1921所内插的调制电平MI和PCM包络数据PE被相加在一起从而产生调制电平ML。在相加部分1922中,PCM包络数据PE和被内插的PCM电平PI被加在一起从而产生PCM电平数据PL。进一步讲,在相加部分1923中,FM包络数据FE和被内插的FM电平FI被加在一起从而产生FM电平数据FL。在这些相加部分1921,1922和1923中的处理对应于图15的系数产生部分410的加法器1503中的处理并对应于图18中J811的处理。
在节奏方式中,节奏声包络数据RnE和被内插的电平RnL在相加部分1924中被加在一起从而产生节奏声电平数据RL。这对应于图15中系数产生部分410的加法器1503的处理并对应于图18中1811的处理。
在图19中,标记为1903的部分表示了操作部分404中的处理。在操作部分404中,相乘部分1931将内插部分403来的PCM波形数据IWD与调制电平ML相乘从而产生幅度已调制的波形数据MO。相加部分1932把幅度已调制波形数据MO与相位数据PHASE加在一起并产生一个地址AO给FM波形数据1933。在相乘部分1931中和在相加部分1933中的处理对应于图17的1721和1722的处理。
FM波形数据部分1933被地址AO存取以提供FM波形数据OPD(即操作数据)。这个处理对应于操作部分404的FM波形产生部分1610中的处理。
相乘部分1934将FM波形数据OPD与FM电平FL相乘从而产生FM波形数据M2。这是操作部分404的乘法器1604的处理并对应于图17的1723的处理。
相乘部分1935将PCM波形数据IWD与PCM电平PL相乘从而产生PCM波形数据M1。这对应于图17的1724的处理。相加部分1936把PCM波形数据M1和FM波形数据M2加在一起从而产生波形数据A1-PCM和FM波形数据之和。这是操作部分404的加法器1609的处理并对应于图17的1725的处理。
藉助上述的处理,基本波形数据就被产生了。接着,操作部分执行一个处理在此处理中,这个波形数据通过数字滤波器被处理。在下面描述中,对应于图17或18的处理用括号中相应的参考字符来标记。
Z1延迟部分1949对应于操作部分的Z1延迟寄存器1611。相乘部分1947将Z1延迟部分1949来的输出数据Z1D与数字滤波器的Q值相乘从而产生数据M3(1726)。相加部分1937把波形数据A1与数据M3加在一起(1727)从而产生波形数据A2。Z2延迟部分1950对应于操作部分的Z2延迟寄存器1612。相加部分1938把波形数据A2和从Z2延迟寄存器1612(1728)来的输出数据Z2D相加从而产生波形数据A3。
另一方面,相加部分1944把DCF系数数据DF与LFO输出加在一起,从而产生滤波系数F(1714,1715)。相乘部分1939将波形数据A3与滤波系数F相乘(1729),从而产生波形数据A4。相加部分1940把波形数据M4与Z1延迟部分1949来的输出数据Z1D加在一起(1730),从而产生波形数据A4。这个波形数据A4被存储在Z1延迟部分1949中。相乘部分1941将波形数据A4与滤波系数F相乘(1731),从而产生波形数据M5。相加部分1942将波形数据M5和从Z2延迟部分1950来的输出数据Z2D相加(1732),从而产生波形数据A5。这个波形数据被存储在Z2延迟部分1950。
电平检测部分1946检测PCM电平数据PL和FM电平数据FL并产生检测结果一柔音信号MC。电平检测部分1946对应于图15的O电平检测部分1504。相加部分1945把柔音信号MC与LFO输出数据加在一起(1716),从而产生柔音电平MU。相乘部分1943将波形数据A5与柔音电平MU相乘(1733),从而产生波形数据M6(输出的波形数据A6)。
另一方面,在节奏方式中,相乘部分1951将节奏声波形数据IWD与节奏声电平数据RL相乘(1812),从而产生最后的节奏声波形数据Rn(其中n为0至7)。
依据以上描述的实例,对于8个通道的节奏声波形能够利用2个通道(第30和31通道)的时间槽以正常的乐音波形产生的方法来产生。因此,被产生的波形的线数能够增加而不必增加通道数。进一步讲,在以上描述的实例中,为完成各个通道的处理而用的时间槽是不连续的,而是分散的,这样,用来与处理时基同步的延迟电路的数目能够保持在最少。
正如前面所描述的,根据本发明,当第一方式被标识时(例如,在上述实例中的正常方式),对于一个输出的多个抽样点的幅度值被读出并在这些幅度值的基础上提供一个波形数据;反之,当第二方式被标识时(例如,在上述实例中的节奏方式),在一个抽样点上的幅度值被读出且这个幅度值被提供来作为波形数据。因此,波形数据的多个线能被产生而毋需增加通道数。因此,本波形产生装置的应用范围能够被扩大。
权利要求
1.一种乐音波形发生装置,包括用于产生多种函数的函数发生器,所述多种函数是通过时分复用操作产生一个乐音所必需,其中,该函数发生装置包括多个电路,且所述多种函数是利用同一电路通过时分复用操作产生的;用于根据所述乐音接通信号的产生形成至少一种乐音波形信号的波形发生装置,所述多种函数的每一种所控制的所述乐音波形信号的特性与其他函数所控制的乐音波形信号的特性不同。
2.如权利要求1所述的乐音波形发生装置,其中所述函数产生装置包括一个包络发生器,该包络发生器具有一个加法器和一个延时电路,所述多种函数由所述包络发生器通过时分复用操作产生。
3.如权利要求1所述的乐音发生装置,其中一个用于指定一个音符的产生的音符产生信号被送给所述函数发生装置,所述函数发生装置产生的多种函数中包括通过使所述音符产生信号延迟而得到的延迟音符生成信号的函数。
4.如权利要求1所述的乐音波形发生装置,其中所述函数发生装置产生的多种函数中包括一个用于调制乐音的调制波形信号函数。
5.如权利要求1所述的乐音波形发生装置,其中所述函数发生装置产生的多种函数中还包括用于控制待发生的乐音的幅度的幅度控制函数。
6.如权利要求5所述的乐音波形发生装置,其中所述的波形发生装置通过读出一个波形存储器中的抽样值数据来生成一个乐音波形信号,所述幅度控制函数控制着所述乐音波形信号的幅度。
7.如权利要求5所述的乐音波形发生装置,其中所述的波形发生装置通过频率调制操作产生一个乐音波形信号,所述的幅度控制信号控制着所述的乐音波形信号的幅度。
8.如权利要求1所述的乐音波形发生装置,其中所述的波形发生装置通过调制操作产生一个乐音波形信号,由所述函数发生装置产生的函数中包括一个用于控制所述调制操作中的调制度的调制度控制信号。
9.如权利要求1所述的乐音波形发生装置,其中所述波形发生装置包括一个用于控制待生成的乐音的音色的数字滤波器,所述的函数发生装置所生成的多种函数中包括一个提供给所述的数字滤波器的滤波器因数函数。
10.如权利要求1所述的乐音波形发生装置,还包括一个用于在实时基础上提供控制值的控制值发生装置,这些控制值用于控制所述的波形发生装置中乐音波形信号的形成,所述的函数发生装置产生的多种函数中包括一个内插控制值函数,该函数是在所述控制值发生装置顺序地提供的控制值之间进行内插而得到的,用于使波形变化趋于平滑。
11.如权利要求10所述的乐间波形发生装置,其中所述的控制值是控制待产生的乐音的音量的电平数据。
12.如权利要求10所述的乐音波形发生装置,其中所述的波形发生装置包括一个用于控制待产生的音符的音色的数字滤波器,所述的控制值发生装置产生的控制值包括将提供至所述的数字滤波器中的滤波器因数控制值。
13.如权利要求1所述的乐音波形发生装置,包括用于提供抽样值数据的波形供给装置,乐音波形是根据上述抽样值数据形成的;波形处理装置,根据所述函数发生装置提供的所述多种函数,使由所述波形供给装置提供的所述抽样值数据通过时分复用操作经受多种处理,从而形成并输出至少一种乐音波形信号,其中所述多种函数中的每一种用于控制与其他函数所控制的不同的所述乐音波形信号的一种特性;所述波形处理装置包括多个电路;所述多种处理是由波形处理装置利用同一电路以时分复用的方式执行的。
14.如权利要求13所述的乐音波形发生装置装置,其中所述的多种处理包括使抽样值数据经受一个调制信号的调制操作的处理。
15.如权利要求13所述的乐音波形发生装置,其中所述的多种处理还包括用于处理音色的滤波操作处理。
16.如权利要求13所述的乐音波形发生装置,其中所述的多种处理还包括用于控制乐音幅度的包络乘法操作。
17.如权利要求13所述的乐音波形发生装置,其中所述的多种处理还包括用于在乐音音量较小时对该乐音进行噪声抑制的操作。
全文摘要
本发明控制波形存储器的读出,完成不同处理的某个处理取决于被标识的是第一方式还是第二方式。当第一方式被标识时,在从波形存储器读出的多个抽样值数据的基础上利用处理时间槽的预定数完成内插操作并产生最终结果的一个波形抽样值数据;当第二方式被标识时,在从波形存储器读出的一个抽样值数据的基础上利用一个处理时间槽完成产生一个波形抽样值数据的操作。
文档编号G10H7/02GK1210328SQ9810778
公开日1999年3月10日 申请日期1992年12月12日 优先权日1991年12月13日
发明者野中达也, 工藤政树, 大野京子, 白川登喜男 申请人:雅马哈株式会社