本发明涉及多媒体,尤其涉及一种音符音高条的显示方法及计算机可读存储介质。
背景技术:
1、在曲谱教学中,一般需要用标准音高条与用户演唱音高条对照的方式,来表示用户演唱过程的音准、节奏的正确情况,以达到纠错目的。
2、在现有技术中,一般采用曲谱与标准音高条不对齐的方式进行显示,其中一种方式为:用一个单独的区域显示曲谱,另一个单独区域显示音高条。采用这种方式,曲谱与标准音高条两者之间不存在对照关系,更不存在对齐关系。
3、另一种方式为:首先将曲谱显示为一整个长行;在该长行下方再显示标准音高条,也是显示为一个长行。这种方式中,曲谱和音高条这两个长行独立绘制,没有对齐关系。演唱过程中,这两个长行分别滚动到当前时刻。该呈现方式因缺乏曲谱音符与音高条的一一对照关系,演唱过程很难及时看到哪个音符演唱出错。
技术实现思路
1、本发明所要解决的技术问题是:提供一种音符音高条的显示方法及计算机可读存储介质,可在保证曲谱结构不变的同时,使曲谱音符的音高条与曲谱音符对齐。
2、为了解决上述技术问题,本发明采用的技术方案为:一种音符音高条的显示方法,包括:
3、获取曲谱文件,并根据所述曲谱文件,获取各行曲谱的曲谱信息,所述曲谱信息包括音符信息、小节信息以及曲谱速度,所述音符信息包括音符的音高值和音符的拍数;
4、遍历所述曲谱文件中的各行曲谱,依序获取一行曲谱作为当前行曲谱;
5、根据当前行曲谱的曲谱信息,在画布中绘制当前行曲谱的曲谱图形,并获取所述曲谱图形中各小节的横向起止位置,所述横向起止位置包括横向开始位置和横向结束位置;
6、根据当前行曲谱的曲谱信息,确定当前行曲谱中各音符的起止时间以及各小节的起止时间,所述起止时间包括开始时间和结束时间;
7、分别根据当前行曲谱中各音符的起止时间及其所属小节的起止时间和横向起止位置,计算当前行曲谱中各音符对应的音高条的横向起止位置;
8、分别根据当前行曲谱中各音符对应的音高条的横向起止位置,在当前行曲谱对应的音高条区域中绘制当前行曲谱中各音符对应的音高条图形。
9、本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法。
10、本发明的有益效果在于:通过对曲谱文件中的各行曲谱逐行进行处理、绘制,可保证曲谱结构不变,即最终显示的曲谱排版与曲谱文件一致;通过根据音符的起止时间及其所属小节的起止时间和横向起止位置,来确定音符对应的音高条的横向起止位置,可保证音符及其音高条的对齐,从而可让用户在演唱过程中实时直观地观察到各音符对应的音高条。本发明可在保证曲谱结构不变的前提下,让音高条与音符对齐。
1.一种音符音高条的显示方法,其特征在于,包括:
2.根据权利要求1所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的曲谱信息,在画布中绘制当前行曲谱的曲谱图形之前,进一步包括:
3.根据权利要求2所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的曲谱信息,在画布中绘制当前行曲谱的曲谱图形,并获取所述曲谱图形中各小节的横向起止位置之后,进一步包括:
4.根据权利要求3所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的最大音高值和最小音高值以及预设的映射系数和上下留白值,计算当前行曲谱对应的音高条区域的高度之后,进一步包括:
5.根据权利要求4所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱中第一个小节的横向开始位置、最后一个小节的横向结束位置、曲谱图片的纵向底部位置以及所述对应的音高条区域的高度,在当前行曲谱的曲谱图形的下方确定当前行曲谱对应的音高条区域,之后,进一步包括:
6.根据权利要求3所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的最大音高值和最小音高值以及预设的映射系数和上下留白值,计算当前行曲谱对应的音高条区域的高度,具体为:
7.根据权利要求3所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱中各音符的音高值、当前行曲谱的最小音高值、曲谱图形的纵向底部位置、音高条区域的高度以及预设的映射系数和上下留白值,分别计算当前行曲谱中各音符对应的音高条的纵向位置,具体为:
8.根据权利要求3所述的音符音高条的显示方法,其特征在于,所述分别根据当前行曲谱中各音符对应的音高条的横向起止位置,在当前行曲谱对应的音高条区域中绘制当前行曲谱中各音符对应的音高条图形,具体为:
9.根据权利要求2所述的音符音高条的显示方法,其特征在于,所述分别根据当前行曲谱中各音符的起止时间及其所属小节的起止时间和横向起止位置,计算当前行曲谱中各音符对应的音高条的横向起止位置,具体为:
10.根据权利要求1所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的曲谱信息,确定当前行曲谱中各音符的起止时间以及各小节的起止时间之后,进一步包括:
11.根据权利要求10所述的音符音高条的显示方法,其特征在于,所述分别对当前行曲谱中各音符的起止时间进行修正,具体为:
12.根据权利要求11所述的音符音高条的显示方法,其特征在于,若当前行曲谱中第j个音符为长音,则d>c,否则d=c。
13.根据权利要求12所述的音符音高条的显示方法,其特征在于,若一音符的音符时值大于预设时值或一音符带有呼吸记号,则判定所述一音符为长音。
14.根据权利要求1所述的音符音高条的显示方法,其特征在于,所述根据当前行曲谱的曲谱信息,确定当前行曲谱中各音符的起止时间以及各小节的起止时间,具体为:
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-14任一项所述的方法。