用于区别口声和其它声音的装置和方法 【技术领域】
本发明涉及一种用于鉴别口声(vocal sound)的装置和方法,特别涉及一种用于区别口声和其它声音的装置和方法。
背景技术
区别口声和其它声音是声音识别领域中必须解决的一个课题并且实际上正在对此进行研究。执行声音识别以自动理解例如包括人声和环境或自然声的环境声音的起源。即执行所述声音识别以鉴别所述音源是例如人的声音还是由于地板上一片破碎的玻璃而产生的撞击声音。在识别音源的基础上,可以建立类似于人理解的语义意义,因此,音源的识别是声音识别技术的首要目标。
由于没有人能够断定在世界中存在有多少种声音,所以,声音识别涉及比语音识别更广泛的声音领域。因此,所述声音识别集中在相对接近将被开发的声音识别系统的潜在应用功能的有限音源。
有各种音源作为将被识别的目标。作为在家中可能产生的声音的例子,可能有由一硬棍敲击一片玻璃所产生的单一声音、由于爆炸所产生地复杂声音、由一在地板上跳动的硬币所产生的声音、诸如说话的口声、诸如发笑、哭泣和尖叫的非语言声音、由人的活动或运动产生的声音以及从厨房、浴室、卧室或家用电器等平常产生的声音。
由于存在无数种声音,所以,就需要一种用于将由人产生的口声与各种声音区别开来的装置和方法。
【发明内容】
本发明提供一种装置和方法,用于通过从一输入音频信息中提取音调轮廓信息、从所述音调轮廓信息中提取多个参数和以预定方式使用所提取的参数来区别口声和非口声。
根据本发明的一个方面,提供了一种用于区别口声和非口声的装置,该装置包括:用于将一输入信号划分成多个帧的一成帧单元,其中的每个帧都具有一个预定的长度;一音调提取单元,用于确定每个帧是一发音帧还是一非发音帧并提取用于所述帧的音调轮廓;一零交叉比计算器,用于分别计算每个帧的零交叉比;一参数计算器,用于计算由所述音调轮廓单元确定的包括所述发音帧和所述非发音帧的时间长度比、所述音调轮廓的统计信息和频谱特征;和一分类器,用于输入从所述参数计算器输出的零交叉比和参数并确定所述输入信号是否是一口声。
根据本发明的另一方面,提供了一种用于区别口声和非口声的方法,该方法包括:将一个输入信号划分成多个帧,其中的每个帧都具有一预定的长度;确定每个帧是一发音帧还是一非发音帧并提取用于所述帧的音调轮廓;计算用于每个帧的零交叉比;计算包括所确定发音帧和非发音帧的时间长度比、所述音调轮廓的统计信息和频谱特征的参数;和使用所计算的参数确定所述输入信号是否是一口声。
【附图说明】
通过下面结合附图对本发明范例性实施例的详细描述,本发明的上述和其它特性和优点将会变得更加明显,其中:
图1的框图示出了根据本发明一实施例用于区别一口声的装置;
图2的框图详细地示出了LPC10装置;
图3A和3B的表格示出了用于12个测试的训练和测试集;
图4的表格示出了根据图3A和3B所示表格的测试结果;
图5的曲线示出了与输入到一神经网络的9个特性相关的区别性能;和
图6示出了当发音帧和非发音帧被相互混合时更新局部V/U时间长度比的时间。
【具体实施方式】
下面将结合其中示出了本发明实施例的附图更加详细地描述本发明。
图1的框图示出了根据本发明一实施例用于区别口声的装置,参看图1,用于区别口声的装置包括成帧单元10、音调提取单元11、零交叉比计算器12、参数计算器13和分类器14。
参数计算器13包括频谱参数计算器131、音调(pitch)轮廓信息计算器132以及发音帧/非发音帧(voiced/unvoiced)(V/U)时间长度比计算器133。
成帧单元10将输入音频信号分成多个帧。这里,其为短期限帧的帧表示一视窗处理的数据段。所述帧的窗口长度是10ms到30ms,最好是20ms,并对应两个以上的音调周期。一成帧处理是通过将一窗口在所述帧长度的50%-100%的范围内移位一个帧步(frame step)实现的。作为本实施例所述帧步,使用了所述帧长度的50%,即10ms。
音调提取单元11提取用于每个帧的的音调。任何一种音调提取方法都可以被用于所述音调提取。本发明采用作为所述音调提取方法的传统第10阶线性预测编码方法(LPC10)的简化音调跟踪器。图2的框图详细地示出了LPC10装置。汉明窗口21被用于一信号的多个帧。带通滤波器22通过汉明窗口21的输出信号当中的60-900Hz频带信号。LPC反向滤波器23输出所述带通滤波器信号的LPC的剩余信号。自动关联器24自动关联所述LPC剩余信号并在自动关联的结果当中选择5个峰值。V/U确定器25使用所述带通信号、所述自动关联结果和与所述帧相关的剩余信号的峰值确定当前帧是一发音帧还是一非发音帧。音调跟踪单元26在V/U确定结果和5个峰值的基础上使用一动态编程方法跟踪来自3个先前帧的基本频率,即音调。最后,音调跟踪单元26通过将所述发音帧的音调跟踪结果与所述非发音帧的0音调链接在一起提取一音调轮廓。
零交叉速率计算器12针对所有的帧计算一个帧的零交叉速率。
参数计算器13基于所提取的音调轮廓输出特征值。频谱参数计算器131根据从音调提取单元11输出的音调轮廓的幅值频谱计算频谱特征。频谱参数计算器131根据所述音调轮廓的幅值频谱通过每0.3秒执行一次音调轮廓的32点FFT计算一重心(centroid)、一带宽和一转出(roll-off)频率。这里,所述转出频率是指当所述音调轮廓的幅值频谱从最大功率下降到低于所述最大功率的85%的功率时的频率。
当f(u)指出一音调轮廓的幅值频谱的32点FFT频谱时,重心(centroid)C、带宽B和转出频率SRF可用下列等式1计算:
[等式1]
C=Σμ=0μ=15u|f(u)|2Σμ=0μ=15|f(u)|2]]>
B=Σμ=0μ=15(u-c)2|f(u)|2Σμ=0μ=15|f(u)|2]]>
SRF=max(h|Σμ=0kf(u)<0.85*Σμ=015f(u))]]>
音调轮廓信息计算器132计算所述音调轮廓的平均值和变量。每当输入一个新信号或每当一先前信号结束时,所述音调轮廓信息被初始化。第一帧的音调值被设置为一初始平均值,和所述第一帧的音调值的二次幂被设置为一初始变量值。
在执行初始化之后,所述音调轮廓信息计算器132每一帧步(在本实施例中是每10ms)更新在一帧单元中的所述音调轮廓的所述平均值和所述变量,如等式2所示:
[等式2]
u(Pt,t)=u(Pt,t-1)*N-1N+Pt*1N]]>
u2(Pt,t)=u2(Pt,t-1)*N-1N+Pt*Pt*1N]]>
var(Pt,t)=u2(Pt,t)-u(Pt,t)*u(Pt,t)
这里,u(Pt,t)表示在时间t处的音调轮廓的平均值,N表示被计数帧的数量,u2(Pt,t)表示所述平均值的二次幂值,vap(Pt,t)表示在时间t处所述音调轮廓的变量。音调轮廓,Pt,表示当一输入帧是发音帧时的音调值,O表示所述输入帧是一非发音帧时的音调值。
V/U时间长度比计算器133计算局部V/U时间长度比和总V/U时间长度比。局部V/U时间长度比表示一单一发音帧与一单一非发音帧的时间长度比,总V/U时间长度比表示总发音帧和总非发音帧的时间长度比。
V/U时间长度比计算器133包括一总帧计数器(未示出),用于单独地计数累积的发音和非发音帧,以便计算所述总V/U时间长度比,还包括一局部帧计数器(未示出),用于分离地计数每个帧的发音和非发音帧,以便计算所述局部V/U时间长度比。
每当输入一个新信号或每当一先前信号段结束时,通过复位所述总帧计数器初始化所述总V/U时间长度比。这里,所述信号段表示一具有大于背景声的能量而没有持续时间限制的信号。
当一发音帧结束且开始随后的非发音帧时,通过复位所述局部帧计数器初始化所述局部V/U时间长度比。当执行所述初始化时,根据所述发音帧与所述发音帧加非发音帧的比值计算所述局部V/U时间长度比。另外,每当一发音帧被转移给一非发音帧时,所述局部V/U时间长度比被更新。
图6示出了当所述发音帧和所述非发音帧被相互混合时更新局部V/U时间长度比的时间。参看图6,V表示一发音帧,U表示一非发音帧。标号60表示更新一局部V/U时间长度比的时间,即从一发音帧转移到一非发音帧的时间。标号61表示更新一非发音帧时间长度的时间,和标号62表示等待对一发音时间长度计数的时间。
利用下述等式3获得所述总V/U时间长度比V/U_GTLR。
[等式3]
V/U_GTLR=NVNV+NU]]>
NV++,如果V
NU++,如果U
这里,NV和NU分别表示发音帧的数量和非发音帧的数量。
分类器14接受从频谱参数计算器131、音调轮廓信息计算器132、V/U时间长度比计算器133和零交叉速率计算器12输出的各种参数作为输入并最后确定所输入的音频信号是否是一个口声。
这里,分类器14还可以包括一位于其输入侧的同步单元(未示出)。该同步单元使输入给所述分类器14的参数同步。由于在不同的时间处更新所述参数中的每一个,所以这种同步可能是必须的。例如,每隔10ms就要更新一次零交叉速率、音调轮廓的平均值和变量以及总V/U时间长度比,和每隔0.3秒就要更新一次所述音调轮廓的幅值频谱的频谱参数。每当一个帧被从一发音帧转移到一非发音帧时,都要随机更新所述总V/U时间长度比。因此,如果当前在分类器14的输入一侧中新的值没有被更新,那么,就要提供先前的值作为输入值,和如果输入了新的值,那么,在该新值被同步之后,提供该被同步的值作为新输入值。
最好使用一神经网络作为分类器14。在本实施例中,使用具有9个输入神经元和一个输出神经元的前馈多层感知机作为分类器14。可以选择中间层,诸如具有5个神经元的第一层和具有2个神经元的第二层。所述神经网络是预先训练的,从而,使用从一已知声音信号提取的9个参数将该已知声音信号分类成一声音信号。当这种训练完成时,所述神经网络使用从将被分类的一音频信号中提取的9个参数确定该将被分类的音频信号是否是一声音信号。所述神经网络的输出值表示当前信号是否是声音信号的后验概率(posterior probability)。例如,如果假设所述后验概率的平均判定值是0.5,那么,当所述后验概率大于或等于0.5时,当前信号被确定为是一声音信号,和当所述后验概率小于0.5时,则当前信号被确定为是除了声音信号以外的某些其它信号。
表1示出了基于从21种音效CD中收集的周围环境声音识别数据库和现实世界计算公司(RWCP)数据库获得的实验结果。数据集是一单调性,采样速率是16,和每个数据的大小是16比特。收集了超过200个相对利用包括英语、法语、西班牙语和俄语的各种语言进行从单字到数分钟的独白的会话、阅读和广播的男人声音的特征。
[表1]内容 特征广播 50法语广播 10会话英语 50法语 20西班牙语 10意大利语 5日语 2德语 2俄语 2匈牙利语 2犹太语 2粤语 2讲话 60
这里,所述广播包括新闻、天气报告、交通现代化、商业广告和体育新闻,所述法语广播包括新闻和天气报告。所述讲话包括涉及法院、教堂、警局、医院、Casino、影剧院、托儿所和交通等场合产生的口声。
表2示出了相对女人声音所获得的特征数。
[表2]内容 特征广播 30利用其它语言的新闻广播 16会话英语 70意大利语 10西班牙语 20俄语 7法语 8瑞典语 2德语 2汉语(Mandarin) 3日语 2阿拉伯语 1语音 50
这里,用于新闻广播的其它语言包括意大利语、汉语、西班牙语和俄语,所述讲话包括从涉及警局、影剧院、交通和调度中心等场合产生的口声。
除口声以外的其它声音包括从屋中的家具、家用电器和实用物品产生的声音、各种撞击声以及由于手脚的运动而产生的声音。
表3示出了本实验的细节。
[表3] 男人的声音 女人的声音 其它声音 特征 217 221 4000 帧 9e4 9e4 8e5 时间 1h 1h 8h
该实验是使用不同训练和测试集执行的。图3A和3B是两个表,示出了用于12次测试的训练和测试集。在图3A和3B中,神经网络的规模指出输入神经元的数量、第一中间层的神经元的数量、第二中间层的神经元的数量以及输出神经元的数量。
图4的表示出了根据图3A和3B所示的表进行测试的结果。在图4中,假报警速率是指当一测试信号不是口声但却被确定为是口声时的时间百分比。
参看图4,第七测试示出了最佳性能。其中使用1000个人口声采样和2000个其它声音采样训练所述神经网络的第一测试没有示出足够的口声鉴别性能。其它使用10000到80000训练采样的测试示出了类似的口声鉴别性能。
图5的曲线示出了关于向一神经网络输入9个特性的鉴别性能。在图5中,ZCR表示一零交叉速率、PIT表示一个帧的音调、PIT_MEA表示一音调轮廓的平均值、PIT_VAR表示一音调轮廓的变量、PIT_VTR表示总的V/U时间长度比、PIT_KZB表示局部V/U时间长度比、PIT_SPE_CEN表示一音调轮廓的幅值频谱的重心、PIT_SPE_BAN表示一音调轮廓的幅值频谱的带宽、和PIT_SPE_ROF表示一音调轮廓的幅值频谱的转出频率。参看图5,PIT和PIT_VTR示出了比其它更佳的性能。
如上所述,根据本发明,通过从除一音调轮廓信息以外的所述音调轮廓信息的幅值频谱中提取一重心、一带宽和一转出频率并将其用做一分类器的输入,可以获得诸如笑声、哭声以及说话声的经改善的口声鉴别性能。因此,本发明能够被用于办公室和家庭的安全系统并能够用于声音识别系统中使用音调信息检测说话开始的处理器。本发明还能够被用于在通信环境中区别口声和其它声音的声音交换系统。
本发明可以通过运行来自于计算机可读介质的程序在通用计算机中加以实施,所述计算机可读介质包括但不限于诸如磁存储介质(ROM、RAM、软盘、磁带等)、光可读介质(CD-ROM和DVD等)和载波(经互联网转移)的存储介质。本发明还可以作为一计算机可读介质加以实施,所述计算机可读介质具有嵌入其中的使一定数量的计算机系统经一网络相互连接以执行分布式处理的计算机可读程序码单元。通过本发明所属现有技术中的一编程器可以很容易地演绎用于实施本发明的所述功能程序、代码和代码段。
在本发明最佳实施例假设输入视频数据是被可变长编码的同时,本领域的技术人员应当理解,根据本发明的精神和范围,也可以实施所述输入视频数据的定长编码。所述最佳实施例仅仅是被用于描述场合而不是被用于限制。因此,本发明的范围并不由本发明的细节描述定义,而是由所附的权利要求定义,该范围内的所有差异都将被结构在包括在本发明之中。