具有准确识别琴键运动的琴键监视器的键盘乐器的制作方法

文档序号:2819922阅读:574来源:国知局
专利名称:具有准确识别琴键运动的琴键监视器的键盘乐器的制作方法
技术领域
本发明涉及键盘乐器,特别是装配有准确识别琴键运动的琴键监视器的键盘乐器。
自动演奏钢琴是一种典型的键盘乐器的例子。该自动演奏钢琴在其琴盘下方装配有由电磁操作的驱动器。一个控制器有选择地激励由电磁操作的驱动器,以根据表示原始演奏的音乐数据码产生声学音。该音乐数据码是由在键盘上进行原始演奏期间通过监视琴键运动所获得的音乐数据信息段形成的,记录系统装入在键盘上记录性能的自动演奏钢琴中。该记录系统包括多个琴键传感器,这些琴键传感器设置在琴键轨迹附近。演奏者按下一个琴键时,相关的琴键传感器检测所按下的琴键,控制器产生表示所按琴键,该键的速度等等的音乐数据码。该琴键传感器还检测释放的键该控制器产生表示该释放键和该键运动的音乐数据码。
另一个键盘乐器的例子是已知的″静音钢琴″。美国专利No5374775公开了该静音钢琴,一架声学钢琴,一个电声系统和一个琴锤制动器组合构成该静音钢琴。该琴锤制动器在自由位置和阻挡位置之间转换。琴锤制动器停在自由位置时,该静音钢琴作为标准声学钢琴,演奏者通过声学音演奏钢琴。然而,当琴锤制动器转换到阻挡位置,琴锤制动器阻止琴锤击弦,而琴锤在击弦前弹回到琴锤制动器上。因此,静音钢琴不产生声学音。琴键传感器和控制器安装在电声系统中。琴键传感器监视琴键运动,控制器产生音乐数据码,该音乐数据码立即提供给一个音调发生器。音调发生器产生音频信号。例如,该音频信号提供给一个耳机,并且电声的产生与在琴键上的手指弹奏同步。
因此,琴键传感器对于由声学钢琴和电声系统组成的键盘乐器是必不可少的。

图1A至1C说明与琴键传感器2相关的琴键1。琴键传感器2包括两个固定在托架2C上的电光耦合器2a和2b和一个附连到琴键1下表面的快门板2d。托架2c安装在琴键底板3上,因此,光电耦合器2a和2b相对于琴键底板3静止。另一方面,琴键1由平衡轨(未示出)可转动地支撑,平衡轨装在键底板3上。因此,琴键1可相对琴键底板3转动,故此,快门板2d可相对琴键底板3和光电耦合器2a/2b移动。
当琴键1停在休止位置时,快门板2d的斜边2e如图1A所示在光电耦合器2a/2b的光束的上方。光电耦合器2a和2b将光转换成电信号,电信号的电位电平与光强度成比例。两个光电耦合器2a和2b将电信号保持在高电位电平,现有技术的琴键传感器产生一个两比特的琴键位置信号

演奏者向琴键1加力,琴键1开始从休止位置向下向其终止位置运动4。当琴键1移动一定距离时,其斜边2e到达电耦合器2a的光束,快门板2d切断光电耦合器2a的光束。但其斜边2e仍在光电耦合器2b的光束的上方,光束如图1B跨接在光发射器件和另一个光电耦合器2b的光电检测器件之间的间隙。因此,虽然光电耦合器2a将电信号改变成低电位电平,另一个光电耦合器2b仍然将电信号保持在高电位电平。
琴键1进一步向下运动,斜边2e到达如图1C所示的另一个光电耦合器2b的光束。快门板2d截断两束光束,光电耦合器2b将电信号改变成低电位电平。结果是,光电耦合器2a/2b将电信号改变成低电位电平。
因此,现有技术的琴键传感器从

至[11]改变两比特的琴键位置,并在从休止位置到终止位置的轨迹上检测琴键1的三个不同位置。现有技术的琴键传感器给出用于产生电声的定时,控制器在该定时将表示所产生的电声的音乐数据码提供给音调发生器。音调发生器立即处理该音频信号,由耳机产生该电声。如果现有技术的琴键传感器增加光电耦合器,可检测的位置也随之增加。
然而,现有技术的琴键传感器不能准确地检测琴键位置。这是由于在光电耦合器2a/2b和快门板2d之间存在许多种元件的实际情况造成的。光电耦合器2a/2b由托架2c支撑,快门板2d附连到由平衡轨可转动地支撑的琴键1。托架2c、平衡轨和琴键将各自的制造公差带入快门板2d和光电耦合器2a/2b之间的相应位置。此外,装配误差是不可避免的。因此,产品中快门板2d和光电耦合器2a/2b之间的相互位置不同,并且现有技术的琴键传感器需要仔细地校正或仔细地调节快门板和光电耦合器之间的相应位置。
在美国专利No.5001339和5.231283中提出了一种可自调节的位置传感器。为琴键设置一个模拟位置传感器,随着琴键从休止位置向终止位置的运动改变模拟输出信号。位置传感器安装后,计算机软件在一个检测点确定一个阈值,并根据制造公差和安装误差自动改变该阈值。因此,对音调发生的定时是恒定的而与制造公差和安装误差无关。
演奏者按下琴键时,位置传感器连续地改变模拟输出信号,并由控制器将模拟输出信号值与阈值比较。当模拟输出信号达到该阈值时,控制器确认该检测点。
现有技术的可自调节位置传感器使控制器忽略产品间的个别状态特性。然而,现有技术的可自调节位置传感器不能识别演奏者如何按下琴键。
如果演奏者缓慢地按下标准声学钢琴的琴键,有关的琴锤脱离千斤顶从休止位置到终止位置;然而,给琴锤加力的瞬间太短不能到达有关的琴弦,琴锤不击弦就返回到初始位置。另一方面,当演奏者用力按下琴键时,该顶杆给与琴锤较长的瞬间,并由该琴锤击弦产生钢琴声。因此,虽然两种琴键接触使该琴键通过了休止位置和终止位置之间的中间位置,但琴锤运动是不同的,并且不同的琴锤运动导致产生钢琴声和声音损失。现有技术的可自调节位置传感器在检测点为音调产生给出定时,而与琴键触模无关,并且两电声经由耳机产生。
现有技术的可自调节位置传感器进一步为音频终止提供定时,控制器在模拟位置信号达到音频终止的阈值时指示音调发生器终止该电平。声学钢琴用一个制音机构终止该钢琴声。当演奏者释放所按琴键时,该琴键从终止位置向休止位置移动,并使制音头与振动弦接触。制音头消除振动,并终止钢琴声。该制音头在从终止位置向休止位置的行程中接触振动弦,并在制音头与振动弦接触时将检测点调节到该定时。然而,不同的琴键运动使制音头的运动不同,因此,电声的衰减不是恒定的。然而,现有技术的可自调节位置传感器不能识别影响电声衰减的琴键运动。
因此,装配有现有技术的可自调节位置传感器的键盘乐器不能产生与琴键运动准确对应的电声。
因此,本发明的一个重要的目的是提供一种装备有用于准确控制音调产生的琴键监视器的键盘乐器。
根据本发明,提供一种发声的键盘乐器,包括一个带有多个琴键的键盘,每个琴键在休止位置和终止位置之间往复运动;一个声音发生装置。用于响应第一部分控制信息,在朝向终止位置的行程上开始产生由多个琴键中的每一个琴键规定的声音,和第二部分控制信息,用于在朝向休止位置的行程上终止该声音,多个分别监视多个琴键的琴键传感器,用于产生分别表示有关琴键运动的琴键位置信号,每个琴键位置信号沿多个琴键之一的轨迹连续地改变一个值,该多个琴键在其轨迹的边缘区段具有多个参考点;和一个连接到多个琴键传感器的声音控制装置,并控制声音发生装置,该声音控制装置包括一个识别子装置,用于定期地将上述多个琴键位置信号的每一个值与用于确定上述多个琴键的每一个运动的区段之一的多个参考点相应的阈值比较,一个琴键状态确定子装置,用于根据上述区段之一和由琴键识别子装置预先确定的在先琴键状态确定上述多个琴键每一个的当前琴键状态,和一个控制信息发生子装置,用于在当前琴键状态表示准备好产生音调之后产生表示上述多个琴键每一个的声音发生的第一部分控制信息,该控制发生子装置还产生第二部分控制信息,表示准备好产生音调之后,当上述多个琴键位置信号的每一个与阈值之一匹配时上述多个琴键的每一个的声音的终止。
从下面结合附图所做的描述中将更清楚地理解根据本发明的琴键传感器和键盘乐器的特性和优点。
图1A至1C是现有技术的琴键传感器与琴键位置之间关系的侧视图;图2是本发明的键盘乐器结构的侧视图;图3是装配在该键盘乐器中的键盘下方的琴键传感器和电磁操纵的驱动器单元配置的侧视图;图4是琴键传感器的透视图;图5是表示琴键行程模拟琴键位置信号电位电平的示意图;图6是装配在琴盘乐器中的控制器的电路配置方框图;图7是按下琴键的轨迹示意图;图8是分配给琴键状况表的随机存取存储器存储区域的示意图;图9是分配给音调产生控制表的随机存取存储器另一个存储区域的示意图;图10是转换表和时间间隔表的方框图;图11是由微处理器有选择地执行的程序的时间图;图12是装配在微处理器内的内置寄存器阵列的示意图;图13是由微处理器执行的定时器中断程序的流程图;图14是由微处理器执行的A/D中断程序的流程图;图15是用于在检测声道存储检测时间表的示意图;图16是琴键轨迹示意图17是用力按下琴键的轨迹示意图;图18是由微处理器执行的主程序的流程图;图19是表示琴键状态UPPER的子程序的流程图;图20是表示琴键状态TOUCH-A的子程序的流程图;图21是表示琴键状态COUNT-DOWN的子程序的流程图;图22是表示琴键状态SOUND的子程序的流程图;图23是释放琴键的子程序的流程图;图24是表示琴键状态HOLD的子程序的流程图;图25是表示琴键状态TOUCH-B的子程序的流程图;图26是表示琴键状态TIME-OVER的子程序的流程图;图27是子程序之间相互关系的示意图;图28是释放之后琴键运动的示意图;和图29是准确控制释放速率时电声包络线的示意图。
参考附图的图2,本发明的具体键盘乐器主要包括声学钢琴10,静音系统11和电子系统12,在下面的说明中,字″前面″表示比″后面″位置更靠近坐在声学钢琴前的演奏者的位置,″顺时针″和″逆时针″方向在说明转动部件的图中确定。
声学钢琴10类似于标准立式钢琴,并包括设置在琴键底板10b上方的琴键10a,88个黑和白键10c和10d组合形成键盘10a,并可绕平衡轴转动(见图3)。黑和白键10c和10d在声学钢琴10的纵向延伸,黑和白键10c和10d的前端向演奏者露出。音阶音符分别指定给黑和白键10c和10d。
演奏者未在琴键10c和10d上加力时,黑和白键10c和10d停留在各自的休止位置。当演奏者按下黑和白键10c和10d时,黑和白键10c和10d的前部向下运动。当其前端不再运动时,黑和白键10c和10d到达各自的终止位置。
声学钢琴10还包括多根弦10f,弦10f设置在垂直延伸框架(未示出)的前面,并在调谐销(未示出)和栓销(未示出)之间拉紧。每根弦由三根琴用钢丝组成,并振动产生声学声。声学声具有与指定给有关键10c/10d的音阶音符相同的音符。
中央梁10g位于弦10f的前面,并在黑和白琴10c和10d的后端横向延伸。中央梁10g的两端和其中点紧固到弦机支架(未示出),击弦机支架安装在键盘底板10b上。
声学钢琴10还包括多个琴键击弦机构10h,该琴键击弦机构功能上分别与黑和白琴键10c和10d连接,多个由琴键击弦机构10h驱动瞬时离开相关琴弦10f的制音机构10i,和多个分别由琴键击弦机构10h驱动旋转的琴锤组件10j。
演奏者按下黑和白键10c和10d之一时,所按琴键10c/10d驱动琴键击弦机构10h以转动琴锤组件10j,并使制音机构10i离开相关弦10f。驱动琴锤组件10j转动,并击有关的琴弦10f。琴弦10f振动以产生声学声。
演奏者释放琴键10c/10d时,琴键击弦机构10h和琴锤组件10i返回初始位置或静止位置,制音机构10i与琴弦10f接触,从而吸收振动。
琴键击弦机构10h彼此结构相同,每个琴键击弦机构10h包括一个紧固在中央梁10g下端的联动弦轴架10ha,和一个可转动地与联动弦轴架10ha连接的联动轴组件10hb,联动轴组件10hb具有与绞盘螺钉10k保持接触的踵部10hc,该绞盘螺钉10插入有关的黑或白琴键10c/10d的后端部。
琴键击弦机构10h还包括一个从联动轴组件10hb中部向上直立的顶杆轴架10hd,顶杆10he由顶杆轴架可转动地支撑,顶杆弹簧10hf插在联动轴组件10hb和顶杆10he的趾部10hg之间,调节钮子机构10hh与趾部10hg相对。顶杆10he成L型,并且顶杆弹簧10hf总是按顺时针方向推动顶杆10he。
黑或白键10c/10d停在休止位置时,绞盘钮10k水平地保持联动轴组件10hb,并且趾部10hg与调节钮子机构10hh隔开一定距离。调节钮子机构具有一个通过转动调节螺钉10hk可伸向和可从趾部收回的调节钮10hj。
如果趾部10hg和调节钮10hj之间的间隙增加,琴锤组件10j则较迟地脱离顶杆10he。另一方面,如果该间隙减小,琴锤组件10j则较早地脱离。一个顶杆制动梁毛毡(未示出)从中央梁10g伸出,并限制顶杆10he的运动。可将顶杆制动梁毛毡调节到适当位置。
趾部10hg与调节钮10hj接触时,该阻力阻止联动轴组件10hd的运动,并因此按下琴键10c/10d,演奏者感觉到琴键10c/10d比以前重。因此,顶杆10he和调节钮子系统10hh很强地涉及专门的琴键触模,调节钮10hj的位置限定了琴锤组件10j脱离的始点。
制音机构10i的结构彼此相同,并包括一个固定到中央梁10g上表面的制音杠杆轴架10ia,一个由该制杠杆轴架10ia可转动地支撑的制音杠杆10ib,一个插入到联动轴组件10hb后端部的制音勺10ic,一根从制音杠杆10ib伸出的制音钢丝10id,一个固定到制音钢丝10id的制音头10ie,和一个顺时针方向推动制音杠杆10ib的制音弹簧10if。
当黑和白键10c/10d停留在休止位置时,制音勺10ic不向后推动制音杠杆10ib,制音头10ic与弦10f保持接触。
当演奏者以休止位置向终止位置按下黑或白键10c/10d时,绞盘螺钉10k向上推动联动轴组件10hb,联动轴组件10hb顺时针方向转动。联动轴组件10hb使制音勺10ic向后推动制音杠杆10jb。结果是制音杠杆10ib沿逆时针方向转动,并且制音头10ie离开相关的弦10f。
另一方面,释放黑或白键10c/10d时,联动轴组件10hb逆时针方向转动,制音勺消除对制音杠杆10ib的压力。结果是,制音弹簧10if顺时针方向推动制音杠杆10ib,制音头10ie再次与弦10f接触。
虽然图2中未示出,制音组件10i与制音杆关联,并链接到制音踏板。当演奏者踏上制音踏板时,制音杆使所有制音头10ie同时离开琴弦。
琴锤组件10j的结构也是彼此相同。每个琴锤组件10j包括一个由固定到中央梁10g的弦锤座轴架10jb可转动地支撑的弦锤座10ja一个从弦锤座10ja向上伸出的锤柄10jc,一个固定到锤柄10jc的引导端的锤头10jd,一个从弦锤座10ja伸出的制动装制10je,一个插入到联动轴组件10hb前端部的挡托木10jf,一根从制动装置10je伸长的攀带10jg,和一根逆时针方向推动弦锤座10ja的弦锤座弹簧10je。
当黑或白琴键10c/10d停留在休止位置时,顶杆10he的上表面与附连到弦锤座10ja下表面的弦锤座外壳10ji接触,锤柄10jc支撑在附连到琴锤背档10m的琴锤背挡垫布10jj上。琴键背挡10m由击弦机支架(未出示)通过琴锤背挡枢钮支撑。
攀带10jg通过联动轴组件10hb的运动连动琴锤组件10j的运动,使琴锤组件10j不能击弦10f两次。
虽然图2中未示出,一个柔音踏板连到琴锤背挡枢纽,通过操纵柔音踏板可改变琴锤背挡10m的角度位置。
静音系统11包括一个由侧板(未示出)和击弦机击架可转动地支撑的转轴部件11a,以一定间隔附连到转轴部件11a的软垫单元11b,和连到转轴部件11a一端的驱动器11aa(见图6),驱动器11aa在自由位置FP和阻挡位置BP之间改变软垫单元11b。
处在阻挡位置BP的软垫单元11b与制动装置10je相对,在琴锤头10jd到达相关琴弦10f前该制动装置弹回到软垫单元10b上。另一方面,当软垫单元11b改变到自由位置FP时,琴锤组件10j向相关琴弦10f转动,并弹在弦10f上。
每个软垫单元10b包括一个固定到转轴部件11a的刚性支架11d,一个诸如固定到刚性支架11d的毛毡片之类的弹性部件11e,和一个附连到该弹性部件11e的保护垫11f。一对限位开关11g(见图6)设定对转轴部件11a可运动范围的限制,并使软垫单元11b在自由位置FP和阻挡位置BP之间准确地改换。制动装置10je弹在保护垫11f上,弹性部件11e吸收制动装置10je的冲击。因此,软垫单元11b消除冲击的噪声。
电声系统12包括多个分别与黑与白键10c/10d相关的琴键传感器,用于监视琴键运动,多个设置在黑和白键10c/10d下方由电磁操作的驱动单元12b,一个与琴键传感器12a和电磁操作驱动单元12b连接的控制器12c,和一个耳机12d和/或一个扬声器系统12e。
如图3所示,琴键传感器12a设置在平衡挡10n前,一个快门板12f和1个光电耦合器12g与每个琴键传感器12a组合构成。快门板12f附连到相关键10c/10d的下表面,光电耦合器12g容纳在安装在琴键底板10b上面的传感器盒12h中。快门板12f进入到相关光电耦合器12g中形成的间隙中,光电耦合器12g产生一个表示相关琴键10c/10d的当前状态或运动的模拟琴键位置信号AKP。
图4详细说明了光电耦合器12g,光电耦合器12g具有一个经光纤12j光学地连到光源12k的第一传感器头12i,和一个经光纤12n光学地连到光电检测器12o的第二传感器头12m。第一传感器头12i与第二传感器头12m有一定间隔,并且第一传感器头12i与第二传感器头12m相互对准。
光源12k将电流转换成光,光经光纤12j传播到第一传感器头12i。第一传感器头12i向第二传感器头12m辐射光束12P。该光束从第二传感器头12m经光纤12n传输到光电检测器12o。光电检测器12o将光转换成模拟琴键位置信号AKP,该模拟琴键位置信号AKP与传输到光电检测器12o的光强度相对应。
琴键10d向下运动时,快门板12f进入到第一和第二传感器头12i和12m之间的间隙,并逐步遮住光束12p。模拟琴键位置信号AKP与第二传感器头12m接收的光的强度一起逐渐降低电位电平,并且该模拟琴键位置信号AKP表示当前的琴键位置。在该实例中,光束12p直径为5毫米,琴键传感器12a在5毫米的琴键行程以上改变模拟琴键位置信号AKP。例如,如果琴键10d从休止位置经由琴键位置K0、K1、K2、K2A、K3和K4运动到终止位置,模拟琴键位置信号AKP如图5所示改变电位电平。
转回到图3,电磁操作的驱动器12b设置在平衡挡10n后面,每个电磁操作的驱动器单元12b具有一个容纳在盒12h中的电磁线圈和一个可从该盒12h伸出和缩回的圆柱12i。控制器12c与琴键传感器12a和电磁操作的驱动器12b配合如下。
当演奏者想要记录演奏时,演奏者指示控制器12c以便记录演奏。演奏者有选择地按下黑和白键10d和10c时,琴键传感器12a将相关键的当前状态或运动传送给控制器12c。控制器产生一组表示该演奏的音乐数据码,并将其存储在诸如软盘之类的数据记录介质上。如果软垫单元11b转换到自由位置FP,演奏者则通过声学声确定该原始演奏。另一方面,如果软垫单元11b阻止琴锤头10jd击弦10f,演奏者则通过耳机12d和/或扬声器系统12e听到电声。
当演奏者命令控制器12c重放原始演奏时,控制器12c读取音乐数据码,并有选择地将驱动电流信号DR提供给电磁操作的驱动器12b。驱动电流信号DR向电磁线圈供电时,圆柱12i从盒12h向上伸出,并使相关键10c/10d好象是演奏者将其按下一样转动。琴键10c/10d驱动相关的琴键击弦机构10h,并且由该琴键击弦机构10h驱动琴锤组件10j转动。琴锤头10ja撞击相关的弦10f,并由振动弦10f产生声学声。
转到附图6,控制器12a包括一个缩写为″MPU″的微处理器12aa,微处理器12aa可通过总线系统12ab与其它元件联系。
缩写为″ROM″的只读存储器连到总线系统12ab,被编程的指令码和各种表存储在只读存储器12ac中。某种表可用于产生音乐数据码,其它表用于驱动电流信号AKP的产生。
随机存取存储器12ad也连到总线系统12ab,并缩写为″RAM″。该随机存取存储器作为工作存储器,微处理器12aa分配给表数个存储区域,另一个存储区域分配给标记。
开关接口12ae连接在总线系统12ab和开关面板12af之间,演奏者通过面板12af上的开关之一12ag命令静音系统11在自由位置FP和阻挡位置BP之间改变软垫单元11b。其它开关可以分配给音量、操作方式选择,和电声音质选择。
微处理器12aa定期地扫描开关接口12ae,以便查看演奏者是否操纵任何一个开关。如果微处理器12aa确认开关12ag操纵,该微处理器12aa检查表示静音系统11当前状态的标记,并指令驱动电路12ah以通过驱动电流控制驱动器11aa。如果标记表示的是自由位置,驱动电路12ah控制驱动器11aa,以便将软垫单元11b改变到阻挡位置BP。另一方面,当软垫单元11b在阻挡位置时,驱动电路12ah控制驱动器11aa,以便将软垫单元11b改变到自由位置FP。
音调发生器12ai也连接到总线系统12ab,微处理器12aa连续地将音乐数据码通过总线系统12ab提供给音调发生器12ai。音乐数据码表示指定给一个按下/释放键10c/10d的键码,与琴锤头11jd撞击琴弦10f的强度相对应的琴键速度,琴键启动表示按下琴键,琴键释放表示释放琴键。当音乐数据码表示琴键码和琴键启动时,音调发生器12ai形成音频信号包络线,即增强、衰减和持续,并依据释放速度控制释放。根据通过操纵面板12af上的开关所确定的音量控制音频信号幅度。音调发生器12ai有十六个声道,通过耳机12d和/或扬声器系统12e最大同时产生十六种电声。
模数转换器12aj也连到总线系统12ab,图6中的缩写″A/O″代表术语″模拟到数字″。模数转换器12aj将模拟琴键位置信号AKP转换成对应的数字琴键位置信号DKP,微处理器12aa定期地读取数字琴键位置信号DKP,以查看任何一个黑和白键10c/10d是否如下所述改变当前的琴键位置。
LED驱动器12ak也连到总线系统12ab,微处理器12aa定期地指示LED驱动器12ak依次向十二个发光二极管供电。十二个发光二极管组合形成光源12k,并将光分配给分别为八十八个琴键10c/10d设置的第一传感器头12i。八十八个琴键传感器分成十二个琴键传感器组,十二个发光二极管分别经十二束光纤12j连到十二个琴键传感器组。要求发光二极管最多同时向八个第一传感器头12i提供光,并由LED驱动器12k依次向十二个发光二极管供电。因此,驱动电流使一个发光二极管产生一次光束,并由八个第一传感器头12i向第二传感器头12m辐射一次光束12p。
由共用于十二个琴键传感器组的八个光电检测二极管构成光电检测器12o,八束光12P经由光纤12n传送到八千光电检测二极管。模数转换器12aj包括四个模数转换器单元。因此,八个模拟琴键位置信号AKP分成两组,并由四个模数转换器对八个模拟琴键位置信号重复两次模数转换。
微处理器12aa定期读取表示八十八个键10c/10d当前琴键位置的数字琴键位置信号DKP,并将该数字琴键位置信号DKP与前一个数字琴键位置信号DKP′比较,以查看演奏者是否按下或释放八十八琴键10c/10d中的任何一个。如果一个琴键10c/10d改变琴键位置,微处理器以数字琴键位置信号DKP识别琴键10c/10d,并辨别琴键运动方向。微处理器12aa计算琴键速度或释放速率,并产生表示琴键码,琴键接通/琴键断开以及琴键速度/释放速率的音乐数据码。微处理器12aa可以对音乐数据码采用MIDI(乐器数字接口)标准格式。
软盘驱动器12am也连到总线系统12ab、软盘驱动器12am将存储在随机存取存储器12ad中的音乐数据码以记录模式写入软盘12an,并在重放模式中将音乐数据码以软盘12an读出到随机存取存储器12ad。
驱动电路12ao也连到总线系统,并在微处理器12aa的控制下有选择地将驱动电流信号DR提供给电磁操作的驱动器单元12b。在重放模式中,微处理器12aa有选择地读取存储在随机存取存储器12ad中的音乐数据码,并指示驱动电路12ao向由琴键码识别的琴键10c/10d相关的电磁操作的驱动器单元12b提供驱动电流信号或停止提供驱动电流信号。驱动电路12ao依据琴键速度改变驱动电流信号DR的数值。
接口12ap连接在总线系统12ab和限位开关11g之间,并向微处理器12aa报告进入自由位置/阻挡位置。
根据本发明的键盘乐器工作如下阈值的确定如上所述,琴键传感器12a伴随着来自休止位置的相关琴键10c/10d的行程降低模拟琴键位置信号AKP的电位电平,并在从终止位置向休止位置的行程上增加模拟琴键位置信号AKP的电位电平、数字琴键位置信号DKP同样地改变该二进制值。
参考点设置在每个琴键10c/10d的路径上,并由微处理器12a逐一地确定参考点的阈值。如果数字琴键位置信号DKP等于该参考点的阈值,微处理器12aa则确认该琴键到达该参考点。
当数字琴键位置信号DKP达到该阈值时,微处理器12aa确认特定琴键状态的表值。微处理器12aa还根据数字琴键位置信号DKP超过所选参考点阈值时的时间计算琴键速度。
图7说明按下琴键的轨迹,正常地按下琴键总是跟踪该轨迹。按下的琴键沿表示设置在所按琴键路径上的参考点的曲线C1和K1、K2、K2A、K3和K4改变琴键位置。微处理器12aa用参考点K1、K2、K2A、K3和K4确定琴键状态,并且参考点K2A在释放琴键后对控制包络线是重要的。
控制器12c通电时,微处理器12aa初始化随机存取存储器12ad和其它寄存器,并启动阈值的赋值。初始化和阈值赋值对应于下文详细描述的主程序中的步骤ST1和ST2。
微处理器12aa在模数转换器12aj的输出端口依次读取每四个数字琴键位置信号DKP。通过检测信道″0″至检测信道″23″之一进行读取每四个数字琴键位置信号DKP。八十八个键10c/10d组合构成键盘10a,并且由于22×4=88,检测信道″0″至检测信道″21″在理论上允许微处理器12aa为八十八个键10c/10d读取数字琴键位置信号DKP。然而,指定控制器12c 0至95个扫描点构成一个信号扫描循环,因此,在控制器12c中配备24个检测信道。
当控制器12c接通时,所有黑和白键10c/10d分别保持在休止位置,微处理器12aa向每个键的参考点K1、K2、K2A、K3和K4分别阈值。在该实例中,微处理器12aa首先读取数字琴键位置信号DKP的二进制值Xr,并将该二进制值Xr与预定参数r1、r2、r2A、r3和r4相乘。因此,由等式1至5给出阈值K1、K2、K2A、K3和K4。
K1=Xr×r1 ……等式1K2=Xr×r2 ……等式2K2A=Xr×r2A……等式3K3=Xr×r3 ……等式4K4=Xr×r4 ……等式5以从另一个识别琴键运动的方式选择参考点K1、K2、K2A、K3和K4,并分别通过试验确定每个白和黑键10c/10d的系数r1、r2、r2A、r3和r4。微处理器12aa将八十八组阈值K1至K4传送到随机存取存储器12ad,八十八组阈值K1至K4存储在预先分配给的随机存取存储器12ad的存储区域之一。
阈值K1至K4分别表示参考点K1至K4的实际位置,微处理器12aa根据初始化完成时实际休止位置自动确定该阈值。即使琴键的休止位置偏离设计位置,微处理器12aa考虑到该误差,并将阈值K1至K4初始化到实际的黑和白键10c/10d存储在RAM中的数据信息。
图8说明分配给琴键状态表的存储区,该琴键具有分别分配给八十八个琴键10c/10d的数据区。虽然第一行KEY-POS的数据存储区的编号是从″0″到″95″键盘10a包含八十八个琴键10c/10d琴键编号″0″至琴键编号″87″分别分配给黑和白琴键。
第二行″KEY-RST″分配给表示黑和白键10c/10d休止位置的位置信息部分,微处理器12aa将数字琴键位置信号DKP的二进制值写入第二行″KEY-RST″。
第三行至第七行TKR-K1至THR-KA分别分配给表示按上述计算的阈值K1、K2、K3、K4和K2A的位置信息部分。当微处理器12aa为每个琴键计算阈值K1、K2、K3、K4和K2A时,微处理器12aa将阈值K1至K2A传送给随机存取存储器12ad,并将阈值K1至K2A写入与第三至第七行对应的存储区域。
第八行″KEY-STATE″分配给八十八个琴键10c/10d的状态信息部分,第九行″TBL-NUM″分配给表示音调产生控制表的表号码的控制数据信息部分。如前所述,音调发生器12ai有十六个声道,十六个声道分别与音调发生控制表″0″至″15″组合。根据由第九行″TBL-NUM″中的表号码规定的音调发生控制表中存储的控制信息部分处理音频信号。
音调发生控制表存储在随机存取存储器12ad的另一个存储区域中,图9说明音调发生控制表的数据存储区。通过下文描述的数据处理将数据写入音调发生控制表的数据存储区域中。十六个音调发生控制表分别分配给从″0″至″15″的表号码,并且第一行″KEY-NUM″分配给表示分别分配给信道的琴键号码的控制数据信息部分。
第二至第四行分配给当微处理器12a确认每个通过阈值K1、K2和K3的键时表示所按下的键的实际位置的位置数据信息部分。第五至第七行分配给表示微处理器12aa确认每个所按键通过阈值K1、K2和K3时的时间的时间数据信息。微处理器12aa定期地扫描模数转换器12aj的输出端口,并依次为八十八个键读取数字琴键位置信号DKP。因此,琴键实际通过阈值时的时间并不总是与微处理器12aa读取表示超过该阈值的数字琴键位置信号时的时间匹配,位置的数据信息部分与时间数据信息部分成对,两者都写入音调发生控制表。时间数据信息的每个部分为两字节长或一个字。
第八行″VELOCITY″分配给表示为每个所按键计算的琴锤速度的速度数据信息部分,第九行″DWN-CNTR″分配给表示直到音调产生时间间隔的时间数据信息部分。琴锤速度和时间间隔的确定微处理器12aa首先按下式计算标准化的位移ND如下,ND=(d1-d2)×28/(休止位置)×28……等式6其中d1通过阈值Ki(i=1、2或3)的琴键位置。d2是通过阈值kj(j=2、3或4并且j>i)的琴键位置。从d1减去d2的原因是标准化的位移ND从休止位置向终止位置减小。除数″休止位置″标准化该位移,28将表示标准化位移的比特串与表示存储在音调发生控制表中的时间数据信息部分的比特串匹配。
接下来,微处理器12aa计算琴键速度KV,并由等式7给出琴键速度KV。
KV=(标准化位移)/{(t2-t1)×28}……等式7其中t1是通过阈值Ki的时间,t2是通过阈值kj的时间。除数28将速度数据信息部分从两字节数据改变成单字节数据。
微处理器12aa存取存储在只读存储器12ac中的转换表TB2。转换表TB2定义琴键速度和琴锤速度之间的关系,并校正由光电耦合器的非线性特性引起的误差,转换表TB2输出与按MIDI标准化和琴键速度对应的琴锤速度。将该琴锤速度提供给音调发生控制表,并写入第八行″VELOCITY″的数据存储区。
表TB3-2、TB3-3和TB3-4存储琴锤速度和直到假定琴锤组件10j连续以琴锤速度转动的情况下计算的击弦10f的时间间隔之间的关系。三个表TB3-2至TB3-4对应于参考点K2、K3和K4,依据阈值Kj有选择地将琴锤速度提供给表TB3-2、TB3-3和TB3-4。该时间间隔写入音调发生调制表第九行″DWN-CNTR″的数据存储区。
当所按琴键依次通过参考点K2、K3和K4时,重复计算琴锤速度,并与前一琴锤速度比较。如果该琴锤速度大于前一音锤速度,速度数据信息部分和表示时间间隔的时间数据信息部分分别写入第八行和第九行。该时间间隔定期地降低。当该时间间隔达到零时,将表示琴键号码和琴键速度的琴键码从音调发生控制表提供给音调发生器12ai,音调发生器12ai经由与该音调发生控制表相关的声道提供音频信号。控制顺序微处理器12aa有选择地执行主程序、从主程序分支的子程序、A/D中断程序和定时器中断程序。图11说明微处理器12aa的控制顺序。微处理器12aa在粗线表示的周期期间有选择地执行该程序。然而,粗线并不准确地表示由微处理器耗用的时间周期。
微处理器12aa每隔100毫秒启动定时器中断。微处理器12aa增加分配给装配在微处理器12aa(见图12)中的内置寄存器E6之一的定时器中存储的时间段,如果有的话,并降低音调发生控制表中存储的时间间隔。该微处理器可在初始化时启动并假设时间段为绝对时间或当前时间。该微处理器12aa每隔1毫秒启动该A/D中断,并读取数字琴键位置信号DKP。如前所述,微处理器12aa每次读取四个数字琴键位置信号。如果定时器中断和A/D中断同时被请求,由于希望该定时器正确地表示该时间段,微处理器12aa给予该定时器中断优先权。微处理器12aa通过主程序和相关的子程序处理音调发生的数据。寄存器阵列如前所述,内置寄存器E6分配给该定时器。二十一个寄存器E0-E6、ROH-R6H和ROL-R6L组合构成内置寄存器阵列,其它六个内置寄存器被分配如下的工作。
寄存器E5分配给A/D转换时间,琴键状态存储在寄存器R3H中。寄存器R3L至R6L分别存储当前琴键位置,分配给作为目标的琴键的表号码、由微处理器12aa作为目标的琴键号码和A/D转换声道。其它寄存器E0-E4、ROH-R2H、R4H-R6H和ROL-R2L是一般用途的寄存器。定时器中断过程图13说明定时器中断过程的程序顺序。定时器中断每隔100毫秒发生,然后,微处理器12aa从主程序分路,并进入定时器中断程序。到步骤ST100,微处理器12aa首先将定时器中存储时间段加1,并在步骤ST101检查该时间段,以便查看该时间段是否等于8的倍数。如果步骤ST101的回答为否定,微处理器12aa返回到主程序。因此,微处理器12aa在每个定时器中断增加时段,并在每个定时器中断将该时间段增加100毫秒。
当在步骤ST101每隔800毫秒给出的回答是肯定的时。微处理器12aa降低音调发生控制表中存储的时间间隔,并检查时间间隔,以便查看是否任何一个时间间隔达到零。如果有一个时间间隔降低到零,微处理器12aa将表示琴键码、琴键启动和琴锤速度的音乐数据码传送到音调发生器12ai,并对该琴键将琴键状态″SOUND″写入第八行″KEY-STATE″。琴键状态″SOUND″表示音调发生器目前正对该琴键产生电声。微处理器12aa对该琴键消除第九行″TBL-NUM″,并使存储减小到零的时间间隔的音调发生控制表对新按下的键打开,允许音调发生器12ai根据音乐数据码处理音频信号。
微处理器12aa进到步骤ST103,并检查定时器,以便查看该时间段是否等于8192的倍数。如果回答为否定,微处理器12aa返回到主程序。
在步骤ST103每隔819.2秒给出的回答为肯定,微处理器12aa在步骤ST104将一个超时计数器加1。超时计数器分别提供给十六个声道,并分配给随机存取存储器12ad的一个存储区。当一个超时计数器达到预定值时,微处理器12aa确认当前的琴键状态持续太长。超时计数器加1时,微处理器12aa返回主程序。A/D中断过程图14说明A/D中断程序。模数转换器12aj独立于微处理器12aa转换模拟琴键位置信号AKP。当该模数转换器12aj将四个模拟琴键位置信号AKP转换成对应的数字琴键位置信号DKP时,模数转换器12aj向微处理器12aa请求中断,微处理器12aa进入A/D中断程序。
微处理器12aa首先中断A/D转换,并在步骤ST201指示LED驱动器12ak每隔一个中断向下一个发光二极管提供驱动电流。接下来,微处理器12aa读取四个数字琴键位置信号DKP,并将这四个数字琴键位置信号DKP对四个琴键10c/10d写第一行″KEY-POS″(见图8)。微处理器12aa还读取定时器E6中存储的当前时间,并将该当前时间写入分配给用于数字琴键位置信号DKP的检测声道″0″至″23″之一的表(见图15中)。图15所示的表形成在随机存取存储器12ad中。
微处理器12a进到步骤ST203,并改变检测声道。如果该检测声道是最后的检测声道″23″,微处理器12aa将当前的检测声道改变到第一检测声道″0″。微处理器12aa命令模数转换器12aj重新开始模数转换。图11中,定时TM1、TM2和TM3表示A/D中断请求、模数转换中断和模数转换恢复。主程序首先,参考图16描述琴键状态。假设在时刻t1按下琴键。该琴键在时刻t2、t3、t4和t5分别依次通过参考点K1、K2、K3和K4,并在时刻t6到达终止位置。曲线PL1表示所按琴键的轨迹,该轨迹是典型的轨迹。所按琴键在休止位置和参考点K1之间具有琴键状态″UPPER″,并将琴键状态″UPPER″改变到参考点K1和K2之间的″TOUCH-A″。此后,琴键状态依次从TOUCH-A改变到参考点K2和K3之间的COUNT-DOWN″0″,从COUNT-DOWN″0″改变到参考点K3和K4之间的COUNT-DOWN″1″,和从COUNT-DOWN″1″改变到参考点K4后的COUNT-DOWN″2″。当音乐数据码传送到音调发生器12ai用于产生电声时,琴键状态改变到″SOUND″。
键在时间t6和时间t7之间停在终端位置,并在时间t7释放。在释放之后,假定键在时间t8,t9和t10通过参考点K4、K3和K2。键一直保持在键状态″SOUND″直到时间t10为止。当键经过参考点K2时,微处理器12aa确认键断开,并将键状态变为″HOLD″。
在参考点K2和K1之间按压键并将其再次向下移动。键在时间t11经过参考点K2,而键状态由HOLD变为TOUCH-B。键状态经COUNT-DOWN″1″和COUNT-DOWN″2″由TOUCH-B变为SOUND。
键被释放,并在时间t15,t16和t17经过参考点K4,K3和K2。微处理器12aa在时间t17再次确认键一断开,而键进入HOLD的键状态。
当到达休止位置之前,再次按下键,而微处理器12aa将键状态TOUCH-B赋给键。然而,向下键运动是如此慢以致键在一预定的时间期间保持在″TOUCH-B″。微处理器12aa将键状态TIME-OVER赋给键。不进入键状态SOUND,而返回休止位置。
如琴键被用力按下,琴键可以从预定的键位置经过不止一个参考点,而图17表示这种快速的琴键运动。微处理器在时间tp1检查琴键位置,并且在时间tp2再次检查琴键位置。演奏者快速移动琴键以致琴键在时间tp1和tp2之间经过参考点K1和K2。微处理器12aa将键状态COUNT-DOWN″3″赋给琴键。类似地,如果琴键在时间tp3放tp4之间的检测期间经过两个参考点K2和K3,微处理器12aa将琴键状态COUNT-DOWN″3″赋给琴键。
图18表示主程序。当控制器12c接通时,微处理器12aa启动主程序,在步骤ST301初始化内置寄存器E0-E6,ROH-R6H和ROL-R6L及随机存取存储器12ad,并启动定时器E6。之后,在步骤ST302微处理器12aa计算将在后面描述的阈值K1、K2、K3、K4和K2A,并将阈值K1,K2,K3,K4和K2A写入图8所示的琴键状态表。
微处理器12aa进生到步骤ST303。微处理器12aa将要处理的初始琴键号码加载到寄存器R5L或将寄存器R5L中的琴键号码增加一个。如果在先琴键号码是″87″,微处理器12aa将琴键号码″0″再次加载到寄存器R5L。这样,被微处理器12aa当作目标的琴键10c/10d在″0″和″87″之间循环。
随后,微处理器12aa读出来自″KEY-POS″和″KEY-TIME″行的被当作目标的琴键的当前键位置和A/D转换时间。当前琴键位置和A/D转换时间在步骤ST304分别写入寄存器R3L和E5。微处理器12aa将当前琴键位置和A/D转换时间写入琴键状态表而图15所示的表描述为与A/D中断程序有关。微处理器12aa在步骤ST305还读出被当作目标的琴键的键状态,并将键状态写入寄存器R3H。这样,在步骤ST306至ST311微处理器12aa获得被当作目标的琴键的当前键状态,并随后作出决定。
微处理器12aa首先检查寄存器R3L来看琴键是否通过参考点K1。如果步骤ST306中间的回答为肯定,主程序转移到琴键状态″UPPER″的子程序ST400。
反之,当步骤ST306的回答给出否定时,微处理器12a进到步骤ST307,并检查寄存器R3H来看琴键是否进入键状态COUNT-DOWN″1″,COUNT-DOWN″2″或COUNT-DOWN″3″。如果步骤ST307中的回答为肯定,主程序转移到琴键状态″COUNT-DOWN″的子程序ST450。
反之,当步骤ST307中的回答为否定时,微处理器12aa进到步骤ST308,并检查寄存器R3H来看琴键是否已进入键状态TOUCH-A。如果步骤ST308的回答是肯定的,主程序转移到键状态″TOUCH-A″的子程序ST500。
反之,当步骤ST308的回答是否定时,微处理器12aa进到步骤ST309,并检查寄存器R3H来看琴键是否已进入键状态SOUND。如果步骤ST309的回答为肯定的,主程序转移到键状态″SOUND″的子程序ST450。
反之,当步骤ST309的回答为否定的时,微处理器12aa进到步骤ST310,并检查寄存器R3H来看琴键是否已进入键状态HOLD。如果步骤ST310的回答是肯定的,主程序转移到琴键状态″HOLD″的子程序ST600。
反之,当步骤ST310中的回答是否定时,微处理器12aa进到步骤ST311,并检查寄存器R3H来看琴键是否已进入键状态OVER-TIME。如果步骤ST311的回答是肯定的,主程序转移到琴键状态″OVER-TIME″的子程序ST650。
反之,当步骤ST311的回答为否定时,微处理器12aa进到琴键状态″TOUCH-B″的子程序。
执行子程序400,450,500,550,600,650和700中的任何一个之后,微处理器12aa返回步骤ST303,并反复执行由步骤ST303-ST311和子程序ST400-ST700中的任意一个组成的循环。用于键状态″UPPER″的子程序当琴键已经进入键状态UPPER时,微处理器12aa进入用于UPPER的子程序。微处理器12aa在步骤ST401比较当前键位置与阈值K1,并检查存储在寄存器R3L中的当前键位置来看琴键是否已经通过参考点K1。如果步骤ST401中的回答是否定的,微处理器12aa允许琴键仍停留在休止位置附近,并返回到主程序。
反之,当琴键已经经过参考点K1时,步骤ST401的回答为肯定,并且微处理器12aa进到步骤ST402来检查图9所示的音调产生控制表并确定音调产生控制表中是否有一个适用于琴键。如下所述,音调产生器12ai具有十六个声道,并且,相应地,十六个音调产生表用于控制音调产生。如果音调产生控制表中的一个适用于琴键,微处理器12aa将该表分配给琴键,并将该表号码写入寄存器R4L。然而,如果全部十六个音调产生控制表已经分配给其他琴键,微处理器12aa立即返回主程序。
随后,微处理器12aa在步骤ST403比较当前琴键位置和阈值K2来看琴键是否已经经过参考点K2。如果步骤ST403中的回答是否定的,琴键的标准速度向下运动,而微处理器12aa进到步骤ST404。
在步骤ST404,微处理器12aa将存储在琴键状态表中的键状态从UPPER重新写入TOUCH-A,与音调产生控制表有关的超时计数器被清除,并且微处理器12aa将存储在寄存器R3L和E5中的当前琴键位置和A/D转换时间写入数据存储区域OVR-K1和音调产生控制表的OUK1-TIM。
反之,当步骤ST403的回答为肯定时,琴键以高速向下运动,并且微处理器进到步骤ST405。微处理器12aa将存储在琴键状态表中的键状态从UPPER重新写入COUNT-DOWN″3″,并且将指示预定的最大键速度的″h7F″写入音调产生控制表的数据存储区域″VELOCITY″。微处理器12aa参考表TB3-2根据最大键速度确定时间间隔,并将该时间间隔写入音调产生控制表的数据存储区域″DWN-CNTR″。
微处理器12aa在步骤ST404或ST405之后返回主程序。用于琴键状态″TOUCH-A″的子程序如果琴键状态已经变为TOUCH-A,微处理器12aa进入键状态″TOUCH-A″的子程序。图20表示键状态TOUCH-A的子程序。微处理器12aa在步骤ST501检查超时计数器来看预定的时间期间是否已经终止。超时计数器在每100毫秒增加一个(见图13),并且,由于这个原因,预定时间周期将由于计数器复位而终止。
如果步骤ST501的回答是肯定的,琴键跟踪虚线BL1(看图16)指示的路径,假定演奏者他的手指在琴键上不进一步按压。微处理器12aa在步骤ST502释放指定给该键的音调产生控制表,并将键状态从TOUCH-A变为HOLD。即使演奏者将琴键保持在键状态HOLD,演奏者可以再按压琴键(看从时间t11到时间t14之间的琴键运动),并且控制器12c能处理将在后面描述的琴键运动。然后,微处理器12aa返回主程序。
反之,当步骤ST501的回答为否定时,微处理器12aa在步骤ST503检查寄存器R3L来看琴键是否已经经过参考点K3。如果步骤ST503的回答是肯定的,假定演奏者加速琴键的运动,并且在先前类似于时间tp3和时间tp4之间的琴键运动的扫描(看图17),时间间隔内琴键连续地经过参考点K2和K3。微处理器12aa在步骤ST504将存储在琴键状态表的数据存储区域KEY-STATE中的琴键状态从TOUCH-A变为COUNT-DOWN″3″,并将最大琴锤速度″h7F″和对应于最大琴锤速度的时间间隔写入音调产生控制表的数据存储区域VELOCITY和DWN-CNTR。然后,微处理器12aa返回主程序。
当步骤ST503的回答为否定时,微处理器在步骤ST505重复该检查来看琴键是否已经经过参考点K2。如果步骤ST505中的回答为肯定。琴键在时间t2和时间t3之间跟随曲线PL1运动(看图16),而微处理器12aa进到步骤ST506。微处理器12aa将琴键状态表的数据存储区域中的琴键状态从TOUCH-A变为COUNT-DOWN″0″,并将存储在寄存器R3L中的当前键位置和存储在寄存器E5中的A/D转换时间传送到音调产生控制表。当前琴键位置和A/D转换时间写入数据存储区域OVR-K2和OVK2-TIM。琴键位置和A/D转换时间已经写入数据存储区域OVR-K1和OVK1-TIM(看琴键UPPER状态的子程序中的步骤ST-404)。微处理器12aa计算琴键速度,并将琴锤速度和对应于琴锤速度的时间间隔写入音调产生控制表的数据存储区域VELOCITY和DWN-CHTR。
当步骤ST505的回答是否定时,微处理器12aa在步骤ST507再次检查寄存器R3L来看琴键是否仍处在参考点K1之下。如果步骤ST507的回答是肯定的。琴键仍在穿过参考点K2和K3之间的空间,并且微处理器12aa返回主程序。
反之,当步骤ST507的回答是否定时,假定演奏者从琴键移开他的手指,并且琴键沿虚线BL2(看图16)指示的方向向上移动。微处理器12aa在步骤ST508从指定的琴键释放音调产生控制表,并将琴键位置从TOUCH-A变为UPPER。然后,微处理器12aa返回主程序。用于琴键状态″COUNT-DOWN″的子程序如果琴键状态已经进入COUNT-DOWN″1″,COUNT-DOWN″2″或COUNT-DOWN″3″,微处理器12aa从主程序转向图21所示的用于琴键状态COUNT-DOWN的子程序。微处理器12aa在步骤ST451首先检查寄存器R3L确定琴键是否已经经过参考点K2,如果步骤ST451的回答是否定的,琴键返回休止位置,并且微处理器12aa在步骤ST452将步骤ST402分配给琴键的音调产生控制表对于按压下的键开放。
随后,微处理器在步骤ST453比较当前琴键位置与阈值K1来看琴键是否处在参考点K1之下。如果步骤ST453的回答为否定的,琴键已经返回接近休止位置的位置,并且微处理器12aa在步骤ST454将琴键状态从COUNT-DOWN″1″,″2″,″3″重新写到UPPER。然后,微处理器12aa返回主程序。反之,如果步骤ST453的回答为肯定的,微处理器12aa在步骤ST455将琴键状态从COUNT-DOWN″1″,″2″,或″3″重新写入HOLD。然后,微处理器12aa返回主程序。
反之,当步骤ST451的回答为肯定的时,微处理器12aa在步骤ST456检查寄存器R3H来看琴键状态是否为COUNT-DOWN″2″或COUNT-DOWN″3″。如果回答为肯定的,微处理器12aa返回主程序。反之,当步骤ST456的回答为否定时,微处理器12aa在步骤ST457检查寄存器R3L来看是否琴键已经通过参考点K3。如果步骤ST457的回答为否定的,琴键仍在参考点K2和K3之间,并且微处理器12aa返回主程序。
反之,当步骤ST457的回答为肯定的时,微处理器12aa比较当前琴键位置与阈值K4来看琴键是否已经向下经过参考点K4。如果步骤ST458的回答为否定的,微处理器在步骤ST459检查寄存器R3H来看琴键状态是否为COUNT-DOWN″0″。如果步骤ST459的回答为肯定的,琴键经过下一参考点,并进入琴键状态COUNT-DOWN″1″。因此,微处理器12aa在步骤ST460将琴键状态从COUNT-DOWN″0″重新写为COUNT-DOWN″1″,并确定参考点K1和K3之间的琴锤速度及对应于此的时间间隔。如果新的琴锤速度大于存储在音凋产生控制表中琴锤速度,琴键被加速,并且微处理器12aa将新的琴锤速度和对应的时间间隔写入音调产生表的数据存储区域VELOCITY和DWN-CNTR。此后,微处理器12aa返回主程序。音调产生控制表存储琴键位置和参考点K1的时间,而寄存器R3L和E5存储当前琴键位置和参考点K3的当前时间。反之,当步骤ST459的回答为否定时,琴键仍处在键状态COUNT-DOWN″1″而微处理器12aa返回主程序。
当步骤ST458的回答为肯定时,微处理器12aa在步骤ST461也检查寄存器R3H来看琴键状态是否为COUNT-DOWN″0″。如果步骤ST461的回答为肯定的,琴键已经经过参考点K3和K4,而微处理器12aa进到步骤ST462。微处理器12aa在琴键状态表的数据存储区域将琴键状态重写为COUNT-DOWN″3″,并将音调产生控制表中的琴锤速度和时间间隔变为最大值。此后,微处理器12aa返回主程序。
当步骤ST46步骤的回答为否定时,微处理器进到步骤463。微处理器12aa将琴键状态变为COUNT-DOWN″2″,并根据琴键位置和参考点K2和K4的时间确定对应于此的琴锤速度和时间间隔。如果新的琴锤速度和新的时间间隔大于存储在音调产生控制表中的琴锤速度和间隔,琴键被加速,并且微处理器12aa将新的琴锤速度和新的时间间隔重新写入数据存储区域VELOCITY和DWN-CNTR。从音调产生控制表读出琴键位置和参考点K2的时间,而寄存器R3L和E5存储参考点K4的琴键位置和时间。在步骤ST463之后,微处理器12aa返回主程序。
此外,如果演奏者按压琴键用来产生断续音有可能从步骤ST451进到ST452。如上所述,微处理器在步骤ST452释放音调产生控制表而不产生声音。然而,多数断续音不使微处理器12aa从步骤ST451进到步骤ST452,而断续音准确地被重放。然而,如果微处理器12aa在时间间隔已写入数据存储区域DWN-CNTR时仍未释放音调产生控制表,控制序列将完全重放键盘10a上的任意种类的指法。用于琴键状态″SOUND″的子程序如上所述,在定时器中断期间微处理器12aa周期性地减少数据存储区域的值。当时间间隔减少为零时,琴键状态变为SOUND(看步骤ST102),并且微处理器12aa从主程序转向琴键状态SOUND的子程序。
当进入子程序SOUND时,微处理器在步骤ST551检查寄存器R3L来看琴键是否已经向上经过参考点K2。如果步骤ST551的回答为肯定的,微处理器12aa在步骤ST552进入释放琴键的子程序,并且下面将描述释放琴键的子程序。
当步骤ST551的回答为否定时,微处理器12aa将对应于MIDI标准的″MIDI-OFF″,表示″琴键-关闭″的音乐数据码输入音调产生器12ai,并且音调产生器12ai很快终止电子声音。
微处理器12aa在步骤ST554检查寄存器R3L来看琴键是否处在参考点K1下面。如果步骤ST554的回答为否定的,琴键正在越来越接近休止位置,而微处理器12aa在步骤ST555将存储在琴键状态表的数据存储区域中的琴键状态从SOUND变成UPPER。此后,微处理器12aa返回主程序。
反之,当步骤ST554的回答为肯定时,演奏者仍轻轻按压琴键,而微处理器在步骤ST556将琴键状态从SOUND变为HOLD。此后,微处理器12aa返回主程序。用于释放琴键的子程序琴键状态SOUND细分为SOUND-0子状态和SOUND-1子状态。子状态SOUND-1在阻尼因数方面大于子状态SOUND-0。子状态SOUND-0和子状态SOUND-1分别对应于MIDI码(Axxx00)和(Axxx01)。琴键经步骤ST102进入子状态SOUND-0,并且在音调产生期间琴键停在子状态SOUND-O。
当进入释放琴键的子程序时,微处理器12aa在步骤ST557检查寄存器R3H来看琴键状态是否为子状态SOUND-0。琴键在音调产生期间已经进入子状态SOUND-0,并且步骤ST557的回答为肯定的。微处理器12aa在步骤ST558检查寄存器R3L来看琴键是否仍处于参考点K2A之下。如果步骤ST558的回答为肯定的,琴键保持低音,而微处理器12aa返回主程序。
反之,如果步骤ST558的回答为否定的,微处理器12aa在步骤ST559将重写释放速率为一较大值,如(Axxx01)并在步骤ST559将琴键状态从SOUND-0改变为SOUND-1。并将琴键状态从SOUND-0变为SOUND-1。较大的释放速率使音调产生器12ai加速中止电子声音。此后,微处理器12aa返回主程序。
当步骤ST557的回答为否定时,在步骤ST559在先前的处理中将琴键状态变为SOUND-1并且微处理器12aa在步骤ST560检查寄存器R3L来看琴键是否仍处在参考点K2A之下。如果步骤ST560的回答为否定时,琴键处于轻微范围,而微处理器12aa返回主程序。
反之,当步骤ST560的回答为肯定时,演者再次使琴键为低音。微处理器12aa将琴键状态变为SOUND-0,并且将释放速度减少为,例如,MIDI码表示的(AXXX00)。因此,音调产生器12ai渐渐终止声音与钢琴声音自然衰减类似。
这样,控制器12c根据琴键位置改变释放速率,正如该领域的技术人员所熟知,声学钢琴用制音头收紧使弦振动。然而,制音头根据演奏的不同采用不同的方法衰减声音。如果制音头重复拉紧和释放,声音被拉伸。控制器12c如实地重现这些尾音。用于琴键状态″HOLD″的子程序图24说明琴键状态HOLD的子程序。微处理器12aa在步骤ST601检查寄存器R3L来看琴键是否处在参考点K2A之下。如果步骤ST601的回答为否定的,微处理器12aa在步骤ST602还检查来看琴键是否处于参考点K1之下。在琴键保持为被按压在参考点K2和K1之间的情况下,步骤ST602的回答为肯定的,而微处理器12aa返回主程序。
反之,当步骤ST602的回答为否定时,琴键越来越接近休止位置,而微处理器12aa在步骤ST603将琴键状态从HOLD变为UPPER。此后,微处理器12aa返回主程序。
当步骤ST601的回答为肯定时,演奏者再次按压琴键,而微处理器12aa进到步骤604。微处理器12aa尽力将十六个声道其中之一分配给该琴键。如果有一个打开声道,微处理器12aa将打开声道分配给琴键。然而,全部声道已经分配给其他琴键,而微处理器12aa未分配琴键返回主程序。
当打开的声道分配给该琴键时,微处理器12aa在步骤ST605检查寄存器R3L来看琴键是否已经经过参考点K3。如果步骤ST605的回答是肯定的,琴键以类似于在时间tp3和tp4之间的琴键运动高速经过两个参考点K2和K3。微处理器12aa在步骤ST606将琴键状态从HOLD变为COUNT-DOWN″3″,并将最大琴锤速度″h7F″和对应的时间间隔写入分配该琴键的音调产生控制表的数据存储区域VELOCITY和DWN-CNTR。此后,微处理器12aa返回主程序。
当步骤ST605的回答为否定时,琴键在标准速度量程范围内类似于时间t11和时间t12之间的琴键向下运动,而微处理器12aa进到步骤ST607。微处理器12aa将琴键状态从HOLD变为TOUCH-B,并且重新设置超时计数器。微处理器12aa将当前琴键位置和A/D转换时间从寄存器E5和R3L传送到所分配的音调产生控制表,并将它们写入数据存储区域DVR-K2和OVK2-TIM。这样,当琴键经过阈值K2和琴键经过阈值K2的时间,微处理器12aa存储键位置并返回主程序。用于键状态″TOUCH-B″的子程序图25说明琴键状态TOUCH-B的子程序。微处理器12aa在步骤ST701首先检查超时计数器来看超时计数器是否大于预定的时间期间。如果步骤ST702的回答为肯定的,例如,键在参考点K2和K3(看图16)之间跳动,并且很小可能通过类似的声学钢琴的琴键运动来击弦。微处理器12aa在步骤ST702从分配给该键来释放音调产生表,并将琴键状态从TOUCH-B变为OVER-TIME。此后,微处理器12aa返回主程序。
反之,当步骤ST701的回答为否定时,微处理器12aa在步骤ST703检查寄存器R3L来看键是否处在参考点K4之下。如果步骤ST703的回答是肯定的,演凑者用力按压琴键,而琴键经过两个参考点K3和K4,并且微处理器12aa转到步骤ST704。微处理器12aa将最大琴锤速度和对应的时间间隔写入所分配的音调产生控制表的数据存储区域VELOCITY和DWN-CNTR。此后,微处理器12aa返回主程序。
反之,如果步骤ST703的回答是否定的,微处理器12aa在步骤ST705再次检查寄存器R3L来看琴键是否处在参考点K3之下。如果步骤ST705的回答为肯定的,琴键在标准速度量程内移动,而微处理器12aa进到步骤ST706。微处理器12aa为参考点K2,从数据存储区域OVR-K2和OVK2-TIM和当前键位置和从寄存器R3L和E5的A/D转换时间取出时间和键位置,并计算琴键速度。微处理器12aa参考转换表TB2将键速度转换为琴锤速度,并参考表TB3-2确定对应于琴锤速度的时间间隔。微处理器12aa将琴锤速度和时间间隔传送到所分配的音调产生表,并将琴锤速度和时间间隔写入数据存储区域VELOCITY和DWN-CNTR。此后,微处理器12aa返回主程序。
当步骤ST705的回答为否定时,微处理器12aa在步骤ST707再次检查寄存器R31来看琴键是否处在参考点K2之下。如果回答为肯定的,琴键仍处于参考点K2和K3之间的范围内,并且微处理器12aa返回主程序。
当步骤ST707的回答为否定时,几乎不可能通过类似的声学钢琴的琴键运动来击弦,并且微处理器12aa在步骤ST708从所分配的琴键释放音调产生表。此后,微处理器12aa进到步骤ST709来看琴键是否处在参考点K1之下。如果步骤ST709的回答为否定的,琴键返回休止位置,并且微处理器12aa在步骤ST710将琴键位置变为UPPER。反之,当步骤ST709的回答为肯定的,微处理器12aa在步骤ST711将键位置变为HOLD。在步骤ST710或者ST711之后,微处理器12aa返回主程序。用于键状态″OVER-TIME″的子程序图26说明键状态OVER-TIME的子程序。微处理器12aa在步骤ST651检查寄存器R3L来看琴键是否仍处于参考点K2之下。如果步骤ST651的回答为肯定的,微处理器12aa返回主程序。这样,即使在进入琴键状态OVER-TIME之后再次按压琴键,不产生声音。如果在参考点K2和K3之间的跳动超过一预定的时间期间之后将声学钢琴的一个琴键按压到终端位置,与其相关的琴键运动机构使相关的琴锤部件不击弦。经过步骤ST651的控制系列对应于声学钢琴的琴键运动,并且根据本发明的键盘音乐装置通过不同的声学钢琴的琴键运动仿真音调产生。
反这,当步骤ST651的回答是否定时,微处理器12aa转向步骤ST652来看琴键是否处在参考点K1之下。如果步骤ST652的回答是肯定的,琴键运动类似于时间t21和t22之间的琴键运动,并且微处理器12aa在步骤ST653将琴键状态变为HOLD。微处理器12aa返回主程序。
当步骤ST652的回答为否定时,琴键越来越靠近休止位置类似于时间t22和t23之间的琴键位置,并且微处理器12aa在步骤st654将琴键状态变为UPPER。此后,微处理器12aa返回主程序。子程序之间的内部关系从上面的描述可以知道,微处理器12aa检查当前的琴键位置,并且有选择地进入子程序。图27表示子程序之间的内部关系。
现在假定演凑者移动如图6和17所示的黑和白键10c/10d其中之一,演凑者在时间t1开始按压键10c/10d,并且微处理器12aa转向琴键状态VPPER的子程序。当键10c/10d向下移动直到参考点K1为止,微处理器12aa反复执行由步骤ST306,ST400,和ST401组成的循环并且琴键状态不改变。
当琴键10c/10d经过参考点K1时,微处理器12aa执行步骤ST402、ST403和ST404,并且分配其中一个音调产生控制表。琴键状态变为TOUCH-A,而控制器12c准备音调产生。
此后,微处理器12aa从主程序转向琴键状态TOUCH-A的子程序。琴键在时间t2时经过参考点K2,而且微处理器12aa从主程序转向琴键状态TOUCH-A的子程序。微处理器12aa通过执行步骤ST501,ST503,ST505,和ST506确定琴锤速度和对应于此的时间间隔,并将琴键状态从TOUCH-A变为COUNT-DOWN″0″。由于这个原因,此后,微处理器12aa从主程序转向琴键状态COUNT-DOWN的主程序。
琴键在时间t4经过参考点K3,并且微处理器12aa执行步骤ST457,ST458,ST459和ST460来确定琴锤速度和对应的时间间隔。琴键状态从COUNT-DOWN″0″变为COUNT-DOWN″1″,并且微处理器12aa在每次定时器中断时递减时间间隔。
琴键10c/10d在时间t5经过参考点K4,并且微处理器12aa执行步骤ST458,ST461和ST463。如果琴键10c/10d被加速,微处理器12aa确定琴锤速度和对应的时间间隔,并将琴锤速度和时间间隔从先前值变为新值。这样,微处理器12aa重复琴键速度的计算,并且重复确定琴锤速度和时间间隔。如果新的琴锤速度大于在先的琴锤速度,微处理器12aa将琴锤速度和时间间隔变为新值。微处理器12aa将琴键状态变为COUNT-DOWN″2″,并且重复琴键速度的计算及琴锤速度和时间间隔的确定。这样,最大琴锤速度和对应的时间间隔留在数据存储区域VELOCITY和DWN-CNTR。当时间间隔达到零时,微处理器12aa将音乐数据码传送到音调产生器12ai来产生声音,并将键状态为SOUND。
演凑者在时间t7释放琴键,而琴键向上移动到休止位置。琴键在时间t10经过参考点K2,并且微处理器12aa通过执行步骤ST551和ST553将表示键一断开的音乐数据码传送到音调产生器12ai。此后,微处理器12aa在步骤ST556将琴键状态变为HOLD。
演凑者再次按压琴键10c/10d,并且琴键10c/10d在时间t11经过参考点K2。微处理器12aa通过执行步骤ST604将音调产生控制表中的一个再分配给琴键10c/10d,并在步骤ST607将琴键状态变为TOUCH-B。
琴键在时间t12经过参考点K3和在时间t13经过参考点K4,而微处理器12aa重复执行琴键状态COUNT-DOWN的子程序。
时间间隔在时间t17达到零,并且微处理器12aa将音调产生的音乐数据码再次传送到音调产生器12ai。琴键10c/10d在时间t17进入零键状态HOLD。
演凑者再次按压琴键10c/10d,而琴键10c/1Od在时间t18再次进入琴键状态TOUCH-B。然而,演凑者保持琴键10c/10d在参考点K2和K3之间超过一预定的时间间隔,而存储在超时计数器的预定时间间隔期满。然后,琴键状态变为OVER-TIME。未确定琴锤速度和时间间隔,其后就不产生声音。
琴键10c/10d在时间t21经过参考点K2及在时间t22经过参考点K1,而琴键状态经HOLD变为UPPER。
如果演凑者将琴键10c/10d保持在参考点K1和K2之间超过一预定的时间间隔如虚线BL1所示,琴键10c/10d进入琴键状态OVER-TIME。反之,如果琴键10c/10d向上返回如虚线BL2所示,琴键进入键状态UPPER。
此外,如果琴键向上返回如虚线BL3所示,琴键10c/10d通过执行步骤ST709和ST711进入琴键状态HOLD。
当演凑者用力按压琴键10c/10d时,琴键10c/10d从其上的两个采样点之间的键位置P1进到键位置P2(看图17),并且微处理器12aa在执行琴键状态UPPER的子程序期间确定最大琴锤速度和对应的时间间隔。琴键10c/10d进入琴键状态COUNT-DOWN″3″,并且当时间间隔达到零时,微处理器12aa将音调产生的音乐数据码传送到音调产生器。可以类似地处理琴键位置P3和P4之间的琴键运动。
如果琴键跳动经过参考点K2A如图7所示,微处理器12aa进入释放的子程序,并改变释放速率。因此,声音渐渐衰减。声学声音模式的特点演凑者在声学声音模式通过声学声音演凑音乐。当键盘音乐装置处于声学声音模式时,静音系统11将软垫块11b保持在自由位置FP,并且锤头10j能击相关的弦10f而不影响软垫块11b。
现在假定演凑者在演出期间按压白键10d,白键10d依次在图2中的反时针方向,而绞盘按钮10K向上推动踵部10hc。联动轴部件10hb和顶杆10he沿顺时针方向绕联动轴轴架10ha转动,而顶杆10he迫使琴锤部件10j沿顺时针方向绕锤座轴架10jb转动。
当琴脚10hg接触到调节按钮10hj时,仍绕联动轴轴架10ha转动的联动轴部件10hb使顶杆10he沿反时针方向反抗顶杆弹簧10hf绕顶杆轴架10hd转动。然后,顶杆沿反时针方向绕顶杆轴架10hd快速转动,而琴锤座10ja从顶杆10ja退出。
琴锤部件10j开始朝弦10f自由转动,并击弦。弦10f振动,并产生声音。反之,琴锤部件从弦10f弹回,并沿反时针方向转动。制动装置10je与挡托木10jf碰撞,并暂时停在挡托木10jf上。
当演凑者释放白键10d时,联动轴部件10hb沿反时针方向绕联动轴轴架10ha转动,而顶杆10he返回位于弦座壳10ji下面的初始位置。
这样,演凑者有选择地按压黑和白键10c和10d,而锤头10jd和按压下的键10c/10d一起击弦10f以便产生音乐的声学声音。静音模式的特点如果演凑者想在键盘10a上练习指法,演凑者将软垫块11b移到阻挡位置BP。演凑者按压键盘10a的同时,假定白键10d被按压下。白键10d依次在反时针方向,而绞盘螺钉按钮10K向上推动踵部10hc。联动轴部件10hb和顶杆10he沿顺时针方向绕联动轴轴架10ha转动,而顶杆10be迫使琴锤部件10j沿顺时针方向绕锤座轴架10jb转动。
当琴脚10hg接触到调节按钮10hj时,联动轴部件10hb使顶杆10he沿反时针方向反抗顶杆弹簧10hf绕顶杆轴架10hd转动。然后,顶杆沿反时针方向绕顶杆轴架10hd快速转动,而琴锤座10ja从顶杆10ja退回。演凑者象往常一样感觉触键。
琴锤部件10j朝弦10f开始自由转动。然而,在锤头10jd到达弦10f之前制动装置10je从软垫块11b上弹回。琴锤部件10j返回原来位置而未击弦10f,并且在静音模式未产生声学声音。
当演凑者在键盘11a上练习指法时,控制器12c通过执行A/D中断程序,主程序、子程序和定时器中断程序来产生音乐数据码,并从音乐数据码产生音频信号。音频信号输入耳机12d和/或扬声器系统12e,而耳机12d和/或扬声器系统12e产生对应于按压下的键10c/10d的电子声音。记录模式的特点当演凑者演凑音乐时,电子系统12通过执行A/D中断程序、主程序,子程序和定时器中断程序来产生音乐数据码,而音乐数据码输入软盘驱动器12am。音乐数据码被写入软盘12an。如果软垫块11b处在自由位置FP,锤头10jd击相关的弦10f,而键盘音乐装置根据按压的键产生声学声音。反之,当软垫块11b处在阻挡位置BP时,通过耳机12d/扬声器系统12e产生电子声音。放音模式的特点当演凑者使键盘乐器重放节目时,音乐数据码从软盘12an传送至随机存取存储器12ad,而微处理器12aa使驱动器电路12ao有选择地提供驱动电路信号到电磁铁操作执行器12b。电磁铁操作执行器12b移动相关的键10c/10d就好像演凑者重复按压键盘10a,而琴锤头12jd击弦10f。每次撞击的强度调整为初始的强度,而初始的节目被准确地重放。
从上面的描述可以得出,键盘乐器体现了本发明的内容。(1)通过执行步骤ST302自动调整阈值以便忽略键传感器的个别特性;(2)因此,通过改变软件可以任意调整阈值K1至K4和K2A和参考点;(3)控制器12c准确地识别键运动如参考点之间的轻微键运动,跳动键运动和深度键运动以便可靠的重放初始节目;(4)考虑在先键状态和在先键位置以便准确地确定当前键状态如TOUCH-A,COUNT-DOWN″0″或者TOUCH-B,及进一步考虑在先键状态中的时间间隔以便准确地确定键状态OVER-TIME和HOLD;(5)通过改变释放速率准确模拟制音器动作;(6)当演凑者慢慢按压键时,微处理器将键状态OVER-TIME赋予琴键并且不管其后键的运动不允许音调产生器产生声音。
在上述的实施例中,LED驱协器12ak,A/D转换器12aj,A/D中断程序和步骤ST401,ST403,ST451,ST453,ST457,ST458,ST503,ST505,ST507,ST551,ST554,ST558,ST560,ST601,ST602,ST605,ST651,ST652,ST703,ST705,ST707,和ST709实现一个识别子装置。键状态确定子装置由步骤ST306-311,ST404,ST405,ST404,ST455,ST454,ST455,ST460,ST462,ST463,ST504,ST506,ST555,ST556,ST559,ST561,ST603,ST606,ST607,ST653,ST654,ST704,ST706,ST711和ST710实现。步骤ST101,ST553,ST559和ST561实现控制信息产生子装置。
尽管已经描述本发明特点的实施例。在不离开本发明的精神和范围的情况下可以作出不同的变化和修改,对于本领域的技术人员这是显而易见的。
例如,转轴部件11a可以通过链和金属丝连接到柄和踏板,演凑者通过操作柄和踏板在自由位置FP和阻挡位置BP之间改变软垫块11b。
软垫部件11b可以进入琴锤部件10j的其他部件的轨道以便使其他部件从其上弹回。其他部件可以是锤柄10jc或者连接到锤柄10jc的终端的部分。
键盘音乐装置可以产生具有与钢琴声音不同音色的电子声音。在这种情况下,音调产生器代表不同音的包络。
子程序可以控制包络的另一部分例如保持。
本发明适用于设有键动作机构,制音器机构,琴锤部件和弦的电子键盘乐器。
键位置信号AKP可以适用于放音模式中的反馈控制。
在上述实施例中,键速度可以从TCUCH-A中的参考点K1和K2之间,COUNT-DOWN″0″中的K1和K3之间和COUNT-DOWN″1″中的K2和K4之间的键运动计算得出。然后,键速度可以根据COUNT-DOWN″0″中的不同参考点如K2和K3之间的键运动计算得出。
在释放键之后为准确控制包络,在参考点K2和K3之间的区间可以被分成如图28所示的子区间,在自然声音衰减期间的制音因数渐渐增加如箭头AR1所示,并且释放速率从(Axxx00)经过(Axxx01)点K2C(Ax、xx 02)点K2B及(Ax、xx 03)点12A变化。图29表示图28所示的逐渐减少的包络。包络准确地模拟自然声音的衰减。
即使在参考点K3和K2之间提供参考点K2C至K2A,传感器不需要附加的位置。仅将因数增加到计算阈值的软件中。
根据演凑者和/或表演的音乐乐谱可以改变参考点。
在上述的实施例中,当琴键经过每一个参考点时,重复计算键速,并将新的琴锤速度和在先的琴锤速度进行比较以便确定是否用新的琴锤速度和新的时间间隔取代在先的琴锤速度和在先的时间间隔。在另一个键盘乐器中,新的时间间隔可以与在先时间间隔比较,并且期望通过新的时间间隔和在先时间间隔的比较来提高准确性。然而,本发明人确认琴锤速度的比较和时间间隔的比较是一致的,并且琴锤速度比较的计算量小于时间间隔比较的计算量。
权利要求
1.一种产生声音的键盘乐器,包括键盘(10a),由多个键(10c/10d)组成,每一个键在休止位置和终点位置之间往复移动;声音产生装置(12ai/12d/12e;12ao/12b/10h/10j/10f),对应于由每个所述的多个键在到所述终点位置的路径上确定的开始产生声音的第一控制信息和到所述休止位置的路径上终止所述声音的第二控制信息;多个键传感器(12a),分别监控所述多个键产生分别表示相关键的运动的键位置信号(AKP);和声音控制装置(12c),与所述的多个键传感器相连,并控制所述声音产生装置;其特征在于每个所述键位置信号沿着具有以所述轨迹部分为界的多个参考点(K1-K4/K2A)的所述多个键中的一个的轨道和其中连续改变其值,所述的声音控制装置包括识别子装置(12ak,12aj,ST201-ST203,ST401,ST403,ST451,ST453,ST457,ST458,ST503,ST505,ST507,ST551,ST554,ST558,ST560,ST601,ST602,ST605,ST651,ST652,ST703,ST705,ST707,和ST709),周期地将所述多个键位置信号中的所述的每一个的所述值与所述多个参考点的各个阈值进行比较来确定所述每个所述多个键移动的一个部分,键状态确定子装置(ST306-311,ST404,ST405,ST404,ST455,ST454,ST455,ST460,ST462,ST463,ST504,ST506,ST555,ST556,ST559,ST561,ST603,ST606,ST607,ST653,ST654,ST704,ST706,ST711和ST710),用于根据所述的一个所述部分和由所述识别子装置预先确定的在先键状态之一确定所述每一个所述多个键的当前键状态;和控制信息产生子装置(ST101,ST553,ST559和ST561),在所述的当前键状态表示为准备音调产生后,该装置用于产生指示所述的每一个所述的多个键的声音产生的第一控制信息,在进入所述的音调产生之后当所述的每一个所述的多个键位置信号与所述的阈值其中之一一致时所述的控制信息产生子装置还产生指示终止所述的每一个所述的多个键盘的声音的第二控制信息。
2.根据权利要求1的键盘乐器,其中所述的声音产生装置包括一个音调产生器(12ai),用于根据所述的第一和第二控制信息产生电子声音。
3.根据权利要求2的键盘乐器,其中所述的声音产生装置还包括用于产生声学声音的多个弦(10f),用于分别击所述多个弦的多个琴锤部件(10j)和为有选择地驱动所述琴锤部件转动且对应于在所述键盘上的指法的多个键动作机构。
4.根据权利要求3的键盘乐器,其中所述的声音产生装置还包括分别与所述的多个键相连的并有选择地给以驱动信号以便移动相关的所述多个键的多个电磁铁操作执行器(12b)和对应于所述第一和第二控制信息的驱动电路(12ao)以便有选择地将所述的驱动信号送到所述的多个电磁铁操作执行器。
5.根据权利要求3或4的键盘乐器,还包括一个在自由位置(FP)和阻挡位置(BP)之间改变的静音机构(11),在所述阻挡位置中的所述静音机构使所述的多个琴锤部件在击所述的多个弦之前从其上反弹,在所述自由位置中的所述静音机构允许所述的多个琴锤部件击所述多个弦。
6.根据权利要求1的键盘乐器,其中所述的多个键传感器(12a)分组为多个键传感器组,并且每一个所述的多个键传感器组包括一个在所述每一个所述的多个键传感器组的键传感器之间使用的光源(12k),一个在所述的键传感器之间使用的光电检测器(12o),多个分别发射光束(12p)的第一传感头(12i),多个连接在所述光源和所述多个第一传感头之间的多个第一光纤(12j),多个分别与用于接收所述光束的所述多个第一传感头相对的第二传感头(12m),多个连接在所述的多个第二传感头和所述的光电检测器之间的第二光纤(12n)和分别与从所述多个键中选择的键连接的并经缝隙在所述多个第一传感头和所述多个第二传感头之间移动的多个快门板(12f)。
7.根据权利要求6的键盘乐器,其中所述光束(12p)的直径为5毫米数量级。
8.根据权利要求1的键盘乐器,其中所述的键状态确定子装置确定当所述的在先键状态连续超过一预定的时间间隔时(ST501;ST701),每一个所述的多个键进入超时间状态(OVER-TIME)状态,并且在所述的每一个所述的多个键进入所述的超时间状态之后,所述的控制信息产生子装置禁止从所述的每一个所述的键产生第一和第二控制信息(ST502,ST702)。
9.根据权利要求1的键盘乐器,其中所述的键状态确定子装置重复确定时间间隔(ST404/ST405;ST460/ST462/ST463;ST504/ST506;ST606/ST607;ST704/ST706)直到产生所述的第一控制信息为止,同时所述的每一个所述多个键经所述部分到达所述的终端位置,并且当所述的时间间隔期满时,所述的控制信息产生子装置提供所述的第一控制信息。
10.根据权利要求1的键盘乐器,其中所述的控制信息产生子装置还产生表示包络释放速率并且根据所述每一个的所述多个键位置信号的所述的值而变化的第三控制信息(ST559/ST561)并且所述的声音产生装置以对应于所述第三控制信息的速率衰减所述的声音。
全文摘要
一种键盘乐器连续监控琴键运动,并且根据在先的琴键状态,当前琴键位置和在先前琴键状态下的一段时间,确定当前琴键状态,以便准确地控制音调的产生。
文档编号G10H1/18GK1163445SQ96110460
公开日1997年10月29日 申请日期1996年6月8日 优先权日1995年6月9日
发明者浦智行, 佐佐木力 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1