具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种用于单通道语音设备录制音频的降噪方法的流程图,包括如下步骤:
S11:将带噪音频按照时间戳的先后顺序划分成多个音频帧,按照预设重叠率对所述多个音频帧进行帧移,确定帧移后各音频帧的采样点;
S12:获取所述各音频帧的采样点的估计噪声幅度谱,确定各音频帧的超几何函数的误差区间以及基准区间;
S13:将所述误差区间划分为多段的误差子区间,通过预设误差函数将在所述各误差子区间的超几何函数确定为第一指数积分函数,将所述在基准区间的超几何函数确定为第二指数积分函数,通过所述第一指数积分函数以及第二指数积分函数确定增益因子,获取各音频帧的降噪幅度谱;
S14:基于所述各音频帧的采样点确定各音频帧的相位谱;
S15:通过所述降噪幅度谱以及所述相位谱确定各音频帧的时域数字信号,按照时间戳的先后顺序将相邻的音频帧的时域数字信号重叠相加,转化为降噪音频。
在本实施方式中,可以将本方法搭载在语音对话平台中,又或者也可以将本方法搭载在移动终端中,例如带有播放音频功能的设备:手机,耳机等。由于其中用到算法的计算量较少,所占用内存较低,RTF(real time factor,实时率)也相对较低,所以可以搭载在小型的移动终端中。
当搭载在语音对话平台中时,用户通过将带噪音频上传至语音对话平台,语音对话平台通过本方法对带噪音频进行降噪,待降噪完成后,将去噪后的音频反馈给用户。当搭载在带有播放功能的设备中,例如耳机,耳机接收用户播放或传输的带噪音频,通过对所述带噪音频进行降噪,将降噪后的音频向用户播放或反馈给用户。
对于步骤S11,在接收到待降噪音频之后,将所述待降噪音频按照时间戳的先后顺序划分成多个音频帧,以便于降噪处理,例如,一帧为32ms,重叠率设置为75%,通过计算,可以求得,帧移为8ms。通过采样率Fs(例如以16000Hz为例),通过Fs*0.032s(32ms)可以求得每一音频帧有512个采样点,通过Fs*0.032s*75%求得,相邻两帧音频帧重叠384个采样点,再通过Fs*0.032s*25%求得,每一次帧移128个采样点。
对于步骤S12,获取所述各音频帧512个采样点的短时傅里叶谱,再经过噪声估计算法得到估计噪声幅度谱,假设,确定了257个频点的估计噪声幅度谱。例如确定(0,5)为所述超几何函数的误差区间,(5,+∞)为所述超几何函数的基准区间。
对于步骤S13,将误差区间划分为多个误差子区间,并通过预设的误差函数将所述各误差子区间,例如,将(0,5)的误差区间划分为9段,每段乘以预设的误差函数的数值逼近指数积分函数,确定第一指数积分函数,从而减小误差。
例如,v∈(0,0.5),f(v)=f(v)/1.09;v∈(0.5,1.0),f(v)=f(v)/1.08……,其中,当v∈(0,0.5)时,预设的误差函数为1/1.09,当v∈(0.5,1.0)时,预设的误差函数为1/1.08…。
由于基准区间基本没有误差,可以将所述基准区间直接确定为第二指数积分函数。通过所述第一指数积分函数以及所述第二指数积分函数确定增益因子,以获取各音频帧的降噪幅度谱;
在经过超几何函数分段确定后,通过对各区间合并得到257*1维向量,即257个频点分别有其对应的增益因子,以获取各音频帧的降噪幅度谱。
对于步骤S14,重叠分帧后的512个采样点通过切比雪夫窗口函数经短时傅里叶变换确定各音频帧的相位谱;例如,经过变换后,相位谱数据257*1维的向量,单位弧度(rad)如下:
[3.106
1.071
-1.569
2.002
-0.494
…]
对于步骤S15,通过所述降噪幅度谱以及所述相位谱确定各音频帧的时域数字信号,按照时间戳的先后顺序将相邻的音频帧的时域数字信号重叠相加,转化为降噪音频。
在确定各音频帧的时域数字信号可以通过对降噪频谱进行反傅里叶变换。公式:
降噪频谱=降噪幅度谱.*(cos(相位谱)+1i*sin(相位谱))。
得到降噪后的512个采样点的时域数字信号。再按照时间戳的先后顺序将相邻的音频帧的时域数字信号重叠相加,例如,取前一帧的512个采样点的时域数字信号的后384个采样点,补128个零后与当前帧的512个采样点的时域数字信号相加,得到重叠后的512个采样点的时域数字信号。将所述重叠后的512个采样点的前128个采样点作为降噪语音输出,剩余384个采样点后补128个零,组成新的512个采样点,再供下一帧重叠相加使用…,按照相同的方法,直到将所有音频帧降噪完毕,在此不在赘述。
通过该实施方式可以看出,通过超几何函数确定各音频帧的降噪幅度谱修改为分段超几何函数,对每一分段做逼近指数积分函数优化处理,减少了原有计算过程中存在的误差,提高了降噪效果,同时优化了相位谱的窗函数进一步的提高了降噪效果。
作为一种实施方式,在本实施例中,所述获取所述各音频帧的采样点的估计噪声幅度谱,确定各音频帧的超几何函数的误差区间以及基准区间包括:
获取所述各音频帧的采样点的估计噪声幅度谱;
通过所述各音频帧以及所述音频帧的采样点的估计噪声幅度谱确定后验和先验信噪比;
根据所述后验和先验信噪比确定各音频帧的超几何函数的误差区间以及基准区间。
在本实施方式中,获取所述各音频帧512个采样点的估计噪声幅度谱,假设,确定了257个频点的估计噪声幅度谱。再通过对所述257个频点的估计噪声幅度谱结合音频帧的带噪频谱进行后验和先验信噪比计算,进而得到超几何函数f(v)的输入变量v,所述变量v的取值范围为(0,+∞)。例如,当v大于5时,超几何函数f(v)约等于1。当v在(0,5)时,超几何函数和指数积分函数存在一定误差,确定(0,5)为所述超几何函数的误差区间,(5,+∞)为所述超几何函数的基准区间。
通过该实施方式可以看出,通过确定信噪比,确定所述超几何函数相应的基准区间以及误差区间,从而通过对误差区间进行处理,减小误差,提高降噪效果。
作为一种实施方式,在本实施例中,所述获取所述各音频帧的采样点的估计噪声幅度谱包括:
通过窗函数确定所述各音频帧的采样点的加窗时域数字信号;
经由短时傅里叶变换将所述采样点的加窗时域数字信号转化为频点幅度谱,确定所述各音频帧的采样点的估计噪声幅度谱。
在本实施方式中,在确定帧移后各音频帧的512个采样点之后,通过窗函数(例如:汉宁窗函数),得到了512个采样点的加窗时域数字信号,再经由短时傅里叶变换,通过傅里叶变换频谱对称性,确定257个频点幅度谱,再通过噪声估计,得到所述257个频点的估计噪声幅度谱。
通过该实施方式可以看出,通过窗函数、短时傅里叶变换等操作,确保了噪声幅度谱的精确,提高了降噪效果。
作为一种实施方式,在本实施例中,所述获取各音频帧的降噪幅度谱包括:
根据各音频帧的频点幅度谱与所述增益因子的乘积,确定各音频帧的降噪幅度谱。
在本实施方式中,经过超几何函数计算,得到了257*1维向量,即257个频点分别有其对应的增益因子,再乘以之前确定的音频帧的幅度谱,从而得到音频帧的降噪幅度谱。
通过该实施方式可以看出,通过分段处理后的超几何函数确定的增益因子确定的降噪幅度谱在降噪处理中更加精确,提高了降噪效果。
作为一种实施方式,在本实施例中,所述将所述误差区间划分为多段的误差子区间包括:
根据预设降噪等级确定所述误差区间的分段数量,其中,所述降噪等级与所述分段数量正相关;
根据确定的分段数量将所述误差区间划分为多段的误差子区间。
在本实施方式中,例如,降噪等级较高的时候,误差区间的分段数量也会增加,所述误差区间的分段数量随着降噪等级而改变。在降噪过程中,用户根据其自身需求,进行选择相应的降噪模式,当降噪等级较低的时候,分段数量较少,处理速度较快,可以达到用户的基本降噪需求,当用户需要较高的降噪需求时,提高分段数量,可以获得更好的降噪效果。
通过该实施方式可以看出,通过用户自行调整降噪等级,可以根据其相应的需求,选择特定的降噪模式,提高用户体验。
如图2所示为本发明一实施例提供的一种用于单通道语音设备录制音频的降噪系统的结构示意图,该系统可执行上述任意实施例所述的用于单通道语音设备录制音频的降噪方法,并配置在终端中。
本实施例提供的一种用于单通道语音设备录制音频的降噪系统包括:采样点确定程序模块11,区间确定程序模块12,降噪幅度谱确定程序模块13,相位谱确定程序模块14和降噪程序模块15。
其中,采样点确定程序模块11用于将带噪音频按照时间戳的先后顺序划分成多个音频帧,按照预设重叠率对所述多个音频帧进行帧移,确定帧移后各音频帧的采样点;区间确定程序模块12用于获取所述各音频帧的采样点的估计噪声幅度谱,确定各音频帧的超几何函数的误差区间以及基准区间;降噪幅度谱确定程序模块13用于将所述误差区间划分为多段的误差子区间,通过预设误差函数将在所述各误差子区间的超几何函数确定为第一指数积分函数,将所述在基准区间的超几何函数确定为第二指数积分函数,通过所述第一指数积分函数以及第二指数积分函数确定增益因子,获取各音频帧的降噪幅度谱;相位谱确定程序模块14用于基于所述各音频帧的采样点确定各音频帧的相位谱;降噪程序模块15用于通过所述降噪幅度谱以及所述相位谱确定各音频帧的时域数字信号,按照时间戳的先后顺序将相邻的音频帧的时域数字信号重叠相加,转化为降噪音频。
进一步地,所述区间确定程序模块用于:
获取所述各音频帧的采样点的估计噪声幅度谱;
通过所述各音频帧以及所述音频帧的采样点的估计噪声幅度谱确定后验和先验信噪比;
根据所述后验和先验信噪比确定各音频帧的超几何函数的误差区间以及基准区间。
进一步地,所述获取所述各音频帧的采样点的估计噪声幅度谱包括:
通过窗函数确定所述各音频帧的采样点的加窗时域数字信号;
经由短时傅里叶变换将所述采样点的加窗时域数字信号转化为频点幅度谱,确定所述各音频帧的采样点的估计噪声幅度谱。
进一步地,所述获取各音频帧的降噪幅度谱包括:
根据各音频帧的频点幅度谱与所述增益因子的乘积,确定各音频帧的降噪幅度谱。
进一步地,所述将所述误差区间划分为多段的误差子区间包括:
根据预设降噪等级确定所述误差区间的分段数量,其中,所述降噪等级与所述分段数量正相关;
根据确定的分段数量将所述误差区间划分为多段的误差子区间。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于单通道语音设备录制音频的降噪方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
将带噪音频按照时间戳的先后顺序划分成多个音频帧,按照预设重叠率对所述多个音频帧进行帧移,确定帧移后各音频帧的采样点;
获取所述各音频帧的采样点的估计噪声幅度谱,确定各音频帧的超几何函数的误差区间以及基准区间;
将所述误差区间划分为多段的误差子区间,通过预设误差函数将在所述各误差子区间的超几何函数确定为第一指数积分函数,将所述在基准区间的超几何函数确定为第二指数积分函数,通过所述第一指数积分函数以及第二指数积分函数确定增益因子,获取各音频帧的降噪幅度谱;
基于所述各音频帧的采样点确定各音频帧的相位谱;
通过所述降噪幅度谱以及所述相位谱确定各音频帧的时域数字信号,按照时间戳的先后顺序将相邻的音频帧的时域数字信号重叠相加,转化为降噪音频。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的测试软件的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于单通道语音设备录制音频的降噪方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据测试软件的装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至测试软件的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于单通道语音设备录制音频的降噪方法的步骤。
本申请实施例的客户端以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和导航设备。
(4)其他具有数据处理功能的电子装置。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。