[发明专利]一种基于MusicXML乐谱到盲文的转换方法及系统有效
申请号: | 201810356739.4 | 申请日: | 2018-04-19 |
公开(公告)号: | CN110390859B | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 苏伟;吴尽昭;蔡川;林和;刘莉 | 申请(专利权)人: | 兰州大学 |
主分类号: | G09B21/00 | 分类号: | G09B21/00;G06F8/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 730000 甘肃省兰*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 musicxml 乐谱 盲文 转换 方法 系统 | ||
1.一种基于MusicXML乐谱到盲文的转换方法,其特征在于:
主要包括如下步骤:
步骤一、MusicXML乐谱输入及预处理;
步骤二、MusicXML乐谱遍历及转换为盲文;
步骤三、盲文乐谱精简化及排版输出;
步骤二对步骤一输出的MusicXML乐谱进行遍历并转换为盲文,具体包括以下几步:
步骤2.1将步骤一预处理的MusicXML乐谱,根据不同的浏览器分别使用DOMParser方法或ActiveXObject方法,解析为XML DOM形式;
步骤2.2对MusicXML乐谱的元素进行遍历,并依次转换为盲文;
步骤2.2具体为:
步骤2.2.1乐谱头部信息处理,扫描并获取乐谱的work节点及子节点work-number、work-title节点,或获取movement-title节点作为乐谱标题,获取第1个音乐小节key节点作为调号,time节点作为拍号,credit-words节点作为音乐基本显示属性;接着获取identification节点及里边的详细信息,之后按照标准对照表转换为ASCII码和盲文;这些信息作为起始信息,放置在盲文乐谱最前面;
步骤2.2.2乐谱主题信息处理,循环遍历part节点;
步骤2.2.3循环遍历measure节点;
步骤2.2.4乐谱谱号处理;获取measure节点中的attributes节点,判断是否存在staves子节点,如果存在该子节点,获取该节点的值,根据值的内容,得到乐谱的具体谱号类型;对于measure的每个子节点,如果存在staff节点,则根据staff节点的值来归属对应谱号的信息,staff节点值为1转换为盲文乐谱中的高音谱或右手谱,staff节点值为2表示为低音谱或左谱,之后按照标准对照表转换为ASCII码和盲文;如果不存在staff子节点,则直接进入下一个步骤处理;
步骤2.2.5乐谱调号处理;遍历到attributes节点时,判断是否存在key子节点;如果存在该子节点,获取属于key节点下面的fifths节点和mode节点的值,然后根据此两项值的内容,转换为对应的调号值,之后按照标准对照表转换为ASCII码和盲文;如果不存在key子节点,则直接进入下一个步骤处理;
步骤2.2.6乐谱拍号处理;遍历到attributes节点时,判断是否存在time子节点;如果存在该子节点,获取属于time节点下面的beats节点和beat-type节点的值,然后根据此两项值的内容,转换为对应的拍号值,之后按照标准对照表转换为ASCII码和盲文;如果不存在time子节点,则直接进入下一个步骤处理;
步骤2.2.7乐谱音符处理;获取measure节点中的note节点,判断当前节点是不是和弦节点,接着获取type节点值和属于pitch节点下面的step节点和octave节点的值,然后根据这三项值的内容,转换为对应的音乐符号和音乐时值,之后按照标准对照表转换为ASCII码和盲文;如果不存在pitch子节点,则直接进入下一个步骤处理;
步骤2.2.8乐谱和弦处理;获取measure节点中的note节点,判断当前节点是不是和弦节点,接着判断紧跟同为staff值的下一个note节点是否为和弦节点,一直到同为staff值后面的note节点中的不是和弦节点为止;记录此过程中的每个note节点的音符、时值和音程;如果staff值为1,即为高音谱或者右手谱,音程的计算从高到低计算,将音程最高的note音符作为根音符,紧跟其后的note音符仅表示为音程之差值;如果staff值为2,即为低音谱或者左手谱,音程的计算从低到高计算,将音程最低的note音符作为根音符,紧跟其后的note音符仅表示为音程之差值,之后按照标准对照表转换为ASCII码和盲文;
步骤2.2.9乐谱连音处理;在note音符节点中遍历到连音标记slur节点时,获取其属性type值;如果为start,判断同staff中的后续note音符节点中slur属性type值为stop的节点,之后按照标准对照表转换为ASCII码和盲文;如果二者的计数超过3个,则在开始note音符前添加盲文在结束note音符前添加盲文除此之外,直接在相应音符之后添加盲文即可;
步骤2.2.10乐谱力度、速度和表情记号处理;在note音符节点中遍历到变音标记words节点时,获取其值;力度和速度记号通常标示在对应的note节点表示的音符前面,但渐强符号和渐弱符号在note节点表示音符的开始和末尾,之后按照标准对照表转换为ASCII码和盲文;音乐表情术语常用缩写字前需加简写字号盲文其后加略点号盲文音乐术语后面第一个note节点音符前需加音组号;
步骤2.2.11乐谱装饰音处理;在note音符节点中遍历到变音标记articulations节点时,获取其值;颤音、上颤音、下颤音和前上滑音、前下滑音的符号需标在note节点表示音符之前,后上滑音和后下滑音需标在note节点表示音符之后,然后按照标准对照表转换为ASCII码和盲文;
步骤2.2.12乐谱变音记号处理;在note音符节点中遍历到变音标记的accidental节点时,获取其值;升号、降号、还原号写在note节点音符前面,表示临时升、降半音;每个升、降号在同一measure节点内仅对同音note节点有效;当同一measure节点某音不升、降的时候,要在该音符之前加上还原号,然后按照标准对照表转换为ASCII码和盲文;
步骤2.2.13如果还存在下一个未处理的measure节点,返回步骤2.2.3继续遍历下一个measure节点;
步骤2.2.14如果还存在下一个未处理的part节点,返回步骤2.2.2继续遍历下一个part节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰州大学,未经兰州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810356739.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:支持真实世界应用的仿真焊接训练
- 下一篇:一种教具