首页> 中国专利> 乐曲难易度计算装置以及乐曲难易度计算方法

乐曲难易度计算装置以及乐曲难易度计算方法

摘要

本发明涉及乐曲难易度计算装置以及乐曲难易度计算方法。CPU11根据在RAM13中存储的包含构成乐曲的每一个音符的音高信息、按压该音符的键的运指信息、以及关于该音符的时间信息的乐音数据计算乐曲的难易度。CPU11,根据音高信息以及运指信息计算关于按压邻接的音符的键的运指的运指难易度,根据关于音符的时间信息计算关于该音符的长度以及按键定时的韵律难易度,根据音符的音高信息,计算关于该乐曲的调性的调性难易度,进而,根据运指难易度、韵律难易度以及调性难易度,计算乐曲全体的难易度。

著录项

  • 公开/公告号CN101901299A

    专利类型发明专利

  • 公开/公告日2010-12-01

    原文格式PDF

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

    申请/专利号CN201010192940.7

  • 发明设计人 南高纯一;

    申请日2010-05-28

  • 分类号G06F19/00;G10G1/02;G10H1/00;

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 日本东京都

  • 入库时间 2023-12-18 01:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-23

    授权

    授权

  • 2011-01-12

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20100528

    实质审查的生效

  • 2010-12-01

    公开

    公开

说明书

技术领域

本发明涉及计算乐曲的难易度的乐曲难易度计算装置以及乐曲难易度计算方法。

背景技术

历来,在计算乐曲的难易度时,音乐教育的专家或者演奏家,根据乐曲中的各种要素,例如音符的关联等,进行主观的评价。在历来的主观的评价中,例如多数不过是不存在关于乐曲的构成要素的客观的难易度,而进行作为乐曲全体的评价(例如10级评价等)。

与此相对,提出了根据使用键盘乐器演奏乐曲时的运指信息计算该运指的难易度的装置。在特开2006-78656号公报中,提出了设想使用两个手指按压某音程的两音那样的全部场合,定义该全部场合的成本,计算进行运指信息表示的运指方面的难易度的难易度计算方法。

但是,在现有的计算难易度的装置中,有关于使用两个手指按压两音那样的全部的场合定义成本值并不容易这样的问题。另外,乐曲的难易度不仅是运指,而且也存在其他各种要素。因此,希望也考虑其他要素来计算难易度。

发明内容

本发明的目的在于提供一种乐曲难易度计算装置以及乐曲难易度计算程序,其考虑构成乐曲的各种要素,适当地计算乐曲的难易度。

本发明的目的通过一种乐曲难易度计算装置实现,其具有:存储单元,用于存储包含构成乐曲的每一个音符的音高信息、按压该音符的键时的运指信息、以及关于该音符的时间信息的乐音数据;个别难易度计算单元,用于根据所述音高信息、运指信息、以及时间信息的任何一个关于乐曲的演奏必要的多个要素的各个计算个别难易度;和全体难易度计算单元,用于根据通过该个别难易度计算单元算出的各个别难易度计算乐曲的难易度。

另外,本发明的目的通过一种乐曲难易度计算方法实现,该种乐曲难易度计算方法,使用在具有存储包含构成乐曲的每一个音符的音高信息、按压该音符的键时的运指信息、以及关于该音符的时间信息的乐音数据的存储单元的乐曲难易度计算装置中,包含:个别难易度计算步骤,用于根据所述音高信息、运指信息、以及时间信息的任何一个关于乐曲的演奏必要的多个要素的各个计算个别难易度;和全体难易度计算步骤,用于根据通过该个别难易度计算步骤算出的各个别难易度计算乐曲的难易度。

附图说明

图1是表示本发明的第一实施形式的乐曲难易度计算装置的结构的框图。

图2是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。

图3是表示本实施形式的乐曲数据的数据结构例的图。

图4是概略表示本实施形式的难易度评价处理的例子的流程图。

图5是表示本实施形式的运指难易度评价处理的例子的流程图。

图6是表示本实施形式的运指难易度评价处理的例子的流程图。

图7是表示本实施形式的技术分类处理的例子的流程图。

图8是表示本实施形式的技术分类处理的例子的流程图。

图9是详细表示本实施形式的指开确定处理的例子的流程图。

图10是表示本实施形式的韵律难易度评价处理的例子的流程图。

图11是表示本实施形式的韵律难易度评价处理的例子的流程图。

图12是表示本实施形式的韵律成本计算处理的例子的流程图。

图13是表示本实施形式的韵律成本计算处理的例子的流程图。

图14是表示本实施形式的调性难易度评价处理的例子的流程图。

图15是表示本实施形式的调性难易度评价处理的例子的流程图。

图16是用于说明本实施形式中键位置信息的图。

图17A是表示本实施形式的基本音阶(Base Scale)排列iBaseScale[]的例子的图。

图17B是表示本实施形式的非基本音阶排列iATonal[]的例子的图。

图18是用于说明本实施形式的与长音阶的一致度iSum的计算的图。

图19是用于说明本实施形式的与长音阶的不一致度iATonality的计算的图。

图20是表示本实施形式的难易度显示处理的例子的流程图。

图21是表示通过本实施形式的难易度显示处理生成的乐谱的图像的例子的图。

图22是表示第二实施形式的难易度评价处理的概略的流程图。

图23是表示第三实施形式的韵律成本计算处理的例子的流程图。

图24是表示第三实施形式的难易度显示处理的例子的流程图。

图25是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。

图26是表示本实施形式的系数最优化处理的例子的流程图。

图27是表示本实施形式的最佳值计算处理的例子的流程图。

图28是表示本实施形式的最佳值计算处理的例子的流程图。

图29是表示本实施形式的难易度计算处理的例子的流程图。

图30是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。

图31是表示本实施形式的运指难易度评价处理的例子的流程图。

图32是表示本实施形式的运指难易度评价处理的例子的流程图。

图33是表示本实施形式的习得乐曲对应处理的例子的流程图。

图34是表示第六实施形式的运指难易度评价处理的后半部分的例子的流程图。

图35是表示第六实施形式的习得乐曲对应处理的例子的流程图。

图36是表示本发明的第七实施形式的韵律难易度评价处理的例子的流程图。

图37是表示本发明的第七实施形式的韵律难易度评价处理的例子的流程图。

图38是表示第七实施形式的习得乐曲对应处理的例子的流程图。

具体实施方式

下面参照附图说明本发明的实施形式。

图1是表示本发明的第一实施形式的乐曲难易度计算装置的结构的框图。如图1所示,本实施形式的乐曲难易度计算装置10,具有CPU11、ROM12、RAM13、大规模存储装置14、输入装置15、显示装置16、音响系统17以及键盘18。

CPU11执行后述的用于评价乐曲的难易度的各种处理(运指难易度评价处理、韵律难易度评价处理、调性难易度评价处理、全体难易度的计算处理)。ROM12存储用于评价乐音难易度的各种处理(运指难易度评价处理、韵律难易度评价处理、调性难易度评价处理、全体难易度的计算处理)的程序、或者在处理中使用的参数等。RAM13临时存储在程序的执行过程中产生的参数、输入数据、输出数据等。大规模存储装置14是硬盘装置或者存储器卡等,存储乐曲数据等。

输入装置15包含开关类、键盘、鼠标等,将基于操作者的开关操作、键操作、鼠标的操作的各种指示等给与CPU11。在显示装置16的画面上,显示包含基于乐曲数据的乐谱、乐曲难易度的评价结果等的图像数据。音响系统17包含乐音生成电路、放大器、扬声器等,遵照乐曲数据,或者遵照通过操作者的对于键盘18的按键操作生成规定的乐音,输出基于乐音的音响信号。另外,在上述实施形式中,键盘18不是必需的。

另外,本实施形式的乐曲难易度计算装置10,可以是键盘乐器的形式,或者也可以是个人计算机那样的形式。如果是键盘乐器的形式,则操作者参照在显示装置16的画面上显示的乐谱,按压键盘18的键,音响系统17应答操作者的按键,生成与按压的键的音高对应的乐音数据,由此能够从音响系统17输出乐音。

图2是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。如图2所示,本实施形式的乐曲难易度计算装置10的CPU11,执行包含在RAM13中存储的参数的清除、在显示装置16的画面上显示的图像的清除等的初始化(步骤201)。接着,CPU11判断是否有操作者操作输入装置15指定乐曲的输入(步骤202)。例如,乐曲指定的输入,通过输入乐曲数据的编号实现。

在步骤202判断是Yes的场合,CPU11从在大规模存储装置14中存储的乐曲数据组中读出指定的乐曲的乐曲数据,临时存储在RAM13中(步骤203)。接着,CPU11执行难易度评价处理,计算表示读出了数据的乐曲的难易度的值iCost(步骤204)。当在步骤202判断是No时,CPU11,关于进行了难易度计算的各个乐曲,执行生成表示算出的难易度和乐曲中的音符的关联的图像,在显示装置16的画面上显示的难易度显示处理(步骤205)。关于难易度评价处理以及难易度显示处理,以下进行详述。

图3是表示本实施形式的乐曲数据的数据结构例的图。如图3所示,某乐曲的乐曲数据,对于每一音符(符号),有表示应该发音的乐音的乐音数据的记录(参照符号301、302)。乐音数据的记录(例如开头的音符的记录Note[0]:符号301),包含诸如音高信息“Pit”、键盘位置信息“Pos”、运指信息“Fig”、发音时刻“Time”、发音时间“Gate”、到下一音符的记录指针“*Next”以及到前一音符的记录的指针“*Prev”这样的项目。

音高信息“Pit”,例如是把音名“C=1”作为“0”,音高每升高一个使增加“1”的值。键盘位置信息“Pos”是表示与该音高对应的键的横方向的中心位置的坐标值。例如,如图16所示,当设某位置的C(例如C4:Pit=60)的键盘位置信息Pos=X0时,C#4~C5的键盘位置信息分别成为用X1~X12表示那样的值。从图16可以理解,邻接的白键和黑键、黑键和白键之间的坐标值的差是“1”。另一方面,连续的白键(E和F、B和C)之间的坐标值的差是“2”。

图4是概略表示本实施形式的难易度评价处理的例子的流程图。如图4所示,CPU11执行运指难易度评价处理(步骤401)、韵律难易度评价处理(步骤402)、调性难易度评价处理(步骤403)、全体难易度的计算处理(步骤404)。在运指难易度评价处理中,CPU11根据乐音数据中的运指信息等,计算运指难易度iFCost。在韵律难易度评价处理中,CPU11根据乐音数据中的发音时刻、发音时间等,计算韵律难易度iRCost。另外,在调性难易度评价处理中,CPU11根据乐音数据的音高信息等,计算调性难易度iTCost。

CPU11,根据算出的运指难易度iFCost、韵律难易度iRCost、调性难易度iTCost以及乐曲数据中的音符数(iCnt),通过在各个上乘以加权系数RF、RR、RT以及RC后相加,计算乐曲的难易度iCost(步骤404)。亦即,难易度iCost成为以下那样的公式。

iCost=iFCost×RF+iRCost×RR

      +iTCost×RT+iCnt×RC

下面详细说明运指难易度评价处理、韵律难易度评价处理以及调性难易度评价处理。图5以及图6是表示本实施形式的运指难易度评价处理的例子的流程图。另外,在本实施形式中,乐曲数据由关于用右手演奏的乐曲(旋律)的音符的乐音数据构成。因此,在运指难易度中,计算用右手演奏的场合的运指难易度。乐曲数据中,乐音数据的记录的运指信息表示用右手的哪个手指按键。另外,手指编号“1”~“5”,分别表示应该用拇指~小指按键。

如图5所示,CPU11,把表示在乐音数据中表示的乐曲的音符数的参数iCnt初始化为“0”(步骤501),同时在RAM13中的乐曲数据中把最初的乐音数据的记录Note[0]存储在排列me[]中(步骤502)。CPU11,在乐曲数据中对于全部乐音数据的记录结束处理之前(步骤503Yes),重复步骤504~515。

首先,CPU11确定在排列me[]中存储的乐音数据的记录的、前一个乐音中数据的记录,将其在排列prev[]中存储(步骤504)。接着,CPU11,根据在排列me[]以及排列prev[]中存储的值,执行技术分类处理(步骤505)。在技术分类处理中,关于乐曲的邻接的音符间的运指,判断相应于位置类型(PosType)、指开类型(iSpreadType)、倒转类型(RevType)、以及用指技术(Tech)这4种分类项目中的哪一个。

这里,位置类型(PosType)这样的分类项目,表示在怎样的手指的位置进行运指。另外,指开类型(iSpreadType)表示按压邻接的音符键的手指的分开状况。另外,倒转类型(RevType)表示后述的穿指,或者跨指的存在,进而用指技术(Tech)表示在按压邻接的音符键时进行怎样的用指(换指)。

在技术分类处理中,对于各个分类项目,计算表示该分类项目中的具体的提要的分类值。图7以及图8是表示本实施形式的技术分类处理的例子的流程图。CPU11,关于排列me[]中的运指信息“Fig”、音高信息“Pit”以及键盘位置信息“Pos”,设f1=Fig、p1=Pit、ps1=Pos。另外,根据音高信息“Pit”,判断键是白键还是黑键,把表示白键、黑键哪一个的信息作为b1。值b1取值“1”,表示键是黑键,取值“0”,表示键是白键。这些值f1、p1、ps1、b1,存储在RAM13中。

另外,CPU11,关于排列prev[]中的运指信息“Fig”、音高信息“Pit”以及键盘位置信息“Pos”,设f2=Fig、p2=Pit、ps2=Pos。另外,根据音高信息“Pit”,判断键是白键还是黑键,把表示白键、黑键某一个的信息作为b2。这些值f2、p2、ps2、b2,在RAM13中存储。CPU11根据p1、p2、f1以及f2计算表示音高差的指标iDist(步骤703)。

表示音高差的指标iDist,在乐曲中音符的行进是上行时,是表示手指编号是增大或者减小的指标,另外在行进是下行时,是表示手指编号是减小或者增大的指标。在本实施形式中iDist如下来求。

iDist=(p1-p2)*(f1-f2)

因此,在iDist>0的场合,意味是音符的行进是上行而且手指编号增大那样用指的场合,或者是音符的行进是下行而且手指编号减小那样用指的场合。亦即在iDist>0的场合,表示以手指分开的形式进行运指(不进行穿指或者跨指)。

CPU11,判断是否是f2=f1而且p2=p1(步骤704)。在步骤704成为Yes的场合,表示在邻接的音符间用同一手指按压相同音高的键。在步骤704判断是Yes的场合,CPU11,关于用指技术(Tech)这样的分类项目,作为分类值Tech,给与“Tech=3”这样的值(步骤705)。把给与的值存储在RAM13中。接着,CPU11判断是否是f2≠f1而且p2=p1(步骤706)。在步骤706成为Yes的场合,表示在邻接的音符间,用不同的手指按压相同音高的键。在步骤706判断是Yes的场合,CPU11,关于用指技术(Tech)这样的分类项目,给与“Tech=2”这样的值(步骤707)。

接着,CPU11判断是否是f2=f1而且p2≠p1(步骤708)。在步骤708成为Yes的场合,表示在邻接的音符间用同一手指按压不同音高的键。在步骤708判断是Yes的场合,CPU11,关于用指技术(Tech)这样的分类项目,给与“Tech=4”这样的值(步骤709)。在步骤708判断是No的场合,CPU11,关于用指技术(Tech)这样的分类项目,给与“Tech=1”这样的值(步骤710)。

接着,CPU11判断是否是iDist>0(步骤801)。如上述,iDist>0表示以手指分开的形式进行运指(不进行穿指或者跨指)。在步骤801判断是Yes的场合,CPU11根据b2、b1、f2以及f1,根据规定的表iPType[][][][],作为分类值PosType,取得PosType=iPType[b2][b1][f2][f1](步骤802)。表iPType[][][][],关于邻接的音符,包含基于手指编号以及白键/黑键的种类的值,存储在RAM13中。

以下简单说明表iPType[][][][]中的值。表iPType[][][][],是基于在邻接的音符中应该配置的手指的手指编号及其位置(白键或者黑键)的关系,存储该手指的位置类型的表。例如,如果现在的音符以及前一个音符两者都是白键的话,则成为iPType[0][0][f2][f1]=1。另外,如果前一个音符用拇指按键而且按压的是白键的话,则在现在的音符是黑键的场合,成为iPType[0][1][1][f1]=2。另外,如果前一个音符用拇指按键而且按压的是黑键的话,则在现在的音符是黑键的场合,成为iPType[1][1][1][f1]=3。

这样,在表iPType中,与按压邻接的音符键时的手指的方向或者手指的位置的难易度升高相对应,其值变大。

在执行步骤802后,CPU11执行指开确定处理(步骤803)。图9是详细表示本实施形式的指开确定处理的例子的流程图。

如图9所示,CPU11从RAM13中取得作为表示手指分开程度的参数的iMin、iL1以及iL2(iMin<iL1<iL2)(步骤901)。例如,iMin是相当于白键中的长2度的宽度的“2”,iL1是相当于白键中的长3度的“4”,iL2是相当于白键中的完全8度的“14”。在指开确定处理中,比较iDist、和iMin、iL1以及iL2,决定指开类型(iSpreadType)的分类值。

CPU11计算基于键盘位置的距离iKDist=|ps2-ps1|(步骤902)。

在步骤703算出的iDist<0的场合(步骤903是Yes),CPU11关于指开类型(iSpreadType)这样的分类项目,作为分类值iSpreadType,给与“iSpreadType=0”这样的值(步骤904)。另外,在执行图9时,iDist>0是前提(参照图8的步骤801)。因此,因为这点实际上不会发生,所以步骤904成为出错处理。

在iKDist=iMin的场合(在步骤905是Yes),CPU11关于指开类型(iSpraedType)这样的分类项目,作为分类值iSpraedType,给与“iSpraedType=1”这样的值(步骤906)。在iMin<iKDist≤iL1的场合(在步骤907是Yes),CPU11关于指开类型(iSpraedType)这样的分类项目,给与“iSpraedType=2”这样的值(步骤908)。在iKDist<iMin的场合(在步骤909是Yes),CPU11关于指开类型(iSpraedType)这样的分类项目,给与“iSpraedType=3”这样的值(步骤910)。

在iKDist<iL2的场合(在步骤911是Yes),CPU11关于指开类型(iSpraedType)这样的分类项目,给与“iSpraedType=4”这样的值(步骤912)。另一方面,在iKDist≥iL2的场合(在步骤911是No),CPU11关于指开类型(iSpraedType)这样的分类项目,给与“iSpraedType=5”这样的值(步骤913)。

通过指开确定处理,遵照iKDist的值,付与以下那样的iSpraedType的值。

0≤iKDist<Min    iSpraedType=3

iKDist=iMin      iSpraedType=1

iMin<iKDist≤iL1 iSpraedType=2

iL1<iKDist<iL2  iSpraedType=4

iL2≤iKDist       iSpraedType=5

当指开确定处理结束时,CPU11关于倒转类型(RevType)这样的分类项目,作为分类值RevType,给与“RevType=1”这样的分类值(步骤804)。其后,CPU11把关于在排列me[]中存储的乐音数据算出的PosType、iSpraedType、RevType以及Tech这样的分类值,与该乐音数据关联起来,存储在存储装置(RAM13)中(步骤805)。

在步骤801判断是No的场合,根据规定的表iRType[][][][],取得RevType=iRType[p2][p1][f2][f1](步骤806)。表iRType[][][][],关于邻接的音符,包含基于手指编号以及音高的值,存储在RAM 13中。

以下简单说明表iRType[][][][]中的值。表iRType[][][][],是存储根据应该在邻接的音符上配置的手指的手指编号以及音高的关系,表示运指中的穿指或者跨指的信息的表。在本实施形式中,在iDist≤0时,意味在上行音形中,能够进行从比“1”大的手指编号的手指向手指编号“1”的手指移动(所谓的“穿指”),或者在下行音形中,能够进行从手指编号“1”的手指向比“1”大的手指编号的手指移动(所谓的“跨指”)。

在本实施形式中,在穿指时,亦即在p2<p1、f2>1、f1=1时,iRType[p2][p1][f2][f1]=3。另外,在跨指时,亦即在p2>p1、f2=1、f1>1时,iRType[p2][p1][f2][f1]=2。一般,在运指中,因为穿指比跨指难,所以关于穿指,RevType=3,关于跨指,RevType=2。

在步骤806之后,CPU11关于位置类型(PosType)这样的分类项目,给与“PosType=1”这样的分类值,关于指开类型(iSpreadType)这样的分类项目,给与“iSpreadType=1”这样的分类值(步骤807)。其后,CPU11把关于在排列me[]中存储的乐音数据算出的PosType、iSpreadType、RevType以及Tech这样的分类值,与该乐音数据关联起来,存储在存储装置(RAM13)中(步骤805)。

接着,在二维图象iFMap[i][j](i为分类项目,j为分类项目中赋予的值)中,执行使与通过技术分类处理得到的分类项目对应的值增量的处理(图5的步骤506~512)。在本实施形式中,存在位置类型(PosType)、指开类型(iSpreadType)、倒转类型(RevType)以及用指技术(Tech)这样的4种分类项目。因此,二维图象Map[i][j]的各个要素与以下的分类项目对应。

iFMap[0][j]:j是“PosType”的值

iFMap[1][j]:j是“iSpreadType”的值

iFMap[2][j]:j是“RevType”的值

iFMap[3][j]:j是“Tech”的值

另外,从以下的步骤506、508、510、512可以理解,j=0、2时的值不存在,而仅对于j>1有值。

CPU11,在PosType>1的场合(在步骤506是Yes),使作为对应的图象的值的iFMap[0][PosType]增量(步骤507)。另外,CPU11,在iSpreadType>1的场合(在步骤508是Yes),使作为对应的图象的值的iFMap[1][iSpreadType]增量(步骤509)。CPU11,在RevType>1的场合(在步骤510是Yes),使作为对应的图象的值的iFMap[2][RevType]增量(步骤511)。进而,CPU11,在Tech>1的场合(在步骤512是Yes),使作为对应的图象的值的iFMap[3][Tech]增量(步骤513)。

接着,CPU11使表示音符数的参数iCnt增量(步骤514),在排列me[]中存储下一乐音数据的记录(步骤515),其后返回步骤503。

在步骤503判断是Yes的场合,CPU11把参数i以及iFCost初始化为“0”(步骤601)。CPU11判断参数i是否在“4”以上(步骤602)。上述参数i用于确定iFMap[i][j]的“i”。在步骤602判断是No的场合,把参数j初始化为“0”(步骤603),在j变得比规定的数大之前(步骤604),重复步骤605~607的处理。

CPU11判断图象的值iFMap[i][j]是否比“0”大(步骤605)。在步骤605判断是Yes的场合,CPU11在运指难易度的值iFCost上加上与图象的值iFMap[i][j]对应的成本值iFCost[i][j](步骤606)。

以下说明存储成本值iFCost[i][j]的成本表(iFCost[][][])。成本表与各个成本值iFCost[i][j]对应,存储“i×j”个成本值iFCost[i][j]。例如,iFCost[0][j]是与在技术分类处理(图8)的步骤802取得的“PosType”的各个值对应的值,成为位置类型的各个值中固有的值。i=1以上的其他的成本值也同样。

在本实施形式中,在位置类型(PosType)、指开类型(iSpreadType)、倒转类型(RevType)以及用指技术(Tech)的各个中,随着值增大,在各个分类项目中运指的难度增高。因此,成本值iFCost[i][j]也随着j的增大,成本值增大。

另外,在本实施形式中,不考虑图象的值iFMap[i][j]是几个,只要比0大(亦即只要是1以上),便在运指难易度的值iFCost上相加成本值iFCost[i][j]。亦即不管图象的值的多少,相加的值是成本值iFCost[i][j]。这点是基于下面的见解:在分类项目“i”(例如位置类型或者指开类型)中,如果在iFMap[i][j]中具有比1大的值的音符只要有一个的话,在那种场合,因为包含与该iFMap[i][j]对应的难易度,所以其音符数对于表示难易度的成本值没有太大的影响。

当然,与图象的值iFMap[i][j]对应,也可以在相加的iFCost[i][j]上加权。亦即在该场合,成为:

iCost=iCost+

          f(iFCost[i][j])×iFCost[i][j]

式中,f(iFCost[i][j]),是随变量iFCost[i][j]增大而增大、而随变量iFCost[i][j]增大函数值f的增量减小的函数。例如,作为f也可以使用对数函数。

在步骤605判断是No的场合,或者,在执行步骤606后,CPU11使j增量(步骤607),返回步骤604。另外,在步骤604判断是Yes的场合,CPU11使i增量(步骤608),返回步骤602。

这样在本实施形式中,对于在乐曲中包含的某音符,在关于运指的分类项目的具体的形式的图象值iMap[i][j]不是0的场合,与该分类项目的具体的形式对应的成本值iFCost[i][j]被加到运指难易度iFCost[i][j]上。

下面说明韵律难易度评价处理。图10以及图11是表示本实施形式的韵律难易度评价处理的例子的流程图。如图10所示,CPU11把RAM13的乐曲数据中最初的乐音数据的记录Note[0]存储在排列me[]中(步骤1001)。CPU11,在关于乐曲数据中全部的乐音数据的记录的处理结束前(在步骤1002是Yes),重复步骤1003~1007。

CPU11取得在RAM13中存储的、韵律评价处理用的参数(韵律参数)(步骤1003)。在韵律参数中包含表示1小节的长度的iMcasLcn、表示韵律分辨率的Resolution等,这些在接下来的韵律成本计算处理中利用。CPU11执行韵律成本计算处理(步骤1004)。图12以及图13是表示本实施形式的韵律成本计算处理的例子的流程图。在韵律成本计算处理中,获得关于作为与音符的音符长度(基于到下一音符的间隔的音符长度)相当的分类项目的步长时间(iStepTime)的分类值、和关于作为与音符的小节中的位置相当的分类项目的位置(iPos)的分类值。

如图12所示,CPU11,参照在排列me[]中表示的乐音数据的记录的下一记录,取得其发音时刻Time(步骤1201)。接着,CPU11根据排列me[]中的发音时刻Time、和在步骤1201中取得的下一发音数据的记录中的发音时刻Time,计算到下一音符的间隔iT(步骤1202)。CPU11根据时间间隔iT、和1小节的长度iMcasLcn,计算上述时间间隔的小节内的音符长度iStepTime(步骤1203)。得到的iStepTime成为关于称为音符长度的分类项目的分类值。

在本实施形式中,如下求音符长度iStepTime。

iStepTime=32×iT/iMcasLcn

在本实施形式中,设乐曲是4/4拍,iStepTime表示iT相当于32分音符的几个。

接着,CPU11根据排列me[]中的发音时刻Time,计算小节内的音符位置iTickInMeas、拍内的音符位置iTickInBeat以及属于该音符的拍iBeat(步骤1204)。iTickInMeas表示把1小节分为32份时的音符的位置,亦即位于从小节的开头起32分音符的第几号。另外,iTickInBeat表示位于从拍的开头起32分音符的第几号。

CPU11把参数i以及iPos初始化为“0”(步骤1205),执行步骤1207到1210的处理。为确定iTickInBeat的位置,CPU11计算a=iTickInBeat-iResolution×i/8(步骤1207)。这里,iTickInBeat取“0”~“7”中的某一个值。因此,关于任何一个i,成为a=0,在下一步骤1208判断为Yes。在步骤1208判断是No的场合,CPU11使参数i增量(步骤1209),返回步骤1206。在步骤1208判断是Yes的场合,CPU11使参数iPos=i(步骤1210)。

在步骤1206判断是No的场合,或者在步骤1210的处理结束后,前进到图13的步骤1301。另外,在本实施形式中,在步骤1204计算iTickInBeat时,离散化为32分音符的分辨率。因此,在步骤1210本来不可能判断为No。因此,该场合表示运算中产生了某种错误。

这样得到的iPos,表示位于从拍的开头32分音符的第几号。可以原样不变使用它,但是在本实施形式中,作为小节的开头、小节的中央以及拍的开头,作为iPos给与不同的值。在iTickInMeas=0的场合,亦即在音符位于拍的开头的场合(在步骤1301是Yes),CPU11使iPos=32(步骤1302)。另外,在iTickInBeat=0且iBeat=2,亦即音符位于第三拍的开头(小节的中央)的场合(在步骤1303是Yes),CPU11使iPos=16(步骤1304)。进而,在iTickInBeat=0亦即音符位于第二拍或者第四拍的开头的场合(在步骤1305是Yes),CPU11使iPos=8(步骤1306)。

作为通过韵律成本计算处理得到的分类项目之一的位置(iPos)的分类值,根据音符在小节中的位置成为以下那样的值。

音符的位置,小节的开头:iPos=32

音符的位置,第三拍的开头:iPos=16

音符的位置,其他拍(第二拍、第四拍)的开头:iPos=8

音符的位置是其他的场合:iPos=表示8等分拍的场合的位置的值

上述iPos,是乐曲是4/4拍的场合的例子,在其他的拍(例如3/4)的场合,iPos不同。如果乐曲是3/4拍,分类值“iPos”能够得到以下的值。

音符的位置,小节的开头:iPos=32

音符的位置,其他拍(第二拍、第三拍)的开头:iPos=8

音符的位置是其他的场合:iPos=表示8等分拍的场合的位置的值

当韵律成本计算处理结束时,CPU11使作为2维图象的值的iRMap[0][iStepTime]增量(步骤1005),同时使iRMap[1][iPos]增量(步骤1006)。其后,CPU11在排列me[]中存储下一乐音数据的记录(步骤1007)。其后返回步骤1002。

在步骤1002判断是Yes的场合,CPU11把参数i以及iRCost初始化为“0”(步骤1101)。CPU11判断参数i是否在“2”以上(步骤1102)。上述参数i用于确定iRMap[i][j]的“i”。在步骤1002判断是No的场合,把参数j初始化为“0”(步骤1103),在j大于规定的数之前(步骤1104),重复步骤1105~1107的处理。

CPU11判断图象值iRMap[i][j]是否比“0”大(步骤1105)。在步骤1105判断是Yes的场合,CPU11把与图象的值iRMap[i][j]对应的成本值iRCost[i][j]加在运指难易度的值iRCost上(步骤1106)。

下面说明存储成本值iRCost[i][j]的成本表iRCost[][]。与存储关于运指难易度的成本值iRCost[i][j]的成本表相同,成本表iRCost[][]存储与各个成本值iRCost[i][j]对应的、“i×j”个成本值iRCost[i][j]。例如,iRCost[0][j]是与在韵律成本计算处理(图12)的步骤1203中取得的各个音符长度iStepTime对应的成本值,成为各个音符长度中固有的值。另外,iRCost[1][j]是与在步骤1210、步骤1302、1304、1306中得到的拍内的各个音符位置iPos对应的成本值,成为各个音符位置中固有的值。

例如,在iRCost[0][iStepTime]中,关于iStepTime=32、16、8、4以及他们以外的值,成本值iRCost[0][iStepTime]增大。音符长度,在全音符时其成本值iRCost[0][32]最小,随着成为二分音符、四分音符、八分音符、其他的音符,成本值增大。

另外,即使在iRCost[1][iPos]中,关于iPos=32、16、8、他们以外的值,成本值iRCost[1][iPos]也增大。亦即在音符位于小节的开头时,其成本值iRCost[1][32]最小,随着成为第三拍的开头,第二拍或者第四拍的开头,其他的位置,成本值增大。

与运指难易度成本的计算同样,不考虑图象的值iRMap[i][j]有几个,只要比0大(亦即只要是1以上),便在韵律难易度的值iRCost上相加成本值iRCost[i][j]。亦即不管图象的值的多少,相加的值是成本值iRCost[i][j]。

在步骤1105判断是No的场合,或者在执行步骤1106后,CPU11使j增量(步骤1107),返回步骤1104。另外,在步骤1104判断是Yes的场合,CPU11使i增量(步骤1108),返回步骤1102。

这样在本实施形式中,关于音符的韵律,特别是各个音符长度以及音符位置,在韵律难易度iRCost上相加对应的成本值iRCost[i][j]。

下面说明本实施形式的调性难易度评价处理。图14以及图15是表示本实施形式的调性难易度评价处理的例子的流程图。如图14所示,CPU11在排列me[]中存储开头的乐音数据的记录(步骤1401)。CPU11,在乐曲数据中关于全部乐音数据的记录结束处理之前(在步骤1402是Yes),重复步骤1403、1404。

CPU11根据排列me[]中的音高信息“Pit”,使计数值iPC[Pit mod 12]增量(步骤1403)。在步骤1403,使与从C到B的某个音名对应的计数值iPC增量。接着,CPU11在排列me[]中存储下一乐音数据的记录(步骤1404),返回步骤1402。通过步骤1402~1404的处理,关于乐曲中包含的音符的各个音名,取得存储有累计值的排列iPC[]。

在步骤1402判断是Yes的场合,CPU11把参数iTonality、iMax、iATMax以及i初始化为“0”(步骤1405~1407)。CPU11,在参数i成为12以上之前(在步骤1408是No),执行图15的步骤1501~1512。

如图15所示,CPU11把参数iSum以及iATonality初始化为“0”。这里,iSum是表示乐曲中包含的音符的音名的累计值和各调的长音阶的一致度的参数,iATonality是表示上述音名的累计值和各调的长音阶的不一致度的参数,另外,在本实施形式中,关于长音阶的乐曲,抽出与各调的长音阶的一致度、不一致度,但是不限于此。关于短音阶的乐曲,只要抽出与各调的短音阶的一致度或者不一致度即可。

CPU11把参数j初始化为“0”(步骤1504),在iSum上相加iPC[(j+1)mod12]×iBaseScale[j]。另外,CPU11在iATonality上相加iPC[(j+1)mod 12]×iATonal[j](步骤1505)。其后,CPU11使j增量后返回步骤1503。

图17A是表示本实施形式的基本音阶(Base Scale)排列iBaseScale[]的例子的图。如图17A所示,iBaseScale[](符号1701)有11个要素(j=0~11),与长音阶的音名相当的要素(j=0、2、4、5、7、9、11)成为“1”,这之外的成为“0”。另外,在图17A中,在排列的要素上配置的数字、b(降音)、#(升音),表示对于最左边的j=0的要素(根音)的间隔(度)。另外,图17B是表示本实施形式的非基本音阶排列iATonal[]的例子的图。iATonal[](参照符号1702),和iBaseScale[]1701同样,有11个要素(j=0~11),其值与iBaseScale相反。亦即,不与长音阶的音名相应的要素(j=1、3、6、8、10)成为“1”,这之外的成为“0”。

下面说明步骤1504中的、在iSum上相加的值iPC[(j+1)mod 12]×iBaseScale[j]。例如,在图18中,符号1801是表示在步骤1402~1404得到的排列iPC[]的例子的图,符号1802是表示基本音阶排列iBaseScale[]的例子的图。

在iPC[j+i mod 12]×iBaseScale[j]中,在i=0时,在j=0、2、4、5、7、9中,取0以外的值,对于全部j执行处理的场合的iSum的最终值,成为

iSum=∑(iPC[j+i mod 12]×iBaseScale[j])

    =7+2+3+10+4+5=31。

在i=1时,在j=4、5、9、11中,取0以外的值,对于全部j执行处理的场合的iSum的最终值,成为

iSum=1+3+5+8=17。

另外,在i=5时,在j=0、2、4、5、7、9、22中,取0以外的值,对于全部j执行处理的场合的iSum的最终值,成为

iSum=10+4+5+8+7+2+3=39。

进而,在在i=7时,在j=0、2、4、5、7中,取0以外的值,对于全部j执行处理的场合的iSum的最终值,成为

iSum=4+5+7+2+3=21

在iATonality上相加iPC[j+i mod 12]×iATonal[j]的运算也和iSum的运算同样进行。

在图19中,符号1901是表示在步骤1402~1404得到的排列iPC[]的例子的图,符号1902是表示非基本音阶排列iATonality[]的例子的图。排列iPC[]和图18的符号1801相同。

在i=0时,iATonality的最终值成为:

iATonality=∑(iPC[j mod 12]×iTonal[j])

          =1+5+8=14。

另外,i=1时的iATonality的最终值成为:

iATonality=7+2+10+4+5=28(参照符号1903),

i=5时的iATonality的最终值成为:

iATonality=5+1=6(参照符号1904),

i=7时的iATonality的最终值成为:

iATonality=5+8+1+10=24(参照符号1905)。

在步骤1503判断是No的场合,亦即在关于特定的i,计算j=0~11的iSum以及iATonality的场合,CPU11计算一致度iSum和不一致度iATonality的差分值a(=iSum-iATonality)(步骤1507)。

CPU11判断在步骤1507得到的差分值a是否比在RAM13中存储的差分值a的最大值iMax大(步骤1508)。在步骤1508判断是Yes的场合,CPU11把差分值a作为最大值iMax设定(步骤1509),而且在表示得到最大值iMax时的调性的参数iTonality中设定i(步骤1510)。另外,CPU11把得到的不一致度iATonality作为得到iSum的最大值时的对应的不一致度iATMax设定(步骤1511)。

在步骤1508判断是No的场合,或者在执行步骤1511后,CPU11使i增量,返回步骤1408。在步骤1408判断是No的场合,CPU11如下计算表示调性难易度的iTCost(步骤1409)。

iTCost=(iATMax×A)/iMax

这里,A是规定的常数。因此,iTCost,成为调性的一致度成为最大时的、音阶与音符的一致度iSum和其时的不一致度iATonality的差分值对于其时的不一致度的比乘以常数A的乘积。

如前面已说明的那样,当计算运指难易度iFCost、韵律难易度iRCost以及调性难易度iTCost时,根据这些难易度以及乐曲的音符数iCnt,如下计算乐曲的难易度iCost。

iCost=iFCost×RF+iRCost×RR

         +iTCost×RT+iCnt×RC

下面说明本实施形式的难易度显示处理。在难易度评价处理(步骤204)结束、没有输入新的乐曲指定的场合(在步骤202是No),CPU11执行难易度显示处理(步骤205)。在难易度显示处理205中,关于算出了难易度iCost的乐曲,生成加注了表示与每一音符对应的难易度的标记的乐谱,在显示装置16的画面上显示。在本实施形式中,在乐谱上表示每一音符的运指难易度。

图20是表示本实施形式的难易度显示处理的例子的流程图。如图20所示,CPU11在排列me[]中存储开头的乐音数据的记录(步骤2001)。CPU11在乐曲数据中关于全部乐音数据结束处理之前(在步骤2002是Yes),重复步骤2003~2009。

CPU11根据排列me[]中的音高信息“Pit”、发音时刻“Time”以及发音时间“Gate”,在图像中,在五线谱中规定的位置配置规定音长的音符(步骤2003)。另外,CPU11根据排列me[]中的运指信息“Fig”,在图像中,在音符的上部配置手指编号(步骤2004)。接着,CPU11在me[]中与特定的乐音数据关联,取得关于在RAM13中存储的位置类型(PosType)、指开类型(iSpreadType)、倒转类型(RevType)、以及用指技术(Tech)各个的分类项目的分类值(步骤2005)。

接着,CPU11判断各个值的某一个是否比“1”大(步骤2006)。在步骤2006判断是Yes的场合,CPU11把表示相应的分类项目的值的标记配置在音符的上部(步骤2007)。例如,如果PosType>1,则在图像中音符的上部配置“P”这样的标记,如果iSpreadType>1,则配置“S”这样的标记,如果RevType>1,则配置“R”这样的标记,如果Tech>1,则配置“T”这样的标记。

进而,CPU11给音符付与与附加了标记的分类项目对应的色彩(步骤2008)。例如,如果PosType>1,则付与红色这样的色彩,如果iSpreadType>1,则付与浅蓝色这样的色彩,如果RevType>1,则付与黄绿色这样的色彩,如果Tech>1,则付与桃色这样的色彩。另外,在PosType以及iSpreadType两者都具有比1大的值的场合,比较关于PosType的成本值iFCost[0][PosType]和关于iSpreadType的成本值iFCost[1][iSpreadType],选择与成本值大的一方的分类项目对应的色彩。其后,CPU11在排列me[]中存储下一乐音数据的记录(步骤2009),返回步骤2002。

图21是表示通过本实施形式的难易度显示处理生成的乐谱的图像的例子的图。如图21所示,在构成乐曲的音符的上部,显示1~5的手指编号,同时在特定的音符中,在音符的上部附加与分类项目对应的标记(“P”、“S”、“R”、“T”)。另外,在附有标记“T”的音符(例如第二小节第三拍的“G4”)上付与作为对应的色彩的桃色,这在图21中未显示。同样,在附有标记“S”的音符(例如第三小节第一拍的“E5”)上,付与作为对应的色彩的浅蓝色,在附有标记“R”的乐谱(例如第七小节第一拍的“F#4”、第二拍的“G4”)上,付与作为对应的色彩的黄绿色。

进而,在附有标记“S”以及“O”双方的音符(例如第三小节的第三、五拍的“F#5”、第四小节的第一拍的“G5”)中,付与成本值大的一方的分类项目(在该场合是PosType)的色彩(在该场合是红色)。

如上述,在本实施形式中,由CPU11执行根据音高信息以及运指信息计算与按压邻接的音符键的运指相关的运指难易度的运指难易度计算处理;根据关于音符的时间信息、计算与音符长度以及音符的定时相关的韵律难易度的韵律难易度计算处理;计算与相应乐曲的调性相关的调性难易度的调性难易度计算处理;以及根据运指难易度、韵律难易度以及调性难易度计算乐曲的难易度的全体难易度的计算处理。因此,不仅运指,而且也能够计算考虑包含构成乐曲的韵律、调性的要素的乐曲的难易度。

另外,在本实施形式中,在运指难易度计算处理中,CPU11,关于涉及按压邻接的音符键时的手指的位置的第一分类项目(PosType)取得表示该分类项目中的具体的形式的第一分类值;关于涉及按压邻接的音符键时的手指的分开状况的第二分类项目(iSpreadType)取得表示该第二分类项目中的具体的形式的第二分类值;关于涉及穿指或者跨指的第三分类项目(RevType)取得表示该第三分类项目中的具体的形式的第三分类值;以及关于涉及按压邻接的音符键时的换指的位置的第四分类项目(Tech)取得表示该第四分类项目中的具体的形式的第四分类值。另外,CPU11,在各个分类项目中根据分类项目中的分类值(PosType、iSpreadType、RevType、Tech),存储对于分类项目中的所述具体的形式的成本值,从存储装置中的成本表iFCost[][]中,取得对于分类项目中的具体的形式的成本值iFCost[i][j],累计成本值,把累计的成本值作为关于运指的难易度iFCost取得。

如上所述,根据本实施形式,能够关于规定运指的各种分类项目的各个,取得基于其具体的形式的成本值。因此,能够计算按照实际的运指的难度的适当的难易度。

另外,在本实施形式中,在上述第一分类项目的分类值的取得中,CPU11对于每一音符,在分类项目中的分类值是规定的值时,在存储分类项目的分类值的计数值的计数图象iFMap[][]中,使对应的值iFMap[i][j]增量,另外,在成本累计中,CPU11参照计数图象中iFMap[][]的计数值iFMap[i][j],在计数值是“1”以上时,在iFCost上相加成本表iFCost[][]中的、对应的成本值iFCost[i][j]。因此,通过在成本表iFCost[][]中存储成本值,能够取得与分类项目中的具体的形式对应的适当的成本值。

另外,在本实施形式中,在韵律难易度计算处理中,CPU11,关于涉及音符长度的第五分类项目(iStepTime),取得表示该分类项目中的具体的形式的第五分类值;关于涉及音符的小节中的位置的第六分类项目(iPos),取得表示该分类项目中的具体的形式的第六分类值。另外,CPU11,在各个分类项目中,根据分类项目中的分类值,从存储对于分类项目中的具体的形式的成本值的、存储装置中的成本表iRCost[][]中取得对于分类项目中的具体的形式的成本值iRCost[i][j],累计成本值,把累计的成本值作为关于韵律的难易度iRCost取得。

如上所述,根据本实施形式,能够关于规定音符的韵律的各种分类项目的各个,取得基于其具体的形式的成本值。因此,能够根据实际演奏时的韵律的难度计算适当的难易度。

另外,根据本实施形式,在调性难易度计算处理中,CPU11根据音符的音高信息确定所述乐曲的调性,根据确定的调性的音阶和乐曲中的音符的音高的一致度iSum、以及确定的调性的音阶和乐曲中的音符的音高的不一致度iATonality计算调性难易度。因此不只取得调性自身的难易度,而且能够取得基于构成乐曲的音符和音阶的关系的调性难易度。

特别,在本实施形式中,在调性难易度计算步骤中,CPU11根据对于一致度iSum和不一致度iATonality的差(iSum-iATonality)的不一致度iATonality的比例计算调性难易度。因此,能够得到乐曲的更适当的调性难易度。

另外,在本实施形式中,在难易度显示处理中,CPU11对于构成乐曲的各个音符,在与相应音符关联的、关于运指的分类项目的分类值是规定的值时,生成包含有包含表示音符与相应分类项目相应的标记那样的乐谱的图像数据,在显示装置16的画面上显示。由此,操作者(演奏者)在乐曲中运指方面能够容易地知道具有规定的难易度那样的音符。

下面说明本发明的第二实施形式。在第二实施形式中,在难易度计算处理(图2的步骤204)中,在全体难易度的计算中,最后校完了乐曲的速度。另外,在第二实施形式中,在乐曲数据中,包含表示乐曲的速度的值BPM(Beat perMinute)。图22是表示第二实施形式的难易度评价处理的概略的流程图。在图22中,步骤2201~2203,和图4的步骤401~403相同。因此计算和第一实施形式同样的运指难易度iFCost、韵律难易度iRCost以及调性难易度iTCost。

当步骤2201~2203结束后,CPU11调整关于运指难易度的系数RF(步骤2204)。在本实施形式中,系数RF根据以下的公式调整。

RF=RF×(0.5+0.5×(BPM/120))

亦即,根据把基准速度作为120(每分钟120拍)时的乐曲的速度的比,通过给RF的一半付与BPM/120这样的权重,调整RF。

另外,CPU11调整关于韵律难易度的系数RR(步骤2205)。在本实施形式中,系数RR根据以下的公式调整。

RR=RR×BPM/120

亦即,把基准速度作为120(每分钟120拍)时的乐曲的速度的比作为权重,通过给RR付与该权重调整RR。亦即,在韵律难易度中使用的系数RR,与在运指难易度中使用的系数RF比较,速度更直接地反映在系数值中。

其后,CPU11,根据算出的运指难易度iFCost、韵律难易度iRCost、调性难易度iTCost以及乐曲中的音符数(iCnt),分别乘调整后的加权系数RF以及RR、预定的加权系数RT以及RC,由此计算乐曲的难易度(步骤2206)。

根据第二实施形式,在全体难易度的计算处理中,CPU11对于运指难易度iFCost以及韵律难易度iRCost的各个,给与与乐曲的速度BPM对应的权重,根据加权后的运指难易度以及韵律难易度计算全体难易度。因此,能够通过还考虑速度来计算适当的难易度。

本发明不限于以上的实施形式,在权利要求中记述的发明的范围内能够进行各种变更。不用说他们也被包含在本发明的范围内。

例如,在第一实施形式的难易度显示处理中,在存储装置(RAM13)中存储关于每一音符的运指难易度的分类项目的分类值,根据该分类值,对于每一音符进行关于运指难易度的显示。本发明不限于此,也可以显示关于其他的难易度例如韵律难易度。

图23是表示本发明的第三实施形式的韵律成本计算处理的后半部分的例子的流程图。图23,在图12中表示的韵律成本计算处理的步骤1206中是No的场合、或者在步骤1210结束的场合开始。图23的步骤2301~2306和图13的步骤1301~1306相同。在步骤2302、2304、2306结束后,或者在步骤2305判断是No的场合,CPU11把关于在排列me[]中存储的乐音数据算出的表示音符长度的iStepTime、以及表示音符的小节中的位置的iPos这样的分类值,与该乐音数据关联起来存储在存储装置(RAM13)中(步骤2307)。

图24是表示本发明的第三实施形式的难易度显示处理的例子的流程图。在图24中,步骤2401~2404,和图20的步骤2001~2004相同。在步骤2404后,CPU11使与me[]中被确定的乐音数据关联,取得关于在RAM13中存储的表示音符长度的iStepTime、以及表示音符在小节中的位置的iPos这样的各个分类项目的分类值(2405)。

接着,CPU11判断iStepTime是否是规定的值,或者iPos是否是规定的值(步骤2406)。例如,在iStepTime是“32”、“16”、“8”、“4”以外的值的场合,在步骤2406判断是Yes。另外,在iPos是“32”、“16”、“8”以外的值的场合,在步骤2406判断是Yes。在步骤2406判断是Yes的场合,CPU11在音符的上部配置表示相应的分类项目的标记(步骤2407)。例如,如果iStepTime是规定的值则在图像中在音符的上部配置“T”这样的标记,如果iPos是规定的值则配置“P”这样的标记。

进而,CPU11给在音符上附加了标记的分类项目付与对应的色彩(步骤2408)。其后,CPU11在排列me[]中存储下一乐音数据的记录(步骤2409)。返回步骤2402。

根据第三实施形式,在难易度显示处理中,CPU11,关于构成乐曲的各个音符,在与相应音符关联的、关于韵律的分类项目的分类值是规定的值时,生成包含有包含表示音符与相应分类项目相应的标记那样的乐谱的图像数据,在显示装置16的画面上显示。由此,操作者(演奏者)在乐曲中关于韵律能够容易地知道具有规定的难易度那样的音符。

下面使用图25~图29说明本发明的第四实施形式。

在本实施形式中,关于乐曲的演奏必要的运指、韵律、调性这样的要素,CPU11计算个别难易度,在算出的多个个别难易度的各个上乘以加权系数,累计付与了权重的个别难易度,由此计算乐曲全体的难易度。另外,CPU11最优化在个别难易度上乘以的加权系数,使根据预先算出并且在存储单元中存储的个别难易度计算的乐曲的难易度运算值、与预先对于乐曲付与的、通过专家给出的同一乐曲的难易度评价值的相关成为最大。

图25是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。在图25中,步骤S2501~S2504和图2的步骤S201~S204相同。

当在步骤2502判断是No时,CPU11判断操作者是否操作输入装置15,输入了系数最优化的指示(步骤2505)。在步骤2505判断是Yes的场合,CPU11执行系数最优化处理(步骤2506)。

下面更详细地说明本实施形式的系数最优化处理(图25的步骤2506)。

在系数最优化处理中,在计算乐曲的难易度iCost时,最优化在运指难易度、韵律难易度以及调性难易度各要素上乘以的加权系数RF、RR以及RT。概略地说,使成为与由人评价乐曲中的各要素的难易度的场合同样的结果那样计算加权系数。

图26是表示本实施形式的系数最优化处理的例子的流程图。如图26所示,CPU11把表示处理的重复次数的参数opt初始化为“0”(步骤2601),在参数opt变得比决定的规定数大之前(在步骤2602是Yes),重复步骤2603~2610。

CPU11把用于确定乐曲的难易度的要素的参数i初始化为“0”(步骤2603)。这里,i=0表示运指难易度,i=1表示韵律难易度,另外,i=2表示调性难易度。CPU11,只要参数i小于要素数(在该场合是“2”)(步骤2604),就重复步骤2605~2608。

接着,CPU11判断表示重复次数的参数opt是否是“0”,亦即是否是第一次的处理(步骤2605)。在步骤2605判断是Yes的场合,把加权系数的基础值a[i]作为预定的初始值ini[i](步骤2606)。初始值ini[i]可以是任意的值(例如ini[i]=1)。在步骤2605判断是No的场合,把上述基础值a[i]作为在先前的处理中得到的加权系数的候补值的最大值bmax[i](步骤2607)。另外,最终得到的bmax[0]成为关于运指难易度的加权系数RF,最终得到的bmax[1]成为关于韵律难易度的加权系数RR,最终得到的bmax[2]成为关于调性难易度的加权系数RT。当执行步骤2606、2607后,CPU11使参数i增量(步骤2608),返回步骤2604。

在步骤2604判断是No的场合,CPU11执行最佳值计算处理(步骤2609)。其后,使表示重复次数的参数opt增量(步骤2610),返回步骤2602。

图27、28是表示本实施形式的最佳值计算处理的例子的流程图。基础值a[i],考虑是所求的加权系数的中心值。在最佳值计算处理中,通过使用参数i、j以及k的三重循环,关于基础值a[调边的值iVar的全部组合求候补值b[]。另外,求使用候补值b[]的难易度(难易度计算值),计算该难易度和通过专家给出的难易度评价值的相关,得到求出的相关值的最大值rmax。下面更详细地说明最佳值计算处理。

如图27所示,CPU11初始化相关值的最大值rmax(步骤2701),同时初始化参数i(步骤2702)。接着,CPU11,只要参数i比表示规定的周边值数的参数iVar小(在步骤2703是Yes),就执行步骤2704以下的处理。另外,在i≥iVar的场合(在步骤2703是No),结束处理。

在步骤2703判断是Yes的场合,CPU11初始化参数j(步骤2704),只要参数j比规定的参数iVar小(在步骤2705是Yes),就执行步骤2706以下的处理。另外,在j≥iVar的场合(在步骤2705是No),CPU11使参数i增量(步骤2712),返回步骤2703。

在步骤2705判断是Yes的场合,CPU11初始化参数k(步骤2706),只要参数k比规定的参数iVar小(在步骤2707是Yes),就执行步骤2708以下的处理。另外,在k≥iVar的场合(在步骤2707是No),CPU11使参数j增量(步骤2711),返回步骤2705。

在步骤2707判断是Yes的场合,CPU11给候补值b[0]到b[2]的各个设定值(步骤2708~2710)。在步骤2708~2710,如下计算候补值b[]。

b[0]=a[0]×d[i]

b[1]=a[1]×d[j]

b[2]=a[2]×d[k]

其中,d[i]、d[j]、d[k],分别是为计算候补值b[]而在基础值a[]上乘以的规定的系数,在本实施形式中,为0.0~9.9的值。例如,像d[0]=0.0、d[1]=0.2、d[2]=0.6、...d[6]=9.9那样,随参数i、j、k增大系数增大。

在步骤2710后,CPU11执行难易度计算处理(步骤2801)。在难易度计算处理中,根据预先算出了难易度的规定数目(SongN)的乐曲的难易度,计算用于相关值计算的难易度计算值out[]。图29是表示本实施形式的难易度计算处理的例子的流程图。如图29所示,在难易度计算处理中,CPU11把用于确定乐曲的参数p初始化为“0”(步骤2901),只要参数p小于乐曲总数SongN(在步骤2902是Yes),就重复步骤2903~2908的处理。

CPU11把难易度计算值out[p]初始化为“0”(步骤2903),把用于确定难易度要素(运指难易度、韵律难易度、调性难易度)的参数j初始化为“0”(步骤2904)。CPU11,只要参数q小于要素数Emax(在步骤2905是Yes),就执行步骤2906~2907的处理。CPU11计算难易度计算值out[p]=out[p]+data[q][p]×b[q](步骤2906)。式中,data[q][p]是关于用参数p确定的乐曲关于用q确定的要素(如果q=0则为运指,如果q=1则为韵律,如果q=2则为调性)算出的难易度。预先算出data[q][p],存储在RAM13中。其后,CPU11使参数q增量(步骤2907),返回步骤2905。

另外,在步骤2905判断是No的场合,CPU11使参数p增量(步骤2908),返回步骤2902。

当难易度计算处理结束后,CPU11求在难易度计算处理中求得的难易度计算值out[k]、和预先在RAM13中存储的通过专家给出的难易度评价值dat[k]的相关值(步骤2802)。例如,相关值可以利用以下那样的一般的相关系数。

Σi=0n-1(xi-x)(yi-y)(Σi=0n-1(xi-x)2)1/2·(Σi=0n-1(yi-y)2)1/2

是xi的相加平均,是yi的相加平均。

在上式中,xi=out[i],yi=dat[i],n=SongN。CPU11判断在步骤2202算出的相关值r是否比在以前的处理中得到的相关值的最大值rmax大(步骤2803)。在步骤2803判断是No的场合,CPU11使参数k增量(步骤2809),返回步骤2707。

另一方面,在步骤2803判断是Yes的场合,CPU11把参数n初始化为“0”,只要n小于要素数Emax(在步骤2805是Yes),就执行步骤2806~2808。CPU11把现在的候补数b[n]作为最大值bmax[n]在RAM13中临时存储(步骤2806),同时把现在的相关值r作为相关值的最大值rmax在RAM13中临时存储(步骤2807)。其后,CPU11使参数n增量(步骤2808),返回步骤2805。在步骤2805判断是No的场合,CPU11使参数k增量(步骤2809),返回步骤2807。通过步骤2805~2808,取得关于难易度的各个要素的系数的候补值b[0]~b[2]以及相关值r的最大值rmax。

如上所述,通过把最佳值计算处理(步骤2809)执行规定次数,重复处理,bmax[0]~bmax[2]慢慢接近通过专家的判断给出的值。把得到的bmax[0]、bmax[1]以及bmax[2]在RAM13等存储装置中存储,在难易度评价处理(图4)的全体难易度的计算中,分别作为在运指难易度iFCost上乘以的加权系数RF、在韵律难易度iRCost上乘以的加权系数RR、以及在调性难易度iTCost上乘以的加权系数RT使用。

在本实施形式中,在乐曲的演奏中必要的、运指、韵律、调性这样的要素中,CPU11计算个别难易度,在算出的多个难易度的各个别难易度上乘以加权系数,累计付与了权重的个别难易度,由此计算乐曲全体的难易度。另外,CPU11对于在个别难易度上乘以的加权系数进行最优化,使根据预先算出、在存储装置中存储的个别难易度算出的乐曲的难易度运算值、和预先对于乐曲付与的、通过专家给出的同一乐曲的难易度评价值的相关最大。

因此,能够客观地进行每一个要素的个别难易度的相加,同时能够不离开专家的评论那样计算难易度。

另外,在本实施形式中,对于运指、韵律、调性这样的每一个要素,求作为加权系数的基础值a[i]的周边值的、加权系数候补值b[i],使用关于全体要素的加权系数的候补值b[0]~b[2]的组,计算所述难易度运算值。通过变更组合,制作新的加权系数的组,计算难易度运算值,能够适当地取得计算与难易度评价值的相关成为最大时的难易度运算值的加权系数候补值。

另外,在本实施形式中,CPU11通过在基础值a[i]上乘以在规定范围内变化的系数d[j]来计算加权系数候补值b[i]。亦即从在基础值a[i]的周边变化的候补值b[i]的组合得到最大值bmax[i]。

进而,在本实施形式中,CPU11,根据音高信息以及运指信息计算关于按压邻接的音符键的运指的运指难易度,根据关于音符的时间信息计算关于音符长度以及音符的定时的韵律难易度,根据音符的音高信息计算关于该乐曲的调性的调性难易度。因此,能够考虑构成乐曲的各种要素,适当地计算乐曲的难易度。

下面说明本发明的第五实施形式。

在本实施形式中,在演奏者习得的乐曲中,在包含分类项目的具体的形式的场合,能够进行考虑了习得该分类项目的具体的形式的成本值的计算。

图30是表示本实施形式的乐曲难易度计算装置10中执行的处理的概略的流程图。

如图30所示,本实施形式的乐曲难易度计算装置10的CPU11,执行在RAM13中存储的参数等的清除、包含在显示装置16的画面上显示的图像的清除等的初始化(步骤3001)。接着,CPU11判断乐曲难易度计算装置10中的动作方式(步骤3002)。在本实施形式中,乐曲难易度计算装置10具有评价关于指定的乐曲的难易度的难易度评价方式、以及登录操作者(演奏者)习得的乐曲、取得关于该乐曲的规定的信息的习得乐曲登录方式,在RAM13中存储表示动作方式的信息。因此,在步骤3002,乐曲难易度计算装置10判断处于难易度评价方式或者习得乐曲登录方式的哪一种动作方式之下。

在步骤3002判断是难易度评价方式的场合,CPU11判断操作者是否通过操作输入装置15输入关于乐曲的指定(步骤3003)。例如,乐曲指定的输入,通过输入乐曲数据的编号实现。

在步骤3003判断是Yes的场合,CPU11从在大规模存储装置14中存储的乐曲数据组中读出指定的乐曲的乐曲数据,在RAM13中临时存储(步骤3004)。接着,CPU11执行难易度评价处理,计算表示读出了数据的乐曲的难易度的值iCost(步骤3005)。在步骤3003判断是No的场合,CPU11关于进行了难易度计算的各个乐曲,生成表示算出的难易度和乐曲中的音符的关联的图像,执行在显示装置16的画面上显示的难易度显示处理(步骤3006)。关于难易度评价处理以及难易度显示处理下面详述。

在步骤3002判断是习得乐曲登录方式的场合,CPU11判断操作者是否通过操作输入装置15输入了对于乐曲的指定(步骤3007)。和步骤3003相同,乐曲指定的输入,通过输入乐曲数据的编号实现。在步骤3007判断是Yes的场合,CPU11执行习得乐曲对应处理(步骤3008)。在步骤3007判断是No的场合,CPU11结束处理。关于习得乐曲对应处理,也在后面详述。

图31、图32是表示本实施形式的运指难易度评价处理的流程图。

在图31中,步骤S3101~S3115,和图5的步骤S501~S515相同。

在步骤3103判断是Yes的场合,CPU11把在步骤3107、3109、3111以及3113中使图象值增量后的运指难易度评价图象iFMap[][]与确定乐曲的信息关联,在存储装置(例如RAM13)中存储(步骤3116)。该与确定乐曲的信息关联的运指难易度评价图象iFMap[][],在后述的习得乐曲对应处理(图30的步骤3008)中参照。

接着,CPU11把参数i以及iFCost初始化为“0”(步骤3201)。CPU11判断参数i是否在“4”以上(步骤3202)。上述参数i用于确定iFMap[i][j]中的“i”。在步骤3202判断是No的场合,CPU11把参数j初始化为“0”(步骤3203),在j变得比规定的数大之前(步骤3204),重复步骤3205~3208的处理。

CPU11判断运指难易度评价图象的值iFMap[i][j]是否比“0”大(步骤3205)。在步骤3205判断是Yes的场合,CPU11判断操作者(演奏者)的乐曲习得度图象的图象值iFMapAb1[i][j]是否是“0”(步骤3206)。该乐曲习得度图象iFMapAb1[][],是表示对于分类项目的每一具体形式,操作者(演奏者)是否进行关于相应项目的具体的形式的技术的习得的图象。

乐曲习得度图象iFMapAb1[][],对于每一操作者(演奏者)设置,图象值在RAM13中存储。关于乐曲习得度图象iFMapAb1[][]的生成后面详细说明。

乐曲习得度图象iFMapAb1[i][j]=1,表示关于用分类项目“i”中的分类值“j”确定的具体的形式,操作者(演奏者)习得完毕。例如,如果iFMapAb1[0][2]=1,则表示关于位置类型(PosType)这样的分类项目,操作者(演奏者)已习得完毕关于分类值是“2”(PosType=2)那样的具体的形式。

后面还将详述,在本实施形式中,在操作者(演奏者)已经习得了关于某分类项目的具体的形式的场合,不相加关于相应分类项目的具体的形式的成本值iFCost。亦即,因为操作者(演奏者)关于该具体的形式习得完毕,所以该具体的形式对于该操作者(演奏者)的乐曲难易度不给予影响。

在步骤3206判断是Yes的场合,CPU11把与运指难易度评价图象的值iFMap[i][j]对应的成本值iFCost[i][j]加在运指难易度的值iFCost上(步骤3207)。

在步骤3205判断是No的场合、在步骤3206判断是No的场合、或者在执行步骤3207后,CPU11使j增量(步骤3208),返回步骤3204。另外,在步骤3204判断是Yes的场合,CPU11使i增量(步骤3209),返回步骤3202。

这样在本实施形式中,对于乐曲中包含的某音符,在关于与运指有关的分类项目的具体形式的图象值iFMap[i][j]不是“0”的场合,在运指难易度iFCost上相加与该分类项目的具体的形式对应的成本值iFCost[i][j]。

下面更详细地说明本实施形式的习得乐曲对应处理(图30的步骤3008)。图33是表示本实施形式的习得乐曲对应处理的例子的流程图。如图33所示,CPU11从RAM13中读出与在步骤3007中指定的乐曲关联的运指难易度评价图象iFMap[][](步骤3301)。接着,CPU11判断操作者(演奏者)固有的乐曲习得度图象iFMapAb1[][]是否存储在RAM13中(步骤3302)。例如,操作者(演奏者)的信息,只要在上述步骤3007的乐曲指定中,和指定乐曲的信息一起输入即可。

在步骤3302判断是Yes的场合,CPU11读出在RAM13中存储的、该操作者(演奏者)固有的乐曲习得度图象iFMapAb1[][](步骤3303)。在步骤3302判断是No的场合,在RAM13中生成新的乐曲习得度图象iFMapAb1[][](步骤3304)。另外,新的乐曲习得度图象的图象值iFMapAb1[i][j],全部是“0”。

接着,CPU11初始化参数i(步骤3305)。判断参数i是否在“4”以上(步骤3306)。在步骤3306判断是No的场合,CPU11把参数j初始化为“0”(步骤3307),在j变得比规定的数大之前(步骤3308),重复步骤3309~3311。

CPU11判断与乐曲关联的运指难易度评价图象iFMap[][]的图象值iFMap[i][j]是否比“0”大(步骤3309)。在步骤3309判断是Yes的场合,CPU11在乐曲习得度图象iFMapAb1[][]中把用参数i、j确定的图象值iFMapAb1[i][j]设定为“1”(步骤3310)。在步骤3309判断是No的场合,或者在步骤3310后,CPU11使参数j增量(步骤3311),返回步骤3308。

这样,当在习得乐曲登录方式中通过操作者指定习得完毕的乐曲时,运指难易度评价图象iFMap[][]的图象值iFMap[i][j]成为“1”以上的、关于有关该乐曲的分类项目的具体形式,乐曲习得度图象iFMapAb1[][]的图象值iFMapAb1[i][j]也成为“1”。因此,在图32的步骤3206,判断是否有iFMap[i][j]=0,在上述图象值不是“0”的场合,不在成本iFCost中反映iFCost[i][j]。由此,能够计算操作者(演奏者)除去了习得完毕的事项(分类项目的具体的形式)的乐曲的难易度。

在本实施形式中,由CPU11,根据关于构成乐曲的音符的乐音数据的上述音高信息、运指信息以及时间信息的任何一个,执行计算所述乐曲的难易度的难易度计算处理。在难易度计算处理中,CPU11对于每一乐曲,在关于乐曲的构成要素(例如运指或者韵律)的各个分类项目中,生成表示其具体的形式存在的难易度评价图象,在RAM13等存储装置段中存储,同时参照难易度评价图象,从存储与分类项目的各个具体的形式对应的成本值的、在RAM13等存储装置中存储的成本表中,取得与分类项目中的具体的形式对应的成本值,同时累计该成本值,把累计的成本值作为关于运指的难易度取得。另外,CPU11在习得乐曲对应处理中,在各个分类项目中,关于其各个具体的形式,生成表示演奏者有无学会的习得度图象,在RAM13等存储装置中存储。进而,在本实施形式中,CPU11在累加成本时,参照习得度图象,考虑分类项目的具体的形式中有无学会,取得成本值。

因此,根据本实施形式,在演奏者习得的乐曲中,在包含分类项目的具体的形式的场合,能够进行考虑了该分类项目的具体的形式被习得过的成本值的计算。因此,遵照演奏者对于乐曲的习得,能够得到考虑了该演奏者的技能的乐曲的难易度。

另外,在本实施形式中,CPU11,在参照习得度图象在分类项目的具体的形式中已存在习得的场合,把与分类项目的具体的形式对应的成本值从成本值的累加中排除。因此,不经过复杂的运算,遵照演奏者的乐曲的习得,能够得到考虑了该演奏者的技能的乐曲的难易度。

另外,在本实施形式中,CPU11对于每一乐曲参照难易度评价图象,在表示分类项目的具体的形式存在的场合,在习得度图象中关于分类项目的具体的形式设定规定值(例如“1”)。在该场合,习得度图象成为存储标志的图象。另外,在某分类项目的具体的形式中,如果一旦学会,则把上述标志设定为“1”,意味关于该分类项目的具体的形式完全学会。

在本实施形式中,在难易度计算处理中,包含根据音高信息以及运指信息计算关于按压邻接的音符键的运指的运指难易度的处理。能够得到考虑了演奏者的运指的技能的乐曲的难易度。

下面说明本发明的第六实施形式。在第五实施形式中,乐曲习得度图象iFMapAb1[][]的图象值iFMapAb1[i][j]取“0”或“1”的值,在计算成本iFCost时,判断是否有图象值iFMapAb1[i][j]=0,在上述图象值不是“0”的场合,使iFCost[i][j]不在成本值iFCost中反映。在第六实施形式中,图象值iFMapAb1[i][j],取0~Max(Max:规定的正值)的任一值,在计算成本值iFCost时,对于关于特定的分类项目的具体形式的成本值iFMapAb1[i][j],给与考虑了图象值iFMapAb1[i][j]的权重,相加在成本值iFCost上。

图34是表示第六实施形式的运指难易度评价处理的后半部分的例子的流程图。在图34中,步骤3401~3405和图32的步骤3201~3205相同。另外,步骤3407、3408和图32的步骤3208、3209相同。在第六实施形式中,在步骤3405判断是Yes的场合,CPU11,在与运指难易度评价图象的值iFMap[i][j]对应的成本值iFCost[][]上乘以权重(1-(iFMapAb1[i][j]/Max)),把乘以权重后的成本值,加在运指难易度的值iFCost上(步骤3406)。

下面更详细地说明第六实施形式的习得乐曲对应处理。图35是表示第六实施形式的习得乐曲对应处理的例子的流程图。在图35中,步骤3501~3509和图33的步骤3301~3309相同。另外,图35的步骤3512、3513和图33的步骤3311、3312相同。在第六实施形式中,乐曲习得度图象iFMapAb1[][]的图象值iFMapAb1[i][j],可以取0~Max的任一值。

在图35中,在步骤3509判断是Yes的场合,CPU11判断图象值iFMapAb1[i][j]是否比取得的值的最大值Max小(步骤3510)。在步骤3510判断是Yes的场合,CPU11使图象值iFMapAb1[i][j]增量(步骤3511)。在步骤3509或者3510判断是No的场合,或者在步骤3511后,CPU11使参数i增量(步骤3512),返回步骤3508。另外,Max例如也可以作为在大规模存储装置14中存储的乐曲数据的总数。由此,通过全部乐曲的习得结束,iFMapAb1[i][j]/Max能够为“1”。因此,应该在iFCost上相加的iFCost[i][j]×(1-(iFMapAb1[i][j]/Max))的值能够为“0”。

在第六实施形式中,CPU11在习得度图象的生成中,对于每一乐曲,参照难易度评价图象,在表示分类项目的具体的形式存在的场合,在习得度图象中,关于分类项目的具体的形式累加图象值。另外,CPU11在成本累加中,参照习得度图象,在分类项目的具体的形式中存储累加的值的场合,给关于分类项目的具体的形式对应的成本值付与基于累加的值的权重。因此,根据第六实施形式,能够把分类项目的具体的形式中的习得的程度作为累加值获得,能够实现考虑了该习得的程度的难易度计算。

另外,在第六实施形式中,权重相当于累加的值对于规定数的比。由此,能够关于某规定数的乐曲进行分类项目的具体的形式中的习得,而且能够完全地习得该分类项目的具体的形式。

例如,在上述第五实施形式以及第六实施形式中,关于运指难易度,生成乐曲习得度图象,在计算运指难易度的成本iFCost时,参照乐曲习得度图象,关于已经习得完毕的、关于运指的分类项目的具体的形式,不进行成本值iFCost[i][j]的相加,或者在相加一定的权重后进行成本值iFCost[i][j]的相加。

但是,不限于运指难易度,即使是韵律难易度,也可以同样生成乐曲习得度图象,参照乐曲习得度图象,判断成本值的相加的好坏,或者也可给成本值付与权重。

图36以及图37是表示本发明的第七实施形式的韵律难易度评价处理的例子的流程图。在图36中,步骤3601~3607和图10的1001~1007相同。另外,在图37中,步骤3701~3705、3707~3709和图11的步骤1101~1105、1106~1108相同。

在图36中,在步骤3602判断是Yes的场合,CPU11把在步骤3605以及3606使图象值增量后的韵律难易度评价图象iRMap[][]与确定乐曲的信息关联起来,存储在存储装置(例如RAM13)中(步骤3608)。与该确定乐曲的信息关联的韵律难易度评价图象iRMap[][],在后述的第七实施形式中的习得乐曲对应处理中被参照。

另外,在图37中,在步骤3705判断是Yes的场合,CPU11判断操作者(演奏者)的乐曲习得度图象的图象值iFMapAb1[i][j]是否是“0”(步骤3706)。在步骤3706判断是Yes的场合,CPU11把与韵律难易度评价图象的值iRMap[i][j]对应的成本值iFCost[i][j]加在运指难易度的值iRCost上(步骤3706)。

图38是表示第七实施形式的习得乐曲对应处理的例子的流程图。如图38所示,CPU11从RAM13中读出与乐曲关联的韵律难易度评价图象iRMap[][](步骤3801)。接着,CPU11判断在RAM13中是否存储有操作者(演奏者)固有的乐曲习得度图象(步骤3802)。

在步骤3802判断是Yes的场合,CPU11读出在RAM13中存储的、相应操作者(演奏者)固有的乐曲习得度图象iFMapAb1[][](步骤3803)。在步骤3802判断是No的场合,在RAM13中生成新的乐曲习得度图象iFMapAb1[][](步骤3803(步骤3804)。另外,新的乐曲习得度图象的图象值iFMapAb1[i][j]全部是“0”。

接着,CPU11初始化参数i(步骤3805)。判断参数i是否在“2”以上(步骤3806)。在步骤3806判断是Yes的场合,结束处理。另一方面,在步骤3806判断是No的场合,CPU11把参数j初始化为“0”(步骤3807),在j变得比规定的数大之前(步骤3808),重复步骤3809~3811。在步骤3808判断是Yes的场合,CPU11使参数i增量(步骤3812),返回步骤3806。

CPU11判断与乐曲关联的韵律难易度评价图象iRMap[][]的图象值iRMap[i][j]是否比“0”大(步骤3809)。在步骤3809判断是Yes的场合,CPU11在乐曲习得度图象iRMapAb1[][]中把用参数i、j确定的图象值iRMapAb1[i][j]设定为“1”(步骤3810)。在步骤3809判断是No的场合,或者在步骤3810后,CPU11使参数j增量(步骤3811),返回步骤3808。

如上所述,在第七实施形式中,当通过操作者指定习得完毕的乐曲时,韵律难易度评价图象iRMap[][]的图象值iRMap[i][j]成为“1”以上,同样,关于有关该乐曲的分类项目的具体形式,乐曲习得度图象iRMapAb1[][]的图象值iRMapAb1[i][j]也成为“1”。因此,在图37的步骤3706,判断是否有图象值iRMap[i][j]=0,在上述图象值不是“0”的场合,不在成本iRCost中反映iFCost[i][j]。由此,能够计算操作者(演奏者)除去了习得完毕的事项(分类项目的具体的形式)的乐曲的难易度。亦即,能够得到考虑了演奏者的关于韵律的技能的乐曲的难易度。

再者,即使在韵律成本值iRCost的计算中,也和第六实施形式相同,可以在成本值iRCost[i][j]上乘以基于iRMapAb1[i][j]的权重,把乘以权重的成本值加在iRCost上。在该场合,代替图38中表示的习得乐曲对应处理的步骤3810,和图35的步骤3510、3511相同,只要韵律难易度评价图象的值iRMap[i][j]比最大值Max小,CPU11就使韵律难易度评价图象的值iRMap[i][j]增量。

另外,在图37中,不进行习得度图象iRMapAb1[i][j]是否是“0”的判断(步骤3706),CPU11只要在步骤3707中在与韵律难易度评价图象的值iRMap[i][j]对应的成本值iRCost[i][j]上乘以权重(1-(iRMapAb1[i][j]/Max)),把乘以权重后的成本值加在韵律难易度的值iRCost上即可。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号