1.本技术涉及语音信号处理技术领域,尤其涉及一种语音信号处理方法及其相应的装置、计算机设备、计算机可读存储介质,以及计算机程序产品。
背景技术:2.语音通信中,近端收听者听到的语音质量会受到其所在环境中存在噪声的干扰,一般这个问题会通过近端收听者增大其播放设备的音量来解决。语音通信系统提供的帮助则是通过自动增益控制,将远端信号的音量级控制在一个稳定的范围内,对于近端音量增益有限,当远端语音音量过大时还会降低音量,因此对于提高近端收听到的语音的清晰度作用较小。提高设备播放音量以及自动增益控制都是提高音量,提高音量解决环境噪声问题直接有效,但存在一定的局限性。首先是音量提高的程度受设备限制,其次是音量过大会让人觉得听起来不舒服并对设备以及人耳存在损伤。因此需要对现有技术存在的问题提出相应的有效解决方案。
技术实现要素:3.本技术的首要目的在于解决上述问题至少之一而提供一种语音信号处理方法及其相应的装置、计算机设备、计算机可读存储介质、计算机程序产品。
4.为满足本技术的各个目的,本技术采用如下技术方案:
5.适应本技术的目的之一而提供的一种语音信号处理方法,包括如下步骤:
6.持续获取通话过程中通话远端的语音帧;
7.根据所述语音帧相对应的远端语音能量谱数据及通话近端的噪声能量谱数据计算信噪比;
8.在远端语音信号的总能量不增加的前提下,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益;
9.根据所述频谱增益控制远端语音信号的输出。
10.深化的实施例中,持续获取语音通话过程中通话远端的包含语音信号的语音帧,包括如下步骤:
11.持续获取通话过程中通话远端的数据帧;
12.判断该数据帧是否为包含语音信号的语音帧;
13.当所述数据帧为语音帧时,根据该语音帧更新远端语音信号的语音能量谱数据;
14.当所述数据帧为非语音帧时,沿用当前最新的远端语音信号的语音能量谱数据。
15.深化的实施例中,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,包括如下步骤:
16.根据所述语音帧计算远端语音信号的语音能量谱数据;
17.从通话近端产生的近端语音信号中预估出噪声能量谱数据;
18.根据语音能量谱数据与噪声能量谱数据计算信噪比。
19.具体化的实施例中,从通话近端产生的近端语音信号中预估出噪声能量谱数据,包括如下步骤:
20.采集通话近端产生的近端语音信号;
21.对近端语音信号进行回声消除处理;
22.对近端语音信号进行噪声估计,获得噪声能量谱数据,所述噪声为近端环境噪声。
23.深化的实施例中,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,包括如下步骤:
24.当所述信噪比指示远端语音信号能量高于噪声信号能量时,将远端语音信号中信噪比相对较高的频点的能量,转移分配给远端语音信号中信噪比相对较低的频点;
25.当所述信噪比指示远端语音信号能量低于噪声信号能量时,将远端语音信号中信噪比相对较低的频点的能量,转移分配给远端语音信号中信噪比相对较高的频点。
26.深化的实施例中,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,包括如下步骤:
27.应用二分类函数对所述信噪比进行判断,当所述信噪比指示远端语音信号能量高于噪声信号能量时,根据第一预设公式计算频谱增益,以将远端语音信号中信噪比相对较高的频点的能量,分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,根据预设第二公式计算频谱增益,以将远端语音信号中信噪比相对较低的频点的能量,分配给远端语音信号中信噪比相对较高的频点。
28.深化的实施例中,根据所述频谱增益控制远端语音信号的输出,包括如下步骤:
29.将所述频谱增益与所述语音帧的频域信号相乘获得新频域信号;
30.对所述新频域信号执行傅里叶变换运算将其变换到时域,得到增强后的远端语音信号;
31.输出所述远端语音信号。
32.适应本技术的目的之一而提供的一种语音信号处理装置,包括:语音帧获取模块、信噪比计算模块、增益计算模块,以及控制输出模块;其中,所述语音帧获取模块,用于持续获取通话过程中通话远端的语音帧;所述信噪比计算模块,用于根据所述语音帧相对应的远端语音能量谱数据及通话近端的噪声能量谱数据计算信噪比;所述增益计算模块,用于在远端语音信号的总能量不增加的前提下,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益;所述控制输出模块,用于根据所述频谱增益控制远端语音信号的输出。
33.深化的实施例中,所述语音帧获取模块包括:数据帧接收子模块,用于持续获取通话过程中通话远端的数据帧;类型判断子模块,用于判断该数据帧是否为包含语音信号的语音帧;当所述数据帧为语音帧时,根据该语音帧更新远端语音信号的语音能量谱数据;当所述数据帧为非语音帧时,沿用当前最新的远端语音信号的语音能量谱数据。
34.深化的实施例中,所述信噪比计算模块包括:频谱转换子模块,用于根据所述语音帧计算远端语音信号的语音能量谱数据;噪声估计子模块,用于从通话近端产生的近端语音信号中预估出噪声能量谱数据;信噪比计算子模块,用于根据语音能量谱数据与噪声能量谱数据计算信噪比。
35.具体化的实施例中,所述噪声估计子模块包括:近端采集子模块,用于采集通话近
端产生的近端语音信号;回声消除子模块,用于对近端语音信号进行回声消除处理;噪声计算子模块,用于对近端语音信号进行噪声估计,获得噪声能量谱数据,所述噪声为近端环境噪声。
36.深化的实施例中,所述增益计算模块被配置为:当所述信噪比指示远端语音信号能量高于噪声信号能量时,将远端语音信号中信噪比相对较高的频点的能量,转移分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,将远端语音信号中信噪比相对较低的频点的能量,转移分配给远端语音信号中信噪比相对较高的频点。
37.深化的实施例中,所述增益计算模块被配置为:应用二分类函数对所述信噪比进行判断,当所述信噪比指示远端语音信号能量高于噪声信号能量时,根据第一预设公式计算频谱增益,以将远端语音信号中信噪比相对较高的频点的能量,分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,根据预设第二公式计算频谱增益,以将远端语音信号中信噪比相对较低的频点的能量,分配给远端语音信号中信噪比相对较高的频点。
38.深化的实施例中,所述控制输出模块包括:增加添加子模块,用于将所述频谱增益与所述语音帧的频域信号相乘获得新频域信号;时域转换子模块,用于对所述新频域信号执行傅里叶变换运算将其变换到时域,得到增强后的远端语音信号;信号输出子模块,用于输出所述远端语音信号。
39.适应本技术的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的语音信号处理方法的步骤。
40.适应本技术的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的语音信号处理方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
41.适应本技术的另一目的而提供的一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术任意一种实施例中所述语音信号处理方法的步骤。
42.相对于现有技术,本技术的优势如下:
43.本技术通过持续跟踪远端语音信号以及近端噪声信号,实时计算远端语音信号每一语音帧的频谱增益,通过频谱增益对远端语音信号的不同频点的频谱能量进行重分配,在频域上实现了远端语音信号的不同频点之间的均衡效果,达到在不增加语音信号能量的条件下提高环境噪声下语音的清晰度的效果。
44.本技术充分考虑到自动增益控制技术的影响,因此无需额外增强远端语音信号的能量,不必提升通话音量即可实现不同频点之间的均衡调节,实现成本低,实现效果佳,特别的,还能有效保护受话者人耳健康。
45.本技术可以用于网络视频直播、在线客服、即时通信等互联网应用场景中,为终端设备在即时通话过程中提高远端语音信号的清晰度,使通话效率更高,通话效果更好,改善用户受话体验。
communications service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
62.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
63.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
64.本技术的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
65.本技术所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本技术的技术方案所调用即可。
66.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
67.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
68.本技术的一种语音信号处理方法,应用在由服务器支持即时通话的场景下,包括但不限于各种即时通信、网络视频直播、在线客服等示例性应用场景,该方法可被编程实现为计算机程序产品,部署于终端设备中运行而实施。
69.请参阅图1,并参考图2,在本技术的语音信号处理方法的典型实施例中,其包括如下步骤:
70.步骤s1100、持续获取通话过程中通话远端的语音帧:
71.在所述的示例性应用场景中,通话双方或多方进入通话环境之下,建立起彼此之间的数据通信链路,一方发起的通话会被其他方接收,接收方便可获取到用于封装远端发话者的语音信号的语音帧,在本技术中,相对于接收方而言的此一语音信号被称为远端语音信号。在多人会话环境中,所述的语音帧也可以封装多个通话方的叠加语音信号,对于接收方而言,理论上均可将其视为单一语音信号。后文为便于理解,本技术主要以如图3所示的双方通话场景为主对本技术的技术方案进行阐述。
72.图3所示,通话的双方通过网络进行数据传输,对应以上示例性应用场景,主要是基于互联网进行数据传输,远端发话者产生的远端语音通过其计算机设备处理之后,成为远端语音信号,被封装成语音帧传输至近端接收者一侧的计算机设备处,在此一过程中,被近端接收者的计算机设备中运行的一个实现了本技术的方法的计算机程序的清晰度增强模块进行语音增强处理,一方面消除噪声,另一方面则控制远端语音信号的频谱增益,最终输出至近端计算机设备的扬声系统中发声,以被受话者接收。
73.可以理解,在远端和近端双方通话过程中,对于近端而者,将源源不断接收到远端的相关语音帧,因此,近端可以通过所述清晰度增加模块接收到所述语音帧。
74.步骤s1200、根据所述语音帧相对应的远端语音能量谱数据及通话近端的噪声能量谱数据计算信噪比:
75.根据所述语音帧可以进行数据转换,所述语音帧所封装的语音数据,可以通过傅里叶变换将所述语音帧变换到频域,获得远端语音相对应的能量谱数据,为便于形象理解,可以将其理解为能量谱图。能量谱图也称能量谱密度,能量谱密度描述了信号或时间序列的能量如何随频率分布,具体而言,能量谱是原语音信号傅立叶变换的平方。
76.同理,由于近端的计算机设备也在源源不断地采集本地的语音信号,获得近端语音信号,此时,可以从其近端语音信号中进行噪声估计,获得相应的噪声信号,然后将其同理转换为噪声能量谱数据。
77.根据远端语音信号相对应的语音能量谱数据及近端的噪声能量数据,便可计算获得相应的信噪比指标数据,信噪比即为信号能量与噪声能量之比,在本技术中,用于衡量远端语音信号与近端噪声信号之间的能量强弱关系,后续可以此处获得的信噪比用于实施频谱增益控制。
78.步骤s1300、在远端语音信号的总能量不增加的前提下,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益:
79.本技术中,在计算远端语音信号的频谱增益时,遵循一个预设条件,该预设条件确保在每一语音帧的频谱增益计算中,确保远端语音信号的总能量不再增加,即不再额外为远端语音信号提高能量,为此,本技术仅在远端语音信号的频域上的各个不同频点之间调节能量的高低,通过此举来确保无需增加额外的能量支持,远端语音信号仍能保持较高的语音清晰度。
80.可以理解,由于远端语音信号中的不同频点的能量被根据信噪比的高低进行合理化重新分配,因此,实现了远端语音信号在频域上的能量均衡控制,实现对远端语音信号的优化。
81.区分所述信噪比高低而计算所述频谱增益的方式,可由本领域技术人员遵循本技术的创造性原理揭示而灵活实施,例如,给定一个判断信噪比高低的阈值,在信噪比高于该
阈值时应用遵循于所述预设条件的第一种计算方式计算频谱增益,在信噪比低于该阈值时应用遵循于所述预设条件的第二种计算方式计算频谱增益。一般地,将所述阈值设置为0,当信噪比大于0时,表示语音信号能量高于噪声信号能量,当信噪比小于0时,表示噪声信号能量高于语音信号能量。除此之外,本技术也推荐按照如下两种方式来实现根据信噪比计算频谱增益的过程。
82.本技术变通实施的一种实施例中,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,通过分别信噪比不同的两种情形来实施频谱增益计算:
83.其一、当所述信噪比指示远端语音信号能量高于噪声信号能量时,应用噪声成比例策略:将远端语音信号中信噪比相对较高的频点的能量,转移分配给远端语音信号中信噪比相对较低的频点:应当理解,被转移能量的频点,可以是信噪比相对较高的全量频点中的部分频点,并非特指其中的全量频点。同理,接收分配能量的频点,也可以是信噪比相对较低的全量频点中的部分频点,并非特指其中的全量频点。对此,本领域技术人员可以根据此一原理灵活确定重新分配重量所涉的频点的范围。
84.其二、当所述信噪比指示远端语音信号能量低于噪声信号能量时,应用噪声反比例策略:将远端语音信号中信噪比相对较低的频点的能量,转移分配给远端语音信号中信噪比相对较高的频点:此举等效于抑制噪声能量强的频点的语音信号而增益到噪声能量弱的频点的语音信号。应当理解,被转移能量的频点,可以是信噪比相对较低的全量频点中的部分频点,并非特指其中的全量频点。同理,接收分配能量的频点,也可以是信噪比相对较高的全量频点中的部分频点,并非特指其中的全量频点。对此,本领域技术人员可以根据此一原理灵活确定重新分配重量所涉的频点的范围。
85.此一变通实施例,根据信噪比高低采用不同的控制策略,即噪声成比例策略和噪声反比例策略,两种策略均是在总能量不变的前提下进行能量重新分配,始终围绕控制语音清晰度实施。
86.本技术变通实施的另一实施例中,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,应用二分类函数对所述信噪比进行判断,当所述信噪比指示远端语音信号能量高于噪声信号能量时,根据第一预设公式计算频谱增益,以将远端语音信号中信噪比相对较高的频点的能量,分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,根据预设第二公式计算频谱增益,以将远端语音信号中信噪比相对较低的频点的能量,分配给远端语音信号中信噪比相对较高的频点。
87.可以看出,此一变通实施例是前一变通实施例在算法上的运用,具体而言:
88.一、对应所述声成比例策略1:
89.信噪比高于0时,即信噪比高的情况下,语音信号的能量大于噪声能量,这时可以通过降低信噪比高的频点的能量,分配给信噪比低的频点,如下第一预设公式(1.1)所示。
[0090][0091]
其中g为频谱增益,f为频率,k为帧数,e
s
为估计的语音能量谱数据,e
n
为噪声能量谱数据,c为保证能量不变的标量,ρ∈[0,1]为调控程度ρ取值为0时为完全不调控,ρ取值为
1时为完全调控,完全调控情况下,语音能量如果大于噪声能量时,语音信号的每个频点能量将大概率大于噪声的每个频点的能量。
[0092]
二、对应所述噪声反比例策略2:
[0093]
但当信噪比低于0时,即噪声能量大于信号能量时,策略1的效果会有所下降,因此更好的方法时在低信噪比情况下使用策略2,噪声反比例:抑制噪声能量强的频点的语音信号,增益到噪声能量弱的频点的语音信号,这样可以有效地保证一些频点的信噪比,从而有效地提升噪声环境下语音的清晰度,如下第二预设公式(1.2)所示。
[0094][0095]
对于策略1与策略2,本技术根据估计的信噪比,使用sigmoid二分类函数计算权重参数,组合策略1与策略2,如公式(1.3)。
[0096][0097]
其中,g
s1
为策略1中增益计算方法,g
s2
为策略2中增益计算方法。之前带入计算的频域能量谱中有在分式之下的,如式(1.1)中e
s
(f,k),式(1.2)中e
n
(f,k),e
s
(f,k),其代入计算前都进行一个最小门限值的处理,以防数值为0或太小导致计算越界。
[0098]
此一变通实施例进一步给出了利用具体公式为远端语音信号计算频谱增益的方法,可以看出,此一方式易于实施,计算效率高,计算量小,可以确保运行性能佳。
[0099]
根据以上各个变通实施例可以看出,在区分噪声比进行频谱增益计算的过程中,近端噪声信号能量起到了对照作用,参照噪声信号能量与远端语音信号能量之间的相对关系,对远端语音信号中各个频点的能量进行均衡调节而确定相应的频谱增益,由此实现远端语音信号总能量基本不变的情况下,提升语音清晰度。
[0100]
步骤s1400、根据所述频谱增益控制远端语音信号的输出:
[0101]
当确定了所述的频谱增益之后,便可利用计算出来的频谱增益对远端语音信号进行变换处理,然后将其输出扬声。
[0102]
图4.1和图4.2分别为使用策略1与策略2处理语音信号的声压级示意图,其中三条曲线分别为噪声清晰度增强前后信号的频域声压级,处理过程前后语音信号能量不发生改变。图4.1为信号能量大于噪声能量的情况,应用策略1进行处理,信噪比为5db,可以看出1khz
‑
3khz附近语音信号的频谱能量增益后大过噪声的能量谱,而对于信噪比高的频点如0.5khz附近,7khz附近的语音信号能量则有衰减。图4.1为信号能量小于噪声能量的情况,应用策略2进行处理,信噪比为
‑
5db,语音能量在小于1khz的频带衰减,但是在1khz之后有明显收益,其中3khz
‑
4khz附近语音信号增益前整体小于噪声能量,增益后大于噪声能量。图4.1,图4.2说明策略1与策略2均能较好达到策略的目标。
[0103]
根据以上关于本技术的典型实施例的揭示,可以理解,本技术克服了现有技术中的不足,且获得丰富的积极效果,包括但不限于如下:
[0104]
本技术通过持续跟踪远端语音信号以及近端噪声信号,实时计算远端语音信号每一语音帧的频谱增益,通过频谱增益对远端语音信号的不同频点的频谱能量进行重分配,在频域上实现了远端语音信号的不同频点之间的均衡效果,达到在不增加语音信号能量的条件下提高环境噪声下语音的清晰度的效果。
[0105]
本技术充分考虑到自动增益控制技术的影响,因此无需额外增强远端语音信号的能量,不必提升通话音量即可实现不同频点之间的均衡调节,实现成本低,实现效果佳,特别的,还能有效保护受话者人耳健康。
[0106]
本技术可以用于网络视频直播、在线客服、即时通信等互联网应用场景中,为终端设备在即时通话过程中提高远端语音信号的清晰度,使通话效率更高,通话效果更好,改善用户受话体验。
[0107]
尽管本技术已经通过上述典型实施例及其变通实施例给出了达成实现本技术的发明目的的技术方案,以下仍然可以通过更为丰富的其他实施例,来进一步丰富和体现本技术的创造性,例如:
[0108]
请参阅图5,深化的一种实施例中,所述步骤s1100、持续获取语音通话过程中通话远端的包含语音信号的语音帧,包括如下步骤:
[0109]
步骤s1110、持续获取通话过程中通话远端的数据帧:
[0110]
通话过程中,近端的计算机设备负责持续接通话远端的数据帧,以此为基础进行语音帧的识别。
[0111]
步骤s1120、判断该数据帧是否为包含语音信号的语音帧:
[0112]
判断数据帧是否包含语音信号是通过语音活动检测来实现的,语音活动检测通过计算信号一帧中各种参数,如能量,过零率,频谱平坦度等来判断这一帧信号是否为语音信号。对于判断为语音信号的帧,用于更新语音能量谱;判断为非语音信号的帧,则不用于语音信号的更新,而是直接使用上次更新的语音能量谱计算频谱增益,进而得到最终输出。故而根据实际判断情况选择性执行如下两个步骤之一:
[0113]
步骤s1130、当所述数据帧为语音帧时,根据该语音帧更新远端语音信号的语音能量谱数据:
[0114]
步骤s1140、当所述数据帧为非语音帧时,沿用当前最新的远端语音信号的语音能量谱数据。
[0115]
本实施例结合语音检测活动,根据所接收的数据帧是否为语音帧而灵活控制远端语音信号的语音能量谱数据的更新,从而确保在信号处理上的准确性,确保语音质量。
[0116]
请参阅图6,深化的一种实施例中,所述步骤s1200、区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益,包括如下步骤:
[0117]
步骤s1210、根据所述语音帧计算远端语音信号的语音能量谱数据:
[0118]
对于一个语音帧而言,其包含远端语音信号,因此,需要根据该语音帧更新本地的语音能量谱数据。语音能量谱的更新采用的是平滑更新的方式,如下公式(1.3):
[0119]
e
s
(f,k)=α*e
s
(f,k
‑
1)+(1
‑
α)*|s(f,k)|2ꢀꢀꢀꢀ
(1.3)
[0120]
其中,f为频率,k为帧数,e
s
为估计的语音能量谱,α∈[0,1]为平滑参数用于调节平滑速度,α越大语音能量谱更新约慢,s(f,k)为k帧频率为f的语音信号能量值。
[0121]
可以理解,在此一公式的控制下,便可实现利用所述语音帧更新相应的语音能量谱数据。
[0122]
步骤s1220、从通话近端产生的近端语音信号中预估出噪声能量谱数据:请参阅图7,具体可按照如下实施例的过程来实现:
[0123]
步骤s1221、采集通话近端产生的近端语音信号:
[0124]
根据与通话远端产生其远端语音信号相同的业务逻辑,近端计算机设备会负责采集其本地近端语音信号,以便向远端传输。
[0125]
步骤s1222、对近端语音信号进行回声消除处理:
[0126]
在噪声估计的过程中可能会接收到远端语音信号通过音响发出信号的回声,因此需要应用回声消除处理。本实施例中先将远端语音信号与近端语音信号的帧对齐,而后使用频域分块归一化自适应滤波器进行回声消除。本领域技术人员也可应用其他公知方式替换此处的回声消除处理,不影响本技术的创造精神的体现。
[0127]
步骤s1223、对近端语音信号进行噪声估计,获得噪声能量谱数据,所述噪声为近端环境噪声:
[0128]
近端语音信号中可能存在近端环境噪声、近端语音、远端残留回声,这些信息相对于远端语音信号的信噪比估计而言,因此需要应用本领域常用的各种噪声估计跟踪的方法来做相应处理,例如,本实施中推荐应用mcra算法(行业通称为:最小值噪声估计)进行噪声估计。该算法能够高效准确地跟踪和预估信噪比。
[0129]
步骤s1230、根据语音能量谱数据与噪声能量谱数据计算信噪比:
[0130]
在已经得到的语音能量谱e
s
与噪声能量谱e
n
的基础上,应用如下公式(1.4)即可计算出相应的信噪比:
[0131][0132]
其中,snr为信噪比,fs为采样频率。
[0133]
本实施例给出了根据语音帧计算信噪比的具体过程,可以理解,本实施例对语音能量谱进行平滑更新,并充分考虑了近端环境噪声因素而优化噪声能量谱,在此基础上计算出的信噪比,更为准确及时,能够有效反映语音能量谱与噪声能量谱之间的能量强弱相对关系,为有效应用不同策略控制远端语音信号的频谱增益提供了坚实的技术基础。
[0134]
请参阅图8,深化的另一实施例中,所述步骤s1400、根据所述频谱增益控制远端语音信号的输出,包括如下步骤:
[0135]
步骤s1410、将所述频谱增益与所述语音帧的频域信号相乘获得新频域信号:
[0136]
所述语音帧中的语音信号,为了进行频谱增益计算,已被转换为相应的语音能量谱,是频域上的信号,因此,将其与相应的频谱增益进行相乘,获得该语音帧相对应的新频域信号。
[0137]
步骤s1420、对所述新频域信号执行傅里叶变换运算将其变换到时域,得到增强后的远端语音信号:
[0138]
为了将新频域信号变换回到时域,成为时域上的语音信号,可以对其执行傅里叶变换运算,以便得到增强后的远端语音信号。
[0139]
步骤s1430、输出所述远端语音信号:
[0140]
最后,即可将增强后的远端语音信号输出至近端计算机设备的扬声系统进行扬声播放,由此获得的语音具备更高的清晰度。
[0141]
本实施例根据所述频谱增益对语音帧中的语音能量谱数据进行增益调节之后,将得到增强的远端语音信号输出,确保近端的正常扬声,输出音质更佳的语音,由于相应的语
音已经由所述的频谱增益进行规整,因此,无需提升音量,即可保证语音清晰度。
[0142]
请重新回顾图2,图2给出的综合了本技术前文所述的各个实施例的优势而成的一个更为具体的综合实施例,以下概要说明该实施例的实现原理:
[0143]
对于远端信号相对应的数据帧,其被近端设备接收后,进行语音活动检测,如果判定其中不包含远端语音信号相对应的语音帧,则不更新相应的语音能量谱数据;如果判断为包含远端语音信号相对应的语音帧,则根据该语音帧平滑更新语音能量谱数据。
[0144]
对于近端信号而言,由近端计算机设备采集后,被进行回声消除处理,然后再进行噪声估计,获得相应的噪声能量谱数据。
[0145]
进而,根据所述语音能量谱数据和噪声能量谱数据进行信噪比计算,计算出信噪比之后便根据信噪比计算所述语音帧相对应的频谱增益,计算频谱增益时根据信噪比的二分类情形应用不同的策略计算出相应的结果数据。
[0146]
最后,将最终的频谱增益叠加到该语音帧的语音能量谱数据中,实现远端语音信号中各频点相应的能量的均衡,实现优化语音信号的音质。
[0147]
本实施例实现了对本技术的各种实施例的优势的整合,其取得的效果最佳。在语音交互场景中,可以后台开启或者由用户选择开启依据本技术的技术方案实现的语音清晰度增强程序,同时,实现本技术的技术方案的应用程序也可以根据用户设备状态决定是否开启该语音清晰度增强程序,例如:当用户设备处于外放状态时开启,使用耳机时关闭语音清晰度增强程序。
[0148]
为了衡量本综合实施例对于不同噪声类型,不同信噪比下的表现,引用sii(语音可懂度评价标准)进行衡量。sii评价结果范围为0
‑
1,0代表完全不能被理解,1代表最容易被理解,数值越大可理解性越强。
[0149]
图9.1、图9.2、图9.3为本技术处理前后效果示意图,其噪声种类分别为白噪声、汽车噪声、嘈杂人声,代表全频带、高频、低频噪声,信噪比从
‑
25db至25db。各图中实线表示清晰度增强前的表现,虚线表示清晰度增强后的表现,可以看到对于不同类型的噪声,大多数信噪比情况,本技术均可以实现清晰度增强效果。
[0150]
请参阅图10,本技术提供的一种语音信号处理装置,适应本技术的语音信号处理方法进行功能化部署,包括:语音帧获取模块1100、信噪比计算模块1200、增益计算模块1300,以及控制输出模块1400;其中,所述语音帧获取模块1100,用于持续获取通话过程中通话远端的语音帧;所述信噪比计算模块1200,用于根据所述语音帧相对应的远端语音能量谱数据及通话近端的噪声能量谱数据计算信噪比;所述增益计算模块1300,用于在远端语音信号的总能量不增加的前提下,区分所述信噪比高低而分别计算用于调节远端语音信号不同频点的能量的频谱增益;所述控制输出模块1400,用于根据所述频谱增益控制远端语音信号的输出。
[0151]
深化的实施例中,所述语音帧获取模块1100包括:数据帧接收子模块,用于持续获取通话过程中通话远端的数据帧;类型判断子模块,用于判断该数据帧是否为包含语音信号的语音帧;当所述数据帧为语音帧时,根据该语音帧更新远端语音信号的语音能量谱数据;当所述数据帧为非语音帧时,沿用当前最新的远端语音信号的语音能量谱数据。
[0152]
深化的实施例中,所述信噪比计算模块1200包括:频谱转换子模块,用于根据所述语音帧计算远端语音信号的语音能量谱数据;噪声估计子模块,用于从通话近端产生的近
端语音信号中预估出噪声能量谱数据;信噪比计算子模块,用于根据语音能量谱数据与噪声能量谱数据计算信噪比。
[0153]
具体化的实施例中,所述噪声估计子模块包括:近端采集子模块,用于采集通话近端产生的近端语音信号;回声消除子模块,用于对近端语音信号进行回声消除处理;噪声计算子模块,用于对近端语音信号进行噪声估计,获得噪声能量谱数据,所述噪声为近端环境噪声。
[0154]
深化的实施例中,所述增益计算模块1300被配置为:当所述信噪比指示远端语音信号能量高于噪声信号能量时,将远端语音信号中信噪比相对较高的频点的能量,转移分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,将远端语音信号中信噪比相对较低的频点的能量,转移分配给远端语音信号中信噪比相对较高的频点。
[0155]
深化的实施例中,所述增益计算模块1300被配置为:应用二分类函数对所述信噪比进行判断,当所述信噪比指示远端语音信号能量高于噪声信号能量时,根据第一预设公式计算频谱增益,以将远端语音信号中信噪比相对较高的频点的能量,分配给远端语音信号中信噪比相对较低的频点;当所述信噪比指示远端语音信号能量低于噪声信号能量时,根据预设第二公式计算频谱增益,以将远端语音信号中信噪比相对较低的频点的能量,分配给远端语音信号中信噪比相对较高的频点。
[0156]
深化的实施例中,所述控制输出模块1400包括:增加添加子模块,用于将所述频谱增益与所述语音帧的频域信号相乘获得新频域信号;时域转换子模块,用于对所述新频域信号执行傅里叶变换运算将其变换到时域,得到增强后的远端语音信号;信号输出子模块,用于输出所述远端语音信号。
[0157]
为解决上述技术问题,本技术实施例还提供计算机设备。如图11所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种语音信号处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的语音信号处理方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0158]
本实施方式中处理器用于执行图10中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本技术的语音信号处理装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
[0159]
本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的语音信号处理方法的
步骤。
[0160]
本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本技术任一实施例所述语音信号处理方法的步骤。
[0161]
本领域普通技术人员可以理解实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read
‑
only memory,rom)等计算机可读存储介质,或随机存储记忆体(random access memory,ram)等。
[0162]
综上所述,本技术可以通过实时跟踪环境噪声以及远端语音的频域能量谱,计算每一帧的频谱增益,提高语音的可清晰度,具有广泛的适应性。
[0163]
本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
[0164]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。