音频识别方法、装置、计算机设备及计算机可读存储介质与流程
1.本技术涉及计算机技术领域,尤其涉及音频识别方法、音频识别装置、计算机设备及计算机可读存储介质。
背景技术:
2.目前,传统的有参考歌唱评价,通常是参考固定模板,根据时间逐音符进行精准匹配,利用匹配结果进行评价,需要有音准条、高亮歌词或伴奏作为时间参考。
3.但是在规定用户需要清唱完成歌曲的情况下,此时没有音准条或伴奏作为时间参考,那么采用这种参考固定模板进行精准匹配的方式会降低音频评价的准确性。
技术实现要素:
4.本技术实施例提供了音频识别方法、装置、计算机设备及计算机可读存储介质,可以提高音频评价的准确性。
5.一方面,本技术实施例提供一种音频识别方法,该方法包括:
6.获取清唱音频数据后,提取清唱音频数据的基频序列;
7.获取清唱音频数据对应的歌曲的乐器数字接口midi模板,该midi模板用于表示歌曲的标准化音乐参数;
8.基于该midi模板调整基频序列对应的音区,以及基频序列对应的发声速度;
9.计算调整后的基频序列和该midi模板之间的匹配度;
10.根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。
11.一方面,本技术实施例提供一种音频识别装置,该装置包括:
12.处理单元,用于获取清唱音频数据后,提取清唱音频数据的基频序列;
13.获取单元,用于获取清唱音频数据对应的歌曲的乐器数字接口midi模板,该midi模板用于表示歌曲的标准化音乐参数;
14.该处理单元,还用于基于该midi模板调整基频序列对应的音区,以及基频序列对应的发声速度;
15.该处理单元,还用于计算调整后的基频序列和该midi模板之间的匹配度;
16.确定单元,用于根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。
17.一方面,本技术实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的音频识别方法。
18.一方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的音频识别方法。
19.一方面,本技术实施例提供了一种计算机程序产品,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的音频识别方法。
20.在本技术实施例中,首先在获取清唱音频数据后,提取该清唱音频数据的基频序列;然后获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结果,此处的识别结果可用于指示该清唱音频数据是否合格。针对清唱歌曲评价的场景,不借助音准条或伴奏作为时间参考,根据midi模板调整基频序列对应的音区以及发声速度,模糊匹配清唱音频数据与midi模板,克服清唱音频数据中发声速度不确定、音准不稳定等问题,能够提高音频评价的准确性。
附图说明
21.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术实施例提供的一种音频识别系统的结构示意图;
23.图2是本技术实施例提供的一种音频识别方法的流程示意图;
24.图3是本技术实施例提供的一种基频序列调整的示意图;
25.图4是本技术实施例提供的一种矩阵网格的示意图;
26.图5是本技术实施例提供的一种清唱音频数据的识别结果显示界面;
27.图6是本技术实施例提供的一种midi模板对应的持续时长与匹配度之间的关系示意图;
28.图7是本技术实施例提供的另一种音频识别方法的流程示意图;
29.图8a是本技术实施例提供的一种唱歌游戏的流程图;
30.图8b是本技术实施例提供的一种唱歌领奖励的界面图;
31.图8c是本技术实施例提供的一种唱歌的界面图;
32.图8d是本技术实施例提供的一种获取奖励的界面图;
33.图9a是本技术实施例提供的一种音准测试的界面图;
34.图9b是本技术实施例提供的一种音准测试结果的界面图;
35.图10是本技术实施例提供的一种音频识别装置的结构示意图;
36.图11是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
37.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.需要说明的是,本技术实施例中所涉及到的“第一”、“第二”等描述仅用于描述目
的,而不能理解为指示或者暗示其相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的技术特征可以明示或者隐含的包括至少一个该特征。
39.在本技术实施例中,涉及人工智能(artificial intelligence,ai)技术。所谓的人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
40.其中,语音技术(speech technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
41.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
42.基于上述所提及的人工智能技术中的语音识别技术,本技术实施例提出了一种音频识别方法,以提高音频评价的准确性。具体的,该音频识别方法的大致原理如下:首先,获取清唱音频数据后,提取该清唱音频数据的基频序列;然后获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结果,此处的识别结果可用于指示该清唱音频数据是否合格。
43.在具体实现中,上述所提及的音频识别方法可以由计算机设备执行,该计算机设备可以是终端设备或服务器。其中,终端设备可以例如是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能车载等,但并不局限于此;服务器可以例如是独立的物理服务器,也可以是多个物理服务器构成的服务器集或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发服务器(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
44.或者,上述所提及的音频识别方法可以由终端设备和服务器共同执行。例如,参见图1所示:可以先由终端设备101获取到清唱音频数据,将清唱音频数据发送给服务器102。相应的,服务器102在接收到清唱音频数据后,可提取该清唱音频数据的基频序列,获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结
果等步骤。当然,服务器102还可以将清唱音频数据的识别结果发送给终端设备101,使得终端设备101可以对清唱音频数据的识别结果进行显示,也可以对该清唱音频数据的识别结果进行语音播报。
45.通过本技术实施例,针对清唱歌曲评价的场景,不借助音准条或伴奏作为时间参考,根据midi模板调整基频序列对应的音区以及发声速度,模糊匹配清唱音频数据与midi模板,克服清唱音频数据中发声速度不确定、音准不稳定等问题,能够提高音频评价的准确性。
46.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
47.基于上述阐述,下面结合图2所示的流程图,对本技术实施例所提出的音频识别方法作进一步阐述。在本技术实施例中,主要以上述所提及的计算机设备执行该音频识别方法为例进行说明。请参见图2,该音频识别方法具体可以包括步骤s201~s205:
48.s201、计算机设备获取清唱音频数据后,提取清唱音频数据的基频序列。
49.在本技术实施例中,目标对象根据歌曲的指点片段歌词进行清唱,计算机设备对该清唱音频数据进行采集。当然,该清唱音频数据也可以是计算机设备从数据库中提取到的,也可以是从其他设备获取到的,在此不作限定。
50.需要说明的是,当对象是用户时,本技术实施例所涉及到清唱音频数据等相关的数据,均是经过用户授权后所获取到的。并且,当本技术实施例运用到具体产品或技术中时,所涉及使用到的数据需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
51.在本技术实施例中,基频(fundamental frequency)也称基音的频率,是指自由振荡系统的最低振荡频率,也就是复合波中的最低频率,基频的高低决定一个音的高低。针对基频提取(pitch estimation),通常是用来识别音乐的旋律和语音处理,经过提取后可以得到一个《时间,音频》的基频序列,例如基频序列为《1ms,30hz》、《2ms,60hz》、《3ms,70hz》。其中,基频序列的提取方法可以采用常见的概率时域算法(probabilistic yin,pyin)、dio算法、频域算法、机器学习等等。
52.在一种可能的实现方式中,计算机设备提取该清唱音频数据的基频序列,具体的实现方式为:若该清唱音频数据对应的音频时长大于或等于第一阈值,则提取该清唱音频数据的基频序列。其中,该第一阈值可以是预先设置的,也可以是动态变化的,在此不作限定。需要说明的是,计算机设备在提取清唱音频数据的基频序列之前,需要判断该清唱音频数据对应的音频时长是否大于或等于第一阈值,只有在该清唱音频数据对应的音频时长大于或等于第一阈值的情况下,计算机设备才对清唱音频数据的基频序列进行提取。这样的方式能够避免对不满足条件的清唱音频数据进行多余的处理,从而提高音频处理的效率。
53.可选的,该方法还包括:若该清唱音频数据对应的音频时长小于第一阈值,则该识别结果用于指示清唱音频数据不合格。需要说明的是,在清唱音频数据对应的音频时长小于第一阈值的情况下,认为该清唱音频数据不合格,无需对该清唱音频数据进行后续的处理。
54.在一种可能的实现方式中,计算机设备提取清唱音频数据的基频序列,具体的实现方式为:提取清唱音频数据的初始基频序列;对该初始基频序列进行平滑处理,得到该清唱音频数据的基频序列。需要说明的是,计算机设备提取到的初始基频序列可能存在倍频或半频错误,可以利用hmm解码模块的转移规律,对基频序列进行平滑,并消除个别帧产生的倍频或半频错误。
55.s202、计算机设备获取清唱音频数据对应的歌曲的midi模板。
56.在本技术实施例中,乐器数字接口midi模板用于表示歌曲的标准化音乐参数(如音高、音速、节奏等等),midi被认为是最广泛的音乐标准格式。计算机设备根据清唱音频数据对应的歌曲或歌曲片段,从数据库中到该歌曲或歌曲片段对应的midi模板。
57.在一种可能的实现方式中,计算机设备获取该清唱音频数据对应的歌曲的midi模板,具体的实现方式为:基于该基频序列确定清唱音频数据对应的人声时长;确定清唱音频数据对应的人声时长是否大于或等于第二阈值;若清唱音频数据对应的人声时长大于或等于第二阈值,则获取清唱音频数据对应的歌曲的midi模板。其中,该第二阈值可以是预先设置的,也可以是动态变化的,在此不作限定。需要说明的是,计算机设备在获取清唱音频数据对应的歌曲的midi模板之前,需要判断清唱音频数据对应的人声时长是否大于或等于第二阈值,只有在清唱音频数据对应的人声时长大于或等于第二阈值的情况下,才进一步获取清唱音频数据对应的歌曲的midi模板。这样的方式能够避免对不满足条件的清唱音频数据进行多余的处理,从而提高音频处理的效率。
58.可选的,该方法还包括:若清唱音频数据对应的人声时长小于第二阈值,则该识别结果用于指示清唱音频数据不合格。需要说明的是,在清唱音频数据对应的音频时长小于第二阈值的情况下,认为该清唱音频数据不合格,无需对该清唱音频数据进行后续的处理。
59.可选的,计算机设备基于该基频序列确定清唱音频数据对应的人声时长,具体的实现方式为:获取该基频序列中每个基频对应的元音帧时长;基于每个基频对应的元音帧时长确定清唱音频数据对应的人声时长。需要说明的是,每个基频对应的元音帧时长可以近似为人声发声长度,对每个基频对应的元音帧时长进行累积,将累积时长确定为清唱音频数据对应的人声时长。
60.示例性的,假设清唱音频数据的基频序列为:《1ms,30hz》、《2ms,60hz》、《3ms,70hz》。其中,基频《1ms,30hz》对应的元音帧时长为0.8ms,基频《2ms,60hz》对应的元音帧时长为1ms,基频《3ms,70hz》对应的元音帧时长为0.9ms。对每个基频对应的元音帧时长进行累积,确定该清唱音频数据对应的人声时长为2.7ms。
61.s203、计算机设备基于该midi模板调整基频序列对应的音区,以及基频序列对应的发声速度。
62.在本技术实施例中,该基频序列对应的音区和该midi模板的音区不一定在同一个区间内,该基频序列对应的发声速度和该midi模板的发声速度也不一定相同。因此,计算机设备首先需要对基频序列对应的音区以及基频序列对应的发声速度进行调整,使得两个序列能够处于一个对齐的状态,便于后续计算调整后的基频序列与该midi模板之间的匹配度。
63.在一种可能的实现方式中,计算机设备基于该midi模板调整基频序列对应的音区,具体的实现方式为:确定该midi模板对应的音高与基频序列对应的音高之间的差值;基
于该差值调整基频序列对应的音区。需要说明的是,首先确定该midi模板对应的音高的中位数,以及确定该基频序列对应的音高的中位数;然后计算该midi模板对应的音高的中位数与该基频序列对应的音高的中位数之间的差值,并将该基频序列移动该差值大小的距离,使得该基频序列对应的音区和该midi模板的音区在同一个区间内。
64.具体的,可以采用公式(1)确定该midi模板对应的音高与基频序列对应的音高之间的差值,公式(1)如下所示:
65.delta_pitch=median(pitch_midi)-median(pitch_user)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
66.其中,median(pitch_midi)为midi模板对应的音高的中位数,median(pitch_user)为基频序列对应的音高的中位数,delta_pitch为midi模板对应的音高的中位数与基频序列对应的音高的中位数之间的差值。
67.在一种可能的实现方式中,计算机设备基于该midi模板调整基频序列对应的发声速度,具体的实现方式为:确定该midi模板对应的持续时长与基频序列对应的人声时长之间的倍数关系;基于该倍数关系调整基频序列对应的发声速度。需要说明的是,此处的倍数关系即为该midi模板的发声速度与该基频序列对应的发声速度之间的关系,根据该倍数关系调整该基频序列对应的发声速度,使得调整后的发声速度与该midi模板的发声速度相同。
68.具体的,可以采用公式(2)确定该midi模板对应的持续时长与基频序列对应的人声时长之间的倍数关系,再利用该基频序列对应的发声速度除以该倍数,即可实现对该基频序列对应的发声速度的调整。公式(2)如下所示:
[0069][0070]
其中,l_midi为midi模板对应的持续时长,l_voice为基频序列对应的人声时长,times为midi模板对应的持续时长与基频序列对应的人声时长之间的倍数关系。
[0071]
示例性的,请参见图3,图3是本技术实施例提供的一种基频序列调整的示意图。如图3所示,清唱音频数据的基频序列对应的音高位于30hz~50hz的音区,midi模板对应的音高位于50hz~70hz的音区,利用公式(1)得到该midi模板对应的音高与该基频序列对应的音高之间的差值为20hz,将该基频序列对应的音高整体向上移动20hz,使得该基频序列对应的音区位于50hz~70hz。接下来,获取到该midi模板对应的持续时长为6000ms,该基频序列对应的人声时长为4000ms,利用公式(2)得到该midi模板对应的持续时长与基频序列对应的人声时长之间的倍数关系为1.5倍,证明该基频序列对应的发声速度比该midi模板对应的发声速度快,利用该基频序列对应的发声速度除以该倍数,实现对该基频序列对应的发声速度的减慢,从而得到调整后的基频序列。
[0072]
s204、计算机设备计算调整后的基频序列和该midi模板之间的匹配度。
[0073]
在本技术实施例中,调整后的基频序列和该midi模板之间的匹配度可以认为是判定清唱音频数据的识别结果的标准参数,即调整后的基频序列和该midi模板之间的匹配度越高,则认为清唱音频数据越标准,清唱音频数据的识别结果为合格的可能性也越大。
[0074]
在一种可能的实现方式中,计算机设备计算调整后的基频序列和该midi模板之间的匹配度,具体的实现方式为:基于动态时间规整算法确定调整后的基频序列和该midi模板之间的累积距离;基于该累积距离确定调整后的基频序列和该midi模板之间的匹配度。
需要说明的是,由于清唱音频数据的音准可能会出现波动的情况,因此可以采用动态时间规整算法(dynamic time warping,dtw)确定调整后的基频序列和该midi模板之间的累积距离,将该累积距离确定为调整后的基频序列和该midi模板之间的匹配度。
[0075]
具体的,首先对于调整后的基频序列和midi模板这两个序列:该midi模板为q=q1,q2,...,qi,...,qn,调整后的基频序列为c=c1,c2,...,cj,...,cm。利用这两个序列构造一个矩阵网格,如图4所示,横坐标为该midi模板中的每个基频,纵坐标为调整后的基频序列中的每个基频。其中,每个矩阵元素(i,j)表示点qi与点cj之间的距离d(qi,cj),一般采用欧式距离。
[0076]
然后,从(0,0)点开始匹配这两个序列,每到一个点,都会对之前所有的点计算的距离进行累加,直到终点后,得到最终的累积距离。该累积距离可以采用公式(3)计算得到,公式(3)如下:
[0077]
γ(i,j)=d(qi,cj)+min{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0078]
其中,γ(i,j)表示累积距离,d(qi,cj)表示点qi与点cj之间的距离,min{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}表示可以到达该点(i,j)的最小的邻近元素的累积距离。
[0079]
s205、计算机设备根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。
[0080]
在本技术实施例中,该识别结果可以是指示清唱音频数据是否合格的提示信息,也可以是清唱音频数据对应的分数。计算机设备确定出该清唱音频数据的识别结果后,可以对该清唱音频数据的识别结果进行显示,也可以对该清唱音频数据的识别结果进行语音播报,在此不作限定。
[0081]
请参见图5,图5是本技术实施例提供的一种清唱音频数据的识别结果显示界面。如图5所示,该清唱音频数据的识别结果显示界面包括提示框、保存按钮和关闭按钮。提示框中显示“本次清唱音频数据的识别结果为:合格”,用户可以通过保存按钮对该识别结果进行保存,也可以通过关闭按钮直接关闭该界面。
[0082]
在一种可能的实现方式中,计算机设备根据该匹配度确定清唱音频数据的识别结果,具体的实现方式为:若该匹配度大于或等于第三阈值,则该识别结果用于指示清唱音频数据合格;若该匹配度小于第三阈值,则该识别结果用于指示清唱音频数据不合格。其中,该第三阈值可以是预先设置的,也可以是动态变化的,在此不作限定。
[0083]
示例性的,假设第三阈值为12000,调整后的基频序列和该midi模板之间的匹配度为15000,则该识别结果用于指示该清唱音频数据合格。又示例性的,假设第三阈值为12000,调整后的基频序列和该midi模板之间的匹配度为8000,该识别结果用于指示该清唱音频数据不合格。
[0084]
在一种可能的实现方式中,计算机设备获得由多个清唱音频样本得到的时长与匹配度对应关系,其中,该清唱音频样本包括midi模板样本对应的持续时长信息和匹配度信息;基于该midi模板对应的持续时长以及该时长与匹配度对应关系确定第三阈值。需要说明的是,时长与匹配度对应关系可以是根据大量的清唱音频样本综合计算得到的,每个清唱音频样本中包括midi模板对应的持续时长信息和匹配度信息,例如可以根据多个清唱音频样本确定出一条趋势线或者包络线,将趋势线或者包络线作为第三阈值对应的一个阈值函数,即时长与匹配度对应关系,根据midi模板对应的持续时长以及该时长与匹配度对应
关系便可到相应的第三阈值。其中,此处的匹配度信息可以认为是前述的累积距离。另外,趋势线或者包络线可以借助其他工具(如matlab、excel)进行确定,也可以采用回归算法、最小二乘法、包络提取算法等进行确定,在此不作限定。
[0085]
示例性的,请参见图6,图6是本技术实施例提供的一种midi模板对应的持续时长与匹配度之间的关系示意图。如图6所示,采用了45个清唱音频样本,实线代表的是每个清唱音频样本对应的持续时长信息,虚线代表每个清唱音频样本对应的匹配度信息。例如,对于第1个清唱音频样本,该清唱音频样本对应的持续时长信息为55000ms,该清唱音频样本对应的匹配度信息为7000。根据这45个清唱音频样本确定出一条趋势线,将该趋势线认为是第三阈值对应的一个阈值函数,后续即可根据midi模板对应的持续时长到相应的第三阈值。例如,当midi模板对应的持续时长为55000ms时,根据该趋势线,相应的第三阈值为12000。
[0086]
可选的,该方法还包括:基于该累积距离确定该清唱音频数据对应的分数。需要说明的是,可以根据大量的清唱音频样本,确定累积距离与检测分数之间的对应表格。根据当前计算得到的累积距离,可以在该对应表格中到该累积距离对应的检测分数,将该检测分数确定为该清唱音频数据对应的分数。
[0087]
示例性的,如表1所示,表1是一个累积距离与检测分数之间的对应表格。当前调整后的基频序列和该midi模板之间的累积距离为7000。由表1可知,该清唱音频数据对应的分数为80分,计算机设备可以对该分数进行显示。
[0088]
表1
[0089]
累积距离分数600070分700080分800090分
[0090]
总的来说,可以将上述的音频识别方法归纳如下:如图7所示,用户获取到清唱歌曲片段,并根据该清唱歌曲片段进行清唱。计算机设备获取到该用户的清唱音频数据,首先判断该清唱音频数据对应的歌唱时长(也就是音频时长)是否达标:如果不达标,则识别结果指示该清唱音频数据不合格,即检测不通过;如果达标,则根据从该清唱音频数据中提取的基频序列,判断该清唱音频数据对应的发声时长(也就是人声时长)是否达标。
[0091]
进一步,如果该清唱音频数据对应的发声时长不达标,则识别结果指示该清唱音频数据不合格,即检测不通过。如果该清唱音频数据对应的发声时长达标,则对提取出的该清唱音频数据的基频序列进行平滑处理;然后,基于midi模板调整基频序列对应的音区以及基频序列对应的发声速度,即适配模板音区和适配模板速度;接着判断调整后的基频序列与midi模板之间的匹配度,如果匹配度达到检测阈值(也就是第三阈值),则识别结果指示该清唱音频数据合格,即检测通过;如果匹配度未达到检测阈值,则识别结果指示该清唱音频数据不合格,即检测不通过。
[0092]
上述阐述的音频识别方法可以应用于各种线上活动中,请参见图8a,图8a是本技术实施例提供的一种唱歌游戏的流程图。如图8a所示,用户a可以在第一计算机设备中选择歌曲片段放入文件中,可以将该文件分享给用户b进行演唱。用户b通过第二计算机设备接收到该文件,打开该文件即可获取歌曲片段。用户b可以根据该歌曲片段进行清唱,第二计
算机设备利用该音频识别方法对该清唱音频数据进行处理,从而判断用户b的清唱音频数据是否达标(合格)。如果达标,则用户b可以获取奖励;如果未达标,则用户b无法获取奖励,可以重新尝试或者直接放弃。
[0093]
请参见图8b,图8b是本技术实施例提供的一种唱歌领奖励的界面图。如图8b所示,该唱歌领奖励的界面包括歌曲选择框,用户可以在歌曲选择框中选择歌曲片段以及对应的添加按钮,例如aaaaaa、bbbbbb、cccccc。用户a可以通过添加按钮将相应的歌曲片段放入文件中,分享给用户b进行演唱。
[0094]
请参见图8c,图8c是本技术实施例提供的一种唱歌的界面图。如图8c所示,用户b接收到用户a分享的文件,打开该文件获得用户a选择的歌曲片段,如唱歌界面中歌曲“aaaaaa”对应的歌曲片段。该唱歌界面中还包括该歌曲片段对应的歌词,用户b可以通过触发“开始唱歌”的按钮进行清唱录制。
[0095]
请参见图8d,图8d是本技术实施例提供的一种获取奖励的界面图。如图8d所示,该获取奖励的界面包括奖励框和获取按钮。奖励框中可以显示具体包括的奖励内容(如奖品),用户可以通过触发获取按钮得到该奖励。
[0096]
在另一种具体的应用中,上述阐述的音频识别方法可以用于进行音准测试,用户可以通过清唱一段歌曲片段进行测试,并获取到自己的音准测试分数。请参见图9a,图9a是本技术实施例提供的一种音准测试的界面图。如图9a所示,该音准测试界面包括歌曲片段显示框、“换一首歌”按钮和“开始录制”按钮。歌曲片段显示框中可以显示当前的歌曲片段以及对应的歌词,用户可以触发“换一首歌”按钮切换当前歌曲片段。用户选择好歌曲片段后,可以通过触发“开始录制”按钮清唱选择的歌曲片段。
[0097]
请参见图9b,图9b是本技术实施例提供的一种音准测试结果的界面图。如图9b所示,该音准测试结果界面包括测试结果显示框、“保存结果”按钮和“再测一次”按钮,该测试结果显示框可以对用户的音准分数进行显示,例如显示的内容为“你的音准分为96分,超过了本次测试中98%的人”。用户可以通过“保存结果”按钮对该测试结果或者该测试结果生成的海报进行保存,还可以通过“再测一次”按钮重新进行音准测试。
[0098]
综上所述,在本技术实施例中,首先在获取清唱音频数据后,提取该清唱音频数据的基频序列;然后获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结果,此处的识别结果可用于指示该清唱音频数据是否合格。针对清唱歌曲评价的场景,不借助音准条或伴奏作为时间参考,根据midi模板调整基频序列对应的音区以及发声速度,模糊匹配清唱音频数据与midi模板,克服清唱音频数据中发声速度不确定、音准不稳定等问题,能够提高音频评价的准确性。
[0099]
基于上述的音频识别方法,本技术实施例提供了一种音频识别装置。请参见图10,是本技术实施例提供的一种音频识别装置的结构示意图,该音频识别装置1000可以运行如下单元:
[0100]
处理单元1001,用于获取清唱音频数据后,提取清唱音频数据的基频序列;
[0101]
获取单元1002,还用于获取清唱音频数据对应的歌曲的乐器数字接口midi模板,该midi模板用于表示歌曲的标准化音乐参数;
[0102]
该处理单元1001,还用于基于该midi模板调整基频序列对应的音区,以及基频序
列对应的发声速度;
[0103]
该处理单元1001,还用于计算调整后的基频序列和该midi模板之间的匹配度;
[0104]
确定单元1003,用于根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。
[0105]
在一种实施方式中,处理单元1001,在提取清唱音频数据的基频序列时,可具体用于:若清唱音频数据对应的音频时长大于或等于第一阈值,则提取清唱音频数据的基频序列。
[0106]
另一种实施方式中,获取单元1002,在获取清唱音频数据对应的歌曲的乐器数字接口midi模板时,可具体用于:基于基频序列确定该清唱音频数据对应的人声时长;确定清唱音频数据对应的人声时长是否大于或等于第二阈值;若该清唱音频数据对应的人声时长大于或等于第二阈值,则获取清唱音频数据对应的歌曲的乐器数字接口midi模板。
[0107]
另一种实施方式中,获取单元1002,在基于该基频序列确定清唱音频数据对应的人声时长时,可具体用于:获取该基频序列中每个基频对应的元音帧时长;基于每个基频对应的元音帧时长确定清唱音频数据对应的人声时长。
[0108]
另一种实施方式中,处理单元1001,在基于该midi模板调整该基频序列对应的音区时,可具体用于:确定该midi模板对应的音高与基频序列对应的音高之间的差值;基于该差值调整基频序列对应的音区。
[0109]
另一种实施方式中,处理单元1001,在基于该midi模板调整基频序列对应的发声速度时,可具体用于:确定该midi模板对应的持续时长与该基频序列对应的人声时长之间的倍数关系;基于该倍数关系调整基频序列对应的发声速度。
[0110]
另一种实施方式中,处理单元1001,在计算调整后的基频序列和该midi模板之间的匹配度时,可具体用于:基于动态时间规整算法确定调整后的基频序列和该midi模板之间的累积距离;基于该累积距离确定调整后的基频序列和该midi模板之间的匹配度。
[0111]
另一种实施方式中,确定单元1003,在根据该匹配度确定清唱音频数据的识别结果时,可具体用于:若该匹配度大于或等于第三阈值,则该识别结果用于指示清唱音频数据合格;若该匹配度小于第三阈值,则该识别结果用于指示清唱音频数据不合格。
[0112]
另一种实施方式中,处理单元1001,还用于:获得由多个清唱音频样本得到的时长与匹配度对应关系,其中清唱音频样本包括midi模板样本对应的持续时长信息和匹配度信息;基于该midi模板对应的持续时长以及该时长与匹配度对应关系确定第三阈值。
[0113]
根据本技术的另一个实施例,图10所示的音频识别装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,音频识别装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
[0114]
根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构
造如图10中所示的音频识别装置,以及来实现本技术实施例的音频识别方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
[0115]
在本技术实施例中,首先在获取清唱音频数据后,提取该清唱音频数据的基频序列;然后获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结果,此处的识别结果可用于指示该清唱音频数据是否合格。针对清唱歌曲评价的场景,不借助音准条或伴奏作为时间参考,根据midi模板调整基频序列对应的音区以及发声速度,模糊匹配清唱音频数据与midi模板,克服清唱音频数据中发声速度不确定、音准不稳定等问题,能够提高音频评价的准确性。
[0116]
基于上述方法实施例以及装置实施例的描述,本技术实施例还提供一种计算机设备。请参见图11,该计算机设备1100至少包括处理器1101、通信接口1102以及计算机存储介质1103。其中,处理器1101、通信接口1102以及计算机存储介质1103可通过总线或其他方式连接。计算机存储介质1103可以存储在计算机设备1100的存储器1104中,所述计算机存储介质1103用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1101用于执行所述计算机存储介质1103存储的程序指令。处理器1101(或称cpu(central processing unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
[0117]
在一个实施例中,本技术实施例所述的处理器1101可以用于进行一系列的音频识别处理,具体包括:获取清唱音频数据后,提取清唱音频数据的基频序列;获取清唱音频数据对应的歌曲的乐器数字接口midi模板,该midi模板用于表示歌曲的标准化音乐参数;基于该midi模板调整基频序列对应的音区,以及基频序列对应的发声速度;计算调整后的基频序列和该midi模板之间的匹配度;根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格,等等。
[0118]
本技术实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器1101加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机存储介质。
[0119]
在一个实施例中,可由处理器加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2所示的音频识别方法实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器1101加载并执行如下步骤:
[0120]
获取清唱音频数据后,提取清唱音频数据的基频序列;
[0121]
获取清唱音频数据对应的歌曲的乐器数字接口midi模板,该midi模板用于表示歌曲的标准化音乐参数;
[0122]
基于该midi模板调整基频序列对应的音区,以及基频序列对应的发声速度;
[0123]
计算调整后的基频序列和该midi模板之间的匹配度;
[0124]
根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。
[0125]
在一种实施方式中,在提取清唱音频数据的基频序列时,该一条或多条指令可由处理器加载并具体执行:若清唱音频数据对应的音频时长大于或等于第一阈值,则提取清唱音频数据的基频序列。
[0126]
另一种实施方式中,在获取清唱音频数据对应的歌曲的乐器数字接口midi模板时,该一条或多条指令可由处理器加载并具体执行:基于基频序列确定该清唱音频数据对应的人声时长;确定清唱音频数据对应的人声时长是否大于或等于第二阈值;若该清唱音频数据对应的人声时长大于或等于第二阈值,则获取清唱音频数据对应的歌曲的乐器数字接口midi模板。
[0127]
另一种实施方式中,在基于该基频序列确定清唱音频数据对应的人声时长时,该一条或多条指令可由处理器加载并具体执行:获取该基频序列中每个基频对应的元音帧时长;基于每个基频对应的元音帧时长确定清唱音频数据对应的人声时长。
[0128]
另一种实施方式中,在基于该midi模板调整该基频序列对应的音区时,该一条或多条指令可由处理器加载并具体执行:确定该midi模板对应的音高与基频序列对应的音高之间的差值;基于该差值调整基频序列对应的音区。
[0129]
另一种实施方式中,在基于该midi模板调整基频序列对应的发声速度时,该一条或多条指令可由处理器加载并具体执行:确定该midi模板对应的持续时长与该基频序列对应的人声时长之间的倍数关系;基于该倍数关系调整基频序列对应的发声速度。
[0130]
另一种实施方式中,在计算调整后的基频序列和该midi模板之间的匹配度时,该一条或多条指令可由处理器加载并具体执行:基于动态时间规整算法确定调整后的基频序列和该midi模板之间的累积距离;基于该累积距离确定调整后的基频序列和该midi模板之间的匹配度。
[0131]
另一种实施方式中,在根据该匹配度确定清唱音频数据的识别结果时,该一条或多条指令可由处理器加载并具体执行:若该匹配度大于或等于第三阈值,则该识别结果用于指示清唱音频数据合格;若该匹配度小于第三阈值,则该识别结果用于指示清唱音频数据不合格。
[0132]
另一种实施方式中,该一条或多条指令可由处理器加载并具体还执行:获得由多个清唱音频样本得到的时长与匹配度对应关系,其中清唱音频样本包括midi模板样本对应的持续时长信息和匹配度信息;基于该midi模板对应的持续时长以及该时长与匹配度对应关系确定第三阈值。
[0133]
在本技术实施例中,首先在获取清唱音频数据后,提取该清唱音频数据的基频序列;然后获取该清唱音频数据对应的歌曲的midi模板,根据midi模板调整基频序列对应的音区以及发声速度,最后通过计算调整后的基频序列和midi模板之间的匹配度确定清唱音频数据的识别结果,此处的识别结果可用于指示该清唱音频数据是否合格。针对清唱歌曲评价的场景,不借助音准条或伴奏作为时间参考,根据midi模板调整基频序列对应的音区以及发声速度,模糊匹配清唱音频数据与midi模板,克服清唱音频数据中发声速度不确定、音准不稳定等问题,能够提高音频评价的准确性。
[0134]
需要说明的是,根据本技术的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2所示的音频识别方法实施例方面的各种可选方式中提供的方法。并且,应理解的是,以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
技术特征:
1.一种音频识别方法,其特征在于,包括:获取清唱音频数据后,提取所述清唱音频数据的基频序列;获取所述清唱音频数据对应的歌曲的乐器数字接口midi模板,所述midi模板用于表示歌曲的标准化音乐参数;基于所述midi模板调整所述基频序列对应的音区,以及所述基频序列对应的发声速度;计算调整后的基频序列和所述midi模板之间的匹配度;根据所述匹配度确定所述清唱音频数据的识别结果,所述识别结果用于指示所述清唱音频数据是否合格。2.根据权利要求1所述的方法,其特征在于,所述提取所述清唱音频数据的基频序列,包括:若所述清唱音频数据对应的音频时长大于或等于第一阈值,则提取所述清唱音频数据的基频序列。3.根据权利要求1所述的方法,其特征在于,所述获取所述清唱音频数据对应的歌曲的乐器数字接口midi模板,包括:基于所述基频序列确定所述清唱音频数据对应的人声时长;确定所述清唱音频数据对应的人声时长是否大于或等于第二阈值;若所述清唱音频数据对应的人声时长大于或等于所述第二阈值,则获取所述清唱音频数据对应的歌曲的乐器数字接口midi模板。4.根据权利要求3所述的方法,其特征在于,所述基于所述基频序列确定所述清唱音频数据对应的人声时长,包括:获取所述基频序列中每个基频对应的元音帧时长;基于所述每个基频对应的元音帧时长确定所述清唱音频数据对应的人声时长。5.根据权利要求1所述的方法,其特征在于,所述基于所述midi模板调整所述基频序列对应的音区,包括:确定所述midi模板对应的音高与所述基频序列对应的音高之间的差值;基于所述差值调整所述基频序列对应的音区。6.根据权利要求1所述的方法,其特征在于,所述基于所述midi模板调整所述基频序列对应的发声速度,包括:确定所述midi模板对应的持续时长与所述基频序列对应的人声时长之间的倍数关系;基于所述倍数关系调整所述基频序列对应的发声速度。7.根据权利要求1所述的方法,其特征在于,所述计算调整后的基频序列和所述midi模板之间的匹配度,包括:基于动态时间规整算法确定所述调整后的基频序列和所述midi模板之间的累积距离;基于所述累积距离确定所述调整后的基频序列和所述midi模板之间的匹配度。8.根据权利要求1~7中任一项所述的方法,其特征在于,所述根据所述匹配度确定所述清唱音频数据的识别结果,包括:若所述匹配度大于或等于第三阈值,则所述识别结果用于指示所述清唱音频数据合格;
若所述匹配度小于所述第三阈值,则所述识别结果用于指示所述清唱音频数据不合格。9.根据权利要求8所述的方法,其特征在于,还包括:获得由多个清唱音频样本得到的时长与匹配度对应关系,其中所述清唱音频样本包括midi模板样本对应的持续时长信息和匹配度信息;基于所述midi模板对应的持续时长以及所述时长与匹配度对应关系确定所述第三阈值。10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~9任一项所述的音频识别方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行如权利要求1~9任一项所述的音频识别方法。
技术总结
本申请公开了音频识别方法、装置、计算机设备及计算机可读存储介质,应用于计算机技术领域。该方法包括:获取清唱音频数据后,提取清唱音频数据的基频序列;获取清唱音频数据对应的歌曲的乐器数字接口MIDI模板,该MIDI模板用于表示歌曲的标准化音乐参数;基于该MIDI模板调整基频序列对应的音区,以及基频序列对应的发声速度;计算调整后的基频序列和该MIDI模板之间的匹配度;根据该匹配度确定清唱音频数据的识别结果,该识别结果用于指示清唱音频数据是否合格。通过本申请,可以提高音频评价的准确性。确性。确性。