【通讯专题】陈鑫:仿人音乐机器人关键智能技术
1
智能音乐机器人的研究背景
随着人工智能的兴起,越来越多的人开始研究音乐机器人。具备通信、网络与媒体交互的音乐机器人(Musical Robot)是音乐与科技交叉学科的典型应用,近年来在欧美及日本等国家发展迅速。从音乐角度来讲,研究扬琴音乐机器人的目的是希望能够提供教学示范用的机器人,实现更好的演奏技法的研究,并拓展音乐的表现形式,拓展作曲的新模式。
从智能化演奏需求方面分析,要求扬琴音乐机器人能够通过机器视觉、听旋律实现乐谱的识别;能够理解音乐,懂得基本乐理、看懂各种乐谱;能够创作音乐,融入情感建模,实现即兴作曲和自动伴奏;从演奏呈现模式上,能够通过双臂演奏,用拟人化的方式演奏音乐 。
2
音乐机器人体系结构
1. 硬件体系结构
将机器人的大臂做成平行四边形结构,连杆并联机构,减轻肘部重量,增强整体刚度。在手腕部分,采用数字舵机,重量轻, 敲击力度可控。
2. 机器人智能控制结构
基于机器视觉,实时获取纸质乐谱信息,五线谱校正与分离、音符识别,实现对乐谱的实时辨别与编码;拟人化演奏决策,建立人类演奏技法知识库,基于乐谱编码在线决策双臂演奏技法; 拟人化轨迹规划,根据人臂末端点对点运动轨迹特征,在操作空间中进行运动轨迹规划,在关节空间中,基于似人准则对机械臂构型进行规划。
3
基于机器视觉的乐谱识别
基于机器视觉的乐谱识别是音乐机器人机器视觉拟人化的重要环节之一,对纸质乐谱图像加以处理、分析、识别,最终获得乐谱图形及音乐语义的数字化表达。
乐谱最终目的是通过对纸质乐谱的音高、时值、强度的序列进行编码,编出相应的 MIDI 编码。
乐谱信息非常丰富,各种各样的符号都有,但是它基本上是比较规范的,只需要找到音符所在的位置即可。采取传统图像处理方法,进行图像识别,图像预处理,图像分离,定五根谱线, 最后是音符识别,找到符头、符杆、符杠,进行识别。
首先在图像采集上,为形成稳定乐谱图片,采取多张图谱照片融合,消除环境光影干扰。
第二是谱线矫正。采集的乐谱,有噪声、模糊、倾斜、断裂小线段, 要把谱子的位置矫正, 采取倾角拟合的方式,做游程分析,游程最长的角度是最合理的, 最后找到矫正之后乐谱的形状。
第三是谱线定位与删除,谱线定位是定位基准音高的位置, 确定音符音高。谱线删除的目的是分离出嵌入在谱线中的音乐符号,得到独立连通的区域。
首先确定乐谱基础的线宽以及线间隔(两根谱线之间的间隔宽度)。再纵向获得一个切面,在切面上统计所有线条的宽度和粗细,通过最大值,可以找到最好的线宽,黑线的宽度,和两个线之间的间隔,作为标准的线宽间隔。下面就可以找符头定位了。找到线宽之后,就会知道每一根线所在的空间位置,为了寻找符头进行谱线的删除,把所有谱线从谱上删除。最大问题两个,一是谱线冗余,二是谱线缺失。
对于独立的音乐形状固定, 只需要做匹配就可以。对于音符群形式是任意的,组合方式也是任意的,只能通过找到它的符头、符杆、符杠,拆分以后根据符杠组合起来。先把音符群找出来, 然后对独立音符进行查找。
具体过程是先对音符做符杆检测。然后再做符头检测和符杠的检测,把它们两个拼合起来找到音符群。先是去掉谱线,把所有的符杆全部去掉,找符头,然后再找符杠,再组合。对于独立音符我们找到这些符号的模板直接做出来就可以了。获得音高、时值、强度,组合起来就可以。
乐谱识别的主要难点在于原始图像增强,怎么把谱线标出来,把缺失符头补齐,这是主要的工作。符号辨识的方法有两个,第一个是采用对音符群辨识,组合方式。对独立音符采用模板匹配方式就足够了。
以《两只老虎》为测试例子。识别率可以达到 100%。乐谱识别之后,整段上传到机器人里面, 进行演奏决策和执行,执行效果较好,较为流畅,对于快音、慢音掌握力度较好。在实际运行中, 通过对比乐谱识别与演奏时长, 可以看到图像识别在整个演奏过程的占比较低,基本不占用决策和控制的时间,完全可以达到实时的图像识别和乐谱识别的目的。
4
智能演奏决策
人类演奏扬琴的技法具有多样性,且存在技法随机性,不适合采用专家知识库描述扬琴技法。我们结合乐谱信息及专业演奏者的实际技法表现,利用机器学习方法获得决策规则,实现高实时性在线决策。
对谱中的音高和时值编码, 将五线谱中的音高信息与音位编码信息对应(以四分音符为例), 将四分音符的时值设为 1,其他类音符的时值按比例推算。然后收集人类演奏决策数据。通过收集人类演奏乐曲过程中针对各个音符的演奏决策结果,如 1 代表将演奏任务分配至右臂,0 代表将演奏任务分配至左臂。同时,综合考虑乐谱中前后音符的音高与时值信息进行演奏决策,建立基于多层神经网络的拟人双臂演奏技法模型,逼近人类演奏模式。构建了神经网络的训练样本库,主要是包括前一个音符的音位和决策结果、当前音符的音位、下一音符的音位,这些共同形成了演奏决策图。
5
拟人化运动轨迹规划
机械臂拟人化运动轨迹规划一般分成三步。第一个是动作捕捉,通过相关设备捕获运动数据,处理并提取有用帧,复现人体的典型动作,然后建立拟人行为评价指标如舒适度等。第二个是基于模型的逆运动学优化,基于数学模型建立拟人化运动轨迹优化模型,然后获得拟人动作构型序列。第三个是基于相关评价准则的双臂构型决策,通过能量消耗,舒适度等指标,评判拟人动作构型序列,确定敲击构型,拟人度较高。
双臂扬琴音乐机器人拟人化运动轨迹标准是在操作空间上机械臂末端在两点间的运动轨迹略高于琴面的平滑弧线形,两点间的速度曲线呈钟型,起始和终止速度为零。在关节空间上关节角度在限位内变化,关节角速度曲线平滑变化无明显抖动。机械臂在运动过程中的操作构型满足疲劳程度最小,贴近人类的运动习惯。操作空间的轨迹,分为三个步骤,第一个步骤做运动轨迹的规划,给出两个适应度,一个是柔顺性原则,确保关节角度平滑变化。第二个以满足达点运动精度为目标,利用 PSO 优化算法获得离散,或者多个可行最优的构型可行解集。第三步利用 RULA 准则,对多个可行解进行最优评分,最终确定一个最优机械臂构型,作为机械臂运动终态构型。
6
智能作曲
智能作曲是音乐机器人对乐曲的二次创作。乐曲结构分为调式、旋律和伴奏。在调式提取时要从乐曲中提取音序要素,识别调式。旋律生成时根据音序要素, 繁衍生成新旋律,最终生成新乐曲,满足可听性与相似性。
通过调式决定旋律特征,音乐情绪决定乐曲的表现力,旋律变化矩阵描述旋律特征,最终结合情感建模生成旋律。
首先是调式的提取。参照乐理中的一些规则,提取出重音位置和重音分布,就可以获得这些调式的特征。
每一类音乐的旋律,不同的音高分布具有它自己的特点。把不同音乐音符分布特征提取出来, 根据调式不同,把它形成音高转移矩阵。基于矩阵进行繁衍,所谓繁衍就是从里面采样,获得旋律的片段,这是音乐创作的过程。其次,为了获得旋律矩阵,需要建立情感模型,调式可以决定旋律的特征,而旋律的变化矩阵能够描述这种特征。
音乐特征参量包括音量、和声、调式、音高、速度、音色。根据特征的参数化特点,选择音量、音高和速度来判断音乐的愉悦度和唤醒度,建立情感空间模型,实现从音乐特征到情感空间的模糊规则和模糊逻辑,最终形成音乐情感模型。
每一个调式都可以设计一个单独的情感模型。模型划分为九个空间,每个空间定义了六个表情术语。通过文本调查的方式, 获得情感模型空间辨识的模糊规则。
最后,生成旋律时可以根据调式的音序要素合成多个音,满足可听性。在旋律生成方面加入情感计算,把情感模型放到旋律里面,作为生成旋律要素的一个基础。结合情感模型生成旋律动机,把小片段拼合实现动机发展, 形成小旋律。之后通过旋律优化,即对旋律要素的转移矩阵的优化,提升旋律的可听性。
7
基于ROS开发的机器人系统
机器人系统基于 ROS 开发。乐谱的识别方式采用一节一节乐谱识别,按照对音符群识别,再对独立音符识别,识别和演奏同时进行,识别完成后,用主题发布的方式,发布给决策节点,由决策节点演奏。识别基本上一行一行进行,识别速度较快。但从演奏的效果来看,不是特别理想,敲击的感觉和连贯性做得还不够。
对此,进行了初步分析,上面就是我们实际录制的音频特征,下面是 MIDI 码直接播放出来的音频特征。我们对首音符做了对照。
演奏误差分析,时值误差定义为前一个音符对正以后,当前音符 MIDI 码和实际演奏实际间的误差。时值相对误差是 10% 左右。另外,演奏的累积延时误差在 30 秒的演奏后,大概 30 毫秒。当演奏时间比较长,整体延时效果在一两秒,具有较明显的差异。这个问题出在什么地方?我们认为主要是在指令的延时部分。
第二个扰动特征与演奏难度相关。根据统计,敲击各音,绝对时值误差值是 20 毫秒到 50 毫秒之间,如果是较慢的拍子,人可能听不太出来。但对于快节奏的乐段,可能听出来有些音连不上。如果定义相对误差为绝对时值偏差与节拍时间的比值,可见相对偏差比较高的地方,是因为演奏手臂要进行快速短时间做大跨度的移动。
针对这个问题,可以在技法和演奏时值优化两方面把机械臂执行的能力考虑进去,通过技法和轨迹规划的改进,降低相对偏差的大小。
8
结论与发展
1. 机器人本体——轻量化、高响应、力反馈
扬琴音乐机器人比我们想象的要复杂很多,不仅仅要做点对点决策,还要精细地调理技法的设计,完美地实现乐曲的演奏。这就需要以后的机器人本体能够做到轻量化、高响应、力反馈。
2. 智能演奏——自学习、自适应
智能演奏要经过从拟人化、自我进化,到人机协同三个阶段。拟人化,主要是要实现演奏的实时性和准确性,通过指令序列多目标优化,实现动作执行误差补偿;通过非结构不确定性和时滞相关鲁棒控制,实现变负载运动控制。自我进化主要是指技法的自我学习能力,通过深度网络与强化学习实现最优构型学习,借助机器听觉,实时演奏效果检测与模式识别,通过并行计算实现视觉、轨迹规划、运动控制协调。最后机器与人的协同演奏,通过机器听觉与视觉多源信息融合,进行乐谱乐理与演奏个性的特征提取;借助深度网络与情感计算,实现在线情感辨识;通过异构多智能体同时学习,实现多机器人的协同。
END
陈鑫,2007 年博士毕业于澳门大学,获机电工程学博士学位。2007 年 9 月进入中南大学信息科学与工程学院任职,
2013 年评为博士生导师。2014 年调入中国地质大学(武汉) 自动化学院担任教授,博士生导师。2017 年获得湖北省“楚天学者”计划特聘教授资助。现为中国自动化学会控制理论专业委员会委员,中国人工智能学会空天系统专业委员会委员,中国自动化学会青年工作者委员会常务委员,中国自动化学会教育工作委员会委员。
主要从事智能控制、机器人和过程控制的研究。主持包括国家“863”计划任务课题、国家自然科学基金面上项目、湖北省杰出青年科学基金项目在内的国家级、省部级等科研项目 12 项。以第一作者 / 通讯作者发表学术论文 45 篇,其中 SCI/EI 检索34 篇。研究成果授权国家发明专利 9 项,出版专著 1 部。
(本文发表在《中国自动化学会通讯》第5期)
往期文章推荐
🔗【学会新闻】中国自动化学会于温州市鹿城区设立创新驱动助力工程学会工作站
🔗【CAA智库】王飞跃:从人工智能史前的123到新时代的智能产业
🔗【喜报】中国自动化学会2018年度科普工作受到中国科协科普部表扬
🔗【科普】史上最完整的机器人发展史梳理,50个节点还原机器人
🔗【NIIS2019】“智能产业”提出者王飞跃教授:人工智能不会让我们失业
🔗【通讯专题】基于变分贝叶斯的联合优化 及其在现代信息融合处理中的应用