气口位置检测方法及相关设备与流程
本申请实施例涉及语音处理领域,具体涉及一种气口位置检测方法及相关设备。
背景技术:
气口位置是歌曲中给予歌唱者换气和吸气的间隙,当遇到歌曲节奏较快,或者遇到歌曲的高音处等情况时,需要歌唱者在歌曲的气口位置快速而短暂地进行换气或者吸气,以弥补气息的不足,而不使行腔有中断之感,从而得以保持歌唱过程的连贯。
对于未经训练的歌唱者来说,难以准确地把握歌曲的气口位置,在歌唱过程中难以判断歌曲的气口位置,因此,无法根据歌曲的气口位置及时地进行换气或者吸气,从而导致歌唱过程不连贯,也影响了歌唱者的兴致,体验感不佳。
因此,亟需一种能够检测歌曲的气口位置的方法,以便于在歌唱过程中检测气口位置并提示歌唱者进行吸气和换气。
技术实现要素:
本申请实施例提供了一种气口位置检测方法及相关设备,用于检测目标歌曲中的气口位置。
本申请实施例第一方面提供了一种气口位置检测方法,包括:
获取人声数据,所述人声数据为人歌唱目标歌曲的音频数据;
根据静音检测vad算法对所述人声数据进行检测,得到所述人声数据的vad检测结果,所述vad检测结果包括vad非激活段,所述vad非激活段为所述人声数据中的静音对应的音频段;
根据基频检测算法对所述人声数据进行检测,得到所述人声数据的基频检测结果,所述基频检测结果包括基频非激活段,所述基频非激活段为所述人声数据中的静音或者清音对应的音频段;
分别计算每个目标音频段的重合率,所述目标音频段为所述人声数据中的vad非激活段和/或基频非激活段,所述重合率为vad非激活段与基频非激活段重合的音频段在所述目标音频段中的时长占比;
确定所述重合率在预设数值范围内的目标音频段为所述目标歌曲的气口位置。
本申请实施例第二方面提供了一种气口位置检测装置,包括:
获取单元,用于获取人声数据,所述人声数据为人歌唱目标歌曲的音频数据;
第一检测单元,用于根据静音检测vad算法对所述人声数据进行检测,得到所述人声数据的vad检测结果,所述vad检测结果包括vad非激活段,所述vad非激活段为所述人声数据中的静音对应的音频段;
第二检测单元,用于根据基频检测算法对所述人声数据进行检测,得到所述人声数据的基频检测结果,所述基频检测结果包括基频非激活段,所述基频非激活段为所述人声数据中的静音或者清音对应的音频段;
计算单元,用于分别计算每个目标音频段的重合率,所述目标音频段为所述人声数据中的vad非激活段和/或基频非激活段,所述重合率为vad非激活段与基频非激活段重合的音频段在所述目标音频段中的时长占比;
确定单元,用于确定所述重合率在预设数值范围内的目标音频段为所述目标歌曲的气口位置。
本申请实施例第三方面提供了一种气口位置检测装置,包括:
处理器、存储器、总线、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述总线分别连接所述处理器、存储器以及输入输出设备;
所述输入输出设备用于获取人声数据,所述人声数据为人歌唱目标歌曲的音频数据;
所述处理器用于根据静音检测vad算法对所述人声数据进行检测,得到所述人声数据的vad检测结果,所述vad检测结果包括vad非激活段,所述vad非激活段为所述人声数据中的静音对应的音频段,根据基频检测算法对所述人声数据进行检测,得到所述人声数据的基频检测结果,所述基频检测结果包括基频非激活段,所述基频非激活段为所述人声数据中的静音或者清音对应的音频段,分别计算每个目标音频段的重合率,所述目标音频段为所述人声数据中的vad非激活段和/或基频非激活段,所述重合率为vad非激活段与基频非激活段重合的音频段在所述目标音频段中的时长占比,确定所述重合率在预设数值范围内的目标音频段为所述目标歌曲的气口位置。
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,分别对人声数据进行vad算法检测和基频检测,并计算目标音频段的重合率,该重合率为vad非激活段与基频非激活段重合的音频段在目标音频段中的时长占比,也就是该重合的音频段的时长与目标音频段的时长的比值,并确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置。本申请实施例中,使用vad检测结果来验证基频检测结果,使用基频检测结果来验证vad检测结果,通过vad算法检测和基频检测的相互验证和相互校正,可以使最终的检测结果更趋于真实结果,从而提高气口位置检测的准确率。
附图说明
图1为本申请实施例中气口位置检测方法一个流程示意图;
图2为本申请实施例中气口位置检测方法另一流程示意图;
图3为本申请实施例中目标歌曲的人声数据的vad检测结果和基频检测结果示意图;
图4为本申请实施例中气口位置检测方法另一流程示意图;
图5为本申请实施例中气口位置检测装置一个结构示意图;
图6为本申请实施例中气口位置检测装置另一结构示意图。
具体实施方式
本申请实施例提供了一种气口位置检测方法及相关设备,用于检测目标歌曲中的气口位置。
请参阅图1,本申请实施例中气口位置检测方法一个实施例包括:
101、获取人声数据;
本实施例的方法可应用于气口位置检测装置,该装置可以是服务器、终端等能够进行数据处理的计算机设备,可以用于识别和检测目标歌曲的气口位置。在检测气口位置时,需要获取人声数据,该人声数据也就是人歌唱该目标歌曲的音频数据,例如可以是歌唱家歌唱该目标歌曲的音频数据。
102、根据静音检测vad算法对人声数据进行检测,得到人声数据的vad检测结果;
获取到人声数据之后,根据静音检测vad算法(voiceactivitydetection,vad)对人声数据进行检测。由于气口位置是给予歌唱者换气和吸气的间隙,因此,在歌曲的气口位置会产生短暂的静音,而又由于vad算法可以用于检测音频数据中出现静音的音频段,因此,可以通过vad算法来检测人声数据中的气口位置。在进行vad算法的检测之后,得到该人声数据的vad检测结果。
其中,vad检测结果包括了vad非激活段,vad非激活段为人声数据中的静音对应的音频段。
103、根据基频检测算法对人声数据进行检测,得到人声数据的基频检测结果;
在实际应用中,如果仅使用vad算法来检测人声数据的气口位置是不够的,因为人声数据可能存在多种噪声干扰,如果vad算法的检测门限设置不合理,便会产生误检或者漏检的情况,如人声数据中存在环境噪声干扰,如果vad算法的检测门限设置过低,会使检测过于灵敏,导致人声数据中的气口位置被误识别为人声,从而造成漏检的情况;而vad算法的检测门限设置过高,对静音识别不灵敏,会导致非气口位置的音频段被误识别为气口位置,也会导致误检的情况。
因此,为弥补vad算法检测的不足,本实施例还在vad算法检测的基础上,进一步增加对人声数据的基频检测,根据基频检测算法对人声数据进行检测。
基频检测算法可以用于检测音频数据中最大最稳定的信号周期,对应的是发声音调的高低。无论语音声音或者歌声,均存在清音和浊音两种,清音是空气经过口腔或鼻腔摩擦产生的无明显周期的声音,反映在基频检测上,为无基频检测结果。浊音为声带振动产生的稳定周期脉冲,反映在基频检测上,为检测到具体的基频检测结果。除此之外,静音的基频检测,与清音的检测结果相同,也是无基频检测结果。因此,无基频检测结果不一定是静音,有基频结果也可能存在误检情况。
因此,可以根据基频检测算法来检测人声数据,以确定该人声数据中的浊音部分、静音部分以及清音部分。在经过基频检测之后,得到人声数据的基频检测结果,该基频检测结果包括了基频非激活段,基频非激活段为人声数据中的静音或者清音对应的音频段。
因此,本实施例检测气口位置的手段即在于,通过vad算法检测和基频检测,使用vad检测结果来验证基频检测结果,使用基频检测结果来验证vad检测结果,通过vad算法检测和基频检测的相互验证和相互校正,可以使最终的检测结果更趋于真实结果,从而提高气口位置检测的准确率。
104、分别计算每个目标音频段的重合率;
在经过vad算法和基频检测算法的检测之后,得到人声数据对应的vad检测结果以及基频检测结果,在vad检测结果中,可以确定出人声数据中的vad非激活段;在基频检测结果中,可以确定出人声数据中的基频非激活段。因此,在人声数据中,存在仅为vad非激活段的音频段,也存在仅为基频非激活段的音频段,还存在同时为vad非激活段和基频非激活段的音频段。因此,可以定义仅为vad非激活段的音频段、仅为基频非激活段的音频段以及同时为vad非激活段和基频非激活段的音频段为目标音频段。
在确定人声数据的气口位置时,可以计算人声数据中每个目标音频段的重合率,该重合率是指vad非激活段与基频非激活段重合的音频段在目标音频段中的时长占比,也就是该重合的音频段的时长与目标音频段的时长的比值,vad非激活段与基频非激活段重合是指同时为vad非激活段和基频非激活段的音频段。
105、确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置;
在计算得到每个目标音频段的重合率之后,在多个目标音频段中,进一步确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置。其中,该预设数值范围可以是根据多个具体的样例总结而得到的经验值,例如,在多首歌曲中分别进行vad检测和基频检测,将每首歌曲的目标音频段的重合率与实际被确定为气口位置的音频段进行对比,找到重合率与气口位置的相关性,从而确定气口位置对应的音频段的重合率数值范围。
例如,若该预设数值范围为75%~100%,则可以确定重合率为95%的目标音频段即为目标歌曲的气口位置。
本实施例中,分别对人声数据进行vad算法检测和基频检测,并计算目标音频段的重合率,该重合率为vad非激活段与基频非激活段重合的音频段在目标音频段中的时长占比,也就是该重合的音频段的时长与目标音频段的时长的比值,并确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置。本实施例中,使用vad检测结果来验证基频检测结果,使用基频检测结果来验证vad检测结果,通过vad算法检测和基频检测的相互验证和相互校正,可以使最终的检测结果更趋于真实结果,从而提高气口位置检测的准确率。
下面将在前述图1所示实施例的基础上,进一步详细地描述本申请实施例。请参阅图2,本申请实施例中气口位置检测方法另一实施例包括:
201、获取人声数据;
本实施例中,获取人声数据的方法有多种,获取人声数据的一种方式是,从多音轨音频数据中提取人声数据,该多音轨音频数据包括目标歌曲的伴奏以及其他非人声的音频数据,可以是专业的歌唱者在伴奏的配合下歌唱目标歌曲而得到的多音轨音频数据。
其中,提取的方法具体可以是通过频段滤波算法滤除该多音轨音频数据中的伴奏等非人声音频数据,以提取到该多音轨音频数据中的人声数据;或者通过人工智能算法如神经网络算法来提取人声数据,如利用训练好的神经网络模型对该多音轨音频数据进行特征识别和提取,从而提取出人声数据,该训练好的神经网络模型预先学习了人声数据的特征,可以用于对人声数据的识别和提取。
此外,获取人声数据的方式也可以是,直接录制人歌唱目标歌曲的歌声,从而得到人声数据,如在录音棚中将专业的歌唱者歌唱目标歌曲的歌声录制下来,从而得到人声数据。
无论采用哪种获取人声数据的方式,本实施例的目的始终是获取到纯人声的音频数据,该人声数据应尽量减少以及避免多余的噪声,以便于在后续的步骤中可以识别到气口位置。
进一步地,为获取到纯人声的音频数据,可以根据预处理算法对获取到的人声数据进行预处理,以进一步去除人声数据中的噪声干扰。其中,预处理算法可以是自动增益控制(automaticgaincontrol,agc),也可以通过动态控制的方法或者进行轻度的均匀背景噪声处理去除人声数据中的噪声干扰。
本实施例中,根据静音检测vad算法对人声数据进行检测,可得到人声数据的vad检测结果。在进行vad算法的检测时,合理地控制vad算法检测的检测门限,可以获得理想的vad检测结果。本实施例中,使用webrtc的静音检测功能来执行人声数据的vad算法检测,由于webrtc的静音检测功能中设置了高、中、轻这3种程度的检测门限,其中,高度的检测门限对应较高的静音检测灵敏度,在此检测门限下,当环境中有较轻微的人声时,仍将其识别为静音,即存在误检的情况;而轻度的检测门限对应较低的静音检测灵敏度,当环境中有轻微杂音而没有人声时,仍将其识别为人声,从而导致静音漏检的情况。
因此,在一般场景下,可以选用相对适中的中度检测门限,控制vad算法的检测门限程度为中度检测门限,可以获得令人满意的vad检测结果。
其中,webrtc即为网页即时通信(webreal-timecommunication),是一个支持网页浏览器进行实时语音对话或视频对话的应用程序接口(api)。webrtc可提供多种声音处理功能,该功能针对音频数据进行处理,提供了静音检测(vad)、回声消除(aec)、自动增益(agc)、降噪(ns)等声音处理功能,用来提升声音质量。
本实施例中,根据静音检测vad算法对人声数据进行检测,得到人声数据的vad检测结果,该vad检测结果可以是经过人声数据的基频检测结果校正之后所得到的vad检测结果。具体的,根据基频检测结果进行校正的方式如下述步骤202至205所述。
202、确定vad激活段的时长小于第一预设时长;
vad检测结果还包括vad激活段,vad激活段为人声数据中人声对应的音频段,即在进行vad检测时人发出的语音所对应的音频段。由于vad激活段是表示存在人声的音频段,而人在歌唱的时候为保持歌曲的连贯性,一般都会发出较长时长的歌声,不可能发出一段极为短暂的歌声,因此,若vad激活段的时长较短,一般不可能是人发出的极为短暂的歌声,而有可能是一段极为短暂的静音,被误检为vad激活段。因此,可以通过判断vad激活段的时长是否小于第一预设时长,以此来确定是否属于误检的情况,即确定小于第一预设时长的vad激活段可能存在误检的情况。
其中,第一预设时长为经验值,是根据大量的vad检测结果中被误检为vad激活段的音频段的时长进行总结而得到的。
203、判断vad激活段对应的基频检测结果中基频非激活段的第一时长占比是否大于第一设定值,若是,则执行步骤204;若否,则执行步骤205;
如果步骤202中确定vad激活段的时长小于第一预设时长,说明该vad激活段存在误检的可能性。为进一步确定该vad激活段是否存在误检,可以计算vad激活段对应的基频检测结果中基频非激活段的第一时长占比,并判断该第一时长占比是否大于第一设定值。
其中,该第一设定值为经验值,可以通过对多个具体的样例进行总结而得到。
可以理解的是,第一时长占比是关于基频非激活段在vad激活段对应的基频检测结果中的时长占比,因此,第一时长占比的上限为100%,即vad激活段对应的基频检测结果均属于基频非激活段;下限为0%,即vad激活段对应的基频检测结果整段均不属于基频非激活段。
204、反转vad激活段为vad非激活段;
若步骤203中确定第一时长占比大于第一设定值,说明vad激活段对应的基频检测结果中的基频非激活段占比较高,该vad激活段对应的音频段极有可能是静音对应的音频段,因此,也就说明该vad激活段存在误检的情况,需要反转该vad激活段为vad非激活段。
反转为vad非激活段之后,即vad检测结果和基频检测结果均认为此音频段为vad非激活段和基频非激活段,则可以继续判断此音频段的重合率是否达到前述图1所示实施例步骤105中所提到的预设数值范围,进而确定反转后的音频段为目标歌曲的气口位置。
205、不反转vad激活段;
若步骤203中确定第一时长占比小于第一设定值,说明vad激活段对应的基频检测结果中的基频非激活段占比较低,该vad激活段对应的音频段可能是人声对应的音频段,而非静音对应的音频段。此时,不认为该vad激活段为误检,不进行反转。
如图3所示,在横坐标1000至1500之间,曲线301中存在一段时长较短的vad激活段a,为确定该vad激活段a是否存在误检的情况,可以依据前述步骤202至205所述的操作,确定是否需要反转该vad激活段。由于该vad激活段a对应的基频检测结果b均为基频非激活段,基频非激活段的第一时长占比达到了100%,已达到上限,因此,可以确定该vad激活段a属于误检的情况,需要反转该vad激活段a为vad非激活段。
在经过步骤202至205的检测之后,可以得到vad检测结果和基频检测结果相互校正、相互纠偏的检测结果,相互校正的检测结果如图3所示的曲线303,由曲线303可以看出,经过相互校正之后,可以确定横坐标1000至1500之间存在一气口位置,以及在横坐标2000的附近出现一气口位置。
206、根据基频检测算法对人声数据进行检测,得到人声数据的基频检测结果;
在实际应用中,基频检测算法有多种,如praat方法、harvest方法、dio方法、acf方法以及pyin方法等,其中部分基频检测算法可以区分清浊音边界,部分基频检测算法不区分清浊音边界。对于本实施例来说,主要采用可以区分清浊音边界的基频检测算法,优选使用pyin基频检测算法。
在经过vad算法检测和基频检测之后,可以得到人声数据的vad检测结果以及基频检测结果,vad检测结果表示了人声数据中哪些音频段为vad非激活段,哪些音频段为基频非激活段,以及表示了同时为vad非激活段和基频非激活段的音频段。
图3表示了某一目标歌曲的人声数据的vad检测结果和基频检测结果。如图3所示的坐标系中,横坐标表示时间单位,纵坐标表示音高,人声数据的vad检测结果为曲线301所表示的结果,基频检测结果为曲线302所表示的结果,从图3可以看出,在人声数据的vad检测结果中,处在音高40的音频段为vad非激活段,而高于音高40的音频段为vad激活段,vad激活段为人声数据中的人声对应的音频段;在基频检测结果中,处在音高0的音频段为基频非激活段,而高于音高0的音频段为基频激活段,基频激活段为人声数据中的浊音对应的音频段。
207、分别计算每个目标音频段的重合率;
在得到人声数据的vad检测结果和基频检测结果之后,可以计算人声数据中每个目标音频段的重合率。如图3所示,在横坐标2000附近出现一个目标音频段,该目标音频段同时为vad非激活段和基频非激活段,因此,该目标音频段也就是vad非激活段与基频非激活段重合的音频段,则该目标音频段的重合率为100%。
208、确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置;
一般来说,重合率为100%的目标音频段,即表示了该目标音频段既为vad非激活段,又是基频非激活段,表明vad算法检测认为该目标音频段是静音,同时基频检测也认为该目标音频段是静音或者清音,因此,两种检测方法相互校正,综合两次检测结果,可以认为该目标音频段为静音,因此,重合率为100%的目标音频段即为气口位置。
本申请实施例中,基频检测结果可以是经过人声数据的vad检测结果校正之后所得到的基频检测结果。下面将从基频检测结果的获取过程这一角度来描述本申请实施例。请参阅图4,本申请实施例中气口位置检测方法另一实施例包括:
401、获取人声数据;
402、根据静音检测vad算法对人声数据进行检测,得到人声数据的vad检测结果;
步骤401至402所执行的操作与前述图1所示实施例中的步骤101至102所执行的操作类似,此处不再赘述。
本实施例中,根据基频检测算法对人声数据进行检测,得到人声数据的基频检测结果,该基频检测结果可以是经过人声数据的vad检测结果校正之后所得到的基频检测结果。具体的,根据vad检测结果进行校正的方式如下述步骤403至406所述。
403、确定基频激活段的时长小于第一预设时长;
由于基频激活段是表示存在浊音的音频段,而人在歌唱的时候为保持歌曲的连贯性,一般都会发出较长时长的歌声,不可能发出一段极为短暂的歌声,因此,若基频激活段的时长较短,一般不可能是人发出的极为短暂的歌声,而有可能是一段极为短暂的静音,被误检为基频激活段。因此,可以通过判断基频激活段的时长是否小于第二预设时长,以此来确定是否属于误检的情况。
其中,第二预设时长为经验值,是根据大量的基频检测结果中被误检为基频激活段的音频段的时长进行总结而得到的。
404、判断基频激活段对应的vad检测结果中vad非激活段的第二时长占比是否大于第二设定值,若是,则执行步骤405;若否,则执行步骤406;
如果步骤403中确定基频激活段的时长小于第二预设时长,说明该基频激活段存在误检的可能性。为进一步确定该基频激活段是否存在误检,可以计算基频激活段对应的vad检测结果中vad非激活段的第二时长占比,并判断该第二时长占比是否大于第二设定值。
其中,该第二设定值为经验值,可以通过对多个具体的样例进行总结而得到。
可以理解的是,第二时长占比是关于vad非激活段在基频激活段对应的vad检测结果中的时长占比,因此,第二时长占比的上限为100%,即基频激活段对应的vad检测结果均属于vad非激活段;下限为0%,即基频激活段对应的vad检测结果整段均不属于vad非激活段。
405、反转基频激活段为基频非激活段;
若步骤404中确定第二时长占比大于第二设定值,说明基频激活段对应的vad检测结果中的vad非激活段占比较高,该基频激活段对应的音频段极有可能是静音对应的音频段,因此,也就说明该基频激活段存在误检的情况,需要反转该基频激活段为基频非激活段。
反转为基频非激活段之后,即vad检测结果和基频检测结果均认为此音频段为vad非激活段和基频非激活段,则可以继续判断此音频段的重合率是否达到前述图1所示实施例步骤105中所提到的预设数值范围,进而确定反转后的音频段为目标歌曲的气口位置。
406、不反转基频激活段;
若步骤404中确定第二时长占比小于第二设定值,说明基频激活段对应的vad检测结果中的vad非激活段占比较低,该基频激活段对应的音频段可能是人声对应的音频段,而非静音对应的音频段。此时,不认为该基频激活段为误检,不进行反转。
407、分别计算每个目标音频段的重合率;
408、确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置;
步骤407至408所执行的操作与前述图1所示实施例中的步骤104至105所执行的操作类似,此处不再赘述。
本申请实施例中,在检测气口位置时,还可以根据相邻两个目标音频段之间的时间间隔来确定该相邻两个目标音频段是否有一个目标音频段为误检。因为,歌唱者一般不会在一段时间内频繁地换气,即相邻两次换气的时间间隔一般不会很短。因此,若vad检测结果和基频检测结果显示相邻两个目标音频段的时间间隔很短,则存在误检的情况。
若相邻两个目标音频段的时间间隔小于预设的时间间隔,则进一步判断是哪一个目标音频段为误检。具体做法是,确定该相邻两个目标音频段中被同时检测为vad激活段和基频非激活段的目标音频段的基频检测结果错误,即有一个目标音频段的基频检测结果与vad检测结果相互矛盾,由于vad检测结果已表明该目标音频段为人声对应的音频段,而基频检测结果显示为基频非激活段,则此时可以确定该基频检测结果存在误检。
基频检测结果与vad检测结果相互矛盾的另一种情况是,目标音频段被同时检测为vad非激活段和基频激活段,由于基频检测结果已表明该目标音频段为浊音对应的音频段,则此时可以大概率地认为vad检测结果存在误检。因此,可以确定该相邻两个目标音频段中被同时检测为vad非激活段和基频激活段的目标音频段的vad检测结果为误检。
本实施例中,在重合率低于100%或者低于预设数值范围时,进一步判断是否存在误检的情况,在出现误检时,反转vad激活段为vad非激活段,或者反转基频激活段为基频非激活段,使重合率满足该预设数值范围,从而进一步提高了气口位置检测的准确性,使检测结果更加趋于真实结果。
上面对本申请实施例中的气口位置检测方法进行了描述,下面对本申请实施例中的气口位置检测装置进行描述,请参阅图5,本申请实施例中气口位置检测装置一个实施例包括:
获取单元501,用于获取人声数据,人声数据为人歌唱目标歌曲的音频数据;
第一检测单元502,用于根据静音检测vad算法对人声数据进行检测,得到人声数据的vad检测结果,vad检测结果包括vad非激活段,vad非激活段为人声数据中的静音对应的音频段;
第二检测单元503,用于根据基频检测算法对人声数据进行检测,得到人声数据的基频检测结果,基频检测结果包括基频非激活段,基频非激活段为人声数据中的静音或者清音对应的音频段;
计算单元504,用于分别计算每个目标音频段的重合率,目标音频段为人声数据中的vad非激活段和/或基频非激活段,重合率为vad非激活段与基频非激活段重合的音频段在目标音频段中的时长占比;
确定单元505,用于确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置。
本实施例一种优选的实施方式中,获取单元501具体用于从多音轨音频数据中提取人声数据,多音轨音频数据包括目标歌曲的伴奏;
或者,
录制人歌唱目标歌曲的歌声,得到人声数据。
本实施例另一优选的实施方式中,气口位置检测装置还包括:
预处理单元506,用于根据预处理算法对人声数据进行预处理,去除人声数据中的噪声干扰。
本实施例另一优选的实施方式中,第一检测单元502具体用于基于网页即时通信webrtc的静音检测vad算法,控制静音检测vad算法的检测门限程度为中度检测门限,对人声数据进行检测。
本实施例另一优选的实施方式中,vad检测结果还包括vad激活段,vad激活段为人声数据中的人声对应的音频段;
确定单元505还用于确定vad激活段的时长小于第一预设时长;
气口位置检测装置还包括:
判断单元507,用于判断vad激活段对应的基频检测结果中基频非激活段的第一时长占比是否大于第一设定值;
反转单元508,用于当第一时长占比大于第一设定值时,反转vad激活段为vad非激活段。
本实施例另一优选的实施方式中,基频检测结果还包括基频激活段,基频激活段为人声数据中的浊音对应的音频段;
确定单元505还用于确定基频激活段的时长小于第一预设时长;
判断单元507还用于判断基频激活段对应的vad检测结果中vad非激活段的第二时长占比是否大于第二设定值;
反转单元508还用于当第二时长占比大于第二设定值时,反转基频激活段为基频非激活段。
本实施例另一优选的实施方式中,判断单元507还用于判断相邻两个目标音频段的时间间隔是否小于预设的时间间隔;
确定单元505还用于当相邻两个目标音频段的时间间隔小于预设的时间间隔时,确定相邻两个目标音频段中被同时检测为vad激活段和基频非激活段的目标音频段的基频检测结果错误,或者确定相邻两个目标音频段中被同时检测为vad非激活段和基频激活段的目标音频段的vad检测结果错误。
本实施例中,气口位置检测装置中各单元所执行的操作与前述图1至图2所示实施例中描述的类似,此处不再赘述。
本实施例中,第一检测单元502和第二检测单元503分别对人声数据进行vad算法检测和基频检测,计算单元504计算目标音频段的重合率,该重合率为vad非激活段与基频非激活段重合的音频段在目标音频段中的时长占比,也就是该重合的音频段的时长与目标音频段的时长的比值,确定单元505确定重合率在预设数值范围内的目标音频段为目标歌曲的气口位置。本实施例中,使用vad检测结果来验证基频检测结果,使用基频检测结果来验证vad检测结果,通过vad算法检测和基频检测的相互验证和相互校正,可以使最终的检测结果更趋于真实结果,从而提高气口位置检测的准确率。
下面对本申请实施例中的气口位置检测装置进行描述,请参阅图6,本申请实施例中气口位置检测装置一个实施例包括:
该气口位置检测装置600可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对气口位置检测装置中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在气口位置检测装置600上执行存储器605中的一系列指令操作。
气口位置检测装置600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。
该中央处理器601可以执行前述图1至图2所示实施例中气口位置检测装置所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1至图2所示实施例中气口位置检测装置所执行的操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除