CN111723938A - 一种基于指法规则和强化学习的钢琴指法自动生成方法 - Google Patents
一种基于指法规则和强化学习的钢琴指法自动生成方法 Download PDFInfo
- Publication number
- CN111723938A CN111723938A CN202010371058.2A CN202010371058A CN111723938A CN 111723938 A CN111723938 A CN 111723938A CN 202010371058 A CN202010371058 A CN 202010371058A CN 111723938 A CN111723938 A CN 111723938A
- Authority
- CN
- China
- Prior art keywords
- finger
- fingering
- learning
- action
- fingers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000002787 reinforcement Effects 0.000 title claims abstract description 26
- 230000006870 function Effects 0.000 claims abstract description 48
- 238000006243 chemical reaction Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000011158 quantitative evaluation Methods 0.000 claims abstract description 24
- 210000003811 finger Anatomy 0.000 claims description 138
- 230000009471 action Effects 0.000 claims description 60
- 230000008901 benefit Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 210000004932 little finger Anatomy 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 210000003813 thumb Anatomy 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000000205 computational method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B15/00—Teaching music
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
- G10H1/0075—Transmission between separate instruments or between individual components of a musical system using a MIDI interface with translation or conversion means for unvailable commands, e.g. special tone colors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Educational Administration (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Educational Technology (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Acoustics & Sound (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种基于指法规则和强化学习的钢琴指法自动生成方法,步骤如下:根据钢琴指法转换规则,建立指法量化评价体系;对乐曲的MIDI文件进行解析并提取键位序列;采用时序差分控制的强化学习算法作为学习网络进行训练;输入新乐曲的MIDI文件,学习网络根据键位序列决策手指序号,生成指法序列。本发明基于通用指法规则和强化学习,把文字描述性的指法规则,通过机器学习自动生成指法序列。它不需要指法数据用于训练,因此不局限于指法数据质量和大小的限制。另外,本发明采用时序差分控制类型的强化学习算法,不用构建环境模型、奖励和下一状态的概率分布模型,简洁明了,并且每一步都实时更新价值函数,加快了学习速度。
Description
技术领域
本发明涉及人工智能机器学习的技术领域,具体涉及一种基于指法规则和强化学习的钢琴指法自动生成方法。
背景技术
钢琴教育作为音乐教育市场中的最大品类,目前幼儿园学琴比例达60%以上,小学达到30%,中国琴童总数达3000万,并以每年10%的速度增长。但与之不匹配的是目前的钢琴师资有限,教学水平参差不齐;教学资源缺乏创造性,跟不上社会的需求;教学方法单调,针对性不强。
指法是钢琴学习者需要掌握的重要一环。对于钢琴初学者,尤其是老年人、残疾人等群体,指法练习是比较困难的。存在的很多难题如识谱困难、演奏音乐连贯性较差、左右手不协调、对位较慢等,这些问题归结起来都是由指法运用不当引起的,这成为初学者钢琴技术提升的掣肘与瓶颈。
而目前的指法教学,大多需要钢琴老师一对一教学及练习,曲谱中普遍没有可参考的指法。对于指法,除了少数音乐家对曲谱有指法标注外,大多曲谱是没有参考指法的,而文字描述性的指法规则无法直接被钢琴学员应用到练习中。对于钢琴音乐热爱的老年人、残疾人等群体和由于种种原因无法获得优质钢琴教育资源的学习者,若有科学的指法作为指导将为他们带来新的体验,能够有效降低他们钢琴指法学习初期的障碍。
目前,国内外对于钢琴指法自动生成这方面研究比较少,已有的少量研究几乎都是基于采集到的指法数据,通过有监督机器学习模型生成新的指法。目前用机器学习生成钢琴指法的主要方法是基于隐马尔可夫模型(HMM)。比如,专利“一种基于判决隐马尔可夫模型的钢琴指法自动标注方法”(申请号:201910087814.6),提出一种基于判决隐马尔可夫模型的钢琴指法自动标注算法。结合指法规则的先验知识,在判决HMM中引入判决函数,然后在预测指法路径时,利用修改后的模型参数在修剪了不可弹的路径后,寻找概率最大的指法路径。这种方法克服了传统HMM不能结合音符序列信息的缺点,去除了错误的穿跨指和超出可弹跨度的指法。但是,这种基于指法数据的寻求最大概率指法路径的方法受限于数据本身的质量和数据量的大小,生成的结果只能接近于指法数据的指法水平,而无法超越性地进步。
另外,由于钢琴指法比较特殊,不同流派的指法规则风格会存在差异,基于不同的数据生成的指法风格也不一样,很难说孰好孰坏。而且,由于指法数据质量无法保障以及数据量有限,通过数据学习来生成的指法可能会不全面不通用。因此,脱离现有的指法数据基础,而探究基于指法规则的钢琴指法自动生成的方法具有重要的意义。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于指法规则和强化学习的钢琴指法自动生成方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于指法规则和强化学习的钢琴指法自动生成方法,所述的钢琴指法自动生成方法包括下列步骤:
S1、根据钢琴弹奏时指间转换的指法规则,用具体的数值为连续两个手指序号在不同情况下的好坏程度分别打分,形成指法量化评价体系;
其中,所述的指间转换的指法规则规定如下:
以指间转换时落指的舒适程度为总原则,考虑指间的作用距离、落指难度以及手指灵活度三个因素,指间转换在作用距离内、落指容易、对应手指灵活度高的则分数较高,反之,指间转换在作用距离外、落指困难、对应手指灵活度低的则分数较低,依据落指舒适程度为指法进行打分;
S2、用Python编程语言及Mido解析包对乐曲的MIDI文件进行解析,并从中提取得到键位序列;
S3、构建时序差分控制的强化学习算法作为学习网络,把键位序列送入学习网络进行训练,训练过程中生成手指序号的原则为选择当前状态下价值函数最大的动作,每一步动作生成的手指序号由指法量化评价体系打分,分值反馈至学习网络继续训练;
S4、将乐曲的MIDI文件输入经过训练的学习网络,学习网络根据解析后提取的键位序列决策输出手指序号,生成指法序列。
进一步地,所述的步骤S1过程如下:
S101、根据钢琴弹奏时指间转换的习惯,联合钢琴键位及手指跨域确定不同情况下连续两个落指手指序号的指法规则;
S102、基于指法规则为连续两个落指手指序号的转换情况以具体的数值分别打分,将不同转换情况与不同分数一一对应形成指法量化评价体系。
进一步地,所述的步骤S2过程如下:
S201、用Python编程语言及Mido解析包对乐曲的MIDI文件进行解析,解析后的MIDI文件包含音轨信息;
S202、对解析后的MIDI文件进行音轨分离处理,对分离后的每个音轨分别提取出音符对应的键位序列。
进一步地,所述的步骤S3过程如下:
S301、构建时序差分控制的强化学习算法作为学习网络,确定状态、动作和收益,将输入的相邻两个音符的键位差和学习网络生成的前一手指序号作为状态state,生成的当前手指序号作为动作action,基于指法量化评价体系为当前生成的手指序号的打分数值作为收益reward;
S302、学习网络采用时序差分控制类型的强化学习算法,首先初始化,设置统一的初始状态价值函数;
S303、输入提取的键位序列,考虑上一键位和上一手指序号,在当前状态下选择价值函数最大的动作生成输出的手指序号;
S304、由指法量化评价体系对生成的手指序号进行评价打分,分值作为收益反馈至学习网络继续训练;
S305、学习网络根据指法量化评价体系反馈的收益更新该状态动作下的价值函数;
价值函数的计算由贝尔曼方程得出:
Vπ(s)=Eπ[Rt+1+γV(s′)|St=s] 公式(1)
其中,Vπ(s)表示s状态下的价值函数,π表示遵循的策略,E表示期望,Rt+1表示t+1时刻的收益,γ表示折扣因子,V(s′)是下一状态s′下的价值函数,St表示t时刻的状态;
S306、反复执行上述步骤S303~S305,直到各状态动作下的价值函数的变化小于5%的阈值,训练结束。
进一步地,进一步地,所述的步骤S305中,各状态动作下的价值函数被称为动作价值函数,用Q表示,由贝尔曼方程得出Q值的计算方法:
Qπ(s,a)=Eπ[Rt+1+γQπ(st+1,at+1)|St=s,At=a] 公式(2)
其中,Qπ(s,a)表示在s状态下执行动作a的动作价值函数,Qπ(st+1,at+1)表示在st+1状态下执行动作at+1的动作价值函数,At表示t时刻的动作;
根据以上公式(2)对Q值进行计算,如下为采用时间差分法对Q值进行更新:
Qπ(s,a)←Qπ(s,a)+β[R+γmaxa′Qπ(s′,a′)-Qπ(s,a)] 公式(3)
其中,β是学习率,R是收益,maxa′Qπ(s′,a′)表示在s′状态下执行动作a′的动作价值函数的最大取值。
进一步地,所述的步骤S1中,指间作用距离规定如下:
舒适条件下,指间作用距离以钢琴键盘上手指间跨越的白键数量为单位,从低位到高位分别用Ⅰ、Ⅱ、Ⅲ、Ⅳ和Ⅴ序号代表大拇指、食指、中指、无名指和小拇指,同一手指不做转换;
向低位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为4、3、2、0;
Ⅱ指转Ⅰ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为5、0、0、0;
Ⅲ指转Ⅰ、Ⅱ、Ⅳ、Ⅴ指的最大指间作用距离分别为6、3、0、0;
Ⅳ指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为6、4、2、0;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、Ⅳ指的最大指间作用距离分别为7、5、4、2;
向高位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为5、6、6、7;
Ⅱ指转Ⅰ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为2、3、4、5;
Ⅲ指转Ⅰ、Ⅱ、Ⅳ、Ⅴ指的最大指间作用距离分别为2、0、2、4;
Ⅳ指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为2、0、0、2;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、Ⅳ指的最大指间作用距离分别为0、0、0、0。
本发明相对于现有技术具有如下的优点及效果:
1)本发明基于通用的指法规则和强化学习的方法,把文字描述性的指法规则,通过机器学习,自动生成相应的指法序列,不局限于指法数据质量和数据量大小的限制。而原来的方法虽然也把指法规则用于判决函数中,但是其训练还是用指法数据来进行有监督学习的,指法数据是不可或缺的,故生成的指法的好坏直接受到指法数据质量的影响;而本发明用强化学习的方法是在没有指法数据的情况下,让机器基于指法规则来学习,不局限于指法数据质量和数据量大小的限制。
2)本发明生成钢琴指法的方法不需要指法数据,只需乐曲的MIDI文件中音符对应的键位序列,通过指法规则即可生成对应指法序列。所以不局限于有指法标注的乐曲,所有乐曲的MIDI文件,均可通过规则来生成指法序列。
3)本发明采用的是时序差分控制类型的强化学习算法,它不需要构建其他强化学习算法所必需的环境模型、奖励和下一状态的概率分布模型,因此简洁明了。并且,这种多回合的算法不需要等到一整个回合的学习结束才更新状态价值函数,而是每一步都实时更新,加快学习速度。
附图说明
图1是本发明实施例中公开的一种基于指法规则和强化学习的钢琴指法自动生成方法的流程图;
图2是本发明实施例中学习网络训练的流程图;
图3是本发明实施例中强化学习的系统框图;
图4是本发明实施例中采用Q学习算法来实现规则学习的原理图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种基于指法规则和强化学习的钢琴指法自动生成方法,如图1所示,具体步骤如下:
S1、根据钢琴弹奏时指间转换的指法规则,用具体的数值为连续两个手指序号在不同情况下的好坏程度分别打分,形成指法量化评价体系;
其中,所述的指间转换的指法规则规定如下:
以指间转换时落指的舒适程度为总原则,考虑指间的作用距离、落指难度以及手指灵活度三个因素,指间转换在作用距离内、落指容易、对应手指灵活度高的则分数较高,反之,指间转换在作用距离外、落指困难、对应手指灵活度低的则分数较低,依据落指舒适程度为指法进行打分。
其中,所述的指间作用距离规定如下:
舒适条件下,指间作用距离以钢琴键盘上手指间跨越的白键数量为单位,从低位到高位分别用Ⅰ、Ⅱ、Ⅲ、Ⅳ和Ⅴ序号代表大拇指、食指、中指、无名指和小拇指,同一手指不做转换。
向低位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为4、3、2、0;
Ⅱ指转Ⅰ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为5、0、0、0;
Ⅲ指转Ⅰ、Ⅱ、Ⅳ、Ⅴ指的最大指间作用距离分别为6、3、0、0;
Ⅳ指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为6、4、2、0;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、Ⅳ指的最大指间作用距离分别为7、5、4、2。
向高位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为5、6、6、7;
Ⅱ指转Ⅰ、Ⅲ、Ⅳ、Ⅴ指的最大指间作用距离分别为2、3、4、5;
Ⅲ指转Ⅰ、Ⅱ、Ⅳ、Ⅴ指的最大指间作用距离分别为2、0、2、4;
Ⅳ指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为2、0、0、2;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、Ⅳ指的最大指间作用距离分别为0、0、0、0。
如表1所示是对舒适条件指间转换最大作用距离的总结:
表1.舒适条件指间转换最大键位距离
其中,表中数值表示最大键位距离,“\”表示同一手指不做转换,ft-1表示前一手指序号,ft表示当前手指序号,“向低”、“向高”分别表示向低位、高位手指序号方向转换。
由于不同流派、不同风格特点的演奏家以及不同音乐作品旋律走向等都会导致产生不同类型的指法风格,因而这里采用的都是通用的指法规则。包括:顺指,运用这种常规指法能够让手指在最少的换位中得到有效的演奏;过指,一根手指自另一根手指外部越过或从内部越过的方法,能够保证音乐的连贯性;滑指,运用同一根手指应对相邻两个音符的演奏方式;换指,在一个相同的音符上进行换指演奏,能够得到更加多彩的音色效果。
根据通用的指法规则,结合表1建立对于钢琴弹奏的指法量化评价体系,指法量化评价体系是根据输入的相邻两个音符的键位差以及前后指法序号的不同情况为每一步落指手指序号打分,并以不同转换情况与不同分数一一对应的形式形成的。对于每一个生成的手指序号,由指法量化评价体系得到的分值便是相应的收益。
S2、用Python编程语言及Mido解析包对乐曲的MIDI文件进行解析,并从中提取得到键位序列。MIDI文件是一种音乐在数字形式的存储格式,Mido是Python中能够解析出MIDI文件的音轨信息的解析包,经过Python编程语言及Mido解析包解析后的MIDI文件包含音轨信息。而一首钢琴乐曲一般有主旋律与和弦伴奏,它们在MIDI文件中是以不同音轨而区分开来的。基于一般的情况,主旋律与和弦伴奏分别为两个手弹奏,对解析后的MIDI文件进行音轨分离处理,对分离后的每个音轨分别提取出键位序列。
S3、构建时序差分控制的强化学习算法作为学习网络,把键位序列送入学习网络进行训练,训练过程中生成手指序号的原则为选择当前状态下价值函数最大的动作,每一步动作生成的手指序号由指法量化评价体系打分,分值反馈至学习网络继续训练。
本实例采用Q学习这种时序差分控制的强化学习算法作为学习网络来对钢琴指法规则进行学习。
训练时先设置统一的初始状态动作价值函数,状态动作价值函数用Q表示,确定状态、动作和收益。将输入的相邻两个音符的键位差和学习网络生成的前一手指序号作为状态state,学习网络依据Q值选择生成的当前手指序号作为动作action,基于指法量化评价体系为当前手指序号的打分数值作为收益reward,学习网络根据收益更新当前Q值。随着训练的进行,不同状态动作的Q值被更新,直到Q值的变化小于5%的阈值,训练结束。Q学习是一种时序差分控制的强化学习算法,它不需要构建其他强化学习算法所必需的环境模型、奖励和下一状态的概率分布模型,简化了算法的分析,简洁明了。并且,这种多回合的算法不需要等到一整个回合的学习结束才更新状态价值函数,而是每一步都实时更新,加快学习速度。
S4、将乐曲的MIDI文件输入经过训练的学习网络,学习网络根据解析后提取的键位序列决策输出手指序号,生成指法序列。
上述学习网络训练的具体流程如图2所示。钢琴指法自动生成的学习网络训练的步骤如下:
S301、构建时序差分控制的强化学习算法作为学习网络,确定状态、动作和收益,将输入的相邻两个音符的键位差和学习网络生成的前一手指序号作为状态state,生成的当前手指序号作为动作action,基于指法量化评价体系为当前生成的手指序号的打分数值作为收益reward。
如图3所示是强化学习算法作为学习网络的系统框图,一个强化学习算法一般有四个要素:策略,收益,价值函数和可选的环境模型。强化学习是一种理解和自动化目标导向学习和决策的计算方法。它与其他计算方法的区别在于它强调个体通过与环境的直接交互来学习,而不需要示范监督或完整的环境模型。动作是由个体所做的选择;状态是做出选择的基础;收益是评估选择的基础;个体的目标是随着时间的推移最大限度地获得收益。实施例用输入的相邻两个音符的键位差和学习网络生成的前一手指序号作为状态,生成的当前手指序号作为动作,基于指法量化评价体系为当前动作的打分数值作为收益。
S302、学习网络采用时序差分控制类型的强化学习算法,首先初始化,设置统一的初始状态价值函数。
本实施例采用Q学习这种时序差分控制的强化学习算法,如图4所示是本实例采用Q学习算法来实现规则学习的原理图。Q学习又称Q-Learning,是强化学习算法中一种基于价值函数的算法。Q即为状态动作价值函数,表示在某一状态下某一动作能够获得的收益的期望,环境会根据学习网络的动作反馈相应的收益。将状态、动作和不同情况下的Q值构建成一张一一对应的表格,用来存储状态动作价值函数的值,叫做Q表。学习算法的主要思想就是根据Q表中的Q值来选取能够获得最大收益的动作,实施动作得到的收益用于Q表中Q值的更新。初始化时,将所有Q值统一设为0。
S303、输入提取的键位序列,考虑上一键位和上一手指序号,在当前状态下选择价值函数最大的动作生成输出的手指序号。由相邻两个键位序列和上一手指序号组成当前的状态信息,学习网络通过搜索Q表得出当前状态下对应的最大Q值的动作,即生成了当前要选择的手指序号。
S304、由指法量化评价体系对生成的手指序号进行评价打分,分值作为收益反馈至学习网络继续训练。每生成一个手指序号,指法量化评价体系即对其舒适程度进行评价打分,分数作为该状态下动作的收益,并反馈至学习网络继续训练,用于对Q值的更新。
S305、学习网络根据指法量化评价体系反馈的收益更新该状态动作下的价值函数。价值函数的计算由贝尔曼方程得出:
Vπ(s)=Eπ[Rt+1+γV(s′)|St=s] 公式(1)
其中,Vπ(s)表示s状态下的价值函数,π表示遵循的策略,E表示期望,Rt+1表示t+1时刻的收益,γ为折扣因子,V(s′)是下一状态s′的价值函数,St表示t时刻的状态。
由贝尔曼方程得出Q值的计算方法:
Qπ(s,a)=Eπ[Rt+1+γQπ(st+1,at+1)|St=s,At=a] 公式(2)
其中,Qπ(s,a)表示在s状态下执行动作a的动作价值函数,Qπ(st+1,at+1)表示在st+1状态下执行动作at+1的动作价值函数,At表示t时刻的动作。
根据以上公式(2)对Q值进行计算,如下为采用时间差分法对Q值进行更新:
Qπ(s,a)←Qπ(s,a)+β[R+γmaxa′Qπ(s′,a′)-Qπ(s,a)] 公式(3)
其中,β是学习率,R是收益,maxa′ Qπ(s′,a′)表示在s′状态下执行动作a′的动作价值函数的最大取值。
S306、反复执行上述步骤S303~S305,直到各状态动作下的价值函数的变化小于5%的阈值,训练结束。经过初始化后的Q表中所有的Q值都为0,随着训练的进行,不同状态与动作的组合对应的Q值会发生变化。经过若干次的训练,当Q值的变化小于5%的阈值时,训练结束。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的钢琴指法自动生成方法包括下列步骤:
S1、根据钢琴弹奏时指间转换的指法规则,用具体的数值为连续两个手指序号在不同情况下的好坏程度分别打分,形成指法量化评价体系;
其中,所述的指间转换的指法规则规定如下:
以指间转换时落指的舒适程度为总原则,考虑指间的作用距离、落指难度以及手指灵活度三个因素,指间转换在作用距离内、落指容易、对应手指灵活度高的则分数较高,反之,指间转换在作用距离外、落指困难、对应手指灵活度低的则分数较低,依据落指舒适程度为指法进行打分;
S2、用Python编程语言及Mido解析包对乐曲的MIDI文件进行解析,并从中提取得到键位序列;
S3、构建时序差分控制的强化学习算法作为学习网络,把键位序列送入学习网络进行训练,训练过程中生成手指序号的原则为选择当前状态下价值函数最大的动作,每一步动作生成的手指序号由指法量化评价体系打分,分值反馈至学习网络继续训练;
S4、将乐曲的MIDI文件输入经过训练的学习网络,学习网络根据解析后提取的键位序列决策输出手指序号,生成指法序列。
2.根据权利要求1所述的一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的步骤S1过程如下:
S101、根据钢琴弹奏时指间转换的习惯,联合钢琴键位及手指跨域确定不同情况下连续两个落指手指序号的指法规则;
S102、基于指法规则为连续两个落指手指序号的转换情况以具体的数值分别打分,将不同转换情况与不同分数一一对应形成指法量化评价体系。
3.根据权利要求1所述的一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的步骤S2过程如下:
S201、用Python编程语言及Mido解析包对乐曲的MIDI文件进行解析,解析后的MIDI文件包含音轨信息;
S202、对解析后的MIDI文件进行音轨分离处理,对分离后的每个音轨分别提取出音符对应的键位序列。
4.根据权利要求1所述的一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的步骤S3过程如下:
S301、构建时序差分控制的强化学习算法作为学习网络,确定状态、动作和收益,将输入的相邻两个音符的键位差和学习网络生成的前一手指序号作为状态state,生成的当前手指序号作为动作action,基于指法量化评价体系为当前生成的手指序号的打分数值作为收益reward;
S302、学习网络采用时序差分控制类型的强化学习算法,首先初始化,设置统一的初始状态价值函数;
S303、输入提取的键位序列,考虑上一键位和上一手指序号,在当前状态下选择价值函数最大的动作生成输出的手指序号;
S304、由指法量化评价体系对生成的手指序号进行评价打分,分值作为收益反馈至学习网络继续训练;
S305、学习网络根据指法量化评价体系反馈的收益更新该状态动作下的价值函数;
价值函数的计算由贝尔曼方程得出:
Vπ(s)=Eπ[Rt+1+γV(s′)|St=s] 公式(1)
其中,Vπ(s)表示s状态下的价值函数,π表示遵循的策略,E表示期望,Rt+1表示t+1时刻的收益,γ表示折扣因子,V(s′)是下一状态s′下的价值函数,St表示t时刻的状态;
S306、反复执行上述步骤S303~S305,直到各状态动作下的价值函数的变化小于5%的阈值,训练结束。
5.根据权利要求4所述的一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的步骤S305中,各状态动作下的价值函数被称为动作价值函数,用Q表示,由贝尔曼方程得出Q值的计算方法:
Qπ(s,a)=Eπ[Rt+1+γQπ(st+1,at+1)|St=s,At=a] 公式(2)
其中,Qπ(s,a)表示在s状态下执行动作a的动作价值函数,Qπ(st+1,at+1)表示在st+1状态下执行动作at+1的动作价值函数,At表示t时刻的动作;
根据以上公式(2)对Q值进行计算,如下为采用时间差分法对Q值进行更新:
Qπ(s,a)←Qπ(s,a)+β[R+γmaxa′Qπ(s′,a′)-Qπ(s,a)] 公式(3)
其中,β是学习率,R是收益,maxa′Qπ(s′,a′)表示在s′状态下执行动作a′的动作价值函数的最大取值。
6.根据权利要求1所述的一种基于指法规则和强化学习的钢琴指法自动生成方法,其特征在于,所述的步骤S1中,指间作用距离规定如下:
舒适条件下,指间作用距离以钢琴键盘上手指间跨越的白键数量为单位,从低位到高位分别用Ⅰ、Ⅱ、Ⅲ、IV和Ⅴ序号代表大拇指、食指、中指、无名指和小拇指,同一手指不做转换;
向低位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、IV、Ⅴ指的最大指间作用距离分别为4、3、2、0;
Ⅱ指转Ⅰ、Ⅲ、IV、Ⅴ指的最大指间作用距离分别为5、0、0、0;
Ⅲ指转Ⅰ、Ⅱ、IV、Ⅴ指的最大指间作用距离分别为6、3、0、0;
IV指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为6、4、2、0;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、IV指的最大指间作用距离分别为7、5、4、2;
向高位手指序号方向转换时:
Ⅰ指转Ⅱ、Ⅲ、IV、Ⅴ指的最大指间作用距离分别为5、6、6、7;
Ⅱ指转Ⅰ、Ⅲ、IV、Ⅴ指的最大指间作用距离分别为2、3、4、5;
Ⅲ指转Ⅰ、Ⅱ、IV、Ⅴ指的最大指间作用距离分别为2、0、2、4;
IV指转Ⅰ、Ⅱ、Ⅲ、Ⅴ指的最大指间作用距离分别为2、0、0、2;
Ⅴ指转Ⅰ、Ⅱ、Ⅲ、IV指的最大指间作用距离分别为0、0、0、0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371058.2A CN111723938B (zh) | 2020-05-06 | 2020-05-06 | 一种基于指法规则和强化学习的钢琴指法自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371058.2A CN111723938B (zh) | 2020-05-06 | 2020-05-06 | 一种基于指法规则和强化学习的钢琴指法自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723938A true CN111723938A (zh) | 2020-09-29 |
CN111723938B CN111723938B (zh) | 2023-06-23 |
Family
ID=72564188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010371058.2A Active CN111723938B (zh) | 2020-05-06 | 2020-05-06 | 一种基于指法规则和强化学习的钢琴指法自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723938B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022190453A1 (ja) * | 2021-03-09 | 2022-09-15 | ヤマハ株式会社 | 運指提示装置、訓練装置、運指提示方法および訓練方法 |
CN117114937A (zh) * | 2023-09-07 | 2023-11-24 | 深圳市真实智元科技有限公司 | 基于人工智能的练习曲目的生成方法及生成装置 |
WO2024107949A1 (en) * | 2022-11-16 | 2024-05-23 | Music App Inc. | Musical score performance alignment for automated performance evaluation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163055A (ja) * | 1998-11-27 | 2000-06-16 | Yamaha Corp | 自動運指付け装置および記憶媒体 |
JP2006154121A (ja) * | 2004-11-26 | 2006-06-15 | Casio Comput Co Ltd | 運指情報生成装置および運指情報生成処理プログラム |
CN109871467A (zh) * | 2019-01-29 | 2019-06-11 | 天津大学 | 一种基于判决隐马尔可夫模型的钢琴指法自动标注方法 |
CN110189733A (zh) * | 2019-06-18 | 2019-08-30 | 四川长虹电器股份有限公司 | 基于mqtt协议的钢琴陪练穿戴设备 |
CN110517558A (zh) * | 2019-07-19 | 2019-11-29 | 森兰信息科技(上海)有限公司 | 一种钢琴弹奏指法评判方法及系统、存储介质及终端 |
CN110796923A (zh) * | 2018-08-03 | 2020-02-14 | 北京洲洋华乐科技有限公司 | 一种数字钢琴谱指法标注及显示技术 |
-
2020
- 2020-05-06 CN CN202010371058.2A patent/CN111723938B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163055A (ja) * | 1998-11-27 | 2000-06-16 | Yamaha Corp | 自動運指付け装置および記憶媒体 |
JP2006154121A (ja) * | 2004-11-26 | 2006-06-15 | Casio Comput Co Ltd | 運指情報生成装置および運指情報生成処理プログラム |
CN110796923A (zh) * | 2018-08-03 | 2020-02-14 | 北京洲洋华乐科技有限公司 | 一种数字钢琴谱指法标注及显示技术 |
CN109871467A (zh) * | 2019-01-29 | 2019-06-11 | 天津大学 | 一种基于判决隐马尔可夫模型的钢琴指法自动标注方法 |
CN110189733A (zh) * | 2019-06-18 | 2019-08-30 | 四川长虹电器股份有限公司 | 基于mqtt协议的钢琴陪练穿戴设备 |
CN110517558A (zh) * | 2019-07-19 | 2019-11-29 | 森兰信息科技(上海)有限公司 | 一种钢琴弹奏指法评判方法及系统、存储介质及终端 |
Non-Patent Citations (2)
Title |
---|
MATTEO BALLIAUW ET AL: "A variable neighborhood search algorithm to generate piano fingerings for polyphonic sheet music", 《INTERNATIONAL TRANSACTIONS IN OPERATIONAL RESEARCH》 * |
梁世威: "基于深度学习的钢琴和声自动编配系统研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022190453A1 (ja) * | 2021-03-09 | 2022-09-15 | ヤマハ株式会社 | 運指提示装置、訓練装置、運指提示方法および訓練方法 |
WO2024107949A1 (en) * | 2022-11-16 | 2024-05-23 | Music App Inc. | Musical score performance alignment for automated performance evaluation |
CN117114937A (zh) * | 2023-09-07 | 2023-11-24 | 深圳市真实智元科技有限公司 | 基于人工智能的练习曲目的生成方法及生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111723938B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lopez-Rincon et al. | Algoritmic music composition based on artificial intelligence: A survey | |
CN111723938B (zh) | 一种基于指法规则和强化学习的钢琴指法自动生成方法 | |
Sloboda et al. | Determinants of finger choice in piano sight-reading. | |
Johansson | Rhythm into style: studying assymmetrical grooves in Norwegian folk music | |
Nakamura et al. | Statistical learning and estimation of piano fingering | |
Hutchings et al. | Using autonomous agents to improvise music compositions in real-time | |
Keerti et al. | Attentional networks for music generation | |
Benetatos et al. | BachDuet: A deep learning system for human-machine counterpoint improvisation | |
Zhang | [Retracted] Practice and Exploration of Music Solfeggio Teaching Based on Data Mining Technology | |
Zheng et al. | [Retracted] Training Strategy of Music Expression in Piano Teaching and Performance by Intelligent Multimedia Technology | |
Ramoneda et al. | Automatic piano fingering from partially annotated scores using autoregressive neural networks | |
Shukla et al. | An automatic chord progression generator based on reinforcement learning | |
Cheng et al. | [Retracted] Construction of AI Environmental Music Education Application Model Based on Deep Learning | |
Gimenes et al. | Emergent worldviews: An ontomemetic approach to musical intelligence | |
Yamamoto et al. | Livo: Sing a song with a vowel keyboard | |
Cai | Informatization integration strategy of modern popular music teaching and traditional music culture in colleges and universities in the era of artificial intelligence | |
Ramos et al. | An evaluation of different evolutionary approaches applied in the process of automatic transcription of music scores into tablatures | |
Zhu | The construction of innovation system of college physical education reform based on Bp neural network | |
Momii | Music Analysis and the Politics of Knowledge Production: Interculturality in the Music of Honjoh Hidejirō, Miyata Mayumi, and Mitski | |
CN117114937B (zh) | 基于人工智能的练习曲目的生成方法及生成装置 | |
Chen | Design of music teaching system based on artificial intelligence | |
Wang et al. | Interactive teaching system for remote vocal singing based on decision tree algorithm | |
Guo | Piano harmony automatic adaptation system based on deep reinforcement learning | |
Chen | Research and Application of Man-machine Interaction Automatic Piano Accompaniment System Based on Artificial Intelligence Technology | |
McDonald et al. | Markov-switching state space models for uncovering musical interpretation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |