CN1314673A - 可获得系列电采样输出的声音合成系统 - Google Patents
可获得系列电采样输出的声音合成系统 Download PDFInfo
- Publication number
- CN1314673A CN1314673A CN 00108334 CN00108334A CN1314673A CN 1314673 A CN1314673 A CN 1314673A CN 00108334 CN00108334 CN 00108334 CN 00108334 A CN00108334 A CN 00108334A CN 1314673 A CN1314673 A CN 1314673A
- Authority
- CN
- China
- Prior art keywords
- value
- storage unit
- sampling
- numerical value
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
在一系列工作循环中,该系统由可能来自不同源(72,73,74,100)的零级采样产生第一级采样。在考虑了频率,振幅,相位或滤波系数等参数(20,25)时就可完成此任务。在由若干存储器的位置所落实的各存储单元中对可以设定采样的数据组件进行处理。存储单元中的内容从一个工作循环到另一个工作循环可以改变,对所有存储单元来讲,分时使用数据计算设备。为了在传送到输出(S)中以前能够形成第二级采样,第一级采样可以有选择地进行组合。
Description
本发明涉及一种可以在输出获得一系列电采样的声音合成系统,在数字/模拟转换以后,这些采样可以加到一个或多个传感器上,以便产生声谱。
更确切地说,但并不受此限制,本发明涉及一种上述类型的声音合成系统,这种系统可以用一个可插入的卡制成,从而能够将其插入到个人电脑中,使电脑产生的音域很大,而且可以变化。
当前声音合成系统最常用的单元在英语单词中用“波表(Wave Table)”或“FM”表示。“Wave Table”单元是指利用预先记录在存储器中的几组声音采样对声音进行合成的单元,所述存储器可以装在任何公知的记录载体上,可以使其在装置的内部,也可以使其在装置的外部。
简单地说,“FM”单元使用两个振荡,其中一个振荡是利用另一个振荡调频的载波。当振荡数量有限时,这种原理会使振荡更加复杂。所得到的信号与调制频率和振幅的比率有关。谐波是频率调制的侧波段。这是频率比率为等差比率的结果,而且正比于调制频率和载波频率之间的比值。调制振幅确定这些谐波的数量。产生的谐波振幅不能随意确定,它们的图形与干涉曲线类似。
这意味着这些“Wave Table”单元和“FM”单元的缺陷在于它对最后声谱的组成形式来讲灵活性不够,体现序列采样特征的参数(主要是振幅,频率和相位)大多数均是预先确定的,而不能进行改变。
此外,目前的这些声音合成单元与电脑一起工作,通常是与个人电脑一起工作,所以经常出现干涉现象。为此,在合成期间,当对声音进行永久处理和恢复该声音时,电脑不能致力于管理工作,例如致力于图片制作和采集数据的管理工作,而是致力于数据处理的工作。
最后,这些公知单元不太受到欢迎,因此很难在公众大规模使用的多种手段的设备中得到应用。
本发明致力于提供一种没有上述现有单元的问题的声音合成系统。
因此本发明的目的在于对一系列电采样进行合成的合成系统,这种系统用于在输出产生声谱,其特征在于该系统包括:
-第一设备,该设备根据取样频率确定按节奏进行的连续工作循环;
-至少一个采样级为零的采样源,该采样源表示至少一个声音信号,在当时的各个工作循环x中,该源提供至少一个级为零的采样;
-第二设备,在下一个工作循环x+1期间,对于所述的每一个有待选择的零级采样来讲,该设备确定一个适于该频率参数采样的第一数值;
-第三设备,在下一个工作循环x+1期间,对于所述的每一个有待处理的零级采样来讲,该设备确定至少一个同样适于该采样的第二数值,该采样具有至少另一个参数;
-至少两个参数存储器,在当时的工作循环x中,这两个存储器分别将所述第一和第二参数存储在存储器的各个位置n中,以便在下一个工作循环x+1期间,可以使用这些数值;
第四设备,在当时工作循环x期间,该设备根据前一个工作循环x-1期间存储的n个频率参数值中的任一值,确定一个指示值,以便在所述的零级采样中指出一个或多个在下一个工作循环x+1期间有助于设定n个第一级采样的零级采样;
-一个指示值存储器,以便在当时工作循环x期间存储所述的经确定的n个指示值,从而在下一个工作循环x+1期间可以使用这些值;
-第五设备;以便在当时工作循环x期间,将前一工作循环期间存储的另一参数的相应数值施加给前一工作循环x-1期间指定的各个零级采样,从而形成n个第一级的当前采样,并将这些采样分别存储在一个累加存储器的n个位置中;
-第六设备,以便在当时工作循环x期间,将前一工作循环x-1期间存储的n个第一级采样传送给所述输出;
所述参数存储器、所述指定值存储器和所述累加存储器的n个存储位置分别体现于n个存储单元,从一个工作循环到另一个工作循环时,可以改变存储单元内容。
根据这些特征就使得产生的各个声谱采样以完全不同的固有特性进行实时组合,而且不需要很大的存储空间或设备。
根据本发明另一个基本特征,在按序工作循环期间,分时使用所述第一、第二、第三、第四、第五和第六设备,以便确定所述参数、指定数值和累加存储器中的与所述各存储单元相关的数值。
这样,大多数合成系统电路分时使用,从而在输出形成不同的产生声音的通路。由此大大简化了合成系统的结构。
根据本发明的其它优选特征
-所述系统还包括一个与所述第二、第三、第四、第五和第六设备连接的管理单元,从而根据该管理单元编制的软件管理这些设备的运行数值;
-所述管理数值是所述参数的起始值和/或这些参数的增量,所述起始值和增量由所述软件确定;
-在所述的各个循环期间,所述第一设备用来按顺序确定控制命令的n个子循环,这些子循环分别用于n个存储单元,一方面在当时工作循环x期间,各个子循环用于促进计算运行,以便确定相应存储单元的第一和第二参数值,另一方面,对于所述的n个存储器来讲,各个子循环可以在所述的n个存储位置中阅读/书写因这些数值得到确定后产生的数据,这些数据形成下一个工作循环x+1期间使用的所述n个存储单元中的各个内容;
-所述各个控制信号子循环还包括一个控制信号,以便使所述管理单元与所述第一、第二、第三、第四、第五和第六设备连通;
-所述第二设备(20B,25)执行下面形式的函数计算:
其中PARpn是当时子循环期间所考虑的存储单元的当前频率的参数值或频率参数的起始值,PARpn-1是在前一个子循环期间为该存储单元设立的频率参数值,INCpn是当前频率参数值相对于前一个值的增量;
-所述第三设备执行下面形式的函数计算:
其中PARpn是当时子循环期间所考虑的存储单元的其它参数之一的当前数值或该另一参数的起始值PARpn-1是在前一个子循环期间为该存储单元设立的所述另一参数的数值,INCpn是该另一参数的当前数值相对于前一个值的增量;
-所述第二和/或第三设备包括一个起始数值存储器和一个增量存储器,对于所述各个存储单元来讲,该起始数值存储器用于容纳参数的起始数值,对于所述各个存储单元来讲,所述增量存储器用来存储参数增量;
-所述第三设备包括一个用于至少计算所述其它参数之一的电路,该电路与第二设备的用于计算所述频率参数的电路相同;
-所述第四设备包括一个第一计算单元、一个第二计算单元和第七设备,第一计算单元用代数方法将当时工作循环的频率参数数值与一个表示有待进行合成的声音的基频数值结合在一起,当时循环期间计算出的第一级采样对该有待合成的声音有助,第二计算单元用代数方法将所述第一计算单元提供的结果与所述指定值存储器的位置中的实际内容结合在一起,所述实际内容对应于当时工作循环期间经处理过的存储单元,在所述位置中,所述第七设备将当时工作循环期间由所述第二计算单元的计算结果代替前一个工作循环期间计算出的指定值;
一所述第四设备还包括一个多路转换器,其输出与所述第二单元连接,其一个输入接收所述第一计算单元的计算结果,而其另一个输入接收所述指定值的固定数值的累进信号,特别是‘0001’,在模式信号的控制下,可以将所述固定值的指定值从一个工作循环到另一个工作循环向前推进;
-所述第四设备还包括一个第三计算单元,以便用代数方法将所述第二计算单元的计算结果与所述其它参数之一的当时结果结合在一起,这表示将要作用到下一个工作循环x+1期间产生的第一级采样上的相位;
-所述第四设备还包括一个第八设备,以便将正信号或负信号施加到所述第一计算单元得到的计算结果上;
-至少所述的某些采样源包括一个零级采样存储器,将所述指定数值用作所述零级采样存储器的地址;
-在所述零级采样存储器之间的第一存储器是一个正弦表;
-在所述零级采样存储器之间的第二存储器用于存储至少一个取样声音顺序,其按顺序排列的采样构成所述的零级采样;
-为了用所述管理单元加载,连接所述第二零级采样存储器,也可以用所述软件进行连接;
-至少所述的某些采样源包括一个函数发生器,将所述指定数值用作指定数值或用作地址,以便辨认所述有待使用的函数方程;
-所述函数发生器选自二次函数发生器、三角函数发生器,和/或正和/或负斜坡发生器;
-作为零级采样源的系统包括一个随机噪声发生器,该发生器按照所述取样频率的节奏提供采样;
-连接所述第二零级采样存储器,以便将上一个工作循环期间在计算后存储在至少一个存储单元中的第一级采样作为零级采样存储;
-该系统还包括第九设备,以便由合成系统的至少一个输入准备零级采样,来自外源的声谱加到该输入上,将所述第九设备与所述第二采样存储器连接,以便能够存储来自所述输入的零级采样;
-该系统还包括与所述至少一个输入连接的第十设备,以便分析所述外源的声谱,并且提取该声谱的参数数值,这些数值可以用来改变所述第二和第三设备确定的一个或多个参数;
-该系统还包括第十设备,以便确定所述零级采样源在所述各个工作循环期间产生所述各存储单元的第一级采样;
-所述第六设备还包括第十一设备,以便在当时的工作循环期间将前一个工作循环期间产生的所述存储单元的零级采样分配到第二累加存储器的m个存储位置中,该第二累加存储器的位置落实m个组件,这些组件的内容可以从一个工作循环到另一个工作循环进行变化,所述m个位置中的每一个位置中的内容在当时工作循环期间作为第二级采样有选择地传送到所述输出中;
-所述输出包括若干不同的输出,而且还有第十二设备,以便有选择地将第二累加存储器的存储位置中的内容作为第三级采样分配到不同的输出中;
-该系统还包括第十三设备,以便确定各时限的指定值,而在对按顺序的工作循环进行系列检测期间,该值可以在这些时限之间变化;
-所述第三设备用来按期估计所述各时限之间的指定数值,也就是先估计第一时限到第二时限之间的指定数值,再按期估计第二时限到第一时限之间的指定数值,和/或不断地按期先估计第一时限到第二时限之间的指定数值,再反过来估计第二时限到第一时限之间的指定数值;
-利用所述管理单元有选择地将运行值存储在若干具有n个位置的存储器中,这些存储器根据所述软件分属于第二、第三、第四、第五和第六设备;
-所述第三设备包括第十四设备,以便在所述的某些工作循环期间将至少一个滤波系数加到所产生的至少某些第一级采样上。
本发明的其它特征和优点将通过下面结合附图对非限定实施例的描述而更加清楚,其中:
图1是本发明声音合成装置的总运行图;
图2是用于管理单元和声音合成单元之间的信息交换的接口示意图,该接口使合成单元进行有节奏的运行;
图3和4表示图2接口中的信号的时序曲线,图3的时间刻度比图4的小;
图5表示设立参数的电路图,该电路确定有待产生的声音采样的某一特性,而且该电路属于本发明的合成单元;
图6是示意图,它介绍了图5的设立参数的四个电路如何可以用来确定四个可以固定有待产生的采样的特性参数;
图7是时间数值发生器的电路图,该电路可以先指定零级采样,然后将这些采样用来准备第一级采样;
图8的电路图确保将第一级采样分配到位于下游的合成单元的各电路中;
图9和10利用时间曲线介绍了图8分配电路中的各信号;
图11是一个将第二级采样分配到一个刚好设置在合成单元输出上游处的电路中的分配电路示意图;
图12利用简单的示意图介绍了图5和6中设立的参数如何可以根据声音信号源来影响采样的产生,这些信号源是本发明装置内的或装置外的信号源;
图13是选择本发明装置运行模式的电路示意图;
图14是出自零级采样的第一级采样的发生器电路示意图,零级采样位于合成单元内,它们可以促使声音信号波成为多种形式;
图15是根据零级采样的第一级采样发生器的电路图,零级采样也是在合成单元内产生的,但是在这种情况下可以形成随机噪声;
图16为电路图,该电路用于有选择地将一组外部输入分配给声音合成单元,以便将这些输出用作第一级采样的发生源;
图17是电路图,该电路可以存储某些零级采样;
图18表示用于确定参数的输入信号分析电路图,这些参数的特征体现在根据零级采样设立的第一级采样,零级采样具有来自外部的声音信号源;
图19是电路图,在设立第一级采样的最后相位中,该电路可以考虑某些滤波系数;
图20和21表示的是在确立第一和第二级声音采样期间用来产生时间界限的电路图;
图22是本发明合成单元的详细实施例。
图1是示意图,它以功能块的形式表示本发明声音合成装置的主要电路。在图中可以发现该装置包括三个基本单元,它们是后面称作CPU的管理电脑。该单元可以是便携式电脑,它根据预先记录在磁盘上的声音合成管理程序运行,而且用所有常用的应用程序工作,例如“Windows”TM。管理单元可以用其它任何能够执行本发明装置管理提供的程序的装置构成。
将CPU与一个功能接口Ⅰ连接,该接口一方面保证CPU和合成单元(后面称作SYNT)之间的信息交换,另一方面保证声音合成单元的所有工作节奏,而这些工作均是在该SYNT单元中完成的。该SYNT单元将希望的声音信号传送给输出S。
如图1所示,合成单元SYNT包括某些具体运行功能块,这些将在后面的各附图中进行详细描述,与这些附图相关的图均在每一个框内表示出来。简单地可以看到,SYNT单元包括两个用点划线围起来的主要运行组件EF1,EF2,它们主要用来设立参数,这些参数限定有待产生的声音采样的性能,而其它组件用来实施这些参数,同时将这些参数加到零级采样上,以便产生高级采样。此外,为了便于理解,各个功能块用一个单词或一个能够概括它们整体功能的关键词表示。
图2是本发明声音合成装置的接口Ⅰ示意图,这里用长方形1符号表示CPU。图3和4中示出了在该接口Ⅰ中产生的信号,图3的刻度比图4的小。
接口Ⅰ包括一个石英振荡器2,该振荡器将基时信号CLK(对于信号形式和它们的时间关系见图3和4)提供给三比特二进制计算器3。计算器3的三个输出Q0,Q1和Q2构成后面称作CCAL的信号,这些输出还加到二进制解码器4上,该解码器将信号解码成加到8个输出C0-C7上的三比特信号。解码器4的输出C0-C3对周期P1的四个子周期P2-AMP,P2-FRE,P2-PHA和P2-FLT解码,所述周期P1的节奏由“与”门电路5掌握。
在现有的存储器中,将“计算顺序”PCAL称作一个循环,该循环表示与信号P3和P4结合在一起的信号P1,但除了各个周期P1中为单元CPU确定存取时间的信号PCPU。信号PCPU称作“存取循环”。
解码器4的输出C4和C5分别控制子周期P3和P4的节奏,而将输出C6和C7加到一个“与”门电路ET6上,利用该“与”门电路控制子周期PCPU的节奏。应当注意的是事实上周期P1,以及子周期P3,P4和P2-AMP,P2-FRE,P2-PHA和P2-FLT的时间均相同,但它们在单元SYNT中确定激活的时间间隔由它们在各个周期中的低级的时间进行固定。因此,用词“激活脉冲”设定这些低级时间,在下面的情况中,在各个子周期中,激活脉冲彼此间存在相位差。
解码器4的输出C0还加到触发器S-R7的输入RESET,来自CPU的并代表该CPU存取命令的信号CS-CPU加到该触发器的输入SET。该触发器按期向端子8提供信号ATTENTE-CPU,从而在子周期P2-AMP,P2-FRE,P2-PHA和P2-FLT,P3和P4的激活脉冲累积期间,当信号CS-CPU提出要求时使CPU处于等待状态。在PCPU信号的激活脉冲时间内,使CPU将地址、数据以及阅读/书写命令传送到合成单元SYNT中。当PCPU子周期是激励脉冲时,它还可以接收数据。
振荡器2还与一个n比特的二进制计数器9连接,2n=N是一个合成单元SYNT所含存储单元的数量,“存储单元”的含义在后面进行介绍。
在所描述的例子中,我们选择N=192,存储单元也可以是其它数目。计数器9受解码器4的信号C7控制,该信号使电脑让一个单元实现各个周期P1,它与基时钟2的信号CLK同步。计数器的输出Qn将存储单元ADR-BASE的基址传送给选择存储单元地址的功能块框图10,以便确定存储单元基址的顺序(该例中为0到191)。
在子周期PCPU(图3)期间,CPU可以通过接口Ⅰ与单元SYNT连接。为此,与门电路ET6的输出PCPU和存取需求信号CS-CPU加到或门电路OU11上,该或门电路的输出可以激活功能块10的选择信号SEL。该信号的逻辑状态有选择地确定这是否是计数器9的输出,在所考虑的时刻,这种输出构成激活存储单元的地址,也可以确定是否是在CPU中使用的提供该地址的管理程序。在第一种情况下,电脑9的输出从功能块10的输入ADR-BASE到达该功能块的分配输出AC(存储单元的即时地址)。在第二种情况下,信号SEL使两个接口功能块13,14工作。
事实上,在制取称作“第一级”的采样的顺序序列PCAL(由信号P1,P3和P4构成,图4)期间,注意瞬时利用单元SYNT的存储单元是比较合适的。这些序列PCAL共同构成一个循环P,在该循环期间,对于所有存储单元来讲,均按顺序计算第一级的采样。在该例子中,这样一个循环P有192个按顺序的序列PCAL,在例如44,100Hz的声音合成采样频率下实现循环P。这就是图4所示的信号频率ACT。
下面可看到,根据本发明的一个主要特征,实现利用各个存储单元同时要瞬时及周期性地把存储单元的计算数据存储到多个存储器的存储位置,这些存储器都是用于计算功能和/或控制功能的而且实际都设计在SYNT单元中。每个这种存储器都有与SYNT单元中存储单元数相同的位置。只要有必要,在按照每个PCAL序列的子周期PCPU时间内,地址或数据的信息也可利用CPU有选择地写入到涉及各自存储单元的存储器的位置。
这样,对于0号存储单元来讲,在使该存储单元被激活的序列PCAL期间,有关存储器可以接收相关信息,以便将该信息存储在具有0地址的存储位置中,也可以将这些数据传送到它们的输出端,从而可以在以后处理这些数据。然后,对于存储器中的具有1地址位置的存储单元1来讲,在下一个序列PCAL中,可以实现相同或类似的运行,这样,一直到191号存储单元得到处理,此后重新进行利用0号存储单元的程序。
可以用不同方式,特别是用CPU1对存储器进行加载(书写)、阅读和卸载。换句话说,当图4所示的限定在两个信号脉冲ACT之间的时间内的各个序列PCAL结束时,单元SYNT通过致力于此任务的存储器的192个位置的内容实现利用192个存储单元,每个存储单元均由这些存储器的地址相同的位置“构成”。根据有待产生的第一级采样的特征,从一个循环到另一个循环时各个存储单元的内容可以变化,也可以不变化。
在该阶段,需要强调的是,利用这种方法,大部分SYNT电路可以分时使用,这样就节省了大量的设备。此外,有待设立的声音采样可以由若干声源构成,这些声源可以非常灵活地混合使用。
功能块框图13和14可以分别将地址、数据和阅读/书写命令传送给SYNT单元,条件是更利用来自门电路11的选择信号SEL激活这些功能块,以及触发器7输出信号ATTENTE-CPU要去除激励。在子周期PCPU的激活脉冲期间,该信号是激活的,CPU中执行的管理程序可以对单元SYNT发生作用,这样,在所考虑的序列PCAL期间,该程序自然要求用这样的作用。
功能块12可以从CPU在输入端12a接收地址ADR-CPU,在输入12b接收阅读命令信号RD-CPU,在输入12c接收书写控制信号WR-CPU,在输入12d接收选择信号CS-CPU。功能块12的输出12e可以将地址信号传送到若干目的地,即功能块10,存储器的阅读/书写选择功能块14以及单元SYNT的其它元件中,这将会在下面进行描述。
功能块13包括一个接收来自CPU的数据的输入端13a,一个阅读命令的输入13b,一个书写命令的输入13c,和一个将数据传送到单元SYNT的各元件中的输出13e,这将在下面进行描述。数据可以进行双向传送。
功能块14包括一个接收来自功能块12的阅读/书写地址的输入14a端,一个接收信号RD-CPU的读取命令的输入14b,一个接收信号WR-CPU的书写命令的输入14c,以及一个连接到门电路11的输出端的选择输入14d。该功能块还包括分别与阅读命令总线15a及书写命令总线15b连接的输出14e和14f,这两根总线有选择地将各自的阅读/书写命令信号传送给单元SYNT的所有存储器。这些信号全部示于图2中,而且位于其它有待阅读的各图的相关位置中。
从逻辑上来讲,门5的输出与地址选择功能块10的输出在非-与门NON-ET16中汇合,非-与门NON-ET16提供输出信号ACT,该信号的频率是单元SYNT的采样频率。
图5表示设立参数值的电路图,该电路总的由标号20表示。该电路是单元SYNT的一部分。在描述以前,正如上面已经描述过的那样,首先明确单元SYNT包括若干存储器,其中的一些存储器表示在图5中。在下面将要描述的单元SYNT的所有图中,各个存储器用正方形表示,数据的输入和/或输出与这些存储器连接,一个比较小的矩形图上接有地址输入,书写命令输入和/或阅读命令输入。此外,在每个正方形图中,示出了所述实施例的有关存储器具有的位置数目。
还应注意的是图5所示的设立参数的电路设备20在单元SYNT中重复出现四次(图6)。换句话说,在每个序列PCAL期间,更精确地说在四个P2-AMP,P2-FRE,P2-PHA和P2-FLT子周期有效激活脉冲期间,各个电路20(分别并入功能块20A-20D中)形成四个参数AMPLITUDE,FREQUENCE,PHASE或FILTRE中的一个参数,这些参数可以用来计算第一级采样。在各个P2-AMP,P2-FRE,P2-PHA和P2-FLT子周期的激活脉冲以后,对应的VAL(分别用AMP,FRE,PHA和FLT表示)参数值就出现在电路20A-20D的输出端21上。这样确定的相应特性为每个存储单元计算出的按顺序的第一级采样的振幅,频率,相位和滤波。
这就是说,每一个用于设立参数的电路20A-20D均包括一个存储器M1,据此,该存储器中存储有各存储单元的参数AMP,FRE,PHA或FLT的基值。在使CPU与单元SYNT接通的子周期PCPU激活脉冲期间,这些值通过输出13e(图2)被CPU接收。
当为了形成指定的采样而必须使参数相对于在先设定的采样同一参数改变时,存储器M2用于存储参数的增量。所述增量也通过接口功能块13的输出13e由CPU提供。
将存储器M1和M2的输出加到一个用于进行以下计算函数的计算组件22中:
其中PARpn是当时的序列PCAL期间所考虑的存储单元的当前参数数值或参数的起始值PARpn-1是在前一个序列PCAL期间为该存储单元设立的参数值,INCpn是当前参数值相对于前一个值的增量。应注意的是,如果需要,该计算可以使前后参数的差值之间引进一个自动插值。以便减少数值突变。
这样,将存储器M2的输出加到第一计算单元U1上,该计算单元负责对变量A和B的计算,该单元的运算为B÷A,变量B由计算单元U2提供,该计算单元负责对输入变量A和B进行A-B的运算。该计算单元U2的变量A每次均是存储在参数存储器M1中的新数值和存储器或累进存储器M3中的当前数值之间的差值输出。
在计算单元U1中进行计算结果作为变量A加到另一个计算单元U3上,该计算单元对输入变量进行A+B运算。计算单元U3的输入变量B来自存储器M3,该存储器临时存储各个存储单元的参数数值PARpn-1,也就是说前一个序列PCALP期间算出的参数值。因此存储器M3通过其数据输入连接到输出21,并通过其数据输出连接到计算单元U2的变量B输入。在前一个序列PCAL的子周期P4的激活脉冲期间,存储器M3中进行数值PARpn-1的书写。
在各个电路20A-20D中进行设定处理时,可以对参数作其它修改。即通过图5的下半部表示的部分电路完成。
这部分电路中包括一个由与振幅、频率、相位或滤波有关的信号R3和W3成书写/阅读控制的存储器M4。如果需要,该存储器根据地址信号AC存储192个存储单元中的一个或多个存储单元的参数变化值。其输出与一个地址缓冲存储器23连接,在子周期P2-AMP,P2-FRE,P2-PHA和P2-FLT的各个激活脉冲的控制下,该地址缓冲存储器的输入值可以到达输出端。
这样经地址缓冲存储器23传送的数值加到一个分配器25中,该分配器负责选择若干个参数数值源中的一个,这些数值源用于通过存储单元设立第一级的采样。该分配器25将结合图12在后面进行描述。根据需要修改的参数特性,将对应于这些参数数值的信号送到一个双稳态触发器24中,该触发器按有关子周期P2的激活脉冲激活成书写触发器。触发器24的输出连接到一个计算单元U4的输入A,该计算单元可以有选择地进行混合运算,例如对加到其输入上的数值进行求和计算或乘积计算。该计算单元U4的输入B与双稳态触发器26连接,而该触发器的输入与计算单元U3的输出连接,该输入在子周期P3的激活脉冲期间被激活。下面将会看到,选择单元U4中进行的运算选择受到模式控制信号MODE-FCT的双态控制。
刚才描述的图5的电路部分例如可以对振动进行综合处理,同时使形成声音的采样的频率数值按周期变化
图6描述的示意图表示几组输入和输出信号,这些信号分别由四个电路20A到20D产生,每一个电路都与图5的用于设立参数的电路20相同。
这样,指定功能块20A用于振幅参数AMP,功能块20B、20C和20D分别为频率、相位和滤波参数FRE,PHA和FLT。将阅读和书写信号R1/W1,R2/W2和R3/W3加到图5的存储器M1,M2和M4上;这些信号分别来自图2的控制总线15a和15b。在每一个序列PCAL期间,当产生相应子周期的激活脉冲时,有选择地控制各个功能块的节奏。每一个功能块还接收总线DCPU上的输入数据和存储单元的序号或地址信号AC(见图2)。如下面所述,在单元SYNT的其它部分中,对各个功能块的输出AMP,FRE,PHA和FLT进行处理;同样也对功能块20A到20D的剩余端子上传送的信号进行处理。
在其中一个存储单元中,当序列PCAL期间,应当用零级采样形成各相应的第一级采样,所述零级采样应当专门选定,并从其中一个零级采样源中提取出来。但是该零级采样上还应当带有时间值,从而使其可以有助于设立将属于它的第一级采样。
根据本发明的一个主要特征,该系统包括图7所示的设备,该设备用于产生一个称之为“零级采样指定值”或简称为“指定值”的二进制值。该指定值(表示为POS-X)基本是另两个二进制值的函数,其中第一个双稳态值是由功能块20B(图6)设立的。该第一个二进制值表示时间间隔,而时间间隔是任一个存储单元的频率与一个基频之间的比值,它是增殖系数。
有一个例子可以说明这种概念。如果需要将一个基本频率为440Hz,并要求产生一个高谐波(例如880Hz秒)的正弦声音进行合成的话,则使第一个存储单元用于设立具有相关时间值1(信号FRE)的系数的采样,而使另一个存储单元用于设立相关值为2的谐波的采样。此比值也可以小于1。
为了计算指定值POS-X,还需要另一个时间间隔值或表示有待合成的声音基频的基数间隔(信号ENS-FRE),该间隔一方面与频率值有关,另一方面与取样点的数目有关,人们要求根据取样点来合成声音。
再回到上面的例子,如果正弦声音的频率应当为440Hz,而且如果要将该声音与44100Hz的取样频率合成,则振荡要求每个循环100,227个点。如果振荡确定在1024个点上,例如(对于一个完整循环来讲,1024个点可以得到的最大频率为43,0664Hz)为了得到频率为440Hz的振荡,就要求在1024个点的振荡表的两个连续地址值之间使增量为10,2178。这就回到了两个连续指定值POS-X的增量达10,2178(或44100HZ取样频率10,21678次),从而每个循环在1024点的基数上重新制取所确定的采样。对于880Hz的谐波来讲,增量应当是双倍,以便每个循环给出1024点的相同表,即20,43345。值得提醒的是,当频率是44100Hz时,则信号ACT与取样比率相对应。因此应当注意POS-X值本身就表示采样在时间轴上所处的时间值,而该值同时指定这些采样,由于该值同时构成含有零级采样的存储器的地址,所以该值总是变化的。
在图7所示的计算选择数值的计算电路30中计算设定值POS-X。
在该计算电路中可以看到,将有关间隔数值FRE和基本间隔数值ENS-FRE加到计算单元U4的各个输入A和B中,这些数值在该单元中进行乘法运算。乘法结果的整数部分被加到第二计算单元U5的输入A上,该单元将加到其输入A和B上的数值进行加法(和)运算。而该乘法结果的小数部分加到二进制比值的除法器31中,在该除法器中将该小数部分从信号ACT中减去。(注意:事实上各有关数值均是二进制数目表示)。
在上述例子中,单元U4的输出等于10,21678,因为每10万个信号脉冲ACT为21678次,所以单元U5中除法器31将整数值10加1。这样加到单元U5输出上的值等于每1千万个信号脉冲ACT为11,21678次。
将计算单元U5的输出加到乘法器32的其中一个输入SEL B上,在信号SC-ETR的控制下,该乘法器可以根据零级采样源的多种使用情况从一个序列PCAL到另一个序列地选择数值POS-X的增长类型,这将在下面可以看到。在其中一种情况下,数值POS-X的增长是恒定的(例如0001),将该增长值加到连接线33上。功能块32的输出与一个确定符号的功能块34连接,确定符号的功能块34在信号SGN的控制下将一个正符号或负符号供给存储器M5求得的值上。应注意的是,如果选择的是负信号,因为数值POS-X从一个周期P1到另一个周期要减少计算电路30中确定的值,而不是增加该值,所以当前产生的合成声音序列就会是反的。
加有子周期P4激活脉冲的累加存储器M5为所有存储单元存储前一个数值POS-X。
确定符号的功能块34的输出加到计算单元U6的输入B上,该单元的输入A与存储器M5的输出连接。该单元U6对其两个输入变量进行加法运算。将所得到的结果送到乘法器35中,在信号CD-INIT的控制下,该乘法器可以将计算单元U6的输出输给其输出端,也可以将一个还需要进行描述的起始值INIT-X供给其输出,数值POS-X将根据上述起始值增加。在某些情况下,起始值INIT-X可以等于零。乘法器35的输出与同步双稳态触发器36连接,在该触发器中由子周期P3的激活脉冲写出数值。
该触发器36的输出一方面与存储器M5的数据输入连接,另一方面作为变量B与计算单元U7的其中一个输入连接,该计算单元的另一个输入接收来自参数设定电路20的PHA值(图6的功能块20C)。在计算单元U7中的计算结果(变量A和B的和)就是数值POS-X。
上面已经看到,单元SYNT分时利用n个存储单元,在这些存储单元中由零级采样的数值设定第一级采样的数值。而零级采样的数值受振幅、频率、相位和滤波的预定参数影响。根据本发明的另一个重要特征,单元SYNT还有分时利用m个存储单元组件的设备,在下面将会看到,这些存储单元组件由存储在若干个存储器的存储位置中的数值反映出来。
在所述的非限定的例子中,m=64是为了有64个组件,因此,为此提供的各个存储器的存储位置也是64。这些位置在每个取样循环P结束时用来将集中(确切地说是用来合并)预定数量存储单元中设定的第一级采样数值集中起来(确切地说是合并起来),以便产生叫做第二级的采样。
这样就可以想像,如果需要产生小提琴的音,而该音为基频,而且具有体现该音的谐音,所述音是由该小提琴产生的。因此可以为此工作提供一定数量的存储单元,存储单元数量与基频及需要产生的谐音数量相等,而且具有相关的振幅、频率、相位特性,然后在其中一个组件中所有产生的第一级采样与它们相应的时间关系结合在一起,第二级采样包括以前在用于所考虑的组件的存储单元中计算出的所有第一级采样。
按相同的构思,下面将看到,通过适当合并第二级采样,将各个组件中计算出的第二级采样反过来又可以分布在q个输出的间隙中,从而形成第三级采样。所有第三级采样合并为SYNT单元的输出,图1中用S表示。
上面描述的机构用图8和9分别所示的复合设备制成,现在将详细描述。
图8表示的是第一级采样分配电路40,该电路可以将预定的存储单元分配给合成单元SYNT的若干个组件中的一个预定组件。在该分配电路40中的信号形式示于图9和10中。
在由信号ACT节奏确定的时间内(图10),为此时选定的组件的第二级采样的数值由图8右上方的信号ACC-ENS表示,该信号构成分配电路40的输出。该值很快出现在与该累加存储器M6组件对应的地址中(该例子中的64个位置中),该存储器受信号从AACC-ENS控制,其数据输入端与计算单元U9的输出端连接,而该计算单元对其输入A和B进行乘积运算。利用子周期P4的激活脉冲控制存储器M6中的书写。该子周期脉冲通过同样也接收表示最后一个存储单元的信号C-ENS的与门电路41到达,而为了进行指定的分配,在该系统提供第二级采样之前,该最后一个存储单元的刚刚经过计算的第一级采样应当插入第二级采样数值中。
计算单元U9的输入A接收双稳态触发器42中存储的输出数据(见图9),该触发器的输入接收来自计算单元U10的这些数据。计算单元U10对加到其输入A和B上的数据进行加法运算。在子周期P3的激活脉冲期间书写双稳态触发器42中的数据。而且将该双稳态触发器42与一个中间累加存储器M7(64个位置)连接,在子周期P4的激活脉冲期间,可以在该存储器中记录数据。在输出端这些数据加到计算单元U10的输入B上。计算单元U10的输入A接收当前存储单元的累加值ACC-CEL,它处在门电路52中的与(ET)功能状态采用比特C-CSEL,所述比特作为来自具有192个位置的存储器M9的最高有效位。如果比特C-CSEL等于‘1’,则该与门电路ET可以增加当前存储单元的采样数值。在相反的情况下,组件未增加该数值。这样,要么选择一个存储单元,将该存储单元的采样数值用作部分二级采样,要么选择两个存储单元,此时只将采样数值用作控制,从而使该值能够添加到指定存储单元的给定参数上,而该存储单元的采样不需要立即就能听见,而且不要将其送到输出。
这样,计算单元U9的输入A接收了分配到指定组件各存储单元的所有存储数据的和ACC-CEL,如图9所示,该和显示在触发器42的输出上。
计算单元U9输入B接收一个来自存储器M8(64个位置)的振幅值,在该存储器中存储有振幅值,在书写信号W-ENS-AMP(图2和8)的控制下,管理单元CPU将振幅值记录在存储器中。在信号R-ENS-AMPL的控制下,可以读出存储器M8中的振幅值,以便判断所用组件的振幅的计算值。
存储器M9(192个位置)的数据输入连接到功能块13(图2),以便为各个存储单元从CPU接收专门地址值,该存储单元会出现在该组件中,以便参与第二级采样的制作。在该存储器M9中书写这些地址值,成为与各相关存储单元对应的地址。
图9用简单的例子对前5个存储单元(一个循环P的序号为0-4)示出了在该存储器M9中的书写过程。在该实施例中,存储单元0,1和2出现在组件0中,存储单元3和4出现在组件1中。在信号W-ENS-CML和R-ENS-CEL的控制下,对存储器M9进行阅读和书写。相同的值确定了存储器M7的地址,在子周期P4的控制下,该存储器累加这些数据。
书写在存储器M9中的各个地址值配有相同的比特,在该例子中,所述比特是最高有效位(MSB)。在此情况下,当在下一个周期P1时,该比特是1,应当继续为该组件进行计算。反之,当该比特是0时,就表示当前组件计算结束。相应的信号用C-ENS表示,如图9所示,例如,对于存储单元0,1和3来讲,该信号为1,对于存储单元2,4来讲,该信号为0。如上所述,信号C-ENS用来控制第二级采样合并值的存储器M6中的书写,所述第二级采样属于该系统。
在存储器M8中的各组件的振幅数据书写可以成为地址,这些地址可以来自存储器M9(A-ENS),也可以直接来自功能块10(图2)。用一个多路转换器43选择地址。当信号W-ENS-AMP和R-ENS-AMP中的一个信号为0时,地址AC进入多路转换器43。否则就是地址A-ENS进入。
分配电路40还包括使存储单元和组件同相的部分。
使所选组件成为同相和起动不同步地受来自功能块14(图2)的信号W-DEC控制。为此,在触发器44中信号W-DEC控制有待进行同相处理的组件的地址的书写,所述触发器接收CPU的地址。利用一个锁闭器45、三个双稳态触发器46,47和48以及一个与非门电路NON-ET49使信号W-DEC与取样信号ACT同步。在该部分电路中的信号示于图10中,根据该图可以理解其运行情况。
触发器46的横线输出Q提供的信号ACT-INIT可以激活一个比较器50,该比较器用来比较两个地址数值,即来自存储器M9的数值和触发器44发送的数值当两个地址数值相同时,发送存储单元的初始信号C-INIT。该信号主要用在图7中的为多路转换器35计算时间增量的电路30中。
图8的分配电路40还可以提供信号ENS-FRE,该信号也是用在图7的计算电路中的。
多路转换器51可以根据图2的功能块14提供的书写/阅读信号W-ENS-FRE和R-ENS-FRE的状态有选择地将地址信号A-ENS或地址数值AC送到存储器M10中,以便将来自CPU的数值ENS-FRE记录在该存储器中,在工作以前,该数值ENS-FRE与间隔值一起发往当前的组件中。
图11表示分配第二级采样的电路60,该电路可以有选择地在输出0-q重新组合第二级采样,以便产生第三级采样,在所述的例子中,第三级采样是单元SYNT的输出的采样。在该例子中有16个输出。
存储器M11(64个地址,即对于信号AC的6个最低有效位来讲,每个组件一个地址)用来存储第二级采样ACC-ENS的分配数值。这些分配数值在信号W-SORTIE的控制下由CPU提供,并在信号R-SORTIE的控制下可以读取,以便由分配控制总线61传送。这些数值的比特分别供给逻辑门电路62-0到62-q,这些门电路还接收信号C-ENS和子周期P4的激活脉冲。
将第二级采样值ACC-ENS分别加到计算单元U11-0到U11-q中,在这些计算单元中,可以将先前第二级采样加到这些采样的当前值上。将这些计算单元中计算出的和临时存储在双稳态触发器63-0到63-q中,在各个门电路62-0到62-q的输出的控制下,可以将计算单元的计算结果写入这些双稳态触发器中。触发器中的内容可以由取样信号ACT删除,所述取样还提供用于外部设备(数/模转换器,处理器等)的外部同步信号EXT-SYNT,从而读出这些输出63-0到63-q。
根据图5的描述已经看到,用于设定第一级采样的参数值受到影响后改变,所述影响主要是对存储单元的影响,这些影响由单元SYNT内部引起,也会由外部引起换句话说,可以认为当各个第一级采样作用于所考虑的存储单元时,根据不同的源就可以计算第一级的每个采样。
由CPU选择这种源,而CPU为此让存储器M4进行加载(图5)。对于各个存储单元来讲,存储在该存储器M4中的源选择值在一个触发器23的输出上传送,而该触发器按子周期P2的激活脉冲被激活,当应该任意分别使用源时,在该输出上就出现用于选择源的控制值ADR-CTR,从而为当前存储单元选择参数值的变化。图12更详细地给出了选择功能块25,它与图6的功能块20A到20D是共有的,而且受选择数值ADR-CTR的控制。
在这里所述的例子中,改变参数的源根据情况(参数探测信号)经选择可以由另一个存储单元构成,或可以由一个组件构成,也可以由单元SYNT外部的输入构成,这里的词“输入”指的是一组用于与外部信号适应的功能块,以便在单元SYNT中得到应用。
源或输入的功能块25(图12)包括第一选择软件25a,该软件的控制信号由存储在存储器M4中的数值ADR-CTR的1到5比特的最高有效位构成(图5)。这些最高有效位的比特可以从选择软件的输入将采样的四个变量中的一个传送到其输出端,这四个变量分别是信号ACC-CEL,ACC-ENS,ACC-DET和IN-CEL,它们均是由第一级采样(存储单元)或第二级采样(组件),一个输入信号(振幅,频率,或波带)的检测器和一个信号输入产生的(这将在下面详细看到。)。
这样经选择的输出信号叫做DATA-CTR,在后面对任意存储单元的第一级采样的计算中,它可以作为参数值的变量。
还将数值ADR-CTR的比特加到第二选择软件25b上,该软件可以按照四种情况分布变量源。
第一种情况在于利用来自多路转换器25-1的地址AACC-CEL对一些存储单元在累加存储器M13中进行累加(图13)。地址的数值主要是AC,而在子周期P1期间,该值也可以具有数值ADR-CTR的最高有效位的数值,同时该地址确定0到191之间的某个数值。因而由软件25a的缓冲器BX1激活数据DATA-CTR。
第二种情况在于图8的组件累加存储器M6,该存储器通过软件25b的多路转换器25-2接收地址AACC-ENS。该地址的数值主要是A-ENS,但在子周期P1期间,该值为ADR-CTR,这是当数值ADR-CTR的最高有效位的比特为192和207之间的情况。因此由缓冲器BX6激活数据DATA-CTR。
第三种情况在于利用图12的软件25b的多路转换器25-3提供的数值AACC-IN选择通常叫做检测器的器件。由输入选择存储器M14(图16)确定数值AACC-IN。地址主要是AIN,而在子周期P1期间,如果该信号的最高有效比特位确定的数值为208到223之间,则该值为ADR-CTR。因而由软件25a的缓冲器BX2激活数据DATA-CTR。
第四种情况在于选择图18所示的检测器(下面将进行详细描述)。这种选择或是振幅功能块144,或是频率功能块147,也可以是波带功能块146。除ADR-CTR为224以外的数值都可以用来限定这些检测器。因此根据情况由缓冲器BX3至BX5激活数据DATA-CTR。
图13是输入功能块和模式的选择控制电路70的示意图。实际上可以根据某些运行方式,也可以根据某些输入功能块的任一功能块设定的输出信号进行存储单元中第一级采样的计算。这些输入功能块反过来也可以根据所述源确立它们的输出信号,所述源可以是单元SYNT内的源和/或该单元外的源。
如果需要,在CPU的控制下,根据接口1的功能块13的输出13e(图2)上的数据确定选择输入模式和输入功能块,为此,CPU让存储器M12加载,该存储器称作利用显示数据的“构形”存储器。这些数据就是一些确定的数值,而这些数值对于每个存储单元都分别存储在存储器M12的位置(这里有192个位置)中,在来自功能块14的书写/阅读信号W-MOD和R-MOD的控制下,可以写出或读取该存储器中的数据。这些确定数值的比特与单元SYNT可以选定的不同构形相符。
这样,将最低有效位的三个比特MOD-SC0到MOD-SC2加到选择软件71上,该软件根据这些比特的数值可以激活8个分别用在四个输入功能块72到74中的运行模式,这些功能块形成称作零级的采样。
输入功能块72可以实施一种运行模式,在该模式中,单元SYNT使用它本身所带的波形发生器。该功能块将结合图14进行描述(激活信号SC-SIN,SC-CAR,SC-TR,SC-RMP和SC-RMN)。
输入功能块73可以实施一种运行模式,在该模式中,单元SYNT使用它本身所带的噪声发生器。该功能块将结合图15进行描述。
输入功能块74可以实施一种运行模式,利用该模式,单元SYNT使周预先已经产生并且存储起来的采样(信号SC-ECH),或者使用当时正在使用的采样,这些采样可以来自单元SYNT的外部(信号SC-ETR)。这两个模式将结合图16-17进行研究。
在功能块72,73和74中分别产生的采样根据选择的运行模式出现在一个总线75上,在总线上传送的信号称作CCYC。将该信号加到图19所示结构的滤波功能块76中。该功能块提供的采样带有预定的滤波特性,其输出信号用CFLT表示。将该信号的每一个采样加到乘法计算单元U12的输入A中,在该单元中使该数值乘以当前振幅参数值AMP,该振幅参数值加到该计算单元的输入B上。在具有192个位置的累加存储器M13中将相乘的结果写在由地址值AACC-CEL确定的地址中,所述地址值在子周期P4的激活脉冲的控制下由选择软件25b提供(图12)。存储器M13只是书写,而在给定地址中书写时就将先前所书写的值送到输出。相应的信号表示连续的第一级采样,并将其称作ACC-CEL,作为存储单元的输出。
在存储器M12中读取的数值的四个中等有效位比特用于确定有关振幅参数、频率参数、相位参数和滤波参数的计算模式,这由图6的各个电路20A到20D在计算单元U4中完成。它们的二进制数值将计算单元U4置于加法模式和乘法模式状态。
来自存储器M12的三个高效位比特有选择地确定运行方式,即来自存储单元的第一级采样的产生是连续的,重复的或是反复的。这些比特分别称作MOD-CCY,MOD-DCY和MOD-ALT。这些信号将参照图20和21进行描述。
现在结合图14进行描述,以便对输入功能块72进行研究。该输入功能块包括四个函数发生器81-84,这些发生器用于产生零级采样,图7的计算电路30中计算出的时间数值POS-X加到这些发生器上。因此,根据本发明的一个重要特征,大多数时间数值POS-X事实上是地址值。
第一个函数发生器是正弦表81,其中存储有预定数目的正弦值,所述数目等于2A,在所考虑的例子中,A等于10。事实上,表81是一个具有2A个位置的存储器,这些位置由表示最少指定值POS-X的A个比特所确定的地址值提供。例如,如果A=10,则表示最少指定值POS-X是10比特,该10比特准备了各个第一级采样,即它们确定了要从表81中要取出的正弦值,当然也就选择了运行模式。由当前数值POS-X形成的地址值通过线85加到表上。表81的入口适用于来自图13选择软件71的信号SC-SIN。应注意的是指定值POS-X可以包括比数目A多很多的比特,例如包括32比特,当指定数值POS-X增加直至单元SYNT运行期间的最大值时,表81的同一组地址可以按顺序通过很多次。
发生器82可以产生方波,同时确定有待产生的第一级采样的极性的改变时刻。发生器82由来自图13选择软件71的信号SC-CAR激活。根据最多的当前值POS-X的A个比特进行改变,所述当前值POS-X由导线86提供。在这种情况下,POS-X不构成所述存储器的地址。
发生器83可以产生三角函数。这是根据对表示最少指定值POS-X值的A个比特的寻址计算三角振荡的算术函数,所述指定值作为位置的地址。这些地址本身由导线87提供。得到的地址和函数概括在发生器83的功能块内。在来自图13选择软件71的信号SC-TRI的控制下,激活该发生器。
发生器84也是根据对表示最少指定值POS-X的A个比特的寻址基址计算正斜坡或负斜坡振荡的算术函数。这样,存储的一组数值就可以在一对信号SC-RMP和SC-RMN的分别控制下正向或反向通过(所述一对信号来自软件71)并被加到与门电路88上。该门电路的输出可以适合于激活发生器84,信号SC-RMP确定该计算出的一组数值的方向。由地址产生的函数也示于该函数发生器84功能块的内部。
图15详细示出了图13的输入功能块73。在第一级采样必须具有随机振幅值时,该功能块也用于产生第一级采样。输入功能块73包括一个不停运行的随机数值发生器90。当出现取样脉冲ACT时,当时产生的对应数值进入双稳态触发器91,当出现对应脉冲P1时,该数据写入该触发器中。如果使能信号SC-BRT同时激活触发器91,则从触发器91中输出相应数据,当时采样数值建立在该数据上。
现在参照图16描述单元SYNT的输入功能块100的一部分,即分配输入的电路。在该电路中可以有从0编号到e的e个输入,例如可以有16个输入。特别是每个输入的上游与一个模/数转换器相连,该转换器又与一个模拟信号源相连(未示出)。信号源可以来自装有传感器的乐器,来自与一个与话筒相连的乐器,来自电唱机,可拾取声谱的传声器,来自小型磁盘阅读机等,可以想像具有大量这样的信号源。
在输入端0到e上的信号称作IN-0到IN-e。为了能够分配这些输入,输入功能块100包括一个具有192个位置的存储器M14,在该存储器中,CPU可以将输入分配数值写入地址中,在来自接口Ⅰ的功能块14(图2)的信号W-ETR-N的控制下,由信号AC提供这些地址。也是在来自功能块14的R-ETR-N信号控制下进行阅读。在存储器M14中由CPU产生的数据具有输入分配编码,将这种编码加到多路转换器25-3上(图12),该转换器的输出与具有e个输出的解码器101连接,该解码器可以激活缓冲器102-0到102-e,这些缓冲器的输入分别接收输入信号IN-0到IN-e。因此,根据存储器M14的内容以及多路转换器25-3的状态,将指定存储单元的外部输入加到缓冲器102-0到102-e的公共总线103上。在该总线上传送的信号称作IN-CEL,因此该信号形成零级采样。
但是应该注意的是就与信号ACC-CEL,ACC-ENS和ACC-DET一样,信号IN-CEL可以用作所选择的参数,只要这些信号在信号ADR-CTR的控制下到达图12的软件25a的输出即可。如果许可,在信号MODE-FCT的控制下,就象信号DATA-CTR一样传送数值IN-CEL,以便用乘法或加法将该数值与当前的参数组合起来。
图17表示的是存储零级采样和选择短暂使用这些采样的电路图,从而在单元SYNT的存储单元中设定第一级采样。
该电路包括一个大容量采样存储器M15,大量零级采样可以存在该存储器中,例如,该存储器可以有232个位置。但是应该注意的是,根据需要按顺序进行记录的采样的长度,使存储器M15有更大或更小的容量。还应当注意的是,根据本发明,该存储器为该系统的唯一的具有大容量的装置。
该存储器M15的地址来自多路转换器121,例如32比特,它包括一个输入A,来自接口Ⅰ的地址信号ACPU(图2)加到该输入上。因而这些地址由CPU确定。此外,将零级采样的存储器M15的数据输入与接口Ⅰ的功能块13连接,从而CPU可以将数据记录在该存储器中的固定地址中。这样,存储器M15中的存储模式就可以用作所选信号的零级采样,这些信号由用户用图文在CPU的屏幕上选择,该管理单元的应用程序当然应专门为此设计,这是本领域的公知技术。利用信号W-ECH-CYC和R-ECH-CYC激活地址ACPU,这些信号分别由CPU对书写和阅读进行控制。
乘法器121的另一个输入B与图7的计算电路30的输出连接,这样该乘法器接收当前数值POS-X,此处该数值还用作地址,但这次用于存储器M15(当前值POS-X)。当激活信号W-ECH-CYC和R-ECH-CYC被激活时,选择该输出B。因为,来自接口Ⅰ的功能块14的这些信号均加到了或门电路122上,该门电路的输出与乘法器121的有效输入连接。如果这两个信号中的一个信号是有效的话,则乘法器121的输入A即被激活。
此外,可以利用同一信号R-ECH-CYC和W-ECH-CYC选择控制采样存储器M15中的阅读/书写。为此,直接将信号R-ECH-CYC加到存储器M15的阅读控制输入中,而将信号W-ECH--CYC加到与门电路123中,该门电路的输出与该存储器的书写控制输入连接。
将与门电路123的另一个输入与或门电路124的输出连接。或门电路的第一输入接收对应于周期P1激活脉冲的信号,而其另一个输入端接收信号SC-ETR,当存储器M12中的数据(图13)指定对应于解码器71输出的运行模式时,该信号即可被激活。
将或门电路124的输出加到缓冲器125的激励输入中。该缓冲器的输入接收构成图16的输入分配电路输出端的信号IN-CEL。将缓冲器125的输出与采样存储器M15的数据输入端连接。
还将或门电路124的输出连接到与门电路123的一个输入上,从而可以激活存储器M15的数据的书写输入。
这样,就可以在取决于CPU的地址中写出零级采样,为了在同一存储器中书写采样,或是利用由信号W-ECH-CYC激活的信号ACPU,或是利用当前数值POS-X的0001增量。根据选择信号SC-ETR的状态进行选择,信号SC-ETR可以使乘法器32处于其方案的一种或另一种。
因此,在存储器M15中记录有数据的地址根据信号SC-ETR的控制取决于CPU规定的地址,或与数值POS-X的‘1’的增量有关。事实上,后一种增量方法与实时产生的零级采样有关(由此得到的信号ETR:实时输入)。应注意的是,当实际过程中存储器M15处于运行模式时,同时从该存储器中输出所记录的数据。在另一个称作取样(ECH)的运行模式中,在预定时间内,数据可以保留在存储器中,可以说存储器的运行就和磁性录音机一样。
当信号SC-ETR激活时,存储器M15轮流用来书写(P1)和阅读,以便得到零级采样。当信号SC-ECH激活时(见图13),存储器M15只用来书写,以便记录新采样。通常,存储器用来读取,并用与图14的功能块81的正弦表的相同方法读取采样,除非在存储器M15的情况下采样按所有时间逐点变化以及存储器M15中所含的采样表的大小可以随意预定或选择,而这不是功能块81的正弦表的情况。
不管怎样,出自采样存储器M15的信号形成CCYC信号,这些信号是还没有在滤波电路160中经受滤波的第一级采样。
现在参见图18,该图表示的是对加到合成单元SYNT的输入IN-0到IN=e上的输入信号进行分析的电路。我们将该电路称作“参数检测电路”140,这是因为该电路可根据频率(带)测定出输入信号的振幅特性,频率特性以及振幅分配特性,这些特性在转换成数字信号时可以判断参数值,存储单元根据这些参数值工作,以便在合成单元中形成第一级采样。
检测电路140的输入与形成图1信号E的合成单元的输入IN-0到IN-e并联连接。因此,图16的分配电路和图18的检测输入分别并联连接。
检测电路140包括第一组可以确定声音数字采样的绝对振幅值的检测器141-0到141-e,声音数字采样通过模/数转换器(未示出)加到各个输入IN-0到IN-e中。它们还用来对连续的采样数确定平均值,并提供对应于其输出的数值。
检测电路140包括第二组可以确定一系列采样的若干频带P中的各个频带中的平均振幅值的检测器142-0到142-m,所述采样分别加到输入IN-0到IN-e上。这些平均振幅值以数码形式出现,对于各个频带P来讲,这些值出现在各个检测器的检测输出0-p上。
此外,检测电路140包括第三组可以确定一系列输入采样瞬时特性的检测器143-0到143-e,特别是检测通过0的瞬间,它们的平均频率以及计算值。这些数据以数码形式出现在检测器143-0到143-e的输出上。
所有来自电路检测器140的数值在子周期P4的激活脉冲的控制下,有选择地处于具有192个位置的累加存储器M16中。利用加到图5和12所示的功能块25中的信号ADR-CTR的最低有效位形成地址,所述值在该存储器中记录在这些地址内。该信号的最高有效位分别确定若干选择器的位置,检测器的输出值加到这些选择器中。这样,检测器141-0到141-e的输出根据信号ADR-CTR的一系列振幅比特加到选择器144的‘e’个输入上。这些比特的选择激活可以使检测器141-0到141-e的输出与选择器的输出相连,而在子周期P4的激活脉冲的控制下,选择器输出记录在该存储器的部分对应位置中,这一部分位置由信号ADR-CTR的部分伴随地址表示。
这对于其它组的比特也是一样,这些比特组形成信号ADR-CTR的“频带”比特,并且可以调整选择器145-0到145-p的位置,从而在它们的输出上可以重新组合那些分别对应于各个频带0-p的振幅值,检测器142-0到142-e根据这些振幅值运行。这些与重新组合的频带对应的值还可以利用选择器146进行选择,该选择器的输入端D0-De上接收重新组合的值。选择器146的输出形成一部分发送到存储器M16中的数字信号。最后,选择器147利用信号ADR-CTR的频率比特,将检测器143-0-143-e的输出数值分配给存储器M16的各个存储位置。
所以,该存储器可以为单元SYNT的各个存储单元存储一个数值,而其存储的数据表示从单元SYNT外面提供的数字采样的振幅参数和频率参数值。
如图5所示,只要在考虑的时间内,使该信号ACC-DET在来自图2所示的CPU的信号ADR-CTR的控制下通过图12的功能块25a的输出,由输入信号确定出的参数值就可以用于加入对参数值(值VAL)的计算。可记得信号DATA-CTR可以在加到图5计算单元U4中的信号MODE-FCT的控制下与当前参数相加或相乘,该信号MODE-FCT本身由CPU管理的存储器12(图13)的内容选择。
因此,发现在存储单元中确立第一级采样可以利用分别存储在信号ACC-CEL,ACC-ENS,ACC-DET和IN-CEL中的四组参数值确定,这可由图12得出。
图19表示的是滤波电路160,它可对图13中功能块76所示的信号CCYC进行适当的滤波。
该电路包括一个具有滤波功能的定序器161,它接收接口Ⅰ的信号CCAL(图2),以便使序列计数器运转还接收图5所示电路的信号FLT,所述信号FLT作为确定滤波的参数,并在最后选择存储器M18中的滤波系数。事实上,该信号确定表的地址,预定的滤波系数曲线存储在该表中。这样,定序器确定输出161a的滤波运行规则。定序器还可以在其输出161c和161b上分别产生两种地址值。
输出161b的地址值加到滤波计算存储器M17中。该存储器M17具有预定数量的位置,例如16384。输出161c的地址值加到多路转换器162的输入B中,该转换器的输入A可以直接接收接口Ⅰ的功能块12的地址值。这些值由CPU记录,以便体现存储器M18中的滤波性能(系数)。滤波程序可以读出这些数据以便进行计算。
在打开的与门电路163的输出控制下,选择多路转换器162的输入B,但条件是三个信号中有一个存在,即阅读信号R-FLT-COEF,书写信号W-FLT-COEF或阅读系数控制信号,该控制信号构成确定滤波函数IIR的功能块164的输出164a。
多路转换器162的输出加到滤波系数存储器M18中。该存储器直接接收CPU中的数据。在来自与门电路165的书写信号的控制下,将这些数据记录在合适的地址中。该与门电路的第一输入与接口Ⅰ的功能块14连接(阅读信号R-FLT-COEF),其另一个输入与确定滤波函数的功能块164的输出164a连接。
滤波系数存储器M18的数据输出加到功能块164的输入164b中。为了阅读系数,计算滤波的存储器M17的数据输入和输出分别连接到功能块164的输出164c和输入164d上。功能块164在其输入164e接收功能块161的运行规则。利用来自输出164f的信号控制存储器M17中的阅读,而书写的控制来自功能块164的输出164g。
最后,该功能块164包括一个输入164h,有选择地来自图13的功能块72,73和74的信号CCYC加到该输入中,而已经得到滤波的采样出现在功能块164的输出164i中。应注意的是,存储器M17可以临时存储滤波计算的中间数值,这些数值在输出164i产生滤波了的信号,即信号CFLT,这是用在图13中的用于确定第一级采样的信号。运行规则可以控制信号在功能块164的输入和输出之间传送。
现在结合图20和21描述用于检测某些采样形成程序的时限电路180。当单元SYNT利用来自图17存储器M15的采样及实时采样模式工作时,这些形成程序就是采样模式。在适当的时候,利用信号SC-ECH或SC-ETR确保使检测电路180有效,信号SC-ECH或SC-ETR加到图20上部所示的与门电路181中。
确定电路180包括一个存储器M19,确定的一系列采样在开始时的数值(也就是说,表示时间轴上通过累加已确定的数值(类似于数值POS-X)的预定时间的数值)存储在该存储器中,所示一系列确定的采样比如表示要弹奏的音符。该存储器M19有192个位置,因此它可以为各个存储单元加载一个起始时间值。利用信号AC形成地址数值,在信号W-ECH-DEB/R-ECH-DEB的控制下,通过管理单元CPU在存储器中记录/读取数据。
同样有192个位置的另一个存储器M20可以用类似的方法存储一系列采样的结束时间。在信号W-ECH-FIN/R-ECH-FIN的控制下,书写/读取存储器中的数据。确定电路还包括同样有192个位置的存储器M21和M22,“循环”值,确切地说是表示循环起始时间和循环结束时间的时间值可以存储在这两个存储器中,循环一词在这里应当理解成同一组采样相对于一个或多个存储单元进行反复循环。可以在信号W-ECH-B1/R-ECH-B1和W-ECH-B2/R-ECH-B2的控制下对存储器M21和M22进行书写和读取。数据每次均来自CPU。
每一个存储器M19-M21与一个比较器(分别为182-185)连接,一旦它们的输入A与相关存储器数据的输出连接,而其输入B接收当时的POS-X值。当比较器182和184的输入B小于或等于它们的输入A时,则这两个比较器提供一个有效信号,当比较器183和185的输入B大于或等于它们的输入A时,则这两个比较器提供这样一个信号。
比较器182-185的输出分别与有效逻辑186-190连接,每一个逻辑接收若干信号,这些信号在其中进行符合逻辑的组合,从而在需要时,保证输出192-195的有效缓冲,其输出可以有选择地提供INIT-X值,该值是特定的预置值,然后根据该值用计算电路30中算出的设定增值POS-X。
有效逻辑186-191还接收模式信号MOD-CCY,MOD-DCY和MOD-ALT,这些信号包括在图13的存储器M12的输出数据中。
当通过转换器197信号SC-ECH或SC-ETR不起作用时,另一个输出缓冲器196可以将值INIT-X固定成0。
时限确定电路180还包括一个具有192个位置的符号存储器M23,确定POS-X值渐进方向的符号就记录在该存储器中。该存储器M23中信号AC编址,并接收多路转换器198的对于一些存储单元有待存储的符号比特。该多路转换器接收图8中比较器50的C-INIT信号作为选择信号。当信号C-INIT活跃时,该信号使合适的符号指令到达多路转换器的输出。否则符号信号来自一个逻辑门电路199,该电路将存储器M23的输出与模式信号MOD-ALT进行符合逻辑的组合。当模式信号MOD-ALT活跃(‘0’)时,符号改变存储器M23中的各个书写指令。
用该相同的模式信号MOD-ALT控制另一个多路转换器200,以便有选择地设立用于图7计算电路30的功能块34中所用的信号SGN。该多路转换器的输入A接收信号T-DIR,而输入B接收模式信号MOD-DCY。
还应注意的是,利用与各个与门电路201,202使缓冲器194和195激活,利用逻辑203控制存储器M23中的书写指令。
在一组采样开始的某一点或某一时刻E-DEB,缓冲器192固定时限,这是当非循环模式(MOD-CCY=1)减少(MOD-DCY=0)的情况下,POS-X到达开始地址E-DEB时,或者说很少到达比较器182,此时由门电路186进行选择。
在一组采样结束的某一时刻E-FIN,缓冲器193固定时限,这是当非循环模式(MOD-CCY=1)增加(MOD-DCY=1)的情况下,POS-X到达结束地址E-FIN,或者说再到达比较器183,此时由门电路187进行选择。
在一组采样循环的某一循环-1的时刻E-B1,缓冲器194固定时限,而在循环模式(MOD-CCY=0)增加(MOD-CCY=1),而且模式并不改变(MOD-ALT=1)的情况下,当POS-X到达循环-2的地址E-B2,或者说很多到达比较器185时,则由门电路191和201进行选择。这种值的调整也适用于循环模式(MOD-CCY=0)与(MOD-ALT=0)交替时的情况,但是在减少期间(T-DIR=0),当POS-X到达循环1地址E-B1,或者说很少到达比较器184时,由门电路188和201进行选择。根据另外一种模式,当固定时限E-B1以便逐渐减少时由门电路203使T-DIR成为0。
在一组采样循环的某一循环-2E-B2时,缓冲器195固定时限,当循环模式(MOD-CCY=0)减少(MOD-DCY=0),而且模式并不改变(MOD-ALT=1)的情况下,POS-X到达循环1的地址E-B1,或者说很少到达比较器184,此时由门电路189和202进行选择。这种值的调整也适用于循环模式(MOD-CCY=0),(MOD-ALT=0)交替时的情况,但是在增值期间(T-DIR=1),当POS-X到达循环2地址E-B2,或者说很多到达比较器185时,由门电路190和202进行选择。
利用发送到图7的多路转换器35的信号INIT-X使时限进行固定,利用来自门电路208的控制CD-INIT重新开始数值POS-X。
如图21所示,也可以通过两个缓冲器204和205的输出有选择地产生信号INIT-X,这两个缓冲器分别接收存储器M19和M20的信号E-DEB和E-FIN。通过将信号C-INIT(相位调整),模式信号MOD-DCY及或门电路181的输出信号按照逻辑进行合适的组合,就可激活这些缓冲器,这种逻辑组合由或门电路206和207保证。
缓冲器204将POS-X的起始值(或位置)固定在激活信号C-INIT和模式信号SC-ECH/SC-ETR上。当模式信号MOD-DCY=1(增加)时,起始点E-DEB构成传送到INIT-X中的起始值,如果MOD-DCY=0(减少),结束点E-FIN构成传送到INIT-X中的起始值。因此后者由图7的多路转换器35选择,以便使值POS-X初始化。
还应注意的是,信号C-INIT通过图20上部看到的与门电路208。该门电路提供信号CD-INIT。
现在描述确定时限的电路运行情况。
当新的音符出现而使存储单元进行相位调整时,应当通过图7的计算电路30的多路转换器35使值POS-X变成起始值。
当将单元SYNT设置在分别由信号SC-SIN,SC-CAR,SC-TRI,SC-RMP,或SC-RMN控制的若干模式中的一个模式中时,POS-X的起始值INIT-X等于0。当没有信号SC-ECH或SC-ETR时,该值通过被激活的缓冲器196。
相反,当模式SC-ECH或SC-ETR受到控制时,由时间轴上指定的存储单元起始时间来确定值INIT-X。如果值POS-X的增加应该为正(MOD-DCY=1)的话,则相应的时间值是为所考虑的存储单元而存储在存储器M19中的值E-DEB。如果该增量应该为负(MOD-DCY=0)的话,起始值是为所考虑的存储单元而存储在存储器M20中的值E-FIN。
对应每一个存储单元来讲,第一级的一组采样由时间时限限定在时间内,而在时限之间,可以估计POS-X值,该值增加,或者该值减少,也可以轮流增加减少,也就是说同一组采样反复多次。可以用多种方法反复进行这种循环:“向前”,“向后”,“向前”和“向后”交替进行。
当然,这样限定出的值POS-X每次均构成图17的存储器M15的地址,该存储器实时存储需要重新产生的采样的数值(模式ETR),也可以根据以前已经存储在里面的采样存储需要重新产生的采样的数值(ECH模式)。
现在研究若干情况,在刚才介绍的运行模式中,当形成第一级采样时,对于每个存储单元或仅某些存储单元来讲,这些情况可能出现。
1〕一组采样;POS-X增加
在这种情况下,开始时(即调整相位时),向采样存储器M15提供数值E-DEB。然后,地址根据频率值FRE和ENS-FRE随计算电路30中计算出的POS-X值的增量而逐渐增加,所述频率值FRE和ENS-FRE是加到该计算电路中的,其方法与已经描述过的用于图14波形发生器的方法类似。
然后当数值POS-X到达或超过存储在存储器M20中的数值E-FIN时,该数值不再增加,并在要求调整新相位(新音符)以前保持该数值。
处理过程如下:
MOD-CCY=1,这意味着该组第一级采样不是循环的,而且MOD-DCY=1,这就表示POS-X的增量为正的。
当POS-X<E-FIN时,POS-X的增量为强加上去的值信号INIT-X或CD-INIT不保证任何控制。
当POS-X>=E-FIN时,POS-X将保持在E-FIN值,同时固定信号INIT-X和CD-INIT值。为此,逻辑功能块187的输出应当为‘0’;因此,门电路181的输出应当为‘0’(SC-ECH或SC-ETR=0),比较器183的输出应当为‘1’(真比较结果,在逻辑功能块187的输入取反),Non(非)(MOD-CCY和MOD-DCY)=0。
通过逻辑功能块187的状态激活缓冲器193,该缓冲器在将INIT-X传送到计算电路30中的总线上传送E-FIN。CD-INIT通过门电路208的状态开始初始化,通过逻辑功能块187的输出,使该门电路的输出等于‘0’。
2〕一组采样;POS-X的减少
在调整相位时,向采样存储器M15提供数值E-FIN。POS-X根据频率从该值逐渐减去计算电路30计算出的减量,而当POS-X<=E-DEB时,该数值不再减少,并在要求调整新相位(新音符)以前保持该数值E-DEB。
为此,MOD-CCY=1(非循环),MOD-DCY=0(POS-X逐渐减去减量)。
存储器M20和M19分别存储值E-FIN和E-DEB。比较器182将E-DEB与当前的POS-X值进行比较,逻辑功能块186控制POS-X的初始化,缓冲器192在将INIT-X传送到计算电路30中的总线上传送E-DEB值。
这样,POS-X>E-FIN时,POS-X将根据频率逐渐减少,信号INIT-X或CD-INIT不保证任何控制。
当POS-X<=E-FIN时,由于有INIT-X和CD-INIT保证控制,所以POS-X将成为E-DEB值。
逻辑功能块186的输出应当为‘0’。为此,门电路181的输出应当为‘0’(SC-ECH=0或SC-ETR=0),比较器182的输出为‘1’(真比较结果,在逻辑功能块186的输入取反),Non(非)[MOD-CCY和Non(MOD-DCY)]=0。这样,通过逻辑功能块186的状态激活缓冲器192,该缓冲器在将INIT-X传送到计算电路30中的总线上传送E-DEB。由于功能块186的逻辑状态,CD-INIT通过门电路208的状态开始初始化,该门电路的输出等于‘0’。
3〕一组循环采样;POS-X增加
开始时,向存储器M15提供数值E-DEB,该值如第一种情况逐渐增加,但在这一次,当数值POS-X到达或超过存储在存储器M22中的数值E-B2时,该数值成为E-B1,数值POS-X重新增加到E-B2,如此继续下去。
在这种运行模式下:MOD-CCY=0(循环),MOD-DCY=1(增加),和MOD-ALT=1(不交替进行,总是沿一个方向循环)。
存储器M19-M22分别存储数值E-DEB,E-FIN,E-B1和E-B2。比较器185将数值E-B2与当前的POS-X值进行比较。逻辑功能块191及与门电路201控制POS-X的初始化,缓冲器194在将INIT-X传送到计算电路30中的总线上传送E-B1值。
这样,当POS-X<E-B2时,POS-X根据频率值FRE和ENS-FRE通过计算电路30增加,信号INIT-X和CD-INIT不起任何作用。
当POS-X>=E-B2时,POS-X在信号INIT-X和CD-INIT的控制下成为E-B1。为此,则逻辑功能块的输出应当为‘0’,这使得或门电路(181)的输出应当为‘0’(SC-ECH=0或SC-ETR=0),比较器的输出应当为‘1’(真比较结果,在逻辑功能块191的输入取反),[MOD-CCY或Non(非)(MOD-DCY)或Non(非)(MOD-ALT)]=0。如果功能块188的输出或功能块191的输出为‘0’,则门电路201的输出为‘0’。
这样,通过与门电路201的状态激活缓冲器194,该缓冲器在传送INIT-X的总线上传送E-B1。通过门电路208的状态开始初始化,通过门电路201的状态使该门电路208的输出等于‘0’。因此,POS-X重新根据值E-B1初始化,这就满足了条件POS-X<E-B2,循环重新开始。
4〕一组循环采样;POS-X的减少
在调整相位时,向采样存储器M15提供数值E-FIN,该值根据频率(信号FRE和ENS-FRE)逐渐减少。当POS-X<=E-B1时,该数值成为E-B2,然后POS-X继续减少至E-B1,以此类推。
存储器M19-M22分别存储数值E-DEB,E-FIN,E-B1和E-B2。比较器184将数值E-B1与当前的POS-X值进行比较;逻辑功能块189和与门电路202控制POS-X的初始化,缓冲器195在将INIT-X传送到计算电路30中的总线上传送E-B2。
当POS-X>E-B1时,POS-X根据频率逐渐减少,信号INIT-X和CD-INIT不保证任何控制。
当POS-X<=E-B1时,POS-X在这两个信号的控制下成为E-B2。为此,逻辑功能块189的输出应当为‘0’。因此,与门电路181的输出应当为‘0’(SC-ECH=0或SC-ETR=0),比较器184的输出应当为‘1’(真比较结果,在逻辑功能块189的输入取反),[MOD-CCY或(MOD-DCY)或Non(非)(MOD-ALT)]=0。如果功能块189的输出或功能块190的输出都为‘0’,则与门电路202的输出将为‘0’。通过与门电路202的状态激活缓冲器195,通过传送INIT-X的总线传送值E-B2到计算电路30。CD-INIT激活与门电路208,通过与门电路202的输出该门电路208的输出将为‘0’。POS-X初始化到值E-B2,这就恢复了条件POS-X>E-B1。
5〕一组交替循环采样;即POS-X先增加,然后减少
向采样存储器M15提供数值E-DEB,该值根据信号FRE和ENS-FRE逐渐增加。当POS-X>=E-B2(循环的第一限定时间)时,该数值成为E-B2(循环的第二限定时间),然后该值逐渐减少,重新到达值E-B1。然后,当该值到达值E-B1时,其值成为E-B1,值POS-X增加,直至到达E-B2,如此继续下去。
为此,MOD-CCY=0(循环),MOD-DCY=1(当调整相位时,逐渐增加),MOD-ALT=0(渐进方向的交替)及T-DIR=1(利用多路转换器198和信号C-INIT选择成为MOD-DCY)。
存储器M19-M22分别存储数值E-DEB,E-FIN,E-B1和E-B2。比较器184和185分别将数值E-B1和E-B2与POS-X的当前值进行比较。逻辑功能块190和门电路202利用T-DIR确定的增加方向控制POS-X初始化,而逻辑功能块188和与门电路201根据T-DIR=1确定的减少方向控制POS-X的初始化。
逻辑功能块203和多路转换器198根据信号T-DIR控制增加/减少方向。
在初始化(增加结束)的控制下,缓冲器194在传送INIT-X的总线上传送E-B1。缓冲器195在同一总线上传送值E-B2,用于减少结束的初始化。
在这些情况下,当T-DIR=1时,因为POS-X<E-B2,值POS-X增加。INIT-X或CD-INIT没有初始化的控制。
当T-DIR=1时,为了进行初始化,应当使POS-X>=E-B2。POS-X在INIT-X和CD-INIT的控制下成为数值E-B2。因为与门电路181的输出为‘0’(SC-ECH=0或SC-ETR=0),比较器185的输出为‘1’(真比较结果,在逻辑功能块190的输入取反),[MOD-CCY或者非(T-DIR)或(MOD-ALT)]=0,所以逻辑功能块190的输出为‘0’。如果逻辑功能块189或190的输出为‘0’,则与门电路202的输出为‘0’。通过与门电路202的‘0’输出激活缓冲器195,该缓冲器通过在将INIT-X传送到计算电路30中的总线上传送值E-B2。
信号C-INIT通过与门电路208的状态进行初始化。利用与门电路202的输出使该门电路208(C-INIT)的输出为‘0’。
利用逻辑功能块190的输出激活逻辑功能块203,周期P1迫使存储器M23的比特方向T-DIR转向,这样就促成了减少模式(T-DIR=0:减少)。
然后,当T-DIR=0时,因为POS-X>E-B1,所以值POS-X减少。INIT-X或CD-INIT没有初始化的控制。
当T-DIR=0时,为了进行初始化,应当使POS-X<=E-B1。POS-X在INIT-X和CD-INIT的控制下成为数值E-B1。因为与门电路181的输出为‘0’(SC-ECH=0或SC-ETR=0),所以逻辑功能块188的输出为‘0’,比较器184的输出为‘1’(真比较结果,在逻辑功能块188的输入取反),[MOD-CCY或(T-DIR)或MOD-ALT]=0。如果逻辑功能块188或逻辑功能块191的输出为‘0’,则与门电路201的输出为‘0’。通过与门电路201的‘0’输出激活缓冲器194,该缓冲器在将INIT-X传送到计算电路30中的总线上传送值E-B1。
信号C-INIT利用与门电路208的状态进行初始化。利用与门电路201的输出使该门电路208(CD-INIT)的输出为‘0’。
利用逻辑功能块188的输出激活逻辑功能块203,周期P1迫使存储器M23的比特方向T-DIR转向,这样就促成了增加模式(T-DIR=1:增加)。
现在描述声音合成装置的第一个运行例子。
在这种情况下,假定合成装置应当产生频率为440Hz的正弦形声音,其振幅值随意固定在100(在输出S以后得到的给定音量的数值)。
此外,假定存储单元数量n为192,组件数量m为16(在上面的例子中为64),输出的数量q也为16。表81(图15)中限定的正弦曲线用于1024个采样。图2的基准钟频2为67737MHz,取样频率为44100Hz(信号ACT),即67737/8(图2的计数器3)/192。
通过CPU用接口Ⅰ对单元SYNT进行初始化。为此,作为考虑的例子,CPU将合适的数据记录在若干个存储器中。
首先CPU安装有必须的单元SYNT结构来产生所考虑的声音:
-组件0;将0-191个存储单元的内容发送到该组件0中。为此,在书写信号W-ENS-CEL的控制下,用存储器M9(图8)的0-191个地址以信号AC记录数值‘0’。应注意的是存储单元1-191并不激活,但仍与组件0结合。
为了使将存储单元发送到组件(图8)上的电路实现在组件0中增加存储单元的任务(在实例中,仅仅存储单元0是有效的),对于16个组件的系统来讲,十六进制的值‘10’应当由信号W-ENS-CEL记录在存储器M9的地址‘0’中。这就将该存储单元0作为后面有待增加的存储单元固定到组件中(比特C-ENS=1,即相应数值的第五比特),使加法器U10(激活比特C-SEL=0,即相应数值的第四比特)累加该数值。
-总的容量;所有组件均为振幅值‘0’。为此,利用书写信号W-ENS-AMP将数值‘0’记录在存储器M8(图8)的地址0-16中。
-输出0;应当将组件0的内容发送到输出0上。为此,在书写信号W-SORTIE的控制下,存储器M11(图11)接收‘0’地址中的二进制数值‘1’,以便触发器63-0使被加到门电路62-0中的比特0的值‘1’激活,并且在子周期P64的激活脉冲期间得到激活。
然后,在用下列方法产生声音期间由CPU确定有效参数。
a)振幅参数
将所有振幅参数固定在0。为此,利用书写信号W-AMP-BAS将数值‘0’记录在电路20A的存储器M1(图5和6)的地址0-191中。利用书写信号W-AMP-INC将‘最大’值记录在同一电路20A的存储器M2中,以便删除振幅值中插入的内容(例如此处选择音调)。因为在该例子中,没有其它源进行任何振幅控制,所以利用书写信号W-AMP-CTR将最大值记录在存储器M4中。‘最大’是可能的最大值;例如对于16比特来讲,该最大值是65535(或用十六进制:ΦFFFF)。
b)频率参数
对于所有存储单元来讲,随意将频率的基本值固定在‘1000’(全部基本值为10(en entiers base 10));因此,利用书写信号W-FRE-BAS将该数值‘1000’记录在图6的功能块20B的存储器M1的所有位置中。
利用书写信号W-INC-FRE将‘最大’值记录在该功能块20B的存储器M2的所有192个位置中,以便去激活插入。
利用信号W-FRE-CTR将‘最大’值记录在存储器M4的所有位置中,在该例子中没有任何别的频率控制。
这里的‘最大’是可能的最大值;例如对于24比特来讲,该最大值是16777215(或用十六进制:ΦFFFFFF)。
c)相位参数
将相位的基本值固定在‘0’;因此利用书写信号W-PHA-BAS将‘0’记录在图6的功能块20C的存储器M1的所有位置0-191中。
利用书写信号W-PHA-INC将‘最大’值记录在同一功能块20C的存储器M2的所有位置中,以便去激活插入。
利用书写信号V-PHA-CTR将‘最大’值记录在同一功能块20C的存储器M4的所有位置中,以便去激活对PHASE相位参数的任何附加控制。
这里的‘最大’是可能的最大值;例如对于9比特来讲,该最大值是511(或用十六进制:1FF)。
d)滤波参数
所有滤波都是不起作用的。因此利用书写信号W-FLT-BAS将‘最大’值记录在图6的功能块20D的存储器M1的所有位置中。
利用书写信号W-FLT-INC将相同值记录在功能块20D的存储器M2的所有位置中,以便去激活插入所有参数FLT。
还利用书写信号W-FLT-CTR将‘最大’值记录在存储器M4的所有位置中,以便去激活对滤波参数的任何附加控制。这里的‘最大’是可能的最大值;例如对于8比特来讲,该最大值是255(或用十六进制:OFF)。
然后,为了产生理想的声音,最好对所需要的正弦振荡编程。
为了产生正弦声音,应当对单元SYNT编程,以便激活图14的正弦表81。还记得该表含有1024个零级采样,这些采样各连续点的值共同构成正弦波形。
利用单元CPU对这种激活进行编程,对于涉及存储单元‘0’,它利用书写信号W-MOD将一个数值记录在存储器M12的位置‘0’中(图13),该值的三个最小有效位的数值为‘000’。由此,解码器71激活信号SC-SIN,空出图14的第一级采样发生器电路72的表81的入口。这样存储单元0处于适当模式。
应当按照节奏读表81,该节奏对应于单元SYNT输出的440Hz的声音。如上所述,在这些情况中,在图7计算电路30的计算单元U4中最好使用乘法系数10,21678。利用书写信号W-ENS-FRE将该值记录在图8的存储器M10的地址‘0’中。然后在功能块20B的存储器M1的地址‘0’中,记录数值‘1’作为相对基频值FRE。利用图7的乘法单元U4计算有效频率。
应当对组件0的存储单元调整相位,在所述例子中,只有用于存储单元‘0’才是必须的。在信号W-DEC的控制下,将对应于组件0的值‘0’记录在图8的用于第一级分配电路40的触发器44中。
在所述的例子中,随意假使将振幅固定在值‘100’。将要包括存储单元‘0’的组件0的容量为最大值,同时在书写信号W-ENS-AMP的控制下,将“最大”值记录在存储器M8的地址‘0’中,例如对于10比特的值为1023。然后,在书写信号W-AMP-BAS的控制下,将值‘100’记录在功能块20A的存储器M1的地址‘0’中,该地址对应于存储单元‘0’,作为振幅参数AMPLITUDE的基本数值。
因而对单元SYNT进行初始化,以便产生理想的声音。
在该过程中,因为在所述例子中,不出现任何参数变化,所以不使用与子周期P2-AMP,P2-FRE,P2-PHA和P2-FLT相应的信号。
当进行该初始化处理时(直至相位调整),声音合成装置已经对存储单元着手进行第一个处理过程,从存储单元0开始。
第一个处理过程
在子周期P1的激活脉冲期间,将一个正符号指定给时间轴的方向;这意味着值POS-X增加。为此,相应符号的比特预先记录在存储器M23中,利用图13的存储器M12将信号MOD-DCY和MOD-ALT固定到能的二进制数值上。将符号比特加到计算单元30的电路34中。
在子周期P3的激活脉冲期间,对于振幅,频率,相位和滤波来讲,用功能块20A到20D的触发器26确认由CPU编程的存储单元0的参数。组件0利用存储器M7接收存储单元‘0’的指令(图8)。在该运行期间,存储单元0的上述值处于组件0上。当然,在所述的例子中,该上述值为0。
然后在子周期P4的激活脉冲期间,将存储单元0的参数固定在以前已经存储的值中,将指定值POS-X累加在累加存储器M5中(未确定值),计算存储单元0的振幅(值为零),将存储单元‘0’加到组件0中,利用该组件的0振幅值使其作为第二级值(图8的存储器M7),0值还作为第三级的值进入图11的触发器63-0中。
子周期PCPU的激活脉冲实现该周期P1,以便在必要的情况下使CPU将其它数值记录在单元SYNT中。
然后,对于所有存储单元来讲,各周期P1按顺序进行, 但是,在这里研究的例子中,没有一个有效的运行。
这样就完成了第一循环P。
第二过程
该过程是在信号ACT的下一个循环P期间进行的(图4)。在第一周期P1的激活脉冲期间对相位进行调整,所述第一周期出现在第一级分配电路40的功能块44-50中。当相位值等于0时,在下面的子周期P3的激活脉冲期间,利用计算电路30中的数值使POS-X初始化。
在子周期P3的激活脉冲期间,存储单元0的四个参数值根据CPU记录的数据被初始化。计算电路30取得相位数值,并计算在触发器36中得到确认的POS-X=0值,由分配电路40的存储器M9重新将存储单元0用于组件0中。将当前的第一级采样的数值添加给上个周期P1的数值(仍等于0)上。
在子周期P4的激活脉冲期间,存储单元0的四个参数值符合它们的当前值。将POS-X的“合并”值(还是0)存储在存储器M5中。一方面通过查找表81中的地址0上的正弦值确立存储单元的振幅值该地址由表示信号POS-X的最小有效位形成,另一方面通过将该正弦值与前面已经记录在图13的计算单元U12中的振幅值(100)相乘而形成。
当然,来自表81的点值(零级采样的数值)就是信号CCYC,点值通过图19的滤波电路160,此处研究的例子中,该电路未激活。为存储单元0形成的第一级采样的信号ACC-CEL通过存储在第一级分配电路40的存储器M7中分配给组件0。由于数值100在前面已经得到记录,所以第一级采样的振幅值也会等于100。
计算单元U10(图8)对同一组件的各存储单元的数值相加,在每一个过程开始(处理完给定组件的最后一个存储单元以后)时,该组件置于0。因为在该例子中只使用了一个存储单元,所以相应的第一级采样的数值等于第二级采样数值(触发器42朝单元U9的输出),也就是说,等于以前最大限度地固定的并在该单元9中算出的组件振幅。
同样,组件本身构成的值(只有一个有关的存储单元),可形成第二级采样,然后第二级采样作为第三级采样分配到所要求的输出(图11)。然后所考虑的周期P1在子周期PCPU的激活脉冲期间,由CPU记录数据而告结束。
此后,用相同的方法处理所有存储单元1-191,但是,因为在该例子中只有存储单元‘0’是激活的,所以没有实际作用。
第三过程
在子周期P1开始时,利用计算电路30的线路34的偏置将值POS-X的序列符号重新固定为正的。
然后在子周期P3的激活脉冲期间,进行下面的运行。
根据前面由CPU记录的数据,将存储单元0的四个参数固定到它们的数值上。计算电路30重新确认周期P1期间确定的相位,在存储器M5的位置‘0’中,值POS-X成为0。
就象在第一过程期间一样,将存储单元0加到组件0中,在计算单元U10中为组件0算出存储单元各数值的和(仅存储单元0),并将该和设置在触发器42中。
在子周期P4的激活脉冲的控制下,在功能块20A到20D中的任一个的累加存储器M3中确认四个存储单元。在计算单元U6(图7)中算出新的POS-X值以后,将该新值设置到累加存储器M5中,根据计算电路30的除法器31中执行的除法运算,该值可以等于10,也可以等于11。在计算单元U7的输出端出现相同的数值(PHA等于0),该值用作正弦表81的地址。从该表中取出的数值(或采样点)在计算单元U12中与数值AMP相乘以后(此时为100),将其放到累加存储器M13(图13)的位置‘0’中。
将该相乘以后的数值(信号ACC-CEL)作为与计算单元U10中的值B(此时为0)相加后的第二级采样的当前值存储在累加存储器M7的位置‘0’中。从而,通过与存储在存储器M8中的固定振幅值相乘而在计算单元U9中确立组件0的振幅值,同时将相乘后的数值放到存储器M6中。
然后将已经存储在该存储器中的数值通过输出0(图11),从而成为可以听到的声音。
根据需要,在子周期PCPU的激活脉冲期间,通过CPU记录的数据重新结束当前的周期P1。
在所有存储单元的信号ACT的循环P期间,该过程继续进行,在所考虑的例子中没有实际作用。
第四过程
它与上面的过程之间的唯一差别在于POS-X值的变化,该值将有一个新的增量10或11,该增量可以确定正弦表中所要求的新的点值,以便形成所要得到的声音。
当从存储器M11中取出组件0的数值(图11),并将该值发送到输出0中时,将会听到一个声音,利用信号EXT-SYNT使产生声音的外部装置同步。
然后,在后面的过程期间,只要CPU没有发出单元SYNT改变运行的命令,对于存储单元‘0’来讲,POS-X值继续增加10或11,其它存储单元仍然不动。
更确切地说,它产生的声音为440Hz的正弦单谐音。
如果要求产生的声音为更复杂的声谱,则可以在该过程中,根据该声谱给定的构形使用若干存储单元,并将这些存储单元分布在一个或多个组件中。因而零级采样可以来自三个不同的源,即图14或15的波形发生器,图16和18的利用存储器M15的输入电路,以及利用第一级采样的存储单元本身,所述第一级采样在累加存储器M13中。
下面描述的第二个例子可以理解这种更复杂声谱的声音形成,(见图22)。
应注意的是,为了便于对下面描述的理解,用在所述过程中的组成部件将用它们的标号表示,其它数字表示上面有功能块的附图(例如附图2的功能块3表示成2.3)。
这样,单元SYNT的方案为:
A-基本数据:
-所用存储单元的数量:4/192,
-加到输出上的存储单元的信号数量:3/4,
-所用组件的数量1/16,
-所用输出的数量1/16,
-所用输入的数量1/16,
-取样:就象第一个例子。
B-存储单元,组件和输出的配置
-存储单元0用一个加到输入0(模式SC-ETR)上的外部信号(例如:吉他),将其振幅固定成‘100’。
-存储单元1用于加到信号上的振荡RAMPE(模式SC-RMN),将其振幅固定成‘100’,并用乘法通过存储单元0调制该振幅。将频率固定成440Hz(基频=440Hz,频率比=1;5.U4)
-存储单元2存储有喇叭采样(模式SC-ECH)。该存储单元包括一个颤音,通过存储单元3用加法调制它的频率。将其振幅固定成‘100’。其频率为440Hz(基频=440Hz,频率比=‘1’)。
-存储单元3用于振幅‘250’,频率0,5Hz(基频=440Hz,频率比=‘0,001136’)的正弦振荡。该存储单元并不加到输出信号上,而只作为存储单元2的频率的调制。
-将这四个存储单元装在同一组件中,即组件0中。只将存储单元0-2的内容发送到输出0。所有存储单元的相位参数和滤波参数均为‘0’。
1.1.初始化:
CPU使系统初始化。将系统中的数据记录在相应的存储器中。
1.1.1.结构:CPU设定系统的结构:
-组件0:将存储单元0-191发送到组件0中。将数值‘0’写入地址W-ENS-CEL+0到W-ENS-CEL+191中(8.M9)。存储单元4-191不动作,但仍留在组件0中。为了使分配电路40实现在组件0中增加一些组件的任务(即存储单元0-3,它们是激活的,增加的是存储单元0-2),应当记录下面的数值:
-存储单元0:在W-ENS-CEL+0(8.M9)上的十六进制的值‘30’,该值向加法器U10提供存储单元0的积累值(激活的比特4C-SCEL=‘1’,不激活的比特5C-ENS=‘1’);
-存储单元1:在W-ENS-CEL+1(8.M9)上的十六进制的值‘30’,该值向加法器U10提供存储单元1的积累值(激活的比特4 C-SCEL=‘1’,不激活的比特5C-ENS=‘1’);
-存储单元2:在W-ENS-CEL+2(8.M9)上的十六进制的值‘30’,该值为加法器U10提供存储单元2的积累值(激活的比特4 C-SCEL=‘1’,不激活的比特5C-ENS=‘1’);
-存储单元3:在W-ENS-CEL+3(8.M9)上的十六进制的值‘00’,存储单元3并不被添加(不激活的比特4C-SCEL=‘0’)。它是组件中最后的存储单元(有效的5C-ENS比特‘0’)这将固定作为需要添加到组件中的最后数值的存储单元3的内容(比特C-ENS,即数值的比特5);
-总的振幅:首先使总体组件的振幅成为零。将数值‘0’写入对应于组件O-15的地址W-ENS-AMP+0到W-ENS-AMP+15中(8.M8);
-总的频率CPU根据440Hz的基频对SYNT编程。该程序应当考虑取样频率(44 100Hz)以及发生器每个循环的点数(1024点),以便计算频率码。在该例子中,对于组件0来讲,所用的频率数值与前面图6所讨论的频率数相同。将组件0的该频率数记录在对应于组件0的频率地址的地址W-ENS-FRE+0中(8.M10);
-输出0:将组件0发送到输出0。在对应于组件0的输出目的地的W-SORTIE(11.M11)上书写数值‘1’(比特0-1)。
1.1.2.存储单元的初始化参数:对于所有存储单元的振幅来讲,CPU记录数值0
-振幅值:所有为‘0’的振幅均写入地址W-AMP-BAS+0到W-AMP-BAS+191中(6.20A[5.M2])。
-振幅的增量值:将‘最大’值写入地址W-AMP-INC+0到W-AMP-INC+191中(6.20A[5.M1])。这样做的目的是将无插入值的数值提供给振幅。
-振幅的改变数值:将‘最大’值(hex-200)写入地址W-AMP-CTR+0到W-AMP-CTR+191中(6.20A[5.M4])。这样做的目的是使振幅的改变去激励。
-频率值:所有频率的值为‘1000’(随意的),将该值写入地址W-FRE-BAS+0到W-FRE-BAS+191中(6.20B[5.M2])。
-频率的增量值:将‘最大’值写入地址W-FRE-INC+0到W-FRE-INC+191中(6.20B[5.M1])。这样做的目的是将无插入值的数值提供给频率。
-频率的改变数值:将“最大”值写入地址W-FRE-CTR+0到W-FRE-CTR+191中(6.20B[5.M4])。这样做的目的是使频率的改变去激励。
-相位数值:所有相位均为‘0’,将该值写入地址W-PHA-BAS+0到W-PHA-BAS+191中(6.20C[5.M2])。
-相位的增量将‘最大’值写入地址W-PHA-INC+0到W-PHA-INC+191中(6.20C[5.M1])。这样做的目的是将无插入值的数值提供给相位。
-相位的改变数值:将‘最大’值写入地址W-PHA-CTR+0到W-PHA-CTR+191中(6.20C[5.M4])。这样做的目的是使相位的改变去激励。
-滤波值:所有滤波均不起作用:将“最大”值写入地址W-FLT-BAS+0到W-FLT-BAS+191中(6.20D[5.M2])。
-滤波的增量将‘最大’值写入地址W-FLT-INC+0到W-FLT-INC+191中(6.20D[5.M1])。这样做的目的是将无插入值的数值提供给滤波。
-滤波的改变数值:将‘最大’值写入地址W-FLT-CTR+0到W-FLT-CTR+191中(6.20D[5.M4])。这样做的目的是使滤波的改变去激励。
1.2.模式的程序和存储单元的参数
1.2.1.存储单元0:SC-ETR
CPU对SYNT编程,以便激活存储单元0的实时输入0。将实时输入记录在取样存储器中(17.M15)。在该例子中,将存储的地址限定在地址为0到1023之间的存储区域中,这些地址用于连续存储(循环)。
-存储单元0模式:将存储单元0与实时输入0连接。在地址W-ETR-N+1(16.M14)中书写数值‘0’。模式SC-ETR对应于W-MOD上的模式‘007’。存储器M15的访问模式(1024个地址)为循环的(MOD-CCY=0),增加(MOD-D)CY=1),不交替(MOD-ALT=1),十六进制模式‘300’加到W-MOD上。将十六进制码‘307’(‘007’+‘000’+‘300’)记录在地址W-MOD+0(13.M12)中,该地址对应于存储单元0的模式地址。这样就激活控制比特SC-ETR,该控制比特发挥该存储单元的取样模式的作用。
-存储单元0的采样地址:采样的起始地址和循环的起始地址的值均为‘0’,将该值记录在地址W-ECH-DEB+0(20.M19)和W-ECH-B1+0(20.M21)中。采样的结束地址和循环的结束地址均为‘1023’,将该值记录在地址W-ECH-FIN+0(20.M20)和W-ECH-B2+0(20.M22)中。由于访问是循环的,所以存储器M15将在作为存储单元0的区域内用作循环缓冲器。
-存储单元0的频率:因为是基于时钟(2.2)取样的,所以并不一定要固定该频率,一旦进行划分,该时钟取样的频率为44 100Hz。在该模式中(SC-ETR),增量的幅度是固定的,该幅度为‘1’。
-存储单元0的振幅:在该例子中,将振幅随意固定为‘100’,这是记录在地址W-AMP-BAS+0(6.20A[5.M2])中的数值
1.2.2.存储单元1:SC-RMN
对存储单元1进行编程,使其为负斜坡形式的振荡,其振幅将由存储单元0的输出调制。
-存储单元1的模式:负斜坡对应于W-MOD(13.M12)上的码‘4’。振幅的调制是加成的(MOD-FCT-AMP=0),将码‘0’加到W-MOD上。因此将数值‘4’记录在地址W-MOD+1(13.M12)中,该地址对应于存储单元1的模式地址。这样就激活了SC-RMN的控制比特,它使负斜坡形式的振荡模式发挥作用(14.88,84)。
-存储单元1的频率:记录在组件0中的频率系数对应于440Hz的基频。因此将数值‘1’(乘以1的组件频率)记录在地址W-FRE-BAS+1(6.20B[5.M2])中。
-存储单元1的振幅:将‘100’记录在地址W-AMP-BAS+1(6.20A[5.M2])中。
-存储单元1的振幅控制:在该例子中,存储单元1用存储单元0的输出来调制其振幅。将数值‘0’记录在地址W-AMP-CTR+1(6.20A[5.M4])中。该数值对存储单元0起到调制源的作用。
在该过程中将会发现,就象用于192个存储单元的图12所示的那样,由最能体现信号ADR-CTR的比特形成9比特的模式限定如下选择:ACC-CEL=hex-000-hex-OBF,ACC-ENS=hex-OCO-hex-OCF,ACC-ETR=hex-ODO-hex-ODF,ACC-DET振幅=hex-OEO-hex-OEF,ACC-DEF频率=hex-OFO-hex-OFF和ACC-DET频带=hex-100-hex-IFF。存储数值hex=200(最大),以便表示控制对一个存储单元的对应参数不起作用。
1.2.3.存储单元2:SC-ECH
对存储单元2编程,以便存储录入的喇叭声音采样。在此处所述的例子中,假定该声音是存储在CPU中的文件。利用其频率调制将一个颤音加到该采样上,调制的振荡是存储单元3的输出的振荡。应注意的是,该存储单元的440Hz的频率只是采样的参考值声音频率与CPU记录的振荡频率有关。假定将其登录到与将要再生的存储单元等量的采样频率上,并假定在录了音的磁带上演奏的音符为440Hz。在另一些情况下,产生的喇叭频率会成比例地转换。例如采样持续2秒钟即有88200个取样点(对于每个循环,100个点为440Hz)。将其记录在存储器M15的1024-89224个取样地址中。
-采样2的模式:对存储单元2编程,以便产生喇叭的取样信号。这对应于W-MOD上的码‘006’。频率调制为加成的,从而将码‘000’加到W-MOD上。取样模式为非循环的(MOD-CCY=1),增加(MOD-DCY=1),非交替(MOD-ALT=1)的,将十六进制码‘380’加到地址W-MOD上。将十六进制码‘386’(006+000+380)记录在地址W-MOD+2(13.M12)上。这样就激活控制比特SC-ECH,它使存储单元的取样模式发挥作用。
-存储单元2的采样地址:采样在开始时的地址的值为‘1024’,将该值记录在地址W-ECH-DEB+2(20.M19)中。采样结束地址固定在89224,将该值记录在地址W-ECH-FIN+2(20.M20)中。
-登录存储单元2的采样:88200个点的采样从CPU传送到取样存储器M15的地址W-ECH-CYC+‘1024’到W-ECH-CYC+‘89224’(17.121和M15)中。
-存储单元2的频率:记录在组件0上的频率系数对应于440Hz的基频。因此将数值‘1’(乘以1的组件频率)记录在地址W-FRE-BAS+2(6.20B[5.M2])中。
-存储单元2的振幅:将振幅随意固定为值‘100’,这是记录在地址W-AMP-BAS+2(6.20A[5.M2])中的数值。
-存储单元2的频率控制:在该例子中,存储单元2用存储单元3的输出来调制其频率。将数值‘3’记录在地址W-FRE--CTR+2(6.20B[5.M4])中。以便确定该存储单元3用作调制源。
1.2.4.存储单元3:SC-SIN
对存储单元3编程,以便将正弦振荡加到0,5Hz的低频上。该存储单元调制存储单元2的频率。
-存储单元3的模式:应当预先使该存储单元处于正弦振荡模式。因此将数值‘0’写入地址W-MOD+3(13.M12)中。这样就激活控制比特SC-SIN,它使含有正弦表的函数81发生器发挥作用。
-存储单元3的频率:振荡频率为0,5Hz,基频系数应当为‘0,00136’(0,5Hz=‘440’*‘0,00136’)。因而将值‘0,00136’(乘以1的组件频率)记录在地址W-FRE-BAS+3(6.20B[5.M2])中。
-存储单元3的振幅:在该例子中,将振幅随意固定为‘250’,这是记录在地址W-AMP-BAS+3(6.20A[5.M2])中的数值。
1.2.5.启动:
-调节存储单元0-3的相位;调节组件0的已编程的存储单元相位。将对应于组件0的数字‘0’写入地址W-DEC(8.44)。
-组件的振幅:使组件0达到最大的容量,同时将‘最大’值记录在地址W ENS-AMP+0(8.M8)中。
-在实时输入0上分接一个例如吉它的设备。
1.3.采样的产生:
应注意的是,正如图3和4所示的那样,每一个子周期P包括一个计算结束时与每个存储单元相关的子周期PCPU。下面不对此进行描述。
将系统初始化,它使存储单元上产生正弦信号。
第一个过程(在1.1.1-1.2.4节中描述的进行初始化运行期间):
存储单元0
P1:-时间方向Axe-x:正
-读出输入IN-0(例如:值为‘0,28’)。将该值在IN.CEL上传送(16.103),并将其记录在存储器(17.M15)的未限定的地址中(POS-X),但在有限地址内,即在E-DEB(0)和E-FIN(1023)之间,所述有限地址在存储单元初始阶段确立。
-不使存储单元0受到外部振幅,频率,相位或滤波的控制,信号P2-AMP,P2-FRE,P2-PHA,P2-FLT不起作用。
P3:-根据CPU记录在初始结果数值上的数据使存储单元0的参数初始化。
-组件0对存储单元的选择。
-在组件(8.U10,42)上用激活比特C-SCEL(8.M9)记录该存储单元0的值。该值与前面的值一样也为0。在上一个过程期间,存储单元初始化使振幅为0。
P4:-将存储单元的参数固定到它们的值上。
-累加存储单元0的x轴上的POS-X(5.M3;6.20B)。
-将子循环P3期间累加的0值(8.24)记录在组件累加器中(8.M7)。
-计算存储单元0的振幅=‘100’(13.U12)。存储单元0的采样值=‘28’(振幅‘100’*值IN-0=‘0,28’)。存储该值(13.M13)。
-计算组件0的振幅=‘0’,将该值传送到存储器M6中(不存储)。
-组件累加器:存储器M6中不记录任何数值(8.M9的不激活比特C-ENS)。前一个数值为0。在上一个过程期间,用振幅‘0’对组件初始化。
-输出累加器:组件0的值为0。
存储单元1
P1:-时间方向Axe-x:正
P2-AMP-通过存储单元0使存储单元1受到外部振幅的控制。将存储单元0在以前的振荡循环期间计算出的数值(13.M13)输入到触发器24中(图5),调制有效数值‘28’。
-不使存储单元1受到外部频率,相位和滤波的控制,信号P2-FRE,P2-PHA,P2-FLT不起作用。
P3:-根据CPU记录在初始结果数值上的数据使存储单元1的参数初始化。
-将存储单元0用到组件0上。
-在组件0(8.U10,42)上通过激活比特C-SCEL(8.M9)增加该存储单元1的值。该值与前面的值一样也为0。在前面的过程中,利用振幅0使存储单元初始化。
P4:-将存储单元1的参数(振幅+调制)固定成值‘28’。
-累加存储单元1的x轴上的POS-X。该值未经确定。
-将子循环P3期间由触发器42累加的0值记录在组件累加器M7中(图8)。
-用数值‘128’(‘100’AMP+‘28’(存储单元0的值))计算存储单元1的振幅(13.U12)。采样值未经确定(‘128’*未经确定地址的斜坡)。在存储器M13中存储该值。
-将组件的数值为‘0’的振幅传送到存储器M6中(不存储)。
-组件累加器:存储器M6中不记录数值,比特C-ENS不激活(8.M9)。以前的数值为0。在上一个过程期间,用振幅‘0’对组件初始化。
-输出累加器组件0的值为0。
存储单元2
P1:-时间方向Axe-x:正
P2-FRE-通过存储单元3只使存储单元2受到外部频率的控制。存储单元3在前面过程期间的振荡数值为0,并将该数值输入到触发器24中。调制为0。
P3:-根据CPU记录在初始结果数值上的数据使存储单元2的参数初始化。
-将存储单元2用到组件0上。
-在组件(8.U10,42)上增加该存储单元2的值,比特C-SCEL是激活的(8.M9)。由于前面的值是0,所以该值也为0,在前面的过程中,利用振幅‘0’已使存储单元初始化。
P4:-将存储单元2的参数固定到它们的值上。
-累加x轴上的POS-X。该值未经确定,它在E-DEB(1024)和E-FIN(89224)之间。
-将子循环P3期间由触发器42累加的0值记录在组件累加器中(8.M7)。
-计算的振幅(13.U12;值‘100’)。采样值未经确定(‘100’*未经确定地址的采样)。在存储器M13中存储该值。
-将为组件0计算出的振幅传送到存储器M6中,但不将其存储。
-组件累加器:因为比特C-ENS不激活(8.M9),所以存储器M6中不记录任何数值。以前的数值为0。在前面的过程中,用振幅‘0’对细件初始化。
-输出累加器:组件0的值为0。
存储单元3
P1:-时间方向Axe-x:正
-不使存储单元3受到外部振幅,频率,相位或滤波的控制。
P3:-根据CPU的初始数据使参数初始化。
-将存储单元3用到组件0上。
-因为比特C-SCEL是不激活的(8.M9),所以在组件0(8.U10,42)上没有增加该存储单元3的值。
P4:-将参数固定到它们的值上。
-在x轴上将POS-X累加到一个未经确定的值上。
-将子循环P3期间由触发器42累加的0值记录在组件累加器中(8.M7)。
-计算振幅(13.U12)(值‘250’)。存储单元3的采样值未经确定(‘250’*未经确定地址的正弦)。在存储器M13中存储该值。
-计算组件的振幅(值为‘0’),并将该振幅传送到存储器M6中。
-组件累加器:因为比特C-ENS是激活的(8.M9),所以存储器M6中记录数值。以前的数值为0。在前面的过程中,用振幅‘0’对组件初始化。为了在下一个过程使组件初始化,使触发器42为0
-输出累加器:组件0的值为0。
然后,在循环P1-PCPU期间,过程0对存储单元4-191进行处理。没有信号。
第二过程
该过程在相位调整和记录组件参数期间进行(1.2.5节,第一采样):
存储单元0
P1:-通过在触发器44(图8)上书写数值‘0’(有待相位调整的组件0的数目,所有存储单元均是其一部分)进行相位调整。由于相位值是‘0’,所以在下一个子循环P3期间,由图7电路使x轴的POS-X项进行初始化。通过功能块50产生初始化信号C-INIT,并将其传送到门电路208,该门电路产生信号CD-INIT。用E-DEB(存储单元0)=‘0’将存储单元0的POS-X进行初始化。
-读出输入IN-0(例如:‘0,35’),将其传送到IN-CEL。将该数值记录在存储器M15(POS-X=?)中。
-存储单元0不受任何外部控制。
P3:-自上个过程以来存储单元0的参数没有变化。
-在循环P1期间,图7电路(功能块35信号CD-INIT)检测到发出的调整相位的命令。存储单元0的POS-X相位调整到‘0’。
-将存储单元0用到组件0上。
-通过激活的比特C-SCEL(8.M9),在组件(8.U10,42)上记录该存储单元0的值;振幅值为‘100’。
P4:-将存储单元0的参数固定到它们的值上。
-在存储单元0的x轴上累加POS-X=‘0’(相位‘0’)。
-将子循环P3期间由触发器42累加的值记录在组件累加器M7中。
-根据值‘100’计算存储单元0的振幅(13.U12)。存储单元0的采样值=‘35’(‘100’*IN-0=‘0,35’)。在存储器M13中存储该值。
-根据值‘0’计算组件的振幅,并将该振幅传送到存储器M6中,但不将其存储。
-组件累加器:因为比特C-ENS不激活(8.M9),所以存储器M6中不记录数值。以前的数值为0。在前面的过程中,用振幅‘0’对组件初始化。
-输出累加器:组件0的值为0。
存储单元1
P1:-在子循环P3期间对存储单元的组件0进行相位调整;E-DEB=‘0’。
P2-AMP-通过存储单元0使存储单元1只受外部振幅的控制。将存储单元0在以前的振荡期间计算出的数值存储在存储器M13中,将该值发送到触发器24中。调制有效数值‘35’。
P3:-自上个过程以来存储单元1的参数没有变化。
-在循环P1期间,图7电路(功能块35信号CD-INIT)检测到发出的调整相位的命令。存储单元1的POS-X相位调整到‘0’(E-DEB)。
-将存储单元1用到组件0上。
-在组件(8.U10,42)上增加该存储单元1的值;比特C-SCEL是激活的(8.M9)。前面的值是存储单元0(‘28’)+存储单元1‘?’。该值未经确定。
P4:-将存储单元1的能数固定到它们的值上,振幅添加了对其进调制的存储单元0的值(5.U4,M3;6.20A)。存储单元的总振幅=‘135’。
-存储单元1的x轴上的POS-X累加值=‘0’(相位‘0’)。
-将子循环P3期间由触发器42累加的值记录在组件累加器M7中。
-计算存储单元1=‘135’的振幅(13.U12),即‘100’AMP1+‘35’(存储单元0的值)。存储单元1的采样值=‘134’(‘135’*开始的斜坡‘0,99’)。在存储器M13中存储该值。
-用数值‘0’计算组件的振幅,将该值传送到存储器M6中,但不将其存储。
-组件累加器:由于比特C-ENS不激活(8.M9),所以存储器M6中不记录数值(8.M9)。以前的数值为0。在前面的过程中,初始化的组件的振幅为‘0’。
-输出累加器:组件0的值为0。
存储单元2
P1:-在子循环P3期间对存储单元的组件0进行相位调整;用E-DEB=‘1024’对存储单元2的POS-X进行初始化。
P2-FRE-通过存储单元3使存储单元2只受外部频率的控制。将存储单元3在以前的振荡期间计算出的数值(13.M13)发送到触发器24中。调制未经确定的数值。
P3:-自上个过程以来参数没有变化。
-在循环P1期间,图7电路(功能块35信号CD-INIT)检测到发出的调整相位的命令。 POS-X变成‘1024’(E-DEB)。
-将存储单元2用到组件0上。
-通过激活比特C-SCEL(8.M9)在组件0(8.U10,42)上将存储单元2的值与前面的值相加:存储单元0(‘28’)+存储单元1‘?’+存储单元2(?)。该值未经确定。
P4:-将参数固定到它们的值上。根据第一过程累加的值(例如累加值=未确定值),将频率添加到对其调制的存储单元1的值上(5.U4,M3;6.20B)。由于当时调整相位,所以频率值不起作用。
-存储单元2的x轴上的POS-X累加值=‘1024’(相位‘0’)。
-将子循环P3期间由触发器42累加的值记录在组件累加器M7中。
-根据值‘100’计算振幅(13.U12)。存储单元2的采样值=‘11’(振幅‘100’*第一喇叭点,例如地址1024的‘0,11’)在存储器M13中存储该值。
-用数值‘0’计算组件的振幅,将该值传送到存储器M6中,但不将其存储。
-组件累加器:由于比特C-ENS不激活(8.M9),所以存储器M6中不记录数值(8.M9)。以前的数值为0。在前面的过程中,初始化的组件的振幅为‘0’。
-输出累加器组件0的值为0。
存储单元3
P1:-在子循环P3期间对存储单元的组件0进行相位调整。
-在子循环P2-AMP,P2-FRE,P2-PHA和P2-FLT期间,不受任何外部控制。
P3:-自上个过程以来参数没有变化。
-在循环P1期间,图7电路(功能块35信号CD-INIT)检测到发出的调整相位的命令。 POS-X变成‘0’。
-将存储单元3用到组件0上。
-在组件上没有加存储单元3的值(8.U10,42),比特C-SCEL是无效的不激活(8.M9)。
P4:-将参数固定到它们的值上。
-x轴上的POS-X累加值=‘0’(相位‘0’)。
-将子循环P3期间由触发器42累加的值记录在组件累加器M7中。
-根据值‘250’计算振幅(13.U12)。采样值=‘0’(‘250’*正弦表的第一点=‘0’)。在存储器M13中存储该值。
-用数值‘0’计算组件0的振幅,将该值存储,并将其发送到存储器M6中。
-组件累加器:记录在存储器M6中的数值(激活比特C-ENS,8.M9),各存储单元的相加值,根据振幅=‘0’的经初始化的组件(仅在后面的过程中达到最大)。当为后面的过程使组件初始化时,触发器8.42为0。
-输出累加器组件0的值为‘0’(振幅=‘0’*存储单元0-2的采样的和),经选择,并不增加存储单元3。比特C-CEL未被CPU激活。
根据循环P1-PCPU的存储单元4-191的第二过程(没有信号)。
第三过程(在调整相位,设定第二采样以后):
存储单元0
P1:-时间方向Axe-x(X-轴):正
-读出输入IN-0(例如:值为‘0,33’)。将该值在IN.CEL上传送。将值‘0,33’记录在存储器M15中=(POS-X=‘0’)
-在子循环P2-AMP,P2-FRE,P2-PHA和P2-FLT期间,不受到任何外部控制。
P3:-自前面的过程起参数没有改变。
-用值‘1’增加地址POS-X(‘0’+‘1’)。在模式SC.ETR中,POS-X的增量为常数,它等于‘1’(7.32)。
-将存储单元0用到组件0上。
-在组件(8.U10,42)上通过不激活比特C-SCEL(8.M9)记录值‘35’,前面的值为‘35’。
P4:-将参数固定到它们的值上。
-累加x轴上的POS-X=‘1’。
-将子循环P3期间在触发器42上累加的值记录在组件累加器M7中。
-根据数值‘100’计算存储单元0的振幅(13.U12)。存储单元0的采样值=‘33’(振幅‘100’*值IN-0=‘0,33’)。将该值存储在存储器M13中。
-根据‘最大’值计算组件的振幅,将该最大值传送到存储器M6中,但不存储该值。
-组件累加器:因为比特C-ENS是不激活(8.M9)的,所以存储器M6中不记录任何数值。保持上一个数值,直至组件0的最后的存储单元。
-输出累加器:组件0的值为0。
存储单元1
P1:-时间方向Axe-x:正
P2-AMP-通过存储单元0只使存储单元1受到外部振幅的控制。将存储单元0在以前的振荡循环期间计算出的数值(13.M13)输入到触发器24中,调制数值‘33’。
P3:-自前面的过程起存储单元1的参数没有改变。
-存储单元1的地址POS-X增加=‘10’(‘0’+‘10’)。应注意的是,在频率440Hz,79%的增量等于‘10’,21%的增量等于‘11’。
-将存储单元1用到组件0上。
-通过激活比特C-SCEL(8.M9)在组件(8.U10,42)上增加存储单元1的值。前面的值为:存储单元0(‘35’)+存储单元1(‘134’)=‘169’。
P4:-将参数固定到它们的值上。将振幅添加到由值‘33’调制的存储单元0的值上(5.U4,M3.6.20A)。因此存储单元1的总振幅为‘100’+‘33’=‘133’。
-累加存储单元1在x轴上的POS-X=‘10’。
-将子循环P3期间在触发器42中累加的值记录在组件累加器中(8.M7)。
-根据数值‘133’计算存储单元1的振幅(13.U12){‘100’amp1+‘33’(存储单元0的值)}。
-存储单元1的采样值=‘129’(‘133’*‘0,97’)。值‘0,97’是地址10的斜坡值。将该值存储起来(13.M13)。
-根据‘最大’值计算组件的振幅。将该值传送到存储器M6中,但不存储该值。
-组件累加器因:为比特C-ENS是不激活(8.M9)的,所以存储器M6中不记录任何数值。前一个数值为0。在前面的过程中,利用振幅‘0’使组件初始化。
-输出累加器:组件0的值为0。
存储单元2
P1:-时间方向Axe-x:正
P2-FRE-通过存储单元3使存储单元2只受外部频率的控制。将存储单元3在以前的振荡期间计算出的数值(13.M13)发送到触发器24中。调制有效数值‘0’。
P3:-自上个处理过程以来存储单元2的参数没有变化。
-存储单元2的地址POS-X增加=‘1034’(‘1024’+‘10’)。此处也是一样,在频率440Hz,79%的增量等于‘10’,21%的增量等于‘11’。
-将存储单元2用到组件0上。
-通过激活比特C-SCEL(8.M9)在组件(U8.U10,42)上增加存储单元2的值。前面的值为:存储单元0(‘35’)+存储单元1(‘134’)+存储单元2(‘11’)=‘180’。
P4:-将存储单元2的参数固定到它们的值上。将频率添加到由值‘0’调制的存储单元3的值上(5.U4,M3.6.20B)。因此存储单元1的频率是‘10.21’(‘10.21’+‘0’)。
-累加x轴上的POS-X=‘1034’。
-将子循环P3期间在触发器42中累加的值记录在组件累加器M7中。
-根据数值‘100’计算存储单元2的振幅(13.U12)(振幅=‘100’)。存储单元1的采样值=‘-8’,例如(此处假定的地址1034的‘100’*采样等于‘-0.08’)。将该值存储在存储器M13中。
-根据‘最大’值计算组件0的振幅,将该值传送到存储器M6中,但不存储该值。
-组件累加器因为比特C-ENS是不激活(8.M9)的,所以存储器M6中不记录数值前一个数值为0。在前面的过程中,利用振幅‘0’使组件初始化。
-输出累加器:组件0的值为0。
存储单元3
P1:-时间方向Axe-x:正
-使存储单元3不受外部振幅,频率,相位和滤波的控制。
P3:-自上个过程以来参数没有变化。
-地址POS-X增加=‘0’(‘0’+‘0’),增量等于‘0.001136’,即在频率0.5Hz每10000次中的9989次为‘0’,每10000次中的11次为‘1’。
-把存储单元3用到组件0上。
-因为比特C_SCEL是无效的(8.M9),所以存储单元3的值没有加到组件0上(U8.U10,42)。
P4:-将参数固定到它们的值上。
-累加x轴上的POS-X=‘0’。
-将子循环P3期间在触发器42中累加的值记录在组件累加器M7中。
-根据数值‘250’计算振幅(13.U12)。采样值=‘0’(‘250’*正弦表的第一点,即‘0’)。将该值存储在存储器M13中。
-根据‘最大’值计算组件的振幅,将该值传送到存储器M6中。
-组件累加器:因为比特C-ENS是有效的(8.M9),所以存储器M6中记录数值。各存储单元的相加值=‘180’(最大振幅‘0,9999’*存储单元0-2的和=‘180’。应注意的是,故意不添加存储单元3,通过CPU使比特C-CEL不激活)。使组件初始化到‘最大’振幅。为了下面的处理过程,触发器42设置为使组件初始化的‘0’。
-输出累加器:组件0的值=180。
根据循环P1-PCPU的存储单元4-191的第三处理过程(没有信号)。
第四过程(简述):
存储单元0
P1:-阅读传送到IN-CEL中的输入IN-0(例如:‘0,04’)。记录在存储器M15中的值为‘0,04’(POS-X=‘0’)。
P3:-POS-X(存储单元0)=‘2’(‘1’+‘1’)
-组件0:存储单元0的上一个值=‘33’
P4:-存储单元0的采样值=‘4’(振幅‘100’*值IN-0=‘0,04’)。
存储单元1
P2-AMP-通过存储单元0使存储单元1受外部振幅的控制。将存储单元0的上一个过程的值送入触发器24中。例如对值‘33’进行有效调制。
P3:-POS-X=‘21’(‘10’+‘11’)。(增量=‘10’时,在440Hz100次中有79次;增量等于‘11’,100次中有21次)。
-组件0:前面的值相加:存储单元0(‘33’)+存储单元1(‘129’)=‘162’
P4:-与存储单元0的值相加后的振幅=‘8’。总振幅=‘104(‘100’+‘4’)。
-存储单元1的采样值=‘101’(‘104’*地址21斜坡=‘0,95’)。
存储单元2
P2-FRE-通过存储单元3使存储单元2受外部频率的控制。将存储单元3的上一个过程的值送入触发器24中。例如以值‘0’进行有效调制。
P3:-POS-X=‘1045’(‘1034’+‘11’)。(在440Hz增量=‘10’,100次中有79次;增量等于‘11’,100次中有为21次)。
-组件:前面的值相加:存储单元0(‘33’)+存储单元1(‘129’)+存储单元2(‘-8’)=‘154’
P4:-与存储单元3的前面的值‘0’相加后的频率。存储单元的频率=‘10.21’(‘10.21’+‘0’)。
-存储单元2的采样值=‘-18’(‘100’*采样地址1045=例子-‘0,18’)。
存储单元3
P3:-POS-X=‘0’(‘0’+‘0’)。增量=‘0,001136’,即在0.5Hz为‘0’,9989次/10000次;等于‘1’,11次/10000次)。
-在组件上没有加存储单元3的值(U8.U10,42),比特C-SCEL不激活(8.M9)。
P4:-存储单元3的采样值=0(‘250’*正弦表的第一点=‘0’)。
-组件:比特C-ENS在存储器M9中激活。存储单元的总增加值=‘154’(存储单元0-2的总和)*‘0,9999’(最大组件振幅)。因为比特C-SCEL未被CPU激活,所以没有加存储单元3。
-输出的累加器:组件0的值=‘154’。
根据循环P1至PCPU的存储单元4-191的第四过程(没有信号)。
0-0-0-0-0-0-0-0-
根据处理过程的顺序在存储单元0-2中产生一个信号。存储单元3为低频(0,5Hz),对存储单元2的频率调制作用也慢,每998,9个过程中,该存储单元的正弦振荡只使地址前进一次(或者如上所述,每10000当中有11次。为了观察其作用,考虑第999个过程到第1001个过程。
第999个过程(简述)
存储单元0
P1:-阅读传送到IN-CEL中的输入IN-0(例如:‘-0,69’)。记表在存储器M15中的值为‘-0,69’(POS-X=‘0’)。
P3:-POS-X=‘995’(‘994’+‘1’)。应注意的是为了得到E-B1(‘0’)的值增加该值直至E-B2(‘1023’),然后将其删去,运行为循环运行。
-组件0:存储单元0的上一个值(例如=‘-72’)=‘-72’
P4:-存储单元0的采样值=‘-69’(振幅‘100’*值IN-0=‘-0,69’)。
存储单元1
P2-AMP-通过存储单元0使存储单元1受外部振幅的控制。将存储单元0的上一个循环的值送入触发器24中。例如以值‘-69’进行调制。
P3:-POS-X=‘942’(‘932’+‘10’)。(在440Hz时,增量=‘10’,79次/100次,增量等于‘11’,21次/100次)。应注意的是将该值加到10比特上(‘0’-‘1023’)。
-组件0:前面的值相加:存储单元0(‘-72’)+存储单元1{‘-23’:斜坡(‘-0,81’)*(‘100’-‘72’)}=‘-95’。
P4:-与存储单元0的值相加后的振幅=‘-69’。总振幅=‘31’(‘100’-‘69’)。
-存储单元1的采样值=‘-25’(‘31’*地址942斜坡=‘-0,82’)。
存储单元2
P2-FRE-通过存储单元3使存储单元2受外部频率的控制。将存储单元3的上一个过程的值送入触发器24中。例如对值‘0’进行调制。
P3:-POS-X=‘10159’(‘10149’+‘10’)。(在440Hz时,增量=‘10’,79次/100次,增量等于‘11’,21次/100次)。应注意的是,增加该值直至E-FIN(‘89224’),然后停止增加,运行为非循环运行。
-组件0前面的值相加:存储单元0(‘-72’)+存储单元1(‘-23’)+存储单元2(例如:‘32’)=‘-63’
P4:-与存储单元3的前面的值‘0’相加后的频率。存储单元的频率=‘10,21’(‘10,21’+‘0’)。
-存储单元2的采样值=‘30’(‘100’*采样地址10159=例子‘-0,30’)。
存储单元3
P3:-POS-X=‘1’(‘0’+‘1’)。增量=‘0,001136’,即在0.5Hz,为‘0’,9989次/10000次,等于‘1’,11次/10000次)。
-在组件上没有加存储单元3的值(U8.U10,42),比特C-SCEL不激活(8.M9)。
P4:-采样值=‘1’(‘250’*正弦表的第二点=‘0,006’)。
-组件:比特C-ENS在存储器M9中激活。存储单元的总增加值=‘-63’(存储单元0-2的总和)*‘0,9999’(最大组件振幅)。因为比特C-CEL未被CPU激活,所以没有增加存储单元3。
-输出的累加器:组件0的值=‘-63’。
根据循环P1至PCPV的存储单元4-191的第999过程(没有信号)。
第1000个过程(简述)
存储单元0
P1:-阅读传送到IN-CEL中的输入IN-0(例如:‘-0,64’)。记录在存储器M15中的值为‘-0,64’(POS-X=‘0’)。
P3:-POS-X=‘996’(‘995’+‘1’)。
-组件0:有上一个值的存储单元0=‘-69’
P4:-存储单元0的采样值=‘-64’(振幅‘100’*值IN-0=‘-0,64’)。
存储单元1
P2-AMP-通过存储单元0使存储单元1受外部振幅的控制。将存储单元0的上一个过程的值送入触发器24中。例如对值‘-69’进行调制。
P3:-POS-X=‘953’(‘942’+‘11’)。
-组件0:前面的值相加:存储单元0(‘-69’)+存储单元1{‘-25’:斜坡(‘-0,82’)*(‘100’-‘69’)}=‘-95’。
P4:-与存储单元0的值相加后的振幅=‘-64’。总振幅=‘36’(‘100’-‘64’)。
-存储单元1的采样值=‘-30’(‘36’*地址斜坡953=‘-0,83’)。
存储单元2
P2-FRE-通过存储单元3使存储单元2受外部频率的控制。将存储单元3的上一个过程的值送入触发器24中。例如以值‘1’进行调制,将该值加到频率的增量中,即‘11’(‘10,21’或‘10’,每100次为79次,11,每100次为21次)+‘1’=‘12’,该值就是下一个过程的值。当前的增量为‘11’。
P3:-POS-X=‘10170’(‘10159’+‘11’)。(在440Hz,增量=‘10’,每100次为79次,增量等于‘11’,为21次/100次)。
-组件0:前面的值相加:存储单元0(‘-69’)+存储单元1(‘-25’)+存储单元2(‘30’)=‘-64’
P4:-与存储单元3的前面的值‘1’相加后的频率。存储单元的频率=‘11,21’(‘10,21’+‘1’)。
-存储单元2的采样值=‘24’(‘100’*采样地址10170=例如‘0,24’)。
存储单元3
P3:-POS-X=‘1’(‘1’+‘0’)。(增量=‘0,001136’,即在0.5Hz,为‘0’,每10000次9989次,等于‘1’,11次/10000次)。
-在组件上没有加存储单元3的值(U8.U10,42),比特C-SCEL不激活(8.M9)。
P4:-存储单元3的采样值=‘1’(‘250’*无价值的(nulle)正弦表第二点=‘0,006’)。
-组件:比特C-ENS在存储器M9中激活。存储单元的总增加值=‘-64’(存储单元0-2的总和)*‘0,9999’(最大组件振幅)。
-输出的累加器:组件0的值=‘-64’。
根据循环P1到PCPU的存储单元4-191的第1000个处理过程(没有信号)。
第1001个过程(简述)
存储单元0
P1:-阅读传送到IN-CEL中的输入IN-0(例如:-‘0,59’)。记录在存储器M15中的值=‘-0,59’(POS-X=‘0’)。
P3:-POS-X=‘997’(‘996’+‘1’)。
-组件0:存储单元0在上一个值=‘-64’
P4:-存储单元0的采样值=‘-59’(振幅‘100’*值IN-0=‘-0,59’)。
存储单元1
P2-AMP-通过存储单元0使存储单元1受外部振幅的控制。将存储单元0的上一个循环的值送入触发器24中。例如按值‘-64’进行调制。
P3:-POS-X=‘963’(‘953’+‘10’)。(在440Hz,增量=‘10’,每100次为79次,等于‘11’,11次/100次)。
-组件0:前面的值相加:存储单元0(‘-64’)+存储单元1{‘-30’:斜坡(-‘0,83’)*(‘100’-‘64’)}=‘-94’。
P4:-与存储单元0的值相加后的振幅=‘-59’。总振幅=‘41’(‘100’-‘59’)。
-存储单元1的采样值=‘-34’(‘41’*地址963斜坡=‘-0,84’)。
存储单元2
P2-FRE-通过存储单元3使存储单元2受外部频率的控制。将存储单元3的上一个过程的值送入触发器24中。例如以值‘1’进行调制。将该值加到频率的增量中,即‘10’(‘10,21‘11’,每100次为21次)+‘1’=‘11’,该值就是下一个过程的值当前的增量为‘11’。
P3:-POS-X=‘10181’(‘10170’+‘11’)。(在440Hz,增量=‘10’,每100次为79次,增量等于‘11’,21次/100次)。
-组件0:前面的值相加:存储单元0(‘-64’)+存储单元1(‘-29’)+存储单元2(‘24’)=‘-71’。
P4:-与存储单元3的前面的值‘1’相加后的频率。存储单元的频率=‘11,21’(‘10,21’+‘1’)。
-存储单元2的采样值=‘21’(‘100’*采样地址10181=例如‘-0,21’)。
存储单元3
P3:-POS-X=‘1’(‘1’+‘0’)。(增量=‘0,001136’:即在0.5Hz时,为‘0’,每10000次为9989次;等于‘1’,11次/10000次)。
-在组件上没有加存储单元3的采样值(U8.U10,42),比特C-CSEL对存储器9是无效的(8.M9)。
P4:-存储单元3的采样值=‘1’(‘250’*无价值的正弦表第二点=‘0,006’)。
-组件0:比特C-ENS在存储器M9中激活。存储单元的总增加值=‘-63’(存储单元0-2的总和)*‘0,9999’(最大组件振幅)。
-输出的累加器:组件0的值=‘-71’。
根据循环P1到PCPU的存储单元4-191的第1001个处理过程(没有信号)。
这样,将在存储单元0-2上按照处理过程的顺序产生信号。存储单元3为低频(0.5Hz),调制对存储单元2频率的作用感觉较慢,存储单元2(基点为‘10,21’)随存储单元3的缓慢正弦变化而增加(过程1001-1998为‘10,21’+‘1’,过程1999-2996为‘10,21’+‘3’,过程2997-3994为‘10,21’+‘4’,过程3995-4991为‘10,21’+‘6’,等等)。
Claims (31)
1.一种对一系列电采样进行合成的合成系统,这些电采样用于在输出(S)产生声谱,其特征在于该系统包括
-第一设备(Ⅰ),该设备根据取样频率(ACT)确定按节奏进行的连续工作循环(P);
-至少一个所谓级为零的采样源(72,73,74,CPU),该采样源表示至少一个声音信号,在当时的各个工作循环x中,该源可提供至少一个级为零的采样;-第二设备(20B,23-25),在下一个工作循环x+1期间,对于所述的每一个有待选择的零级采样来讲,该设备可确定一个适于该采样的频率参数(FRE)的第一数值;
-第三设备(20A,20C,20D,25),在下一个工作循环x+1期间,对于所述的每一个有待处理的零级采样来讲,该设备可确定至少一个同样适于该采样的至少另一个参数(AMP,FLT,PHA)的第二数值;
-至少两个参数存储器(M3),在当时的工作循环x中,这两个存储器分别将所述第一和第二参数值存储在存储器的n个各自位置中,以便在下一个工作循环x+1期间,可以使用这些数值;
第四设备(30),在当时工作循环x期间,该设备根据前一个工作循环x-1期间存储的n个频率参数值(FRE)中的任一值,确定一个指示值(POS-X),以便在所述零级采样中指出一个或多个在下一个工作循环x+1期间有助于设定n个各自第一级采样的零级采样;
一个指示值存储器(M5,20B),以便在当时工作循环x期间存储所述的经确定的n个指示值(POS-X),从而在下一个工作循环x+1期间可以使用这些值;
-第五设备(U12,30,76);以便在当时工作循环x期间,将前一工作循环期间存储的另一参数(AMP,PHA,FLT)的相应数值施加给前一工作循环x-1期间指定的各个零级采样,从而形成n个第一级的当前采样,并将这些采样分别存储在一个累加存储器(M13)的n个位置中;
-第六设备(40,60),以便在当时工作循环x期间,将前一工作循环x~1期间存储的n个第一级采样传送给所述输出(S);
-所述参数存储器(M5,20A,20C,20D)、所述指定值存储器(M5,20B)和所述累加存储器(M13)的n个存储位置,它们分别提供有n个存储单元,其内容从一个工作循环到另一个工作循环时可以改变。
2.根据权利要求1所述的合成系统,其特征在于在按序工作循环期间,分时使用所述第一(Ⅰ)、第(20,25)、第三(20,25)、第四(30)、第五(U12,30,76)和第六设备(40,60),以便确定所述参数、指定数值和累加存储器中的与所述各存储单元相关的数值。
3.根据权利要求1或2所述的合成系统,其特征在于所述系统还包括一个与所述第二、第三、第四、第五和第六设备连接的管理单元(CPU),从而根据该管理单元编制的软件管理这些设备的运行数值。
4.根据权利要求3所述的合成系统,其特征在于所述运行数值是所述参数的起始值和/或这些参数(FRE,AMP,PHA,FRT)的增量,所述起始值和增量由所述软件确定。
5.根据权利要求1至4之一所述的合成系统,其特征在于在所述的各个循环(P)期间,所述第一设备(Ⅰ)用来按顺序确定控制命令的n个子循环(P1),这些子循环分别用于n个存储单元,一方面在当时工作循环x期间,各个子循环(P1)的控制信号(P2-AMP,P2-FRE,P2-PHA,P2-FLT,P3,P4)用于促进计算运行,以便确定相应存储单元的第一和第二参数值,另一方面,对于所述的各个存储器来讲,各个子循环信号可以在所述的n个存储位置中阅读/书写因这些数值得到确定后产生的数据,这些数据形成下一个工作循环x+1期间使用的所述n个存储单元中的各个内容。
6.根据权利要求5所述的合成系统,而且该权利要求与权利要求3或4相关,其特征在于所述各个控制信号子循环(P1)还包括一个控制信号(PCPU),以便使所述管理单元(CPU)与所述第一、第二、第三、第四、第五和第六设备(I;20B,25;20A,20C,20D,25;U12,30,76;40,60)连通。
7.根据权利要求5或6所述的合成系统,其特征在于所述第二设备(20B,25)执行下面形式的函数计算:
其中PARpn是当前子循环(P1)期间所考虑的存储单元的当前频率的参数值或频率参数的起始值,PARpn-1是在前一个子循环(P1)期间为该存储单元设定的频率参数值,INCpn是当前频率参数值相对于前一个值的增量。
8.根据权利要求5-7中之一所述的合成系统,其特征在于所述第三设备(20A,20C,20D,25)执行下面形式的函数计算:
其中PARpn是当时子循环(P1)期间所考虑的存储单元的其它参数(AMP,FLT,PHA)之一的当前数值或该另一参数的起始值,PARpn-1是在前一个子循环(P1)期间为该存储单元设定的所述另一参数的数值,INCpn是该另一参数的当前数值相对于前一个值的增量。
9.根据权利要求7或8所述的合成系统,其特征在于所述第二和/或第三设备包括一个起始数值存储器(M1)和一个增量存储器(M3),对于所述各个存储单元来讲,该起始数值存储器用于容纳参数的起始数值,对于所述各个存储单元来讲,所述增量存储器用来存储参数增量。
10.根据权利要求7-9中之一所述的合成系统,其特征在于所述第三设备(20A,20C,20D,25)包括一个用于计算至少一个所述其它参数(AMP,FLT,PHA)的电路,该电路与第二设备(20B,25)的用于计算所述频率参数(FRE)的电路相同。
11.根据权利要求1-10中之一所述的合成系统,其特征在于所述第四设备(30)包括一个第一计算单元(U4)、一个第二计算单元(U6)和第七设备(35,36),第一计算单元用代数方法将当前工作循环的频率参数数值与一个表示有待进行合成的声音的基频的数值(ENS-FRE)结合在一起,当时循环期间计算出的第一级采样对该有待合成的声音有协助作用,第二计算单元(U6)用代数方法将所述第一计算单元提供的结果与所述指定值存储器(M5)的位置中的当前内容结合在一起,所述当前内容对应于当时工作循环期间经处理过的存储单元,在该位置中,所述第七设备将当时工作循环期间由所述第二计算单元(U6)的计算结果代替前一个工作循环期间计算出的指定值(POS-X)。
12.根据权利要求11所述的合成系统,其特征在于所述第四设备(30)还包括一个乘法器(33),其输出端与所述第二单-元(U6)连接,其一个输入端接收所述第一计算单元(U5)的计算结果,而其另一个输入接收所述指定值的固定数值的累进信号,特别是‘0001’,在模式信号(SC-ETR)的控制下,它可以将所述固定值的指定值从一个工作循环到另一个工作循环向前推进。
13.根据权利要求11或12所述的合成系统,其特征在于所述第四设备(30)还包括一个第三计算单元(U7),以便用代数方法将所述第二计算单元(U6)的计算结果与所述其它参数之一的当前值结合在一起,该参数表示将要作用到下一个工作循环x+1期间产生的第一级采样上的相位(PHA)。
14.根据权利要求11-13中之一所述的合成系统,其特征在于所述第四设备还包括一个第八设备(34),以便将正符号或负符号施加到所述第一计算单元(U4)得到的计算结果上。
15.根据权利要求1-14中之一所述的合成系统,其特征在于:至少所述的某些采样源包括一个零级采样存储器(81,M15);用所述指定数值(POS-X)寻址所述零级采样存储器(81,M15)。
16.根据权利要求15所述的合成系统,其特征在于在所述零级采样存储器中的第一存储器是一个正弦表(81)。
17.根据权利要求15或16所述的合成系统,其特征在于在所述零级采样存储器中的第二存储器(M15)用于存储至少一个取样声音序列,按顺序排列的采样构成所述的零级采样。
18.根据权利要求17所述的合成系统,该权利要求与权利要求3有关时,其特征在于为了用所述管理单元(CPU)加载,连接所述第二零级采样存储器(M15),也可以用所述软件进行连接。
19.根据权利要求1-18中之一所述的合成系统,其特征在于:至少所述的某些采样源包括一个函数发生器(82,83,84);将所述指定数值(POS-X)用作指定数值或用作地址,以便辨认所述有待使用的函数方程。
20.根据权利要求19所述的合成系统,其特征在于所述函数发生器(82,83,84)选自二次函数发生器、三角函数发生器和/或正和/或负函数斜坡发生器。
21.根据权利要求1-20中之一所述的合成系统,其特征在于,作为零级采样源该系统包括一个随机噪声发生器(91),该发生器按照所述取样频率(ACT)的节奏提供采样。
22.根据权利要求17-21中之一所述的合成系统,其特征在于连接所述第二零级采样存储器(M15),使便于将至少上一个工作循环期间所计算的并存储在至少一个存储单元中的第一级采样作为零级采样存储。
23.根据权利要求22所述的合成系统,其特征在于该系统还包括第九设备(100),以便由合成系统的至少一个输入(IN-0到IN-e)准备零级采样,来自外源的声谱加到该输入上;将所述第九设备(100)与所述第二采样存储器(M15)连接,以便能够存储来自所述输入(IN-0到IN-e)的零级采样。
24.根据权利要求23所述的合成系统,其特征在于该系统还包括与所述至少一个输入(IN-0到IN-e)连接的第十设备(140),以便分析所述外源的声谱,并且提取该声谱的参数数值,这些数值可以用来改变由所述第二和第三设备(20B,23-25;20A,20C,20D,25)确定的一个或多个参数(FRE,AMP,FLT,PHA)。
25.根据权利要求1-24中之一所述的合成系统,其特征在于该系统还包括第十设备(M12,71),以便确定所述零级采样源用于在所述各个工作循环期间产生所述各存储单元的第一级采样。
26.根据权利要求1-25中之一所述的合成系统,其特征在于所述第六设备还包括第十一设备(40),以便在当前工作循环期间将前一个工作循环期间产生的所述存储单元的第一级采样分配到第二累加存储器(M6)的m个存储位置中,该第二累加存储器的位置提供m个组件,这些组件的内容可以从一个工作循环到另一个工作循环进行变化,特征还在于所述m个位置的每一个位置中的内容在当前工作循环期间作为所谓第二级采样有选择地传送到所述输出中。
27.根据权利要求26所述的合成系统,其特征在于所述输出(S)包括若干不同的输出(0-q),而且该系统还有第十二设备(60),以便有选择地将第二累加存储器(M6)的存储位置中的内容作为所谓第三级采样分配到不同的输出中。
28.根据权利要求11-27中之一所述的合成系统,其特征在于该系统还包括第十三设备(180-208;M19-M23),以便为所述指定值(POS-X)确定一些界限,而在特定的连续工作循环期间,该值可以在这些时限之间变化。
29.根据权利要求28所述的合成系统,其特征在于所述第十三设备(180-208;M19-M23)用来周期性地估计所述时限之间的指定数值(POS-X),也就是先估计第一时限到第二时限之间的指定数值,再循环估计第二时限到第一时限之间的指定数值,和/或不断地周期先估计第一时限到第二时限之间的指定数值,再反过来估计第二时限到第一时限之间的指定数值。
30.根据权利要求3-29中之一所述的合成系统,其特征在于利用所述管理单元有选择地将运行值存储在若干具有n个位置的存储器中(M1,M2,M3,M4,M9,M16;M7,M18),这些存储器根据所述软件分属于第二、第三、第四、第五和第六设备。
31.根据权利要求1-30中之一所述的合成系统,其特征在于所述第三设备包括第十四设备(160),以便在所述的某些工作循环期间将至少一个滤波系数加到所产生的至少某些第一级采样上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00108334 CN1314673A (zh) | 2000-03-22 | 2000-03-22 | 可获得系列电采样输出的声音合成系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00108334 CN1314673A (zh) | 2000-03-22 | 2000-03-22 | 可获得系列电采样输出的声音合成系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1314673A true CN1314673A (zh) | 2001-09-26 |
Family
ID=4579161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00108334 Pending CN1314673A (zh) | 2000-03-22 | 2000-03-22 | 可获得系列电采样输出的声音合成系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1314673A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077841A (zh) * | 2014-06-13 | 2017-08-18 | 微软技术许可有限责任公司 | 用于文本到语音的超结构循环神经网络 |
US10867597B2 (en) | 2013-09-02 | 2020-12-15 | Microsoft Technology Licensing, Llc | Assignment of semantic labels to a sequence of words using neural network architectures |
-
2000
- 2000-03-22 CN CN 00108334 patent/CN1314673A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867597B2 (en) | 2013-09-02 | 2020-12-15 | Microsoft Technology Licensing, Llc | Assignment of semantic labels to a sequence of words using neural network architectures |
CN107077841A (zh) * | 2014-06-13 | 2017-08-18 | 微软技术许可有限责任公司 | 用于文本到语音的超结构循环神经网络 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1188833C (zh) | 声源矢量生成装置及方法 | |
CN1249670C (zh) | 音频译码设备 | |
CN1183658C (zh) | 振荡电路、电子电路、半导体装置、电子装置和电子表 | |
CN1358270A (zh) | 流量计 | |
CN1299975A (zh) | 电压检测设备,电池残余电压检测设备,电压检测方法,电池残余电压电压检测方法,电子表和电子设备 | |
CN1244051C (zh) | 对于处理数据的装置和方法 | |
CN1647139A (zh) | 数据变换装置和数据变换方法 | |
CN1142718A (zh) | 通信设备和通信系统 | |
CN1514430A (zh) | 用于声信号处理的数字信号处理装置 | |
CN1200571C (zh) | 正交变换、逆正交变换方法及装置、编码、解码方法及装置 | |
CN1867888A (zh) | 运算电路及其运算控制方法 | |
CN1160704C (zh) | 音程变换装置 | |
CN1782676A (zh) | 流量计 | |
CN1148744C (zh) | 调制设备和方法 | |
CN1289509A (zh) | 数据处理方法、数据处理装置和程序记录媒体 | |
CN1017489B (zh) | 数字调制方法 | |
CN1314673A (zh) | 可获得系列电采样输出的声音合成系统 | |
CN1928904A (zh) | 一种具有丰富业务语义的工作流模型结构 | |
CN1877698A (zh) | 声源矢量生成装置以及声音编码装置和声音解码装置 | |
CN1768324A (zh) | 可编程序逻辑装置 | |
CN1042634A (zh) | 与频率无关的信息传输系统 | |
CN85107539A (zh) | 电脑通讯系统 |
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 |