具有弹奏操作的可视图象表述的乐曲导引仪的制作方法

文档序号:2643312阅读:268来源:国知局
专利名称:具有弹奏操作的可视图象表述的乐曲导引仪的制作方法
技术领域
本发明是关于以导引显示指导演奏者演奏乐曲的乐曲导引仪。较具体说,本发明涉及控制在显示器上导引乐器上的乐曲演奏的设备和方法,如键盘和其上记录有可由计算机读取的导引显示控制的存储媒体。
具有键盘乐曲导引仪性能的电子乐器是众所公知的,通常的键盘乐曲导引仪采用沿乐曲键盘配置以便能对应于各键的键指示灯(例如LED)。当演奏乐曲时,乐曲导引仪读取乐曲数据并及时地接通对应于要操作的键的键指示灯。已提出了一种被改善的键盘乐曲导引仪,其中,存储有手指操作乐曲数据并在乐曲面板上印有手的图象。LED体段被分布在手图象的各个手指处。操作中,乐曲导引仪读取指操作乐曲数据,并及时地选择及接通欲应用的手指的LED体段,选择和接通适当的键指示灯,以便通知演奏者欲应用来演奏音符的手指。
但是,先有技术键盘乐曲导引仪不能指明为演奏一音符手指移动和定位的状态,因为它仅指出要演奏的音符(键)和欲被用来演奏此音符的手指。
通常,在一乐曲键盘上作乐曲演奏涉及到对手指作包含上下逾越的控制。例如,当在一键盘乐器上演奏一上升的长音阶CDEFGABC时,开始利用右手拇指、食指和中指来分别演奏CDE,而后就必须控制拇指在下面越过食指各指到达演奏F音符。然后,利用食指、中指、无名指和小指分别演奏余下的音符G-C。对于下降长音阶CBAGFEDC则必须控制中指在上面越过拇指来改变由音符F到E的键。实践上下逾越需要相当长时间练习,但这是一键盘演奏者所必须具有的基本技巧。
显然,先有技术键盘乐曲导引仪无法指明手指的上下逾越动作。
因此,本发明的总的目的是提供一能指明在演奏音符中手的弹奏动作的乐曲导引仪。
本发明的一特定目的是提供能设置有手指的上下逾越的可视图象指示的乐曲导引仪。
本发明的另一目的是提供能设置有演奏音符中弹奏动作的可视生动的手的图象表述的乐曲导引仪。
本发明的又一目的是提供能显示演奏音符中手的弹奏操作的运动图象的乐曲导引仪。
本发明的再一目的是提供能显示在演奏音符中运动中手的图象序列的乐曲导引仪。
按照本发明的一个方面,所提供的用于乐曲演奏中控制导引显示的设备包括用于存放乐曲的数据的乐曲存储装置,此数据包含有要在一键盘乐器上演奏的音符和手指的信息;上下逾越提供装置,用于提供有关取决于乐曲的数据的手指的上下逾越的信息;用于存放多个包含上下逾越的指示的手的图象数据的图象存储装置;和显示控制装置,在演奏乐曲时运行来根据所提供的有关上下逾越的信息顺次选择多个图象数据中的适当数据,由此提供手指上下逾越的可视图象表述。
上下逾越提供装置可包括用于存放有关上下逾越信息以便能对应于乐曲的数据的存储装置。
上下逾越提供装置可包括用于从有关当前和先前的音符及当前和先前的手指的信息选择确定当前手指的由上面或下面的逾越的确定装置,该信息包含在乐曲的数据中。
此多个图象数据可包含手的图象数据,其中清楚地指明由上面或下面逾越的手指。
此多个图象数据可包含手的图象数据,其中清楚地指明由上面或下面逾越的手指,并标有表示手指由上面或下面逾越的方向的箭头。
乐曲的数据可包括一系列事件数据,其中每一个均包含音符、用来演奏此音符的手指、音符的长短和会出现时间这些数据项。
上下逾越提供装置可包括用于当前面的音符消失时间与当前的音符出现时间之间存在大于一预定时间的休止时间时从乐曲数据中包含的当前的和前面的音符及手指数据选择确定当前手指不作由上面或下面的逾越的确定装置。
上下逾越提供装置可包括用于当前面的音符出现时间与当前的音符出现时间之间的时间差大于一预定时间值时从乐曲的数据中所包含的当前的和前面的音符和手指数据选择确定当前手指不作由上面或下面逾越的确定装置。
此设备还可包括用于选择乐曲的速度的速度选择装置,其中,此确定装置包括计算休止时间以便能跟随所选择的速度的计算装置;和将计算得的休止时间与预定的时间值相比较的比较装置。
作为替代方案,此确定装置可包括计算时间差以便能跟随所选择速度的计算装置;和将计算得的时间差与预定时间值相比较的比较装置。
本发明的另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符、用于演奏此音符的手指和手指是否作由上面或下面逾越的信息的音符记录;存放多个各自对应于手指与是否作由上面或下面逾越的不同组合之一的手的图象数据的图象存储装置,其中,对应于手指与存在有由上面或下面逾越的组合这样的图象数据包含由上面或下面逾越的可视图象指示;乐曲读取装置,在演奏乐曲时运行来以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;和图象选择和输出装置,用于根据当前由乐曲读取装置的音符记录选择多个图象数据中适当的一个并显示控制输出所选择的图象数据以此来提供手指的上下逾越的可视图象指示。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符和要被用于演奏此音符的手指的信息的记录;用于存放多个各自对应于手指与是否作由上面或下面逾越的组合之一的手的图象数据的图象存储装置,其中,对应于手指与要由上面或下面逾越的组合这样的图象数据包含由上面或下面逾越的可视图象指示;乐曲读取装置,在演奏乐曲时运行来以乐曲的演奏速度由弹奏乐曲存储装置读取音符记录系列;从被乐曲读取装置读取的当前和前面的音符记录确定是否要作当前手指的由上面或下面的逾越;和图象选择和输出装置,根据乐曲读取装置所读取的当前的音符记录和由确定装置所得确定结果选择多个图象数据中适当的一个并对显示控制输出所选择的图象数据以此来提供手指的上下逾越的可视图象指示。
本发明的另一个方面提供的用于乐曲演奏的控制导引显示的设备包括用于存放乐曲的数据的乐曲存储装置,此数据包含有关要在键盘乐器上演奏的音符和手指的信息;上下逾越提供装置,用于根据乐曲的数据提供关于手指的上下逾越的信息;和显示控制信号产生装置,在演奏乐曲时运行来根据所提供信息连续地产生显示控制信号,此显示控制信号可变换成包含手指的上下逾越指示的可视图象序列。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括用于存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符、要被用于演奏此音符的手指和手指是否作由上面或下面逾越的信息的音符记录;乐曲读取装置,在演奏乐曲时运行来以乐曲的演奏速度由弹奏乐曲存储装置读取音符记录系列;和显示控制信号产生装置,根据由乐曲读取装置当前读取得的音符记录产生显示控制信号,此显示控制信号可变换成包含当前手指是否作由上面或下面逾越的指示的可视图象。
本发明另一方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括用于存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符和要被用于演奏此音符的信息的音符记录;乐曲读取装置,在演奏乐曲时运行来以乐曲的演奏速度由弹奏乐曲存储装置读取音符记录系列;用于从乐曲读取装置读得的当前和前面的音符记录确定当前手指是否作由上面或下面逾越的确定装置;和显示控制信号产生装置,根据乐曲读取装置所读得的当前音符记录和由确定装置所得确定结果产生显示控制信号,此显示控制信号可变换成包含当前手指是否作由上面或下面逾越的指示的可视图象。
本发明的另一方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括用于存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符和要被用于演奏此音符的手指信息的音符记录;用于存放运手指动作中手的多个图象数据的图象存储装置,每一个对应于老的和新的音符与老的和新的手指的一个不同组合;乐曲读取装置,以乐曲的演奏速度由弹奏乐曲存储装置读取音符记录系列;和显示控制装置,根据乐曲读取装置所读得的当前和下一音符记录由多个图象数据中选择适当图象数据并为显示控制而输出选择图象数据以此来提供包含有手指的上下逾越指示的演奏音符中手的弹奏的可视图象表述。
本发明的另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括用于存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符和要用于演奏此音符的手指的信息的音符记录;用于存放多个手指动作中手的图象数据的图象存储装置,每一个对应于音符与手指的一个不同组合,这里音符包含老的和新的音符而手指包含老的或新的手指;乐曲读取装置,以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;和显示控制装置,根据乐曲读取装置读得的包含有当前和下一音符记录的音符记录从多个图象数据中选择适当图象数据并输出所选择的图象数据作显示控制,以此来提供演奏音符中的手的可视图象表述。
每一音符记录可包含作为有关音符的信息的音符出现或音符消失命令、音符号和音符出现或音符消失时间,以及作为有关手指的信息的指明要被用于在一键盘乐器上演奏此音符的手指的手指号。
图象存储装置可包括查找表装置,它存放多个各自可由新和老的手指的变化和新音符与老音符的音符差寻址的图象数据。
显示控制装置可包括用于选择作为适当图象数据的以动画方式表示演奏当前和下一音符中手的弹奏运动的图象数据序列的装置。
显示控制装置可包括将一当前音符时间与下一音符时间之间的时间间隔分成为多个时间段的分段装置;根据当前的和下一音符及当前的和下一手指为多个时间段中的每一个从多个图象数据中选择手的适当图象数据的选择装置;和输出装置,每一次地输出各时间段的被选择的图象数据,以此来提供演奏音符中手指动作的可视上生动的图象表述。
本发明的另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的设备包括用于存放乐曲的数据的弹奏乐曲存储装置,此数据包括一系列各自包含关于一音符和欲用于演奏该音符的手指的信息的音符记录;存放演奏一音符的动作中手的多个图象数据的图象存储装置,每一个对应于老的和新的音符及老的和新的手指的一个不同的组合;乐曲读取装置,以乐曲的演奏速度由弹奏乐曲存储装置读取音符记录系列;响应乐曲读取装置确定一当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间的确定装置;图象选择装置,在确定装置发现大于预定时间值的休止时间时运行,来根据乐曲读取装置读得的当前音符记录从多个图象数据选择手的图象数据;和图象位移和输出装置,用于位移所选择图象数据的显示位置并输出最后的数据以此来提供动作中手的可视图象表述。
按照本发明的再一个方面提供的用于演奏乐曲的控制导引显示的方法包括步骤存储乐曲的数据,此数据包含有关乐曲音符和要在键盘乐器上演奏的手指的信息;根据乐曲的数据提供有关手指的上下逾越的信息的提供装置;存储多个包含上下逾越的指示的手的图象数据;和在演奏乐曲时根据所提供的关于上下逾越的信息逐次选择多个图象数据中适当的一个,由此提供手指的上下逾越的可视图象指示。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的方法包括步骤存储乐曲数据,此数据包括一系列各自包含关于一音符、被用于演奏此音符的手指和是否作手指的由上面或下面逾越的信息的音符记录;存储多个各自对应于手指与是否作由上面或下面逾越的一不同组合的手的图象数据,其中对应于一手指与作由上面或下面逾越的组合这样的图象数据包含作由上面或下面逾越的可视图象指示;以乐曲的演奏速度读取音符记录系列;和根据当前读取的音符记录选择多个图象数据中适当的一个并为显示控制输出所选择的图象数据以此提供手指作上下逾越的可视图象指示。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的方法包括步骤存储乐曲的数据,此数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符记录;存储多个各自对应于一手指与是否作由上面或下面逾越的不同组合的手的图象数据,其中,对应于手指与作由上面或下面逾越的组合这样的图象数据包含作由上面或下面逾越的可视图象指示;以乐曲的演奏速度读取音符记录系列;从所读得的当前和前面的音符记录确定是否应作由上面或下面的逾越;和根据读取的当前音符记录和确定的结果选择多个图象数据中适当的一个并为显示控制输出所选择的图象数据以此提供手指作上下逾越的可视图象指示。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的方法包括步骤存储乐曲的数据,此数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符记录;存储多个手指动作中手的数据,每一个对应于一老的和新的音符与老的和新的手指的不同组合;以乐曲的演奏速度读取音符记录系列;和根据读取的当前或下一音符记录由多个图象数据中选择适当的图象数据并为显示控制输出所选择的图象数据以此提供包含有手指上下逾越的指示的演奏音符中的手的运动的可视图象表述。
本发明另一个方面提供的用于在键盘乐器上演奏乐曲的控制导引显示的方法包括步骤存储乐曲的数据,此数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符记录;存储多个演奏音符的手指操作中的手的图象数据,每一个对应于老的和新的音符与老的和新的手指的一不同的组合;以乐曲的演奏速度读取字符记录系列;确定当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间;在发现休止时间大于预定时间值时根据读取的当前音符记录由多个图象数据选择手的图象数据;和位移所选择的图象数据的显示位置并输出所得图象数据以此提供一动作中手的可视图象表述。
按照本发明的又一个方面提供其上记录一程序的存储媒介,此程序可被计算机读取来控制计算机作用为乐曲存储装置,以存储乐曲的数据,此数据包含关于乐曲音符和要在键盘乐器上演奏的手指的信息;上下逾越提供装置,根据乐曲的数据提供关于作上下逾越的信息;图象存储装置,存放包含上下逾越的指示的手的多个图象数据;和显示控制装置,在演奏乐曲时运行来根据所提供的有关作上下逾越的信息逐次选择多个图象数据中适当一个以此提供手指作上下逾越的可视图象指示。
本发明另一方面提供其中记录程序的存储媒介,此程序可被计算机读取来控制计算机作用为弹奏乐曲存储装置,用于存放乐曲的数据,此数据包括一系列各自包含有关一音符、要用于演奏此音符的手指和手指是否作由上面或下面逾越的信息的音符记录;图象存储装置,用于存放多个各自对应于手指与是否作由上面或下面的逾越的一个不同组合的手的图象数据,其中,对应于一手指与作由上面或下面逾越的组合这样的图象数据包含作由上面或下面逾越的可视图象指示;乐曲读取装置,在演奏乐曲时运行来以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;和图象选择和输出装置,根据由乐曲读取装置当前读取的音符记录选择多个图象数中适当的一个并为显示控制输出所选择的图象以此来提供手指的作上下逾越的可视图象指示。
本发明另一个方面提供一记录程序的存储媒介,此程序可由计算机读取以控制计算机作用为弹奏乐曲存储装置,存储乐曲的数据,此数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符记录;图象存储装置,存放多个各自对应于一手指与是否作为由上面或下面逾越的不同组合的手的图象数据,其中,对应于一手指与作上下逾越的组合这样的图象数据包含作由上面或下面逾越的可视图象指示;乐曲读取装置,当乐曲被演奏时运行来以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;从被乐曲读取装置读取的当前和前面的音符记录确定当前手指是否作由上面或下面逾越的确定装置;和图象选择和输出装置,根据由乐曲读取装置读取的当前音符记录和确定装置所得的确定结果选择多个图象数据中适当的一个,并为显示控制输出所选择的图象数据以此提供手指作上下逾越的可视图象指示。
本发明的另一方面提供其上记录一程序的存储媒介,此程序可被计算机读取控制此计算机作用为弹奏乐曲存储装置,存储乐曲的数据,此数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符记录;图象存储装置,存放多个弹奏操作中的手的图象数据,每一个对应于老的和新的音符与老的和新的手指的一不同的组合;乐曲读取装置,以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;和显示控制装置,根据乐曲读取装置所读取的当前和前面的音符从多个图象数据选择适当的图象数据并为显示控制输出所选择的图象数据以此提供包含有手指作上下逾越的指示的演奏音符中的手的弹奏的可视图象表述。
本发明另一个方面的记录一程序的存储媒介,此程序可由计算机读取控制此计算机作用为弹奏乐曲存储装置,存储乐曲的数据,此数据包括一系列各自包含关于一音符和要用于演奏此音符的手指的信息的音符记录;图象存储装置,存储弹奏操作中的手的多个图象数据,每一个对应于老的和新的音符与老的和新的手指的一个不同的组合;乐曲读取装置,以乐曲的演奏速度从弹奏乐曲存储装置读取音符记录系列;响应乐曲读取装置以确定当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间的确定装置;图象选择装置,当确定装置发现大于预定时间值的休止时间时运行,来根据乐曲读取装置读取的当前音符记录从多个图象数据选择手的图象数据;和图象位移和输出装置,位移所选择图象数据的显示位置并输出结果图象数据以此来提供动作中的手的可视图象表述。
本发明的上述和其他目的以及特点由以下结合附图所作说明将会更明显,所列附图为

图1为按照本发明第一至第五实施例的电子乐器的硬件配置方框图;图2为按照本发明的第一至第三实施例的表明LCD图象段和键指示灯的键盘和LCD简化视图;图3是按照本发明的主程序的流程图;图4为图3中步骤S2中调用的处理开关输入例程的流程图;图5为图4中步骤S10中调用的初始化右手显示例程的流程图;图6为定时器1中断例程的流程图;图7为图4中步骤S11中调用的初始化左手显示例程的流程图;图8为定时器2中断例程的流程图;图9为图3中步骤S3中调用的处理键输入例程的流程图;图10为图3中步骤S4调用的控制音调发生器例程的流程图;图11为按照本发明第一实施例的弹奏乐曲数据的存储图;图12-14为按照本发明第一实施例的控制右手显示例程的流程图;图15-17为按照本发明第一实施例的控制左手显示例程的流程图;图18A-C表示本发明第一实施例所提供的手图象表述;图19为按照本发明第二实施例的弹奏乐曲数据的存储图;图20-22为按照本发明第二实施例的控制右手显示例程的流程图;图23-25为按照本发明第二实施例的控制左手显示例程的流程图;图26为按照本发明第三实施例的弹奏乐曲数据的存储图;图27-29为按照本发明第三实施例的控制右手显示例程的流程图;图30-32为按照本发明第三实施例的控制左手显示例程的流程图33-35为按照本发明第四实施例的控制右手显示例程的流程图;图36-38为按照本发明第四实施例的控制左手显示例程的流程图;图39A-C表明本发明第四实施例所提供的可视手图象表述;图40说明按照本发明第四实施例的弹奏乐曲数据的数据结构;图41为按照本发明第五实施例的处理事件例程的流程图;图42A和B说明乐曲主体和本发明第五实施例中所采用的对应的弹奏乐曲数据;图43为按照本发明第六实施例的一电子乐器的硬件配置的方框图;图44说明按照本发明第六实施例的弹奏乐曲数据的数据结构;图45说明按照本发明第六实施例的手显示控制中采用的变量;图46为按照本发明第六实施例的主程序的流程图;图47为按照本发明第六实施例的定时器中断例程的流程图;图48为按照本发明第六实施例的处理开关输入例程的流程图;图49为按照本发明第六实施例的搜索音符例程的流程图;图50为按照本发明第六实施例的处理乐曲数据例程的流程图;图51为按照本发明第六实施例的处理事件例程的流程图;图52为按照本发明第六实施例的控制手显示例程的流程图;图53为按照本发明第六实施例的用于查找手图象的三个变量表;图54A-C、55A-E、56A-E和57A-E表明本发明第六实施例所提供的手图象表述;图58为按照本发明第六实施例的一电子乐器的硬件配置的方框图;图59为按照本发明第七实施例的处理开关输入例程的流程图;图60为按照本发明第七实施例的控制右手显示例程的流程图;和图61为按照本发明第七实施例的控制左手显示例程的流程图。
现对照其优选实施例更详细地说明本发明。每一优选实施例均在一具有乐曲键盘的电子乐器中实现。
图1说明本发明第一至第五实施例共有的电子乐器的系统构成。CPU1控制电子乐器总体。按照本发明,CPU1作用为从被存储的乐曲数据确定手指的作上下逾越的确定装置和为根据所确定的结果控制包含手指作上下逾越的可视图象指示的手图象序列的显示的显示控制装置。CPU1具有二个作周期定时器中断的定时器(定时器1和2)。乐曲键盘2给予CPU1键操作信号。显示开关(未图示)被置于靠近键盘2。此显示开关用于使能或禁止(接通或断开)用于演奏乐曲的导引显示,如下面将说明的。
LED3为沿键盘2配置的LED阵列。各LED被布置在一对应键的下方,作为该键的光源。译码器驱动器4对来自CPU1的键指示灯通或断命令进行译码以接通或断开一相应的LED。ROM5存放用于控制CPU1的程序、初始数据、和用于导引显示的乐曲和图象数据。RAM6包含用来存放来自键盘2的键的键区和用于临时存放执行该程序中所需的那些数据的寄存器和标记区。
音调发生器7响应来自CPU1的音符出现或消失命令产生或释放一音调信号。数/模变换器8将音调发生器7产生的数字音调信号变成对应的模拟信号。放大器9对来自数/模变换器8的模拟信号进行滤波和电平控制,将所得信号供给扬声器10。LCD12显示表明演奏音符中的运指的手图象序列。LCD驱动器11响应来自CPU1的显示数据驱动LCD11。
图2表示对应于键盘2的各个键的LED阵列3的配置。图2还表示为显示运指而在LCD12上显示的图象对象。图象对象包含左右手各个手指、手指号、和为表明作上下逾越的方向的箭头。响应一键操作,对应键被照亮。同时在LCD12上,被用于操作该键的手指的图象对象作成高辉度并显示对应手指号的图象对象。而且,一向右或向左方向的箭头被选择显示来表示手指作由上面或下面逾越的方向,如以下将说明的。
图3表示CPU执行的主程序的流程图。在系统作初始化(步骤S1)后,CPU1重复执行一包含处理开关输入(S2)、处理键输入(S3)、控制音调发生器(S4)、控制右手显示(S5)和控制左手显示(S6)的循环过程。处理开关输入的步骤S2、处理键输入的步骤S3和控制音调发生步骤S4的各个实施例是共同的,而控制右手显示步骤S5和控制左手显示步骤S6对各个实施例则是专用的。
图4表示处理开关输入的步骤S2的流程图。步骤S7检查显示开关是否打开。在显示开关为关闭时,处理返回到主程序。当显示开关为打开时,步骤S8改变显示标记DF。步骤S9检查标记DF是否为“1”。如果是,步骤S10初始化右手显示和步骤S11初始化左手显示。如果不是,步骤S12断开所有显示和步骤S13停止定时器1和2。然后处理返回到主程序。
图5表示初始化右手显示步骤S10的流程图。步骤S14将一右手地址指针RAD设置到乐曲右手部分的起始地址。步骤S15将一定时器寄存器RTIME设置到RAD处存放的数据。数据(RAD)指明一事件到事件时间。步骤S16启动定时器1,从而起动一定时器1中断例程。图6表示每次在定时器1发出中断请求信号时所执行的定时器1中断例程。在此定时器1中断例程中时间数据RTIME递减(S17)。
图7表示初始化左手显示步骤S11的流程图。步骤S18将左手地址指针LAD设置到乐曲左手部分的起始地址。步骤S19将定时器寄存器LTIME设置到LAD处存放的数据,此数据(LAD)指明一事件到事件时间。步骤S20启动定时器2,从而起动一定时器2中断例程。图8表示每当在定时器2输出一中断请求信号时所调用的定时器2中断例程。在此定时器2中断例程中,时间数据LTIME递减(S21)。
图9为处理键输入步骤S3的流程图。步骤S22将键指针N初始化为“0”。在循环S22~S27中,步骤S23检查键指针N所指向的键的状态变化。如此键状态由“OFF”变化到“ON”,对应的键通标记ON(N)被设置为“1”(S24)。如键状态由“ON”变化到“OFF”,对应的键断标记OFF(N)被设置为“1”(S25)。步骤S26增量键指针N。步骤S27检查键指针N有未超过键的数量。如没有,处理返回到步骤S23重复此循环。如果是,处理返回主程序。
图10表示控制音调发生器步骤S4的流程图。步骤S28将键或音符指针N初始化为“0”。在循环S29~S36中,步骤S29检查音符N的键通标记(N)是否为“1”。如果是,CPU1发送一包含作为音高的音符号N的音符出现命令给音调发生器7,这样来控制音调发生器7生成相应的音调(S30)。然后步骤31将键通标记ON(N)复位为“0”。如果步骤S29发现键通标记ON(N)为“0”,步骤S32检测键断标记OFF(N)是否为“1”。如果是,CPU1发送一音符消失命令给音调发生器7,从而控制音调发生器解除音高N的音调(S33)。然后步骤S34将键断标记OFF(N)复位为“0”。步骤S35增量键指针N。步骤S36检查键指针N有未超过键数。如果没有,处理返回到步骤29重复此循环。如果是,处理返回到主程序。
现叙述第一实施例的特点。
图11表示按照此第一实施例ROM5中存放的弹奏乐曲数据的数据结构。此弹奏乐曲数据包括右手部分和左手部分(见图11部分A)。每一乐曲部分包括一系列事件记录,带有插入在相邻事件之间的事件到事件时间数据,如TIME(0),EVENT(1),TIME(1),EVENT(2),TIME(2)等(见图11的部分B和C)。每一事件记录被存储于四个连续的地址上。第一地址存放一音符出现或消失代码。第二地址存放音符号。第三地址存放指明要用来演奏该音符的手指的手指号。第四地址存放用于手指作由上面或下面逾越的DATA1(作为高位)和DATA2(作为低位)。DATA1指明是否作由上面或下面的逾越。DATA1=1指明要作由上面或下面的逾越,而DATA1=0指明不作上下逾越。DATA2指示作由上面或下面的逾越的方向。DATA2=1指示手指以左方向由上面或下面逾越,而DATA2=0则指明手指以右方向由上面或下面逾越。
现参看图12~14说明第一实施例的控制右手显示例程。
图12中,步骤S37检查是否RTIME=0,表明一新的事件时间。如果是,步骤S38增量右手地址指针RAD。步骤S39将音符出现或消失代码(RAD)装载进寄存器RSTATUS。步骤S40增量地址指针RAD。步骤S41将音符号(RAD)装载进右音符寄存器RNOTE。步骤S42增量地址指针RAD。步骤S43将手指号数据(RAD)装载进手指寄存器RUNSI。步骤S44增量地址指针RAD。步骤S45将指明是否作由上面或下面逾越的RAD数据的较高位装载进寄存器DATA1。步骤S46将指明上下逾越的方向的RAD的较低位装载进寄存器DATA2。
然后在图13中步骤S47检测寄存器RSTATUS是音符出现事件还是音符消失事件。为音符出现事件时步骤S48接通对应于RNOTE的键指示灯(LED)。步骤S49接通或增辉LCD12屏幕的右手显示部分上一RUNSI的手指,并显示对应的手指号。步骤S50检查是否DATA1=1,表明作由上面或下面的逾越。如果是,步骤S51检查DATA2以确定作由上面或下面逾越的方向。如果DATA2=1,步骤S52接通或显示左方向箭头。如果DATA2=0,步骤S53接通右方向箭头。如果步骤S50发现DATA1=0,指明手指不作由上面或下面逾越,即无需显示表明作由上面或下面逾越的箭头。步骤S54断开或清除任何存在的箭头。步骤S54因在音符消失时箭头显示可能被消除(见S57)而可以省略。如果步骤S47由RSTATUS发现一音符消失事件,步骤S55断开对应于RNOTE的键指示灯(LED)。步骤S56由左手显示屏幕清除RUNSI的手指的高辉度和清除手指号。步骤S57由显示屏幕断开或清除存在的箭头。在步骤S54、S52、S53或S57之后,执行步骤S58(见图14)增量右手地址指针RAD。步骤S59将事件到事件时间数据(RAD)装载进RTIME。在步骤S59之后或在发现RTIME≠0的步骤S37之后,步骤S60检测RAD是否已到达右手乐曲部分的末尾。如不是,处理返回到主程序。如果是,步骤S61将标记RENDF设置为“1”,指明右手显示结束。步骤S62停止定时器1,从而制止定时器1中断例程(图6)。步骤S63检测标记LENDF是否为“1”,指明左手显示结束。如不是,处理返回到主程序。如果是,步骤S64将显示标记DF设置为“0”。步骤S65断开所有显示,处理返回到主程序。
现在参照图15~17说明第一实施例的控制左手显示例程。
在图15中,步骤S66检查是否为LTIME=0,表明左手乐曲部分的新事件时间。如果是,步骤S67增量左手乐曲地址指针LAD。步骤S68将事件到事件时间数据(LAD)装载进状态寄存器LSTATUS。步骤S69增量地址指针LAD。步骤S70将音符号数据(LAD)装载进左音符寄存器LNOTE。步骤S71增量地址指针LAD。步骤S72将指明要用于演奏此音符的手指的手指号数据(LAD)装载进手指寄存器LUNSI。步骤S73增量地址指针LAD。步骤S74将指明手指是否作由上面或下面逾越的LAD数据的高位装载进寄存器的DATA1。步骤S75将指明作由上面或下面逾越的方向的LAD数据的低位装载进寄存器DATA2。
然后在图16中,步骤S76检查状态寄存器LSTATUS是否是音符出现或音符消失事件时间。如果是,步骤S77接通对应于LNOTE的键指示灯(LED)。步骤S78增辉LCD12显示屏幕的左手显示上的LUNSI的一手指,并显示对应的手指号。步骤S79检查是否为DATA1=1,表明手指作由上面或下面的逾越。如果是,步骤S80检测DATA2以确定作由上面或下面逾越的方向。如果DATA2=1,步骤S81接通或显示左方向箭头。如DATA2=0,步骤S82接通或显示右方向箭头。
如果步骤S79发现DATA1=0,表明手指不作由上面或下面的逾越,即无需显示表明作由上面或下面逾越的方向的箭头。步骤S89从左手显示屏幕断并或清除可能存在的箭头。因为在音符消失时箭头显示可能被清除(见步骤S86),所以可免去步骤S83。如步骤S76从LSTATUS发现音符消失事件,步骤S84断开对应于LNOTE的键指示灯。步骤S85清除LUNSI的手指的增辉和从左手显示屏幕清除对应的手指号。步骤86从左手显示屏幕断开或清除可能存在的箭头。
在步骤S83、S81、S82或S86之后,步骤S87(见图17)增量左手乐曲地址指针LAD。步骤S88将事件到事件时间数据(LAD)装载进LTIME。在步骤S88之后或在发现LTIME≠0的步骤S66之后,步骤S89检查LAD是否已到左手乐曲部分的末尾。如没有,处理返回到主程序。如果是,步骤S90将标记LENDF设置为“1”,指明左手显示结束。步骤S91停止定时器2,从而禁止定时器2中断例程(图8)。步骤S92检查是否为RENDF=1,指明右手显示结束。如不是,处理返回到主程序。如果是,步骤S93将显示标记DF复位为“0”。步骤S94断开所有显示,处理返回到主程序。
以这种方式,此第一实施例采用一存放包含关于音符和要用于演奏音符的手指的信息和关于手指作上下逾越的信息的弹奏乐曲数据的弹奏乐曲存储装置。此第一实施例还采用一存放多个包含作上下逾越的指示的手的图象数据的图象存储装置。当一乐曲演奏时,CPU1以乐曲的演奏速度读取被存储的弹奏乐曲数据。根据从弹奏乐曲存储器得的当前音符记录,CPU1为显示控制选择一适当的图象数据,这样来提供手指作上下逾越的可视图示指示。例如,在右手的中指被用来不作逾越地正常演奏一音符时,LCD12在左手显示部分显示一增辉的中指和对应指号3,如图18A中所示,而键盘2的对应键LED被接通。当右手的拇指必须向下逾越来演奏一音符,LCD12在右手显示部分显示一增辉的拇指、对应指号1和表明作向下逾越的方向的右方向箭头,如图18B中所示。键盘2的对应键LED也被接通。当一演奏者必须控制右手的中指以便向上逾越来演奏一音符时,LCD12在右手显示部分显示增辉的中指、对应指号3和左方向箭头,如图18C中所示。键盘2的对应键LED也被接通。手指作上下逾越的可视图象指示将大大有助于一演奏者在键盘乐器上演奏乐曲。
在此第一实施例中,LCD12可以是分段驱动式的也可以是点(象素)阵式的。在分段驱动式LCD中,由静态驱动分布在显示板上的单个或成组的LCD段来显示或表现各个的图象对象(如手指、箭头)。为控制图象对象的显示,CPU发送给LCD驱动器包含有关于指明构成图象对象的那些段的段号的信息的段接通/断开命令。
这样,各个手图象数据均采取一组段号即ID的形式。图象数据的选择和输出由选择段接通/断开命令并将它们作为显示控制信号发送给LCD驱动器来完成。
对于点阵式的LCD,LCD驱动器或控制器从CPU以一组点或象素的形式接收手图象数据。在更新所显示的手图象时,CPU将新的手图象数据写入LCD控制器中被称为帧或刷新缓存器的存储装置中,而同时LCD控制器周期地扫描并从其读取手图象数据。手图象的源数据可以或者直接由完整的图象的数据或者由间接多个各自表示一图象对象(例如背景、键盘、手、箭头)的图象对象数据来提供。在后一情况中,由选择和组合多个图象对象数据来生成完整的图象。这种组合可能涉及到将一图象对象(例如手)叠加到另一图象对象(例如键盘)上。
这样,手图象数据的选择和输出即通过选择或生成适当的完整图象数据并将它们作为显示控制信号发送给LCD驱动器或控制器来完成。
尽管第一实施例采用LCD作为显示器来显示手图象,但任何合适的显示器,例如CRT,均可以用于此同一目的。
因此,不管显示器的类型或图象数据的数据结构如何,均可作如下表述。
按照本发明的一个方面,即第一实施例的特点,这里提供的用于控制乐曲演奏的导引显示的设备包括用于存放一乐曲的数据的乐曲存储装置,此数据包含有关乐曲音符和要在一键盘乐器上演奏的手指的信息;上下逾越提供装置,用于根据乐曲的数据提供有关手指作上下逾越的信息;图象存储或提供装置,用于存放或提供多个包含作上下逾越的指示的手的图象数据;和显示控制装置,在乐曲被演奏时运行,来根据所提供的有关作上下逾越的信息顺次地选择多个图象数据中适当的一个,以此提供手指作上下逾越的可视图象指示。
也可以作如下表述。按照本发明的一个方面,即第一实施例的特点,提供的用于控制乐曲演奏的导引显示的设备包括存放乐曲的数据的乐曲存储装置,此数据包含有关乐曲音符和要在键盘乐器上演奏的手指的信息;上下逾越提供装置,根据乐曲的数据提供关于手指作上下逾越的信息;和显示控制信号产生装置,在乐曲被演奏时运行来根据所提供的信息逐次产生显示控制信号,此显示控制信号可变换为包含有手指作上下逾越的指示的一系列可视图象。
已讨论了第一实施例的特点与显示器类型和图象数据的数据结构无关性。这种讨论也可应用于本发明的其他实施例,除非另有说明或暗示。
现在说明第二实施例的特点。
图19表示按照第二实施例的存放在ROM5中的弹奏乐曲数据的数据结构。此弹奏乐曲数据包括如第一实施例中那样的右和左手部分(见图19的部分A)。各乐曲部分包括一系列带有插入在相邻事件之间的事件到事件时间数据的事件记录,如TIME(0)、EVENT(1)、TIME(1)、EVENT(2)、TIME(2)等等。每一事件记录被存放在三个连续地地址中。第一地址存放一音符出现或消失代码。第二地址存放音符号数据。第三地址存放指明要被用于演奏此音符的手指的手指号数据。与第一实施例不同,第二实施例的事件记录不含有关于手指作上下逾越的信息。但是,按照此第二实施例,当前手指是否作由上面或下面的逾越可从当前和前面的事件记录来确定,这由以下说明将会理解。
现在参照图20~22说明第二实施例的控制右手显示例行程序。
图20中步骤S95检查是否为RTIME=0,指明音符出现或消失的事件时间。如果对,步骤S96增量右手乐曲地址指针RAD。步骤S97将音符出现或消失代码(RAD)装载进寄存器RSTATUS。步骤S98增量地址指针RAD。步骤S99将音符号数据(RAD)装载进寄存器RNOTE。步骤S100增量地址指针RAD。步骤S101将手指号数据(RAD)装载进寄存器RUNSI。步骤S102检查寄存器RSTATUS是否为一音符出现或音符消失事件。如果是,步骤S103接通对应于RNOTE的键指示灯(LED)。步骤S104接通或增辉RUNSI的手指并在右手显示器上显示对应手指号。在为音符消失事件的情况下,步骤S105断开对应于RNOTE的键指示灯。步骤S106清除RUNSI的手指的增辉并从右手显示器断开或清除可能存在的箭头。
在步骤S104之后,图21步骤中S107由下式计算AA=(RNOTE-BRNOTE)×RUNSI-BRUNSI)其中,RNOTE表示当前音符号,BRNOTE表示一前面的音符号,RUNSI表示当前手指,和BRUNSI表示一前面的手指。步骤108检查A为负数还是正数。如A<0,指明当前手指要作上下逾越,而在A≥0时,则指明不作上下的逾越。例如,设前面的音符号BRNOTE为53(E4,mi),前面的手指号BRUNSI为3(代表中指),当前音符号RNOTE为54(F4,fa)和当前手指号RUNSI为1(拇指)。在此情况中,步骤S107由下式计算A(54-53)×1-3=-2<0。这样A成为负数。作为另一例,设前面音符号BRNOTE为54(F4,fa),前面手指号BRUNSI为1(拇指),当前音符号RNOTE为53(E4,mi)和当前手指号RUNSI为3(中指)。在此情况中,步骤S108计算A(53-54)×3-1)=-2<0。A再次成为负数。这样,若一当前手指必须由上面或下面逾越时,或更具体说,当一当前手指自然地置于一前面的手指的右边而一当前音符(键)位于一前面的音符或键的左边时,或者相反,A就成为一负数。如果数据A为一正数或0,当前手指就无需作由上面或下面的逾越。
当A<0时,步骤S109检查是否为(RNOTE-BRNOTE)<0。这时当前音符低于或位于前面音符的左边时的情形。然后步骤S110接通左方向箭头。如果(RNOTE-BRNOTE)>0,步骤S111接通右方向箭头。如果不为负值(S108)即无需显示箭头。步骤S114断开或清除可能存在的箭头。因为在音符消失时箭头显示有可能被清除(见S106)可以省略S114。在步骤S114、S110或S111之后,步骤S112将RNOTE的数据移动到BRNOTE。步骤S113将RUNSI的数据移动到BRUNSI。
在步骤S113或S106之后,步骤S115增量右手地址指针。步骤S116将表明相邻事件间的时间差的事件到事件时间数据(RAD)装载进时间寄存器RTIME。在步骤S116之后或在发现RTIME≠0的步骤S95之后,步骤S117检查RAD是否已到达右手乐曲的末尾。如没有,处理返回到主程序。如果是,步骤S118将标记RENDF设置为“1”,指明右手显示结束。然后图22中步骤S119停止定时器1。步骤S120检查是否为LENDF=1,表明左手显示的结束。如不是,处理返回主程序。如果是,步骤S(2)将显示标记DF复位“0”。步骤S122断开所有显示,处理返回到主程序。
现在参照图23~25说明第二实施例的控制左手显示例程。
图23中,步骤S123检查是否为LTIME=0,表明新的音符出现或消失事件时间。如果是,步骤S124增量左手地址指针LAD。步骤S125将此音符出现或消失代码(LAD)装载进状态寄存器LSTATUS。步骤S126增量地址指针LAD。步骤S127将音符号数据(LAD)装载进寄存器LNOTE。步骤S128增量地址指针LAD。步骤S129将手指号数据(LAD)装载进寄存器LUNSI。
接着,步骤S130检查寄存器LSTATUS是否为一音符出现或消失事件。在为音符出现事件时,步骤S131接通对应于LNOTE的键指示灯(LED)。步骤S132在左手显示器上接通或增亮LUNSI的手指。在为音符消失事件时,步骤S133断开对应于LNOTE的键指示灯。步骤S134从左手显示器清除LUNSI的手指的增亮,并断开可能有的箭头。
在步骤S132之后,图24中步骤S135计算AA=(LNOTE-BLNOTE)×(LUNSI-BLUNSI)其中,LNOTE表示一当前音符,BLNOTE指一前面音符,LUNSI指一当前手指,和BLUNSI指一前面手指。步骤S136检查是否为A>0,这指明当前手指要作由上面或下面的逾越,而A≤0则表明不作由上面或下面的逾越。
在A>0时,步骤S137检查是否(LNOTE-BLNOTE)<0,表明当前音符低于前面音符。如果当前音符低于前面音符,步骤S138在左手显示器上接通或显示左方向箭头,因为此时左手的拇指由下面逾越。如果(LNOTE-BLNOTE)>0,就是说如果当前音符高于或位于前面音符的右边,步骤139在左手显示器上接通或显示右方向箭头,因为这时左手一手指要由上面逾越来演奏当前音符。如果A≤0(S136),即无需显示箭头。步骤S142从左手显示器上断开或清除可能存在的箭头。因为在音符消失时箭头显示可能被清除(S134)所以步骤S142可省略。在步骤S142、S138或S139之后,步骤S140移动当前音符号LNOTE到BLNOTE。步骤S141将当前手指号LUNSI移动到BLUNSI。在步骤S141或S134后,步骤S143增量左手地址指针。步骤S144将事件-事件时间数据(LAD)装载到LTIME。在步骤S144后或在发现LTIME≠0的步骤S123之后,步骤S145检查左手地址指针是否到达左手乐曲的末尾。如没有,处理返回到主程序。如果是,步骤S146将标记LENDF设置为“1”,表明左手显示结束。步骤S147停止定时器2。
接着,步骤S148检查是否为RENDF=1,表明右手显示结束。如不是,处理返回到主程序。如果是,步骤S149将显示标记DF复位“0”。步骤S150断开所有显示,处理返回到主程序。就这样,第二实施例采用一存放弹奏乐曲数据的弹奏乐曲存储器。此弹奏乐曲数据包括一系列各自包含有关一音符和要用于演奏此音符的手指的信息的音符的记录。第二实施例还采用一存放多个手的图象数据的图象存储器。各图象数据对应于手指与是否作由上面或下面的逾越的一个不同组合。一些对应于手指与作由上面或下面逾越的组合的图象数据包含作由上面或下面逾越的可视图象指示。在程序控制下,CPU用作以乐曲的演奏速度读取弹奏乐曲数据的乐曲读取装置,CPU还用作从当前和前面音符记录确定当前手指是否作上下逾越的确定装置。另外,CPU还用作根据当前音符记录和被确定的结果选择多个图象数据中适当的一个并输出用于显示控制的所选择的图象、从而提供手指作上下逾越的可视图象指示的图象选择和输出装置。在CPU的控制下,LCD鲜明地显示或增亮作上下逾越的手指并显示表明手指作上下逾越的方向的箭头。图18中说明第二实施例提出的运指的可视图象。手指作上下逾越的可视图象表述大大有助于演奏人员在键盘乐器上的乐器演奏。
现说明第三实施例的特点。
图26表示按照第三实施例的ROM5中存放的弹奏乐曲数据的数据结构。弹奏乐曲数据包括右手和左手部分,如图26的A部分所述。各乐曲部分包括带有插在相邻事件间的事件-事件时间数据的一系列事件记录,如TIME(0)、NOTEONEVENT(1)、TIME(1)、NOTEOFFEVENT(2)、TIME(2)等等。每一NOTEONEVENT记录被存放在三个连续地址上(见图26B部分)。第一地址存放音符出现代码。第二地址存放音符号。第三地址存储手指代码。每一音符消失事件记录也存放在三个连续地址上(见图26C部分)。第一地址存放音符消失代码。第二地址存放音符号。第三地址存放手指代码。按照第三实施例手指代码是被编码成为载有关于欲被用于演奏一音符的手指和手指是否作(以及方向)由上面或下面逾越的信息。
对于右手,手指代码被作如下编码。
21拇指22食指
23中指24无名指25小指26拇指向右方由下面逾越27食指向左方由上面逾越28中指向左方由上面逾越29无名指向左方由上面逾越对于左手,手指代码作如下编码31拇指32食指33中指34无名指35小指36拇指向左方由下面逾越37食指向右方由上面逾越38中指向右方由上面逾越39无名指向右方由上面逾越现参照图27~29说明第三实施例的控制右手显示例行程序。
图27中,步骤S151检查是否为RTIME=0,表明音符出现或消失的新事件时间。如果是,步骤S152增量右手乐曲地址指针RAD。步骤S153将事件-事件时间数据(RAD)装载进状态寄存器RSTAUS。步骤S154增量地址指针RAD,步骤S155将音符号数据(RAD)装载进当前音符寄存器RNOTE。步骤S156增量地址指针RAD。步骤S157将手指代码(RAD)装载进寄存器RUNSI。
接着在图28中步骤S158检查状态寄存器RSTATUS是否为一音符出现或音符消失事件。在为音符出现事件时,步骤S159接通对应于RNOTE的键指示灯。步骤S160接通或增亮右手显示器上的RUNSI的手指。步骤S161检查是否为RUNSI=26,表明向右方作由下面逾越的右手拇指。如果是,步骤S162接通或显示右方向箭头。如果RUNSI≠26,步骤S163检查RUNSI是否为27、28或29,表明向左方作由上面逾越的右手手指。如果是,步骤S164接通或显示左方向箭头。如不是,步骤S165断开或清除可能存在的箭头。由于在字符消失时箭头显示可能被清除或断开(见步骤S168)步骤S165可省略。
在为音符消失事件时(S158),步骤S166断开对应于RNOTE的键指示灯(LEDA)。步骤S167从右手显示器断开或清除RUNSI的手指的增亮。步骤S168断开或清除可能有的箭头。在步骤S165或S168之后,图29中步骤S169增量右手地址指针RAD。步骤S170将事件-事件时间数据(RAD)装载进寄存器RTIME。
在步骤S170之后或在发现RTIME≠0的步骤S151之后,步骤S171检查是否为RAD=END,表明右手乐曲结束。如果不是,处理返回主程序。如果是,步骤S172将标记RENDF设置为“1”,表明右手显示结束。步骤S173停止定时器1。步骤S174检查是否为LENDF=1,表明左手显示的结束。如不是,处理返回主程序。如果是,步骤S175将显示标记复位为“0”。步骤S176断开所有显示,处理返回到主程序。
现参照图30~32说明第三实施例的控制左手显示例行程序。
图30中,步骤S177检查是否LTIME=0,表明新的音符出现或消失事件时间。如果是,步骤S178增量左手乐曲地址指针LAD。步骤S179将音符出现或消失代码(LAD)装载进状态寄存器LSTATUS。步骤S180增量地址指针LAD。步骤S181将音符号数据(LAD)装载进寄存器LNOTE。步骤S182增量地址指针LAD。步骤S183将手指代码(LAD)装载进LUNSI。
然后在图31中,步骤S184检查状态寄存器LSTATUS看其为一音符出现事件还是为一音符消失事件。在为音符出现事件时,步骤S185接通对应于LNOTE的键指示灯。步骤S186接通或增亮由LUNSI指定的手指,并接通或显示左手显示器上的对应指号。步骤S187检查是否LUNSI=36,表明向左方作由下面逾越的左手拇指。如果是,步骤S188接通或显示左方向箭头。如LUNSI≠36(S187),步骤S189检查LUNSI是否为37、38或39,表明向右方作由上面逾越的左手手指。如果是,步骤S190接通右方向箭头。如不是,步骤S191从左手显示器断开或清除可能存在的箭头。由于在音符消失事件时箭头显示可能被清除或断开(见S194)可省略步骤S191。
在为音符消失事件时(S184),步骤S192断开对应于LNOTE的键指示灯。步骤S193从左手显示器断开或清除由LUNSI所指定手指的增亮。步骤S194从左手显示器断开或清除可能存在的箭头。在步骤S191、S190、S188或S194之后,图32中步骤S195增量左手地址指针LAD。步骤S196将表明当前的和下一事件间的时间差的事件-事件时间(LAD)装载进寄存器LTIME。
在步骤S196之后或在发现LTIME≠0的步骤S197之后,步骤S197检查左手地址指针LAD是否到达左手乐曲的末尾。如没有,处理返回到主程序。如果是,步骤S198将标记LENDF设置为“1”,表明左手显示的结束。步骤S199停止定时器2。步骤S200检查是否RENDF=1,表明右手显示的结束。如不是,处理返回到主程序。如果是,步骤S201将显示标记DF复位为“0”。步骤202断开所有显示且处理返回到主程序。
可以理解,第三实施例极为相似于第一实施例,除有关手指和手指是否作(和方向)由上面或下面逾越的信息的数据格式外。因此,第三实施例提供手指作上下逾越的可视图象表述,从而大大有助于演奏员在键盘乐器上演奏乐曲。
现在说明第四实施例的特点。
第四实施例所采用的弹奏乐曲数据的数据结构与第三实施例的同样(见图26)。无需再作介绍。
现参照图33~35说明第四实施例的控制右手显示例行程序。
图33中,步骤S203检查是否RTIME=0,表明为新的音符出现或消失事件时间。如果是,步骤S204增量右手乐曲地址指针RAD。步骤S205将音符出现或消失代码(RAD)装载进状态存器RSTATUS。步骤S206增量地址指针RAD。步骤S207将音符号数据(RAD)装载进寄存器RNOTE。步骤S208增量地址指针RAD。步骤S209将手指代码(RAD)装载进寄存器RUNSI。
然后在图34中,步骤S210检查状态寄存器RSTATUS是否为一音符出现或音符消失事件。在为音符出现事件时,步骤S201接通对应于RNOTE的键指示灯。在为音符消失事件时,步骤S224断开对应于一音符的键指示灯。然后步骤S212检查是否是在RUNSI=26时发生一音符出现或消失事件。当是在RUNSI=26时发生音符出现事件时,步骤S213在右手显示器上显示右手拇指作由下面的逾越(见图39A部分)。这样就表现出一手的可视图象,其中右手拇指被增亮和作从例如食指和中指等的手指下面的逾越,并指示出对应指号1和表明作此由下面逾越的方向的箭头。如果在RUNSI=26时发生音符消失事件,步骤S214从右手显示屏清除右手拇指的作由下面逾越的显示。
如RUNSI≠26,步骤S215检查是否是在RUNSI=27时发生音符出现或消失事件。如果是在RUNSI=27时发生音符出现事件,步骤S216在右手显示器上显示右手食指作由上面的逾越。从而呈现出一手的可视图象,其中,右手食指被增亮和作由拇指上面逾越,并且还指明对应指号2和表示作由上面逾越的方向的箭头。如果是在RUNSI=27时发生一音符消失事件,步骤S217清除右手食指由上面逾越的显示。
如RUNSI≠27,步骤S218检查是否是在RUNSI=28时发生一音符出现或者消失事件。如果是在RUNSI=28时发生一音符出现事件,步骤S219在右手显示器上显示右手中指作由上面的逾越。这样即给出一手的可视图象(见图39B),其中右手中指被增亮和由拇指上面逾越,并指明对应指号3和表示由上面逾越的方向的箭头。如果是在RUNSI=28时发生一音符消失事件,步骤S220清除右手中指由上面逾越的显示。
如果RUNSI≠28,步骤221检查是否是在RUNSI≠29时发生的一音符出现或消失事件。如果是在RUNSI=29时发生一音符出现事件,步骤S222在右手显示器上显示右手无名指作由上面的逾越。这样即提供一手的可视图象(见图39C),其中,右手无名指被增辉和作由拇指上面的逾越,并指明对应指号4和表示作由上面逾越的方向的箭头。如果在RUNSI=29时发生音符消失事件,步骤S223清除右手无名指作由上面逾越的显示。
在步骤S222或S223之后,或在发现RUNSI≠29的步骤S221之后,图35中的步骤225增量右手乐曲地址指针。步骤S226将事件一事件时间数据(RAD)装载进寄存器RTIME。
在步骤S226后或在发现RTIME≠0的步骤S203之后,步骤S227检查右手乐曲地址指针是否到达右手乐曲部分的末尾。如没有,处理返回到主程序。如果是,步骤S228将标记RENDF设置为“1”,表明右手显示的结束。步骤S229停止定时器1。S230检查是否LENDF=1,表明左手显示的结束。如不是,处理返回到主程序。如果是,步骤S231将显示标记DF复位为“0”。步骤S232断开所有显示,处理返回主程序。
现在参照图36~38说明第四实施例的控制左手显示例行程序。
图36中,步骤S233检查是否LTIME=0,表明新的音符出现消失事件时间。如果是,步骤S234增量左手乐曲地址寄存器。步骤S235将音符出现或消失代码(LAD)装载进状态寄存器LSTATUS。步骤S236增量地址指针LAD。步骤S237将音符号数据(LAD)装载进寄存器LNOTE。步骤S238增量地址指针LAD。步骤S239将手指代码(LAD)装载进寄存器LUNSI。然后,在图37中,步骤S240检查状态寄存器LSTATUS是否为一音符出现事件或消失事件。在为音符出现事件时,步骤S241接通对应于LNOTE的键指示灯(LED)。在为音符消失事件时,步骤S254断开对应于LNOTE的键指示灯。
然后,步骤S242检查是否是在LUNSI=36时发生音符出现或消失事件。如果是在LUNSI=36时发生音符出现事件,步骤S243在左手显示器上显示左手拇指由下面逾越。这样示出左手的可视图象,其中,左手拇指被增亮和由例如食指及中指等其他手指下面逾越,并指明对应指号1和一表示作由下面逾越的方向的箭头。如果在LUNSI=36时发生一音符消失事件,步骤S244由左手显示器清除左手拇指作从下面逾越的显示。如果步骤S242发现LUNSI≠36,步骤S242检查是否是在LUNSI=37时发生一音符出现或消失事件。如果在LUNSI=37时发生一音符出现或消失事件,步骤S246在左手显示器显示左手食指作由上面的逾越。这样即在显示屏幕上表现一左手的可视图象,其中,左手食指被增亮和作由拇指上面逾越,并指明对应指号2和表示作由上面逾越的方向的箭头。如果在LUNSI=37时发生一音符消失事件,步骤S247清除左手食指作由上面逾越的显示。
如果步骤S245发现LUNSI≠37,步骤S248检查是否是在LUNSI=38时发生一音符出现或消失事件。如果是在LUNSI=38时发生一音符出现事件,步骤S249显示左手中指作由上面逾越。这样,显示屏即表现出一左手的可视图象,其中,中指被增亮和作由拇指上面的逾越,并指明对应指号3和一表示作由上逾越的方向的箭头。如果是在LUNSI=38时发生一音符消失事件,S250清除左手中指作由上面逾越的显示。
如果步骤S248发现LUNSI≠38,步骤S251检查是否是在LUNSI=39时发生一音符出现或消失事件,表明向右方作由上面逾越的无名指。如果在LUNSI=39时发生一音符出现事件,步骤S252显示左手无名指作由上面的逾越。这样,LCD12的显示屏表现一左手的可视图象,其中,无名指被增亮和作由拇指上面的逾越,并指明对应指号4和一表示作由上面逾越的方向的箭头。如果在LUNSI=39时发生一音符消失事件,步骤S253清除左手无名指作由上面逾越的显示。
在步骤S253或S252之后,或在发现LUNSI≠39的步骤S251之后,图38中步骤S255增量左手乐曲地址指针LAD。步骤S256将事件-事件时间(LAD)装载进寄存器LTIME。
在步骤S256之后或在发现LTIME≠0的步骤S233之后,步骤257检查左手乐曲地址指针是否到达左手乐曲部分的末尾。如果没有,处理返回到主程序。如果是,步骤S258将标记LENDF设置为“1”,表明左手显示的结束。步骤S259停止定时器2。步骤S260检查是否RENDF=1,表明右手显示的结束。如果不是,处理返回到主程序。如果是,步骤S261将显示标记DF复位为“0”。步骤S262断开所有显示,处理返回到主程序。
按照第四实施例,用于为演奏乐曲控制导引显示的设备包括一存放弹奏乐曲数据的弹奏乐曲存储器。弹奏乐曲数据包括一系列各自包含有关一音符、被用于演奏此音符的手指和手指是否作(和方向)由上面或下面逾越的信息的音符记录。此设备还包括一存放多个手的图象数据的图象存储器。各图象数据对应于手指与是否作由上面或下面逾越的一个不同组合。对应于手指与作由上面或下面逾越的组合的这样的图象数据包含作由上面或下面逾越的可视手图象指示。在程序的控制下,CPU以乐曲的演奏速度读取弹奏乐曲数据,根据当前读得的音符记录选择适当的图象数据并输出用作显示控制。在演奏乐曲期间,LCD之类的显示器适时地提供手指作上下逾越的可视图象指示,这样来协助演奏者在键盘乐器上作乐曲演奏。
现在说明第五实施例的特点。按照第五实施例,前面音符时间与当前音符时间之间的时间差被用来确定当前的手指是否作由上面或下面逾越。前面音符消失时间与当前音符出现时间之间的时间差确定一休止时间(没有音符的时间)。如果休止时间足够长,即使在手由一个位置移动到另一位置时也无需手指作由上面或下面的逾越。
图40表示ROM5中存放的弹奏乐曲的数据结构。此弹奏乐曲数据包括一系列事件(音符出现或消失)记录。每一音符出现事件记录包括音符出现代码,音符号,速度,指明一要用于演奏该音符的手指的手指号,指明当前音符出现时间与下一音符出现时间之间的时间差的节奏时间,和指明音符延续时间的选通时间。每一音符消失事件记录包括音符消失代码,音符号和设定为“0”的速度。
图41表示处理事件例程程序(控制右或左手显示)的流程图。
步骤S262将预先选择的时间数据装载进寄存器VAL。此预选的时间数据可被存放在ROM5中作为固定的数据,或者可被用户更新并存放在RAMG中作为变量。
在S264~S279的循环中,步骤S264从弹奏乐曲存储器读取新事件记录。步骤S265将音符号数据装载进当前音符寄存器GNOTE。步骤S266将指号数据装载进当前手指寄存器GUNSI。步骤S267检查是否有一音符出现或消失时间到来。当一音符出现时间到来时,步骤S268计算XX=BSTEP-BGATE,其中BSTEP指前面音符出现时间与当前音符出现时间之间的时间差,BGATE指前面音符延续时间。这样,X表明前面音符消失时间与当前音符出现时间之间的休止时间。然后步骤S269以VAL计算X。如果休止时间X短于预选时间值VAL(X<VAL),为演奏当前音符当前手指就可能要作由上面或下面的逾越。这样,步骤S270计算AA=(GNOTE-BNOTE)×GUNSI-BUNSI其中GNOTE指当前音符,BNOTE指前面音符,GUNSI指当前手指,和BUNSI指前面手指。步骤S271检查右手是否A<0,或检查左手是否A>0。如果是,步骤S272检查是否GNOTE-BNOTE>0,表明当前音符高于前面音符。如果是,步骤S273接通或显示右方向箭头,而在不是时,S274接通或显示左方向箭头。然后步骤S275将当前音符数据GNOTE移动到BNOTE,并将当前手指数据GUNSI移动到BUNSI。步骤S276将当前音符出现事件记录的节奏时间数据装载入BSTEP,将选通时间数据装载进BGATE。
如果步骤S269发现X≥VAL,或者如果步骤S271发现或手A<0或左手A>0,步骤S277即将当前音符数据GNOTE移动到BNOTE,将当前手指数据GUNSI移动到BUNSI。步骤S278将当前音符出现事件记录的节奏时间数据装载进BSTEP,将选通时间数据装载进BGATE。步骤S279从手显示器断开或清除可能存在的箭头。在步骤S276或S279之后,处理返回到步骤S264重复此循环。
参照图42A和B说明第五实施例的运行。图42A表明一要由右手演奏的乐曲本身。速度的节拍指示为每分钟120个四分音符。图42B表示被存储的对应于图42A中所示乐曲本体的弹奏乐曲数据。此弹奏乐曲数据中,21、22和23分别代表右手的拇指、食指和中指。由于速度是每分钟120个四分音符,所以各音符出现事件记录E1、E3、E5、E7具有0.5秒的节奏时间。预定时间值VAL可被选择到0.18秒。
响应第一个音符出现事件E1,步骤S269发现X>VAL。从而执行S277、S278和S279,而将BNOTE设置为音符号C3,将BUNSI设置为手指号21,将BSTEP设置为0.5和BGATE设置为0.3。在这种情况下,手显示器上不显示箭头,这样即表明自然地应用右手拇指演奏音符C3而不作下面的逾越。响应第二音符出现事件E3,步骤S269发现X>VA(=0.18),因为X=BSTEP(0.5)-BGATE(0.3)=0.2。从而执行步骤S277~S279,以致将BNOTE设置为音符号D3,BUNSI设置为指号22,BSTEP设置为0.5和BGATE设置为0.3。在此情况下,手显示器上不显示箭头,从而指明自然地应用右手食指演奏音符D3而不作由上面的逾越。
响应第三音符出现事件E5,步骤S269发现X>VAL因为X=BSTEP(0.5)-BGATE(0.3)=0.2。这样即执行步骤S277~S279从而BNOTE被设置为音符号E3,BUNSI被设置为指号23,BSTEP被设置为0.5和BGATG被设置到0.35。手显示器上仍然无箭头显示,以此指示自然地应用右手中指演奏音符而不作由上面的逾越。
响应第四音符出现事件E7,步骤S269发现X<VAL因为X=BSTEP(0.5)-BGATE(0.35)=0.15。这样,执行步骤S270和S271,发现A<0因为A=(F3-E3)×(21-23)=-2。执行步骤S273接通右方向箭头。然后执行步骤S275和S276,从而BNOTE被设置为音符号F3,BUNSI被设置为指号21,BSTEP被设置为0.5和BGATE被设置为0.3。这样,音符出现事件E7使得处理接通或显示右方向箭头,从而指明右手拇指必须由食指和中指下面逾越来演奏音符F3。响应音符消失事件E8,步骤S279被执行,而右方向箭头被从手显示器上断开或清除。
按照本发明第五实施例,CPU计算前面音符消失时间与当前音符出现时间之间的休止时间并利用此休止时间确定当前手指作上下逾越的可能性。特别是,如果此休止时间足够长时,CPU发现当前手指无需作由上或下面逾越。如果休止时间很短,CPU即利用前面和当前音符号数据及前面和当前手指数据检验当前手指作由上面或下面逾越的可能性。如其他实施例那样,第五实施例提供手指作上下逾越的可视图象表述,从而有助于演奏者在键盘上演奏乐曲。仅说明图40所示弹奏乐曲数据的格式。例如,替代节奏时间数据,可采用表明与乐曲开始时的时间距离的时间数据。第五实施例可被应用于作显见修改的具有图11A~C中所示数据结构的弹奏乐曲数据。在图11A~C的数据结构中,代替事件-事件时间数据,可采用表明由乐曲开始测量的时间距离的事件时间数据。
在两种情况下,由前面音符消失时间和当前音符出现时间确定的休止时间按照本发明能方便地从包含在所存储的弹奏乐曲数据计算。
代替休止时间,音符出现事件之间的时间差可被用来确定作由上面或下面逾越的可能性。为此省略步骤S268并修正步骤S269以便将预定的时间值VAL与BSTEP进行比较。如果BSTEP<VAL,过程即按已说明的方式来检验作由上面或下面逾越的可能性(见S270和S271)。如果BSTEP≥VAL,则无需作由上面或下面的逾越。
到此为止的各实施例均是配置来由静止图象指示手指作上下逾越。但这也可以在一运动图象中加以指示。手指作上下逾越的运动图象表述使其细节清晰而使得所显示的运指更逼真。这样的运指操作的运动图象可利动画片来完成。另一方面它也可利用摄影机来作成,它摄取在键盘乐器上作乐曲演奏时的实际运指操作的运动图象。计算机图象可用来提供这样的运动图象。本发明也可被应用于能连接到一电子乐器的组件或欲装在电子乐器内的单元。
现在参照图43~57说明本发明的第六实施例。
图43表示按照本发明第六实施例的电子键盘乐器的系统配置。CPU13利用系统母线14与各部件作数据和命令通讯来控制整个电子键盘乐器。键盘15通过键检测器16向CPU13发出键操作事件。开关17通过开关检测器18向CPU13发出开关操作事件。
程序ROM19存放用于控制CPU13的程序和用于作系统初始化的数据。工作RAM20由CPU13用作为存放处理中的数据的工作区。
乐曲和图象存储器21包括弹奏乐曲存储器和手图象存储器。弹奏乐曲存储器存放乐曲的弹奏乐曲数据。弹奏乐曲数据包括多个乐曲部分或行。例如弹奏乐曲数据包含右和左手部分或行。如果需要,还可以包括自动伴奏部分或行。每一乐曲行(右或左手部分)包括含有关于音符和欲用于演奏音符的手指的信息的音符记录。
图44表示右或左手乐曲行的乐曲数据的数据结构。乐曲数据包括带有被插在相邻事件记录间的事件-事件时间数据的一系列的事件记录。每一事件记录包括音符出现或消失代码,音符号数据,和表明一要用于演奏该音符的手指的指号数据。
手图象存储装置存放多个表征手的运指动作的手图象数据。各手图象数据对应于老和新音符与老和新手指的一个不同组合。在本发明第六实施例中,手图象存储器采取存放多个这样的手图象数据的查找表的形式。各手图象可由新的(下一个)和老的(当前)代码手指的自变元及新的(下一个)音符与老的(当前)音符之差寻址。
这在图53中说明。图53中,第一自变元是所谓的当前手指指号1、2、3、4和5各自代表拇指、食指、中指、无名指和小指。第二自变元是所谓的下一手指指号1、2、3、4和5同样各自代表拇指、食指、中指、无名指和小指。第三自变元是所谓的音符差(NEXTNOTE-CURRENT NOTE)。此音符差在-12至+12的范围内。这样,第六实施例的手图象存储器即总共存放针对新的(下一)和老的(当前)手指与新的(下一)音符与老的(当前)音符的音符差的所有可能组合的625个手图象。
为乐曲演奏作导引显示,CPU13以乐曲演奏速度从弹奏乐曲存储器读取音符记录,根据当前和下一音符记录以手图象存储器选择适当的手图象数据,并将所选择的手图象数据输出给显示器22。
作为适当的手图象数据,最好选择以运动图象方式表征演奏当前和下一音符中手的运指动作的一系列图象数据。
为此目的,第六实施例的一特点是控制CPU13以便作为将一当前音符时间(例如当前音符出现时间)与一下一音符时间(如下一音符出现时间)之间的时间间隔分成为多个(例如4个)时间段的分段装置,为多个时间段中的每一个根据当前和下一音符及当前和下一手指从手图象存储装置选择适当的手图象数据的选择装置,和在每一时间从段的时间输出所选择图象数据从而提供演奏音符中运指动作的可视的生动的图象表述的输出装置。
按照第六实施例的另一特点,CPU13作用为确定当前音符消失时间与下一音符出现时间之间的休止时间是否大于一预定时间值的确定装置。如果确定是,CPU13根据当前音符记录从手图象存储器选择手图象数据。这由利用当前指号作为第一和第二自变元及“O”作为第三自变元(音符差)来查找手图象存储器实现。然后CPU13位移所选择的手图象数据的显示位置并输出最后所得的手图象数据,从而提供动作中手的可视图象表述。
回到图43,显示器22可以是在被选的显示位置显示所选择的手图象的ALCD显示器。定时器23周期地产生并向CPU13供给中断请求信号。中断控制器24对包括来自定时器23的一个中断请求信号的多个中断请求信号作优先级仲裁。音调发生器25在CPU13的控制下产生音调信号。数/模变换器26将来自音调发生器25的数字音调信号变换成相应的模拟信号。放大器27对数/模变换器26来的模拟音调信号进行滤波和电平控制并将最后取得的信号供给发出相应声音的扬声器28。
图45表示驻存在工作RAM20中的变量(寄存器、计数器和标记)。
变量或寄存器REST TIME表明一当前音符消失与下一音符出现时间之间的休止时间。寄存器NOTE-TO-NOTE TIME表明当前音符出现时间与下一音符出现时间之间的时间间隔。寄存器CURRENT NOTE表明当前音符号。寄存器NEXT NOTE表明下一音符号。寄存器BIAS表明当前与下一手指间的正常键距离。键距离BIAS可以是2×(NEXT FINGER-CURRENT FINGER)。这样,键距离BIAS表示用于在键盘上演奏当前和下一音符的当前和下一手指正常地跨越的多个键。
NOTETIME COUNTER被用来计测每1/4 NOTE-TO-NOTETIME的经过时间。TEMPO COUNTER用来计测依赖于实际的乐曲速度并代表乐曲时间单位的速度时间值。ELAPSED TIME COUNTER用来计测乐曲行的经过时间。DISPLAY COUNTER指明时间间隔NOTE-TO-NOTE TIME的一当前时间段。在第一1/4 NOTE-TO-NOTE TIME中,DISPLAY COUNTER设置为“0”。在第二个1/4中它被设置为“1”。同样,在第三和第四1/4中,它被分别设置为“2”和“3”。REST FLAG指明是否存在一音符。REST FLAG在无音符时为“ON”而在存在一音符时则为“OFF”。SHIFT FLAG指明手是否移动来演奏下一音符。当一当前音符消失时间与下一音符出现时间之间的休止时间大于一预定时间值时SHIFT FLAG被设定为“ON”。否则它被复位为“OFF”。图45中所示变量被用于各乐曲部分或行(右手部分,左手部分)。
图46表示按照本发明第六实施例由CPU13执行的主程序的流程图。步骤S280对系统作初始化,包含初始化或清除工作RAM20中的寄存器、计数器和标记。在主循环中,步骤S281处理开关输入。步骤S282处理乐曲数据。步骤S283处理键输入。步骤S284执行其他处理。
图47表示每次定时器23产生一中断请求事件时所调用的定时器中断例程的流程图。步骤S285检查TEMPO COUNTER是否被停止。如果是,处理返回主程序。如不是,步骤S286增量TEMPOCOUNTER。步骤S287检查TEMPO COUNTER是否到达预定的速度时间值。
如果没有,处理返回到主程序。如果是,步骤S302将各行的ELAPPSED TIME COOUNTER清“0”。步骤S303初始化MELODYNOTE SEARCH ADDRESS POINTER到旋律行的起始地址。步骤S304按图49的流程搜索音符。在此搜索音符步骤S304中,确定包含NEXT NOTE和NEXT FINGER的某些变量。这时(乐曲开始时间),NEXT NOTE和NEXT FINGER各自指明旋律行的第一音符出现事件记录中的音符号和手指号。步骤S305将手图象的显示位置初始化为NEXT NOTE。步骤S306选择由(NEXT FINGER,NEXTFINGER,NOTE DIFFERENCE=0)指定的手图象数据。这就是说CPU13利用NEXT FINGER作为第一和第二自变元和利用“0”作为第三自变元来查找手图象存储器中适当的手图象数据。在步骤S306中,CPU13将被选择的手图象数据和显示位置数据发送到显示器22,以使显示器22在一指定位置显示起始手图象。键盘图解可被打印在显示器22的显示屏上。在此情况下,起始手图象被定位成使得下一手指的图象部分能被置于所打印的下一音符键上的位置。此起始手图象表现正常位于键盘上的手。步骤S307将零NODATA装载进CURRENT NOTE。
图50为步骤S182中调用的处理乐曲数据例行程序的流程图。步骤S321初始化行号。在步骤S322~329的循环中,步骤S322检查所有行是否均完成。如不是,步骤S323利用行地址读取新的事件记录。步骤324检查是否EVENT-TO-EVENT TIME≤ELAPSEDTIME。这是音符出现或消失时间到来的情况。如果不是,步骤S325增量LINE NUMBER,处理返回到步骤S322。
如果步骤S324发现EVENT-TO-EVENT TIME≤ELAPSED TIME,步骤S326将ELAPSED TIME设置为ELAPSED TIME-EVENT-TO-EVENTTIME,从而更新ELAPSED TIME。步骤S327按照图51的流程图处理事件。步骤S327将EVENT-TO-EVENT TIME设置为事件记录中的事件-事件时间数据。步骤S329更新LINE ADDRESS。如果步骤S322发现所有行进完成,处理返回到主程序。
图51表示步骤S327中调用的处理事件例行程序的流程图。步骤S330检查是否为音符出现时间。如果是,执行步骤S332~343处理音符出现事件。
详细说,步骤S332禁止定时器中断。步骤S333将音符出现事件记录的音符号装载进CURRENT NOTE和将指号数据装载进CURRENTFINGER。步骤S334将音符出现事件记录的事件-事件时间数据装载进NOTE-TO-NOTE TIME。这时,NOTE-TO-NOTE TIME指明当前音符出现与消失之间的时间,亦即当前音符的延续时间。步骤S335将MELODY NOTE SEARCH ADDRESS更新为下一事件数据地址。步骤S336将REST TIME初始化为“0”。步骤S337调用搜索音符例程(图49)。
现在便于说明图49中所示的搜索音符例行程序。
步骤S308断开REST FLAG。步骤S309断开SHIFT FLAG。步骤S310检查MELODY NOTE SEARCH ADDRESS(旋律音符搜索地址)处的数据是否为结束标志。
如果不是,步骤S311检查MELODY NOTE SEARCH ADDRESS处的数据是否为音符出现代码。
如果不是,步骤S305检查MELODY NOTE SEARCH ADDRESS处的数据是否为音符消失代码。如果是这样,步骤S316接通REST FLAG。
在步骤S316之后或在发现数据不是一音符消失代码的步骤S317之后,步骤S317将事件记录中的事件-事件时间数据加到NOTE-TO-NOTE TIME。现在在NOTE-TO-NOTE TIME的数据指明当前音符出现与下一音符出现之间的时间间隔。步骤S318检查REST FLAG是否被设置。如果是,步骤S319A将事件记录的事件一事件时间数据加到REST TIME。现在,REST TIME指明当前音符消失时间与下一音符出现时间之间的时间差。
在步骤S319A之后或在发现REST FLAG复位的步骤S318之后,执行步骤S319B以更新MELODY NOTE SEARCH ADDRESS。这时,MELODYNOTE SEARCH ADDRESS指针指向下一音符出现事件记录。
这样,在第二次通过此循环时,步骤S311发现一音符出现代码。然后执行步骤S312以检查是否为REST TIME≥REF。这是在当前音符消失与下一音符出现之间的REST TIME大于预定的时间值REF的情况。当为肯定时,执行步骤S313将SHIFT FLAG置位。如果不是,SHIFT FLAG保持为“OFF”。
在步骤S313之后或在对REST TIME≥REF得到NO的步骤S312之后,步骤S314将音符出现事件记录的音符号数据装载到NEXT NOTE并将音符出现事件记录的指号数据装载到NEXT FINGER。在步骤S314之后,搜索音符例程返回到调用例行程序。
如果当前音符出现事件为乐曲行的最后一音符出现事件,搜索音符例程在循环的第一次通过中于步骤S310发现MELODY NOTESEARCH地址处的数据为一结束标志。在这一情况中,执行步骤S320将零NODATA装载进NEXT NOTE。然后,搜索音符例程返回到调用例程。
回到图21,步骤S338(S337之后)将NOTE TIME COUNTER清“0”。步骤S339释放定时器中断。步骤S340将DISPLAY COUNTER初始化为“0”。步骤S341将手图象的显示位置设置到CURRENT NOTE。步骤S342选择由(CURRENT FINGER,CURRENT FINGER,NOTE DIFFERENCE=0)指定的手图象。这就是说利用CURRENT FINGER作为第一和第二自变元和“0”作为第三自变元来查找手图象存储器中的适当的手图象数据。CPU13发送所选择的手图象数据和显示位置数据给显示器22,由此在被指定的位置显示相应的手图象。步骤S343执行音符出现。即就是,CPU13发送音符出现命令给音调发生器25,它即产生相应的音调。
如果步骤S330发现其为音符消失时间,步骤S331即处理此音符消失事件。在步骤S343或S331之后,处理事件例程返回到处理乐曲数据例程(图50)。
图52为定时器中断例程(图47)中步骤S296所调用的控制手显示例程的流程图。步骤S344利用CURRENT FINGER和NEXT FINGER来计算正常键距离BIASBIAS=(NEXT FINGER-CURRENT FINGER)×2步骤S355检查SHIFT FLAG是否置位。这是当在当前音符消失与下一音符出现之间的休止时间大于一预定时间值REF时的情况。
如果SHIFT FLAG被复位,表明休止时间短于预定的时间值,步骤S356即被执行来将DISPLAY POSITION设置到CURRENT NOTE。然后步骤S357选择由(CURRENT FINGER,NEXT FINGER,NOTE DIFFERENCE=BIAS+(NEXT NOTE-CURRENT NOTE-BIAS)×DISPLAY COUNTER/3)所指定的手图象数据。这是指,利用CURRENT FINGER作为第一自变元,NEXT FINGER作为第二自变元,和NOTE DIFFERENCE=BIAS+(NEXTNOTE-CURRENT NOTE-BIAS)×DISPLAY COUNTER/3作为第三自变元来在手图象存储器中查找适当的手图象数据。如果BIAS+(NEXTNOTE-CURRENT NOTE-BIAS)×DISPLAY COUNTER/3<-12,则将NOTEDIFFERENCE设置为-12。如果BIAS+(NEXT NOTE-CURRENT NOTE-BIAS)×DISPLAY COUNTER/3>12,则将NOTE DIFFERENCE限制为12。
显然,被选择的手图象取决于CURRENT FINGER和NEXT FINGER。被选择的手图象也取决于一音符出现与一下一音符出现之间的时间间隔NOTE TO NOTE TIME中的当前时间段,因为DISPLAY COUNTER指明当前时间段。
步骤S357中,CPU13将被选择的手图象和显示位置数据送到显示器22,由此在指定位置显示对应手图象。
现在理解到,所显示的手图象动态地随着当前时间段以及当前手指和下一手指变化。这是一以动画方式表明在演奏当前和下一音符中手的运指动作的生动的手图象表述。
如果步骤S355发现SHIFT FLAG为“ON”,表明休止时间大于预定时间值,则执行步骤S358将DISPLAY POSITION设置为CURRENTNOTE+(NEXT NOTE-CURRENT NOTE-BIAS)×DISPLAY COUNTER/3。这是指,将手显示位置作为时间的函数位移,取决于DISPLAY COUNTER或当前时间段。
然后步骤S359选择由(CURRENT FINGER,CURRENT FINGER,NOTEDIFFERENCE=0)所指定的手图象数据。这是指利用CURRENT FINGER作为第一和第二自变元,“O”作为第三自变元来查找手图象存储器中适当的手图象。
应指出,这里所说的被选择的手图象与当前时间段或DISPLAYCOUNTER无关。
在步骤S359,CPU13将被选择的手图象数据和显示位置数据送给显示器22,在指定位置显示相应的手图象。
因此,在休止时间大于预定时间值时,显示器22提供运动中手的可视图象表述。即就是,所显示的手图象简单地由当前音符演奏位置移动到下一音符演奏位置。
现在参照图54A~C、55A~E、56E和57A~E来说明第六实施例的运行示例。图54A~C中,假定一键盘演奏者利用右手拇指演奏G3音符然后利用小指演奏G4音符(见图54A)。在演奏G3音符时,一由(CURRENT FINGER=1,CURRENT FINGER=1,NOTE DIFFERENCE=O)指定的手图象被选定和显示。这一手图象在图54A~C中未表明,但在屏幕上显示为拇指图象f1对应于C3音符和小指图象f5对应D4音符或邻近。如果在演奏下一音符G4之前没有或只有很小的休止时间,演奏者就必须伸展或张开右手以达到G4音符。为作乐曲演奏导引,在演奏下一音符G4时选择并显示另一手图象,如图54B中所示,其中拇指F1仍然对应于C3音符但现在小指对应于G4音符。这一扩展的手图象被指定为(CURRENT FINGER=1,NEXT FINGER=5,NOTE DIFFERENCE=2)现在假定一键盘演奏者以右手拇指演奏C4音符然后利用中指演奏G3音符。在演奏C4音符时,选择并显示由(CURRENT FINGER=1,CURRENT FINGER=1,NOTE DIFFERENCE=0)指定的一手图象,其中拇指图象f1对应于C4音符及小指通常对应于G4音符。如果在以中指演奏下一音符G3之前没有休止时间或休止时间很小,演奏者就必须控制中指由拇指上面逾越来达到G3音符。为作乐曲演奏导引,在演奏G3音符时选择显示另一手图象,如图54C中所示。这一手图象清楚地指明要由拇指f1上面逾越的中指f3。中指图象f3对应于G3音符而拇指图象f1仍然对应于C4音符。
在图54A~C的讨论中,认为是在每次演奏一音符时设备选择和显示一手图象。
按照第六实施例的运动图象表述特点,所演奏的手图象随音符出现事件之间的时间间隔中的一当前时间段改变,这样,即表明在演奏当前和下一音符中手的更逼真的运指动作。
图55A~E中,弹奏乐曲本体(见图55A)指明C3的全音符由拇指演奏然后B3的全音符由小指演奏。表明音符间无休止。因为CURRENT FINGER为“拇指”而NEXT FINGER为“小指”,拇指与小指间的键距离BIAS即成为BIAS=(5-1)×2=8,如图55B中所示。当前与下一音符间的音符差为(NEXT NOTE B3-CURRENT NOTE C3)=11。因为音符间没有休止,SHIFT FLAG即为“OFF”。当DISPLAYCOUNTER=O时,表明C3音符出现与B3音符出现之间的时间间隔的第一个1/4,就这样选择和显示一手图象(未图示),即拇指图象f1对应于C3音符和小指通常对应G3音符。当DISPLAY COUNTER=1时,表明时间间隔NOTE-TO-NOTE TIME的第二个1/4,则选择和显示如图55C所示的手图象,其中拇指图象f1对应于C3音符和小指对应于A3音符。这一手图象指定为(CURRENT FINGER=1,NEXT FINGER=5,NOTE DIFFENCE=9)。当显示DISPLAY COUNTER=2时,表明C3音符出现与B3音符出现之间的时间间隔的第三个1/4,选择和显示如图55D中所示的一手图象,其中拇指对应于C3音符和小指对应A3与B3音符之间的边界。这一手图象被指定为(CURRENT FINGER=1,NEXT FINGER=5,NOTE DIFFRENCE=10)。当DISPLAY COUNTER=3时,表明C3音符出现与B3音符出现之间的时间间隔的第四个即最后一个1/4,选择和显示一如图55E所示的手图象。此手图象是拇指图象f1对应于C3音符和小指对应B3音符。这一手图象被设定为(CURRENT FINGER=1,NEXT FINGER=5,NOTE DIFFERENCE=11)。就这样,显现出一系列表明伸展的弹奏动作的手图象。
在图56A~E中,弹奏乐曲本体(图56A)指明全音符C4由拇指演奏和下一全音符G3以中指演奏。表明二音符间无休止。由于CURRENT FINGER为“拇指”和NEXT FINGER为“中指”,所以键距离BIAS成为BIAS=(3-1)×2=4。当前与下一音符间的间符差为(NEXT NOTE-CURRENT NOTE)=-5。无休止,所以SHIFT FLAG置于“OFF”。当DISPLAY COUNTER=1时,选择和显示如图56C中所示的手图象。此手图象被指定为(CURRENT FINGER=1,NEXTFINGER=3,NOTE DIFFERENCE=1)并指示中指开始作由上面逾越。当DISPLAY COUNTER=2时,如图56D所示一手图象由(CURRENT FINGER=1,NEXT FINGER=3,NOTE DIFFERENCE=-2)指明,被加以选择和显示。此手图象指明下一阶段中指由上面逾越。当DISPLAY COUNTER=3时,由(CURRENT FINGER=1,NEXT FINGER=3,NOTE DIFFERENCE=-5)指定的如图56E中所示的手图象,被选择和显示。此手图象表示现在在拇指f1对应于C3音符的情况下中指f3到达G3音符。这样即显现出一系列手图象表示一运动图画状态中的逾越运指动作。
图57A~E中,弹奏乐曲本体(见图57A)指明第一个二分音符C4以拇指演奏,后随二分休止,下一个二分音符G3由中指演奏。在这一情况下,键差BIAS成为BIAS=(3-1)×2=4,如图57B所示,当前和下一音符间的NOTE DIFFERENCE成为(NEXT NOTE-CURRENT NOTE)=-5。因为此二分休止足够长,所以SHIFT FLAG被设置为“ON”。
为DISPLAY COUNTER=0时,选择和显示由(CURRENT FINGER=1,NEXT FINGER=3,NOTE DIFFERENCE=-5)指定的手图象,其中拇指图象f1对应于C4音符而小指图象通常对应于G4音符。当DISPLAY COUNTER=1(第二个1/4)时,选择和显示相似的手图象形但显示位置被作向左位移(见图57C)以使得拇指图象f1对应于G3与A3音符间的边缘。拇指的显示位置为C4+(-5-4)×1/3=C4-3。当DISPLAY COUNTER=2(第三个1/4)时,选择和显示相似或同样的手图象但显示位置进一步左移(见图57D)从而使拇指图象f1对应于F3音符。拇指的显示位置由C4+(-5-4)×2/3=C4-6给出。当DISPLAY COUNTER=3(第四个1/4)时选择和显示类似或同样的手图象但显示位置再次左移(见图57E)从而使拇指图象f1对应于D3音符和中指对应于G3音符加以演奏。此拇指的显示位置由C4+(-5-4)×3/3=C4-9给定。就这样顺序选择和显示一系列手图象,表示手由当前音符演奏位置移动到下一音符演奏位置。
已介绍了本发明第六实施例。而按照本发明可作各种不同修正和应用。
例如,在图53的自变元表中,第三变元列“(NEXT NOTE)-(CURRENT NOTE)”不含有关于当前和下一音符的键的类型(白或黑)的信息。第三自变元(音符差)可修改为载有这样的键类型信息,如W-8B下一音符为白键,下一音符低于当前音符8个半音和当前音符为一黑键。在这方面手图象存储器中的各个手图象由经修正的第三自变元结合第一和第二自变元(当前和下一手指)来指定或寻址。
手图象存储器可被修改为使得各个手图象数据对应于二个或更多的逐次演奏音符与要用于演奏这些音符的手指的一个不同的组合。为此,自变元“PREVIOVS FINGER”和“(CURRENT NOTE)-(PREVIOUSNOTE)”可被加到图53的变元表,作为第四和第五自变元。
可将手图象存储器划分成一层二存储器和一层三存储器。层二存储器存放多个各自可由第一至第三自变元寻址的手图象数据而层三存储器存放多个各自可由第一至第五自变元寻址的手图象数据。对于演奏当前或下一音符的演奏者,层二存储器用作显现以自然位置开始的手的运指操作的运动图象的手图象数据源。手的自然位置或在“自然位置中的手”是指手自然地搁置在键盘上。“手位置”一词是指手指的相对位置。层三存储器可被用来在当前音符出现时显现由非自然位(例如手指展开的位置或形式)开始的手的运指操作的运动图象。手的非自然位置取决于前面音符和手指,因为它仍然要受前面音符演奏所左右。
第六实施例的特点便于应用到在非键盘乐器(例如弦乐器)上演奏乐曲的导引显示控制。这由改变所存储的手图象数据的内容以便能适应在被应用的乐器上作运指操作来实现。
在例如吉它的情况下,演奏者利用左手在指盘上运指。对于左手乐曲导引,各个被存储的左手图象数据对应于老和新音符与老和新手指的一个不同组合,提供在指盘上作运指动作的左手图象。对于右手乐曲导引,每一存储的右手图象数据对应于老和新音符与老和新手指的一个不同组合,提供在弦上作运指(如拨弦,弹簧)的右手图象。所存储的乐曲数据中的每一音符和手指记录含有关于弦和欲演奏的华彩部位以及要应用的手指的信息,因为在吉它中音符是由被演奏的弦和华彩所指定的。演奏中,吉它乐曲导引控制按照第六实施例的特点提供在吉它上演奏音符中左手和/或右手的运指的可视生动的图象表述。
现参照图58~61说明本发明的第七实施例。
按照第七实施例,为乐曲演奏控制导引显示的设备采用一可手动操作的速度选择器。由速度选择器输入的速度数据用来计算音符消失事件与音符出现事件之间的休止时间的实际延续长度。将此休止时间的实际延续长度与一预先选定的时间作值相比较。如果此实际休止延续时间短于此预选时间值,设备即以有关本发明第五实施例所描述的方式检验当前手指作由上面或下面逾越的可能性。如果此实际休止延续时间大于预定时间值,设备发现手指无需作由上面或下面的逾越。因此,此设备能提供随乐曲的实际速度改变的可视手图象表述。
图58表示按照第七实施例的电子键盘乐器的系统配置。
图58中的部件1~12基本上与图1中所示的对应部件相同。故无需再说明。
按照第七实施例,提供一速度选择器29。此速度选择器29可由提高或降低乐曲实际速度的增降开关,或者用于输入所希望的速度数据的十键来实现。
第七实施例中存储和应用的弹奏乐曲数据可以与图40中所示的相同。
图55为处理开关输入例程的流程图。
步骤S360检查显示开关(图58中未表示)是否工作。如果是,步骤S361改变显示标记DF。步骤S363检查是否DF=1。如果是,步骤S363初始化右手显示器和步骤S364初始化左手显示器。如果步骤S362发现DF=0,步骤S368清除所有显示,步骤S369停止定量器1和2。
在步骤S364~S369之后,步骤S365检查速度选择器29是否选择了一新速度。如果是,步骤S366相应地更新速度数据TEMPO。然后步骤S367由被更新的速度数据TEMPO确定一定时器中断周期。
图60表示按照第七实施例的控制右手显示的流程图。图61表示按照第七实施例的控制左手显示器的流程图。
图60中,步骤S370~375和S376~S386均与图41中步骤S263~267和S269~S279相同,故无需再作说明。
按照第七实施例,步骤S375计算实际休止延续时间XX=(BSTEP-BGATE)/TEMPO其中BATEP指前面音符出现与当前音符出现之间的时间间隔,TEMPO指由速度选择器29选择的所希望速度。
将实际休止延续时间X与预定的时间值VAL相比较(S269)。如X<VAL,控制右手显示例程以关于第五实施例所述方式检验当前手指作由上面或下面逾越的可能性(S377、S378)。如X≥VAL,此例程发现当前手指无需作由上面或下面逾越。
图61中,步骤S387~393和S395~403与图60的控制右手显示例程中的步骤S370~376和S378~386相同。
步骤S392以与步骤S375同样方式计算实际休止延续时间。
控制左手显示例程执行步骤S395检查是否A>0,而控制右手显示例程执行步骤S378检查是否A<0,出于左右手的对称。
所存储的弹奏乐曲数据可能不包含音符延续时间数据BGATE。在这样的情况下,音符出现事件之间的时间差数据BSTEP可利用速度数据TEMPO被转换成实际时间差。为此,步骤S375、S392被修正来计算音符出现事件之间的实际时间差XX=BSTEP/TEMPO。
如果此实际时间差X大于预定的时间值VAL,控制右手显示例程发现当前手指无需作由上面或下面的逾越。另一方面,如果相邻音符出现事件之间的实际时间差X短于预定时间值,此例程将以所述的方式检验手指作由上面或下面逾越的可能性。
这里结束详细说明。所表示和说明的实施例仅仅是解释性的。本发明技术领域中的普通熟练人士可对之作各种修正。因此本发明的范围只受所附权利要求的限定。
权利要求
1.一种用来控制用于乐曲演奏的导引显示的设备,包括存放乐曲的数据的乐曲存储装置,所述数据包含关于乐曲音符和要在键盘乐器上演奏的手指的信息;作上下逾越提供装置,用于根据所述乐曲的数据提供有关手指作上下逾越的信息;图象存储装置,用于存放多个包含作上下逾越的指示的手的图象数据;和显示控制装置,用于当所述乐曲被演奏时根据所述被提供的有关作上下逾越的信息顺次选择所述多个图象数据中适当的一个,由此提供手指作上下逾越的可视图象指示。
2.权利要求1所述的设备,其特征是所述作上下逾越提供装置包括存放所述有关作上下逾越的信息的存储装置以对应于所述乐曲的数据。
3.权利要求1所述的设备,其特征是所述作上下逾越提供装置包括由关于当前和前面的音符与当前和前面的手指的信息选择地确定当前手指作上下逾越的确定装置,所述信息包含在所述乐曲的数据中。
4.权利要求1所述的设备,其特征是所述多个图象数据包含其中显著地指示作上下逾越的手指的手的图象数据。
5.权利要求1所述的设备,其特征是所述多个图象数据包含其中显著地指示作上下逾越的手指和标明有表示所述手指作上下逾越的方向的箭头的手的图象数据。
6.权利要求1所述的设备,其特征是所述乐曲的数据包括一系列事件数据,各事件数据包含音符、用于演奏所述音符的手指、所述音符的延续时间和音符出现时间的数据项。
7.权利要求1所述的设备,其特征是所述作上下逾越提供装置包括确定装置,用于当一前面的音符消失时间与一当前音符出现时间之间存在大于一预定时间值的休止时间时由包含在所述乐曲的数据中的当前的和前面的音符和手指数据选择确定当前手指不作上下逾越。
8.权利要求1所述的设备,其特征是所述作上下逾越提供装置包括确定装置,用于当一前面的音符出现时间与一当前音符出现时间之间的时间差大于一预定时间值时由所述乐曲的数据中所包含的当前的和前面的音符和手指数据选择确定当前手指不作上下逾越。
9.权利要求7所述的设备,其特征是还包括用于选择所述乐曲的速度的速度选择装置,其中所述确定装置包括用于计算所述休止时间以便能跟随所述被选择速度的计算装置;和用于将计算得的休止时间与所述预定时间值进行比较的比较装置。
10.权利要求8所述的设备,其特征是还包括用于选择所述乐曲的速度的速度选择装置,其中所述确定装置包括用于计算所述时间差以便能跟随所述被选择速度的计算装置;和用于将所述计算得时间差与所述预定时间值比较的比较装置。
11.一种用来控制用于在键盘乐器上作乐曲演奏的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含有关一音符、用于演奏所述音符的手指和所述手指是否作上下逾越的信息;图象存储装置,用于存储手的多个图象数据,各图象数据对应于一个手指和作或不作上下逾越的不同组合,其中对应于一手指和作上下逾越的组合这样的图象数据包含作上下逾越的可视图象指示;乐曲读取装置,用于当所述乐曲被演奏时以所述乐曲的演奏速度由所述弹奏乐曲存储装置读取所述音符记录系列;和图象选择和输出装置,用于根据由所述乐曲读取装置当前读取的音符记录选择多个图象数据中适当的一个并用于输出所述被选择的图象数据供显示控制以此来提供手指作上下逾越的可视图象指示。
12.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于音符和要用于演奏所述音符的手指的信息;图象存储装置,用于存放多个分别对应于手指和是否作上下逾越的一个不同组合的手的图象数据,其中对应于一手指和作上下逾越的组合这样的图象数据包含作上下逾越的可视图象指示;乐曲读取装置,用于在所述乐曲被演奏时以所述乐曲的演奏速度由所述弹奏乐曲存储装置读取所述音符记录系列;由所述乐曲读取装置所读得的当前和前面的音符记录确定当前手指是否作由上下逾越的确定装置;和图象选择和输出装置,用于根据由所述乐曲读取装置读取的当前音符记录和由所述确定装置确定的结果选择所述多个图象数据中适当一个和用于输出所述被选择的图象数据供显示控制以此提供手指作上下逾越的可视图象指示。
13.一种用来控制用于乐曲演奏的导引显示的设备,包括用于存放乐曲的数据的乐曲存储装置,所述数据包含关于乐曲音符和要在键盘乐器上演奏的手指的信息;作上下逾越提供装置,用于根据所述乐曲的数据提供关于手指作上下逾越的信息;和显示控制信号产生装置,用于当所述乐曲被演奏时根据所述被提供的信息连续地产生显示控制信号,所述显示控制信号可变换成包含手指作上下逾越的指示的一系列可视图象。
14.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于音符、要用于演奏所述音符的手指和所述手指是否作上下逾越的信息;乐曲读取装置,用于当所述乐曲被演奏时以所述乐曲的演奏速度由所述弹奏乐曲存储装置读取所述音符记录系列;和显示控制信号产生装置,用于根据由所述乐曲读取装置当前读得的音符记录产生显示控制信号,所述显示控制信号可变换为包含当前手指是否作上下逾越的指示的可视图象。
15.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于一音符和要用于演奏所述音符的手指的信息;乐曲读取装置,用于当所述乐曲被演奏时以所述乐曲的演奏速度由所述弹奏乐曲存储器读取所述音符记录系列;由所述乐曲读取装置读得的当前和前面的音符记录确定当前手指是否作上下逾越的确定装置;和显示控制信号产生装置,用于根据所述乐曲读取装置所读取的当前音符记录和由所述确定装置所确定的结果产生显示控制信号,所述显示控制信号可变换包含当前手指是否作上下逾越的指示的可视图象。
16.一种用来控制在用于在键盘乐曲上演奏乐曲的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于音符和要用于演奏所述音符的手指的信息;图象存储装置,用于存储多个在运指动作中手的图象数据,每一个对应一个老的和新的音符及老的和新的手指的不同组合;乐曲读取装置,用于以所述乐曲的演奏速度从所述弹奏乐曲存储装置读取所述音符记录系列;和显示控制装置,用于根据由所述读取装置读取的当前和下一音符记录从所述多个图象数据中选择适当的图象数据,并用于输出被选择的图象数据供显示控制,以此提供包含有手指作上下逾越的指示的演奏音符中手的运指的可视图象表述。
17.一种用来控制用于在一乐器上演奏乐曲的导引显示的设备,包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于音符和要用于演奏所述音符的手指的信息;图象存储装置,用于存放多个运指操作中手的图象数据,每一个对应音符与手指的一个不同组合,所述音符包含老的和新的音符以及所述手指包含老的和新的手指;乐曲读取装置,用于以所述乐曲的演奏速度从所述弹奏乐曲存储装置读取所述音符记录系列;和显示控制装置,用于响于应所述乐曲读取装置,根据从所述乐曲读取装置读得的包含当前和下一音符的音符记录,从所述多个图象数据中选择适当图象数据,并用于输出所选择的图象数据供显示控制以此来提供演奏音符中手的运指的可视图象表达。
18.权利要求17所述的设备,其特征是每一音符记录包含作为所述关于音符的信息的音符出现或音符消失命令、音符号和音符出现或音符消失时间,和作为所述关于手指的信息的表明要用于在键盘乐器上演奏该音符的手指的手指号。
19.权利要求17所述的设备,其特征是所述图象存储装置包括查找表装置,其存放多个各自可由新的和老的手指的配合及新老音符间的间符差的寻址的图象数据。
20.权利要求17所述的设备,其特征是所述显示控制装置包括用于选择作为所述适当图象数据的、以运动图象方式表达演奏当前和下一音符中手的运指动作的一系列图象数据。
21.权利要求17所述的设备,其特征是所述显示控制装置包括分段装置,用于将当前音符时间与下一音符时间之间的时间间隔划分为多个时间段;选择装置,用于为每一个所述的多个时间段,根据当前和下一音符及当前和下一手指,从所述多个图象数据中选择适当的一手的图象数据;和输出装置,在每一时间段的一时间输出所选择的图象数据,由此提供演奏音符中运指动作的可视的生动图象。
22.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的设备,其特征是包括用于存放乐曲的数据的弹奏乐曲存储装置,所述数据包括一系列音符记录,各记录包含关于一音符和要用于演奏所述音符的手指的信息;图象存储装置,用于存放多个在演奏一音符的动作中手的图象数据,每一个对应老和新音符与老和新手指的一个不同的组合;乐曲读取装置,用于以所述乐曲的演奏速度由所述弹奏乐曲存储装置读取的所述音符记录系列;用于响应所述乐曲读取装置确定当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间的确定装置;图象选择装置,用于当所述确定装置已发现所述休止时间大于预定时间值时根据由所述乐曲读取装置读得的当前音符记录从所述多个图象数据中选择手的图象数据;和图象移位和输出装置,用于移位所述被选择图象数据的显示位置和用于输出得到的图象由此提供动作中手的可视图象表述。
23.一种用来控制用于乐曲演奏的导引显示的方法,包括步骤存储一乐曲的数据,所述数据包含关于乐曲音符和要在键盘乐器上演奏的手指的信息;根据所述乐曲的数据提供关于手指作上下逾越的信息;存储包含作上下逾越的指示的多个手的图象数据;和在所述乐曲被演奏时,根据所述被提供的关于作上下逾越的信息顺次选择所述多个图象数据中适当的一个,由此提供手指上下逾越的可视图象指示。
24.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的方法,包括步骤存储乐曲的数据,所述数据包括一系列音符记录,各记录包含关于音符、用于演奏所述音符的手指和所述手指是否作上下逾越的信息;存储多个分别对应手指与是否作上下逾越的一个不同组合的手的图象数据,其中对应一手指与作上下逾越的组合这样的图象数据包含有作上下逾越的可视图象指示;以所述乐曲的演奏作速度读取所述音符记录系列;和根据当前读取的音符记录选择所述多个图象数据的适当的一个并输出所述被选择的图象数据供显示控制以此来提供手指作上下逾越的可视图象指示。
25.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的方法,包括步骤存储乐曲的数据,所述数据包括一系列音符记录,各记录包含关于音符和要用于演奏所述音符的手指的信息;存储多个分别对应于一手指与是否作上下逾越的一个不同组合的手的图象数据,其中对应一手指与要作上下逾越的组合这样的图象数据包含上下逾越的可视图象指示;以所述乐曲的演奏速度读取所述音符记录系列;由所读出的当前和前面的音符记录确定当前手指定是否作上下逾越;和根据读得的当前音符记录和所确定的结果选择所述多个图象数据中适当的一个,并输出所选择的图象数据供显示控制以此来提供手指作上下逾越的可视图象指示。
26.一种用来控制用于在键盘乐器上演奏乐曲的导引显示的方法,包括步骤存储乐曲的数据,所述数据包括一系列音符记录,各记录包含关于音符和用于演奏所述音符的手指的信息;存放多个运指动作中手的图象数据,每一个对应老和新音符与老和新手指的一个不同组合;以所述乐曲的演奏速度读取所述音符记录系列;和根据读取的当前和下一音符记录从所述多个图象数据中选择适当的图象数据,并输出所选择的图象数据供显示控制以此来提供包含手指作上下逾越的指示的演奏音符中手运指的可视图象表达。
27.一种用来控制用于在键盘乐曲上演奏乐曲的导引显示的方法,包括步骤存储乐曲的数据,所述数据包括一系列音符记录,各记录包含关于一音符和要用于演奏所述音符的手指的信息;存储多个演奏一音符的运指动作中的手的图象数据,每一个对应老和新音符与老和新手指的一个不同组合;以所述乐曲的演奏速度读取所述音符记录系列;确定当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间;当发现所述休止时间大于预定时间值时根据读得的当前音符记录由所述多个图象数据中选择一手的图象数据;和移位所述被选择的图象数据的显示位置和输出得到的图象数据由此提供一动作中手的可视图象表达。
28.一种其上记录程序的存储媒体,所述程序可由计算机读取来控制此计算机起下述装置的作用乐曲存储装置,用于存放乐曲的数据,所述数据包含关于欲在键盘乐器上演奏的乐曲音符和手指的信息;作上下逾越提供装置,用于根据所述乐曲的数据提供关于作上下逾越的信息;图象存储装置,用于存放包含作上下逾越的指示的多个手的图象数据;和显示控制装置,用于当所述乐曲被演奏时根据所述被提供的关于作上下逾越的信息顺次选择所述多个图象数据中适当的图象数据以此来提供关于手指作上下逾越的可视图象指示。
29.一种其上记录程序的存储媒体,所述程序可由计算机读取以控制此计算机起下述装置的作用弹奏乐曲存储装置,用于存放乐曲的的数据,所述数据包括一系列音符记录,各记录包含关于一音符、用于演奏所述音符的手指和所述手指是否作上下逾越的信息;图象存储装置,用于存放多个分别对应于一手指与是否作上下逾越的一个不同组合的手的图象数据,其中对应一手指与作上下逾越的组合这样的图象数据包含作上下逾越的可视图象指示;乐曲读取装置,用于当所述乐曲被演奏时以所述乐曲的演奏速度从所述弹奏乐曲存储装置读取所述音符记录系列;和图象选择和输出装置,用于根据所述乐曲读取装置当前所读取的音符记录选择所述多个图象数据中适当的图象数据并用于输出所述被选择的图象数据供显示控制以此来提供手指的作上下逾越的可视图象指示。
30.一种其中记录一程序的存储体,所述程序可由计算机读取以控制此计算机起下述装置的作用弹奏乐曲存储装置,用于存放一乐曲的数据,所述数据包括一系列音符记录,各记录包含关于一音符和用于演奏所述音符的手指的信息的音符记录;图象存储装置,用于存放多个分别对应于一手指与是否作上下逾越的一个不同的组合的手的图象数据,其中对应一手指与要作上下逾越的组合这样的图象数据包含作上下逾越的可视图象指示;乐曲读取装置,用于当所述乐曲被演奏时以所述乐曲的演奏速度从所述弹奏乐曲存在存储装置读取所述音符记录系列;由所述乐曲读取装置所读取的当前和前面的音符记录确定当前是的否作上下逾越的确定装置;和图象选择和输出装置,用于根据由所述乐曲读取装置读取的当前音符记录和所述确定装置所确定的结果选择所述多个图象数据中的适当图象数据,并用于输出所述被选择的图象数据供显示控制由此提供手指的作上下逾越的可视图象指示。
31.一种其上记录程序的存储媒体,所述程序可由计算机读取以控制此计算机起以下装置的作用弹奏乐曲存储装置,用于存放一乐曲的数据,所述数据包括一系列音符记录,各记录包含有关一音符和一要用于演奏所述音符的手指的信息;图象存储装置,用于存放多个运指操作中的手的图象数据,每一个对应老和新音符与老和新手指的一个不同组合;乐曲读取装置,用于以所述乐曲的演奏速度从所述弹奏乐曲存储装置读取所述音符记录系列;和显示控制装置,用于根据所述乐曲读取装置所读得的当前和前面的音符记录从所述多个图象数据中选择适当图象数据,并用于输出被选择的图象数据供显示控制由此提供包含手指作上下逾越的指示的演奏音符中手的运指的可视图象表述。
32.一种其上记录程序的存储媒体,所述程序可由计算机读取以控制此计算机起以下装置的作用弹奏乐曲存储装置,用于存放一乐曲的数据,所述数据包括一系列音符记录,各记录包含关于一音符和用于演奏所述音符的手指的信息;图象存储装置,用于存放多个运指操作中手的图象数据,每一个对应老和新音符与老和新手指的一个不同组合;乐曲读取装置,用于以所述乐曲的演奏速度从所述弹奏乐曲存储装置读取所述音符记录系列;响应所述乐曲读取装置确定当前音符消失时间与下一音符出现时间之间是否存在大于一预定时间值的休止时间的确定装置;图象选择装置,用于当所述确定装置发现所述休止时间大于预定时间值时根据所述乐曲读取装置所读得的当前音符记录从所述多个图象数据中选择一手的图象数据;和图象移位和输出装置,用于移位所述被选择的图象数据的显示位置并输出移位所得的图象数据由此来提供动作中手的可视图象表述。
全文摘要
乐曲导引仪提供演奏音符中手的运指动作的可视图象指示或表述。在一实施例中,此乐曲导引仪采用一弹奏乐曲存储器和一手图象存储器。当在一键盘乐器上演奏乐曲时,此乐曲导引仪读取弹奏乐曲数据和选择指明演奏当前音符中的运指动作(如手指的作上下逾越)的适当的手图象数据供显示。另一实施例中,此乐曲导引仪以动画方式提供一系列表现演奏音符中运指动作的手图象。
文档编号G09B15/00GK1206173SQ9811558
公开日1999年1月27日 申请日期1998年7月1日 优先权日1997年7月1日
发明者八幡尚, 松山茂 申请人:卡西欧计算机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1