发言者适配的语音识别和利用基音的注册转让专利

申请号 : CN200780006100.3

文献号 : CN101390155B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·陈

申请人 : 索尼电脑娱乐公司

摘要 :

公开语音识别方法和系统。获取发言者的发言的语音信号。根据发言的语音信号确定运行时基音。基于运行时基音将发言者归类,并基于发言者的类别调整一个或多个声音模型参数。可在所述识别期间的任何时间瞬间进行参数调整。然后基于声音模型来执行对发言的语音识别分析。

权利要求 :

1.一种用于语音识别的方法,所述方法包括:获取发言者的发言的语音信号;

根据所述发言的语音信号确定运行时基音;

基于所述运行时基音将所述发言者归类;

基于所述发言者的类别调整执行所述语音识别分析时所用的滤波器组的最大频率fmax和最小频率fmin;以及基于所述最大频率fmax和最小频率fmin来执行对所述发言的语音识别分析。

2.如权利要求1所述的方法,其中确定所述运行时基音包括通过如下公式确定时间t处的移动平均基音pavg(t):其中求和是对在时间窗口期间在时间ti处所取的NP个基音测量值进行的。

3.如权利要求2所述的方法,其中所述基音p(ti)中的每一个基音的概率prob(pitch) 都 高 于 预 定 阈 值,其 中 其 中是分析语音信号的相关性。

4.如权利要求1所述的方法,其中确定所述运行时基音包括如下类型的计算:prun(t)=c·prun(t-1)+(1-c)·p(t),其中c是0与1之间的常数,prun(t)和prun(t-1)分别是时间t和t-1处的运行时基音值,p(t)是时间t处的当前基音值;其中在p(t)的基音概率高于预定阈值时使用该公式。

5.如权利要求1所述的方法,其中将所述发言者归类包括确定所述发言者的年龄和/或性别。

6.如权利要求5所述的方法,其中确定所述发言者的年龄和/或性别包括:确定所述运行时基音是否落在一个范围内,其中所述范围取决于发言者的年龄和/或性别。

7.如权利要求5所述的方法,其中确定所述发言者的年龄和/或性别包括:根据所述基音确定所述发言者是男性、女性还是小孩发言者。

8.如权利要求1所述的方法,还包括:存储所述发言者类别和/或基于所述发言者的类别的所述最大频率fmax和最小频率fmin,并将所述发言者的所述发言者类别和/或基于所述发言者的类别的所述最大频率fmax和最小频率fmin与特定发言者关联。

9.如权利要求8所述的方法,还包括:在对发言者进行后续语音识别分析期间,使用所存储的发言者类别和/或基于所述发言者的类别的所述最大频率fmax和最小频率fmin。

10.一种语音识别系统,包括:

适于获取语音信号的接口;

耦合到所述接口的一个或多个处理器,其中所述一个或多个处理器被配置成:获取发言者的发言的语音信号;

根据所述发言的语音信号确定运行时基音;

基于所述运行时基音将所述发言者归类;

基于所述发言者的类别调整执行所述语音识别分析时所用的滤波器组的最大频率fmax和最小频率fmin;以及基于所述最大频率fmax和最小频率fmin来执行对所述发言的语音识别分析。

说明书 :

发言者适配的语音识别和利用基音的注册

[0001] 相关申请的交叉引用
[0002] 本申请涉及与本申请同一日提交的Ruxin Chen的共同转让的美国专利申请11/358,272,标题为“具有并行性别和年龄规范化的语音识别”(VOICE RECOGNITION WITH PARALLEL GENDER ANDAGE NORMALIZATION),其全部公开通过引用结合于本文。 技术领域
[0003] 本申请涉及语音识别,并且更具体来说涉及适于基于基音的发言者的语音识别系统。

背景技术

[0004] 语音和语言识别技术使得配备声音输入源(例如麦克风)的计算机和其他电子装置能够解释人的语言,例如用于抄录或作为一种与计算机交互的备选方法。正在开发语言识别软件,以在消费电子装置(例如移动电话、游戏平台、个人计算机和个人数字助理)中使用。在典型的语言识别算法中,表示人语言的时域信号被分成多个时间窗口,每个窗口通过例如快速傅立叶变换(FFT)转换到频域信号。然后通过采用频谱域信号的对数并且再执行另一个FFT来压缩此频域或频谱域信号。根据压缩的频谱(称为倒谱),可以使用统计模型来确定该信号所表示的语言内的音位和上下文。倒谱(cepstrum)可以视为有关语言信号内的不同频带中的速率变化的信息。对于语言识别应用,常常首先使用Mel频带来变换频谱。其结果称为Mel频率倒谱系数或MFCC。可以根据如下公式将以赫兹为单位的频率f(每秒的周期数)转换成mel频率m:m=(1127.01048Hz)loge(1+f/700)。相似地,可m/1127.01048以 使用f=(700Hz)(e -1)将mel频率m转换成以赫兹为单位的频率f。
[0005] 在语音识别中,常常使用一组三角形滤波器函数来对频谱滤波。该滤波器函数将频谱分成一组部分重叠的频带,该组频带位于最小频率fmin与最大频率fmax之间。每个滤波器函数以感兴趣的频率范围内的特定频率为中心。当转换到mel频率标度时,每个滤波器函数可以表示为一组mel滤波器组,其中每个mel滤波器组MFBi由如下公式给出: [0006] 其中索引i指代滤波器组的编号,以及mfmin和mfmax是对应于fmin和fmax的mel频率。
[0007] fmin和fmax的选择决定语音识别算法所使用的滤波器组。通常,fmin和fmax由正在使用的语音识别模型来固定。语音识别的一个问题在于,不同发言者具有不同的声道长度并产生具有相应不同频率范围的语音信号。为了对此进行补偿,语音识别系统可以在滤波之前执行语音信号的声道规范化。举例来说,规范化可以使用这种类型的函数: [0008]
[0009] 其中f是规范化的频率,以及α是调整规范化函数的曲率的参数。 [0010] 具有N个不同mel频带的语言信号的分量可以表示为具有N个分量的矢量A。矢量A的每个分量是语言信号的mel频率系数。矢量A的规范化通常包括如下类型的矩阵变换:
[0011] F′=[M]·F+B,其中[M]是由如下公式给出的N×N矩阵:
[0012]
[0013] 以及B是如下公式给出的偏置矢量:
[0014]
[0015] F′和F是如下形式的矢量:
[0016]
[0017] 其中离线计算矩阵系数Mij和矢量分量Bi,以使HMM系统中观察的语言序列的概率最大。通常,对于给定的帧和给定的特征F′,按如下高斯函数计算观察的概率:规范化的矢量F′的每个分量是规范化的语言信号的mel
频率分量。
[0018] 众所周知,男性和女性发言者产生由不同mel频率系数(MFCC)表征的语音信号。在现有技术中,语音识别系统已经使用训练以在发言者是男性还是女性之间进行鉴别,并基于发言者是男性还是女性来调整语音识别中所用的声音模型。通常,通过让多个(例如
10个)男性发言者和相等数量的女性发言者说相同的词以产生语音样本来训练声音模型。
将基于语音样本的特征分析与用于语音识别的超模型组合在一起。
[0019] 上面的规范化的主要缺点在于,矢量F可能具有多达40个分量。因此,矩阵[M]可能具有多达1600个系数。这种大量系数的计算可能花费太长时间来调整语音识别算法。 [0020] 而且,因为现有技术的语音识别系统和方法使用fmin、fmax、mfmin和mfmax的固定值来进行滤波和规范化,所以它们并未充分地考虑到发言者之间声道长度方面的变化。因此,语言识别精确度可能差于最优情况。因此,需要一种克服此类缺点的语音识别系统和方法。 发明内容
[0021] 通过本发明涉及语音识别方法和系统的实施例克服了与现有技术关联的缺点。根据本发明的实施例,获取发言者的发言的语音信号。根据发言的语音信号确定运行时基音。基于运行时基音将发言者归类,并基于发言者的类别调整一个或多个声音模型参数。然后基于声音模型参数来执行对发言的语音识别分析。

附图说明

[0022] 通过参考结合附图的下文详细描述可以容易地理解本发明的技术,其中: [0023] 图1是图示根据本发明实施例的语音识别算法的流程图。
[0024] 图2是图示根据本发明实施例的语音识别系统的框图。

具体实施方式

[0025] 虽然出于说明的目的,下文详细描述包含许多特定细节,但是本领域技术人员将认识到对下文细节的许多变化和备选方案均在本发明的范围内。因此,下文描述的本发明的实施例是在不失一般性且不对要求权利的本发明施加任何限制的前提下提出的。 [0026] 根据本发明实施例,语音识别方法100可以如图1A所示的进行。在102,获取来自发言者的发言的语音信号。可以采用任何常规方式来获取语音信号,例如使用麦克风,并使用将语音信号制作成数字格式的波形数字转换器。可以通过以大于工作特征分析频率的采样频率对语音信号进行过采样(over-sampling)来获取语音信号。具体来说,采样频率可以大于训练时间语言采样率。通过非限制性实例,如果通过12千赫的工作特征分析频率来表征语音信号,则可以采用例如16-22千赫的采样频率来对该信号采样。
[0027] 在104,确定发言的运行时基音值prun。有许多方法来确定运行时基音prun。例如,prun可以是按如下公式在包括时间t的给定时间窗口上计算的移动平均基音pavg(t): [0028] (公式1)
[0029] 其中求和是对在基音概率高于预定阈值的时间窗口期间在时间ti={t-(NP-1),t-(NP-2),...,t}处所取的NP个基音测量值进行的。计算基音概率的一种简单方式是 [0030] 其中 是分析语言信号的相关性。或者,可以通过例如如下公式将运行时基音prun与当前基音相关: [0031] [0031] (公式2)prun(t)=c·prun(t-1)+(1-c)·p(t),for t>0
[0032] 以及prun(0)=p(0),for t=0
[0033] [0033] 其中c是0与1之间的常数,p(t)是时间t处的基音的当前值。常数c的值与窗口大小相关。例如,c=0的值对应于无窗口(其中prun(t)=p(t)),c=1的值对应于无穷窗口(其中prun(t)=prun(t-1))。注意,对于t>0的值,t之前的时间的基音值构成运行时基音prun(t)的值。这可以在c=0.6的情况中以数值示例说明。在此情况中,公式2得到:
[0034] prun(0)=p(0)
[0035] [0035] prun(1)=0.6·prun(0)+(1-c)·p(1)=0.6·p(0)+0.4·p(1) [0036] prun(2)=0.6·prun(1)+(1-c)·p(2)=0.6*(0.6·p(0)+0.4·p(1))+0.4·p(2) [0037] [0037] 在本发明的一些实施例中,如果基音概率高于某个阈值(例如高于约0.4),则可以根据公式2来计算prun(t)。
[0038] 举例来说,图1A的106处执行的发言者归类可以基于发言者的年龄和/或性别来进行。例如,根据训练数据,可以确定男性、女性和小孩发言者的平均基音落在不同的范围内。可以由语音信号的当前基音所落在的基音范围来将发言者归类。举例来说,成年男性发言者具有约120Hz与约160Hz之间的平均基音,成年女性发言者具有约180Hz与约220Hz之间的平均基音,以及小孩发言者具有大于约220Hz的平均基音。如果当前基音是190Hz,则发言者被归类为女性发言者。在这些情况的任何一种中,可以将发言者的平均基音作为矢量F中的特征来包括。
[0039] 一旦将发言者归类,则可以按108所指示的相应地选择声音模型的参数。然后在110,在语音识别分析中使用这些参数。参数的选择取决于语音识别分析中所用的声音模型的类型。例如,语音识别分析可以使用一组滤波器函数来对语音信号滤波。滤波器函数(例如,三角形滤波器函数)将频谱分成一组部分重叠的频带。每个语音识别分析使用由不同的最大频率fmax和不同的最小频率fmin定义的滤波器组。fmax和fmin可以是赫兹标度的频率或mel标度的基音。最大频率fmax指滤波器组的频率范围的上限,而最小频率fmin指滤波器组的频率范围的下限。参数fmin和fmax的值可以在语音识别分析期间在任何时间瞬间(例如语音识别分析期间的任何时间窗口)动态地进行调整。语音识别分析产生一个或多个语言单元的识别的识别概率Pr。语言单元可以是短语、词或词的子单元(例如音位)。 [0040] 举例来说,一旦发言者被归类为男人、女人或小孩,则可以相应地选择用于对发言进行语音识别分析的值fmin和fmax。例如,如果假定发言者是男人,则fmax可以约为70Hz而fmin可以约为3800Hz。如果假定发言者是女人,则fmax可以约为70Hz而fmin可以约为
4200Hz。如果假定发言者是小孩,则fmax可以约为90Hz而fmin可以约为4400Hz。 [0041] 在110,基于调整的模型参数从对发言的语音分析得到识别概率Pr。举例来说且不失一般性地,语音识别分析可以使用隐藏的马尔可夫模型(HMM)来确定给定语音信号中的语言单元。语言单元可以是词、双词组合或子词单元(例如音位等)。HMM可以由如下项来表征:
[0042] L,表示系统的多个可能状态;
[0043] M,表示系统中存在的高斯的总数;
[0044] N,表示给定时间处的不同可观察特征的数量;这些特征可以是语言信号的频谱上的(即频域)或时间上的(时域)特征;
[0045] A={aij},状态过渡概率分布,其中每个aij表示如果系统最初在时间t处于第i状态,则系统将在时间t+1过渡到第j状态的概率;
[0046] B={bj(k)},第j个状态的观察特征概率分布,其中每个bj(k)表示当系统处于第j个状态时第k个特征的观察值的概率分布;以及
[0047] π={πi},最初状态分布,其中每个分量πi表示系统将在某个最初时间处于第i个状态的概率。
[0048] 隐藏的马尔可夫模型可以应用于语音信号以解决一个或多个基本问题,包括:(1)从语音信号获得给定观察序列的概率;(2)给定观察序列,什么对应状态序列最好地解释该观察序列;以及(3)如何调整该组模型参数A、Bπ以使得给定观察序列的概率最大化。 [0049] 将HMM应用于语言识别由例如Lawrence Rabiner在1989年2月IEEE学报第2期卷77的“语言识别中隐藏的马尔可夫模型和选择的应用的教程”(“A Tutorial on Hidden Markov Models and SelectedApplications in Speech Recognition”in Proceedings of the IEEE,Vol.77,No.2,February 1989,其通过引用基于所有目的结合于本文)中进行了详细描述。
[0050] 在110处实现的语音识别分析可以通过公知为音位(phoneme)的多个可识别模式来表征语言。这些音位的每一个可以分成多个部分,例如开始、中间和结尾部分。注意,中间部分通常是最稳定的,因为开始部分常常受到前一个音位的影响,而结尾部分受到后一个音位的影响。不同部分的音位由频域特征来表征,这些特征可以通过信号的适当统计分析来识别。统计模型常常使用高斯概率分布函数来预测特征的每个不同状态的概率,所述特征构成与不同音位的不同部分对应的信号部分。一个HMM状态可以包含一个或多个高斯。给定可能状态的特定高斯,例如第k个高斯可以由一组N个平均值μki和方差σki表示。在典型的语言识别算法中,确定给定时间窗口的哪个高斯 是最大的一个。根据最大高斯,可以推断时间窗口的最大可能音位。
[0051] 举例来说,在110的语音识别分析可以分析时域信号以获得N个不同可观察信号特征χ0、...、χn,其中n=N-1。系统的观察的特征可以表示为具有分量χ0、...、χn的矢量。这些分量可以是给定观察的语言信号的频谱上、倒谱上或时间上的特征。 [0052] 举例来说且不作为本发明实施例的限制,分量χ0、...、χn可以是在102处获得的语音信号的mel频率倒谱系数(MFCC)。倒谱是如同作为信号来取分贝频谱的傅立叶变换(FT)的结果。时域语言信号的倒谱可以在言语上定义为该时域信号的傅立叶变换的对数(具有去包裹的相位(unwrapped phase))的傅立叶变换。时域信号S(t)的倒谱可以在数学上表示为FT(log(FT(S(t))+j2πq),其中q是将复对数函数的角度或虚数部分正确去包裹所需的整数。算法上为:倒谱可以由如下操作序列来生成:信号->FT->对数->相位去包裹->FT->倒谱.
[0053] 有复倒谱和实倒谱。实倒谱使用为实值定义的对数函数,同时复倒谱使用为复值定义的复对数函数。复倒谱具有有关初始频谱的量值和相位的信息,从而能够重构信号。实倒谱仅使用频谱的量值的信息。举例说明且不失一般性地,在110处实现的语音识别分析可以使用实倒谱。
[0054] 分量χ0、...、χn的组合的某些模式对应于语言单元(例如词或短语)或子单元(例如音节、音位或词的其他子单元)。每个单元或子单元可以视为系统的状态。系统的给定高斯(第k个高斯)的概率密度函数fk(x0...xn)可以是任何类型的概率密度函数,例如具有如下形式的高斯函数:
[0055]
[0056]
[0057] 在上面的公式中,“i”是特征的索引,以及“k”是高斯的索引。在公式(1)中,下标k是高斯函数的索引。可能有数百至数十万个高斯为语言识别算法所使用。数量μki是2
系统的第k个高斯的特征χi的平均值。数量σki 是第k个高斯中的χi的方差。可以将一个或多个高斯与一个或多个不同的状态关联。例如,可以有L个不同的状态,其包含系统中的总数M个高斯。数量μki是在训练数据的所有时间窗口上属于fk(x0...xN)的xi的所有测量值的平均值,而cki是用于计算μki的对应测量值的方差。
[0058] 公式(1)可以计算每个高斯的概率以得到对应的识别概率Pr。根据具有最大概率的高斯,可以构建该特定时间窗口的最可能的状态、词、音位、字符等。注意,也可以使用给定时间窗口的最可能的状态来帮助确定较早或较晚时间窗口的最可能的状态,因为它们可以确定其中发生该状态的上下文。
[0059] 根据本发明的实施例,按如上所述来工作的图1A或1B中所示类型的识别方法(例如,语音识别方法)可以作为信号处理设备200的一部分来实现,如图2所示。系统200可以包括处理器201和存储器202(例如,RAM、DRAM、ROM等)。此外,如果要实现并行处理,则信号处理设备200可以具有多个处理器201。存储器202包括按如上所述来配置的数据和代码。确切地来说,存储器包括表示信号特征204的数据和概率函数206,每个概率函数206可以包括代码、数据或代码与数据的某种组合。
[0060] 设备200还可以包括公知的支持功能210,例如输入/输出(I/O)部件211、电源(P/S)212、时钟(CLK)213和高速缓存214。设备200可以可选地包括用于存储程序和/或数据的海量存储装置215,例如磁盘驱动器、CD-ROM驱动器、磁带驱动器等。控制器还可以可选地包括用于帮助控制器200与用户之间交互的显示单元216和用户接 口单元218。显示单元216可以采用显示文本、数字、图形符号或图像的阴极射线管(CRT)或平板屏幕的形式。用户接口218可以包括键盘、鼠标、游戏杆、光笔或其他装置。此外,用户接口218可以包括用于对待分析信号进行直接捕获的麦克风、视频摄像器或其他信号换能装置。处理器201、存储器202和系统200的其他组件可以经由图2所示的系统总线220彼此交换信号(例如代码指令和数据)。麦克风222可以通过I/O功能211耦合到设备200。 [0061] 如本文所使用的,术语I/O一般指将数据传输到系统200或从系统200传输数据以及将数据传输到外设或从外设传输数据的任何程序、操作或装置。每次传输是来自一个装置的输出和对另一个装置的输入。外设包括只输入装置,例如键盘和鼠标;只输出装置,例如打印机;以及例如可以用作输入和输出装置的可写CD-ROM的装置。术语“外设”包括外部装置,例如鼠标、键盘、打印机、监视器、麦克风、摄像头、外部Zip驱动器或扫描仪,以及内部装置,例如CD-ROM驱动器、CD-R驱动器或内部调制解调器或如闪速存储器读取器/写入器、硬盘的其他外设。
[0062] 处理器201可以执行程序204的程序代码指令中的对信号数据206和/或概率的信号识别,程序204由存储器202存储并检索并由处理器模块201执行。程序203的代码部分可以遵循多种不同编程语言(例如汇编、C++、JAVA或多种其他语言)的任何一种。处理器模块201形成在执行例如程序代码204的程序时成为专用计算机的通用计算机。虽然本文中将程序代码204描述为以软件形式实现并在通用计算机上执行,但是本领域技术人员将认识到,作为备选方式,该任务管理方法可以使用硬件、例如专用集成电路(ASIC)或其他硬件电路来实现。同样地,应该理解本发明实施例可以全部或部分地以软件、硬件或二者的某种组合来实现。
[0063] 在一个实施例中,其中程序代码204可以包括一组处理器可读指令,该组处理器可读指令实现与图1A的方法100或图1B的方法110 具有共有特征的方法。程序204一般可以包括一个或多个指令,该一个或多个指令指示处理器201获取发言者发言的语音信号;根据发言的语音信号确定运行时基音(runtime pitch);基于运行时基音将发言者归类;基于发言者的类别调整一个或多个声音模型参数;以及基于声音模型参数来执行对发言的语音识别分析。
[0064] 举例来说,程序204可以是较大的整体程序(例如计算机游戏的程序)的一部分。在本发明的某些实施例中,程序代码204可以在提供语言样本的初始化阶段(例如在游戏开始时)提示发言者说某个词或短语(例如发言者的姓名)。根据此样本,程序204可以按参考图1所描述的进行,以查找该发言者的最佳参数(例如fmin和fmax),并使用这些参数来运行110的语音识别。可以在程序得出结果之后保存这些参数,并在发言者再次使用该程序时使用。
[0065] 本发明的实施例提供更鲁棒且更精确的语言识别。在采用声音模型参数选择的语言识别的一个示例中,对单个女性发言者使用基于基音的发言者归类产生了94.8%的词精确度。不采用声音模型参数选择的常规语言识别算法,对于同一个女性发言者使用基于基音的发言者归类仅达到86.3%的词精确度。
[0066] 虽然上文是对本发明优选实施例的完整描述,但是还可以使用多种备选方案、修改和等效物。因此,本发明的范围应该不是参照上文描述来确定的,而是应该参照所附权利要求连同其等效物的完整范围来确定。可以将本文描述的任何特征(无论是否是优选的)与本文描述的任何其他特征(无论是否是优选的)组合。在下文的权利要求中,除非另行明确指示,否则不定冠词“一个”指该冠词后面为一个或多个项目的数量。所附权利要求不应解释为包括部件加功能的限制,除非在给定的权利要求中使用短语“用于...的部件”来明确指出此类限制。