《演奏训练装置及演奏训练方法.pdf》由会员分享,可在线阅读,更多相关《演奏训练装置及演奏训练方法.pdf(33页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103035142 A (43)申请公布日 2013.04.10 C N 1 0 3 0 3 5 1 4 2 A *CN103035142A* (21)申请号 201210371789.2 (22)申请日 2012.09.28 2011-214216 2011.09.29 JP G09B 15/00(2006.01) G10H 1/00(2006.01) G10G 1/02(2006.01) (71)申请人卡西欧计算机株式会社 地址日本东京都 (72)发明人南高纯一 (74)专利代理机构永新专利商标代理有限公司 72002 代理人戚宏梅 杨谦 (54) 发明名称 演奏。
2、训练装置及演奏训练方法 (57) 摘要 CPU(13)基于表示构成乐曲的各乐音的多个 音符数据和与使用者的演奏输入相对应地产生的 演奏数据之间的比较,评价使用者的演奏技能,取 得与乐曲的难易度相对应的完成度,基于所取得 的完成度,更新价值函数表value的状态变量(完 成度等级achieve及完成度等级变化change), 向进行演奏输入的使用者给出由与更新后的状 态变量相对应地从价值函数表valueachieve changeaction查找到的最有效(最大价值) 的建议种类action指定的种类的建议。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书13页 附图17页 。
3、(19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 13 页 附图 17 页 1/2页 2 1.一种演奏训练装置,其中,具备: 建议生成部,生成建议; 取得部,在由该建议生成部生成建议后,基于通过演奏规定乐曲而得到的演奏数据,取 得该演奏的完成度; 计算部,基于由该取得部取得的完成度、以及在该取得的完成度之前取得的完成度,计 算完成度变化量; 存储控制部,使规定的存储器存储以所述之前取得的完成度、完成度变化量及所述生 成的建议为一组的数据组;以及 建议控制部,从所述存储器所存储的多组数据中,选择在完成度最接近于所述取得的 完成度且完成度变化量最大的数据组中包。
4、含的建议数据,并且,控制所述建议生成部以使 其生成该选择的建议。 2.如权利要求1所述的演奏训练装置,其中, 所述取得部基于表示构成所述规定乐曲的各乐音的多个音符数据和与使用者的演奏 输入相对应地产生的演奏数据之间的比较,评价使用者的演奏技能,取得与乐曲的难易度 相对应的完成度。 3.如权利要求1所述的演奏训练装置,其中, 在所述取得部取得的完成度和所述计算部计算出的完成度变化量所指定的状态下,所 述建议控制部从价值函数表所登录的多个建议种类中选择具有最大价值的种类的建议。 4.如权利要求1所述的演奏训练装置,其中, 还具备时刻记录部,该时刻记录部每当进行演奏时记录开始时刻及结束时刻; 所述取。
5、得部具备: 第一取得部,根据由所述时刻记录部记录的上次的开始时刻及结束时刻,取得上次练 习时间;以及 第二取得部,根据由所述时刻记录部记录的本次的开始时刻及上次的结束时刻,取得 练习间隔; 在所述第一取得部取得的上次练习时间和所述第二取部取得的练习间隔所指定的状 态下,所述建议控制部从价值函数表所登录的多个建议种类中选择对于延长练习时间而言 最有效的建议。 5.如权利要求4所述的演奏训练装置,其中, 在所述第一取得部取得的上次练习时间和所述第二取部取得的练习间隔所指定的状 态下,所述建议控制部从价值函数表所登录的多个建议种类中提取对于缩短练习间隔、频 繁练习而言最有效的建议。 6.如权利要求1。
6、所述的演奏训练装置,其中, 所述建议控制部具备: 状态变量生成部,根据由所述取得部取得的完成度,生成第一及第二状态变量;以及 建议选择部,与由所述状态变量生成部生成的第一及第二状态变量相对应地,从基于Q 学习理论的价值函数表中选择最大价值的建议。 7.一种演奏训练方法,其中,包括: 建议生成步骤,生成建议; 权 利 要 求 书CN 103035142 A 2/2页 3 取得步骤,在由该建议生成步骤生成建议后,基于通过演奏规定乐曲而得到的演奏数 据,取得该演奏的完成度; 计算步骤,基于通过该取得步骤取得的完成度、以及在该取得的完成度之前取得的完 成度,计算完成度变化量; 存储控制步骤,使规定的存。
7、储器存储以所述之前取得的完成度、完成度变化量及所述 生成的建议为一组的数据组;以及 建议控制步骤,从所述存储器所存储的多组数据中,选择在完成度最接近于所述取得 的完成度且完成度变化量最大的数据组中包含的建议数据;并且,在所述建议步骤中进行 控制,以生成该选择的建议。 权 利 要 求 书CN 103035142 A 1/13页 4 演奏训练装置及演奏训练方法 0001 相关申请的交叉引用 0002 本申请基于申请日为2011年9月29日的日本特许申请第2011-214216号,并主 张该在先申请的优先权,通过引用而在本申请中包括该在先申请的全部内容。 技术领域 0003 本发明涉及适于在电子乐器。
8、中使用的演奏训练装置及演奏训练方法。 背景技术 0004 已知有基于通过对使用者(演奏者)的演奏进行评价而得到的结果来提高练习效 果的演奏训练装置。作为这种技术,例如在特开201153579号公报中公开了如下技术:基 于演奏输入的演奏数据与相当于模范演奏的音符数据之间的比较,判断演奏错误的有无, 如果有演奏错误,则按照所对应的演奏错误项目分别进行分类汇总,由此提取容易演奏错 误的乐音,在该容易演奏错误的乐音再次产生了演奏错误的情况下,为了矫正使用者的出 错习惯,反复练习该容易演奏错误的乐音的演奏。 0005 然而,在上述特开201153579号公报所公开的技术中,仅仅是在重复相同错误 的情况下。
9、反复练习容易演奏错误的乐音的演奏,因此,存在不能够给出与使用者的状态相 对应的最佳建议的问题。 0006 本发明鉴于这样的情况而做出,其目的在于提供一种演奏训练装置及演奏训练方 法,能够给出与使用者的状态相对应的最佳建议。 发明内容 0007 为了实现上述目的,本发明的演奏训练装置的特征在于,具备:建议生成部,生成 建议;取得部,在由该建议生成部生成建议后,基于通过演奏规定乐曲而得到的演奏数据, 取得该演奏的完成度;计算部,基于由该取得部取得的完成度、以及在该取得的完成度之前 取得的完成度,计算完成度变化量;存储控制部,使规定的存储器存储以所述之前取得的完 成度、完成度变化量以及所述生成的建议。
10、为一组的数据组;以及建议控制部,从所述存储器 所存储的多组数据中,选择在完成度最接近于所述取得的完成度且完成度变化量最大的数 据组中包含的建议数据,并且,控制所述建议生成部以使其生成该选择的建议。 附图说明 0008 图1是表示第一实施方式的演奏评价装置100的整体结构的框图。 0009 图2是表示主程序的动作的流程图。 0010 图3是表示相当部位确定处理的动作的流程图。 0011 图4是表示距离计算处理的动作的流程图。 0012 图5是表示DP匹配处理的动作的流程图。 0013 图6是接着图5的、表示DP匹配处理的动作的流程图。 说 明 书CN 103035142 A 2/13页 5 00。
11、14 图7是表示演奏判定处理的动作的流程图。 0015 图8表示完成度计算处理的动作的流程图。 0016 图9是接着图8的、表示完成度计算处理的动作的流程图。 0017 图10是表示变量更新处理的动作的流程图。 0018 图11是表示最大Q行动处理的动作的流程图。 0019 图12是表示价值函数表value的一例的图。 0020 图13是表示建议处理的动作的流程图。 0021 图14是用于说明第二实施方式的概要的图。 0022 图15是表示第二实施方式的变量更新处理的动作的流程图。 0023 图16是表示第二实施方式的最大Q行动处理的动作的流程图。 0024 图17是用于说明第二实施方式的变形。
12、例的图。 具体实施方式 0025 以下,参照附图来说明本发明的实施方式。 0026 第一实施方式 0027 A结构 0028 图1是表示第一实施方式的演奏评价装置100的整体结构的框图。在该图中,键 盘10产生包含与演奏输入(按下或离开的键操作)相对应的键按下键抬起事件、键编号及 速度等的演奏信息。开关部11具有在装置面板配设的各种操作开关,产生与使用者操作的 开关种类对应的开关事件。作为开关部11中配设的主要开关,例如进行电源的接通断开的 电源开关之外,还有对成为范本(模范演奏)的乐曲数据进行选择的乐曲选择开关、用于指 示动作的结束的结束开关等。 0029 显示部12由LCD面板等构成,根据。
13、被从CPU13供给的显示控制信号,在演奏输入 时对乐曲数据进行乐谱显示或在演奏结束后对演奏评价结果进行显示,除此之外对装置的 动作状态或设定状态进行显示。 0030 CPU13将键盘10与演奏输入相对应地产生的演奏信息变换为MIDI形式的演奏数 据(音符开启音符关闭等),对变换后的演奏数据一方面进行存储,另一方面供给至音源 16而指示音乐产生。此外,CPU13基于所存储的演奏数据与构成成为范本(模范演奏)的乐 曲数据的音符数据之间的比较,评价使用者的演奏技能,取得考虑了乐曲的难易度后的完 成度,向使用者给出用于进一步提高所取得的完成度的最有效的建议。关于这样的本发明 所涉及的CPU13的特征性。
14、的处理动作,将随后详细描述。 0031 ROM14中存储有加载在CPU13中的各种控制程序。所谓各种控制程序包含有后述 的构成主程序的相当部位确定处理、演奏判定处理、完成度计算处理、变量更新处理及建议 处理。另外,相当部位确定处理包括距离计算处理及DP匹配处理,变量更新处理包括最大 Q行动(Q action)处理。 0032 RAM15具备工作区域、演奏数据区域及乐曲数据区域。RAM15的工作区域中暂时存 储有CPU13的处理所使用的各种寄存器标志数据,此外,还具备登录有与演奏技术的种类 对应的难易度的难易度表iFTCost、基于Q学习理论而生成的价值函数(va lue function) 表。
15、value。关于该难易度表iFTCost、价值函数表value的用途,随后进行描述。 说 明 书CN 103035142 A 3/13页 6 0033 RAM15的演奏数据区域中存储有CPU10与演奏输入相对应地生成的多个演奏音的 演奏数据。RAM15的乐曲数据区域中保存有多个乐曲的成为范本(模范演奏)的乐曲数据。 乐曲数据由表示用于形成乐曲的多个音符的音符数据构成。构成乐曲数据的音符数据区分 有:用右手弹奏的右手部分、用左手弹奏的左手部分及用双手弹奏的左右两部分。 0034 1个音符数据由iTime、iGate、iPit、iVel、iTech及iClear构成。iTime表示 发音时刻,iG。
16、ate表示音长,iPit表示间距(音高),iVel表示速度(音量)。iTech是表示 演奏技术的种类的值。所谓演奏技术的种类是指,“手指下穿(pass-under)”、“手指横跨 (cross-over)”等手指的移动方法的种类。在为负值的情况下,表示是不要求演奏技术的音 符,0以上的值表示演奏技术的种类。以下,将iTech称为演奏技术类型。iClear是表示对 应的音符是否如范本那样被正确地弹奏了的标志,在为“1”的情况下表示如范本那样正确 地进行了弹奏,在为“0”的情况下表示没有被正确地弹奏。以下,将iClear称为弹奏正确 标志iClear。 0035 音源16由公知的波形存储器读出方式。
17、构成,产生与从CPU13供给的演奏数据相对 应的音乐数据并进行输出。音频系统17将从音源16输出的音乐数据变换成模拟形式的音 乐信号之后,实施从该音乐信号中除去不需要的噪声等的滤波处理,之后进行电平放大而 从扬声器发音。 0036 B动作 0037 接下来,参照图2图9来说明上述结构的演奏评价装置100的动作。以下,描述 CPU13所执行的主程序、相当部位确定处理、演奏判定处理、完成度计算处理、变量更新处理 及建议处理的各动作。另外,相当部位确定处理包括距离计算处理及DP匹配处理,变量更 新处理包括最大Q行动处理。 0038 (1)主程序的动作 0039 图2是表示主程序的动作的流程图。若对演。
18、奏评价装置100接通电源,则CPU13 执行图2所图示的主程序而使处理前进至步骤SA1,进行使装置各部初始化的初始化。若初 始化结束,则CPU13进入步骤SA2,判断是否进行了结束操作。如果没有进行结束操作,判断 结果为“否”,进入步骤SA3。 0040 在步骤SA3中,执行将CPU10与演奏输入相对应地生成的演奏数据保存在RAM15 的演奏数据区域中的演奏输入处理。另外,在演奏输入处理中,将通过乐曲选择开关操作而 选择的乐曲数据作为练习课题,使显示部12显示该乐曲数据,使用者观看该乐谱来进行弹 奏乐曲的各乐音的演奏输入。 0041 接着,在步骤SA4中执行如下的相当部位确定处理:确定出通过使。
19、用者的演奏输 入而产生的演奏数据相当于成为范本(模范演奏)的乐曲数据中的哪个音符数据,并且该相 当音符数据是在右手部分、左手部分及左右两部分中的哪个部分中被弹奏的。 0042 接着,在步骤SA5中执行如下的演奏判定处理:比较在上述步骤SA4中确定出的音 符数据的间距iPit和演奏数据的音高,判定该音符数据的乐音是否被正确地弹奏,将被正 确地弹奏的音符数据的弹奏正确标志iClear设置为“1”。 0043 然后,在步骤SA6中执行完成度计算处理。在完成度计算处理中,如后述那样,从 乐曲数据中的全部音符数据所包含的演奏技术类型iTech中提取每个种类的演奏技术的 产生次数及弹奏正确次数(被正确地弹。
20、奏的次数),对根据所提取的产生次数及弹奏正确次 说 明 书CN 103035142 A 4/13页 7 数而得到的每个种类的演奏技术的正确率(弹奏正确次数产生次数),乘以与演奏技术的 种类相对应的难易度,来计算每个种类的演奏技术的完成度,对计算出的各完成度进行累 算,从而取得与乐曲的难易度相对应的完成度achieveValue。 0044 接下来,在步骤SA7中,根据作为基于Q学习理论、按照当前的建议进行演奏输入 的结果而得到的完成度achieveValue,对价值函数表value的状态变量进行更新,并且, 执行与更新后的状态变量相对应地从价值函数表value取得最有效的建议的变量更新处 理。。
21、接着,在步骤SA8中,向进行演奏输入的使用者给出由从价值函数表valueachieve changei中查找出的最有效(最大Q行动价值maxQ)的建议种类action来指定的种类 的建议。 0045 之后,使处理返回至上述的步骤SA2,以后反复执行上述的步骤SA2SA9,直到进 行了结束操作。然后,若进行了结束操作,则上述步骤SA2的判断结果为“是”,进入到步骤 SA9,执行对在变量更新处理(步骤SA7)中更新后的变量(上次的完成度等级prevAchieve、 完成度等级变化prevChange、建议种类prevAction及完成度pevAchieveValue)进行保存 的变量保存处理,结束。
22、本处理。 0046 (2)相当部位确定处理的动作 0047 接下来,参照图3来说明相当部位确定处理的动作。若通过上述的主程序的步骤 SA4(参照图2)执行了本处理,则CPU13使处理前进至图3所图示的步骤SB1,在寄存器 doDistMin中保存成为初期值的规定值。关于保存在寄存器doDistMin中的初期值的用途, 随后将进行描述。 0048 接着,在步骤SB2中,将指针meorgtar0及指针meorgtar1复位为零。所谓指针 meorgtar0是指,在乐曲数据中的右手部分的音符数据内,指定与通过使用者的演奏输入而 产生的演奏数据相一致的音符数据的指针。同样,所谓指针meorgtar1是。
23、指,在乐曲数据中 的左手部分的音符数据内,指定与通过使用者的演奏输入而产生的演奏数据相一致的音符 数据的指针。 0049 接着,在步骤SB3SB4中,将用于对乐曲数据中的右手部分的音符数据内的前端 音符(前端的音符)进行指定的地址值保存于指针meorg0,将用于对乐曲数据中的左手 部分的音符数据内的前端音符(前端的音符)进行指定的地址值保存于指针meorg1。然 后,若进入步骤SB5,则判断指针meorg0、meorg1是否都不是末端,换句话说,判断是 否到乐曲结尾为止检索了相当部位。 0050 如果还未达到乐曲结尾为止对相当部位进行检索,判断结果为“是”,进入步骤 SB6。在步骤SB6SB8。
24、中,每当指针meorg0及指针meorg1向达到乐曲的结尾步进 时,反复执行步骤SB6的距离计算处理。并且,若达到乐曲的结尾为止结束了相当部位的检 索,则上述步骤SB5的判断结果为“否”,结束本处理。 0051 另外,在步骤SB6的距离计算处理中,如后述那样,针对通过使用者的演奏输入而 产生的演奏数据,对乐曲数据中的全部音符数据(右手部分、左手部分及左右两部分)实施 公知的DP匹配而计算与相似度相当的距离(右手部分时的距离、左手部分时的距离及左右 两部分时的距离),将计算出的距离中的成为相似度最大且距离最小的部分的音符数据,确 定为与演奏数据相当的部位。 0052 (3)距离计算处理的动作 说。
25、 明 书CN 103035142 A 5/13页 8 0053 接下来,参照图4来说明距离计算处理的动作。若通过上述的相当部位确定处理 的步骤SB6(参照图3)执行本处理,则CPU13使处理前进至图4所图示的步骤SC1,在寄存 器iHand中保存“0”。寄存器iHand的值用于指定乐曲数据中的部分。具体地说,在为“0” 的情况下,指定乐曲数据中的右手部分,在为“1”的情况下,指定乐曲数据中的左手部分,在 为“2”的情况下,指定乐曲数据中的左右两部分。以下,将寄存器iHand的值称为部分指定 数据iHand。 0054 接着,在步骤SC2中,判断部分指定数据iHand是否小于“3”,即判断是否对。
26、全部部 分结束了距离计算。如果部分指定数据iHand小于“3”,对全部部分结束了距离计算,则判 断结果为“是”,通过步骤SC3执行DP匹配处理。在DP匹配处理中,如后述那样,针对通过 使用者的演奏输入而产生的演奏数据,对乐曲数据中的全部音符数据(右手部分、左手部分 及左右两部分)取得与相似度相当的距离doDist。 0055 接下来,在步骤SC4中,判断通过上述步骤SC3的DP匹配处理而本次取得的距离 doDist是否比上次取得的距离doDistMin(初次时使用在步骤SB1中保存的规定值)的95 的值小。换句话说,判断是否更新了最小距离。如果没有更新最小距离,则判断结果为“否”, 进入后述的。
27、步骤SC10。 0056 另一方面,若本次取得的距离doDist比上次取得的距离doDistMin的95的值 小,更新了最小距离,则上述步骤SC4的判断结果为“是”,进入步骤SC5。在步骤SC5中,将 距离doDist更新为距离doDistMin。此外,在步骤SC5中,将指针meorg0的值设置在指 针meorgtar0中,将指针meorg1的值设置在指针meorgtar1中。 0057 然后,若进入步骤SC6,则判断部分指定数据iHand是否为“0”,换句话说,判断距 离计算对象是否为右手部分。如果是右手部分,则判断结果为“是”,进入步骤SC8,将指针 meorgtar1复位为零,接着在步骤。
28、SC10中,使部分指定数据iHand自加1而步进后,使处理 返回上述的步骤SC2。 0058 与此相对,在部分指定数据iHand不是“0”的情况下,换句话说,如果距离计算 对象不是右手部分,则上述步骤SC6的判断结果为“否”,进入步骤SC7,判断部分指定数据 iHand是否为“1”,换句话说,判断距离计算对象是否为左手部分。如果是左手部分,则判断 结果为“是”,进入步骤SC9,将指针meorgtar0复位为零,接着在步骤SC10中,使部分指定 数据iHand自加1而步进后,使处理返回上述的步骤SC2。 0059 另一方面,在距离计算对象不是左手部分的情况下,换句话说若是左右两部分,则 上述步骤。
29、SC7的判断结果为“否”,进入步骤SC10,使部分指定数据iHand自加1而步进后, 使处理返回至上述的步骤SC2。然后,若步进后的部分指定数据iHand大于“3”,则上述步 骤SC2的判断结果为“否”,结束本处理。 0060 (4)DP匹配处理的动作 0061 接下来,参照图5图6来说明DP匹配处理的动作。若通过上述的距离计算处理 的步骤SC3(参照图4)来执行本处理,则CPU13使处理前进至图5所图示的步骤SD1,将用 于指定音符数据的指针I设置成初期值“0”。 0062 接下来,在步骤SD2中,将指针meorg0的值设置在指针me0org(I)中,将指针 meorg1的值设置在指针me1。
30、org(I)中。另外,指针meorg0是用于对乐曲数据中的 右手部分的前端的音符数据进行指定的指针值,指针meorg1是用于对乐曲数据中的左 说 明 书CN 103035142 A 6/13页 9 手部分的前端的音符数据进行指定的指针值。 0063 接着,在步骤SD3中,判断是否与指针I的步进相对应地结束了对全部音符数据的 指定。如果没有结束对全部音符数据的指定,则判断结果为“否”,进入步骤SD4,判断部分 指定数据iHand是否为“0”,换句话说,判断DP匹配的对象是否为右手部分。如果是右手部 分,则判断结果为“是”,进入步骤SD5,将指针me0org(I)设置成指针meAorg(I)后,使。
31、处 理前进至图6所图示的步骤SD9(后述)。 0064 如果DP匹配的对象不是右手部分,则上述步骤SD4的判断结果为“否”,进入步骤 SD6。在步骤SD6中,判断部分指定数据iHand是否为“1”,换句话说,判断DP匹配的对象是 否为左手部分。如果是左手部分,在判断结果为“是”,进入步骤SD7,将指针me1org(I)设 置成指针meAorg(I)后,使处理前进至图6所图示的步骤SD9(后述)。 0065 若DP匹配的对象为左右两部分,则上述步骤SD6的判断结果为“否”,进入步骤 SD8。在步骤SD8中,对由指针me0org(I)指定的音符数据的发音时刻iTime、和由指针 me1org(I)。
32、指定的音符数据的发音时刻iTime进行比较,将对发音时刻较早的音符数据进 行指定一方的指针设置给指针meAorg(I)后,使处理前进至图6所图示的步骤SD9(后述)。 0066 然后,若进入图9所图示的步骤SD9,则对用于指定演奏数据的指针J设置初期值 “0”。接下来,在步骤SD10中,判断是否与指针J的步进相对应地结束了对全部演奏数据的 指定。如果没有结束对全部演奏数据的指定,则判断结果为“否”,进入步骤SD11。 0067 在步骤SD11中,对由指针meAorg(I)指定的音符数据的间距iPit、和由指针 meBusr(J)指定的演奏数据的间距进行比较。若两数据的间距相一致,则进入步骤SD。
33、12, 对寄存器doMissMatchIJ设置一致值“00”,另一方面,如果两数据的间距不一致, 则进入步骤SD13,对寄存器doMissMatchIJ设置不一致值“10”。 0068 接下来,在步骤SD14中,使指针J自加1而步进(forward)后,使处理返回至上述 的步骤SD10。之后,一边使指针J步进,一边反复进行上述的步骤SD10SD14,由此,针对 由指针meAorg(I)指定的音符数据的间距iPit,进行与全部演奏数据的间距之间的一致/ 不一致的判别,将该判别结果保存在与一致/不一致矩阵相当的二维寄存器doMissMatch IJ中。若与指针J的步进相对应地结束了对全部演奏数据的。
34、指定,则上述步骤SD10的 判断结果为“是”,进入步骤SD15,使指针I自加1而步进后,使处理返回至所述的步骤SD3 (参照图5)。 0069 并且,若与指针I的步进相对应地结束了全部音符数据的指定,则所述的步骤SD3 的判断结果为“是”,进入步骤SD16。在步骤SD16中,判断部分指定数据iHand是否为“0”, 换句话说,DP匹配的对象是否为右手部分。如果是右手部分,则判断结果为“是”,进入步骤 SD17,将指针me1org复位为零之后,进入步骤SD20。 0070 另一方面,在部分指定数据iHand不是“0”的情况下,换句话说,如果DP匹配的对 象不是右手部分,则上述步骤SD16的判断结。
35、果为“否”,进入步骤SD18,判断部分指定数据 iHand是否为“1”,换句话说,判断DP匹配是否为左手部分。如果是左手部分,则判断结果 为“是”,进入步骤SD19,将指针me0org复位为零之后,进入步骤SD20。 0071 在DP匹配的对象为左右两部分的情况下,上述步骤SD16、SD18的各判断结果都是 “否”,进入步骤SD20。然后,在步骤SD20中,通过基于在二维寄存器doMissMatchIJ 中保存的一致/不一致矩阵而进行的公知的DP匹配,针对通过使用者的演奏输入而产生的 说 明 书CN 103035142 A 7/13页 10 演奏数据,对乐曲数据中的全部音符数据(右手部分、左手。
36、部分及左右两部分)取得相当于 相似度的距离doDist,结束本处理。 0072 (5)演奏判定处理的动作 0073 接下来,参照图7来说明演奏判定处理的动作。若通过所述的主程序的步骤SA5 (参照图2)来执行本处理,则CPU13使处理前进至图7所图示的步骤SE1,对用于对音符数 据进行指定的指针I设置初期值“0”。 0074 接下来,在步骤SE2中,将用于对乐曲数据中的右手部分的音符数据内的、与通过 使用者的演奏输入而产生的演奏数据一致的音符数据进行指定的指针meorgtar0的值,设 置在指针me0org(I)中,并且,将用于对乐曲数据中的左手部分的音符数据内的、与通过使 用者的演奏输入而产。
37、生的演奏数据一致的音符数据进行指定的指针meorgtar1的值,设置 在指针me1org(I)中。 0075 接着,在步骤SE3中,判断是否与指针I的步进相对应地结束了对全部音符数据的 指定。如果结束了对全部音符数据的指定,则判断结果为“否”,进入步骤SE4。在步骤SE4 中,对由指针me0org(I)指定的音符数据的发音时刻iTime、和由指针me1org(I)指定的 音符数据的发音时刻iTime进行比较,将对发音时刻较早的音符数据进行指定一方的指针 设置给指针meAorg(I)。 0076 接着,在步骤SE5中,对用于指定演奏数据的指针J设置初期值“0”,接着在步骤 SE6中,判断是否与指。
38、针J的步进相对应地结束了对全部演奏数据的指定。如果结束了对全 部演奏数据的指定,则判断结果为“否”,进入接下来的步骤SE7。在步骤SE7中,对由指针 meAorg(I)指定的音符数据的间距iPit、和由指针meBusr(J)指定的演奏数据的间距进 行比较。 0077 若音符数据的间距与演奏数据的间距相一致,则进入步骤SE8,对由指针meAorg (I)指定的音符数据的弹奏正确标志iClear设置“1”,表示是被正确地弹奏的乐音。然后, 进入步骤SE9,使指针J自加1而步进后,使处理返回至上述的步骤SE6。之后,一边使指针 J步进一边反复进行上述的步骤SE6SE9。 0078 然后,若与指针J的。
39、步进相对应地结束了对全部演奏数据的指定,则上述步骤SE6 的判断结果为“是”,进入步骤SE10,使指针I自加1而步进后,使处理返回至上述的步骤 SE3。若与指针I的步进相对应地结束了对全部音符数据的指定,则该步骤SD3的判断结果 为“是”,结束本处理。 0079 (6)完成度计算处理的动作 0080 接下来,参照图8图9来说明完成度计算处理的动作。若通过所述的主程序的 步骤SA6(参照图2)来执行本处理,则CPU13使处理前进至图8所图示的步骤SF1,在寄存 器me中保存前端音符(曲头的乐音)的音符数据。接着,在步骤SF2中,判断是否结束了对 乐曲数据中的全部音符数据的读出。如果没有结束对全部。
40、音符数据的读出,则判断结果为 “否”,进入步骤SF3。 0081 在步骤SF3中,判断在寄存器me中保存的音符数据所包含的演奏技术类型iTech 是否为“0”以上,换句话说,判断是否是需要演奏技术的音符。在演奏技术类型iTech为负 值的情况下,是不需要演奏技术的音符,因此判断结果为“否”,进入步骤SF7,在寄存器me 中保存下一个音符数据,使处理返回至上述的步骤SF2。 说 明 书CN 103035142 A 10 8/13页 11 0082 另一方面,在寄存器me中保存的音符数据所包含的演奏技术类型iTech为“0”以 上、表示演奏技术的种类的情况下,上述步骤SF3的判断结果为“是”,进入。
41、步骤SF4。在步 骤SF4中,使按照演奏技术不同类型iTech分别对产生次数进行计数的计数器iFTTypeCnt iTech自加1而步进。 0083 接着,在步骤SF5中,判断在寄存器me中保存的音符数据所包含的弹奏正确标志 iClear是否为“1”、即判断是否是被正确地弹奏的乐音。如果不是被正确地弹奏的乐音(弹 奏正确标志iClear为“0”),则判断结果为“否”,进入步骤SF7,在寄存器me中保存下一个 音符数据,使处理返回至上述的步骤SF2。 0084 与此相对,如果是被正确地弹奏的乐音,则上述步骤SF5的判断结果为“是”,进入 步骤SF6。在步骤SF6中,使按照每个演奏技术类型iTec。
42、h分别对弹奏正确次数进行计数的 计数器iFTTypeCleariTech自加1而步进。并且,之后进入步骤SF7,在寄存器me中保 存下一个音符数据,使处理返回至上述的步骤SF2。 0085 以后,在结束对全部音符数据的读出之前,反复进行上述的步骤SF2SF7,由此, 每个演奏技术类型iTech的产生次数被计数器iFTTypeCntiTech计数,并且,每个演奏 技术类型iTech的弹奏正确次数被计数器iFTTypeCleariTech计数。 0086 然后,若对全部音符数据结束了读出,则上述步骤SF2的判断结果为“是”,进入图 9所图示的步骤SF8。在步骤SF8中,将用于指定演奏技术的种类的指。
43、针I及寄存器ac清 零。另外,在寄存器ac中,如后述那样,保存有表示演奏技能的提高程度的完成度。以下, 将寄存器ac的值称为完成度ac。接着,若进入步骤SF9,则判断是否结束了对全部演奏技 术的每个种类的完成度ac的计算。如果没有结束计算,则判断结果为“否”,进入步骤SF10。 0087 在步骤SF10SF11中,在弹奏正确次数(计数器iFTTypeClearI)除以产生次 数(计数器iFTTypeCntI而得到的正确率上,乘以与指针I相对应地从难易度表iFTCost I读出的难易度,由此计算由指针I指定的演奏技术的种类的完成度ac,并与指针I的步 进相对应地将该完成度ac进行累算。 0088。
44、 这样,若结束了对全部演奏技术的每个种类的完成度ac的计算,则在上述步骤 SF10中,按照各演奏技术的每个种类计算出的完成度ac被累算,作为其结果,针对使用者 所演奏输入的乐曲得到考虑了难易度后的完成度ac。此外,若结束了对全部演奏技术的种 类的完成度ac的计算,则上述步骤SF9的判断结果为“是”,进入步骤SF12,将考虑了乐曲 的难易度后的完成度ac保存在寄存器achieveValue(以下称为完成度achieveValue)中, 结束本处理。 0089 (7)变量更新处理的动作 0090 在作为强化学习之一的Q学习中,已知“按照当前的规则进行行动,根据由此所得 到的报酬来制作价值函数(规则。
45、评价),并且,根据当前的价值函数制作最佳规则”。 0091 在变量更新处理中,应用这样的Q学习理论,具体地说,根据作为按照当前的建议 (规则)进行演奏输入(行动)的结果而得到的完成度(报酬),更新价值函数表value的状态 变量,并且,与更新后的状态变量相对应地从价值函数表value取得最有效的建议(规则)。 0092 以下,参照图10来说明这样的变量更新处理的动作。若通过所述的主程序的步骤 SA7(参照图2)来执行本处理,则CPU13使处理前进至图10所图示的步骤SG1,在完成度等 级数AchieveN(常量)上乘以完成率(完成度achieveValue乐曲的难易度cost),计算被 说 明。
46、 书CN 103035142 A 11 9/13页 12 作为Q学习中的状态变量的完成度等级achieve。 0093 接着,在步骤SG2中,从当前的完成度achieveValue中减去上次的完成度 prevAchieveValue来计算完成度差分a。接着,在步骤SG3中,判断所计算出的完成度差分 a是否大于“0”,即判断完成度是否上升了。在完成度上升了的情况(a0)下,判断结果为 “是”,进入步骤SG4,对寄存器change设置“4”之后,进入步骤SG8。以下,将寄存器change 的值称作完成度等级变化。该完成度等级变化change被作为Q学习中的状态变量。 0094 另一方面,在完成度差。
47、分a为“0”以下,换句话说,完成度没有变化或完成度下降 了的情况下,上述步骤SG3的判断结果为“否”,进入步骤SG5。在步骤SG5中,判断所计算 出的完成度差分a是否为“0”,换句话说判断完成度是否没有变化。在完成度没有变化的 情况(a0)下,判断结果为“是”,进入步骤SG6,将完成度等级变化change设置为“2”之 后,进入步骤SG8。与此相对,在完成度下降了的情况(a0)下,上述步骤SG5的判断结果 为“否”,进入步骤SG7,将完成度等级变化change设置为“0”之后,进入步骤SG8。 0095 然后,在步骤SG8中,在完成度等级achieve及完成度等级变化change所指定 的状态。
48、下,一边使行动编号检索指针i步进,一边执行从价值函数表valueachieve changei中查找最有效(最大Q行动价值maxQ)的建议种类action的最大Q行动处 理。 0096 接着,在步骤SG9中,从价值函数表valueachievechangeaction取得完 成度等级achieve及完成度等级变化change所指定的当前状态下的建议种类action的当 前价值afterQ。接着,在步骤SG10中,从价值函数表valueprevAchieveprevChange prevAction取得完成度等级prevAchieve及完成度等级变化prevChange所指定的上次 状态下的上次建议种类prevAction的上次价值v。 0097 接下来,在步骤SG11中,根据下面的式(1),与当前价值afterQ相对应地更新上次 的状态及上次价值v。 0098 valueprevAchieveprevChangeprevActionvalpha (gammaafterQvreward)(1) 0099 另外,在上述(1)式中,alpha为学习率,gamma为折扣率,reward为报酬(完成度 achieveValue)。 0100 然后,在步骤SG12中,将当前的完成度等级achieve、完成度等级变化change、建 议种类act。