数字混合器、混合器配置编辑装置及其机器可读介质转让专利

申请号 : CN200510083659.9

文献号 : CN1722227B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 竹村聪川濑义德

申请人 : 雅马哈株式会社

摘要 :

一种数字混合器、混合器配置编辑装置及其机器可读介质,该数字混合器具有处理器,能按照程序运行以构建声音信号处理模块,且能执行相应于定义该模块的混合器配置的混合器配置数据的程序,以执行混合器配置的声音信号处理操作。在数字混合器中,当前存储器存储具有相应于混合器配置数据的数据结构的操作数据组。控制部件根据存储于当前存储器的操作数据组控制声音信号处理模块的声音信号处理操作。提供存储器以存储多个操作数据组和表示它们数据结构的属性信息。选择部件选择多个操作数据组之一。转换部件将被选操作数据组从其属性信息表示的数据结构转换为对应于混合器配置数据的数据结构,并将转换的操作数据组重新调回到当前存储器。

权利要求 :

1.一种数字混合器,其具有处理器,该处理器能够按照程序运行以构建声音信号处理模块,并且该处理器能够执行相应于定义所述声音信号处理模块的混合器配置的混合器配置数据的程序,以执行所述混合器配置的声音信号处理操作,所述数字混合器包括:当前存储器,存储具有相应于所述混合器配置数据的数据结构的操作数据组;

控制装置,用于根据存储于所述当前存储器的该操作数据组控制所述声音信号处理模块的声音信号处理操作;

操作数据组存储装置,用于存储多个操作数据组和表示各操作数据组的数据结构的属性信息;

选择装置,用于选择由所述的操作数据组存储装置存储的所述多个操作数据组之一;以及转换装置,用于将被选操作数据组从该被选操作数据组的属性信息所表示的数据结构转换为对应于所述混合器配置数据的数据结构,并将转换的操作数据组重新调回到所述当前存储器。

2.如权利要求1所述的数字混合器,其中当所述混合器配置数据被编辑时,该转换装置运行,以进一步将存储于所述当前存储器的操作数据组转换为与由被编辑的混合器配置数据所定义的混合器配置相对应的数据结构。

3.如权利要求1所述的数字混合器,还包括:

编辑装置,用于编辑存储于所述当前存储器的操作数据组;以及

写装置,用于将被编辑的操作数据组和属性信息一起从所述当前存储器写入所述操作数据组存储装置,其中该属性信息表示对应于所述混合器配置数据的被编辑操作数据组的数据结构。

4.如权利要求1到3中任一项所述的数字混合器,还包括解译装置,用于将混合器配置数据和对应的操作数据组解译为所述处理器可解译的格式,并将该混合器配置数据和该操作数据组的可解译的格式发送到所述处理器。

5.一种数字混合器,其具有处理器,该处理器能够按照程序运行以构建声音信号处理模块,并且该处理器能够执行相应于所述声音信号处理模块的混合器配置的程序,以执行所述混合器配置的声音信号处理操作,所述数字混合器包括:混合器配置数据存储装置,用于存储限定多个混合器配置的多个混合器配置数据;

第一选择装置,用于选择所述的多个混合器配置数据之一;

当前存储器,其存储具有一数据结构的操作数据组,该数据结构对应于由被选混合器配置数据定义的混合器配置;

操作数据组存储装置,用于存储多个操作数据组,每个操作数据组具有适用于由被选混合器配置数据定义的所述混合器配置的数据结构,从而各操作数据组可用于控制所述混合器配置中的声音信号处理操作,该操作数据组存储装置还存储表示各操作数据组的数据结构的属性信息;

第二选择装置,用于选择所述的多个操作数据组之一;

转换装置,用于将所述被选操作数据组从由所述被选操作数据组的属性信息表示的数据结构转换为对应于由所述被选混合器配置数据定义的所述混合器配置的数据结构,并且用于将该转换的操作数据组重新调回到该当前存储器。

第一提供装置,用于向所述声音信号处理模块提供对应于所述被选混合器配置数据的程序,以根据由所述被选混合器配置数据定义的混合器配置而执行该声音信号处理操作;以及第二提供装置,用于向该声音信号处理模块提供所述当前存储器中被转换的操作数据组,从而该被转换的操作数据组被用于控制由所述声音信号处理模块正在执行的所述声音信号处理操作。

6.如权利要求5所述的数字混合器,其中当所述被选混合器配置数据被编辑时,该转换装置运行,以进一步将存储于所述当前存储器的操作数据组转换为对应于由被编辑的混合器配置数据所定义的混合器配置的数据结构。

7.如权利要求5所述的数字混合器,还包括:

编辑装置,用于编辑存储于所述当前存储器的操作数据组;以及

写装置,用于将被编辑的操作数据组和属性信息一起从所述当前存储器写入所述操作数据组存储装置,其中该属性信息表示与由所述被选混合器配置数据定义的混合器配置相对应的被编辑操作数据组的数据结构。

8.如权利要求5到7任一项所述的数字混合器,还包括解译装置,用于将存储于所述混合器配置数据存储装置的混合器配置数据和存储于所述操作数据组存储装置的操作数据组解译为所述处理器可解译的格式,并将该混合器配置数据和该操作数据组的该可解译的格式发送到所述处理器。

9.一种混合器配置编辑装置,用于编辑使用于数字混合器的数据,该数字混合器具有处理器,该处理器能够按照程序运行以构建声音信号处理模块,并且该处理器能够执行相应于所述声音信号处理模块的混合器配置的程序,以执行所述混合器配置中的声音信号处理操作,所述混合器编辑装置包括:混合器配置数据存储装置,用于存储限定多个混合器配置的多个混合器配置数据;

第一选择装置,用于选择所述的多个混合器配置数据之一,该被选混合器配置数据将混合器配置定义为将被处理的对象;

当前存储器,其存储具有对应于被选混合器配置数据的数据结构的操作数据组;

操作数据组存储装置,用于存储多个操作数据组,所述操作数据组均具有适用于由所述被选混合器配置数据定义的所述混合器配置的数据结构,每个操作数据组可用于按照所述混合器配置来控制该声音信号处理操作,该操作数据组存储装置还存储表示各操作数据组的该数据结构的属性信息;

第二选择装置,用于选择所述的多个操作数据组之一,并将其作为将被处理的对象;

转换装置,用于将所述被选操作数据组从由所述被选操作数据组的属性信息表示的数据结构转换为与由所述被选混合器配置数据定义的所述混合器配置相对应的数据结构,并且用于将该转换的操作数据组重新调回到该当前存储器;

第一编辑装置,用于编辑限定该混合器配置的所述被选混合器配置数据;以及

第二编辑装置,用于编辑存储于所述当前存储器的被转换的操作数据组。

10.如权利要求9所述的混合器配置编辑装置,其中当所述被选混合器配置数据被编辑时,该转换装置运行,以进一步将存储于所述当前存储器的操作数据组转换为与由被编辑的混合器配置数据所定义的混合器配置相对应的数据结构。

11.如权利要求9所述的混合器配置编辑装置,还包括写装置,用于将存储于所述当前存储器的操作数据组和属性信息一起写入所述操作数据组存储装置,其中该属性信息表示与由该被选混合器配置数据定义的所述混合器配置相对应的操作数据组的数据结构。

12.如权利要求9到11中任一项所述的混合器配置编辑装置,还包括解译装置,用于将存储于所述混合器配置数据存储装置的混合器配置数据和存储于所述操作数据组存储装置的操作数据组解译为所述数字混合器可解译的格式,并将该混合器配置数据和该操作数据组的可解译的格式发送到所述数字混合器。

13.一种数据编辑方法,包括:

混合器配置数据存储步骤,在混合器配置数据存储器里存储限定多个混合器配置的多个混合器配置数据;

第一选择步骤,选择所述的多个混合器配置数据之一,该被选混合器配置数据将一混合器配置定义为将被处理的对象;

加载步骤,将具有对应于被选混合器配置数据的数据结构的操作数据组载入当前存储器;

操作数据组存储步骤,在操作数据组存储器中存储多个操作数据组,每个操作数据组具有适用于由所述被选混合器配置数据定义的所述混合器配置的数据结构,每个操作数据组可用于根据所述混合器配置控制该声音信号处理操作,该操作数据组存储步骤还存储表示各操作数据组的数据结构的属性信息;

第二选择步骤,选择所述的多个操作数据组之一,并将其作为将被处理的对象;

转换步骤,将所述被选操作数据组从由所述被选操作数据组的属性信息表示的数据结构转换为对应于由所述被选混合器配置数据定义的所述混合器配置的数据结构,并且将该转换的操作数据组重新调回到该当前存储器;

第一编辑步骤,编辑限定该混合器配置的所述被选混合器配置数据;以及

第二编辑步骤,编辑重新调回到所述当前存储器的被转换的操作数据组。

14.如权利要求13所述的数据编辑方法,还包括另一转换步骤,当所述被选混合器配置数据被编辑时,将存储于所述当前存储器的操作数据组转换为对应于由该被编辑的混合器配置数据所定义的混合器配置的数据结构。

15.如权利要求13所述的数据编辑方法,还包括写步骤,将存储于所述当前存储器的操作数据组和属性信息一起写入所述操作数据组存储器,其中该属性信息表示与由该被选混合器配置数据定义的所述混合器配置相对应的操作数据组的数据结构。

16.如权利要求13到15中任一项所述的数据编辑方法,还包括解译步骤,将存储于所述混合器配置数据存储器的混合器配置数据和存储于所述操作数据组存储器的操作数据组解译为所述数字混合器可解译的格式,并将该混合器配置数据和该操作数据组的可解译的格式发送到所述数字混合器。

说明书 :

技术领域

本发明涉及一种能够编程实现用于声音信号处理的混合器配置的数字混合器、混合器配置编辑装置以及用于控制数字混合器的控制应用程序。

背景技术

通常,已知有能够定制混合器配置的数字混合器,如在非专利文件“数字混合器引擎DME32指令手册,YAMAHA株式会社,2001”中描述的。该数字混合器使用能够运行程序的处理器(例如,数字信号处理器(DSP))配置声音信号处理模块。以这种方式,基于通过使用外部PC(个人计算机)而创建和编辑的混合器配置(信号处理配置)可以进行声音信号处理。专用混合器控制程序用于在PC上创建和编辑混合器配置。即,用户在PC上执行混合器控制程序以显示混合器编辑屏幕。用户将各组件排列为屏幕上的各部分以用于信号处理。用户在已排列的组件间建立线路连接,从而定义输入/输出关系。以这种方式创建和编辑混合器配置。当创建的混合器配置被发送到数字混合器以执行时,数字混合器实现混合器配置的操作。
该数字混合器使得可以为各混合器配置使用多个情景(scene)。情景数据是根据混合器配置用于操作的参数数据组。即使使用相同的混合器配置,数字混合器可能也需要跟据不同的参数值进行操作。为此,提供了多种情景数据,并且在需要时被调用以运行混合器。
在相关技术中,情景数据附属于混合器配置。情景数据的结构随混合器配置而改变。因此,在具有相应于不同混合器配置的不同数据结构的情景数据间不存在兼容性。不提供兼容性会引起不同情况下的不方便。例如,可能存在这样一种情况,使用用于混合器配置的细微改变的PC混合器控制程序,以对当前在混合器引擎上激活的混合器配置略作编辑,并将编辑的混合器配置从程序发送到混合器引擎用于操作。这种情况下,被编辑的混合器配置不能调用用于细微改变前的混合器配置的情景。例如,当混合器引擎在各种模型中都可用时,各模型通常使用不同的情景数据结构。不可能使用不同模型的情景用于相似的混合器配置。
当编辑原始的混合器配置时,可以适当的修改对应于原始混合器配置的情景数据的结构,从而修改的情景数据能够用于编辑的混合器配置。然而,修改情景数据结构是困难的。这是因为在具有不同结构的情景数据之间存在未知的对应性。即,不知道在将被作为源而读取的情景数据中的哪一个参数应该被写入作为写目的地的情景数据中的哪个位置。此外,情景存储器经常包含许多情景数据。根据混合器配置的改变而改变所有的情景数据是耗时的。

发明内容

本发明旨在解决上述问题.特别的,本发明的目的是在特定的条件下,使用根据程序运行的处理器配置声音信号处理模块,实现数字混合器中在具有对应于不同混合器配置的不同数据结构的参数数据组之间的兼容性,其中该数字混合器能够基于通过使用外部PC而编辑的混合器配置处理声音信号.
为达到此目的,本发明提供数字处理器,其读取限定混合器配置的混合器配置数据和用于混合器配置数据的操作数据组,并根据操作数据组执行声音信号处理操作。对于各操作数据组,数字混合器存储表示操作数据组的数据结构的属性信息。即,操作数据组存储装置中存储的多个操作数据组具有不同的数据结构。属性信息关联于并基于在保存操作数据时工作的相应的混合器配置数据。
编辑将要处理的混合器配置数据引起在当前存储器中将被处理的操作数据组的数据结构的转换,即从对应于编辑前的混合器配置数据的数据结构转换为对应于编辑后的混合器配置数据的数据结构。当编辑混合器配置数据时,需要转换相应于被编辑的混合器配置数据的所有操作数据组的数据结构。然而,根据本发明,各操作数据组都具有属性信息。可以在以后当使用操作数据组时转换数据结构。即使编辑混合器配置数据,也没有必要在那时转换对应于混合器配置数据的所有操作数据组的数据结构。
可能存在这种情况,即从操作数据组存储器向当前存储器重新调用或加载操作数据组。这种情况下,本发明使将要被处理的操作数据组的数据结构从相应的属性信息表示的数据结构转换为相应于将被处理的混合器配置的数据结构。转换的操作数据组被覆写入当前存储器。
此外,可能存在这种情况,即从当前存储器向操作数据组存储器存储或保存操作数据组。这种情况下,本发明基于当前工作的混合器配置数据而在当前存储器中产生表示操作数据组的数据结构的属性信息。产生的属性信息提供给操作数据组,并被写入操作数据组存储器。
本发明提供运行具有由混合器配置数据定义的混合器配置的数字混合器所需的操作数据组。各操作数据组具有表示操作数据组的数据结构的属性信息。这提高了各种情况下的操作数据组的兼容性。操作数据组的数据结构依赖于使用操作数据组的相应的混合器配置。如上所述,在许多种情况下,由于对混合器配置的编辑而使得操作数据组变的不可用。由于本发明向操作数据组提供属性信息,当使用操作数据组时,可以容易的转换操作数据组的数据结构,从而提高操作数据组的兼容性。
特别的,根据本发明的数字混合器允许存储装置存储具有不同数据结构的操作数据组。可能存在这种情况,操作数据组的数据结构可能不同于与用于数字混合器的声音信号处理操作的混合器配置相对应的数据结构。这种情况下,存储于存储器装置的操作数据组的数据结构可在基于相应属性信息而转换数据内容时被读入当前存储器。声音信号处理模块根据相应于被选混合器配置数据的混合器配置而执行声音信号处理操作。当前存储器存储用于控制声音信号处理操作的特定操作数据组。操作数据组存储器存储多个操作数据组。这些操作数据组中的每一个都具有表示操作数据组的数据结构的属性信息。从而,即使在存储于操作数据组存储器的操作数据组的数据结构和存储于当前存储器的操作数据组的数据结构之间存在差异时,操作数据组也可被重新调回到当前存储器。
关于根据本发明的混合器配置编辑装置和控制应用程序,编辑被选混合器配置数据将相应的引起存储于当前存储器的操作数据组的数据结构的变化.操作数据组存储器存储了多个操作数据组.这些操作数据组中的每一个都具有表示操作数据组的数据结构的属性信息.从而,即使在存储于操作数据组存储器的操作数据组的数据结构和存储于当前存储器的数据结构间存在差异时,操作数据组也可被重新调回到当前存储器.此外,可以将刚好在混合器配置数据编辑前存储于当前存储器的操作数据组继承为编辑后的混合器配置的操作数据组.

附图说明

图1是示出了作为本发明实施例的数字混合器引擎的配置图。
图2(a)到图2(c)是示出了PC中不同数据的配置图。
图3(a)到图3(c)是示出了引擎中不同数据的配置图。
图4(a)和图4(b)是混合器配置屏幕和控制屏幕的示例图。
图5(a)到图5(c)是示出了增加新的组件等处理的流程图。
图6(a)到图6(c)是示出了发出启动在线模式的事件的处理流程图。
图7(a)和图7(b)是示出了重新调用和存储情景的处理流程图。
图8是示出了写入当前情景的处理流程图。
图9(a)到图9(e)是写单元情景的实例的示图。

具体实施方式

下面将参照附图进一步详细描述本发明的实施例。
图1示出了作为本发明实施例的数字混合器引擎的配置。引擎100包括:中央处理单元(CPU)101、闪存102、RAM(随机存取存储器)103、PC输入/输出接口(I/O)104、MIDI I/O 105、混合I/O 106、显示装置107、操作装置108、波形I/O 109、信号处理部件(DSP组)110、级联I/O 111和系统总线120。
中央处理单元(CPU)101控制混合器的全部操作。闪存102是非易失性存储器,其存储信号处理部件110等中用于DSP的各种程序和数据。RAM103是易失性存储器,其用作CPU 101执行的程序的加载区域和工作区域。PC I/O 104提供用于连接到外部个人计算机(后面称作PC)的接口(例如LAN、USB或串行I/O)。MIDI I/O 105提供用于连接各种MIDI装置的接口。混合I/O 106提供用于连接其他装置的接口。显示装置107显示混合器的外部面板上提供的各种类型的信息。外部面板被提供多个操作装置108,以用于用户操作。波形I/O 109提供与外部装置交换声音信号的接口,并实现A/D(模拟-数字)转换功能、数字信号输入功能和D/A(数字-模拟)转换功能。A/D转换功能引入模拟声音信号、将其转换成数字信号以及将它传递到信号处理部件110。数字信号输入功能引入数字声音信号并将它传递到信号处理部件110。D/A转换功能将从信号处理部件110输出的数字声音信号转换成模拟声音信号并将其输出到声音系统。信号处理部件110包括几个DSP(数字信号处理器)。根据CPU 101发出的指令,DSP执行多种微程序,以对通过波形I/O 109输入的波形信号进行混合处理、效果提供处理、音量电平控制处理等。DSP通过波形I/O 109输出处理后的波形信号。级联I/O 111提供用于以级联方式连接到其他数字混合器的接口。该级联连接可增加输入/输出通道的数量和DSP吞吐量。
该数字混合器的引擎100使得可以定制将在信号处理部件110上实施的混合器配置。通过在PC130上运行专用的混合器控制程序131,可以在PC 130的屏幕上创建和编辑混合器配置.创建的混合器配置的集合被称为配置(configuration).根据屏幕上用户的操作和指令,混合器控制程序131在存储器中产生该配置以作为配置数据132.PC 130可以在任何可写存储器装置上将配置数据132保存为文件。各混合器配置包含于存储在PC 130的例如存储器和硬盘的存储装置中的配置数据中。当混合器配置被编辑(转换为引擎100可解译的信息)时,其被发送到引擎100。引擎100可以在闪存102中存储并保存从PC 130传送的配置数据。当存储于闪存102中的配置数据包含混合器配置时,可以执行特定的操作以将混合器配置中的一个配置指定为当前配置。引擎100根据混合器配置进行操作,并实现由混合器配置指定的混合器。
混合器控制程序131在作为操作模式的在线和离线模式中都是可用的。可使用特定操作在两种模式间转换。在离线模式下,只有PC 130可被用于创建和编辑配置数据。在离线模式下,PC 130上的混合器控制程序131实时控制引擎100。当配置数据被加载到PC 130的RAM时,指定在线模式将当前有效的配置数据发送到引擎100(编辑后)。发送的配置数据被存储于闪存102。通过这种方式,配置数据将PC 130和引擎100匹配。当混合器配置被指定为PC 130上的当前配置时,该混合器配置状态(参数设置等)被发送到引擎100。通过这种方式,PC 130与引擎100完全同步,并能够控制引擎100。例如,让我们考虑向显示于PC 130的混合器配置屏幕上的组件提供衰减器或者向给定组件的控制屏幕提供衰减器的情况。当用鼠标操作处于在线模式的衰减器时,操作被实时的反映到引擎100。在线模式使得PC 130不能改变组件配置和线路连接。作出改变将自动启动离线模式。
不仅是终端用户,还包括代理(agency)都可以属于可使用PC 130创建和编辑配置数据的用户。例如,当在大楼中安装了混合器时,代理进入大楼并将PC 130连到混合器。使用PC 130,代理为适合该大楼的混合器配置创建和编辑配置数据,并将配置数据存储于闪存102中。这种情况下,混合器可能是不可编程的(不能允许终端用户创建或编辑混合器配置并且只能允许他或她调用和使用代理提供的混合器配置)。在面板上使用操作装置108,终端用户能够读取存储于闪存102的配置数据的混合器配置,并根据混合器配置操作混合器。从而,在操作中不需连接到PC 130。当然,也可能在在线模式中连接到PC 130,并通过操作PC 130控制混合器。
图2(a)示出了PC 130上用于混合器控制程序131的P(预置)组件数据(PC数据)的配置。P组件(后面简称为组件)是一个作为用于定制混合器配置的基本单元分块的模块。例如,提供包括如音频混合器、压缩器、效果和交叠器(crossover)等的音频处理器和例如衰减器、开关、旋钮(pan)和计数器(meter)等的单独分块的分块组件。当混合器控制程序131用于创建和编辑混合器配置时,在PC 130的混合器配置屏幕上进行特定程序以排列组件并在其间连线。在组件间连接线路相当于定义组件间的信号输入/输出关系。
图2(a)中的一项PC数据是用于规定一个组件的定义数据,并被预存储于任何可从混合器控制程序131存取的存储器装置。根据组件类型提供PC数据。假定有Npc类PC数据。全部Npc PC数据被提供有组件设置版本。
一项PC数据由PC头部(header)、PC配置信息、PC处理程序和显示与编辑处理程序组成.PC头部包括组件ID(PC_ID)和组件版本(PC_Ver).PC_ID和PC_Ver的使用能够指定PC数据.PC配置信息提供表示哪些单元构成组件的信息(包括单元的顺序).PC配置信息包括比如控制组件显示(将参考图4(b)说明)的显示数据.单元(element)表示相当于构成组件的分块的要素.PC配置信息还包括构成组件的各单元的参数项排列信息.例如,参数项排列信息包括:数组信息、每个单元数据大小等.数组信息表示单元参数采用哪种数据格式,例如单一值、一维数组、二维数组.也就是说,参数项排列信息是一种表示操作数据组的数据结构的属性信息.操作数据组存储器中存储的多个操作信息组可具有不同的数据结构.属性信息关联并依赖于相应的混合器配置数据.PC处理程序是提供关于PC配置信息的各种处理的程序.混合器控制程序131使用各组件的PC处理程序处理混合器配置.显示和编辑处理程序提供一组用于创建和编辑CF数据的程序.
图2(b)示出了由混合器控制程序131处理的RAM中的配置数据的结构。标号210表示加载到RAM的配置数据。配置数据由从1到Ncf的多个CF数据和情景存储器组成。配置数据210作为一个整体可以以一个文件的形式存储于给定的存储器装置(例如,PC中的硬盘)。相反,能从给定的存储器装置读取配置数据并且能够以标号210表示的形式加载到PC 130的RAM中。CF数据被提供有数值1到Ncf,其被称为配置编号(CF编号)。配置编号可被用于指定CF数据(或者CF数据被存储的区域)。当前指针指向将被处理的CF数据。被当前指针指出的CF数据显示于混合器配置屏幕,将参照图4(a)说明该屏幕。由当前指针指出的CF数据被称为“当前配置”。
一项CF数据指明一个混合器配置,其包括CF头部、基于PC的CAD数据和Nps个预置(preset)。CF头部包括配置ID(CF_ID)、配置版本(CF_Ver)和系统版本(SYS_Ver)。CF_ID和CF_Ver的使用能够指定CF数据。基于PC的CAD数据限定如何通过连接哪些组件而配置CF数据的混合器配置。基于PC的CAD数据包括C数据和线路连接数据。C数据指明用作混合器配置的要素单元的组件。线路连接数据在组件间进行连接。基于PC的CAD数据包括例如混合器配置屏幕的显示数据,将参照图4(a)说明此屏幕。基于PC的CAD数据中的C数据包括用于指定组件的组件ID(C_ID)、组件版本(C_Ver)、唯一ID(U_ID)和混合数据(例如特性)。C数据的C_ID和C_Ver通过指定图2(a)中的PC数据的PC_ID和PC_Ver而指定组件。
C数据中的“混合数据”包括关于由C数据指定的PC数据的变化信息Vari。如上所述,一项PC数据表示相当于混合器配置一个分块的一组件。例如,自动混合器使用关于输入输出数目的几种变化。衰减器使用关于通道数目的几种变化。即使C_ID和C_Ver指明PC数据,也需要指定上述的变化信息,以便能实际运行PC数据的组件。C数据包括变化信息Vari和C_ID与C_Ver。从而,由C数据指定的PC数据组件能够基于变化信息Vari而运行。某些PC数据可能不需要指定变化信息。当指定该PC数据时,在C数据的“混合数据”中并不需要变化信息Vari。
下面说明C数据中的唯一ID(U_ID).当顺序的编辑CF数据的混合器配置时,继承相同的CF_ID.在这种情况下,U_ID指定序列(series)中的C数据.例如,让我们考虑最初创建新的CF数据的情况.每一次新加入C数据(添加组件)时,C数据就被赋予新的U_ID值.当删除C数据时,该C数据的U_ID值被保留且并不被用作CF数据序列中的U_ID.如果存在保留的U_ID值,新的U_ID值被分配到随后新加入的C数据.通过这种方式,编辑CF数据中的CAD数据.C数据被加入或删除.在编辑过程中CF数据可被保留在一特定的位置上.这种情况下,可能判定具有匹配的U_ID值的C数据在序列中是相同的(具有相同CF_ID的CF数据的集合).此处的“相同的C数据”包括那些具有相同的C_ID和C_Ver以及不同的变化信息Vari的C数据.
下面说明CF数据中的预置。一项CF数据包括任意数量的预置。这些预置一起被称做CF数据的库(library)。向预置提供数值1到Nps,其被称为预置编号。预置编号可被用于指定CF数据中的预置(或存储于该预置的区域)。预置表示特定参数值的设置数据,所述参数值用于包含该预置的CF数据的基于PC的CAD数据的混合器配置。如上所述,基于PC的CAD数据指定一个混合器配置。需要为各组件设置指定的参数,以根据指定的混合器配置实际运行数字混合器。例如,需要指定如自动混合器的输入和输出电平、或者衰减器的电平的参数值。预置(preset)提供用于实际运行的各组件的参数值的数据组。
一个预置包括头部和任意数量的C(组件)情景。预置中C情景的部分称为参数数据组。参数数据组的C情景列表中的顺序相应于基于PC的CAD数据中的C数据列表的顺序。在图2中,C情景3A表示由C数据A指定的组件的参数,C情景3B表示由C数据B指定的组件的参数,如此类推。一个C情景包括由单元情景列表组成。各组件包括几个单元。构成C情景的各单元情景表示为构成组件的各单元指定的参数组。单元情景列表由关于组件的PC配置信息(图2(a)中的PC数据)指定。例如,图2(b)中的CF数据2的预置中的C情景3B由四个单元情景E3B1、E3B2、E3B3和E3B4组成。该结构由C情景3B的组件(由C数据B指定的组件)中的PC数据有关的PC配置信息定义。
各单元情景具有例如单一值、一维数组和二维数组的任意数据格式。例如,一个单元情景E3B1或者E3B4由具有数据大小1的单一参数值组成。单元情景E3B2由具有8个元素的一维数组组成。每个单元的数据大小是16(单元E3B2[1]包括E3B2[1]1和E3B2[1]16)。单元情景E3B3具有二维数组的数据格式。各单元情景的数据格式(包括数组元素的数目)和每个单元的数据大小由关于相应PC数据的PC配置信息和作为相应C数据的混合数据而存储的变化信息Vari指定。由于下述原因使得变化信息Vari关系到单元情景的数据结构。例如,当自动混合器具有一个组件时,在输入和输出的数目上具有多种变化。该变化决定了单元情景的数据格式(包括数组元素的数目)和每个单元的数据大小。也就是,变化信息Vari是一种表示操作数据组的数据结构的属性信息。存储于操作数据组存储器的多个操作数据组可具有不同的数据结构。属性信息关联并依赖于相应的混合器配置数据。
下面总结预置中参数数据组的数据结构。
(1)基于PC的CAD数据中的C数据的数目及其列表的顺序决定了C情景的数目及其列表的顺序。
(2)各C情景的单元情景的数据结构包括:单元顺序、各单元情景的数据格式(包括数组单元的数目)及每个单元的数据大小。数据结构由关于相应PC数据的PC配置信息和作为相应C数据的混合数据而存储的变化信息Vari确定。
指出预置的头部包括表示包含于预置的组件和均提供关于组件头部信息的C头部的数目的信息.例如,图2(b)中CF数据2的基于PC的CAD数据包括四个C数据A到D.因而,指出预置的头部3也包括相应于组件的四个C头部3A到3D.C头部的列表顺序对应于基于PC的CAD数据的C数据列表顺序(例如,相当于预置中参数数据组的C情景的顺序).一个C头部包括组件ID(C_ID)、组件版本(C_Ver)、唯一ID(U_ID)、单元数目和各单元情景的数据大小和数组信息.C头部中的C_ID、C_Ver和U_ID与包含于相应C数据的C_ID、C_Ver和U_ID相同.单元的数目表示由相应C数据指定的组件的数目.各单元情景的数据大小和数组信息分别表示组件中的各单元情景的每个单元的数据大小和单元情景的数据格式(包括数组的数目).
例如,C情景3B的组件由四个单元组成。从而,相应的C头部3B包含到“4”的“单元数目”。第一单元情景E3B1由具有数据大小1的单一参数值组成。因而,C头部3B包含的第一单元情景的数据大小设为“1”,数组信息设为(1,1)。数组信息(1,1)表示数据格式是单一值。第二单元情景E3B2是每个单元的数据大小是16的一维数组,并且由八个单元组成。从而,C头部3B包含的第二个单元情景的数据大小设为16,数组信息设为(8,1)。数组信息(8,1)表示数据格式是一维数组并且单元数目是8。第三单元情景E3B3是一个由8行2列组成的二维数组。C头部3B包含的第三单元情景的数组信息设为(8,2)。
基本上,上述方法(1)和(2)被用于确定预置中的参数数据组的数据结构。既然各预置具有上述的头部,参考该头部就消除了上述的(2)过程的需要。因此,可以不参考关于PC数据的PC配置信息或者C数据中的变化信息Vari,就能得到预置中的参数数据组的数据结构。
下面说明情景存储器。情景存储器存储任意数目(Ns)的情景1到Ns。编号1到Ns被称为情景编号。情景编号能被用来指定存储相应情景的区域或存储在该区域的情景。一个情景具有一个配置编号和一个预置编号。用户能够指情景幕编号以重新调用情景(称为情景重新调用)。当重新调用情景时,设置当前指针,以便使当前配置与具有分配给情景的配置编号的CF数据相当。CF数据显示于混合器配置屏幕(图4(a)),后面将说明。具有分配给情景的预置编号的预置被读取,并被设置于当前情景(将参考图2(c)说明)。相反,用户能够指定情景编号,以在情景存储器中保存当前配置和当前情景(称为情景存储)。
图2(c)示出了RAM中将被PC 130上的混合器控制程序131处理的混合数据的结构。当前情景显示了在当前配置的混合器配置中定义的参数数据组,即,当前配置的各组件的当前参数值(当前值)。当前情景的存取程序是一种提供读取当前情景的功能的方法。包含于混合器控制程序131的模块使用该存取程序存取当前情景。如同已在关于预置的说明中一样,当前情景的数据结构依赖于当前配置中的基于PC的CAD数据的内容。当基于PC的CAD数据改变(例如,加入一个新的组件或删除一个现有的组件)时,当前情景的数据结构也需要改变。为此,PC 130的RAM被用于动态的分配存储器区域以维持当前情景。当对当前配置中的基于PC的CAD数据作出改变时,新设置一个区域以使其可用于具有适用于基于PC的CAD数据的结构的数据结构的当前情景。此外,也使存取程序可用于当前情景。前面的当前情景的数据被复制于新的当前情景。
图2(c)中的基于引擎的CAD数据产生缓冲器用于当CF数据被编辑时,从基于PC的CAD数据中产生基于引擎的CAD数据。
图3(a)部分的示出了预存于混合器引擎100的闪存102中的组件数据(PC数据)的配置.混合器引擎的PC数据基本上与图2(a)中所示的PC的PC数据具有相同的配置.可以使用图2(a)中的说明,其与图3(a)只有一点差异.即,引擎100用图3(a)中的PC微程序替换了图2(a)中的显示和编辑处理程序.引擎100不能显示混合器配置屏幕或者控制屏幕,因而不需要用于显示和编辑的显示和编辑处理程序.相反,引擎100需要创建对应于基于引擎的CAD数据的混合器配置的微程序,并将微程序提供给DSP组.从而,引擎100需要PC微程序适用于如图3(a)所示的组件.提供的所有PC微程序可用于由变化信息Vari指定的输入和输出的数目的变化.尽管未示出,PC处理程序表示多种用于处理引擎中各排列信息的程序.
图3(b)部分的示出了引擎100的闪存102中的配置数据。配置数据基本上与图2(b)中所示的PC中的配置数据具有相同的配置。可以使用图2(b)中的说明,其与图3(b)只有一点差异。即,引擎100用图3(b)中基于引擎的CAD数据替换了图2(b)中的基于PC的CAD数据。像基于PC的CAD数据一样,基于引擎的CAD数据也表示显示于混合器配置屏幕的混合器配置。然而,由于引擎不需要用于显示的数据并且需要减少数据量,因此基于引擎的CAD数据以二进制表示而不包含显示数据。基于引擎的CAD数据通过图2(c)中的基于引擎的CAD数据产生缓冲器的编辑而产生。引擎100也具有当前指针。由当前指针指出的CF数据被假定为“当前配置”。
图3(c)示出了引擎100的RAM103中的混合数据。当前屏幕用于引擎并且提供为当前配置的混合器配置定义的参数数据组。当前情景提供与图2(c)中所示的PC的当前情景相似的数据。图2(c)中的当前情景的说明可被用于图3(c)中的引擎的当前情景。尽管未在图3(c)中示出,存取程序也是可用的。微程序产生缓冲器用于产生相应于混合器配置的微程序。改变当前指针以将微程序加载到微程序产生缓冲器。该微程序实现相应于CF数据的基于引擎的CAD数据的混合器配置,该配置再一次变成当前配置。然后,加载的微程序被发送到信号处理部件110。通过这种方式,信号处理部件110中的DSP组实现用于当前配置的CAD数据的混合器配置的操作。当前情景被再一次读取时,或者当前情景被改变时,当前情景被自动发送到信号处理部件110。信号处理部件110向用于DSP组的系数存储器加载发送的当前情景。信号处理部件110中的DSP组使用系数存储器中的系数以执行发送的微程序。从而,信号处理部件110根据用于当前配置的基于引擎的CAD数据的混合器配置并且根据当前情景的参数数据组执行操作。
如关于图3(b)所述的,使用一种可选的方法用于在引擎100的闪存102中存储配置数据。也就是,PC 130以在线模式执行该存储。启动在线模式,以使PC 130编辑如图2(b)所示的RAM中的配置数据的各CF数据。编辑的CF数据被发送到引擎100。(编辑CAD数据,并发送产生于基于引擎的CAD数据产生缓冲器的基于引擎的CAD数据。)情景存储器的内容也被发送到引擎100。引擎100在如图3(b)所示的闪存102中存储发送的CF数据和情景存储器内容。这保证了在PC 130和引擎100中的相同的配置数据。此外,在在线模式中,图2(c)中的PC 136的当前情景被发送,并被存储于图3(c)中引擎100的当前情景。相关的存取程序被设置为可用。如上所述,在线模式使PC 130与引擎100完全同步。PC 130上的当前情景的变化将被反映于引擎100的当前情景上。
由于闪存102是非易失性的,即使在引擎关闭后存储的配置数据仍然保持可用。一旦配置数据被存储于闪存102中,引擎100就能够独自执行下面的处理而无须连接到PC 130。例如,引擎100能够通过指定其情景编号而重新调用情景(使其能够改变当前混合器配置(CF数据))。此外,引擎100能够改变当前情景的参数值。而且,引擎100能够通过指定任意的情景编号而保存当前混合器配置和当前情景。
下面说明当混合器控制程序131在基于如图1到3所述的实施例的系统中运行时的屏幕实例。
图4(a)示例了混合器配置(由当前指针指出的当前配置的CF数据)的编辑屏幕(CAD屏幕)。在混合器配置屏幕400中,根据当前配置中的CF数据排列作为要素单元的组件。通过指定输入/输出关系的线路连接而将组件彼此连接。标号401和402表示代表用于向混合器配置提供输入的端子的单元。标号406表示代表从混合器配置输出的端子的单元。标号403到404表示组件。这些组件由用于当前配置的CF数据的基于PC的CAD数据的C数据(图2(b))所指定。组件分别对应于图2(a)中的PC数据。
用户能够通过执行混合器配置屏幕上的指定操作(选择菜单或右键)而如下面所述编辑配置数据。
用户能够打开指定配置数据的文件。如图2(b)中标号210所示,打开的配置数据被加载到RAM中。用户能够通过指定任意的文件名而保存配置数据并加载到RAM中。例如,通过重新调用情景,用户可以改变加载到RAM中的配置数据的当前配置。这种情况下,混合器配置屏幕变成显示相应于新的当前配置的CF数据的混合器配置。
利用混合器配置屏幕,用户能够重新调用各种类型的组件、排列组件并在组件间建立线路连接。能被重新调用的组件是如图2(a)所示存储于PC 130的存储器装置中的PC数据的组件。用户可以在混合器配置屏幕上删除组件并且断开连接或改变线路连接。这些操作都反映于当前配置的CF数据上。向新创建的CF数据提供新的CF_ID。现有的CF数据可以被编辑或不被编辑,并能够以不同的配置编号写为另一个CF数据。这种情况下,CF_ID未改变而CF_Ver增加。
用户能够指定显示于混合器配置屏幕上的当前配置的CF数据的编辑。标号407表示反映了混合器配置未被编辑的消息。当执行了编辑时,消息407变成“已编辑”。利用混合器配置屏幕,用户能够在在线模式和离线模式之间转换。
图4(b)示例了组件的控制屏幕。通过双击在图4(a)中的混合器配置屏幕400中的任意组件或者通过右键点击而选择“打开控制屏幕”,从而显示控制屏幕401。组件的控制屏幕410具有操作装置412和显示单元411与413。操作装置412被用于设置或改变组件的不同参数值。显示单元411和413用于使计数器和图表显示当前参数值。运行操作装置(转盘控制)412能够改变参数值。控制屏幕上的参数值的变化反映于图2(c)中的当前情景。在在线模式中,该变化也反映于图3(c)中的引擎100的当前情景上。
使用图4(a)中的混合器配置屏幕,用户能够指定屏幕编号以重新调用或存储情景。重新调用情景将启动具有该情景配置编号的CF数据以使其成为当前配置,并显示相应的混合器配置屏幕。重新调用情景,读取具有该情景的预置编号的预置,并将该预置设置到当前情景。根据本实施例,重新调用情景改变了当前配置。用户不能直接指定使用了配置编号的CF数据以将该CF数据设置为当前配置。但是,可以更优选的允许用户使用通过指定配置编号而改变当前配置的CF数据的功能。这种情况下,向各CF数据提供当前情景的备份区域。例如,当当前配置从第一CF数据变成第二CF数据时,变化前的当前情景被保存于相应于第一CF数据的备份区域。相应于第二CF数据的备份区域中的数据被读入当前情景。
下面说明根据本实施例的混合器控制程序131的操作。
图5(a)示出了相应于用于重新调用新的组件并在图4(a)所示的混合器配置屏幕上排列该组件的指定操作的处理流程.通过C_ID指定重新调用的组件.更准确地说,通过C_ID和C_Ver指定组件.然而,假定一个PC 130具有相同的C_ID,并且不含有具有不同版本(C_Ver)的PC数据。从而,假定只有C_ID能被用于指定组件。当重新调用组件时,假设也指定例如输入或输出通道的数目的变化信息Vari。显然,对于不需要指定Vari的组件则无需指定变化信息Vari。
在步骤501中,处理将指定了重新调用组件的C数据加入到当前配置中的基于PC的CAD数据中。当指定变化信息Vari以再次提供U_ID时,该变化信息Vari也被包括进C数据中。在步骤502中,该处理为相应于基于PC的CAD数据的各组件的新的当前情景确保一区域。在步骤503中,该处理对按照基于PC的CAD数据的新的当前情景配置存取程序。如上所述,当前情景的数据结构依赖于当前配置中的基于PC的CAD数据。在步骤503中存取程序被设置为可用,以便各程序模块能够存取当前情景而无需知道数据结构。在步骤504中,该处理将不同的配置间的数据从旧的当前情景复制到新的当前情景。在添加新的组件之前和之后,基于PC的CAD数据具有不同的数据结构。将不同的配置间的数据从旧的当前情景复制到新的当前情景。将会在后面说明不同的配置间的复制。
尽管已说明了重新调用新的组件的实例,相似的过程也可用于删除组件。
图5(b)示出了相应于用于在混合器配置屏幕上编辑线路连接的指定操作的处理流程。在步骤511中,根据改变线路连接的操作指令,该处理改变用于当前配置的基于PC的CAD数据中的线路连接数据。
当在在线模式下在PC 130上编辑CAD数据时(如图5(a)或5(b)),PC 130上的CAD数据的内容变得与引擎100上的CAD数据的内容不同步。从而,就自动启动离线模式。
图5(c)示出了当从混合器配置屏幕发出编辑指令时的处理流程。在步骤521中,该处理编辑用于当前配置的基于PC的CAD数据。该编辑在如图2(c)所示的基于引擎的CAD数据产生缓冲器中,产生与当前配置的基于PC的CAD数据相对应的基于引擎的CAD数据。执行该编辑用以检查在混合器配置屏幕上创建的基于PC的CAD数据中的错误。当检测出错误时,将错误消息显示并通知用户。该处理并不使用在基于引擎的CAD数据产生缓冲器中由编辑产生的基于引擎的CAD数据。图6(a)中描述的在线模式处理将编辑产生的基于引擎的CAD数据发送到引擎100。为了更可靠,可在步骤521之后进行类似于步骤502到504的处理。
图6(a)示出了当在混合器配置屏幕上指定在线模式时的处理流程。在步骤601,该处理顺序的编辑所有的基于PC的CAD数据,其用于图2(b)中标号210所表示的加载入RAM的各CF数据。编辑的基于PC的CAD数据被发送到混合器引擎100。在步骤602,该处理将各CF数据(配置)的库发送到引擎。在步骤603,该处理将当前情景发送(如果需要,转换成引擎100可节译的数据格式)到引擎100。在步骤604,该处理将配置数据210中的情景存储器发送到引擎100。在步骤605,该处理确认在发送到PC 130和引擎100的数据间的匹配。当确认匹配时,该处理将PC 130和混合器引擎100变成在线。当在步骤601、602、604发送编辑的数据时,引擎100在闪存102中将该数据存储为配置数据(图3(b))。引擎100将在步骤603发送的当前情景加载到RAM 103(图3(c))中以使存取程序可用。
图6(b)示出了参照图4(b)说明的组件的控制屏幕上执行转盘控制操作时的处理流程.当在步骤611中当前启动在线模式时,则在步骤612中该处理将相应于转盘控制操作的转盘控制操作事件发送到混合器引擎100.在步骤613,该处理改变当前情景中相应于组件的转盘控制的参数值.当其他的操作装置在控制屏幕上操作时也执行相似的处理.
图6(c)示出了接收在步骤612中传送的转盘控制操作事件的混合器引擎100上的处理。在步骤621,该处理改变引擎的当前情景中相应于组件的转盘控制的参数值。在步骤622,该处理将参数发送到DSP110,以便DSP110能够按照参数运行。相似的处理可被应用于其他操作装置的操作事件。
图7(a)示出了当如图4(a)所示的混合器配置屏幕上发出了存储情景的指令时的处理。对情景的存储是表示在情景存储器中将当前情景保存为一个情景。当前情景由当前混合器配置屏幕上的混合器配置(当前配置)与一组预置参数组成。该实例假设在情景j(在情景存储器中具有情景编号为j的区域)上发出了保存指令。
在步骤701,该处理保存情景j上的当前配置的配置编号。该处理备份了表示在执行步骤701前情景j是否存储了配置编号的状态,以在后面的步骤704使用。当存储了配置编号时,就进行备份。当在步骤702中当前启动在线模式时,在步骤703中,该处理将保存情景j的指令发送到引擎100。通过这种方式,引擎100也以与此相似的处理存储情景。在步骤704,该处理确定用于存储情景的指定指令是指保存新的情景还是保存不同配置间的情景。“保存新的情境”表示在执行步骤701之前,在作为保存目的地的情景j的区域中什么都不保存的情况。“保存不同配置间的情景”表示在执行步骤701之前已在作为保存目的地的情景j的区域里保存了情景数据的情况,并且已保存的配置编号与在步骤701中写入的配置编号不同。当在步骤704中的确定为YES时,在步骤705中,该处理在当前配置的库中为新的预置创建一区域。在步骤706,该处理保存情景j中表示新的预置的预置编号。当在步骤704中的确定为NO时,该处理前进到步骤707,而不对已经保存在情景j中的预置编号做出任何改变(覆写预置)。这是因为该情景已经保存的配置编号等于在步骤701中写入的配置编号。
在步骤707,该处理根据当前配置的基于PC的CAD数据而产生预置头部。此时,头部中组件的编号被配置为基于PC的CAD数据中C数据的编号。按照基于PC的CAD数据中的数据的顺序来确定头部中的C头部列表。各C头部的C_ID、C_Ver和U_ID被配置为与相应的C数据中包含的那些相同。该处理从相应的C数据中的变化信息Vari中确定单元的编号、各单元情景的数据大小和数组信息。在步骤708,该处理向当前情景提供头部,并且将当前情景保存在当前配置的库中由情景j的预置编号表示的预置中。
图7(b)示出了当在如图4(a)所示的混合器配置屏幕上重新调用情景时的处理。此处假设重新调用指令从情景j发出。
当在步骤711启动在线模式时,该处理将重新调用情景j的指令发送到引擎100.通过这种方式,引擎100也通过相似的处理而重新调用一情景.在步骤713,该处理读取情景j的配置编号.在下一步骤714,该处理确定是否读取的配置编号与当前配置的配置编号不同.当配置编号不同时,在步骤715,该处理改变当前指针以使相应于读取的配置编号的CF数据变成当前配置(混合器配置屏幕也改变).该处理为新的当前情景准备区域以使当前情景的存取程序可用,其中该新的当前情景具有适用于当前配置的基于PC的CAD数据的数据结构.当配置编号在步骤714中彼此相同时,该处理前进到步骤716,这是由于只需要改变当前情景而不需改变当前指针.在步骤716,该处理从当前配置的库中读取由情景j的预置编号表示的预置,并将读取的预置写入当前情景.该处理允许预置的数据结构作为读取源来引用并指定头部.作为写入目的地的当前情景被允许使用适用于该数据结构的存取程序.从而,通过将由头部信息表示的数据结构转换为相应于当前配置的CAD数据的数据结构,预置的操作数据组可被分配给当前情景.
图8示出了在步骤716中写入当前情景的处理。假设当前配置的配置编号和将被读取的预置编号可用。在步骤801,该处理获取当前配置的CF_ID。在步骤802,该处理将获取的CF_ID与相应于作为写入目的地的当前情景的CF_ID相比较。当前情景存储当前配置的参数数据组。因而,相应于当前情景的CF_ID恰好就是当前配置的CF_ID。在步骤802,该处理将肯定进行到YES。当归纳了图8中的处理时步骤802是有意义的。这将在后面说明。
在步骤803,该处理保护当前情景以使其不会被从其他处理中写入。在步骤804,该处理准备第一U_ID的组件。该处理将预置的头部参考为读取源,以找到U_ID=1的C情景。该处理从相应于当前情景的CF数据(当前配置)的基于PC的CAD数据中找到U_ID=1的组件,并将其作为写入目的地。通过这种方式,该处理找到相应于当前情景中的组件的C情景。从图2(b)中关于U_ID的说明中能够理解,具有匹配的U_ID的组件在具有匹配的CF_ID的两个配置间相互对应。从而,在增加U_ID的同时,该处理顺序的在相应的组件间复制C情景。
在步骤805,该处理对预置准备的作为读取源的C情景的C_ID(从相应的C头部中获取)与当前情景中作为写入目的地的C情景的C_ID(从基于PC的CAD数据的C数据中获取)进行比较。当两个C_ID匹配时,在步骤806到809中,该处理从作为读取源的由预置准备的C屏幕向作为写入目的地的当前情景中的C情景读取并写入参数数据。也就是,在步骤806,该处理准备第一单元。在步骤807,该处理读取并写入单元情景。在步骤808,该处理准备下一单元。当存在一个单元时,该处理从步骤809返回到步骤807。当所有的单元的复制都完成时,该处理前进到步骤809。
在步骤810,与步骤804相似,该处理准备下一U_ID的组件。当存在该U_ID的组件时,该处理返回到步骤805并继续。当不存在组件时,在步骤812中该处理不再保护当前情景。在步骤813,该处理显示写入失败的组件和单元,然后终止。
通常,在上述的步骤807,作为读取源的单元情景与作为写入目的地的单元情景之间可能并不需要匹配。两种单元情景具有匹配的CF_ID、U_ID和C_ID,从而保证具有匹配的数据格式(单一值、一维数组或者二维数组)。然而,每个单元的数组的编号和数据的大小可能被改变。可能通过如下所述找到读取源或者写入目的地的单元情景的数据结构(每个单元的数组的编号和数据的大小)。当单元情景是预置中的数据时,可通过参考头部而找到数据结构。当单元情景是当前情景时,可从PC数据的PC配置信息或变化信息Vari中找到数据结构。从而,在步骤807,在转换数据结构的同时可以复制参数数据组。优选的,通过专门考虑参考了PC配置信息和变化信息Vari的每个单元的数组编号和数据大小,从而构建当前情景的存取程序。通过这种方式,当前情景能够被存取,而无需参考PC配置信息或者变化信息Vari。
尽管已经描述了图8将其作为步骤716的详细处理,该处理能够被推广用于在任何两个参数数据组间的数据复制.例如,与图8相似的处理可被用于在任意两个预置之间或者在图5(a)中步骤504和图5(c)中步骤524所说明的不同配置之间复制参数数据组.当处理被推广时,步骤802中检测CF_ID间的匹配是有意义的.当CF_ID匹配时,U_ID能够被用于识别相应的组件.从而,可在相应的组件间复制参数数据组.
图9示例了在步骤807写入单元情景的处理。如上所述,当单元情景被写入时,其具有匹配的数据格式,但是可能具有不同的单元编号和每个单元不同的数据大小。下面是基于这些区别的写规则。
图9(a)示出了当单元情景由单一值组成的情况。标号901表示将被写入的数据Ex;902表示作为写入目的地的数据Eo。写入单元情景的处理将写入目的地数据变成标号903表示的Ex。
图9(b)示出了单元情景具有一维数组的数据格式的情况。标号911示出将被写入的单元情景数据。该数据具有四个单元。当作为写入目的地的单元情景912具有六个单元时,写入处理用标号913表示的写入数据E[1]x到E[4]x覆写作为写入目的地的单元情景中的第一到第四单元。现有的单元E[5]o和E[6]o保持不变。当作为写入目的地的单元情景914具有两个单元时,其被改变为标号915所表示的数据。单元E[3]x和E[4]x被忽略。
图9(c)示出了具有二维数组的数据格式的单元情景的情况。将被写入的单元情景数据912具有由四行单元和两列单元组成的格式。作为写入目的地的单元情景922具有六行单元和两列单元。如标号923所示的,写处理只重写重叠的部分。其他部分被忽略。
当单元情景是如上所述的数组时,该处理重写与写入源和写入目的地的下标匹配的单元。该处理忽略只在写入源中存在的下标的单元。该处理不改变只在写入目的地存在的下标的单元。
图9(d)示出了写入目的地区域的每个单元的数据大小大于写入源的情况。写入目的地区域932大于写入数据Ex 931。如标号933所示,写入的数据Ex变大。图9(e)示出了写入目的地区域的每个单元的数据大小小于写入源的情况。写入目的地区域942小于写入数据Ex 941。如标号943所示,被写入的数据Ex变小。
引擎100以与如上参照图7到图9所述的相似的处理存储或重新调用情景。
根据上述的实施例,向每个预置提供头部,以维持各单元的例如C ID和数据格式的信息。仅参考头部就能够获得预置中的C情景的数据结构,而无需参考PC数据中的PC配置信息和CF数据中的变化信息Vari。当有必要根据基于PC的CAD数据中的变化而改变预置的数据结构时,不需要立即作出改变。例如,新的组件可以被加入到CAD数据中。现有的组件可被删除。可对CAD数据中关于组件的变化信息(例如,输入或输出的数目)作出改变。这种情况下,有必要改变相关预置的数据结构,但是并不急于改变。只是要求在需要预置数据,例如在重新调用情景过程中读取预置时,在读取源和写入目的地之间确认CF_ID的匹配。参数数据组可能需要在具有匹配U_ID的组件之间被复制。这种情况下,预置的头部被用于识别预置的数据结构。该预置可以被重新使用,而不需参考其它数据。
提供头部以维持关于包含于相应CAD数据中的组件的信息。例如,下面的信息是可用的。
(例1)U_ID、C_ID
(例2a)U_ID、C_ID、C_Ver
(例2b)U_ID、C_ID、组件中各单元的数据大小
(例3a)U_ID、C_ID、变化信息Vari
(例3b)U_ID、C_ID、组件中各单元的数组信息
(例4a)U_ID、C_ID、C_Ver、Vari
(例4b)U_ID、C_ID、组件中各单元的数据大小和数组信息
上述的实施例相当于上面的(例4b)。如上面的(例1)所示,当至少包含U_ID和C_ID时该头部是有意义的。这是因为组件间的对应关系能够被理解。
提供C_Ver和Vari以增强预置的通用性,其并非头部的强制单元。即使组件被更新,加入C_Ver使得可以通过提供相同的C_ID而使用更新前的组件的预置。加入Vari使得可以使用相同的C_ID而管理具有相同的基本结构而只是尺度不同的组件。不同尺度的组件能够共享他们之间的预置。
关于各单元的大小和数组信息可被用来替代C_Ver和Vari。通过建立规则“改变组件版本只实现各单元的预置的增加而不会改变或删除现有的预置”,单元大小可被用来替换版本。单元的数组信息直接对应于Vari表示的组件的尺度。
当头部存储C_Ver或Vari时,存取预置需要使用它的C_Ver或Vari,以参考PC数据并获得单元的大小或数组信息。当存储了单元的大小和数组时,在存取预置的过程中其可被直接用作参数。
预置可以是一组相应于CAD数据的具有指定数据结构的操作数据。预置并不一定限制为存储于情景存储器的情景。例如,可能提供一个各混合器引擎的预置数据的库。这种情况下,预置数据具有相应于用于各混合器引擎的CAD数据的数据结构。此外,可能存在一个定制组件的预置数据的库。这种情况下,预置数据具有相应于用于定制组件的CAD数据的数据结构。定制的组件由能够被处理为单一组件的预置组件(根据本实施例由PC数据指定的那些)的组合组成。