具体实施方式
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、电话系统、包括任一上述系统或设备的分布式计算环境等等。
本发明可在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如程序模块,由计算机执行。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。设计本发明在分布式计算环境中实践,其中,任务由通过通信网络连接远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储媒质中,包括存储器存储设备。
参考图1,用于实现本发明的示例性系统包括以计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的本地总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)本地总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM131中。RAM132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘162、麦克风163和定位设备161,如鼠标、轨迹球或触摸板向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口195连接。
计算机110在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)172,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在远程计算机180上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
图2是人类语音的一部分的频谱的曲线图。在图2中,沿水平轴200示出频率,并沿垂直轴202示出频率分量的幅度。图2的曲线图示出响音人类语音包含共振或共振峰,如第一共振峰204、第二共振峰206、第三共振峰208以及第四共振峰210。每一共振峰由其中心频率F及其带宽B描述。
本发明提供了一种识别语音信号,响音语音与非响音语音中的共振峰频率和带宽的方法。由此,本发明能够跟踪声道共振。图3提供了这些方法的一般流程图。
在图3的步骤300中,通过量化可能的声道共振(VTR)频率和带宽来形成一组量化值,然后对量化值的不同组合形成条目,来构造一声道共振(VTR)码本,储存在表中。由此,所得的码本包含作为VTR频率和带宽的矢量的条目。例如,如果码本包含用于四个VTR的条目,则码本中的第i个条目x[i]将是矢量[F1i,B1i,F2i,B2i,F3i,B3i,F4i,B4i],其中,F1i、F2i、F3i和F4i是第一、第二、第三和第四VTR的频率,B1i、B2i、B3i和B4i是第一、第二、第三和第四VTR的带宽。在下文的讨论中,到码本的索引i可交替地用于储存在该索引上的值x[i]。当在下文单独使用该索引时,表示储存在该索引上的值。
在一个实施例中,依照以下表1中的条目量化共振峰和带宽,其中,“最小值(Hz)”是以赫兹表示的频率或带宽的最小值,“最大值(Hz)”是以赫兹表示的最大值,“量化数”是量化状态的数量。对于频率和带宽,将最小和最大之间的范围除以量化状态的数量来提供每一量化状态之间的分隔。例如,对于表1中的带宽B
1,范围260Hz均匀地除以5个量化状态,使得每一状态以65Hz从其它状态隔离。(即,40、105、170、235、300)。
|
最小值(Hz) |
最大值(Hz) |
量化数 |
F1 |
200 |
900 |
20 |
F2 |
600 |
2800 |
20 |
F3 |
1400 |
3800 |
20 |
F4 |
1700 |
5000 |
40 |
B1 |
40 |
300 |
5 |
B2 |
60 |
300 |
5 |
B3 |
60 |
500 |
5 |
B4 |
100 |
700 |
10 |
表1
表1中的量化状态数可产生总共1亿多个不同的VTR组。然而,由于约束F1<F2<F3<F4,实际上在码本定义的VTR搜索空间中有少得多的VTR组。
在形成码本之后,在步骤302,使用码本中的条目来训练描述余量随机变量的参数。这一余量随机变量是一组观测训练特征矢量和一组模拟特征矢量之差。以公式表示:
vt=ot-C(xt[i]) 公式1
其中,vt是余量,ot是t时刻的观测训练特征矢量,C(xt[i])是模拟特征矢量。
如图4所示,在需要时,通过向LPC倒频谱计算器402应用VTR码本400中的一组VRTxt[i],构造模拟特征矢量C(xt[i]),它执行以下计算:
公式2
其中,Cn(xt[i])是n阶LPC倒频谱特征矢量中的第n个元素,K是VTR的数量,fk是第k个VTR频率,bk是第k个VTR带宽,fs是采样频率,在许多实施例中为8kHz。Co元素被设为等于logG,其中,G是增益。
为产生用于训练余量模型的观测的训练特征矢量ot,说话者412生成一由麦克风416检测的声学信号,它同时也检测附加噪声414。麦克风416将声学信号转化成向模-数(A/D)转化器418提供的模拟电信号。模拟信号由A/D转换器418以采样频率fs进行采样,并将所得的样值转换成数字值。在一个实施例中,A/D转换器418以8Khz、每样值16比特对模拟信号进行采样,由此创建每秒16千字节的语音数据。数字样值被提供到帧构造器420,将这些样值组合成帧。在一个实施例中,帧构造器420每10毫秒创建包含25毫秒数据的新帧。
数据帧被提供到LPC倒频谱特征提取器422,它使用快速傅立叶变换(FFT)424将信号转换到频域,然后使用LPC系数系统426识别表示语音信号的帧的谱内容的多项式。使用递归428将LPC系数转化成LPC倒频谱系数。递归的输出是表示训练语音信号的一组训练特征矢量430。
模拟特征矢量410和训练特征矢量430被提供到余量训练器432,它训练余量vt的参数。
在一个实施例中,vt是具有平均值h和精度D的单个高斯型,其中,h是对特征矢量的每一分量具有分别的平均值的矢量,D是对特征矢量的每一分量具有分别的值的对角精度矩阵。
在本发明的一个实施例中,使用期望值最大化(EM)算法来训练这些参数。在这一算法的E步骤中,确定后验概率
在一个实施例中,使用后向-前向递归确定这一后验概率,定义为:
公式3
其中,αt(i)和βt(i)被递归地确定为:
公式4
公式5
在本发明的一个方面,使用动态模型中的基于目标的状态公式确定转移概率p(xt[i]|xt-1[j])和p(xt[i]|xt+1[j]),动态模型被参数化为:
xt(i)=rxt-1(j)+(1-r)Ts+wt 公式6
其中,xt[i]是帧t中VTR的值,xt-1[i]是前一帧t-1中VTR的值,r是速率,Ts是VTR的目标,在一个实施例中被约束到与帧t关联的语音单元,wt是帧t的噪声,在一个实施例中被假定为具有精度矩阵B的零均值高斯型。
使用这一动态模型,可以将转移概率描述为高斯函数:
p(xt[i]|xt-1[j])=N(xt[i];rxt-1(j)+(1-r)Ts,B) 公式7
p(xt[i]|xt+1[j])=N(xt+1[i];rxt(j)+(1-r)Ts,B) 公式8
其中,基于使用隐马尔可夫模型(HMM)分段系统执行的对语音单元的帧的分配来选择Ts。这一HMM系统在本领域中是众所周知的。
可选地,可通过令概率仅依赖于当前观测矢量而非矢量的序列来估算后验概率
使得后验概率变为:
γt(i)≈p(xt[i]|ot) 公式9
它可被计算为:
公式10
其中,
是余量的平均值,
是余量的精度,如从先前的EM算法的迭代确定,或如果是第一次迭代,被初始地设定。
在执行了E步骤来标识后验概率
之后,执行M步骤,使用以下公式来确定余量的平均值h和方差D-1(精度矩阵的逆)的每一对角元素d-1:
公式11
公式12
其中,N是训练语音中的帧数,I是VTR的量化组合数,ot是t时刻的观测特征矢量,C(xt[i])是对VTRxt[i]的模拟特征矢量。
余量训练器432通过迭代E步骤和M步骤多次更新平均值和协方差,每次使用前一次迭代的平均值和方差。在平均值和方差达到稳定值之后,将它们储存为余量参数434。
一旦构造了余量参数434,它们可以在图3的步骤304用于识别输入语音信号中的VTR。在图5中示出了用于识别共振峰的系统的框图。
在图5中,由说话者生成语音信号512。由麦克风516、A/D转化器518、帧构造器520以及包括FFT 524、LPC系统526和递归528的特征提取器522将语音信号和附加噪声转化成特征矢量流530。注意,麦克风516、A/D转化器518、帧构造器520和特征提取器522以与图4的麦克风416、A/D转化器418、帧构造器420和特征提取器422类似的方式操作。
特征矢量流530连同余量参数434和模拟特征矢量410一起提供到共振峰跟踪器532。共振峰跟踪器532使用动态编程来识别最可能的一列共振峰534。具体地,它使用维特比(Viterbi)解码算法,其中,网格图表中的每一节点具有最优局部得分为:
公式13
基于最优性原则,处理阶段t+1的最优局部似然性可以使用以下维特比递归来计算:
公式14
在公式14中,使用上文的状态公式6来计算“转移”概率p(xt+1[i]=x[i]|xt[i]=x[i′]),得高斯分布:
p(xt+1[i]=x[i]|xt[i]=x[i′])=N(xt+1[i];rxt(i′)+(1-r)Ts,B) 公式15
其中,rxt(i′)+(1-r)Ts是该分布的平均值,B是该分布的精度。Ts的值基于初始HMM分段来选择,执行初始HMM分段以将帧与语音单元对齐。这类HMM分段系统在本领域中是众所周知的。
公式14的观测概率p(ot+1|xt+1[i]=x[i])作为高斯型来处理,并从观测公式1和余量参数h和D来计算,使得:
p(ot+1|xt+1[i]=x[i])=N(ot+1;C(xt+1[i]+h,D) 公式16
公式14中最优量化索引i′的反向跟踪提供了估计的VTR序列。
为减少必须执行的计算的数量,可执行削减束搜索(pruning beam search)来代替严格的维特比搜索。在一个实施例中,使用削减的极端形式,其中,对每一帧仅标识一个索引。
通过在对共振峰确定转移概率时使用基于目标的连续性约束,本发明即使在非响音语音区段中也允许准确地跟踪共振峰。另外,通过使用LPC倒频谱特征矢量,本发明避免了储存大模拟特征矢量的需要。相反,可以在运行时刻使用上文的公式2容易地计算模拟特征矢量。
尽管参考具体的实施例描述了本发明,本领域的技术人员将认识到,可以在不脱离本发明的精神和范围的情况下在形式和细节上作出改变。