首页 > 乐器声学 专利正文
一种音高识别方法、装置、电子设备及存储介质与流程

时间:2022-02-18 阅读: 作者:专利查询

一种音高识别方法、装置、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种音高识别方法、装置、电子设备及存储介质。


背景技术:

2.将乐器演奏的琴音文件(如wav格式)精确转换为计算机能处理的数字信号(例如midi(musical instrument digital interface,音乐数字接口)信号),在音乐教育领域(如钢琴辅助教学、谱自动记录、音乐内容检索等工作)中具有非常重要的意义。
3.目前存在多种音乐音频转midi的技术,但由于音乐声音波形的复杂性,转换后的midi效果不理想,需要大量的人工校对。而且由于长期的磨损、空气中不同的温度、湿度等都会影响乐器发声元件(例如钢琴琴弦)的张力,使发声元件的发声特性产生一定程度的改变,这样乐器演奏出的音乐本身可能就会存在音准问题,从而使音高识别更加困难,准确率更低。


技术实现要素:

4.有鉴于此,本发明实施例提供一种音高识别方法、装置、电子设备及存储介质,能够有效提高音高识别的准确率。
5.第一方面,本发明实施例提供一种音高识别方法,包括:将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据;根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据;根据所述校准频域数据识别所述音频数据的基音音高。
6.可选的,所述根据预设策略对所述待识别频域数据进行频率校准包括:在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间,其中所述区间集合中设置有至少一个频率区间;根据所述目标频率区间对应的校准系数,对所述待识别频域数据进行频率校准。
7.可选的,所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,所述方法还包括:指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名;确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率;根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数。
8.可选的,所述指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名包括:指示用户针对每个所述频率区间中的每个所述指定音名重复多次演奏,分别获取每次演奏形成的音频信号;所述确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率包括:对所述音频信号进行频域变换,从频域变换得到的频域数据中选出峰值大于预设幅度阈值的频率,得到每个所述指定音名对应的演奏基音频率集合,每个所述演奏基音频率集合中包括至少一个演奏基音频率。
9.可选的,所述根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数包括:根据所述演奏基音频率集合中的各演奏基音频率与对应的所述指定音名的标准基音频率的大小关系的不同,将各所述演奏基音频率集合中的各演奏基音频率分为三个备选频组,其中,所述演奏基音频率的数量最多的一个备选频组为目标频组;根据所述目标频组中的各所述演奏基音频率与对应的所述指定音名的标准基音频率,确定所述指定音名对应的校准系数;根据每个所述频率区间中的所有指定音名对应的校准系数,确定所述频率区间的校准系数。
10.可选的,在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,所述方法还包括:分别确定所述目标乐器的各音名的演奏基音频率;根据各所述演奏基音频率与对应的标准基音频率的差异,将所述目标乐器的演奏基音频率划分为至少两个频率区间,所有所述频率区间形成所述区间集合。
11.第二方面,本发明的实施例还提供一种音高识别装置,包括:转换单元,用于将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据;校准单元,用于根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据;识别单元,用于根据所述校准频域数据识别所述音频数据的基音音高。
12.可选的,所述校准单元包括:查找模块,用于在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间,其中所述区间集合中设置有至少一个频率区间;校准模块,用于根据所述目标频率区间对应的校准系数,对所述待识别频域数据进行频率校准。
13.可选的,所述音高识别装置还包括:指示单元,用于在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名;基音确定单元,用于确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率;系数确定单元,用于根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数。
14.可选的,所述指示单元,具体用于指示用户针对每个所述频率区间中的每个所述指定音名重复多次演奏,分别获取每次演奏形成的音频信号;所述基音确定单元,具体用于对所述音频信号进行频域变换,从频域变换得到的频域数据中选出峰值大于预设幅度阈值的频率,得到每个所述指定音名对应的演奏基音频率集合,每个所述演奏基音频率集合中包括至少一个演奏基音频率。
15.可选的,所述系数确定单元包括:频率分组模块,用于根据所述演奏基音频率集合中的各演奏基音频率与对应的所述指定音名的标准基音频率的大小关系的不同,将各所述演奏基音频率集合中的各演奏基音频率分为三个备选频组,其中,所述演奏基音频率的数量最多的一个备选频组为目标频组;第一系数确定模块,用于根据所述目标频组中的各所述演奏基音频率与对应的所述指定音名的标准基音频率,确定所述指定音名对应的校准系数;第二系数确定模块,用于根据每个所述频率区间中的所有指定音名对应的校准系数,确定所述频率区间的校准系数。
16.可选的,所述音高识别装置还包括:音名频率确定单元,用于在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,分别确定所述目标乐器
的各音名的演奏基音频率;频率区间划分单元,用于根据各所述演奏基音频率与对应的标准基音频率的差异,将所述目标乐器的演奏基音频率划分为至少两个频率区间,所有所述频率区间形成所述区间集合。
17.第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种音高识别方法。
18.第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种音高识别方法。
19.本发明的实施例提供的音高识别方法、装置、电子设备及存储介质,能够将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据,根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据,并根据所述校准频域数据识别所述音频数据的基音音高。这样,通过对目标乐器演奏出的音乐进行频率上的校准,能够使乐器演奏出的音乐能够更接近每个音名对应的标准音高,有效纠正了乐器本身的问题导致的音高不准,从而使随后的音高识别能够以更准确的音乐为识别对象,因此能够有效提高音高识别的准确性。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
21.图1为本发明的实施例提供的音高识别方法的一种流程图;
22.图2为本发明的实施例中一种频率曲线的频率分布示意图;
23.图3为本发明的实施例中另一种频率曲线的频率分布示意图;
24.图4为本发明的实施例中音高分布的一种结构示意图;
25.图5为本发明的实施例提供的音高识别装置的一种结构示意图;
26.图6为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
27.下面结合附图对本发明实施例进行详细描述。
28.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
29.第一方面,本发明的实施例提供一种音高识别方法,能够有效提高声音的音高识别准确性。
30.如图1所示,本发明的实施例提供一种音高识别方法,该方法可以包括:
31.s11,将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据;
32.其中,目标乐器可以是各种类型的乐器,例如钢琴、小提琴、圆号、长笛等。不同类型的乐器具有不同的发声元件和发声原理。同一类型的不同乐器个体之间的发声也有个体差异。本发明的实施例中,目标乐器演奏的音乐既可以是现场采集的音乐,也可以是利用音乐文件播放出的音乐。音乐对应的音频数据例如可以为wav格式的音乐。声音可以包括基音和泛音,其中基音与发声体的震动频率相关,决定声音的音高。泛音则可以决定声音的音色,例如钢琴音色或小提琴音色等。由于基音决定了声音的音高,识别音高的关键即是对基音频率实现的准确检测。
33.为了识别目标乐器演奏的音乐的基音音高,本步骤中,可以将演奏出的音乐进行抽样和数学变换,得到对应的待识别频域数据。可选的,可以将音乐切分为多个音乐片段,通过对每个音乐片段进行数学变换和音高识别处理来实现对音乐的音高识别。可选的,根据音乐本身的旋律和每个音符的持续时长,每个音乐片段中既可以仅包括一个音符,也可以包括多个音符。在进行片段切分时,可以在两个音符之间的间隙进行片段切分,从而避免将同一个音符划入两个不同的片段。
34.可选的,在本发明的一个实施例中,一段音乐切分出来的各音乐片段的长度可以相等或不等。为了方便进行模型训练,在本发明的一个实施例中,对于长度不等的音乐片段,可以以其中最长的音乐片段为基准,将长度小于该基准的音乐片段以空白补齐。
35.s12,根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据;
36.本步骤中,音频数据转换到频域后得到的待识别频域数据,可以是一条连续的频率曲线,频率曲线的横坐标可以为频率,纵坐标可以为频率对应的能量值。可选的,为了从音频数据中提取出基音频率,在本发明的一个实施例中,可以对音频数据采用yinfft算法,以便检测音频数据中的基音频率。
37.考虑到乐器可能会存在音高失准的情况,在本步骤中,可以根据预设策略对待识别频域数据进行频率校准,也即是对得到的上述频率曲线进行调整,从而使调整后得到的校准频域数据中的基音频率能够更接近其对应的标准音高频率。
38.s13,根据所述校准频域数据识别所述音频数据的基音音高。
39.经过步骤s12中对音频数据进行频率校准后,音频数据能够在一定程度上纠正乐器的音高失准,本步骤中,以该校准频域数据作为基础进行音高识别能够有效提高音高识别的准确性。
40.本发明的实施例提供的音高识别方法,能够将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据,根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据,并根据所述校准频域数据识别所述音频数据的基音音高。这样,通过对目标乐器演奏出的音乐进行频率上的校准,能够使乐器演奏出的音乐能够更接近每个音名对应的标准音高,有效纠正了乐器本身的问题导致的音高不准,从而使随后的音高识别能够以更准确的音乐为识别对象,因此能够有效提高音高识别的准确性。
41.本发明的实施例中,对待识别频域数据进行频率校准是提高音高识别准确率的关键,下面对该频率校准过程进行详细说明。
42.可选的,在本发明的一个实施例中,步骤s12中根据预设策略对所述待识别频域数
据进行频率校准具体可以包括:
43.在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间,其中所述区间集合中设置有至少一个频率区间;
44.根据所述目标频率区间对应的校准系数,对所述待识别频域数据进行频率校准。
45.具体而言,本实施例中,可以将目标乐器的各发声元件对应的基音音高划分到一个或多个频率区间,从而针对不同的频率区间中的基音频率进行不同策略的校准,其中,所有频率区间可以构成一个区间集合。对于一个目标乐器而言,其每个音高对应的发声元件可能具有不同的磨损情况,音高失准也可能各有不同。例如,对于中音区等经常使用的发声元件可能会有较大程度的磨损和音高失准,而对于低音区和高音区等使用频率较低的发声元件,则可能磨损和音高失准程度都较小。因此,在本发明的一个实施例中,可以根据目标乐器中各发声元件的使用频率对发声元件的基音频率划分频率区间。当目标乐器只包括一个频率区间时,则可以不再进一步划分。
46.可选的,在本发明的其他实施例中,也可以根据其他规则划分频率区间。例如,在本发明的一个实施例中,在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,本发明的实施例提供的音高识别方法还可以包括:
47.分别确定所述目标乐器的各音名的演奏基音频率;
48.根据各所述演奏基音频率与对应的标准基音频率的差异,将所述目标乐器的演奏基音频率划分为至少两个频率区间,所有所述频率区间形成所述区间集合。
49.举例而言,在本发明的一个实施例中,可以预先让用户或者计算机程序按照预设顺序依次演奏目标乐器的每一个音名,然后确定每个音名的演奏基音频率与对应的标准基音频率的偏差,可以将偏差大于预设偏差阈值的音名作为划分频率区间的界限。或者以偏差大于预设偏差阈值的音名为中心,左右各扩展若干的音名的基音频率作为一个频率区间。
50.可选的,上述实施例中,各个频率区间的区间长度可以相同或不同,每个频率区间中可以包含一个或多个发声元件的基音频率。每个频率区间可以对应一个属于该频率区间的校准系数。不同频率区间的校准系数可以相同或不同。
51.进一步的,目标乐器演奏出音乐后,该音乐对应的音频信号可以通过频域变换被转换为待识别频域数据。该待识别频域数据可以表现为一段连续的频率曲线,曲线横坐标为声音频率,纵坐标为频率对应的能量。在本发明的一个实施例中,可以先确定该频率曲线的主要部分位于哪个频率区间,从而利用该频率区间的校准系数对该待识别频域数据校准。其中,频率曲线的主要部分可以为该频率曲线的曲线峰值预设百分比以上的频率。例如,如图2所示,如果频率曲线的曲线峰值为1,预设百分比为75%,则0.75-1之间的曲线即为该频率曲线的主要部分。进一步的,如果该频率曲线的主要部分落在频率区间a1中,则可以根据频率区间a1对应的校准系数ka1对待识别频域数据进行频率校准。如图3所示,在本发明的另一个实施例中,如果频率曲线的主要部分落在频率区间a2中,则可以根据频率区间a2对应的校准系数ka2对待识别频域数据进行频率校准。
52.在上述实施例中,预设区间集合中的每个频率区间都可以具有自己的校准系数,从而能够对落在本频率区间内的待识别频域数据进行频率校准。由于校准系数对音高识别具有重要影响,为了确定这些校准系数,在本发明的一个实施例中,在从预先设置的区间集
合中,查找所述待识别频域数据所属的目标频率区间之前,本发明的实施例提供的音高识别方法还可以包括:
53.指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名;
54.确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率;
55.根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数。
56.本实施例中,可以指示用户使用目标乐器演奏每个频率区间中的一个指定音名,或指示用户使用目标乐器依次演奏每个频率区间中的多个指定音名,例如指示用户演奏频率区间b1中的指定音名c1,指示用户依次演奏频率区间b2中的指定音名d4和g4等。由于每次仅仅演奏了一个指定音名,没有多个音名之间的叠加干扰,因此可以相对容易地确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率。
57.另外,由于在指示用户演奏时,系统已经知道该音名,因此可以获知该音名对应的标准音高频率。例如,在本发明的一个实施例中,对于目标乐器为钢琴的情况而言,可以通过十二平均律确定钢琴各琴键对应的音高。
58.具体的,十二平均律是将频率比为1∶2的两个音之间按频率等比划分为十二个半音。在钢琴键盘上一个八度内的音符名为12个,即12个半音组成一个八度音,相邻半音间的频率关系为每个半音音程含有100音分。
59.由十二平均率及基音标准频率公式:
60.f(0)=27.50(hz)
[0061][0062]
可以获得钢琴88键(a0-c8)对应的标准频率。
[0063]
当然,在本发明的其他实施例中,还可以根据音乐理论中的其他音律规则来确定乐器发声元件的标准频率,本发明的实施例对此不做限定。
[0064]
获得了各所述指定音名的标准基音频率以及各所述指定音名对应的所述演奏基音频率之后,即可根据各指定音名的演奏基音频率及其对应的标准基音频率,分别确定各所述频率区间对应的校准系数。可选的,在本发明的一个实施例中,当在每个频率区间演奏了一个指定音名时,可以以该指定音名对应的校准系数作为该频率区间的校准系数。可选的,在本发明的另一个实施例中,当在每个频率区间中演奏了多个指定音名时,可以根据该多个指定音名各自的校准系数来共同确定该频率区间的校准系数,例如该频率区间的校准系数可以为该多个指定音名的校准系数的算术平均数、几何平均数或其他函数。
[0065]
进一步的,为了使每个频率区间的校准系数能够达到更为理想的频率校准效果,在本发明的一个实施例中,可以指示用户反复多次演奏同一个指定音名,根据多次演奏结果确定该指定音名对应的演奏基音频率,以便消除单次演奏的不确定因素带来的误差。
[0066]
具体而言,在本发明的一个实施例中,指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名具体可以包括:指示用户针对每个所述频率区间中的每个所述指定音名重复多次演奏,分别获取每次演奏形成的音频信号。基于此,所述确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率具体可以包括:对所述音频信号进行频域变换,从频域变换得到的频域数据中选出峰值大于预设幅度阈值的频率,得到每个所述
指定音名对应的演奏基音频率集合,每个所述演奏基音频率集合中包括至少一个演奏基音频率。这样,可以以演奏基音频率集合为单位,根据演奏基音频率集合中的演奏基音频率确定每个指定音名对应的校准系数。
[0067]
可选的,在本发明的一个实施例中,指定音名n(例如钢琴的指定按键对应的音名)的校准系数factor(n)例如可以表示为:
[0068]
factor(n)=(avg(fd(n))-fs(n))/fs(n)
[0069]
其中:
[0070]
fd(n)表示该琴键检测到的频率,fs(n)表示该琴键标准的频率,factor为校准系数。avg为求平均数运算,也即为了减少误差,可以将多次频率检测结果进行平均。
[0071]
需要说明的是,在计算指定音名的校准系数前,可以先确定演奏基音频率是否位于对应的标准音频附近,也即是说可以先确定演奏基音频率是否位于预设的频率范围内,若在该预设的频率范围内,才进行校准系数的计算。例如,在本发明的一个实施例中,如图4所示,以钢琴的中央c(c4,261.63hz)为例,其左右半音分别为(b3,c4#),b3-c4-c4#之间分别间隔100音分,若演奏基音频率位于以c4为中心的正负50音分之内的频率范围内(即阴影部分),则根据c4的音高频率261.63hz,计算c4对应的校准系数。
[0072]
为了有效利用对指定音名的重复多次演奏,可选的,在本发明的一个实施例中,可以将每个演奏基音频率集合中重复多次演奏的演奏基音频率进行分组,并利用其中一组演奏基音频率确定每个音名对应的校准系数,从而能够有效避免由于用户弹奏等原因导致的误差。
[0073]
具体而言,在本发明的一个实施例中,根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数可以包括:
[0074]
根据所述演奏基音频率集合中的各演奏基音频率与对应的所述指定音名的标准基音频率的大小关系的不同,将各所述演奏基音频率集合中的各演奏基音频率分为三个备选频组,其中,所述演奏基音频率的数量最多的一个备选频组为目标频组;
[0075]
根据所述目标频组中的各所述演奏基音频率与对应的所述指定音名的标准基音频率,确定所述指定音名对应的校准系数;
[0076]
根据每个所述频率区间中的所有指定音名对应的校准系数,确定所述频率区间的校准系数。
[0077]
例如,在本发明的一个实施例中,演奏基音频率集合p对应的指定音名name1的标准基音频率为fs,第一次演奏该指定音名时得到的基音频率为f1,第二次演奏该指定音名时得到的基音频率为f2,第三次演奏该指定音名时得到的基音频率为f3,第四次演奏该指定音名时得到的基音频率为f4,第五次演奏该指定音名时得到的基音频率为f5,其中,f1、f2、f5都小于fs,且与fs的差的绝对值都大于预设阈值,f3大于fs,且与fs的差的绝对值大于预设阈值,f4与fs的差的绝对值小于预设阈值,则可以将f1、f2、f3、f4、f5分为三个备选频组,其中,f1、f2、f5属于偏小频组,f3属于偏大频组,f4属于等价频组。由于偏小频组中的频率数量为3个,大于偏大频组及等价频组中的频率数量1个,因此,偏小频组为目标频组。其中,预设阈值可以根据需要确定并适当调节,例如,在本发明的一个实施例中,该预设阈值可以为10音分的频率幅度。
[0078]
进一步的,可以根据fs与f1之比确定校准系数k1、根据fs与f2之比确定校准系数k2,根据fs与f5之比确定校准系数k5,然后根据k1、k2和k5确定指定音名name1对应的校准系数kname1。
[0079]
在本发明的一个实施例中,假设频率区间b中有三个指定音名name1、name2、name3,对应的校准系数分别为kname1、kname2、kname3,其中,kname2、kname3的计算方法可以与kname1的计算方法相似,则可以根据knamel、kname2、kname3确定频率区间b的校准系数k
b
。例如,k
b
可以为kname1、kname2、kname3的算术平均数。
[0080]
第二方面,本发明的实施例还提供一种音高识别装置,能够有效提高音高识别的准确性。
[0081]
如图5所示,本发明的实施例提供的音高识别装置可以包括:
[0082]
转换单元31,用于将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据;
[0083]
校准单元32,用于根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据;
[0084]
识别单元33,用于根据所述校准频域数据识别所述音频数据的基音音高。
[0085]
本发明的实施例提供的音高识别装置,能够将目标乐器演奏的音乐所对应的音频数据转换为频域信号,得到待识别频域数据,根据预设策略对所述待识别频域数据进行频率校准,得到校准频域数据,并根据所述校准频域数据识别所述音频数据的基音音高。这样,通过对目标乐器演奏出的音乐进行频率上的校准,能够使乐器演奏出的音乐能够更接近每个音名对应的标准音高,有效纠正了乐器本身的问题导致的音高不准,从而使随后的音高识别能够以更准确的音乐为识别对象,因此能够有效提高音高识别的准确性。
[0086]
可选的,校准单元32可以包括:
[0087]
查找模块,用于在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间,其中所述区间集合中设置有至少一个频率区间;
[0088]
校准模块,用于根据所述目标频率区间对应的校准系数,对所述待识别频域数据进行频率校准。
[0089]
可选的,本发明的实施例提供的音高识别装置还可以包括:
[0090]
指示单元,用于在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,指示用户在所述区间集合中的每个频率区间演奏至少一个指定音名;
[0091]
基音确定单元,用于确定演奏出的各所述指定音名的基音频率,得到对应的演奏基音频率;
[0092]
系数确定单元,用于根据各所述指定音名的标准基音频率与各所述指定音名对应的所述演奏基音频率,分别确定各所述频率区间对应的校准系数。
[0093]
可选的,指示单元33,具体可以用于指示用户针对每个所述频率区间中的每个所述指定音名重复多次演奏,分别获取每次演奏形成的音频信号;
[0094]
基音确定单元,具体可以用于对所述音频信号进行频域变换,从频域变换得到的频域数据中选出峰值大于预设幅度阈值的频率,得到每个所述指定音名对应的演奏基音频率集合,每个所述演奏基音频率集合中包括至少一个演奏基音频率。
[0095]
可选的,所述系数确定单元可以包括:
[0096]
频率分组模块,用于根据所述演奏基音频率集合中的各演奏基音频率与对应的所述指定音名的标准基音频率的大小关系的不同,将各所述演奏基音频率集合中的各演奏基音频率分为三个备选频组,其中,所述演奏基音频率的数量最多的一个备选频组为目标频组;
[0097]
第一系数确定模块,用于根据所述目标频组中的各所述演奏基音频率与对应的所述指定音名的标准基音频率,确定所述指定音名对应的校准系数;
[0098]
第二系数确定模块,用于根据每个所述频率区间中的所有指定音名对应的校准系数,确定所述频率区间的校准系数。
[0099]
可选的,本发明的实施例提供的音高识别装置还可以包括:
[0100]
音名频率确定单元,用于在所述在预先设置的区间集合中,查找所述待识别频域数据所属的目标频率区间之前,分别确定所述目标乐器的各音名的演奏基音频率;
[0101]
频率区间划分单元,用于根据各所述演奏基音频率与对应的标准基音频率的差异,将所述目标乐器的演奏基音频率划分为至少两个频率区间,所有所述频率区间形成所述区间集合。
[0102]
第三方面,本发明的实施例还提供一种电子设备,能够有效提高音高识别的准确率。
[0103]
如图6所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的音高识别方法。
[0104]
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
[0105]
上述电子设备以多种形式存在,包括但不限于:
[0106]
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。
[0107]
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
[0108]
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0109]
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
[0110]
(5)其他具有数据交互功能的电子设备。
[0111]
相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种音高识别方法,因此也能实现相应的技术效果,前文已经进
行了详细说明,此处不再赘述。
[0112]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0113]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0114]
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0115]
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
[0116]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0117]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。