首页> 中国专利> 演奏评价装置和演奏评价程序

演奏评价装置和演奏评价程序

摘要

本发明提供一种演奏评价装置和演奏评价程序。CPU根据程序ROM的程序,按照存储在乐曲存储器中的演奏对象的乐曲数据的内容设定评价对象期间,对该评价对象期间中的乐曲数据的各规定期间的演奏结果进行评价,将该评价结果输出到显示部显示。这样,能够通过在使用者演奏评价对象的乐曲、接受评价时,正确地评价使用者的技能,高效率地实现演奏技术的提高。

著录项

  • 公开/公告号CN1512430A

    专利类型发明专利

  • 公开/公告日2004-07-14

    原文格式PDF

  • 申请/专利权人 卡西欧计算机株式会社;

    申请/专利号CN200310123274.1

  • 发明设计人 加藤仁嗣;松原晃则;

    申请日2003-12-23

  • 分类号G06F19/00;G10K15/08;

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人李香兰

  • 地址 日本国东京都

  • 入库时间 2023-12-17 15:22:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2007-01-03

    授权

    授权

  • 2004-09-22

    实质审查的生效

    实质审查的生效

  • 2004-07-14

    公开

    公开

说明书

技术领域

本发明涉及在演奏训练中对演奏进行评价的演奏评价装置和演奏评价程序。

背景技术

以前,提出有在电子乐器上附加评价演奏状态的系统的方案。这是采用在电子乐器本体上存储构成标准的标准演奏数据,比较该标准演奏数据和通过实际的演奏所供给的实际演奏数据的方法。作为该比较的方法,判断在实际演奏和标准演奏之间,两者的音高以及按键或者离开键的时刻是否一致。

其中,音高的比较是,判断键盘等演奏操作键中是否被操作了正确的操作键,时机则是判断是否以与标准演奏的实际相同的时机操作。

在上述的以往的技术中,音高的评价仅判断与由标准演奏数据指定的音高对应的操作键是否被操作,但是演奏时机的评价必须判断是否为与标准的时机相同的时机、并且慎重地判断是否在规定的容许范围内。因此,必须检测标准演奏时机和实际演奏时机的差,并且必须设想到实际演奏的时机较标准演奏的时机早的情况,进行先读取标准演奏数据等处理。

进行这样的处理,会使在此之外进行电子乐器本身的处理的CPU负担加重,特别是如果要演奏处理速度快的乐曲等时,有可能会使CPU处理不了,引起演奏偏差。

而且,虽然不是乐器演奏训练的领域,但是从评价演奏的观点出发,作为类似的以往的技术,提出了具有为卡拉OK歌唱评分的评分功能的卡拉OK装置。根据该装置,为输入与卡拉OK乐曲的演奏同时歌唱的歌唱声音信号,分析该歌唱声音信号并算出频率、音量,对之进行实时评分的构造。比较卡拉OK乐曲的引导旋律数据和上述频率数据、音量数据,根据其一致性、相异性进行评分。

但是,在上述以往的技术中,由于与卡拉OK乐曲的内容无关,而与引导旋律数据的开始同时开始进行实时的评分即评价,所以从技能上和精神上最困难的歌唱开始的部分开始评分,因此在开始唱出来时失败了的使用者最初受到较低的评价,例如“音程不准”、“节奏不好”、“没有出声“等评价。因此,随后无法改变较差的状态而结束乐曲的情况较多。

而且,与卡拉OK乐曲的引导旋律数据的开始时机同时歌唱,即使不是初学者也很困难。比引导旋律数据的开始时机发声慢或者快都很平常。如果发声慢的时间很短,则会受到一定程度的较高的评价,但是如果发声快的情况下,即使该时间很短,也会得到较低的评价。

这种情况不限于卡拉OK乐曲的歌唱,在乐器的演奏时也同样。例如,在电子键盘乐器中演奏练习曲即评价对象的乐曲、接受该评价的情况下,乐曲的最初的部分抓住时机很困难,特别是对于初学者来说,顺利的演奏开始很少见。因此,在从乐曲的开始到最后都同样地评价的情况下,有可能会过低地评价演奏者即使用者的技能。并且,该演奏开始部分的难易程度随评价对象的乐曲的内容而不同。

因此,与竞争歌唱能力的优劣的比赛的情况不同,在作为音乐教育的一环演奏评价对象的乐曲的情况下,使用者的演奏技术的提高是最大的目的,所以采用上述以前的技术,反而有可能会阻碍使用者的演奏技术的提高。

而且,例如在指示乐曲数据的发音信号中的音高和基于发音开始时机以及发音结束时机的发音期间的情况下,在演奏较指示的发音开始时机快的情况下,不管该时间差为多少,都构成减分的对象。因此,在一面看乐曲数据的乐谱一面根据发音期间的指示演奏的情况下,即使指示的发音开始时机和演奏开始时机大体上一致,在演奏仅比发音开始时机稍快的情况下,也会成为减分的对象,所以不能够正确地评价使用者的技能,在实现演奏技术的提高方面不令人满意。

而且,在电子键盘乐器中演奏课题曲即评价对象的乐曲并接受评价的情况下,在乐曲的最初的部分、乐曲的中途有速度的变化或转调时,旋律线的小段发生较大变化时,抓住时机很困难,特别是对于初学者,顺畅的演奏开始很少见。因此,使用者过于紧张而处于不能演奏的状态的情况很多。在这种情况下,仅进行较低的评价,不仅会使使用者丧失自信,而且很有可能会造成使用者失去对乐器演奏的积极性或兴趣的结果。

所以,与竞争歌唱能力的优劣的比赛的情况不同,在作为音乐教育的一环演奏评价对象的乐曲的情况下,采用上述的以前的技术,不能够对使用者的演奏予以支持。

发明内容

本发明的一个目的为鉴于这种情况而进行的发明,能够减轻演奏评价处理的负担,即使不使用昂贵的CPU也可以进行演奏评价。

而且,本发明的另外的目的为,通过在使用者演奏评价对象的乐曲并接受评价时,正确地评价使用者的技能,高效率地实现演奏技术的提高。

而且,本发明的另外的目的为,通过在使用者演奏评价对象的乐曲并接受评价时,缓和使用者的紧张情绪,使之避免陷入无演奏状态,高效率地支持演奏技术的提高。

并且本发明的另外的目的为,通过在使用者演奏评价对象的乐曲并接受评价时,正确地评价使用者的技能,高效率地实现演奏技术的提高。

即,根据本发明的一个侧面,在顺序供给指示发音的乐音的音高、该乐音的应发生时机以及应消音时机的标准演奏数据的同时,顺序供给由以指定的音高指示乐音的发音的时机和指示消音的时机构成的实际演奏数据。

而且根据该供给的上述标准演奏数据,提取出表示从发音的时机到消音的时机为止的区间的标准开区间,同时根据供给的上述实际演奏数据提取出表示从指示发音的时机到指示消音的时机为止的区间的实际开区间。

而且,检测提取出的上述标准开区间和提取出的上述实际开区间是否重合,仅在检测到上述标准开区间和上述实际开区间重合的情况下,比较与上述标准开区间对应的音高和与实际开区间对应的音高,在判断上述两音高相同的情况下增加评价分,在判断上述两音高不同的情况下减去评价分。

通过具有上述的构造,就不需要象以前那样进行标准演奏和实际演奏的操作时机的差异的检测,或者先行读取标准演奏数据等处理,能够减轻用于演奏评价的CPU的处理负担。而且,由于仅在演奏者进行演奏时增加或者减少评价分数,从而能够进一步得到反映演奏者的演奏水平的评价。

而且,根据本发明的另外的侧面的特征是,按照演奏对象的乐曲数据的内容设定评价对象期间,对该评价对象期间中的乐曲数据的各规定期间的演奏结果进行评价,将评价结果输出到规定的显示装置显示。

通过具有上述的构造,本发明通过将作为评价对象不适当的期间除外,正确地评价使用者的技能,能够高效率地实现演奏技术的提高。

而且,根据本发明的另外的侧面的特征是,评价按照演奏对象的乐曲数据的内容设定的评价对象期间的演奏结果的同时,检测在评价对象期间内应演奏的音符未被演奏的无演奏状态,输出对于该评价结果和无演奏状态的演奏支持。

通过具有上述的构造,由于在检测到应演奏的音符未被演奏的无演奏状态时,输出对于使用者的演奏支持,所以使用者在演奏评价对象的乐曲并接受评价时,通过缓和使用者的紧张情绪,避免陷入无演奏状态,能够得到可以高效率地支持演奏技术的提高的效果。

而且,根据本发明的另外的侧面,在指示乐曲数据的发音信号中的音高和基于发音开始时机以及发音结束时机的发音期间的同时,检测演奏的音高和演奏开始时机。然后,在判断该检测到的音高与指示的音高一致或者不一致的同时,将在指示的发音期间的范围内检测到演奏开始时机的情况、或者从检测到的演奏开始时机开始在规定时间以内指示出发音开始时机的情况判断为时机一致、将其它情况判断为时机不一致。然后在判断为音高一致且判断为时机一致的情况下进行加分的演奏评价、在判断为音高不一致的情况下或通过时机判断装置判断为时机不一致的情况下进行减分的演奏评价。

通过具有上述的构造,通过在使用者演奏评价对象的乐曲并接受评价时,正确地评价使用者的技能,能够高效率地实现演奏技术的提高。

附图说明

图1为表示本发明的各实施形态中的演奏评价装置的构造的框图。

图2为第1实施形态的CPU的演奏评价处理的主流程图。

图3为第1实施形态的开关处理的流程图。

图4为第1实施形态的乐曲选择开关处理的流程图。

图5为第1实施形态的开始/停止开关处理的流程图。

图6为第1实施形态的自动演奏处理的流程图。

图7为上接图6的自动演奏处理的流程图。

图8为上接图6的自动演奏处理的流程图。

图9为第1实施形态的键盘处理的流程图。

图10为第1实施形态的评价处理的流程图。

图11接着图10的评价处理的流程图。

图12为表示对于第1实施形态的评价小节经过数的评价水平的具体例的图。

图13为第1实施形态的引导音符和按键音符的时机图。

图14为第2实施形态的开始/停止开关处理的流程图。

图15为第2实施形态的自动演奏处理的部分流程图。

图16为第2实施形态的自动演奏处理的部分流程图。

图17为第3实施形态的开始/停止开关处理的流程图。

图18为第3实施形态的自动演奏处理的部分流程图。

图19为第3实施形态的评价处理的部分流程图。

图20为表示对于第3实施形态的评价小节经过数的评价水平的具体例的图。

图21为第4实施形态的乐曲选择开关处理的流程图。

图22为上接图21的乐曲选择开关处理的流程图。

图23为第5实施形态的乐曲选择开关处理的流程图。

图24为图2中的自动演奏处理的流程图。

图25为上接图24的自动演奏处理的流程图。

图26为上接图25的自动演奏处理的流程图。

图27为上接图26的自动演奏处理的流程图。

图28为上接图27的自动演奏处理的流程图。

图29为图2中的键盘处理的流程图。

图30为上接图29的键盘处理的流程图。

图31为上接图30的键盘处理的流程图。

图32为计时中断的流程图。

图33为图2中的评价处理的流程图。

图34为上接图33的评价处理的流程图。

图35为表示对于和弦的演奏引导的按键例的图。

图36为表示对于发音开始时机不同的多个音符的演奏引导的按键例的图。

图37为表示对于发音开始时机不同的多个音符的演奏引导,所有的按键都不被操作的情况下的按键例的图。

具体实施方式

下面,参照附图说明基于本发明的演奏评价装置的第1实施形态~第5实施形态。

图1为表示各实施形态中的演奏评价装置的系统构造的框图。在该图中,CPU1经由系统总线2连接着程序ROM3、操作RAM4、乐曲存储器5、键盘6、开关部7、显示部8和音源9,在各部之间传递命令和数据,控制该装置整体。

程序ROM3预先存储着利用CPU1执行的控制程序、演奏评价程序等应用程序、起动时的初始化过程中的初始数据等。操作RAM4具有执行程序所需的各种寄存器和标志的区域。乐曲存储器5存储着演奏的评价对象即多个自动演奏曲的乐曲数据。键盘6对应于演奏操作向CPU1输入键编号和速度。开关部7由选择存储在乐曲存储器5中的乐曲的开关、开始或者停止自动演奏的开始/停止开关等构成。

显示部8显示自动演奏曲即评价对象的乐曲的乐谱或评价结果等。音源9连接着发音电路10,对应于CPU1的发音指示(音符开命令)或消音指示(音符关命令)发生支持演奏者的声源或其它音响信号并向发音电路输出或者停止输出。发音电路10由D/A转换电路、滤波电路、放大电路、扬声器等构成,对应于从音源9输出的音响信号发生乐音。

并且,虽然没有在图中表示,但是在各个键上设置着根据CPU1的演奏指示点亮、进行引导显示的LED。

下面,参照图2~图11所示的CPU1的流程图、以及图12、图13所示的图说明第1实施形态中的动作。

图2(1)为CPU1的演奏评价处理的主流程图,图2(2)为计时中断的流程图。在图2(1)中,进行初始化(步骤A1),清除操作RAM4的各种寄存器,将各种标志重置为“0”,禁止计时中断。初始化之后,反复执行检测开关部7的各开关的开和关的开关处理(步骤A2)、读取从乐曲存储器5选择的评价对象的乐曲的乐曲数据并进行演奏指示的自动演奏处理(步骤A3)、扫描键盘6并检测演奏即按键或离开键的键变化的键盘处理(步骤A4)、对评价对象的乐曲的演奏结果进行评价的评价处理(步骤A5)、以及其它处理(步骤A6)。

在图2(2)中,当每隔设定的一定时间的周期引入计时中断时,将后面所述的寄存器TIME的值减1(步骤A7),回到主流程。

图3为主流程中的步骤A2的开关处理的流程图。首先执行乐曲选择处理(步骤B1),然后执行开始/停止开关处理(步骤B2)。然后进行其它开关处理(步骤B3),回到主流程。

图4为开关处理的步骤B1的乐曲选择开关处理的流程图。判别开始标志STF是否为“0(演奏停止)”(步骤C1),在该标志为“1(自动演奏)”的情况下结束该流程,在该标志为“0”的情况下,判别是否操作了乐曲选择的开关(步骤C2)。在没有开关的操作的情况下结束该流程,在操作了开关时,将由该开关指定的选择曲的编号存储到寄存器M中(步骤C3)。然后结束该流程。

图5为图3中的步骤B3的开始/停止开关处理的流程图。判别开始/停止开关是否为开(步骤D1),在没有开的情况下结束该流程,在开时反转标志STF的值(步骤D2)。然后,判别STF的值是否为“1”(步骤D3)。在STF的值为“1”的情况下开始自动演奏,将由寄存器M的选择曲的编号指定的乐曲(M)的前端地址存储到寄存器AD中(步骤D4)。而且,将乐曲(M)的速度存储到寄存器TEMPO中(步骤D5)。

然后,读取由AD指定的前端地址的乐曲数据的时间(步骤D6),将该时间存储到寄存器TIME中(步骤D7)。然后,设定基于TEMPO的计时中断的周期(步骤D8)。然后,将随着乐曲的进展对从乐曲开始部分开始的音符计数的寄存器N清为“0”(步骤D9),将对用于评价演奏结果的规定数目的音符计数的寄存器T清为“0”(步骤D10)。然后,解除计时中断的禁止(步骤D11)。所以如图2(2)的计时中断所示,TIME的值每经过基于TEMPO的周期减1。

在步骤D3中,STF从“1”反转为“0”时,自动演奏停止,所以禁止计时中断(步骤D12),键盘6的引导显示全部熄灭(步骤D13)。然后回到主流程。

图6~图8为主流程中的步骤A3的自动演奏处理的流程图。判别STF是否为“1”(步骤E1),在STF为“1”、处于自动演奏状态的情况下,判别在各计时中断减1处理的TIME的值是否达到“0”(步骤E2)。在STF为“0”的情况下,或者TIME的值未达到“0”的情况下,结束该流程,在TIME的值达到“0”时,为了读取后面的乐曲数据,使AD的地址向前移动(步骤E3)。然后,进行基于AD的地址的乐曲数据的读取(步骤E4)。

然后,判别读取的乐曲数据是否为END即乐曲结束(步骤E5)。在不是END的情况下,判别该数据是否为音符关闭的信号(步骤E6)。在不是音符关闭的信号的情况下,在图7的流程中,判别数据是否为时间(步骤E13),在为时间的情况下,将该时间存储到TIME中(步骤E14),结束该流程。

在数据不是时间的情况下,判别是否为音符开的信号(步骤E15)。在为音符开的信号的情况下,在寄存器NOTE中存储信号的音符(步骤E16)。然后,与信号的音符相对应点亮键盘6的引导显示(步骤E17)。而且,将引导标志GUIDE ONF设置为“1”(步骤E18)。然后,判别表示按键的有无的标志KEY ONF是否为“1(按键)”(步骤E19)。

在KEY ONF为“1”的情况下,键盘6正在被按键。因此,判别存储在NOTE中的信号的音符和在后面所述的图9的键盘处理中被存储在寄存器KEY中的按键的音符是否一致(步骤E20)。在一致的情况下,即GUIDE ONF被设置为“1”时,在演奏指示的键已经被按键的情况下,在寄存器POINT的值上加上α的值(步骤E21)。在不一致的情况下,即与引导显示的键不同的键被按下的情况下,从POINT的值减去α(步骤E22)。在加上或者减去α后,将评价标志HYOKAF设置为“1”(步骤E23)。在步骤E15中,在数据不是音符开的信号的情况下,进行其它的信号处理(步骤E24)。

在步骤E23中将HYOKAF设置为“1”后,在步骤E19中KEY ONF为“0”的情况下,或者在步骤E24中进行其它信号处理后,转移到图6的步骤E3,使AD的地址向前推进。

在图6的步骤E4中读取的乐曲数据在步骤E6中判别为音符关的信号的情况下,熄灭与信号的音符对应的键的引导显示(步骤E7)。然后,将引导标志GUIDE ONF设置为“0”(步骤E8),对于进行评价的规定期间的一个音符的处理结束,因此将T的音符数加1(步骤E9)。此后,在图8的流程中,判别T的音符数是否达到了基准音符数(步骤E25)。

在T的音符数达到了基准音符数时,将表示是否以显示或者声音等对使用者支持的标志SHIENF设置为“1(支持)”(步骤E26)。然后,将T的音符数清除为“0”(步骤E27)。将T清零后,或者在步骤E25中T的音符数未达到基准音符数的情况下,判别HYOKAF是否为“0”(步骤E28),在为“0”的情况下设置为“1”(步骤E29)。将HYOKAF设置为“1”后,或者在HYOKAF为“1“的情况下,将存储从乐曲的最初开始的音符数的寄存器N的音符数加1(步骤E30)。然后,转移到图6的步骤E3,使AD的地址向前移动。

在图6的步骤E5中,在读取的数据为END的情况下,将STF重置为“0”(步骤E10),将键盘6的引导显示全部熄灭(步骤E11)。而且,禁止计时中断(步骤E12)。然后,结束该流程,回到主流程。

图9为主流程中步骤A4的键盘处理的流程图。在该流程中,判别是否进行键扫描(步骤F1)、有无键变化(步骤F2)。在没有键变化的情况下,结束该流程,回到主流程。在键变化从关变化为开的情况下,即被按键的情况下,将该按键的音符存储到寄存器KEY中(步骤F3)。然后,根据KEY的音符作成音符开命令(步骤F4),将该音符开命令输送至音源9(步骤F5)。然后,将KEY ONF设置为“1”(步骤F6)。

然后,判别GUIDE ONF是否为“1”(步骤E7)。在该标志为“0”的情况下回到主流程,在该标志为“1”、按键指示的键的引导显示点亮的情况下,判别存储在KEY中的音符与存储在NOTE中的按键指示的音符是否一致(步骤F8)。在一致的情况下,即按键指示的键被正确地按下的情况下,在POINT上加上α的值(步骤F9)。在不一致的情况下,即与按键指示的键不同的键被按下的情况下,从POINT减去α的值(步骤F10)。在加上或者减去α的值后,将HYOKAF设置为“1”(步骤F11)。然后回到主流程。

在步骤F2中,在键变化从开变化为关的情况下,即离开键的情况下,将该离开键的音符存储到KEY中(步骤F12)。然后,根据KEY的音符作成音符关命令(步骤F13),将该音符关命令输送到音源9(步骤F14)。然后将KEY ONF重置为“0”(步骤F15)。然后,结束该流程,回到主流程。

图10和图11为主流程中步骤A5的评价处理的流程图。在图10的流程中,首先判别HYOKAF是否为“1”(步骤G1)。在该标志为“1”的情况下将其重置为“0”(步骤G2)。然后,将指定应评价的规定期间的排列P(n)的地址计数器n设置为“0”(步骤G3),在P(n)中代入P(n+1)(步骤G4),将n的值加1(步骤G5)。然后,判别n+1的值是否为评价音符数(步骤G6)。在未达到评价音符数的情况下,转移到步骤G4,重复到步骤G6为止的处理。

在步骤G6中,在n+1的值达到评价音符数的情况下,将POINT的值存储到P(n)中(步骤G7)。将POINT的值存储到P(n)中后,判别标志SHIENF是否为“1”(步骤G8),在SHIENF为“0”的情况下结束该流程,在SHIENF为“1”的情况下将其重置(步骤G9)。

然后,判别存储在N中的从乐曲的最初开始的音符数是否处于比预先设定的2个音符数期间即比D1大、比D2小的期间(步骤G10)。即判别N的音符数是否在除去从乐曲的最初的音符到D1为止的音符、以及从D2的音符到乐曲结束为止的范围期间(评价对象期间)。在存储在N中的音符数不处于该期间的情况下,结束该流程。

在存储在N中的音符数处于比D1大、比D2小的期间的情况下,在图11的流程中,将指定排列P(n)的评价音符数的地址计数器n设置为“0”(步骤G11)。然后,将评价用寄存器HYOKA清除为“0”(步骤G12)。然后,在HYOKA上加上P(n)的值(步骤G13)。然后,将n的值加1(步骤G14),判别n的值是否达到评价音符数(步骤G15)。在未达到评价音符数的情况下,转移到步骤G13,重复到步骤G15为止的处理。

在n的值达到评价音符数的情况下,判别在存储前次的规定期间的评价数据的FHYOKA中是否有评价数据(步骤G16)。在FHYOKA中有评价数据的情况下,判别存储本次的规定期间的评价数据的HYOKA的值为FHYOKA的值以下、还是HYOKA的值比FHYOKA的值高(步骤G17)。即判别本次的规定期间的评价比前次低或者相同、或者比前次高。

在HYOKA的值(本次的评价)为FHYOKA的值(前次的评价)以下的情况下,将指定例如“再加油”等第1声援声音的变量VOICE1(HYOKA)的数据存储到寄存器LANK中(步骤G18)。另一方面,在HYOKA的值比FHYOKA的值大的情况下,或者在FHYOKA中没有评价数据的情况下,将指定例如“状况不错”等第2声援声音的变量VOICE2(HYOKA)的数据存储到寄存器LANK中(步骤G19)。在LANK中存储任何一种声援声音的数据后,产生基于LANK的数据的声援的声音数据(步骤G20)。然后,将HYOKA的值存储在FHYOKA中进行更新(步骤G21),为下一次的规定期间的评价做准备。然后,结束该流程,回到主流程。

图12为表示对于评价小节经过数的评价水平的具体例的图。在该情况下,在演奏对象的乐曲数据中,设定D1=25、D2=8。即评价支持有效范围(评价对象期间)为除去从乐曲的最初到25为止、以及乐曲的总音符数减去8的音符数的范围的图12的箭头所示的期间。而且,评价基准音符数为10个,每评价基准音符数的10个音符数,对按照次序演奏的状态进行评价打分,根据每合计20个音符的评价状况实施演奏支持。即比较对于前次的10个音符的评价和对于本次的10个音符的评价。

因此,在评价音符数经过了20、30、40、50、60、70、80、90、100时,算出之前的20个音符的评价状况。根据该评价状况,利用显示部8发出支持的显示或利用音源9发出声音或效果音的支持。然后,在最初的10个的评价和本次的10个的评价较前次的10个值大的情况下提高评价,在本次的10个的评价较前次的10个值小的情况下降低评价。

图13为表示演奏指示的引导音符和实际的按键的音符的时机的关系的图。在例1的情况下,为在引导音符C3从开到关的期间(引导显示点亮的期间)C3的按键被按下的情况,评价为加分。这与图9的流程中步骤F9的处理(在POINT上加上α)相对应。

在例2的情况下,为在音符C3的按键被按下期间,引导音符C3处于开(引导显示点亮)的情况,评价为加分。这与图7的流程中步骤E21的处理(在POINT上加上α)相对应。

在例3的情况下,为在引导音符C3从开到关的期间E3的按键被按下的情况。即与引导显示的键不同的键被按下的情况,所以评价为减分。这与图9的流程中步骤F10的处理(从POINT减去α)相对应。

如上所述,根据该第1实施形态,CPU1根据演奏对象的乐曲数据的内容设定评价对象期间(图12的评价支持有效范围),对每个该评价对象期间中的乐曲数据的规定期间(基准音符数)的演奏结果进行评价,将该评价结果输出到显示部8显示。因此,通过将不适于作为评价对象的期间除外,正确地评价使用者的技能,能够高效率地实现演奏技术的提高。

在该情况下,CPU1对每乐曲数据的规定的音符数评价演奏结果,所以能够对使用者进行细致的评价,对于演奏技术的提高极其有效。

而且,在该情况下,CPU1对相对于前次的规定期间的演奏结果(寄存器FHYOKA的值)的本次的规定期间的演奏结果(寄存器HYOKA的值)进行评价,所以能够客观地判断使用者的积极性或精力集中的程度等,能够实时地恰当地对使用者进行叱咤激励的支持。

而且,CPU1在评价根据演奏对象的乐曲数据的内容设定的评价对象期间的演奏结果的情况下,检测在该评价对象期间内应被演奏的音符未被演奏的无演奏状态。然后,通过音源9和发音电路10以及显示部8输出对于评价结果以及无演奏状态的演奏支持,所以在使用者演奏评价对象的乐曲并接受评价时,通过缓和使用者的紧张情绪,使其避免陷入无演奏状态,能够高效率地支持演奏技术的提高。

在该情况下,CPU1将评价基准音符数的10个音符数中被演奏的音符数全然没有的状态检测为无演奏状态,所以能够确实可靠地检测出使用者过于紧张而无法演奏的状态。但是,在将评价基准音符数设定为20个音符数或30个音符数左右的情况下,即使演奏的音符数为“2”~“3”,也判断为使用者过于紧张而无法演奏的状态。因此,可以将乐曲数据的规定数目的音符中被演奏的音符数未达到最小值的状态检测为无演奏状态。

并且,CPU1在读取存储在乐曲存储器5中的标准演奏数据即乐曲数据、从该被读取的乐曲数据提取出标准开区间的同时,从由键盘6供给的实际演奏数据提取出实际开区间。然后,如果检测到该两开区间的重合且对应的音高相同,则增加演奏评价的分数,如果虽然检测到两开区间的重合,但是对应的音高不同则减分。因此,不需要如以前那样进行标准演奏和实际演奏的演奏时机的差异的检测、或者进行标准演奏数据的先行读取等处理,减轻了CPU1的处理负担。而且,由于仅在演奏者进行演奏时进行评价分数的加分或者减分,所以能够进行更加反映演奏者的演奏的评价。

下面参照图14~图16所示的CPU1的流程图说明第2实施形态的动作。并且,在第2实施形态中,图2(A)的主流程、图2(B)的计时中断的流程、图3的开关处理的流程、图4的乐曲选择处理的流程、图9的键盘处理的流程、图10和图11的评价处理的流程、以及自动演奏处理的部分流程与第1实施形态相同,所以引用其图纸和说明,就与第1实施形态不同的部分的流程进行说明。

图14为图3的开关处理中步骤B3的开始/停止开关处理的流程图。首先,判别开始/停止开关是否开(步骤H1),在没有开的情况下结束该流程,在开时反转开始标志STF的值(步骤H2)。然后,判别STF的值是否为“1”(步骤H3)。在STF的值为“1”的情况下开始自动演奏,将寄存器M的选择曲的编号指定的乐曲(M)的前端地址存储到寄存器AD中(步骤H4)。而且,将乐曲(M)的速度存储到寄存器TEMPO中(步骤H5)。

然后,读取由AD指定的前端地址的乐曲数据的时间(步骤H6),将该时间存储到寄存器TIME中(步骤H7)。然后,设定基于TEMPO的计时中断的周期(步骤H8)。然后,将时间存储在将随着乐曲的进展对从乐曲开始部分开始的时间计数的寄存器N中(步骤H9),将对评价演奏结果的规定期间内的音符计数的寄存器T清为“0”(步骤H10)。然后,解除计时中断的禁止(步骤H11)。

在步骤H3中,STF从“1”反转为“0”时,自动演奏停止,所以禁止计时中断(步骤H12),键盘6的引导显示全部熄灭(步骤H13)。然后回到主流程。

图15和图16为图2的主流程中步骤A3的自动演奏处理的部分流程图。其余的流程图与第1实施形态中图6所示的相同。在图6的流程中读取的乐曲数据既不是END也不是音符关的情况下,在图15的流程中判别该数据是否为时间(步骤J1),在为时间的情况下,将该时间存储到寄存器TIME中(步骤J2),在N的值上累计时间(步骤J3)。在该第2实施形态中,寄存器N存储从乐曲的开始部分的经过时间,所以将从信号开始到信号为止的时间累计在N的值上。然后结束该流程。

在读取的数据不是时间的情况下,判别是否为音符开的信号(步骤J4)。在为音符开的信号的情况下,在寄存器NOTE中存储信号的音符(步骤J5)。然后,与信号的音符相对应点亮引导显示(步骤J6)。而且,将引导标志GUIDE ONF设置为“1”(步骤J7)。然后,判别表示按键的有无的标志KEY ONF是否为“1(按键)”(步骤J8)。

在KEY ONF为“1”的情况下,判别存储在NOTE中的信号的音符和在图9的键盘处理中被存储在寄存器KEY中的按键的音符是否一致(步骤J9)。在一致的情况下,即GUIDE ONF被设置为“1”时,在演奏指示的键已经被按键的情况下,在寄存器POINT的值上加上α的值(步骤J10)。在存储在NOTE中的信号的音符和在图9的键盘处理中被存储在寄存器KEY中的按键的音符不一致的情况下,从POINT的值减去α(步骤J1 1)。在加上或者减去α后,将评价标志HYOKAF设置为“1”(步骤J12)。在步骤J4中,在数据不是音符开的信号的情况下,进行其它的信号处理(步骤J13)。

在步骤J12中将HYOKAF设置为“1”后,在步骤J8中KEY ONF为“0”的情况下,或者在步骤J13中进行其它信号处理后,转移到图6的步骤E3,使AD的地址向前移动。

在图6的步骤E9中将T的值加1后,在图16的流程中,判别T的音符数是否达到了基准音符数(步骤J13)。在T的音符数达到了基准音符数时,将表示是否对使用者支持的标志SHIENF设置为“1(支持)”(步骤J14)。然后,将T的音符数清除为“0”(步骤J15)。将T清零后,或者在步骤J13中T的音符数未达到基准音符数的情况下,判别HYOKAF是否为“0”(步骤J16),在为“0”的情况下将其设置为“1”(步骤J17)。将HYOKAF设置为“1”后,或者在HYOKAF为“1“的情况下,转移到图6的步骤E3,使AD的地址向前移动。

如上所述,根据该第2实施形态,CPU1每隔乐曲数据的规定的经过时间评价演奏结果,所以能够对使用者进行细致的评价,对于演奏技术的提高极其有效。

而且,根据该第2实施形态,CPU1将在乐曲数据的规定的时间内被演奏的音符数全然没有的状态检测为无演奏状态,所以与实施形态1相同,能够确实可靠地检测出使用者过于紧张而无法演奏的状态。但是,在将构成评价对象的时间范围增大设定的情况下,即使演奏的音符数为“2”~“3”左右,也判断为使用者过于紧张而无法演奏的状态。因此,可以将在乐曲数据的规定的时间内,被演奏的音符数未达到最小值的状态检测为无演奏状态。

下面参照图17至20所示的CPU1的流程图说明第3实施形态的动作。并且,在该第3实施形态中,图2(A)的主流程、图2(B)的计时中断的流程、图3的开关处理的流程、图4的乐曲选择处理的流程、图9的键盘处理的流程、以及自动演奏处理的部分流程和评价处理的部分流程与第1实施形态相同,所以引用其图纸和说明,就与第1实施形态不同的部分的流程进行说明。

图17为图3的开关处理中步骤B3的开始/停止开关处理的流程图。首先,判别开始/停止开关是否开(步骤K1),在没有开的情况下结束该流程,在开时反转开始标志STF的值(步骤K2)。然后,判别STF的值是否为“1”(步骤K3)。在STF的值为“1”的情况下开始自动演奏,将寄存器M的选择曲的编号指定的乐曲(M)的前端地址存储到寄存器AD中(步骤K4)。而且,将乐曲(M)的速度存储到寄存器TEMPO中(步骤K5)。

然后,读取由AD指定的前端地址的乐曲数据的时间(步骤K6),将该时间存储到寄存器TIME中(步骤K7)。然后,设定基于TEMPO的计时中断的周期(步骤K8)。然后,将对评价演奏结果的规定期间内的音符计数的寄存器T清为“0”(步骤K9),解除计时中断的禁止(步骤K10)。然后回到主流程。

在步骤K3中,STF从“1”反转为“0”时,自动演奏停止,所以禁止计时中断(步骤K11),键盘6的引导显示全部熄灭(步骤K12)。然后回到主流程。

图18为图2的主流程中步骤A3的自动演奏处理的部分流程图。其余的流程图与第1实施形态中所示的图6以及第2实施形态中所示的图16相同。在图6的流程中读取的乐曲数据既不是END也不是音符关的情况下,在图18的流程中判别数据是否为时间(步骤L1),在为时间的情况下,将该时间存储到寄存器TIME中(步骤L2)。然后结束该流程。

在数据不是时间的情况下,判别是否为音符开的信号(步骤L3)。在为音符开的信号的情况下,在寄存器NOTE中存储信号的音符(步骤L4)。然后,与信号的音符相对应点亮键盘6的引导显示(步骤L5)。而且,将引导标志GUIDE ONF设置为“1”(步骤L6)。然后,判别表示按键的有无的标志KEY ONF是否为“1(按键)”(步骤L7)。

在KEY ONF为“1”的情况下,键盘6被按键。在该情况下,判别存储在NOTE中的信号的音符和在图9的键盘处理中被存储在寄存器KEY中的按键的音符是否一致(步骤L8)。在一致的情况下,即GUIDEONF被设置为“1”时,在演奏指示的键已经被按键的情况下,在寄存器POINT的值上加上α的值(步骤L9)。在存储在NOTE中的信号的音符和在图9的键盘处理中被存储在寄存器KEY中的按键的音符不一致的情况下,为与引导显示点亮的键不同的键被按下的情况,所以从POINT的值减去α(步骤L10)。在加上或者减去α后,将评价标志HYOKAF设置为“1”(步骤L11)。

在步骤L3中,在数据不是音符开的信号的情况下,判别数据是否有效标志(步骤L12)。在为有效标志的情况下,将标志YUKOF设置为“1”(步骤L13)。在数据不是有效标志的情况下,判别是否为无效标志(步骤L14)。在为无效标志的情况下,将YUKOF重置为“0”(步骤L15)。在数据不是有效标志和无效标志的情况下,进行其它信号处理(步骤L16)。

在步骤L11中将HYOKAF设置为“1”后,在步骤L7中KEY ONF为“0”的情况下,在步骤L13或者L15中将YUKOF设置为“1”或者“0”后,或者在步骤L16中进行其它信号处理后,转移到图6的步骤E3,使AD的地址向前移动。

并且,在图6的步骤E9中将T的值加1后,执行第2实施形态中的图16所示的流程。

图19为主流程中步骤A5的评价处理的流程图。在图19的流程中,首先判别HYOKAF是否为“1”(步骤M1)。在该标志为“1”的情况下将其重置为“0”(步骤M2)。然后,将指定应评价的规定期间的排列P(n)的地址计数器n设置为“0”(步骤M3),在P(n)中代入P(n+1)(步骤M4),将n的值加1(步骤M5)。然后,判别n+1的值是否达到评价音符数(步骤M6)。在未达到评价音符数的情况下,转移到步骤M4,重复到步骤M6为止的处理。

在步骤M6中,在n+1的值达到评价音符数的情况下,将POINT的值存储到P(n)中(步骤M7)。将POINT的值存储到P(n)中后,判别标志SHIENF是否为“1”(步骤M8),在标志为“0”的情况下结束该流程,在标志为“1”的情况下将其重置(步骤M9)。然后,判别标志YUKOF是否为“1”(步骤M10)。在该标志为“0”的情况下结束该流程,在该标志为“1”、正在演奏的乐曲数据的位置为评价支持有效范围即评价对象期间的情况下,转移到第1实施形态中图1 1的流程,进行演奏评价处理。

图20为表示对于评价小节经过数的评价水平的具体例的图。在该情况下,在演奏对象的乐曲数据中插入有有效标志的数据和无效标志的数据。而且,从有效标志到无效标志为止的期间设定为评价支持有效范围即评价对象期间。

在该情况下,在从有效标志到无效标志为止的期间内,评价基准音符数的10个音符数都未被演奏时,检测为无演奏状态。或者,在从有效标志到无效标志为止的期间内,在规定的时间内一次都没有演奏时,检测为无演奏状态。即在图20中,评价小节经过数从“3”到“4”、以及从“7”到“8”的各自的10个音符数均未被弹奏时,将该期间检测为无演奏状态NP。在该情况下,使用者由于过于紧张而陷于不能演奏的状态,所以出如“弹弹看”、“Let’Play”等缓和使用者的紧张情绪、促其演奏的声援。

如上所述,根据该第3实施形态,CPU1对通过包含在乐曲数据中的有效标志和无效标志设定的评价对象期间中的每规定期间(基准音符数)的演奏结果进行评价,将该评价结果输出到显示部8显示。因此,通过根据乐曲的难易程度等内容设定有效标志和无效标志的位置,将不适于作为评价对象的期间除外,正确地评价使用者的技能,就能够高效率地实现演奏技术的提高。

而且,根据该第3实施形态,CPU1将在根据包含在乐曲数据中的有效标志和无效标志设定的评价对象期间的规定的区间(规定数目的音符或者规定时间内的区间)内全然没有被演奏的音符的状态检测为无演奏状态,所以与实施形态1的情况相同,能够确实可靠地检测出使用者过于紧张而无法演奏的状态。在这种情况下,在该区间为较宽的范围的情况下,即使演奏的音符数为“2”~“3”左右,也能够判断为使用者过于紧张而无法演奏的状态。因此,可以将在该区间内演奏的音符数未达到最小值的状态检测为无演奏状态。

下面,参照图21和图22说明第4实施形态的动作。在第4实施形态中,乐曲选择开关处理与上述第1~第3实施形态不同。

在图21中,判别标志STF是否为“0”(步骤N1),在该标志为“0”、处于自动演奏停止状态的情况下,判别乐曲选择开关是否被操作(步骤N2)。在该开关未被操作的情况下,或者在STF为“1”、处于自动演奏状态的情况下,结束该流程,回到主流程。

在步骤N2中,乐曲选择开关被操作时,将选择的乐曲编号存储到寄存器M中(步骤N3)。然后,将“0”存储在3个寄存器SHORT、MID、LONG中清零(步骤N4)。然后,将乐曲(M)数据的开始地址存储到寄存器AD中(步骤N5),通过AD的地址读取乐曲数据(步骤N6),判别读取的数据。判别读取的数据是否为音符开的信号(步骤N7),在为音符开的信号的情况下,将该信号的音符存储到寄存器NOTE中(步骤N8)。

然后,将用于先行读取乐曲数据的地址计数器n设置为“1”(步骤N9),将“0”存储在寄存器TIME中清零(步骤N10)。然后,在图22的流程中,通过在现在的地址上加上地址计数器n的值得到的(AD+n)的地址读取乐曲数据(步骤N11),判别读取的数据的类别(步骤N12)。在数据为时间的情况下,在寄存器T中加上该时间进行累计(步骤N13)。在数据既不是时间也不是音符关、而是其它数据的情况下,将n的值加1(步骤N14),转移到步骤N11,读取后面的乐曲数据。然后,查找乐曲数据中的时间和音符关的信号。

在数据为音符关的情况下,判别该音符关的音符和存储在NOTE中的音符是否一致(步骤N15)。在不一致的情况下,将n的值加1(步骤N14),转移到步骤N11,读取后面的乐曲数据。然后,查找乐曲数据中的时间和NOTE的音符一致的音符关的信号。即测量存储在NOTE中的音符开的信号成为音符关的时间(音长)。

在步骤N15中,音符关的音符和存储在NOTE中的音符一致时,即读取的音符开的音符的音长被存储在寄存器T中时,判别存储在T中的音符的音长为2分音符以上、从4分音符到8分音符的范围、还是16分音符以下(步骤N16)。

在T的音符的音长为2分音符以上时,将寄存器LONG的值加1(步骤N17)。在T的音符的音长为4分音符到8分音符的范围时,将寄存器MID的值加1(步骤N18)。在T的音符的音长为16分音符以下时,将寄存器SHORT的值加1(步骤N19)。在将任意的寄存器的值加1后,或者在图21的步骤N7中数据不是音符开的情况下,将AD的地址加1(步骤N20)。

然后,判别AD的地址是否超过了乐曲数据的最终地址(步骤N22)。在未超过最终地址的情况下,转移到图21的步骤N6,利用AD的地址读取乐曲数据。在AD的地址为最终地址的情况下,判别在3个寄存器SHORT、MID、LONG中存储的音符数为最大值的是哪一个寄存器(步骤N21)。

在寄存器LONG为最大值的情况下,在规定评价支持有效范围(评价对象期间)的寄存器D1和D2的值中分别存储“15”和“92”(步骤N23)。在寄存器MID为最大值的情况下,在D1和D2的值中分别存储“25”和“84”(步骤N24)。在寄存器SHORT为最大值的情况下,在D1和D2的值中分别存储“40”和“68”(步骤N25)。在D1和D2中存储值后,结束该流程,回到主流程。即音长较长的音符多的乐曲,较长地设定评价对象期间。

如上所述,根据该第4实施形态,CPU1根据乐曲数据中从音符的音符开到音符关为止的发音时间的倾向设定评价对象期间,所以通过对于音长较短的音符多的演奏操作的频度高的乐曲,较长地设定从评价对象除外的期间,使使用者能够很从容地演奏;对于音长较长的音符多的演奏频度低的乐曲,缩短从评价对象除外的期间、即扩大评价对象期间,将不适于作为评价对象的期间除去,正确地评价使用者的技能,能够高效率地实现演奏技术的提高。

下面参照图23说明第5实施形态的动作。在第5实施形态中,也与第4实施形态同样,乐曲选择开关处理与上述第1~第3实施形态不同。

首先,判别标志STF是否为“0”(步骤P1),在该标志为“0”、处于自动演奏停止状态的情况下,判别乐曲选择开关是否被操作(步骤P2)。在该开关未被操作的情况下,或者在STF为“1”、处于自动演奏状态的情况下,结束该流程,回到主流程。

在步骤P2中,乐曲选择开关被操作时,将选择的乐曲编号存储到寄存器M中(步骤P3)。然后,将乐曲(M)的速度存储到寄存器TEMPO中(步骤P4)。并且,在规定评价支持有效范围(评价对象期间)的寄存器D1和D2的值上存储NOTE(TEMPO)的音符(步骤P5)。然后,结束该流程,回到主流程。因此,速度越快的乐曲则寄存器D1和D2的值越大,评价对象期间越短。

如上所述,根据该第5实施形态,CPU1按照乐曲数据的速度设定评价对象期间,所以通过对于速度快的乐曲,较长地设定从评价对象除外的期间,使使用者能够很从容地演奏;对于速度低的乐曲,缩短从评价对象除外的期间、即扩大评价对象期间,将不适于作为评价对象的期间除去,正确地评价使用者的技能,能够高效率地实现演奏技术的提高。

下面,参照图24~图37说明第6实施形态的动作。在第6实施形态中,图2的主流程图、图3的开关处理的流程图、图4的乐曲选择开关的流程图和图5的开始/停止SW处理的流程图进行与其它实施形态相同的处理,故省略其说明。

图24~图29为主流程中的步骤A3的自动演奏处理的流程图。判别STF是否为“1”(步骤Q1),在STF为“1”、处于自动演奏状态的情况下,判别在各计时中断减1处理的TIME的值是否达到“0”(步骤Q2)。在STF为“0”的情况下,或者TIME的值未达到“0”的情况下,结束该流程,在TIME的值达到“0”时,为了读取后面的乐曲数据,使AD的地址向前移动(步骤Q3)。然后,进行基于AD的地址的乐曲数据的读取(步骤Q4)。

然后,判别读取的乐曲数据是否为END即乐曲结束(步骤Q5)。在读取的数据为END的情况下,将STF重置为“0”(步骤Q6),将键盘6的引导显示全部熄灭(步骤Q7)。而且,禁止计时中断(步骤Q8),然后,结束该流程,回到主流程。

另一方面,在读取的数据不是END的情况下,在图25的流程图中,判别该数据是否为音符关的信号(步骤Q9)。在判别该数据为音符关的信号的情况下,将信号的数据存储在寄存器NOTE中(步骤Q10),将与NOTE对应的键的引导显示熄灭(步骤Q11)。

然后,在能够利用音源9进行最多N个发音通道的多重演奏、存储最多N个音符的演奏引导的排列寄存器中,将指定排列的地址计数器i设置为初始值“0”(步骤Q12),一面将i的值加1,一面查找与音符关的信号相符的音符。即判别NOTE(i)的音符与NOTE的音符是否一致(步骤Q13),在不一致的情况下,将i的值加1(步骤Q14)。然后判别i的值是否超过了N的值(步骤Q15)。在未超过N的值的情况下,在步骤Q13中判别NOTE(i)和NOTE的音符的一致。

在步骤Q13中,当判别为NOTE(i)的音符和NOTE的音符一致时,在NOTE(i)、时间寄存器NOTETIME(i)、标志NOTEF(i)中存储表示空状态的NULL(步骤Q1 6)。NOTETIME(i)为存储从引导显示的点亮开始时机即信号的发音开始时机到演奏开始时机为止的按键等待容许时间的寄存器。而且,NOTEF(i)为NOTE(i)的音符在发音时为“1”、在消音时为NULL的标志。

在NOTE(i)、NOTETIME(i)、NOTEF(i)中存储NULL后,将标志MF重置为“0”(步骤Q17)。MF为在排列寄存器中最多N个音符全部发音的情况下设置为“1”的标志。因此,在步骤Q16中在NOTE(i)中存储NULL后,排列寄存器的至少1个成为空状态,所以将MF重置为“0”。然后,由于对于进行评价的规定期间的1个音符的处理结束,所以将对音符数即信号数计数的寄存器T的值加1(步骤Q18)。

在步骤Q9中,在数据不是音符关的情况下,在图26的流程图中判别数据是否为时间(步骤Q19)。在为时间的情况下,在寄存器TIME中存储时间的值(步骤Q20),回到主流程。

在数据不是时间的情况下,判别数据是否为音符开(步骤Q21)。在判别为数据不是音符开的信号的情况下,进行其它信号处理(步骤Q22)。然后,转移到图24的流程图的步骤Q3,使AD的地址向前移动。

在图26的步骤Q21中,判别为数据是音符开的情况下,将信号的音符存储在寄存器NOTE中(步骤Q23)。然后,在能够利用音源9进行最多N个发音通道的多重演奏、存储最多N个音符的演奏引导的排列寄存器中,将指定排列寄存器的地址计数器i设置为初始值“0”(步骤Q24),一面将i的值加1,一面查找存储音符开的信号的空状态的区域。即判别NOTE(i)是否为NULL(步骤Q25),在不是NULL的情况下,将i的值加1(步骤Q26)。然后判别i的值是否超过了N的值(步骤Q27)。在超过了N的值的情况下,即没有空状态的排列的情况下,将标志MF设置为“1”(步骤Q28)。在该情况下,NOTE的信号无效,转移到图24的流程图的步骤Q3,使AD的地址向前移动。

另一方面,在图26的步骤Q25中,在NOTE(i)为NULL的情况下,将NOTE的音符存储到NOTE(i)中(步骤Q29),进行与NOTE对应的引导显示(步骤Q30)。在进行引导显示后,在图27的流程图中,将指定存储键盘6的音符的键变化的排列寄存器的地址计数器j设置为初始值“0”(步骤Q31),一面将j的值加1,一面查找在排列KEY(j)中与NOTE的音符一致的区域。

即,判别由地址计数器指定的排列KEY(i)是否为NULL(空状态)(步骤Q32),在不是NULL的情况下判别NOTE的音符与KEY(i)的音符是否一致(步骤Q33)。在KEY(i)为NULL的情况下,或者NOTE的音符与KEY(i)的音符不一致的情况下,将j的值加1(步骤Q34)。然后,判别j的值是否超过了最大数N(步骤Q35)。在j的值超过最大数N的情况下,判别标志MF是否为“0”(步骤Q36)。即在排列KEY(0)~(N)中没有与NOTE的音符一致的音符的情况下,判别在排列NOTE(0)~(N)中是否有空位(MF为“0”)。

在MF为“0”、在排列NOTE(0)~(N)中有空位的情况下,引导按键的音符开的信号有效,表示此时没有与NOTE的音符一致的音符。在该情况下,将NOTEF(i)设置为“1”(步骤Q37),在NOTETIME(i)中存储按键等待容许时间ta(步骤Q38)。而且,由于在KEY(0)~(N)中没有与NOTE的音符一致的音符,所以进行从计算评价分的Point的值减去α的减分(步骤Q39)。然后,将评价标志HYOKAF设置为“1(实行评价)”(步骤Q40)。

在步骤Q35中,在j的值未超过N的情况下,在步骤Q32和步骤Q33中,利用不是NULL的KEY(j)判别有无与NOTE的音符一致的音符。在NOTE的音符与KEY(j)的音符一致的情况下,判别表示KEY(j)的音符是按键状态或者离键状态的标志KEYF(j)为“1(按键状态)”还是NULL(离键状态)(步骤Q41)。在KEYF(j)为“1”的情况下,将KEYF(j)设置NULL(步骤Q42)。

并且,在时间寄存器KEYTIME(j)中存储NULL(步骤Q43)。KEYTIME(j)为存储从演出开始时机到音符开的信号的发音开始时机为止的引导等待容许时间的寄存器。然后,在评价分Point的值上加上α(步骤Q44)。在KEYF(j)为“1”的情况下,为与NOTE的音符对应的引导显示对应的音符已被按下、在引导等待容许时间以内进行了按键引导的情况。因此,为了取消(补正)在步骤Q39中减分的Point,在Point上加上α(步骤Q44)。然后,为了基于NOTE的音符和KEY(j)的音符一致而进行加分,在Point上加上α(步骤Q45)。然后,将HYOKAF设置为“1”(步骤Q40)。

另一方面,在步骤Q41中,由于在KEYF(j)为“0”的情况下,为按照基于NOTE的音符的发音开始时机按键的情况,所以在Point上加上α(步骤Q45)。然后,将HYOKAF设置为“1”(步骤Q40)。

将HYOKAF设置为“1”后,或者在步骤Q36中MF为“1”的情况下,转移到图24的步骤Q3,使AD的地址向前移动。

在图25的步骤Q18中将T的值加1后,或者在步骤Q15中指定演奏引导的排列寄存器的地址计数器i的值超过最大值N的情况下,在图28的流程图中,判别演奏的音符数是否超过了基准音符数(步骤Q46)。在T的音符数达到基准音符数时,将表示是否用显示或声音等对使用者进行支持的标志SHIENF设置为“1(支持)”(步骤Q47)。然后,将T的音符数清除为“0”(步骤Q48)。将T清零后,或者在步骤Q46中T的音符数未达到基准音符数的情况下,判别HYOKAF是否为“0”(步骤Q49),在为“0”的情况下设置为“1”(步骤Q50)。将HYOKAF设置为“1”后,或者在HYOKAF为“1”的情况下,将存储从乐曲的最初部分开始的音符数的寄存器N的音符数加1(步骤Q51)。然后,转移到图24的步骤Q3,使AD的地址向前移动。

图29~图31为主流程中步骤A4的键盘处理的流程图。在图29中,首先判别是否进行键扫描(步骤R1)、有无键变化(步骤R2)。在没有键变化的情况下,结束该流程,回到主流程。在键变化从开变化为关的情况下,即离开键的情况下,将该离开键的音符存储到KEY中(步骤R3)。然后,根据KEY的音符作成音符关命令(步骤R4),将该音符关命令输送至音源9(步骤R5)。

然后,将指定键变化的排列寄存器的地址计数器j设置为初始值“0”(步骤R6),一面将j的值加1,一面查找离开键的音符的区域。即判别KEY(j)是否为NULL(步骤R7),在不是NULL的情况下、即不是空状态的情况下判别KEY(j)的音符与KEY的音符是否一致(步骤R8)。在KEY(j)为NULL的情况下,或者KEY(j)的音符与KEY的音符不一致的情况下,将j的值加1(步骤R9)。然后,判别j的值是否超过了排列的最大值N(步骤R10)。在j的值没有超过最大值N的情况下,在步骤R7和步骤R8中,判别在不是NULL的KEY(j)中、KEY(j)的音符与KEY的音符是否一致。

在KEY(j)的音符与KEY的音符一致的情况下,在KEY(j)、KEYTIME(j)、KEYF(j)中存储NULL(步骤R11)。然后,将表示键变化的排列寄存器没有空位或者有空位的标志FF设置为“0(有空位)”(步骤R12)。然后,或者在步骤R10中,在j的值超过最大值N的情况下,回到主流程。

在步骤R2中,键变化从关变化为开的情况下,即被按键的情况下,在图30的流程图中,将该按键的音符存储到寄存器KEY中(步骤R13)。然后,根据KEY的音符作成音符开命令(步骤R14),将该音符开命令送到音源9(步骤R15)。然后,将指定键变化的排列寄存器的地址计数器j设置为初始值“0”(步骤R16),查找存储按键的音符的区域。

即判别KEY(j)是否为NULL(空状态)(步骤R17),在不是NULL的情况下,将j的值加1(步骤R18)。然后,判别j的值是否超过最大值N(步骤R19)。在j的值超过最大值N的情况下,将标志FF设置为“1(没有空位)”(步骤R20)。在j的值没有超过最大值N的情况下,在步骤R17中,判别KEY(j)是否为NULL。

在KEY(j)为NULL的情况下,或者在FF为“1”的情况下,将指定演奏引导的排列的地址计数器i设置为初始值“0”(步骤R22),一面将i的值加1,一面检索排列NOTE(i)的内容。即判别NOTE(i)是否不是NULL(步骤R23),在NOTE(i)不是NULL的情况下,判别NOTE(i)的音符与KEY的音符是否一致(步骤R24)。

在步骤R23中,判别NOTE(i)为NULL的情况下,或者在步骤R24中,NOTE(i)的音符与KEY的音符不一致的情况下,在图31的流程图中,将i的值加1(步骤R30)。然后,判别i的值是否超过演奏引导的排列的最大值N(步骤R31)。在i的值没有超过N的值的情况下,在图30的步骤R23中,判别NOTE(i)是否为NULL。

在步骤R3 1中,i的值超过N的值的情况下,判别标志FF是否为“0(有空位)”(步骤R32)。在FF为“1”的情况下,为在键变化的排列中没有空位的状态。在该情况下回到主流程。另一方面,在FF为“0”的情况下,按键的音符有效,为仍未被引导的状态。在该情况下,从Point减去α(步骤R33)。然后,将KEYF(j)设置为“1”(步骤R34),在KEYTIME(j)中存储引导等待容许时间tb(步骤R35)。然后,将HYOKAF设置为“1(实行评价)”(步骤R36)。

在图30的步骤R24中,NOTE(i)的音符与KEY的音符P一致的情况下,判别NOTEF(i)是否为“1”(步骤R25)。在NOTEF(i)为“1”的情况下,即在引导等待容许时间ta内,引导演奏的键被按下的情况下,在评价分的寄存器Point上加上α(步骤R26)。即取消在图31的步骤R33中减分的Point的值。

然后,在NOTE(i)中存储NULL(空状态)(步骤R27),在图31中,在NOTETIME(i)中存储NULL(步骤R28)。然后,在评价分的寄存器Point中加上α(步骤R29)。即通过与演奏引导的音符一致的按键,再次增加评价分。然后,将HYOKAF设置为“1(实行评价)”(步骤R36)。

在图30的步骤R25中,NOTEF(i)为NULL的情况下,按照按键引导的音符按键的音符一致,所以在图31的步骤R29中,在评价分的寄存器Point中加上α。然后,将HYOKAF设置为“1(实行评价)”(步骤R36)。然后回到主流程。

图32为计时中断的流程图。根据每隔一定时间的计时中断,将寄存器TIME的值减1(步骤S1)。而且,将指定演奏引导的排列寄存器的地址计数器i设置为初始值“0”(步骤S2),一面将i的值加1,一面重复从步骤S3到步骤S9的循环处理。

在该循环处理中,首先判别NOTETIME(i)是否为NULL(步骤S3),在不是NULL的情况下将NOTETIME(i)的值(初始值为ta)减1(步骤S4)。然后,判别NOTETIME(i)的值是否达到“0”(步骤S5)。即判别是否经过按键等待容许时间ta后仍未按键。在NOTETIME(i)的值达到“0”时,在NOTETIME(i)中存储NULL(步骤S6),在NOTEF(i)中存储NULL(步骤S7)。在该情况下,由于在音符开的信号的发音开始时机后面按键的演奏开始时机过于晚,所以取消按键等待。

在步骤S7中在NOTEF(i)中存储NULL后,或者在步骤S3中NOTETIME(i)为NULL的情况下,或者在步骤S5中NOTETIME(i)的值没有达到“0”的情况下,将i的值加1(步骤S8),判别i的值是否超过排列的最大值N(步骤S9)。在i的值没有超过N的值的情况下,转移到步骤S3,重复循环处理。

在步骤S9中,在i的值超过N的值时,结束上述循环处理,将指定键变化的排列寄存器的地址计数器j设置为初始值“0”(步骤S10),一面将j的值加1,一面重复从步骤S11到步骤S17的循环处理。

在该循环处理中,首先判别KEYTIME(j)是否为NULL(步骤S11),在不是NULL的情况下,将KEYTIME(j)的值(初始值为tb)减1(步骤S12)。然后,判别KEYTIME(j)的值是否达到“0”(步骤S13)。即判别是否经过引导等待容许时间tb后仍没有引导。在KEYTIME(j)的值达到“0”时,在KEYTIME(j)中存储NULL(步骤S14),在KEYF(j)中存储NULL(步骤S15)。即由于在音符开的信号的发音开始时机前按键的演奏开始时机过于早,所以取消引导等待。

在步骤S15中,在KEYF(j)中存储NULL后,或者在步骤S11中KEYTIME(j)为NULL的情况下,或者在步骤S13中KEYTIME(j)的值没有达到“0”的情况下,将j的值加1(步骤S 16),判别j的值是否超过排列的最大值N(步骤S17)。在没有超过N的值的情况下,转移到步骤S11,重复循环处理。在j的值超过N的值时,结束上述循环处理,回到主流程。

并且,按键等待容许时间ta和引导等待容许时间tb可以按照使用者的设定变更。而且,也可以不设定按键等待容许时间ta,而将在从音符开到音符关为止的发音期间内按键的情况视为时机一致,进行加分。

图33和图34为主流程中步骤A5的评价处理的流程图。在图33的流程中,首先判别HYOKAF是否为“1”(步骤T1)。在该标志为“1”的情况下将其重置为“0”(步骤T2)。然后,将指定应评价的规定期间的排列P(n)的地址计数器n设置为“0”(步骤T3),在P(n)中代入P(n+1)(步骤T4),将n的值加1(步骤T5)。然后,判别n+1的值是否达到评价音符数(步骤T6)。在未达到评价音符数的情况下,转移到步骤T4,重复到步骤T6为止的处理。

在步骤T6中,在n+1的值达到评价音符数的情况下,将POINT的值存储到P(n)中(步骤T7)。将POINT的值存储到P(n)中后,判别标志SHIENF是否为“1(步骤T8),在SHIENF为“0”的情况下结束该流程,在SHIENF为“1”的情况下将其重置(步骤T9)。

然后,判别存储在N中的从乐曲的最初开始的音符数是否处于比预先设定的2个音符数期即比D1大、比D2小的期间(步骤T10)。即判别N的音符数是否在除去从乐曲的最初的音符到D1为止的音符、以及从D2的音符到乐曲结束为止的范围期间(评价对象期间)。在存储在N中的音符数不处于该期间的情况下,结束该流程。

在存储在N中的音符数处于比D1大、比D2小的期间的情况下,在图29的流程中,将指定排列P(n)的评价音符数的地址计数器n设置为“0”(步骤T11)。然后,将评价用寄存器HYOKA清除为“0”(步骤T12)。而且,在HYOKA上加上P(n)的值(步骤T13)。然后,将n的值加1(步骤T14),判别n的值是否达到评价音符数(步骤T15)。在未达到评价音符数的情况下,转移到步骤T13,重复到步骤T15为止的处理。

在n的值达到评价音符数的情况下,判别在存储前次的规定期间的评价数据的FHYOKA中是否有评价数据(步骤T16)。在FHYOKA中有评价数据的情况下,判别存储本次的规定期间的评价数据的HYOKA的值为FHYOKA的值以下、还是比HYOKA的值比FHYOKA的值高(步骤T17)。即判别本次的规定期间的评价比前次低或者相同、或者比前次高。

在HYOKA的值比FHYOKA的值大的情况下,或者在FHYOKA中没有评价数据的情况下,将比前次高的评价即LANKUP(HYOKA)的数据存储到寄存器LANK中(步骤T18)。另一方面,在HYOKA的值(本次的评价)为FHYOKA的值(前次的评价)以下的情况下,将比前次低或者相同的评价即LANKDOWN(HYOKA)的数据存储到寄存器LANK中(步骤T19)。在LANK中存储任一数据后,在显示部8显示基于LANK的数据的评价结果(步骤T20)。然后,将HYOKA的值存储在FHYOKA中进行更新(步骤T21),为下一次的规定期间的评价做准备。然后,结束该流程,回到主流程。

下面参照图35~图37说明实施形态中的具体动作。

图35为表示对于和弦的演奏引导的按键例的图。图35(A)表示由相同的发音开始时机构成的4个和弦(C3、D3、E3、F3)的引导音符。图35(B)为对于该引导音符的按键例,在发音开始时机之后的时间在对于各音符的演奏开始时机进行按键。在该情况下,由于在各音符的发音期间内进行按键,所以进行对于各按键都在Point中加上α的加分处理(UP)。图35(C)为其它按键例,在发音开始时机之前的时间在对于各音符的演奏开始时机进行按键。在该情况下,在引导音符的发音开始时机,构成对于各按键都在Point中加上α的加分处理(UP)。

图36为表示对于发音开始时机不同的多个音符的演奏引导的按键例的图。

图36(A)表示由不同的发音开始时机构成的4个音符(C3、D3、E3、F3)的引导音符。图36(B)为不设置引导等待容许时间tb的情况下的按键例。首先,在D3的音符的演奏开始时机有键按下,然后在C3的音符的发音开始时机进行引导。即判断为引导音符和按键音符不一致,这时构成从Point减去α的减分处理(DOWN)。然后,在D3的音符的发音开始时机进行引导时,构成加分处理。而且,在E3的音符的演奏开始时机有键按下时,利用C3和D3的音符进行引导。在该情况下,也构成从Point减去α的减分处理。然后,在E3的音符的发音开始时机进行引导时,构成加分处理。而且,在F3的音符的演奏开始时机有键按下时,利用C3、D3、E3的音符进行引导。在该情况下,也构成从Point减去α的减分处理。然后,在F3的音符的发音开始时机进行引导时,实现加分处理。

这样,在不设置引导等待容许时间tb的情况下,3次减分和4次加分的结果完成1次加分,即使在仅比引导音符的发音开始时机稍微靠前的时间按下该音符的键的情况下,也构成减分,成为与其后的加分相抵消的结果。所以,使用者的技能未被正确评价。

图36(C)为设置引导等待容许时间tb的情况下的按键例。在D3的音符的演奏开始时机有键按下时,即使在没有D3的引导音符的情况下也以tb的时间等待减分处理。而且,在经过t1(t1<tb)的时间后,如果有D3的音符的发音开始时机,则进行加分处理。同样地,在E3的音符的演奏开始时机有键按下时,即使在没有E3的引导音符的情况下也以tb的时间等待减分处理。而且,在经过t2(t2<tb)的时间后,如果有E3的音符的发音开始时机,则进行加分处理。而且,在F3的音符的演奏开始时机有键按下时,即使在没有F3的引导音符的情况下也以tb的时间等待减分处理。而且,在经过t3(t3<tb)的时间后,如果有E3的音符的发音开始时机,则进行加分处理。

图37为表示对于发音开始时机不同的多个音符的演奏引导,所有的键都没有被按下的情况下按键例的图。

图37(A)表示由不同的发音开始时机构成的3个音符(C3、D3、E3)的引导音符。图37(B)为不设置引导等待容许时间tb的情况下的按键例。首先,在D3的音符的演奏开始时机有键按下时,利用C3的引导音符进行按键引导。因此,解释为对于C3的引导音符,D3的键被按下,进行从Point减去α的减分处理。然后,在D3的引导音符的发音开始时机进行加分处理。这样,在不设置引导等待容许时间tb的情况下,即使在仅比引导音符的发音开始时机稍微靠前的时间按下该音符的键的情况下,也构成减分,成为与其后的加分相抵消的结果。所以,使用者的技能未被正确评价。

图37(C)为设置引导等待容许时间tb的情况下的按键例。在D3的音符的演奏开始时机有键按下时,即使在没有D3的引导音符的情况下也以tb的时间等待减分处理。然后,在经过t4(t4<tb)的时间后,如果有D3的音符的发音开始时机,则进行加分处理。

如上所述,根据第6实施形态,CPU1指示乐曲数据的发音信号中的音高和基于发音开始时机以及发音结束时机的发音期间,检测演奏的音高和演奏开始时机。而且,在判定检测到的音高和指示的音高一致或者不一致的同时,将在指示的发音期间的范围内检测到演奏开始时机的情况或者从检测到的演奏开始时机在规定时间以内指示出发音开始时机的情况判定为时机一致,将其它情况判定为时机不一致。通过这些判定,在判定为音高一致且判定为时机一致的情况下进行加分的演奏评价,在判定为音高不一致的情况下或者判定为时机不一致的情况下进行减分的演奏评价。

因此,能够通过在使用者演奏评价对象的乐曲、接受评价时,正确地评价使用者的技能,高效率地实现演奏技术的提高。

并且,虽然在上述各实施形态中,说明了利用CPU1执行预先存储在图1的程序ROM3中的演奏评价程序的演奏评价装置,但是也可以将存储在FD(软盘)、CD-ROM等外部存储介质中的演奏评价程序、通过互联网等通信网络下载的演奏评价程序安装到个人计算机等通用的信息处理装置中执行。在该情况下,构成程序的发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号