基于离散对数傅立叶变换的基音检测方法、设备和介质的制作方法

文档序号:2821324阅读:362来源:国知局
专利名称:基于离散对数傅立叶变换的基音检测方法、设备和介质的制作方法
技术领域
本申请总体上涉及语音语调的分析和建模中的基音检测,尤其涉及基于离散对数傅立叶变换(discrete logarithmic Fourier transform(DLFT))的基音检测。
背景技术
对于语音语调的分析和建模,可靠的基音检测是很关键的。同时,还发现基音与语调特征比如词的重读、音调和句子的语调等非常相关,这对于人类语音通信提供了重要的知觉线索。过去已经开发了各种基音检测算法(pitch detection algorithms(PDA)),其中一种是DLFT方法,这种方法由Wang,C.和S.Seneeff在Robust Pitch Tracking forProsodic Modeling of Telephone Speech,in Proc.ICASSP’00,Istanbul,Turkey,pp.1143-1146中进行了描述。DLFT方法系基于对语音信号的频域分析,对于电话质量的语音和语调建模来说,该方法的设计尤其具有鲁棒性。
DLFT方法系基于这样的观察结果在对数频率刻度上,无论基音如何,谐波之间都是相距一个恒定的距离。基音只是影响第一个峰的位置,随后的谐波峰与第一峰之间的距离是固定的。这样,能够根据理想的周期信号比如200Hz的脉冲串构建一个谐波模板。选择上下频率边界,使得该模板包括适当数量的谐波波瓣。
通过将窗口化的语音信号的DLFT频谱与该谐波模板相关,能够获得对该信号的对数基音值的很有鲁棒性的估算。
但是,DLFT方法不能完全避免基音翻倍和减半的问题,因此这种基音检测是不精确的。一个原因是,DLFT方法中的频率搜索窗口是固定的。也就是,用于计算DLFT频谱的频率搜索窗口被设置为固定的,以适合模板的大小。这样的缺点是,有时候,搜索窗口不能完全覆盖谐波结构,因此所估算的基音值可能是错误的。
例如,如图4所示,搜索窗口为从100Hz到1000Hz(如图4所示,例如,在对数频率轴上,为ln100到ln1000)。那么,当基音值大约为50Hz时,第一峰就将在搜索窗口之外,当基音值大约是300Hz时(那么其三次谐波会是1200Hz),则最后几个谐波会超出所述搜索窗口。在前一种情况下(图4中的帧i+4),一次谐波会被错误地确定为基音。在后一种情况下(图4中的帧i+1),最后几个谐波的缺失会影响被分析的波片断和模板之间的相关,从而影响检测到的基音的精确度。

发明内容
因此,本发明的目的是至少部分地解决上述问题。
解决该问题的一种方法是调整模板和DLFT频谱的搜索窗口,以覆盖所有可能的基音值。这样做不仅要增加计算量,而且会降低模板的性能。
因此,本发明人开发了一种新方法,能够更为精确地检测基音值,同时不变动模板,也不太多地增加计算量。在本发明中,通过动态调整频率搜索窗口而改进了DLFT方法。这种新的方法能够更为精确地检测基音值。
具体地,提供了一种用于基于DLFT的基音检测的方法,其包括下述步骤计算输入波片断的在一个频率窗口中的离散对数傅立叶变换(DLFT)频谱;执行该频谱与标准模板之间的相关;使用相关结果估算基音。该方法的特征在于还包括在计算下一个输入波片断的DLFT频谱之前修改所述频率窗口的步骤。修改所述频率窗口的步骤可以包括使用最新的有效基音移动所述频率窗口,或者扩展所述频率窗口。
在一个优选实施例中,可以根据所述相关结果计算一个分数,并且修改所述频率窗口的步骤可以包括根据所述分数,在计算DLFT频谱之前扩展所述频率窗口,或者在计算下一个输入波片断的DLFT频谱之前使用最新的有效基音移动所述频率窗口。
在本发明的另一方面,提供了一种用于基于DLFT的基音检测的设备,包括用于计算输入波片断的在一个频率窗口中的离散对数傅立叶变换(DLFT)频谱的DLFT频谱计算器;用于执行该频谱与标准模板之间的相关的相关度计算器;使用相关结果估算基音的基音估算器;其特征在于还包括频率窗口修改器,用于在DLFT频谱计算器计算下一个输入波片断的DLFT频谱之前修改所述频率窗口。该频率窗口修改器可以包括用于使用最新有效基音移动所述频率窗口的移动装置,或者用于扩展所述频率窗口的扩展装置。
在一个优选实施例中,所述频率窗口修改器可以进一步包括一个分数计算器,用于根据所述相关结果计算一个分数。取决于所述分数,所述扩展装置在所述DLFT频谱计算器计算DLFT频谱之前扩展所述频率窗口,或者,在所述DLFT频谱计算器计算下一个输入波片断的DLFT频谱之前,所述移动装置使用最新的有效基音移动所述频率窗口。
本发明还提供了还提供了一种存储介质,其特征在于,在其中存储了用于实现上述方法的程序代码。


本发明的其它目的、特征和优点将在阅读下文对优选实施例的详细说明后变得更为清楚。附图作为说明书的一部分用于图解本发明的实施例,并和说明书一起用于解释本发明的原理。在附图中图1的流程图用于图解本发明的方法的第一到第四实施例;图2的流程图用于图解本发明的方法的第五实施例;图3是本发明的设备的框图;图4是现有技术的基于DLFT的基音检测方法的示意图;图5是本发明的第二实施例的示意图;图6是可以用来实现本发明的计算机系统的框图;图7是用于图解分数的计算的曲线图。
具体实施例方式
计算机系统举例本发明的方法和设备可以在任何信息处理设备中实现。所述信息处理设备例如是个人计算机(PC)、笔记本电脑或者通信设备等。对于本领域普通技术人员,很容易通过软件、硬件和/或固件实现本发明的方法和设备。尤其应注意到,对于本领域普通技术人员显而易见的是,为了执行本方法的任何步骤或者步骤的组合,或者本发明的设备的任何部件或者部件的组合,可能需要使用输入输出设备、存储设备以及微处理器比如CPU等。在下面对本发明的方法和设备的说明中不见得提到这些设备,但实际上使用了这些设备。
作为上述信息处理设备,图6的框图示出了一个计算机系统的举例,在其中可以实现本发明的方法和设备。应注意的是,示于图6的计算机系统只是用于说明,并非要限制本发明的范围。
从硬件的角度来讲,计算机1包括一个CPU 6、一个硬盘(HD)5、一个RAM 7、一个ROM 8和输入输出设备12。输入输出设备可以包括输入装置比如键盘、触控板、跟踪球和鼠标等,输出装置比如打印机和监视器,以及输入输出装置比如软盘驱动器、光盘驱动器和通信端口。
从软件的角度讲,所述计算机主要包括操作系统(OS)9、输入输出驱动程序11和各种应用程序10。作为操作系统,可以使用市场上可购买的任何操作系统,比如Windows系列以及基于Linux的操作系统。输入输出驱动程序分别用于驱动所述输入输出设备。所述应用程序可以是任何应用程序,比如语音处理程序、文本处理程序、图像处理程序等,其中包括可以用在本发明中的以及专为本发明编制的、可调用所述已有程序的应用程序。
这样,在本发明中,可以由操作系统、应用程序和输入输出驱动程序在所述计算机的硬件中实现本发明的方法和设备。
另外,计算机1可以连接到应用设备2。本发明的设备和方法获得的结果被输出到应用设备2,后者根据所述结果,执行适当的操作。该应用设备也可以实现为在计算机1中实现的另一个应用(与硬件相结合),用于进一步处理所述结果。
基于DLFT的动态基音检测方法和设备本发明的关键思想在于动态调整频率搜索窗口。
图3图示了本发明的设备的优选实施的一个框图。该设备包括DLFT频谱计算器302、相关度计算器304以及基音估算器306,它们通过传统的基于DLFT的基音检测方法(包括计算频率窗口中的DLFT频谱的步骤(S100)、执行所述频谱和标准模板之间的相关的步骤(S200)以及使用所述相关结果估算基音的步骤(S300))检测语音波片断(图4和图5所示的帧)的基音。该设备还包括频率窗口修正器308,用于调整在本发明的DLFT频谱计算器中使用的频率窗口。
后面将结合本发明的方法(将在后面描述)进一步描述图3所示的具体部件。当阅读下面的说明时,本领域的普通技术人员会理解,并不是图3所示的所有部件都是必不可少的,在特定实施例中,某些部件可以省略。
(第一实施例)如本发明的背景技术部分所述,在对数频率空间中,从基音到预定谐波(比如三次谐波)的距离是恒定的。为了避免增加计算量,可以将频率搜索窗口固定到这样一个距离。但是,由于基音的变化很大,当基音太低或者太高时,固定窗口就不起作用,或者不能起很好的作用,这是因为实际的基音会超出所述频率窗口,或者某些谐波会超出所述窗口从而影响相关度值,如图4所示。
因此,从理论上说,如果适当地将固定大小的频率搜索窗口上移或者下移,就能总是覆盖相同数量的谐波(以及基音)。
基于这样一种思想,在第一实施例中,发明人提出根据先前已被检测的波片断的最新有效基音来移动所述窗口。
在该实施例中,如图3所示,频率窗口修正器308包括移动装置314,用于移动要在计算DLFT频谱时使用的频率窗口,所述改变频率窗口的步骤(图1中的步骤S600)包括根据先前已被检测的波片断的最新有效基音移动所述频率窗口。
具体地,所述频率窗口修正器308和移动所述频率窗口的步骤可以被配置为使用所述最新有效基音来估算频率窗口的下限,然后根据所估计的下限和可能的最小和最大基音,来修改所述频率窗口的下限和上限。
例如,所述频率窗口的下限可以被估计为Rmin=P/2,其中P为最新的有效基音。这种估计的原理是找出第一峰(基音)就足够了,并且两个相继的波片断的基音之间的差别一般不会太大。因此,可以根据最新的有效基音调整频率窗口的下限。但是,考虑到基音会有某种程度的变化,下限不能被调整到所述最新的有效基音本身,而应当调整到一个小于该最新有效基音的值。在这里,Rmin=P/2只是一个例子。Rmin可以等于P/3或者其它值。作为一个原则,如果可以预计到基音会变化得较快,则可以将Rmin估计得较小一些,以免下一个基音跑到窗口外面。
对于给定的波片断序列,基音一般会落入特定的范围。例如,对于人类语音来说,可能的基音值范围是从50Hz(Fmin)到600Hz(Fmax),男性的基音范围大约是50-200Hz,与女性的范围(大约140-400Hz)有很大的不同。显然,小于可能的基音范围的下限Fmin的窗口下限Rmin,或者高于可能基音范围的上限Fmax的窗口上限Rmax都是没有意义的,很可能会导致基音检测错误。因此,如果Rmin>Fmax/2,则令Rmin=Fmax/2(因为窗口的大小能够至少覆盖基音和一个谐波波瓣,因此,当Rmin=Fmax/2时,该窗口必定会覆盖即使高达Fmax的基音);如果Rmin<Fmin,则令Rmin=Fmin。
下一个波片断的基音检测就使用修改后的窗口。如图5所示,根据在前面的帧中检测到的最新有效基音调整下一个帧使用的窗口。由于帧之间的连续性,在多数情况下,窗口会适合基音。
可以看到,通过使用有效基音值动态移动搜索窗口,能够覆盖足够多的谐波而不丢失第一峰。这样,与使用固定窗口检测相比,检测到的基音更为精确。
(第二实施例)在第二实施例中,所述方法可以还包括一个计算分数的步骤(S500),根据在上一个波片断的基音检测中在所述频谱和模板之间执行相关的步骤(S200)获得的相关结果,计算一个分数。相应地,所述频率窗口修改器可以进一步包括一个用来执行上述步骤S500的分数计算器310。
在这种情况下,仅当所述分数在特定范围内时才执行移动操作,从而可以避免不必要的移动操作,以免增加计算量。例如,当本发明应用于人类语音识别时,太低的分数值很有可能意味着当前的波不是人类语音,因此不需要采取动作。也就是,例如,仅当所述分数高于第一阈值时,才执行移动操作。
所述分数反映所检测到的基音的置信度值,并反映相关曲线中峰的锐度。显然,有许多公知的方法用于计算反映置信度值或者峰的锐度的分数。对于本领域普通技术人员来说,容易设计出任意数量的方法来计算反映峰的锐度的分数。
图7是一个曲线图的例子,图示了标准模板和在本发明中计算的频谱之间的相关,其中,纵轴表示分数(置信度,单位0.1),横轴表示频谱相对于标准模板的偏移。横轴的单位与对数频谱的横轴相同。
作为一个例子,如图7所示,分数可以如下计算Score=(Xb-Xa)×Ymax/∫XaXbY(x)dx---(1)]]>其中,Y是作为x(频谱的偏移)的函数的相关系数,Ymax是Y的最大值,对应于估计的基音值,Xa和Xb是被选择用来计算分数的频率。例如,Xa=arg max(Ymax)-(Xb-Xa)/2,Xb=argmax(Ymax)+(Xb-Xa)/2。(Xb-Xa)的值的选择取决于具体情况。又例如,所述曲线图可以被转换为图像,以便于处理。那么,(Xb-Xa)值就至少部分地取决于图像的分辨率。
作为执行移动所述频率窗口的步骤(S600)的标准的一个例子,所述分数的第一阈值取决于计算所述分数的具体方法。例如,如果用上述公式(1)计算分数,并且从Xa到Xb的范围覆盖整个相关度曲线,则第一阈值可以是0.1到0.5,最好是0.2-0.4。如果采用其它方法来计算所述分数,通过简单的试验或者计算,可以相应地调整所述阈值。
(第三实施例)在第三实施例中,可以用扩展装置316(相应地,扩展所述频率窗口的步骤)取代第二实施例中的移动装置314(相应地,移动所述频率窗口的步骤)。
在这种情况下,仅当所述分数在特定范围内时,才执行扩展操作,从而避免不必要的扩展操作,以免增加计算量。具体地,如果所述分数足够高,则没有必要扩展频率窗口,可以使用标准大小的频率窗口。例如,如果所述分数低于第二阈值,表明最新检测到的基音的置信度值比较低,则可以扩展所述频率范围,以覆盖更多的可能基音值。
作为执行扩展所述频率窗口的步骤(S600)的标准,所述分数的第二阈值取决于计算所述分数的具体方法。例如,如果象第二实施例那样计算分数,则第二阈值的范围可以是0.1到0.5,最好是0.2-0.4。如果采用其它方法来计算所述分数,通过简单的试验或者计算,可以相应地调整所述阈值。
通过根据分数进行判断,可以确定基音值是否在变得更为可信或者反之。当有必要时,可以使用更大的窗口来估计更为精确的基音值。根据这种方法,可以获得更为精确的结果,但是计算量只是增加很少很少。
(第四实施例)本发明的第四实施例是第一实施例和第三实施例的组合。那就是,如图2所示,在判断步骤S610,判断是否要执行扩展操作或者移动操作。如果分数低于第二阈值,则扩展装置316扩展频率窗口(步骤S620),否则移动装置314移动频率窗口(步骤S630)。
(第五实施例)本发明的第五实施例是第二实施例和第三实施例的组合。那就是,为了减少计算量,不是在任何情况下都调整频率窗口。如图2所示,在判断步骤S610,判断是否要执行扩展操作或者移动操作,或者不需要对频率窗口执行任何操作。如果所述分数高于第一阈值,则移动装置314移动频率窗口(步骤S630),如果分数低于第一阈值但是高于第二阈值,则扩展装置316扩展所述频率窗口(步骤S620),否则不对频率窗口执行任何操作。
(第六实施例)上述实施例针对的是在基于DLFT的方法中,每一个波片断的基音检测。并且,当前波片断的基音检测是基于前一个波片断的基音检测的。
对于波片断序列中的基音检测,显然,所述动态搜索窗口需要一个初始值。在本发明的实现中,第一搜索步骤中的Rmin可以被设定为一个可能的基音值,比如100Hz,或者可以使用一个大的频谱窗口来估算一个更好的初始值。从实际观测来看,本发明的方法的性能对这个值不敏感。
本发明的应用实例及其效果本发明可以用于在语音识别应用(包括人类语音通信)中检测基音。
使用GER(global error ratio,总体误差率)来评估本发明的性能。GER被定义为GER=1KΣk-1K|fk-fk′fk′|]]>
其中,K是有效基音值的数量,fk是精确值,fk检测到的基音值。测试了传统的DLFT方法和本发明的方法的性能。在试验中使用了两个测试语料库,一个语料库包含62个男性说话者,另一个语料库包括76个女性说话者。语料库是清晰的语音文件加上各种不同的噪声。噪声水平主要是在SNR10db以下。对于DLFT和新方法,可能的基音值都被设定在50Hz到600Hz之间。在试验中,对于所述两个测试集合,对每一种方法使用相同的参数来检测基音值。
结果列于下表。表中的数值越小,表明相应的方法越好。

从上面的结果可以看到,本发明的效果对于女声测试语料库比男声语料库更好。原因可能是女性的基音比男性具有更大的动态范围。上表还显示了本发明的有效性。
存储介质本发明的所述目的还可以通过在如上所述的可以与后续处理设备通信的任何信息处理设备上运行一个程序或者一组程序来实现。所述信息处理设备和后续处理设备为公知的通用设备。因此,本发明的所述目的也可以仅仅通过提供实现所述方法或者设备的程序代码来实现。也就是说,存储有实现所述方法或者设备的程序代码的存储介质构成本发明。
对于本领域技术人员来说,可以轻易地用任何程序语言编程实现所述方法。因此,在此省略了对所述程序代码的详细描述。
显然,所述存储介质可以是本领域技术人员已知的,或者将来所开发出来的任何类型的存储介质,因此也没有必要在此对各种存储介质一一列举。
尽管结合具体步骤和结构描述了本发明,但是本发明不局限于这里所描述的细节。本申请应当覆盖所有不偏离本发明的精神和范围的变化、修改和变型。
权利要求
1.一种用于基于离散对数傅立叶变换的基音检测的方法,包括下述步骤计算输入波片断的在一个频率窗口中的离散对数傅立叶变换(DLFT)频谱;执行该频谱与标准模板之间的相关;使用相关结果估算基音;其特征在于还包括下述步骤在计算下一个输入波片断的DLFT频谱之前修改所述频率窗口。
2.如权利要求1所述的方法,其特征在于,修改所述频率窗口的步骤包括使用最新的有效基音移动所述频率窗口。
3.如权利要求2所述的方法,其特征在于还包括下述步骤根据所述相关结果计算一个分数;并且,根据所述分数,执行或者不执行移动所述频率窗口的步骤。
4.如权利要求1所述的方法,其特征在于还包括下述步骤根据所述相关结果计算一个分数;并且,修改所述频率窗口的步骤包括取决于所述分数,扩展或者不扩展所述频率窗口。
5.如权利要求4所述的方法,其特征在于,修改所述频率窗口的步骤还包括如果不扩展所述频率窗口,则在计算下一个输入波片断的DLFT频谱之前,使用最新的有效基音移动所述频率窗口。
6.如权利要求5所述的方法,其特征在于,根据所述分数,执行或者不执行移动所述频率窗口的步骤。
7.如权利要求2、3、5或者6所述的方法,其特征在于,移动所述频率窗口的步骤包括下述步骤使用最新的有效基音估计所述频率窗口的下限;根据所估计的下限以及可能的最小和最大基音,修改所述频率窗口的下限和上限。
8.一种用于基于离散对数傅立叶变换的基音检测的设备,包括用于计算输入波片断的在一个频率窗口中的离散对数傅立叶变换(DLFT)频谱的DLFT频谱计算器;用于执行该频谱与标准模板之间的相关的相关度计算器;使用相关结果估算基音的基音估算器;其特征在于还包括频率窗口修改器,用于在DLFT频谱计算器计算下一个输入波片断的DLFT频谱之前修改所述频率窗口。
9.如权利要求8所述的设备,其特征在于,所述频率窗口修改器包括使用最新的有效基音移动所述频率窗口的移动装置。
10.如权利要求9所述的设备,其特征在于所述频率窗口修改器还包括根据所述相关结果计算一个分数的分数计算器,所述移动装置根据所述分数来移动或者不移动所述频率窗口。
11.如权利要求8所述的设备,其特征在于所述频率窗口修改器还包括根据所述相关结果计算一个分数的分数起算器;以及取决于所述分数,扩展或者不扩展所述频率窗口的扩展装置。
12.如权利要求8所述的设备,其特征在于,所述频率窗口修改器包括用于根据所述相关结果计算一个分数的分数计算器;用于使用最新的有效基音移动所述频率窗口的移动装置;用于扩展所述频率窗口的扩展装置;其中,取决于所述分数,所述扩展装置在所述DLFT频谱计算器计算DLFT频谱之前扩展所述频率窗口,或者,所述移动装置在所述DLFT频谱计算器计算下一个输入波片断的DLFT频谱之前使用最新的有效基音移动所述频率窗口。
13.如权利要求12所述的设备,其特征在于,所述频率窗口修改器被进一步配置为,取决于所述分数,所述扩展装置在所述DLFT频谱计算器计算DLFT频谱之前扩展所述频率窗口,或者,所述移动装置在所述DLFT频谱计算器计算DLFT频谱之前使用最新的有效基音移动所述频率窗口,或者不对频率窗口执行任何操作。
14.如权利要求9、10、12或者13所述的设备,其特征在于,所述移动装置被进一步配置为使用最新的有效基音估计所述频率窗口的下限;根据所估计的下限以及可能的最小和最大基音,修改所述频率窗口的下限和上限。
15.一种存储介质,其特征在于,在其中存储了用于实现权利要求1所述的方法的程序代码。
全文摘要
本发明涉及基于离散对数傅立叶变换的基音检测方法、设备和介质。该方法包括下述步骤计算输入波片断的在一个频率窗口中的离散对数傅立叶变换(DLFT)频谱;执行该频谱与标准模板之间的相关;使用相关结果估算基音;其特征在于还包括在计算DLFT频谱之前修改所述频率窗口的步骤。
文档编号G10L11/00GK1848240SQ200510065009
公开日2006年10月18日 申请日期2005年4月12日 优先权日2005年4月12日
发明者李云飞 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1