1.本公开内容总体上涉及语音信号处理的技术领域,具体而言,涉及一种语音分析方法、装置、电子设备以及计算机可读存储介质。
背景技术:2.中国古代认为,大自然中万物都是按五行进行分类的,宇宙万物都是由木火土金水五种基本物质的运行和变化所构成。中国古代在音乐上有五音(一般称为中国音阶):宫、商、角、徵、羽,在频率上标准对应的依次是西方7音音阶的1、2、3、5、6五个音阶,即5个全音。五音音阶再加上两个半音,4和7,构成7音音阶(也称为西方音阶或自然音阶)。
3.传统中医认为,五音和五行一一对应,和五脏也一一对应。具体是,宫、商、角、徵、羽依次对应五行的土、金、木、火、水,对应五脏顺序是脾、肺、肝、心、肾。因此,每个人的发音,有其各自的五音能量分布特性,则分别代表其五行、五脏的特性,比如五脏的强弱、平衡等。
4.若能分析出人声的五音能量分布特性,则有助于衡量人的五脏强弱、平衡等,后续可以给出一些饮食、锻炼、保健等方面的参考建议。
5.五音体现的是人类声音的特定频率特征。发明人在现有技术中并未发现计算人声的特定频率特征类型(如五音频率)的能量或者能量分布的方案。
技术实现要素:6.有鉴于此,本公开描述的技术方案的目的之一在于提供一种创新性的和简单有效的计算人声的特定频率特征类型的能量或者能量分布的语音分析方法,还在于提供对应的装置、电子设备以及计算机可读存储介质。
7.根据本公开的第一方面,提供一种语音分析方法。该方法包括:从音频信号中提取单位音段,其中单位音段包括一个或多个具有特定频率特征的发声片段的语音帧;计算单位音段中的全部或部分语音帧的基频以确定特定频率特征类型;以及计算音频信号中的所确定的特定频率特征类型中的每个特定频率特征类型的能量值,获得音频信号中特定频率特征类型的能量分布。
8.进一步地,在计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型的步骤之前,所述方法还包括:对所述单位音段进行帧间平滑处理,形成经平滑处理的信号,其中所述计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型是针对经平滑处理的信号进行的。
9.进一步地,在计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型的步骤之前,所述方法还可以包括:对所述单位音段进行帧间平滑处理,形成经平滑处理的信号;以及对经平滑处理的信号进行降采样处理。所述计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型是针对经降采样处理的信号进行的。
10.进一步地,对经平滑处理的信号进行降采样处理可以包括将语音帧中的前后多帧
信号组合在一起进行降采样处理。
11.进一步地,计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型可以包括如下各项之一:使用语音帧的相关性计算方法和平均幅度差计算方法来确定语音帧的第一候选基频,以确定特定频率特征类型,相关性计算方法包括使用自相关函数方法或互相关函数方法;利用计算主频的的方法来计算语音帧的第二候选基频,以确定特定频率特征类型;以及根据所述第一候选基频和所述第二候选基频进行综合判断来计算语音帧的第三候选基频,以确定特定频率特征类型。
12.进一步地,确定语音帧的第一候选基频的步骤可以具体包括:利用相关性计算方法对语音帧做相关性运算,并且对所得的语音帧,在局部范围找到预设个数的峰值;利用平均幅度差计算方法对语音帧做平均幅度差运算,并且对所得的语音帧,在局部范围找到预设个数的谷值;以及将所述预设个数的峰值对应的频率以及所述预设个数的谷值对应的频率与预先设置的基频范围进行比较来确定语音帧的第一候选基频。
13.进一步地,可以对相关性运算结果进行插值处理;和/或可以对平均幅度差运算结果进行插值处理。
14.进一步地,计算语音帧的第二候选基频的步骤可以具体包括:对语音帧进行快速傅里叶变换,并且对变换后的结果,在预设范围找到预设个数的峰值,得到所述峰值对应的频率,即主频;以及基于所得到的主频来确定语音帧的第二候选基频。
15.进一步地,特定频率特征类型可以是乐音音阶类型,例如包括中国五音音阶或者西方七音音阶。
16.根据本公开的第二方面,提供一种语音分析装置。该装置包括:提取模块,用于从音频信号中提取单位音段,其中单位音段包括一个或多个具有特定频率特征的发声片段的语音帧;确定模块,用于计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型;以及计算模块,用于计算所述音频信号中的所确定的特定频率特征类型中的每个特定频率特征类型的能量值,获得所述音频信号中特定频率特征类型的能量分布。
17.根据本公开的第三方面,提供一种电子设备,其包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现如前述第一方面所述的方法。
18.根据本公开的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述的方法。
19.根据本发明的实施方式,不仅有助于从包含发声片段的音频信号中判断出特定频率特征类型分布、例如五音类型分布,进而有助于进一步判断出特定频率特征类型的能量分布、例如五音能量分布。在此基础上,有助于后续开发各种可能的应用场景,丰富用户体验。
附图说明
20.构成本公开的一部分的附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示意性示出了根据本发明一个实施方式的语音分析方法的流程图;
图2示意性示出了根据本发明一个实施方式的语音分析方法的流程图;图3示意性示出了根据本发明一个实施方式的计算语音帧的第一候选基频以确定特定频率特征类型的方法的流程图;图4示意性示出了根据本发明一个实施方式的计算语音帧的第二候选基频以确定特定频率特征类型的方法的流程图;图5示意性示出了根据本发明一个实施方式的计算特定频率特征类型的能量的示意图;图6示意性示出了根据本发明一个实施方式的语音分析装置的方框图;以及图7示意性示出了根据本发明一个实施方式的适合用来实现根据本发明实施方式的各种方法的电子设备的方框图。
具体实施方式
21.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本公开的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和如下描述被认为本质上是示例性的而非限制性的。
22.附图中的流程图和框图,图示了按照本发明各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现预定的逻辑功能的可执行指令。应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也应当注意,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,为了示意的方便,下述具体实施方式中的可选的步骤以虚线框的形式示出。
23.应当理解,术语“第一”、“第二”仅用于描述目的,是相对而言的术语,不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
24.下文的公开提供了许多不同的实施方式或例子用来实现本公开的不同结构。为了简化本公开的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本公开。此外,本公开可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
25.以下结合附图对本公开的具体实施例进行详细说明,应当理解,此处所描述的优选实施例仅用于说明和解释本公开,并不用于限定本公开。
26.示例性方法图1示意性示出了根据本发明一个实施方式的语音分析方法10的流程图。
27.在步骤s110,从音频信号中提取单位音段,其中单位音段可以包括一个或多个具
有特定频率特征的发声片段的语音帧。音频信号可以包括一个或多个发声片段。
28.在步骤s120,计算单位音段中的全部或部分语音帧的基频以确定特定频率特征类型。
29.在步骤s130,计算音频信号中的所确定的特定频率特征类型中的每个特定频率特征类型的能量值,获得音频信号中特定频率特征类型的能量分布。
30.作为示例,特定频率特征可以对应乐音音阶,乐音音阶例如可以是中国五音音阶或者西方七音音阶。中国五音音阶即宫、商、角、徵、羽。应当理解,还设想到了本公开的语音分析方法同样适用于乐音音阶的频率特征以外的特定频率特征的分析。
31.根据本公开的实施方式,音频信号可以包括一个或多个发声片段,例如包括诵读一个或多个音阶的读音。单位音段例如可以是一个音阶音段,可以包括一个或多个读音阶的语音帧。在一个实施例中,音频信号可以包括对五音音阶的依次诵读、或者对指定五音音阶序列的多次诵读。音频信号可以通过实时采集用户对指定一个或多个音阶的诵读而形成,也可以从音频文件中提取。
32.在计算单位音段中的全部或部分语音帧的基频以确定特定频率特征类型时,可以对每一帧的基频进行计算,直接作为该语音帧对应的单位音段的基频,或者作为单位音段基频计算的依据。在计算得出基频的情况下,基于基频和特定频率特征类型的对应关系,可以确定特定频率特征类型。可以预先设置基频和特定频率特征类型的对应关系。例如,基频和五音类型的对应关系是本领域技术人员所公知的。
33.根据本公开的实施方式,每个特定频率特征类型的能量值可以基于其对应的语音帧的能量来计算。
34.下文将以中国音阶(即对应不带半音的五声音阶)为例进行说明,但是本发明的实施方式也可以适用于西方音阶,例如自然七声音阶、带有增二度的七声音阶、带有中立音的七声音阶、带半音的五声音阶、平均七声音阶、平均五声音阶、全音音阶和半音音阶等音阶种类。
35.在一个实施例中,可以实时接收由用户按照指定方法、指定次数诵读指定的音阶,每两个音阶之间需要间隔一定时间,软件或者仪器实时采集声音信号,形成音频信号,将音频信号按帧处理。按照实时语音信号处理方式,一帧信号一般为10~40ms,可以根据实际加以调整。
36.在一个实施例中,在步骤s110之前,方法10可以包括对音频信号进行预处理。例如,预处理例如可以是分帧和/或去噪。例如,可以用典型的减谱去噪算法对音频信号做去噪处理。另外,在用户开始诵读发声片段之前,采集的音频信号是噪声段。该去噪处理例如还可以包括对音频信号的幅值进行判断,当幅值满足一定要求时判定为噪声段,以及统计底噪以得到噪声幅值阈值。进一步地,可以对音频信号进行分帧,以利于提取单音阶音段。
37.在一个实施例中,可以对待分析的发声片段的语音帧进行逐帧检测以去除不包含特定频率特征、例如音阶的帧。
38.图2示意性示出了根据本发明一个实施方式的语音分析方法20的流程图。在图1的基础上,方法20还可以可选地包括位于s120步骤之前的以下步骤s112和s114。
39.在步骤s112,对单位音段、或者单位音段所包括的一个或多个具有特定频率特征的发声片段的语音帧进行帧间平滑处理,形成经平滑处理的信号。在检测出语音帧后,可以
对前后帧的频谱做平滑处理,以使得后续在频谱上处理信号时更加精确。
40.在步骤s114,对经平滑处理的信号进行降采样处理。应当理解,步骤s114是可选的步骤,例如可以依赖于处理系统的运算能力的大小来确定是否执行该步骤。
41.在方法20中,步骤s120中计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型是针对经平滑处理的信号或者经降采样处理后的信号进行的。
42.在一个实施例中,在步骤s112中的帧间平滑处理的步骤中,首先,针对任一语音帧,判断其与前一帧的相似度,可以首先在设定的频带范围内,分别搜寻两帧频谱幅值上的峰值位置,对峰值设置阈值,太小的峰值可以舍弃。接着,确定出峰值后,可以根据峰值位置,统计当前帧与前一帧的峰值位置相似度。在具体实现中,可以设定一初始的相似度,判断当前帧各个峰值位置与前一帧的峰值位置之间的变化规律是否符合预设规律,上述预设规律例如可以是指各个峰值位置与前一帧的峰值位置之差是否小于预设区间阈值。若是,则峰值位置相似度递增,直到判断完所有要考查的峰值。当峰值位置相似度超过预设相似度阈值时,可以判定其相似。若其与前一帧相似,则可以按照预设权重值对其与前一帧的频谱幅值进行加权平均,获得当前帧频谱。上述权重值可以通过试验获得。
43.在一个实施例中,在步骤s114对经平滑处理的信号进行降采样处理的过程中,对于待处理的语音帧,例如20ms时长16000采样率的一帧语音信号,可以降采样到2000hz、1000hz等采样率,即1/8降采样、1/16降采样。通常,人发声基频范围一般在60~1200hz,因此降低采样频率至2000hz左右,即可保证基频信号不会失真,同时极大地减少信号点数,减小计算量。同时,也减少基频信号较强的三倍、四倍及以上倍频的影响。
44.在一个实施例中,可以将前后两帧信号组合在一起进行降采样,再做计算,以便减少一帧信号受噪声影响或者带有某些随机性导致计算误差。在一个实施例中,也可以将前后更多帧信号组合在一起进行降采样。
45.如下文具体描述的,根据本发明的一个实施方式,可以使用语音帧的相关性计算方法和平均幅度差计算方法来确定语音帧的第一候选基频,以确定特定频率特征类型。相关性计算方法包括使用自相关函数方法或互相关函数方法。这种计算方法计算量比较小且简单有效,因而实时性强,且适合利用嵌入式系统来实现,可以在各类含微处理器的硬件中实现。根据本发明的一个实施方式,可以利用计算主频的方法来计算语音帧的第二候选基频,以确定特定频率特征类型。根据本发明的一个实施方式,可以根据第一候选基频和第二候选基频进行综合判断、例如按照预设判断规则来计算语音帧的第三候选基频,以确定特定频率特征类型。
46.图3示意性示出了根据本发明一个实施方式的计算语音帧的第一候选基频以确定特定频率特征类型的方法30的流程图。
47.在步骤s310,利用基于相关性计算方法对语音帧做相关性运算,并且对所得的语音帧,在局部范围找到预设个数的峰值。
48.在步骤s320,利用平均幅度差计算方法对语音帧做平均幅度差运算,并且对所得的语音帧,在局部范围找到预设个数的谷值。
49.在步骤s330,将预设个数的峰值对应的频率以及预设个数的谷值对应的频率与预先设置的基频范围进行比较来确定语音帧的第一候选基频。
50.基于自相关函数和平均幅度差函数的算法是基音周期估计的两种常用方法。两者
具有独立且相似的统计特性,自相关函数(acf)是利用峰值检测基音周期,平均幅度差函数(amdf)是利用谷值来估计,即自相关函数在基音周期处表现为峰值,而平均幅度差函数表现为波谷。根据本公开的实施方式,预设个数的峰值可以为三个和更多个,以及预设个数的谷值可以为三个和更多个。峰值和谷值的预设数量可以相同,也可以不同。峰值或谷值不足三个时,可以取其实际数量。
51.对于自相关函数而言,由于语音信号是非平稳的时变信号,所以语音信号处理中都使用短时自相关函数。短时自相关函数是在信号的第n个样本点附近用短时窗截取一段信号,做自相关计算。能量有限的语音信号x(m)的短时自相关函数r(k)定义为:,(1)其中,n是语音信号的帧长,k表示时间延迟量,k为最大的延迟点数。公式1表示一个信号和延迟m点后该信号本身的相似性。自相关函数提供了一种获取周期信号周期的方法:在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。
52.在一个实施例中,自相关函数是归一化自相关函数。能量有限的语音信号x(m)的短时归一化自相关函数r(k)的公式为:(2)归一化自相关函数能够消除直接相关法中由于信号点位置影响累乘项数不同而引起的误差。
53.传统的平均幅度差函数(average magnitude difference function)是由ross等人于1974年在题为“average magnitude difference function pitch extractor”、发表在ieee trans on acoustics, speech, and signal processing, 1974,22(5): 353
‑
362上的论文中提出的,其定义为:(3)其中s(n)为离散化的语音采样序列,当采用短时处理技术加窗时,式(3)变为:(4)其中s
w
(n)=s(n)w(n),。n是待分析的语音采样序列的帧长,式(3)和(4)中,k表示时间延迟量,,k为最大的延迟点数。式(3)中的均值系数1/n不影响函数特性,因此在式(4)中被省略了,但本公开内容仍将其称为平均幅度差函数。
54.在一个实施例中,可以使用循环平均幅度差函数(循环amdf函数)来计算语音帧的多个谷值。循环amdf函数是由张文耀等人于2003年6月在题为“循环amdf及其语音基音周期估计算法”、发表在《电子学报》、第6期上的论文中提出的,其全部内容通过引用并入于此。循环amdf函数d(k)的定义为:(5)其中,mod(n+k,n)表示对n+k进行模为n的求模去余操作。n是待分析的语音采用序列的帧长,s
w
(n)表示加窗的语音信号帧,k表示时间延迟量。
55.使用基于循环平均幅度差函数的算法能够更准确地找到基频对应的多个极小值点、即局部最小点或谷值。
56.在一个实施例中,可以在计算自相关函数的多个(例如三个)最大峰值和循环平均幅度差多个(例如三个)最小谷值时,分别对自相关和循环平均幅度差计算结果进行插值,比如,恢复到降采样之前的采样率,或者变为其他的采样率,以便减小误差,提高精度。例如,可以进行8倍插值、16倍插值等。通过利用插值过程,能够对自相关结果的峰值和循环平均幅度差结果的谷值做一些校正,相比只使用降采样的情形,可以使得计算结果更加精确。
57.根据前述公开内容,在一个实施例中,对于计算出的自相关结果上局部最大的多个峰值(例如三个),依次按照值从大到小,计算这些峰值位置对应的频率值。在一个实施例中,对于计算出的循环平均幅度差结果上最小的多个谷值(例如三个),依次按照值从小到大,计算这些谷值位置对应的频率值。
58.例如,大多数人正常发七声音阶时,根据男、女、儿童群体可以大致划分几类,每一类在发这几个音时,其基频范围是有一定规律的。比如,男性基本都在国际标准音阶的第三个八度范围上下,女性基本都在第四个八度范围上下。同时,每个音的频率范围也相对固定,比如大多数男性发do音时,频率范围在80~130hz之间,浮动范围不会超过80hz。提前统计一定数量的男、女以及儿童发每个音的基频范围以及浮动范围,作为设置初始的判定依据。为方便处理,一般将基频设置为一个大致值,浮动范围设置一个上下浮动范围。
59.根据自相关结果的多个(局部)最大峰值和循环平均幅度差结果的多个(局部)最小谷值计算出各个频率,并且依次将其与每个音的基频范围以及浮动范围做比较。比如,某个音阶的自相关结果的最大峰值对应的频率,在设置基频和浮动范围之间,则判定这个基频计算正确。再如,某个音阶的循环平均幅度差结果的最小谷值对应的频率不在设置基频和浮动范围之间,则考查谷值对应频率是否超过一定频率,或者小于一定频率,适当可考查谷值横坐标位置2倍或者1/2倍处是否有谷值,若有,则再判断其对应频率是否在设置基频和基频范围之间,若在,则接受,若不在,则计算循环平均幅度差结果上第二个谷值对应的频率
……
,以此类推。
60.在一个实施例中,若按照上述两种方法最终都计算不出一个合理的基频(第一候选基频),则将本帧基频设置为空。若只有一个方法计算出基频,则将本帧基频设置为计算出的基频。
61.在一个实施例中,根据按照上述两种方法中的每种方法进行计算,若前一帧的基频也存在,即不为0,则还可以和本帧相同方法计算的基频做比较,若本帧基频相差太多,则
舍去本帧计算的基频,基频设置和前一帧相同。
62.在一个实施例中,若两个方法都计算出基频,则还可以判断两个基频是否相差太多,若相差太多,则以较小的一个为准。若相差在设置范围内,则本帧基频设置为两种方法计算基频的均值。
63.需要说明的是,为使结果更加精确,若当前帧之前有超过一定帧数判断出基频,则可以用这一定帧数的基频和当前帧计算出的基频做平滑,作为当前帧的基频。
64.需要说明的是,相关性计算还可以包含互相关计算,如果将当前帧作为信号1,将当前帧向前移动一定点数作为信号2,计算信号1和信号2的互相关,由于语音信号的短时平稳,当帧长不太长时,信号1和信号2也是有很强的相关性的,互相关也可以计算出两个信号都包含的信号周期,也就是可以计算基频。互相关公式:n是语音信号的帧长,k表示时间延迟量,k为最大的延迟点数。互相关结果,也是在一定范围找预设个数的峰值,计算峰值对应的频率,后续处理和上述自相关处理过程相同。
65.需要说明的是,平均幅度差算法除了上面描述的循环平均幅度差算法,还可以是简单的平均幅度差算法,但是信号点也是向前扩展的,也就是,将当前帧作为信号1,将当前帧向前移动一定点数作为信号2,计算信号1和信号2的平均幅度差。平均幅度差结果,也是在一定范围内找预设个数的谷值,计算谷值对应的频率,后续处理和上述循环平均幅度差处理过程相同。
66.图4示意性示出了根据本发明一个实施方式的计算语音帧的第二候选基频以确定特定频率特征类型的方法40的流程图。
67.在步骤s410,对语音帧进行快速傅里叶变换(fft),并且对变换后的结果,在预设范围找到预设个数的峰值,得到该峰值对应的频率,即主频。
68.在步骤s420,基于所得到的主频来确定语音帧的第二候选基频。
69.在一个实施例中,可以对经降采样后的信号做fft,在一定范围内依次找幅值最大的多个局部峰值,例如三个峰值,这些峰值对应的频率都称作主频。
70.在一个实施例中,从幅值最大的峰值对应的主频算起,按照每个音阶的设置频率和浮动范围,判断主频是否在范围内。和上文采用自相关和循环平均幅度差来计算基频的方法不同的是,可以直接在频谱上寻找较大峰值。即使限定了一定的频带范围,比较常见的依然是会找到2倍频、3倍频等。在一个实施例中,在主频判断中加入判断2倍频、3倍频的过程,具体是:针对2倍频,即将对应音阶的设置基频变为2倍,浮动范围设置也相应扩大,对于3倍频,将对应音阶设置基频变为3倍,浮动范围设置再扩大一些。然后再依次判断上述步骤s410中的主频是否符合,若符合,则置位2倍或者3倍标志。如此,主频可能是1倍频、2倍频或者3倍频,将主频与预先设置的音阶基频范围进行比较可以确定语音帧的第二候选基频。
71.在一个实施例中,若步骤s420中计算出的主频的数量例如为三个主频,且判断出一个满足落在基频范围或者2倍频范围、或者3倍频范围,则可以不再继续判断下一个主频。
72.根据本发明一个实施方式,根据前述实施方式计算的第一候选基频和第二候选基频按照预设规则来计算语音帧的第三候选基频,以确定特定频率特征类型。在一个实施例中,可以计算第一候选基频和第二候选基频的平均值来计算第三候选基频。在一个实施例中,可以取第一候选基频和第二候选基频的较小值或者较大值来确定第三候选基频。
73.在一个实施例中,计算出第二候选基频后,若第二候选基频落在预设的基频范围内,则将此第二候选基频和第一候选基频比较,若频率比较接近(频率差值在预设范围),则计算第二候选基频和第一候选基频均值得出第三候选基频。若不接近,可以分不同情况按照预设规则取相应的加权值加权计算得出第三候选基频。具体而言,可以根据第一候选基频和第二候选基频的差值,分段取不同加权值加权计算出第三候选基频,第三候选基频=第一候选基频*a+第二候选基频*(1
‑
a),a∈(0,1)。举例来说,基频范围是50~200。如果计算出的第一候选基频120,计算出的第二候选基频130,二者比较接近,则第三候选基频可以取二者的平均值125。如果计算出的第一候选基频是120,计算出的第二候选基频150,二者差值为30,认为是不接近,则可以采用加权值a=0.7来计算第三候选基频。如果计算出的第一候选基频是120,计算出的第二候选基频190,二者差值为70,认为是不接近的,则可以采用另一个加权值a=0.9来计算第三候选基频。
74.在一个实施例中,计算出第二候选基频后,若第二候选基频没有落在预设的基频范围内,判断第二候选基频的类型,若第二候选基频判断为2倍频,则按照第二候选基频和第一候选基频的2倍的差值,分段取不同加权值,加权第一候选基频和第二候选基频的1/2,即第三候选基频=第一候选基频*a+1/2*第二候选基频*(1
‑
a),a∈(0,1),得到最终本帧的第三候选基频。计算出第二候选基频后,若第二候选基频判断为3倍频,则按照第二候选基频和第一候选基频的3倍的差值,分段取不同加权值,加权第一候选基频和第二候选基频的1/3,即第三候选基频=第一候选基频*a+1/3*第二候选基频*(1
‑
a),a∈(0,1),得到最终第三候选基频。
75.需要说明的是,若当前帧之前有超过一定帧数判断出第三候选基频,则可以用这一定帧数的第三候选基频和当前帧计算出的第三候选基频做平滑,作为当前帧的第三候选基频,以使得计算结果更加精确。
76.需要说明的是,为使某段语音帧切实对应到正确的基频和浮动范围设置,在具体实现时,基频及其浮动范围设置可以是按次序读取的,即,第一段语音取第一个,第二段语音取第二个
…
,以此类推,从而依次检测音阶。
77.下文描述计算基频的能量值(对应音阶的能量值)的示例方法。
78.预先确定语音帧的语音能量分布标准,如下面标准音阶表(表1)所示。在一个实施例中,对于采样率16k的信号,考虑大多数人发声频率范围,可以只考查第2到第8个八度频率范围。表1中数值的单位为hz。
79.表1
接着,对每一语音帧,在功率谱上依次计算每个音阶附近的能量,将落在此范围的谱线的值累加,即是这个音阶的能量。每个音阶附近例如可以是频率上从上一个音阶和本音阶的中间值到本音阶到下一个音阶的中间值之间的频带范围。需要指出的是,正常计算一个音阶的能量,应该在连续的功率谱上对本音阶对应的整个频带求积分,但是由于实际分析是计算出离散的功率谱,因此无法做积分运算,但是可以用求和代替。
80.在一个实施例中,依次计算第2到第8个八度上的宫、商、角、徵、羽这五音的能量,并且将每个八度上的宫、商、角、徵、羽这五音的能量分别累加,作为本帧中的五音能量分布。
81.图5示意性示出了根据本发明一个实施方式的计算音阶的能量的示意图。如图5所示,以选择表1中的第四个八度对应的行为例,按照上文关于音阶附近的定义,羽3与宫4的中间点至宫4和商4的中间点之间的范围为第四个八度宫的频率区间。如此,在图5中,对宫4的能量计算即是累加落在两条虚线之间的离散功率谱的谱线的值。从而,得到了宫4的能量值。依次方法可以计算出第2到第8个八度上宫、商、角、徵、羽的能量值。
82.根据本发明的一个实施方式,可以根据包含用户对音阶的诵读的语音信号来计算五音类型、以及五音能量分布。对于每一语音帧,由计算的基频,可以是前述的第一候选基频、第二候选基频或第三候选基频,根据标准音阶表判断出五音类别,再在语音帧的功率谱上计算出此五音类型对应的能量,可以是基频所在的五音频带内功率谱值的和,或者是在包含基频的一定带宽内计算功率谱值的和。对所有的语音帧均做基频计算和五音类型判断,进而计算其五音能量,最终对所有的五音能量进行统计,得到五音的能量分布。进一步地,为后续计算方便,可以将最后的能量分布按照最大值归一化。
83.根据本发明的一个实施方式,可以根据多个语音帧来计算五音类型和能量分布。即,每一个语音帧,按照能量统计,均计算出五音能量,最终累加所有的语音帧的五音能量。从而,获得了音频信号的五音能量分布。进一步地,为后续计算方便,可以将最后的能量分布按照最大值归一化。
84.计算每帧语音信号基频所属的五音类型的能量,也可以是在计算每帧信号的五音能量分布后,根据基频所对应的五音类型,选择对应类型的五音的能量。
85.根据本发明实施方式的设备可以丰富人机交互体验,自动预测出用户正常发声的音阶能量分布。另外当人们将根据本发明实施方式的确定的五音分布用于人际交流时,可以增加人际沟通的乐趣。根据本发明的实施方式,基于五音类型及其能量值的另一个可能应用场景是,依据预设规则可以对用户的健康状态的判断提供参考建议。可以以五音能量
分布结果,作为用户的五脏强弱、均衡情况,给出一些饮食、起居、娱乐方面的建议。
86.根据本发明的实施方式,至少可以实现以下技术优势中的一项或多项:(1)不仅可以判断出特定频率特征类型分布、例如五音类型分布,还可以判断出音阶能量分布、例如五音能量分布;(2)计算量比较小且简单有效,因而适合利用嵌入式系统来实现;(3)包含音阶的语音信号可以实时采集和分析,从而配合相应的输出设备(例如显示装置),可以实时输出计算过程中的一些参数;(4)每帧基频自动计算,自动判断特定频率特征类型、例如五音类型。
87.示例性装置上文描述了根据本发明实施方式的各种方法,在另一方面,本公开还提供了相应的装置。
88.图6示意性示出了根据本发明一个实施方式的语音分析装置60的方框图,该装置60例如可以包括:提取模块610,用于从音频信号中提取单位音段,其中单位音段可以包括一个或多个具有特定频率特征的发声片段的语音帧。音频信号可以包括一个或多个发声片段。
89.确定模块620,用于计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型;以及计算模块630,用于计算所述音频信号中的所确定的特定频率特征类型中的每个特定频率特征类型的能量值,获得所述音频信号中特定频率特征类型的能量分布。
90.可选地,该装置60还可以包括:平滑模块612,用于对所述单位音段进行帧间平滑处理,形成经平滑处理的信号。进一步地,该装置60还可以包括:降采样模块614,用于对经平滑处理的信号进行降采样处理。计算所述单位音段中的全部或部分语音帧的基频以确定特定频率特征类型可以是针对经平滑处理的语音帧或者经降采样处理的信号进行的。
91.根据本发明的实施方式,确定模块620被配置为执行如下各项之一:使用语音帧的相关性计算方法和基于平均幅度差计算方法来确定第一候选基频,以确定特定频率特征类型,所述相关性计算方法包括使用自相关函数方法或互相关函数方法;利用计算主频的方法来计算语音帧的第二候选基频,以确定特定频率特征类型;以及根据所述第一候选基频和所述第二候选基频进行综合判断来计算语音帧的第三候选基频,以确定特定频率特征类型。
92.应当理解,本公开的示例性装置的实施例与前文所述的示例性方法的实施例属于相同的构思,其具体实现过程详见方法实施例,这里不再赘述。在将方法步骤具体实现装置时,一个方法步骤可以实现为多个装置模块,也可以用一个装置模块来实现多个方法步骤。
93.示例性电子设备上文描述了根据本发明实施方式的各种方法,在另一方面,本公开还提供了相应的电子设备。
94.图7示意性示出了根据本发明一个实施方式的电子设备70的方框图。该电子设备70例如包括:处理器710、存储器720以及存储在存储器720中并可在处理器710上运行的计算机程序721。处理器710执行计算机程序721时实现本公开所述的基于乐音音阶的语音分析的方法的各个实施例中的步骤。或者,处理器 710执行计算机程序721时实现本公开各装
置实施例中各模块/单元的功能。
95.电子设备70可包括但不仅限于处理器710、存储器720。本领域技术人员可以理解,图7仅仅是电子设备70的一种示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备70还可以包括声音采集模块、无线网络接口、输入输出设备、显示器、总线等。电子设备70的示例可以包括但不限于智能手机、智能机器人、便携式数字助理(pda)、寻呼机、移动计算机、移动电视、游戏设备、膝上型计算机、照相机、录像机、gps设备以及其他类型的支持语音识别的系统。
96.处理器710可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
97.存储器720可以是电子设备70的内部存储单元、例如硬盘或内存。存储器720也可以包括电子设备70的外部存储设备,例如插接式硬盘,智能存储卡(smart media card,smc),安全数字(securedigital,sd)卡,闪存卡(flash card)等等。进一步地,存储器820还可以既包括内部存储单元也包括外部存储设备。存储器720用于存储计算机程序721以及电子设备70所需的其他程序和数据。存储器720还可以用于暂时地存储已经输出或者将要输出的数据。
98.示例性计算机可读存储介质上文描述了根据本发明实施方式的各种方法,在另一方面,本公开还提供了计算机可读存储介质。所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本公开所述的基于乐音音阶的语音分析的方法的各个实施例中的步骤,或者实现本公开各装置实施例中各模块/单元的功能。
99.应当理解,前述的各种示例性方法和装置可以实现在用户终端设备处,其可以利用各种方式来实现,例如,在某些实施方式中,前述各种装置可以利用软件和/或固件模块来实现,也可以利用硬件模块来实现。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
100.特别地,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图1描述的方法10可以通过计算机程序产品来实现。该计算机程序产品可以存储在ram、rom、硬盘和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备执行的程序指令。
101.应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的装置和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd
‑
rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的装置及其模块可以由诸如超大规模
集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
102.应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中实现。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
103.虽然已经参考目前考虑到的实施方式描述了本发明,但是应该理解本发明不限于所公开的实施方式。相反,本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同结构和功能。
104.以上所述仅为本公开的优选实施例而已,并不用于限制本公开,尽管参照前述实施例对本公开进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。