乐音产生装置、电子乐器以及乐音产生方法

申请号 CN201410330760.9 申请日 2014-07-11 公开(公告)号 CN104282297A 公开(公告)日 2015-01-14
申请人 卡西欧计算机株式会社; 发明人 佐藤博毅; 川岛肇;
摘要 本 发明 提供一种乐音产生装置及方法,CPU(10)将第1按键音高设定为第1目标值,将前一个按键音高设定为第1起点,使第1按键音高从第1起点向第1目标值滑音发音。将第2按键音高设定为第2目标值,将第2按键音高与第1按键音高之间的音程差和向第1目标值滑音发音中的乐音的音高相加而设定第2起点,并使第2按键音高从第2起点向第2目标值滑音发音。将第3按键音高设定为第3目标值,将第3按键音高与第2按键音高之间的音程差与正在向第2目标值滑音发音的乐音的音高相加而设定第3起点,并使第3按键音高从第3起点向第3目标值滑音发音。
权利要求

1.一种乐音产生装置,其特征在于,具有:
目标音高设定单元,每当进行音高指定操作时,将由该音高指定操作所指定的音高设定为目标音高;
判断单元,判断基于由所述音高指定操作的前一个音高指定操作所指定的音高而发音的乐音是否正在滑音发音;
第1起点音高设定单元,在由所述判断单元判断为是正在滑音发音的情况下,将根据所述目标音高、由所述前一个音高指定操作所指定的音高、由所述音高指定操作的两个之前的音高指定操作所指定的音高以及所述正在滑音发音的音高各自的关系而决定的音高,设定为起点音高;以及
滑音发音单元,通过将设定的所述起点音高作为发音开始音高并使音高连续变化到设定的所述目标音高,来进行乐音的滑音发音。
2.如权利要求1所述的乐音产生装置,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高以及由所述音高指定操作的两个之前的音高指定操作所指定的音高更高的情况下,当所述正在滑音发音的音高正在上升时,所述第1起点音高设定单元将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在正在滑音发音的音高不是正在上升时,所述第1起点音高设定单元将所述正在滑音发音的音高设定为起点音高。
3.如权利要求1所述的乐音产生装置,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高更高且比由所述音高指定操作的两个之前的音高指定操作所指定的音高更低的情况下,在所述正在滑音发音的音高比所述目标音高更高时,所述第1起点音高设定单元将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在所述正在滑音发音的音高比所述目标音高更低时,所述第1起点音高设定单元将所述正在滑音发音的音高设定为起点音高。
4.如权利要求1所述的乐音产生装置,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高和由所述音高指定操作的两个之前的音高指定操作所指定的音高更低的情况下,在所述正在滑音发音的音高不是正在上升时,所述第1起点音高设定单元将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在所述正在滑音发音的音高正在上升时,所述第1起点音高设定单元将所述正在滑音发音的音高设定为起点音高。
5.如权利要求1所述的乐音产生装置,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高更低且比由所述音高指定操作的两个之前的音高指定操作所指定的音高更高的情况下,在所述正在滑音发音的音高比所述目标音高更高时,所述第1起点音高设定单元将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,所述第1起点音高设定单元在所述正在滑音发音的音高比所述目标音高更低的情况下,将所述正在滑音发音的音高设定为起点音高。
6.如权利要求1所述的乐音产生装置,其特征在于,
还具有第2起点音高设定单元,在由所述判断单元判断为不是正在滑音发音的情况下,所述第2起点音高设定单元将由所述前一个音高指定操作所指定的音高设定为起点音高。
7.一种电子乐器,其特征在于,具有:
权利要求1所述的乐音产生装置;
多个音高指定算子;以及
音源,生成由所述多个音高指定算子中的任一个音高指定算子所指定的音高的乐音。
8.一种乐音产生方法,其特征在于,由乐音产生装置进行如下处理:
每当进行音高指定操作时,将由该音高指定操作所指定的音高设定为目标音高;
判断基于由所述音高指定操作的前一个音高指定操作所指定的音高而发音的乐音是否正在滑音发音;
在判断为是正在滑音发音的情况下,将根据所述目标音高、由所述前一个音高指定操作所指定的音高、由所述音高指定操作的两个之前的音高指定操作所指定的音高以及所述正在滑音发音的音高各自的关系而决定的音高,设定为起点音高;以及
通过将设定的所述起点音高作为发音开始音高并使音高连续变化到设定的所述目标音高,来进行乐音的滑音发音。
9.如权利要求8所述的乐音产生方法,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高以及由所述音高指定操作的两个之前的音高指定操作所指定的音高更高的情况下,当所述正在滑音发音的音高正在上升时,将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在正在滑音发音的音高不是正在上升时,将所述正在滑音发音的音高设定为起点音高。
10.如权利要求8所述的乐音产生方法,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高更高且比由所述音高指定操作的两个之前的音高指定操作所指定的音高更低的情况下,在所述正在滑音发音的音高比所述目标音高更高时,将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在所述正在滑音发音的音高比所述目标音高更低时,将所述正在滑音发音的音高设定为起点音高。
11.如权利要求8所述的乐音产生方法,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高和由所述音高指定操作的两个之前的音高指定操作所指定的音高更低的情况下,在所述正在滑音发音的音高不是正在上升时,将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在所述正在滑音发音的音高正在上升时,将所述正在滑音发音的音高设定为起点音高。
12.如权利要求8所述的乐音产生方法,其特征在于,
在判断为所述目标音高比由所述前一个音高指定操作所指定的音高更低且比由所述音高指定操作的两个之前的音高指定操作所指定的音高更高的情况下,在所述正在滑音发音的音高比所述目标音高更高时,将所述目标音高与由所述前一个音高指定操作所指定的音高之间的差分和所述正在滑音发音的音高相加,并将相加得到的音高设定为起点音高,并且,在所述正在滑音发音的音高比所述目标音高更低的情况下,将所述正在滑音发音的音高设定为起点音高。
13.如权利要求8所述的乐音产生方法,其特征在于,
在判断为不是正在滑音发音的情况下,将由所述前一个音高指定操作所指定的音高设定为起点音高。

说明书全文

乐音产生装置、电子乐器以及乐音产生方法

[0001] 相关申请的交叉引用
[0002] 本申请主张以2013年7月11日申请的日本专利申请特愿2013-145530为基础的优先权,该基础申请的内容全部包含于本申请。

技术领域

[0003] 本发明涉及一种乐音产生装置、电子乐器以及乐音产生方法,实现在维持所演奏的和弦的构成音之间的音程差的状态下进行音高变化的复音滑音(polyphonic portamento)。

背景技术

[0004] 过去已知一种具备滑音功能的乐音产生装置。滑音功能是指从由前按键正在发音的音高(起点)平滑到达由当前按键发出的音高(目标值)的功能,已知有与起点和目标值之间的音程差无关使滑音的变化速度一定,或者设定和起点与目标值之间的音程差相对应的滑音的变化速度而使滑音的时间一定的方式。
[0005] 并且,例如日本特开2009-53432号公报所公开的技术,即,根据音程差为半音时的基准的滑音速率R、起点音高与目标音高的音程差I、表示该音程差I依存于滑音速度r的程度的音程依存系数K,计算滑音速度r,将计算出的滑音速度r按照每个规定周期与当前音高相加并使其连续变化到目的音高,由此,例如在演奏快速的乐句时,设定为了使乐句的音高及时到达而设定使时间一定的滑音的音程依存系数K,此外,在演奏缓慢的乐句时,设定使速度一定的滑音的音程依存系数K,从而得到最佳的滑音效果。
[0006] 但是,上述日本特开2009-53432号公报公开的技术在假设单音模式(monophonic,单音发音)、基于和弦演奏(和弦演奏)的复音(复音发音)滑音中存在下面的问题。
[0007] 在复音滑音中,在基于和弦演奏的多个按键被按下的情况下,使音高以前按键的发音音高为起点,变化到当前按键的发音音高。参照图6对此进行说明。图6是表示键盘上进行了的前按键的位置以及当前按键(本次的按键)的位置,并表示前按键定时和当前按键定时的图。
[0008] 在图6中,例如音高C1的键因前按键而发音,作为本次的和弦演奏“C大调”,即,按照构成音“C4音”,“E4音”,“G4音”的顺序按键。于是,首先对于“C4音”的按键,C1音成为C4按键起点而使发音音高向“C4目标”变化。
[0009] 接着,对于“E4音”的按键,使发音音高从已经朝向“C4目标”的当前的音高,即,比C1音更高的音程的E4按键起点向“E4目标”变化。进而,对于“G4音”的按键,使发音音高从已经朝向“E4目标”的当前的音高,即,比第2音更高的音程的G4按键起点向“G4目标”变化。在这样的音高变化中,如图6所示,三个构成音(“C4音”、“E4音”以及“G4音”)追寻相同的音高变化,因此构成音之间的音程差消失,丧失了和弦感。
[0010] 因此,提案有将过去的多个按键音高作为履历进行保存,在同时有多个按键被按下的情况下,通过不仅是最新的按键音高,还将其(最新的按键)前一个的按键音高、两个之前的按键音高分配给不同的起点,由此维持音高变化中(滑音发音中)的和弦感。参照图7说明该技术。
[0011] 在图7中,假设例如在前一次进行了按照构成音“C1音”、“F1音”、“ 音”的顺序按键而成的“F小调”的和弦演奏之后,在本次作为“C大调”的和弦演奏而按照构成音“C4音”、“E4音”、“G4音”的顺序按键。于是,首先对“C4音”的按键,使发音音高以前一个按键音高“ 音”为起点朝向“C4目标”变化。
[0012] 接着,对“E4音”的按键,以根据“C4音”的按键而正在进行音高变化的乐音没有到达“C4目标”为条件,使发音音高以两个之前的按键音高“F1音”为起点朝向“E4目标”变化。进而对于“G4音”的按键,以根据“C4音”以及“E4音”的按键而正在进行音高变化的各乐音都没有到达“C4目标”以及“E4目标”为条件,使发音音高以三个之前的按键音高“C1音”为起点朝向“G4目标”变化。
[0013] 根据这样的音高变化,构成音之间产生音程差从而能够获得和弦感,但即使在作为本次的“C大调”的和弦演奏而几乎同时按下了构成音”C4音”,“E4音”,“G4音”的按键的情况下,音高变化中的构成音之间的音程差成为C1/G1/ 的F小调这样的小调和弦。
[0014] 即,尽管演奏了大调和弦但以小调和弦产生了音高变化,产生了不利于和声的弊端,而且,在“C大调”的和弦演奏零乱的情况下,即构成音”C4音”、“E4音”、“G4音”经过规定时间被依次按下按键的形式时,如图8所示,产生音高变化中的构成音之间的音程差构成不和谐音,丧失了和弦感的问题。
[0015] 因此,总结以上说明的内容,在基于现有技术的复音滑音中,存在不能在维持所演奏的和弦的构成音之间的音程差的状态下进行音高变化的问题。

发明内容

[0016] 因此,本发明是鉴于这样的情况而做出的,其目的是提供一种能够实现在维持所演奏的和弦的构成音之间的音程差的状态下进行音高变化的复音滑音的乐音产生装置、电子乐器以及乐音产生方法。
[0017] 为了实现上述目的,本发明的乐音产生装置的特征在于,具有:目标音高设定单元,每当进行音高指定操作时,将由该音高指定操作所指定的音高设定为目标音高;判断单元,判断基于由所述音高指定操作的前一个音高指定操作所指定的音高而发音的乐音是否正在滑音发音;第1起点音高设定单元,在由所述判断单元判断为是正在滑音发音的情况下,将根据所述目标音高、由所述前一个音高指定操作所指定的音高、由所述音高指定操作的两个之前的音高指定操作所指定的音高以及所述正在滑音发音的音高各自的关系而决定的音高,设定为起点音高;以及滑音发音单元,通过将设定的所述起点音高作为发音开始音高并使音高连续变化到设定的所述目标音高,来进行乐音的滑音发音。
[0018] 并且,本发明的乐音产生方法的特征在于,由乐音产生装置进行如下处理:每当进行音高指定操作时,将由该音高指定操作所指定的音高设定为目标音高;判断基于由所述音高指定操作的前一个音高指定操作所指定的音高而发音的乐音是否正在滑音发音;在判断为是正在滑音发音的情况下,将根据所述目标音高、由所述前一个音高指定操作所指定的音高、由所述音高指定操作的两个之前的音高指定操作所指定的音高以及所述正在滑音发音的音高各自的关系而决定的音高,设定为起点音高;以及,通过将设定的所述起点音高作为发音开始音高并使音高连续变化到设定的所述目标音高,来进行乐音的滑音发音。附图说明
[0019] 图1是表示本发明的一实施方式的乐音产生装置100的全体结构的框图
[0020] 图2是表示按键事件处理的动作的流程图
[0021] 图3是表示起点处理1的动作的流程图。
[0022] 图4是表示起点处理2的动作的流程图。
[0023] 图5是表示根据按键事件处理而表现的复音滑音动作的一例的图。
[0024] 图6是用于说明现有技术的图。
[0025] 图7是用于说明现有技术的图。
[0026] 图8是用于说明现有技术的图。

具体实施方式

[0027] 以下,参照附图对本发明的实施方式进行说明。
[0028] A.结构
[0029] 图1是表示本发明的一实施方式的乐音产生装置100的全体结构的框图。在该图中,CPU10根据操作部15上配设的各种开关操作来指定装置各部的动作方式,此外,CPU10指示波形产生器(OSC)17以及放大器(AMP)18生成基于从键盘13输出的演奏信息的乐音。并且,CPU10通过执行后述的按键事件处理,实现在维持所演奏的和弦的构成音之间的音程差的状态下进行音高变化的复音滑音。另外,后面将对CPU10执行的按键事件处理进行详细说明。
[0030] ROM11存储上述CPU10执行的各种程序。所谓各种程序包含后述的按键事件处理。RAM12作为CPU10的工作区域使用,临时存储各种寄存器/标志数据。所谓各种寄存器中包含将过去进行的多个按键音高和发音状态(是否是滑音发音等)作为履历而存储保存的按键寄存器。
[0031] 键盘13生成根据按键离键操作(演奏操作)的下键(key on)/离键(keyoff)事件、音符编号(note number)(或者键编号)以及度(velocity)的演奏信息并提供给CPU10。滑音算子14根据用户操作,产生用于控制滑音速度的参数。另外,本实施方式中,滑音算子(operator)14产生表示一定的滑音速度的参数。
[0032] 操作部15具有配设在操作盘上的各种开关,产生与所操作的开关种类对应的开关事件并提供给CPU10。显示部16由LCD面板等构成,根据从CPU10提供的显示控制信号对装置各部的设定状态和动作状态等进行画面显示。波形产生器(OSC)17由公知的波形存储器读出方式构成,输出基于从CPU10供给的乐音命令的波形数据数据。例如,在从CPU10接受了包含音符编号的音符开(note on)命令的情况下,按照与音符编号对应的读出速度读出自身存储的波形数据并进行波形输出。
[0033] 放大器(AMP)18将根据演奏信息所含的力度而由CPU10产生的音量包络线波形与从前一级的波形产生器17提供的波形数据相乘而生成乐音波形数据。声音系统19在将从放大器18输出的乐音波形数据变换为模拟形式的乐音信号之后,并在实施从该乐音信号除去无用噪音等的滤波处理之后,将其电平放大并从扬声器发音。
[0034] B.动作
[0035] 接着,参照图2~图5,对上述结构的乐音产生装置100的CPU10执行的按键事件处理、起点处理1以及起点处理2的各动作进行说明。
[0036] 另外,本实施方式中,滑音是使音高从由所指定的音高的前一个按键指定的音高连续变化到由当前按键指定的音高的动作,该动作以进行了按键时前一个按下的键还未离键为条件。因此,在以下说明的流程图中,以前一个按键音高和当前按键音高不相同为前提。
[0037] (1)按键事件处理的动作
[0038] 图2是表示按键事件处理的动作的流程图。按键事件处理在根据按键操作而由键盘13生成了演奏信息(键落信号、音符编号以及力度)的情况下执行。当执行本处理时,CPU10前进到图2所示的步骤SA1,将当前按下的键的音高(以下,简称为按键音高)设定为目标值。
[0039] 接着,在步骤SA2中,判断前一个按键是否由于滑音而正在发音。另外,前一个按键的发音状态根据RAM12具有的按键寄存器中登记的履历内容来确认。如果前一个按键不是由于滑音而正在发音,则上述步骤SA2的判断结果是“否”,前进到步骤SA3,将前一个按键音高设定为基于当前按键的发音音高(目标值)的起点。然后,前进到步骤SA7,执行发音开始处理后结束本处理,该发音开始处理是指示波形产生器(OSC)17以及放大器(AMP)18产生音高从与当前按键对应的起点变化到目标值的乐音。
[0040] 另一方面,如果前一个按键由于滑音而正在发音,则上述步骤SA2的判断结果是“是”,前进到步骤SA4。步骤SA4中,对当前的按键音高和前一个按键音高进行比较。在当前的按键音高更高的情况下,前进到步骤SA5,执行用于决定当前的按键的发音的起点的起点处理1。
[0041] 如后所述,在起点处理1中,对当前按键音高和两个之前的按键音高进行比较,如果当前按键音高比两个之前的按键音高更高,则判断由于滑音而正在发音的乐音的音高是否正在上升,如果由于滑音而正在发音的乐音的音高正在下降,则将由于滑音而正在发音的乐音的音高设定为起点。另一方面,如果由于滑音而正在发音的乐音的音高正在上升,则将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点。
[0042] 与此相对,如果当前按键音高比两个之前的按键音高低,则将由于滑音而正在发音的乐音的音高与目标值进行比较,在目标值较高的情况下,将由于滑音而正在发音的乐音的音高设定为起点。另一方面,在目标值较低的情况下,将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点。
[0043] 并且,当由起点处理1决定了当前按键的发音的起点时,前进到步骤SA7,执行发音开始处理后结束本处理,该发音开始处理是指示波形产生器(OSC)17以及放大器(AMP)18产生音高从与当前按键对应的起点变化到目标值的乐音的处理。
[0044] 而另一方面,将当前按键音高与前一个按键音高进行比较,在当前按键音高更低的情况下,前进到步骤SA6,并执行用于决定当前按键的发音的起点的起点处理2。
[0045] 如后所述,在起点处理2中,将当前按键音高和两个之前的按键音高进行比较,如果当前按键音高比两个之前的按键音高更高,则将由于滑音而正在发音的乐音的音高与目标值进行比较,在目标值较低的情况下,将由于滑音而正在发音的乐音的音高设定为起点。另一方面,在目标值较高的情况下,从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点。
[0046] 相对于此,如果当前按键音高比两个之前的按键音高更低,则判断由于滑音而正在发音的乐音的音高是否正在上升,如果由于滑音而正在发音的乐音的音高正在上升,则将由于滑音而正在发音的乐音的音高设定为起点。另一方面,如果由于滑音而正在发音的乐音的音高正在下降,则从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点。
[0047] 然后,当通过起点处理2决定当前按键的发音的起点时,前进到步骤SA7,执行发音开始处理后结束本处理,该发音开始处理是指示波形产生器(OSC)17以及放大器(AMP)18产生音高从与当前按键对应的起点变化到目标值的乐音的处理。
[0048] (2)起点处理1的动作
[0049] 接着,参照图3对起点处理1的动作进行说明。当经由上述按键事件处理的步骤SA5来执行本处理时,CPU10前进到图3所示的步骤SB1,将当前按键音高与两个之前的按键音高进行比较。以下,分为当前按键音高更高的情况、和当前按键音高更低的情况进行动作说明。
[0050] a.当前按键音高>两个之前的按键音高的情况
[0051] 该情况下,经由步骤SB1前进到步骤SB2,判断由于滑音而正在发音的乐音的音高是否正在上升。在由于滑音而正在发音的乐音的音高正在下降的情况下,经由步骤SB2而前进到步骤SB3,将由于滑音而正在发音的乐音的音高设定为起点后结束本处理。
[0052] 另一方面,在由于滑音而正在发音的乐音的音高正在上升的情况下,经由上述步骤SB2而前进到步骤SB4,将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点后结束本处理。
[0053] b.当前按键音高<两个之前的按键音高的情况
[0054] 该情况下,经由步骤SB1而前进到步骤SB5,将由于滑音而正在发音的乐音的音高与目标值进行比较。在目标值较高的情况下,经由上述步骤SB5而前进到步骤SB6,将由于滑音而正在发音的乐音的音高设定为起点后结束本处理。
[0055] 另一方面,在目标值较低的情况下,经由上述步骤SB5而前进到步骤SB7,将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点后结束本处理。
[0056] 这样,在起点处理1中,将当前按键音高与两个之前的按键音高进行比较,如果当前按键音高比两个之前的按键音高更高,则判断由于滑音而正在发音的乐音的音高是否正在上升,如果由于滑音而正在发音的乐音的音高正在下降,则将由于滑音而正在发音的乐音的音高设定为起点。另一方面,如果由于滑音而正在发音的乐音的音高正在上升,则将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点。
[0057] 与此相对,如果当前按键音高比两个之前的按键音高更低,则将由于滑音而正在发音的乐音的音高与目标值进行比较,在目标值较高的情况下,将由于滑音而正在发音的乐音的音高设定为起点。另一方面,在目标值较低的情况下,将当前按键音高与前一个按键音高之间的音程差和由于滑音而正在发音的乐音的音高相加,将相加得到的音高设定为起点。
[0058] (3)起点处理2的动作
[0059] 接着,参照图4说明起点处理2的动作。经由上述按键事件处理的步骤SA6来执行本处理时,CPU10前进到图4所示的步骤SC1,将当前按键音高与两个之前的按键音高进行比较。以下,分为当前按键音高更高的情况、和当前按键音高更低的情况进行动作说明。
[0060] a.当前按键音高>两个之前的按键音高的情况
[0061] 该情况下,经由步骤SC1而前进到步骤SC2,将由于滑音而正在发音的乐音的音高与目标值进行比较。在目标值较低的情况下,经由步骤SC2而前进到步骤SC3,将由于滑音而正在发音的乐音的音高设定为起点后结束本处理。
[0062] 另一方面,在目标值较高的情况下,经由上述步骤SC2而前进到步骤SC4,从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点后结束本处理。
[0063] b.当前按键音高<两个之前的按键音高的情况
[0064] 该情况下,经由步骤SC1而前进到步骤SC5,判断由于滑音而正在发音的乐音的音高是否正在上升。在由于滑音而正在发音的乐音的音高正在上升的情况下,判断结果为“是”,前进到步骤SC6,将由于滑音而正在发音的乐音的音高设定为起点后结束本处理。
[0065] 另一方面,在由于滑音而正在发音的乐音的音高正在下降的情况下,上述步骤SC5的判断结果为“否”,前进到步骤SC7,从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点后结束本处理。
[0066] 这样,在起点处理2中,将当前按键音高与两个之前的按键音高进行比较,如果当前按键音高比两个之前的按键音高更高,则将由于滑音而正在发音的乐音的音高与目标值进行比较,在目标值较低的情况下,将由于滑音而正在发音的乐音的音高设定为起点。另一方面,在目标值较高的情况下,从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点。
[0067] 与此相对,如果当前按键音高比两个之前的按键音高更低,则判断由于滑音而正在发音的乐音的音高是否正在上升,如果由于滑音而正在发音的乐音的音高正在上升,则将由于滑音而正在发音的乐音的音高设定为起点。另一方面,如果由于滑音而正在发音的乐音的音高正在下降,则从由于滑音而正在发音的乐音的音高减去当前按键音高与前一个按键音高之间的音程差,并将相减得到的音高设定为起点。
[0068] (4)具体的动作的说明
[0069] 接着,参照图5对按键事件处理的具体的动作进行说明。图5是表示在键盘上进行的前按键(前一次和弦演奏)的位置以及当前按键(本次和弦演奏)的位置,并表示前按键定时与当前按键定时的图,其图示了如下的例子,即,在前一次进行了按照构成音“C1音”、“F1音”、“ 音”的顺序按键而成的“F小调”的和弦演奏之后,本次作为“C大调”的和弦演奏而按照构成音”C4音”、“E4音”、“G4音”的顺序进行按键的例子。
[0070] 以下,基于该例子对按键事件处理的具体动作进行说明。首先,对于最初的“C4音”的按键,以前一个按键音高“ 音”为C4按键起点使音高从这里向“C4目标”变化。
[0071] 接着,对于“E4音”的按键,将当前按键音高“E4音”与前一个按键音高“C4音”之间的音程差和由于滑音而正在发音的乐音(朝向“C4目标”的音)的音高相加,将相加得到的音高设定为E4按键起点,并使发音音高从这里向“G4目标”变化。
[0072] 而且,对于“G4音”的按键,将当前按键音高“G4音”与前一个按键音高“E4音”之间的音程差和由于滑音而正在发音的乐音(朝向“E4目标”的音)的音高相加,将相加得到的音高设定为G4按键起点,使发音音高从这里向“E4目标”变化。
[0073] 由此,音高变化中的构成音之间的音程差成为C4/E4/G4,由于本次演奏的“C大调”的和弦演奏在保持大调和弦的状态下进行音高变化,因此能够实现在维持所演奏的和弦的构成音之间的音程差的状态下进行音高变化的复音滑音。
[0074] 如以上所说明的,在本实施方式中,预先至少存储当前和弦演奏中所进行了的第1至第3当前按键以及第1当前按键的前一个按键的音高和发音状态,在首先将第1当前按键的音高设定为第1目标值之后,如果第1当前按键的前一个按键的音高不是正在滑音发音,则将该前一个按键的音高设定为第1起点。然后,使第1当前按键的音高从第1起点向第1目标值滑音发音。
[0075] 接着,将第2当前按键的音高设定为第2目标值,如果第1当前按键的音高是正在滑音发音,则将第2当前按键的音高与第1当前按键的音高进行比较,如果第2当前按键的音高较高,则将第2当前按键的音高与第1当前按键的前一个按键的音高进行比较,如果第2当前按键的音高较高,则判断正在向第1目标值进行滑音发音的乐音的音高是否正在上升,如果该正在滑音发音的乐音的音高正在上升,则将第2当前按键的音高与第1当前按键的音高之间的音程差和正在向第1目标值滑音发音的乐音的音高相加,从而设定第2起点。
然后,使第2当前按键的音高从第2起点向第2目标值滑音发音。
[0076] 而且,将第3当前按键的音高设定为第3目标值,如果第2当前按键的音高是正在滑音发音,则将第3当前按键的音高与第2当前按键的音高进行比较,如果第3当前按键的音高较高,则将第3当前按键的音高与第1当前按键的音高进行比较,如果第3当前按键的音高较高,则判断正在向第2目标值滑音发音的乐音的音高是否正在上升,如果该正在滑音发音的乐音的音高正在上升,则将第3当前按键的音高与第2当前按键的音高之间的音程差和正在向第2目标值滑音发音的乐音的音高相加,从而设定第3起点。然后,使第3当前按键的音高从第3起点向第3目标值滑音发音。
[0077] 结果,由于音高变化中的构成音之间的音程差成为第1按键的音高/第2按键的音高/第3按键的音高,所以能够实现在维持所演奏的和弦(第1至第3当前按键)的构成音之间的音程差的状态下进行音高变化的复音滑音。
[0078] 另外,在上述实施方式中,描述了基于三和弦的复音滑音,但本发明的主旨不限定于此,也可以适用于四和弦(第七和弦(seventh chords))、五和弦(扩展和弦(tension chords))。并且,也能够适用于不使和弦的构成音同时发音而是依次发音的分解和弦(琶音)。
[0079] 以上,说明了本发明的一个实施方式,但本发明不限定于此,本发明包含在与本申请请求书记载的发明均等的范围内。
QQ群二维码
意见反馈