效果附加装置、方法以及电子乐器与流程
本发明涉及对乐音信号等音频信号进行加工而附加各种音响效果的效果附加装置、方法以及电子乐器。
背景技术:
在对所输入的乐音信号等音频信号附加效果而输出的效果附加装置、即所谓的效果器中,以往,已知有能够任意组合多种效果而附加的被称为所谓的多效果器的技术(例如日本特开平6-195073号公报中记载的技术)。在操作这样的多效果器的情况下,用户首先进行选择操作,以使得以任意顺序执行可预先使用的效果中的任意效果。之后,用户针对所选择的每个效果,设定能够设定的一个以上的参数(例如延迟效果的情况下的延迟时间、反馈量等)的值。
在此,在搭载多个效果模块的键盘、单体的多效果器中,具有如下功能,即对比通常效果的参数数量少的旋钮、踏板等控制器操作件分配任意的效果参数,用户在演奏中变更参数。例如在键盘上装备有六个滑块体(slidevolume),分别对其分配任意的效果模块的任意参数来进行控制。以往,针对这些效果的参数的操作件的分配全部由用户逐一设定。
但是,在用户逐一设定关于效果的参数的操作件的分配的方法中,存在如下问题,即在能够得到所希望的效果的同时,需要针对每一个效果的组合研究并设定应该选择哪个效果模块的哪个参数来分配给操作件,而这就成为了用户的负担。
在本发明中,若用户选择效果模块,则对多个控制器分别良好地分配参数。
技术实现要素:
本发明的一个方式的效果附加装置,其中,具备:
被进行第1用户操作的多个第1操作件;
在所述第1用户操作后被进行第2用户操作的多个第2操作件;以及
至少一个处理器,
所述至少一个处理器进行如下处理:
基于对所述多个第1操作件的第1用户操作,从包含与多个第1参数建立了对应的第1效果以及与多个第2参数建立了对应的第2效果的多个效果中,决定至少包含所述第1效果以及所述第2效果的两个以上的效果,
通过基于表示与所决定的所述第1效果建立了对应的多个第1参数各自的重要度的数据以及表示与所决定的所述第2效果建立了对应的多个第2参数各自的重要度的数据,决定与一个第2操作件建立对应的一个参数,由此决定与所述多个第2操作件建立对应的多个参数。
本发明的另一个方式的电子乐器,其中,具有:
权利要求1至5中任一项所述的效果附加装置、以及
用于基于第3用户操作来指定音高的至少一个演奏操作件,
根据基于所述第2用户操作决定的所述多个参数,针对与基于所述第3用户操作而指定的音高对应的乐音,赋予与所述第1用户操作对应地决定的两个以上的效果。
本发明的另一个方式的效果附加方法,其中,
使效果附加装置的至少一个处理器进行如下处理:
基于对多个第1操作件的第1用户操作,从包含与多个第1参数建立了对应的第1效果以及与多个第2参数建立了对应的第2效果的多个效果中,决定至少包含所述第1效果以及所述第2效果的两个以上的效果,
通过基于表示与所决定的所述第1效果建立了对应的多个第1参数各自的重要度的数据以及表示与所决定的所述第2效果建立了对应的多个第2参数各自的重要度的数据,决定与一个第2操作件建立对应的一个参数,由此决定与所述多个第2操作件建立对应的多个参数。
附图说明
图1是电子键盘乐器的一个实施方式的外观例。
图2是表示电子键盘乐器的控制系统的一个实施方式的硬件结构例的框图。
图3a、图3b和图3c是效果用dsp的功能框图。
图4是表示效果参数表的数据结构例的图。
图5是表示效果参数表的数据结构例的图。
图6是表示效果参数表的数据结构例的图。
图7是表示效果参数表的数据结构例的图。
图8是表示效果参数表的数据结构例的图。
图9是表示效果参数表的数据结构例的图。
图10是表示效果模块选择面板中的效果的选择例和在该情况下的对效果参数控制器面板的滑块控制器的参数的分配例的图。
图11是表示效果模块选择面板中的效果的另一选择例和在该情况下的对效果参数控制器面板的滑块控制器的参数的分配例的图。
图12a和图12b是表示效果模块-效果类型表以及控制器-参数分配变量表的数据结构例的图。
图13是表示本实施方式中的电子乐器的控制处理例的主流程图。
图14a、图14b和图14c是表示参数自动分配处理、控制器-参数分配变量表初始化处理的详细例、以及效果模块-效果类型表初始化处理的详细例的流程图。
图15是表示基于重要度的挑选处理的详细例的流程图。
图16是表示配对处理的详细例的流程图。
图17是表示重复调查处理的详细例的流程图。
图18是表示参数数据插入处理的详细例的流程图。
具体实施方式
以下,参照附图对用于实施本发明的方式进行详细说明。图1是表示搭载了所谓的多效果功能的电子键盘乐器的一实施方式100的外观例的图。电子键盘乐器100具备:键盘101(通过第3用户操作操作的演奏操作件),所述键盘101由作为演奏操作件的多个键构成;开关面板102,所述开关面板102对电子键盘乐器100的乐音输出的音色的指定等各种设定进行指示;效果模块选择面板103(由第1用户操作操作的多个第1操作件),所述效果模块选择面板103进行多效果器的选择;效果参数控制器面板105(由第2用户操作操作的多个第2操作件),所述效果参数控制器面板105控制多效果器的参数;以及lcd104(liquidcrystaldisplay,液晶显示器:液晶显示器)等,所述lcd104显示各种设定信息。另外,电子键盘乐器100在左侧具备电源开关兼音量调节用的块体,虽未特别图示,但在里面部、侧面部或背面部等具备扬声器,所述扬声器放音由演奏生成的乐音。
图2是表示图1的电子键盘乐器100的控制系统200的一个实施方式的硬件结构例的图。在图2中,控制系统200的cpu(中央运算处理装置)201、rom(只读存储器)202、ram(随机存取存储器)203、音源lsi(大规模集成电路)204、连接图1的键盘101的键扫描仪206、连接图1的开关面板102和效果选择器103的i/o接口207、导入图1的效果参数控制器面板105上的六个控制滑块的各操作位置的a/d转换器205、网络接口219、以及连接有图1的lcd104的lcd控制器208分别与系统总线209连接。另外,在音源lsi204的输出侧,依次连接有dsp用ram210的效果用dsp(digitalsignalprocessor:数字信号处理processor:数字信号处理器)209、d/a转换器211和放大器214。
cpu201通过一边将ram203用作工作存储器一边执行存储在rom202中的控制程序,来执行图1的电子键盘乐器100的控制动作。另外,除了上述控制程序和各种固定数据之外,rom202还存储包括歌词数据和伴奏数据的乐曲数据。
音源lsi204按照来自cpu201的发音控制指示,例如从未特别图示的波形rom读出乐音波形数据,输出到d/a转换器211。音源lsi204具有同时使最大256音振荡的能力。
键扫描仪206稳定地扫描图1的键盘101的按键/放键状态,通过中断cpu201来传递状态变化。
i/o接口207稳定地扫描图1的开关面板102和图1的效果模块选择面板103的开关操作状态,并且通过中断cpu201来发送状态变化。
lcd控制器609是控制lcd505的显示状态的ic(集成电路)。
设置于图1的效果参数控制器面板105的六个控制滑块的各操作位置通过分别连接的a/d转换器205转换为数字值,并通知给cpu201。
网络接口219例如与因特网或局域网连接,能够取得在本实施方式中使用的控制程序、各种乐曲数据、自动演奏数据等,并存储在ram203等中。
图3是图2的效果用dsp209的功能框图。效果用dsp209将音源lsi204输出的乐音输出数据作为输入,最多使用效果模块0、效果模块1、效果模块2和效果模块3这四个效果模块,对输入的乐音输出数据最多串联附加4种音响效果,其结果,将附加了所输出的音响效果的乐音输出数据输出到图2的d/a转换器211。d/a转换器211将附加有从效果用dsp209输入的音响效果的乐音输出数据变换为模拟乐音输出信号。该模拟乐音输出信号在被放大器214放大后,从未特别图示的扬声器或输出端子输出。
四个效果模块可以选择如图3a的下侧所示的12种效果算法中的任意效果算法。在此,效果算法是用于使效果用dsp209在内部的信号处理电路即各效果模块中执行所希望的音响效果附加处理的程序数据(或者固件数据)。在各效果模块中,可以同时使用多个相同的效果算法。另外,在某个效果模块中,在不执行效果处理的情况下,输入到该效果模块的乐音输出数据直接通过,并从该效果模块输出。
<效果的选择操作>
接着,对本实施例的动作的概要进行说明。在图1的电子键盘乐器100的右端配置的是效果模块选择面板103。如图3b所示,效果模块选择面板103具备四个滑块开关fx1、fx2、fx3和fx4。若用户将滑块开关fx1、fx2、fx3和fx4分别设定在与记载于面板上的左侧的多个效果名中的任意一个对应的位置,则在图2中,cpu201经由i/o接口207读取各个设定位置,并且将与上述各个设定位置相对应的各效果算法(图3a的12种类型中的任意类型)从rom202加载到与效果用dsp209中的效果模块0~3分别对应的dsp用ram210上的各程序领域。
图3b的示例示出了对于效果模块选择面板103上的滑块开关fx1(效果模块0)、fx2(效果模块1)、fx3(效果模块2)和fx4(效果模块3),分配了以下效果名的效果算法。
fx1(效果模块0):wah(颤音)
fx2(效果模块1):compressor(压缩)
fx3(效果模块2):distortion(失真)
fx4(效果模块3):delay(延迟)
在不对效果模块分配效果的情况下,在对应的滑块开关中选择“bypass”即可。
<效果参数的控制>
配置在图1的电子键盘乐器100的左端的是效果参数控制器面板105。如图3c所示,效果参数控制器面板105包括六个控制滑块,即,c1、c2、…、c6。用户能够将六个参数分别变更为与控制滑块c1、c2、…、c6各自的位置对应的值(近前为最小值、里侧为最大值)。
<效果参数表>
在本实施例中,为了解决在“发明要解决的课题”中所述的课题,针对全部效果模块的每个参数具有几个属性信息。该属性信息被保存在图2的rom202中作为“效果参数表”的数据。在该效果参数表中,针对图3a中所述的12种效果的各个算法类型0~11中的每一个,集中存储有参数组的信息。向12种各种类型的效果算法分配“效果类型序号”。在效果参数表中,针对各个效果类型序号的每个效果算法,存储“效果名”和“参数数量”。另外,在效果参数表中,在由效果类型序号标识的各个效果算法中,分别对多个参数存储“参数序号”、“参数名”、“功能”、“值域”、“重要度”、以及“配对参数序号(规定参数彼此的对的配对参数信息)”的各信息。图4至图9是表示与12种效果算法相对应的效果参数表的数据结构例的图。
重要度是用于从在某个时间点选择的所有效果中挑选要分配给效果参数控制器面板105的滑块控制器的参数的基本信息。在此,与仅能在一个效果内比较参数的重要度不同,这里的重要度是能够在多个效果中统一地比较参数的。效果和参数是1对多的关系。例如,将对在某个时间点选择四个效果的情况进行说明。所选择的四个效果是第1效果(参数数量为三个)、第2效果(参数数量为九个)、第3效果(参数数量为七个)、第4效果(参数数量为五个)。这四个效果的参数数量总共为二十四个。在此,效果参数控制器面板105的滑块控制器有六个。该重要度被用作用于决定从二十四个参数中对六个滑块控制器分配哪个参数的基本信息。
配对参数序号是指,在将包含其的参数分配给效果参数控制器面板105的滑块控制器的情况下,指定作为对而分配的其他参数的参数序号。在本实施例中,由于不设想需要对两个以上的参数进行配对的情况,因此作为配对参数序号仅存储一个参数序号。在针对一个参数不需要配对的情况下,存储“-1”这样的值。此外,在图4~图9的效果参数表的数据结构例中,示出了在“配对背景”这一项目中配对参数序号的参数被配对的理由,但这是为了说明本实施方式,在实际的效果参数表中不存在该项目。或者,该项目也可以存在于效果参数表中,为了在lcd104上显示在效果参数控制器面板105中设定的参数的信息,也可以显示效果名、参数名、功能等项目,并且将该项目一起显示。
<参数分配的变更>
发生对效果参数控制器面板105的各个滑块控制器的参数分配是在效果模块选择面板103中发生了效果模块的替换时的案例。此时,在图1的lcd104中显示对各滑块控制器分配了哪个参数。
本实施方式中的参数的分配按照以下的规则自动进行。
规则1:基于重要度的挑选
首先,作为规则1的基本规则,对在效果模块选择面板103上当前所选择的效果的全部参数的重要度的值进行比较,从该值大的重要度开始顺序选择七个。第7个是在后述的案例中发生提前的情况下的补充。
在找到多个同点的参数的情况下,按照以下的规则来决定优先度。
规则1-1:优先考虑配置在更后面的效果模块的参数。
规则1-2:在相同的效果内发现了多个同点的参数的情况下,优选参数序号较大者。
即使在一个效果模块都未选择或者选择了任何效果模块的情况下,如果所有参数的总数不到5,则不对具有大序号的滑块控制器进行参数的分配。
规则2:基于配对的挑选
针对由上述规则1选择的优先度最高的六个参数,调查是否按照优先度从高到低的顺序设定了配对参数序号。当然,被设定了配对参数序号的要配对的参数是与设定有该配对参数序号的参数所属的效果模块相同的效果模块中的参数。
在对第n个(1≤n≤6)参数设定了配对参数序号的情况下,执行以下的处理。
规则2-1:在配对参数序号的参数已经包含于某位置(第x个(0≤x≤5))的情况下,什么也不做。
规则2-2:在n=6的情况下,没有加入配对参数序号的参数的余地,因此,设定有该配对参数序号的参数被落选,第7个优先度的参数升级。在第7个也有配对参数序号的情况下也使其落选,结果,第6个滑块控制器c6成为空缺。
规则2-3:在上述规则2-1或规则2-2以外的情况下,配对参数序号的参数被插入第n+1个优先度,优先度为第6个的参数被降级为第7个补充,第7个补充参数被落选。
规则3:按照效果模块的顺序排序
对于最后剩余的优先度最高的六个参数,从开头起按照效果模块的顺序、参数序号的顺序重新排列。
根据以上规则1至3最终确定的六个参数被分配给图1的效果参数控制器面板105的滑块控制器c1~c6。
图10是表示效果模块选择面板103中的效果的选择例和在该情况下基于上述规则1至3确定的效果参数控制器面板105的滑块控制器c1~c6的参数的分配例的图。
在该示例中,首先在效果模块选择面板103选择wah(效果类型序号=0)、compressor(效果类型序号=2)、distortion(效果类型序号=10)和delay(效果类型序号=10)的效果。接下来,在图4、图6和图9的效果参数表上,从上述选择的效果类型序号中依据规则1按照重要度的值从大到小的顺序选择以下的七个。
优先度1:效果类型序号=0(wah)的参数序号=1(manual)
优先度2:效果类型序号=10(delay)的参数序号=0(delaytime)
优先度3:效果类型序号=4(distortion)的参数序号=0(gain)
优先度4:效果类型序号=10(delay)的参数序号=3(level)
优先度5:效果类型序号=10(delay)的参数序号=1(delaylevel)
优先度6:效果类型序号=10(delay)的参数序号=2(feedback)
优先度7:效果类型序号=4(distortion)的参数序号=3(level)
接着,在上述规则1的应用的结果中,根据规则2,从优先度高的参数起依次在图4、图6以及图9的效果参数表中检索设定了配对参数序号的参数。结果,检测到对优先度3的效果类型序号=4(distortion)的参数序号=0(gain)设定了配对参数序号=3。其结果,效果类型序号=4(distortion)的参数序号=3的参数“level”被设定为优先度4。接着,至今为止,优先度4~5的参数的优先度顺次降低至5~6,至今为止优先度6的参数将优先度顺次降低至7,至今为止优先度为7的参数落选。
应用以上规则1和规则2,进而通过规则3,将最终优先度1~6的参数按与由效果模块选择面板103选择的效果模块相对应的效果类型序号的顺序排序,结果,对效果参数控制器面板105的滑块控制器c1~c6,如图10的下侧所示,分配以下六个参数。另外,设定与在图4、图6和图9的效果参数表中设定的各参数序号对应的值域作为值域。
c1:wah的manual,值域:0~127
c2:distortion的gain,值域:0~127
c3:distortion的level,值域:0~127
c4:delay的delaytime,值域:0~127
c5:delay的level,值域:0~127
c6:delay的delaylevel,值域:0~127
图11是表示效果模块选择面板103中的效果的另一选择例和在该情况下基于上述规则1至3所确定的效果参数控制器面板105的滑块控制器c1~c6的参数的分配例的图。
在该例子中,首先,在效果模块选择面板103中,选择overdrive(效果类型序号=3)、rotalyspeaker(效果类型序号=6)、equalizer(效果类型序号=1)、reverb(效果类型序号=11)的效果。接下来,在图5、图6、图7和图9的效果参数表上,依据规则1按照重要度的值从大到小的顺序从上述选择的效果类型序号中选择以下七个。
优先度1:效果类型序号=6(rotalyspeaker)的参数序号=1(speed)
优先度2:效果类型序号=11(reverb)的参数序号=1(reverbtime)
优先度3:效果类型序号=6(rotalyspeaker)的参数序号=2(brake)
优先度4:效果类型序号=3(overdirve)的参数序号=0(gain)
优先度5:效果类型序号=1(equalizer)的参数序号=0(eq1frequency)
优先度6:效果类型序号=11(reverb)的参数序号=0(reverbtype)
优先度7:效果类型序号=3(overdrive)的参数序号=0(gain)
接着,在上述规则1的应用的结果中,根据规则2,从优先度高的参数起依次在图5、图6、图7以及图9的效果参数表上检索设定了配对参数序号的参数。其结果,检测到对优先度4的效果类型序号=3(overdirve)的参数序号=0(gain)设定了配对参数序号=2。其结果,效果类型序号=3(overdirve)的参数序号=2的参数“level”被设定为优先度5。接着,将至今为止优先度5的参数的优先度顺次降低至6,将至今为止优先度6的参数顺次降低至优先度7,将至今为止优先度7的参数落选。进而,新成为优先度6的参数也设定有配对参数序号,但通过上述的规则2-2,该参数被落选,优先度7的参数升级,但其也由于规则2-2而落选。其结果,优先度6成为空缺。
应用以上规则1和规则2,进而通过规则3,将最终优先度1~6的参数按与由效果模块选择面板103选择的效果模块相对应的效果模块序号的顺序排序,结果,向效果参数控制器面板105的滑块控制器c1~c6,如图11的下侧所示,分配以下六个参数。另外,设定与在图5、图6、图7以及图9的效果参数表中设定的各参数序号对应的值域作为值域。
c1:overdrive的gain,值域:0~127
c2:overdrive的level,值域:0~127
c3:rotaryspeaker的spead,值域:0、1
c4:rotaryspeaker的brake,值域:0、1
c5:reverb的reverbtime,值域:0~127
c6:无
<软件处理>
以下,对软件控制所需的参数和基于流程图的详细软件动作进行说明。
<变量>
图12a是表示基于用户在图1的效果模块选择面板103上的操作,存储在效果用dsp209内的效果模块0~3(参照图3a)中分别选择的效果类型序号的“效果模块-效果类型表”的数据结构例的图。另外,图12b是表示存储用户对图1的效果参数控制器面板105的c1~c6的各滑块控制器的参数的分配状态的“控制器-参数分配变量表”的数据结构例的图。例如,效果模块-效果类型表和控制器-参数分配变量表的各数据被存储在图2的ram203中。
图12a的效果模块-效果类型表被作为阵列数据modtype[i](0≤i≤3)存储在ram203上。即,在modtype[i]中,将与表示效果模块的序号0~3(参照图3a)的ram203中存储的变量i(0≤i≤3)对应的效果类型序号的值作为阵列值进行存储。在未对效果模块i分配效果类型序号的情况下,成为modtype[i]=-1。
在ram203上,图12b的控制器-参数分配变量表被存储为阵列数据组ctrlvalid[j]、ctrlmod[j]、ctrltype[j]、ctrlparm[j]、ctrlsig[j]、以及ctrlpair[j](均为0≤j≤6)。此时,表示控制滑块的ram203中存储的变量j,j=0~5与控制滑块c1~c6(参照图3b)对应,j=6作为上述的规则1中的补充控制滑块用的存储区域来处理。阵列数据ctrlvalid[j]存储变量j所示的滑块控制器是有效(=1)还是无效(=0)。阵列数据ctrlmod[j]用0~3中的任意值来存储变量j所示的滑块控制器所控制的参数是控制效果用dsp209内的效果模块0~3(参照图3a)中的哪一个。阵列数据ctrltype[j]表示分配给变量j所示的滑块控制器的参数所属的效果类型序号,在参数的分配时存储对图4~图9所例示的效果参数表的该参数设定的效果类型序号。阵列数据ctrlparm[j]表示与分配给变量j所示的滑块控制器的参数对应的效果参数序号,在参数的分配时存储对图4~图9所例示的效果参数表的该参数设定的参数序号。阵列数据ctrlsig[j]表示分配给变量j所示的滑块控制器的参数的重要度,在参数的分配时存储对图4~图9所例示的效果参数表的该参数设定的重要度。阵列数据ctrlpair[j]表示分配给变量j所示的滑块控制器的参数的配对参数序号,在参数的分配时存储对图4~图9所例示的效果参数表的该参数设定的配对参数序号。对上述各阵列数据ctrlmod[j]、ctrltype[j]、ctrlparm[j]、ctrlsig[j]、或ctrlpair[j],在未使用时存储无效值“-1”
图13是表示本实施方式中的电子乐器100的控制处理例的主流程图。该控制处理例如是图2的cpu201执行从rom202载入到ram203的控制处理程序的动作。
当接通电子键盘乐器100的主体的电源时,在执行ram203的内容等初始化处理之后(步骤s1301),进入反复执行步骤s1302至s1310的一系列处理的无限循环。在该无限循环的处理中,执行分类为以下四个的各处理。
<效果选择处理:步骤s1302~s1304>
cpu201经由图2的i/o接口207判定图1的效果模块选择面板103上的滑块开关fx1、fx2、fx3、或fx4中的任一个滑块的位置是否有变化(步骤s1302)。若该判定为“否”,则cpu201移至步骤s1305的控制。
若步骤s1302的判定为“是”,则cpu201首先执行效果选择处理(步骤s1303)。在此,cpu201将对应于存在变化的滑块开关的新装置位置的效果类型序号与对应于存在变化的滑块开关的效果模块的序号之间的对应关系反映在图12a中说明的ram203中的效果模块-效果类型表中。
在步骤s1303的处理之后,cpu201执行参数自动分配处理(步骤s1304)。该处理是根据用户对效果模块选择面板103上的滑块开关的操作的效果的变更而自动地进行对效果参数控制器面板105上的各个滑块控制器分配参数的处理。稍后将参照图14的流程图说明该处理的细节。
<滑块控制器处理>
在上述步骤s1302~s1304的处理之后,cpu201经由图2的a/d转换器205判定图1的效果参数控制器面板105上的六个滑块控制器c1~c6中的任意滑块位置是否存在变化(步骤s1305)。若该判定为“否”,则cpu201移至步骤s1307的控制。
若步骤s1305的判定为“是”,则cpu201执行效果参数变更处理(步骤s1306)。在该处理中,cpu201通过参照存储在图12b中的ram203中的控制器-参数分配变量表,取得与已经存在变化的滑块控制器相对应的效果模块的序号和效果参数序号。然后,cpu201对效果用dsp209内的相应的效果模块发出指示,以使相应的参数的值变更为在步骤s1305中检测出的滑块控制器的值。由此,在相应的效果模块中变更音响效果的附加状态。
<其它用户接口处理>
在上述步骤s1305及s1306的处理之后,cpu201执行经由i/o接口207的图1的开关面板102的操作状态的读取处理、经由lcd控制器208的向lcd104的显示处理等其他用户接口处理(步骤s1307)。
<音源处理>
在上述步骤s1307的处理之后,cpu201经由键扫描仪206读取在键盘101的任意键是否进行了按键或放键(步骤s1308)。
在判定为按键和放键都未被进行的情况下,cpu201转移到步骤s1310的控制。在判定为进行了按键或放键的情况下,cpu201对音源lsi204进行乐音的发音开始的指示或发音中的乐音的消音的指示(步骤s1309)。
在上述步骤s1308或s1309的处理之后,cpu201执行音源稳定处理(步骤s1310)。在该处理中,cpu201对音源lsi204进行发音中的乐音的包络变化等持续的控制。
<参数自动分配处理>
图14a是表示图13的步骤s1304的参数自动分配处理的详细例的流程图。在此,详细说明使用ram203中存储的图12b中说明的控制器-参数分配变量表执行以下处理,即上述的<参数分配的变更>的处理。
首先,cpu201初始化存储在ram203中的控制器-参数分配变量表的内容(步骤s1401)。图14b是表示步骤s1401的详细例的流程图。在该流程图中,cpu201在将变量i的值初始设定为0之后(步骤s1410),一边使该变量i的值从0到5逐个+1变化(步骤s1417、s1418),一边对于与变量i的值对应的全部的滑块控制器c1~c6以及与补充的滑块控制器对应的控制器内部序号(参照图12b),反复执行从步骤s1411至步骤s1416的一系列处理。即,在步骤s1411中,cpu201将无效值“0”存储在与变量i所示的滑块控制器相对应的阵列数据ctrlvalid[i]中。另外,在步骤s1412至s1416中,cpu201将无效值“-1”存储在与变量i所示的滑块控制器相对应的各阵列数据ctrlmod[i]、ctrltype[i]、ctrlparm[i]、ctrlsig[i]、以及ctrlpair[i]中。
接下来,cpu201初始化存储在ram203中的效果模块-效果类型表的内容(步骤s1402)。图14c是表示步骤s1402的详细例的流程图。在该流程图中,cpu201在将变量i的值初始设定为0之后(步骤s1420),一边使该变量i的值从0到3逐一+1变化(步骤s1422、s1423),一边对与变量i的值对应的全部的效果模块,反复执行步骤s1421的处理。即,在步骤s1421中,cpu201在与变量i所示的效果模块相对应的阵列数据modtype[i]中存储无效值“-1”。
在上述步骤s1401及s1402的初始化处理之后,cpu201执行基于重要度的挑选处理(步骤s1403)。图15是表示基于步骤s1403的重要度的挑选处理的详细例的流程图。该流程图与上述的“规则1:基于重要度的挑选”的具体的处理对应。
在图15的流程图中,cpu201首先在步骤s1501中将用于指示各效果模块的ram203上的变量m的值初始设定为0之后,在步骤s1518中反复执行逐次递增+1的动作,直到在步骤s1519中判定为超过了与最后的模块对应的值3为止。以这种方式,cpu201针对每个由变量m的各个值指定的效果模块(以下,作为效果模块m来参照)执行以下步骤s1502至s1517的一系列处理。由此,如图3a所述,顺次指定从效果模块0到效果模块3的三个效果模块作为效果模块m。
在从步骤s1502到步骤s1517的一系列的处理中,首先,cpu201通过参考阵列数据modtype[m],取得与效果模块m相对应的效果类型序号,并设定在ram203上的变量t(步骤s1502),所述阵列数据modtype[m]是根据变量m的值存储在ram203中的效果模块-效果类型表(参照图12b)。以下,将该效果类型序号作为效果类型序号t来参照。
接下来,cpu201判定效果类型序号t的值是否为无效值“-1”(步骤s1502)。若步骤s1502的判定为“是”,则cpu201不执行针对当前的效果模块m的步骤s1504以后的处理,而通过转移到步骤s1518使变量m的值递增,来转移到与根据变量m的递增值所参照的下一个效果模块m对应的处理。
如果步骤s1502的判定为“否”(效果类型序号t的值不是无效值),则cpu201从与存储在ram203中的效果参数表(参照图4至图9)的效果类型序号t相对应的条目中取得参数数量,并且将其设定在ram203上的变量pn中(步骤s1504)。以下,将该参数数量作为参数数量pn来参照。
接着,cpu201针对效果模块m和效果类型序号t的每个效果,对于用于指示与该效果对应的各参数的ram203上的变量p的值,从在步骤s1505中初始设定为0之后,到在步骤1517中判定为超过了与最后的参数对应的值=参数数量pn-1为止,在步骤s1516中反复执行逐次递增+1的动作。这样,cpu201按照由变量p的各值指定的每个参数(以下,作为参数p来参照),执行以下的从步骤s1506到步骤s1515的一系列处理。如图4~图9所例示的那样,根据与效果类型序号t对应地在步骤s1504中提取出的参数数量pn,顺次指定从参数0到参数pn的pn个作为参数p。
在从步骤s1506到步骤s1515的一系列处理中,cpu201针对效果模块m和效果类型序号t的每个效果和该效果中的每个参数p,对于用于指示作为比较对象的效果参数控制器面板105上的各滑块控制器的ram203上的变量c的值,从在步骤s1506中初始设定为0之后,到在步骤s1515中判定为超过了与最后的滑块控制器对应的值6(参照图12a的控制器内部序号)为止,反复执行在步骤s1514中对其逐次递增+1的动作。这样,cpu201按照由变量c的各值指定的每个滑块控制器(以下,作为滑块控制器c来参照),执行以下的从步骤s1507到步骤s1513的一系列处理。如图12a所例示的那样,顺次指定从滑块控制器0(=c1)到滑块控制器5(=c6)及滑块控制器6(=补充)的这七个作为滑块控制器c。
在从步骤s1507到步骤s1513的一系列处理中,cpu201按照效果模块m和效果类型序号t的每个效果及该效果中的每个参数p,在滑块控制器0~5(=c1~c6)和滑块控制器6(=补充)之间判定上述规则1。
在该规则1的判定中,cpu201首先从效果参数表(参照图4~图9)取得与效果类型序号=t、参数序号=p对应的信息,并将取得的重要度的值存储在ram203上的变量s中,将配对参数序号的值保存在ram203上的变量pp中(步骤s1507)。
接着,cpu201通过参照控制器-参数分配变量表(参照图12a),取得各阵列数据ctrlvalid[c]、ctrlsig[c]、ctrlmod[c]、以及ctrlparam[c]的各值,并执行以下的步骤s1508至s1512的判定处理。
首先,cpu201判定作为有效标志的阵列数据值ctrlvalid[c]是否为0,即,滑块控制器c是否无效(参照图12a)(步骤s1508)。若该步骤s1508的判定为“是”(滑块控制器c无效),则由于可以立即对滑块控制器c设定与效果模块m中设定的效果类型序号t相对应的效果器的参数p的信息,因此cpu201转移到进行该设定的步骤s1513的参数数据插入处理。该参数数据插入处理的处理细节将在后面参照图18的流程图来说明。
若步骤s1508的判定为“否”(滑块控制器c有效),则cpu201判定与效果模块m中设定的效果类型序号t相对应的效果器的参数p的重要度s是否大于表示在滑块控制器c中已经设定的参数的重要度的阵列数据值ctrlsig[c](步骤s1509)。
若步骤s1509的判定为“是”(参数p的重要度s更大),则cpu201转移到后述的步骤s1513的处理,以便向滑块控制器c插入与效果模块m中设定的效果类型序号t相对应的效果器的参数p的信息。这对应于上述规则1的基本规则。
若步骤s1509的判定为“否”(参数p的重要度s相对不大),则cpu201判定表示已经设定在滑块控制器c中的参数的重要度的阵列数据值ctrlsig[c]和与效果模块m中设定的效果类型序号t相对应的效果器的参数p的重要度s的值是否相等(步骤s1510)。
若步骤s1510的判定为“否”,即,若重要度s在重要度ctrlsig[c]以下,则与效果模块m中设定的效果类型序号t相对应的效果器的参数p不设定在滑块控制器c中,而转移到步骤s1514,使变量c递增,转移到与下一个滑块控制器c的比较判定。
若步骤s1510的判定为“是”,则cpu201进一步判定效果模块m的序号是否大于表示已经设定在滑块控制器c中的效果器模块序号的阵列数据值ctrlmod[c],即,效果模块m是否位于比滑块控制器c中设定的效果模块靠后段(步骤s1511)。
若步骤s1511的判定为“是”(效果模块m位于相对靠后段),则cpu201转移到后述的步骤s1513的处理,以便将与效果模块m中设定的效果类型序号t相对应的效果器的参数p的信息插入到滑块控制器c中。这对应于上述规则1-1。
若步骤s1511的判定为“否”(效果模块m相对不靠后段),则cpu201进一步判定效果模块m的序号是否等于表示已经设定在滑块控制器c中的效果器模块序号的阵列数据值ctrlmod[c],并且判定与效果类型序号t相对应的效果器的参数序号p是否大于表示已经设定在滑块控制器c中的参数序号的阵列数据值ctrlparam[c](步骤s1512)。
若步骤s1512的判定为“是”(参数序号p更大),则cpu201进入后述的步骤s1513的处理,以便向滑块控制器c插入与效果模块m中设定的效果类型序号t相对应的效果器的参数p的信息。这对应于上述规则1-2。
若步骤s1512的判定为“否”(参数序号p相对不大),则与效果模块m中设定的效果类型序号t相对应的效果器的参数p不设定在滑块控制器c中,而转移到步骤s1514,使变量c递增,转移到与下一个滑块控制器c的比较判定。
如上所述,图15的流程图的处理结束,在图13的步骤s1304的参数自动分配处理中的图14a的流程图的步骤s1403的基于重要度的挑选处理之后,cpu201执行配对处理(步骤s1404)。图16是表示步骤s1404的配对处理的详细例的流程图。该流程图与上述的“规则2:基于配对的挑选”的具体的处理相对应。
在图16的流程图中,cpu201首先将用于指示效果参数控制器面板105上的各滑块控制器的ram203上的变量i的值在步骤s1601中初始设定为0后到在步骤s1610中判定为超过了与除了补充的最后的滑块控制器对应的值5(参照图12a的控制器内部序号)之前,在步骤s1609中反复执行逐次递增+1的动作。这样,cpu201按照由变量i的各值指定的各滑块控制器(以下,作为滑块控制器i来参照),执行以下的从步骤s1602到步骤s1608的一系列处理。如图12a所例示的那样,从滑块控制器0(=c1)到滑块控制器5(=c6)的这六个依次被指定为滑块控制器i。
通过上述的图15的流程图所示的图14的步骤s1403的基于重要度的挑选处理(上述的规则1),对滑块控制器0分配优先度最高的参数,以下,从滑块控制器1到5,优先度依次变低。因此,在图16的流程图中,调查是否按照优先度从高到低的顺序并按照各个滑块控制器对分配给该滑块控制器的参数设定了配对参数序号。
在从步骤s1602到步骤s1608的一系列的处理中,cpu201首先通过参照图12a中例示的ram203上的控制器-参数分配变量表的数据,判定表示与分配给滑块控制器i的参数对应的配对参数序号的阵列数据值ctrlpair[i]是否为无效值“-1”(步骤s1602)。
若步骤s1602的判定为“是”(配对参数序号为无效值),则cpu201转移到步骤s1609而使变量i的值递增,进而转移到针对下一个滑块控制器i的处理。
若步骤s1602的判定为“否”(配对参数序号为有效值),则cpu201判定表示滑块控制器的变量i的值是否为与除了补充以外的最后的滑块控制器对应的值5(步骤s1603)。
若步骤s1603的判定为“否”(不是最后的滑块控制器),则cpu201通过参照图12a所例示的ram203上的控制器-参数分配变量表的数据,取得与分配给滑块控制器i的参数对应的各阵列数据值ctrlmod[i]、ctrltype[i]、ctrlparam[i]、以及ctrlpair[i]。cpu201将表示与分配给滑块控制器i的参数相对应的效果模块的阵列数据值ctrlmod[i]保存在ram203上的变量m中。随后,将该效果模块作为效果模块m来参照。另外,cpu201将表示分配给滑块控制器i的参数所属的效果类型序号的阵列数据值ctrltype[i]存储在ram203上的变量t中。以后,将该效果类型序号作为效果类型序号t来参照。进而,cpu201将表示分配给滑块控制器i的参数的参数序号的阵列数据值ctrlparam[i]存储在ram203上的变量p中。以下,将该参数作为参数p来参照。然后,cpu201将表示与分配给滑块控制器i的参数配对的参数的配对参数序号的阵列数据值ctrlpair[i]保存在ram203上的变量pp中。以后,将该配对参数序号作为配对参数序号pp来参照(以上,步骤s1604)。
接下来,cpu201执行重复调查处理,来调查与分配给滑块控制器i的参数p相对应的配对参数序号pp的参数是否被分配给比滑块控制器i靠近前侧或后方的滑块控制器(步骤s1605)。
图17是表示图16的步骤s1605的重复调查处理的详细例的流程图。在图17的流程图中,cpu201首先将用于指示效果参数控制器面板105上的各滑块控制器的ram203上的变量j的值在步骤s1701中初始设定为0之后,到在步骤1708中判定超过了与除了补充之外的最后的滑块控制器相对应的值5(参照图12a的控制器内部序号为止,在步骤s1707中反复执行逐次递增+1的动作。以这种方式,cpu201针对由变量j的各个值指定的每个滑块控制器(以下,作为重复调查目标滑块控制器j来参照)执行以下步骤s1702至步骤s1708的一系列处理。如图12a所例示的那样,从滑块控制器0(=c1)至滑块控制器5(=c6)的这六个被顺次指定为重复调查目标滑块控制器j,。
在从步骤s1702到步骤s1708的一系列处理中,cpu201通过参照图12a所例示的ram203上的控制器-参数分配变量表,判定重复调查对象的配对目标的参数的信息即效果模块m、效果类型序号t、以及配对参数序号pp的值是否分别与分配给重复调查目标滑块控制器j的效果模块序号ctrlmod[j]、效果类型序号ctrltype[j]、以及效果参数序号ctrlparam[j]一致(步骤s1702、s1703、s1704)。
在步骤s1702、s1703或者s1704中的任意的判定为“否”(不一致)的情况下,cpu201转移至步骤s1707的处理而使变量j的值递增,从而转移到针对下一个重复调查目标滑块控制器j的处理。
当在步骤s1702、s1703或s1704中的所有判定都为“是”(全部一致),即,分配给重复调查目标滑块控制器j的参数与重复调查对象的配对目标的参数一致时,cpu201将表示图17的重复调查处理的返回值的ram203上的变量r的值设置为1(步骤s1706)。
在步骤s1706的处理之后,cpu201结束图17的流程图所示的图16的步骤s1605的重复调查处理。
另一方面,在步骤s1702、s1703或s1704中的任意判定为“否”(不一致)的状态持续的状态下,到除了补充之外的最后的滑块控制器5(=c6)为止的重复调查结束,在步骤s1708的判定为“是”的情况下,cpu201将表示图17的重复调查处理的返回值的ram203上的变量r的值设置为0(步骤s1709)。之后,cpu201结束图17的流程图所示的图16的步骤s1605的重复调查处理。
返回到图16的流程图的说明,在图17的流程图所示的步骤s1605的重复调查处理结束之后,cpu201判定重复调查处理的返回值r是否为1(步骤s1606)。
步骤s1606的判定为“是”(r=1)的情况,是相对于参数p被分配的滑块控制器的序号i,已经分配给与参数p对应的配对参数pp的重复调查目标滑块控制器的序号j的值小(是近前)的情况。在该情况下,应用上述的规则2-1,cpu201不对与配对参数序号对应的参数进行任何处理,而转移到步骤s1609的处理,将变量i的值递增而转移到针对下一个滑块控制器i的处理。
步骤s1606的判定为“否”(不为r=1)的情况,即,相对于分配了参数p的滑块控制器的序号i,已经分配了与参数p对应的配对参数pp的重复调查目标滑块控制器的序号j的值较大(位于后方)的情况,或者,配对参数pp还未分配给滑块控制器。在这种情况下,应用上述的2-3或2-3。
在这种情况下,cpu201首先从图4~9中例示的rom202中存储的效果参数表中取得与效果类型序号t的配对参数序号pp相对应的重要度的值,并且将该值保存在ram203上的变量s中(步骤s1607)。
然后,cpu201将与配对参数对应的变量m(效果模块的序号)、变量t(效果类型序号)、保存有变量pp的值的变量p(配对参数序号)、变量s(配对参数的重要度)、保存有无效值“-1”的变量pp(相对于配对参数序号的配对参数序号)的各值、变量c(进行插入的滑块控制器的序号)的值=i+1、以及ctrlvalid[c]的值=1作为自变量,执行后述的参数插入处理(步骤s1608)。其结果,与分配给滑块控制器i的参数一起,在作为图4~图9例示的效果参数表上对该参数设定的配对参数被保存在滑块控制器i+1中。
在步骤s1608之后,cpu201转移到步骤s1609的处理,使变量i的值递增,从而转移到针对下一个滑块控制器i的处理。
在上述的步骤s1602中判定为配对参数序号是有效值,在步骤s1603中,当变量i的值等于5、即除了补充以外的最后的滑块控制器5(=c6)时,该判定成为“是”。在该情况下,由于没有通过上述的规则2-2对分配了参数的补充以外的最后的滑块控制器5进一步分配配对参数的余地,因此,设定了该配对参数序号的参数落选,并使补充的第7个优先度的参数升级。在第7个也有配对参数序号的情况下也使其落选,结果,最后的滑块控制器5为空。
为了实现以上规则2-2的控制,cpu201判定表示分配给补充的滑块控制器6的参数的配对参数序号的阵列值ctrlpair[6]是否表示无效值(步骤s1611)。
若步骤s1611的判定为“是”,则在步骤s1612中,cpu201将补充的阵列数据ctrlvalid[6](有效数据)、ctrlmod[6](效果模块序号)、ctrltype[6](效果类型序号)、ctrlparam[6](效果参数序号)、ctrlsig[6](重要度)、以及ctrlpair[6](配对参数序号)的各阵列数据值升级为最终的滑块控制器5的各阵列数据ctrlvalid[5]、ctrlmod[5]、ctrltype[5]、ctrlparam[5]、ctrlsig[5]、以及ctrlpair[5],并作为ram203上的控制器-参数分配变量表(参照图12a)进行存储。
另一方面,若步骤s1611的判定为“否”,则在步骤s1613中,cpu201在最后的滑块控制器5的阵列数据ctrlvalid[5]中设定无效值。
在上述步骤s1612或s1613的处理之后,或者步骤s1610的判定为“是”之后,cpu201结束图16的流程图的处理,结束图13的步骤s1304的参数自动分配处理中的图14a的流程图的步骤s1404的配对处理。
图18是表示作为图15的步骤s1513或图16的步骤s1608执行的参数数据插入处理的详细情况的流程图。在该参数数据插入处理中,从图15的流程图的处理或图16的流程图的处理起,将变量m(效果模块的序号)、变量t(效果类型序号)、变量p(参数序号)、变量s(重要度)、变量pp(配对参数序号)的各值、变量c(进行插入的滑块控制器的序号)的值=i+1、以及ctrlvalid[c]的值作为自变量提交。
在图18的流程图中,cpu201首先判定ctrlvalid[c]的值是否为无效值0(步骤s1801)。
在通过图15的步骤s1508的判定为“是”,图18的流程图作为图15的步骤s1513而被执行的情况下,步骤s1801的判定为“是”。在该情况下,由于作为对象的滑块控制器c无效,因此无需对步骤s1802~s1805的滑块控制器进行分配的移位处理,只要对无效的滑块控制器c直接设定参数即可。因此,cpu201在由滑块控制器c指定的ram203上的控制器-参数分配变量表的区域的各阵列数据中,保存应该新分配的参数的信息(步骤s1806)。即,作为表示有效标志的阵列数据ctrlvalid[c],保存有效值1。另外,作为表示效果模块序号的阵列数据ctrlmod[c],保存作为自变量提交的变量m的值。另外,作为表示效果类型序号的阵列数据ctrltype[c],保存作为自变量提交来的变量t的值。另外,作为表示效果参数序号的阵列数据,保存作为自变量提交来的变量p的值。并且,作为表示重要度的阵列数据ctrlsig[c],保存作为自变量提交来的变量s的值。然后,作为表示配对参数序号的阵列数据ctrlpair[c],保存作为自变量提交来的变量pp的值。然后,cpu201结束图18的流程图所示的图15的步骤s1513的参数数据插入处理。
在步骤s1801的判定为“否”的情况下,cpu201在将ram203上的变量i设定为5之后(步骤s1802),一边在步骤s1805中将变量i的值执行逐一+1递减,一边反复执行步骤s1804的处理,直到在步骤s1803中判定为变量i的值与表示作为自变量提交来的对象的滑块控制器的序号的变量c的值一致为止。其结果,从除了补充之外的最后的滑块控制器5(=c6)到滑块控制器c+1依次,被分配给后一个的滑块控制器(从滑块控制器6向滑块控制器c+2)的参数的信息被移位。在图16的情况下,该处理对应于上述规则2-3。
具体地,在步骤s1804中,cpu201将分配给滑块控制器i的ctrlvalid[i](有效数据)、ctrlmod[i](效果模块序号)、ctrltype[i](效果类型序号)、ctrlparam[i](效果参数序号)、ctrlsig[i](重要度)、以及ctrlpair[i](配对参数序号)的各阵列数据值,替换为滑块控制器i+1的各阵列数据ctrlvalid[i+1]、ctrlmod[i+1]、ctrltype[i+1]、ctrlparam[i+1]、ctrlsig[i+1]、以及ctrlpair[i+1],并作为ram203上的控制器-参数分配变量表(参照图12a)进行存储。
通过将变量i的值从i=5到i=c+1依次反复执行上述步骤s1803~s1805的处理,从滑块控制器c+1到滑块控制器5的参数的信息移位至从滑块控制器c+2到滑块控制器6,滑块控制器c+1为空。然后,若变量i的值与变量c的值相等,步骤s1803的判定为“是”,则cpu201转移至步骤s1806的处理,在此,在滑块控制器c的阵列数据中存储作为自变量提交的参数的信息。
在图14的参数自动分配处理的流程图中,在步骤s1404的配对处理之后,cpu201执行排序处理(步骤s1405)。该处理与上述的“规则3:按照效果模块的顺序排序”的处理相对应。在此,cpu201执行排序处理,以便使分配给效果参数控制器面板105的各滑块控制器的参数的信息在效果模块选择面板103按照各滑块开关fx1、fx2、fx3以及fx4的效果模块的顺序,且在同一模块内参数按照参数序号的顺序排列,并且cpu201执行执行重新排列在ram203中存储的图12a所例示的控制器-参数分配变量表的行方向的处理。
在以上的动作之后,cpu201结束图14a的流程图所示的图13的步骤s1304的参数自动分配处理。
根据以上说明的实施方式,在选择效果模块的同时,能够对用户自动地生成推荐的控制器分配的组合,能够实现与大幅度的劳动力的削减相关的自动效果参数的分配装置。
此外,本发明并不限定于上述的实施方式,在实施阶段能够在不脱离其主旨的范围内进行各种变形。另外,在上述的实施方式中执行的功能也可以尽可能适当组合来实施。在上述的实施方式中包含各种阶段,能够通过所公开的多个构成要件的适当组合来提取各种发明。例如,即使从实施方式所示的全部构成要件中删除几个构成要件,只要能够获得效果,则可以将删除了该构成要件的构成作为发明来提取。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除