【技术实现步骤摘要】
一种机械灵巧手弹琴动作序列的生成及其优化方法
本专利技术涉及自动弹奏
,具体涉及一种机械灵巧手弹琴动作序列的生成及其优化方法。
技术介绍
音乐艺术是人类最古老的艺术形式之一,具有节奏性和抒情性,是反映人类现实情感的重要方式之一。随着机器人技术、人工智能、计算机计算能力以及传感设备的传感能力的发展,机器人技术逐渐向人类的生活领域扩展,音乐机器人和舞蹈机器人等表演机器人也慢慢走向了大众的视野。现有的表演机器人多数为直接播放录制的音乐,随着音乐进行表演,然而机械灵巧手自动准确地完成歌曲演奏,再现了音乐的实际产生过程,使得娱乐性得到进一步提高,表演效果大大增加。将机械灵巧手弹琴动作序列的自动生成及其优化方法用于灵巧手的自动弹琴,作为表演机器人的一种具体实现方式,将为人们带来耳目一新的表演效果,愈发能提升音乐艺术的感染力,增加音乐演奏的互动效果,使人们能够享受别具一格的艺术体验。同时,灵巧手自动弹琴将可以运用于相关的教学课程,作为音乐艺术教学手段的改进,或者与现有的教学方式互补,可以大大激发学习兴趣,真正实现寓教于乐,提高教学效果,甚至将能够在音乐分析和创作中发挥应有 ...
【技术保护点】
1.一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于包括以下步骤:第一步:解析midi格式钢琴曲,提取曲子的节拍信息和每个音符的音高以及对应的时值(即每个音符发音的持续时间);第二步:确定弹琴时灵巧手双手运动的防碰撞及避让策略;第三步:根据解析得到的每个音符的音高信息,将其对应到琴键位置,根据合适的选择策略,在不发生碰撞的前提下确定该音符由左手或者右手来演奏;第四步:分析每小节内音符的节奏密度,规划弹琴动作序列依次执行的节奏;第五步:根据第三步和第四步规划的结果,确定演奏每一个音符所用的手指,生成对应的动作序列;第六步:基于精英保留策略的遗传算法进行弹琴时的灵巧手的 ...
【技术特征摘要】
1.一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于包括以下步骤:第一步:解析midi格式钢琴曲,提取曲子的节拍信息和每个音符的音高以及对应的时值(即每个音符发音的持续时间);第二步:确定弹琴时灵巧手双手运动的防碰撞及避让策略;第三步:根据解析得到的每个音符的音高信息,将其对应到琴键位置,根据合适的选择策略,在不发生碰撞的前提下确定该音符由左手或者右手来演奏;第四步:分析每小节内音符的节奏密度,规划弹琴动作序列依次执行的节奏;第五步:根据第三步和第四步规划的结果,确定演奏每一个音符所用的手指,生成对应的动作序列;第六步:基于精英保留策略的遗传算法进行弹琴时的灵巧手的位置及其手指动作序列优化,得到弹琴动作的最优序列;第七步:将演奏动作信息编码成硬件驱动的指令帧,驱动硬件设备进行演奏。2.根据权利要求1所述的一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于所述的第一步具体步骤为:首先解析文件头块的信息,midi文件开头的四个ASCII字符“MThd”用来标识该文件是midi文件,随后依次读取之后的四个字节,得到文件格式类型、音轨数以及四分音符的tick数;然后解析数据描述部分,数据描述部分由若干结构相同的子数据构成,同一类别的数据存储在同一个音轨中,每个音轨在文件中标识为“MTrk”后接4个字节表示其类型,对音轨信息的解析包括从全局音轨中获取音乐的节拍、调号、调性以及每四分音符的绝对时间,以及从主音轨中获取弹奏每一个音符的音高、持续时间以及对应的力度,创建三元组note=<Pitch,Duration,Dynamic>进行记录并存储,其中Pitch为音符的音高,Duration为每个音符对应键位按下的持续时间,Dynamic为对应的力度信息;得到的解析结果中时间相关的信息为tick数,将相关的时间信息转换为绝对时间,其中,每一小节的绝对时间长度计算方式如(1)所示:其中,BeatLong为每小节的绝对时长,Ticks为每四分音符包含的tick数,BeatNum为节拍信息的分子,BeatDen为节拍的分母;每个音符按下时持续的绝对时间计算如(2)所示:其中,Duration为每个音符持续的绝对时间,NoteTicks为文件记录的每个音符的持续tick数,TicksAbs为每个四分音符的绝对时间,Ticks为每个四分音符的Tick数。3.根据权利要求1所述的一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于所述的第二步具体步骤为:当需要移动某一只手的位置时,首先查询当前左手和右手的位置以及下一时刻左手和右手的位置,计算下一时刻左手和右手的间隔,若间隔大于阈值,即不会发生碰撞,正常移动即可;否则,查看下一时刻另一只手是否有手指在演奏,若另一只手空闲则进行避让,否则左右手同时切换位置,通过选择合适的手指进行演奏,从而避免碰撞。4.根据权利要求1所述的一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于所述的第三步中所述左手和右手的在琴键上的覆盖区域分为左测部分、右侧部分和中间部分:左侧部分的音符均由左手来演奏,右侧部分的音符由右手来演奏,中间部分位置对应的音符,由演奏时最靠近该区域的手来完成演奏。5.根据权利要求1所述的一种机械灵巧手弹琴动作序列的生成及其优化方法,其特征在于所述的第四步中曲谱解析完毕后,计算每一节拍内的音符密度,将归一化处理后的值作为演奏时双手移动的速度所占最大速度的百分比,进而将得到演奏过程中不在同音符间切换时双手的移动速度;音符密度的特征计算方式如(3)所示:其中:Xdensity即为节奏密度,n为该节拍中的音符总数,BeatLong为每一小节的...
【专利技术属性】
技术研发人员:李江,王进,林旭军,扶建辉,张海运,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。