一种去除语音信号中噪声信号的方法

文档序号:193382 发布日期:2021-11-02 浏览:37次 >En<

阅读说明:本技术 一种去除语音信号中噪声信号的方法 (Method for removing noise signal in voice signal ) 是由 陈天 李建新 于 2021-09-02 设计创作,主要内容包括:本发明实施例涉及一种去除语音信号中噪声信号的方法,包括:对含噪语音信号进行分帧处理和傅里叶变换,得到各帧含噪语音信号的频谱;根据频谱,对各帧含噪语音信号进行端点检测,将各帧含噪语音信号区分为语音帧和噪声数据帧;分别对语音帧和噪声数据帧进行噪声估计,得到语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值;对语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值进行融合,得到噪声功率谱估计融合值;根据噪声功率谱估计融合值,确定先验信噪比;根据先验信噪比,确定维纳滤波增益函数;根据维纳滤波增益函数对含噪语音信号进行增益处理,得到去噪语音信号。(The embodiment of the invention relates to a method for removing noise signals in voice signals, which comprises the following steps: performing framing processing and Fourier transform on the noisy speech signal to obtain the frequency spectrum of each frame of the noisy speech signal; according to the frequency spectrum, carrying out end point detection on each frame of noisy speech signals, and dividing each frame of noisy speech signals into a speech frame and a noise data frame; respectively carrying out noise estimation on the voice frame and the noise data frame to obtain a voice frame noise power spectrum estimation value and a noise data frame noise power spectrum estimation value; fusing the estimated value of the noise power spectrum of the voice frame and the estimated value of the noise power spectrum of the noise data frame to obtain an estimated fused value of the noise power spectrum; estimating a fusion value according to the noise power spectrum, and determining a prior signal-to-noise ratio; determining a wiener filter gain function according to the prior signal-to-noise ratio; and performing gain processing on the noise-containing voice signal according to the wiener filtering gain function to obtain a de-noised voice signal.)

一种去除语音信号中噪声信号的方法

技术领域

本发明涉及语音信号领域,尤其涉及一种去除语音信号中噪声信号的方法。

背景技术

在语音通信过程中,往往会有各种噪声干扰使得语音质量下降。语音处理设备在对语音进行获取或处理的过程中,不可避免地会受到环境噪声或其他讲话者的干扰。

噪声的存在会严重破坏语音信号原有的模型参数和声学特性,导致语音处理系统服务质量的降低,而且会影响系统输出语音的可懂程度。去除语音信号中的噪声信号对提高语音质量非常重要,传统的去除语音信号中噪声信号的方法是使用端点检测技术判别语音是否出现,将含噪语音分为语音区和噪声区(即无声段),噪声区部分主要表现为噪声特性,然后在噪声区通过某种统计方法,获得背景噪声特性的近似估计。这种方法,在噪声是平稳的、加性的情况下可行,然而,在非平稳噪声和乘性噪声(如回音噪声等)环境下,语音区的噪声与噪声区的噪声存在区别,仅根据噪声区噪声的估计结果对整体语音信号进行去噪处理,最终效果不佳。

发明内容

本发明的目的是提供一种去除语音信号中噪声信号的方法,分别对语音帧和噪声数据帧进行噪音估计,根据语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值的综合结果确定维纳滤波增益函数,在去除语音信号中噪声信号的过程中,依据上述维纳滤波增益函数对含噪语音信号进行去噪处理,进而提升语音去噪效果。

为实现上述目的,第一方面,本发明提供了一种去除语音信号中噪声信号的方法,包括:

对含噪语音信号进行分帧处理和傅里叶变换,得到各帧含噪语音信号的频谱;

根据所述频谱,对各帧含噪语音信号进行端点检测,将所述各帧含噪语音信号区分为语音帧和噪声数据帧;

分别对所述语音帧和噪声数据帧进行噪声估计,得到语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值;

对所述语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值进行融合,得到噪声功率谱估计融合值;

根据所述噪声功率谱估计融合值,确定先验信噪比;

根据所述先验信噪比,确定维纳滤波增益函数;

根据所述维纳滤波增益函数对所述含噪语音信号进行增益处理,得到去噪语音信号。

优选的,在所述对所述各帧含噪语音信号的频谱进行端点检测之前,所述方法还包括:

获取多个语音训练数据和噪声训练数据,提取各个所述语音训练数据的梅尔频率倒谱系数和各个所述噪声训练数据的梅尔频率倒谱系数;

根据最大期望算法对所述语音训练数据的梅尔频率倒谱系数进行数据处理,生成语音帧的模型;

根据最大期望算法对所述噪声训练数据的梅尔频率倒谱系数进行数据处理,生成噪声数据帧的模型。

进一步优选的,所述根据所述频谱,对各帧含噪语音信号进行端点检测,将所述各帧含噪语音信号区分为语音帧和噪声数据帧具体为:

根据所述频谱,提取各帧含噪语音信号的梅尔频率倒谱系数;

根据所述各帧含噪语音信号的梅尔频率倒谱系数与所述语音帧的模型和噪声数据帧的模型,对所述各帧含噪语音信号进行类别判断,将所述各帧含噪语音信号区分为语音帧和噪声数据帧。

优选的,所述语音帧噪声功率谱估计值λDs(i,k)由如下公式得出:

λDs(i,k)=Quantiles(X(i,k)2)i=0,1,2,3,…,J;

所述噪声数据帧噪声功率谱估计值λDn(i,k)由如下公式得出:

λDn(i,k)=a×X(i,k)2+(1-a)×Quantiles(X(i,k)2)i=0,1,2,3,…,J;

其中,J表示总帧数;X(i,k)表示第i帧第k个频点的频谱分量;Quantiles()表示取分位数;a表示权重系数。

进一步优选的,所述噪声功率谱估计融合值λmix(i,k)由如下公式得出:

其中,λD(i,k)具体为所述语音帧噪声功率谱估计值λDs(i,k)或噪声数据帧噪声功率谱估计值λDn(i,k);L表示噪声平滑区间长度。

优选的,所述根据所述噪声功率谱估计融合值,确定先验信噪比具体为:

首先根据如下公式,确定后验信噪比:

其中,X(i,k)表示第i帧第k个频点的频谱分量;λmix(i,k)表示第i帧第k个频点的所述噪声功率谱估计融合值;

根据所述后验信噪比,按照如下公式,确定先验信噪比:

其中,γ(i,k)表示第i帧第k个频点的所述后验信噪比;max[]表示取最大值;λmix(i,k)表示第i帧第k个频点的所述噪声功率谱估计融合值;β为固定因子;g(i-1,k)表示第i-1帧第k个频点的维纳抑制因子,并且

优选的,所述根据所述先验信噪比,确定维纳滤波增益函数具体为:

其中,ζ(i,k)表示第i帧第k个频点的所述先验信噪比。

第二方面,本发明还提供了一种语音去噪装置,包括存储器和处理器,其特征在于,所述存储器用于存储程序,所述处理器用于执行第一方面及第一方面的各实现方式中的方法。

第三方面,本发明还提供了一种包含指令的程序产品,当所述程序产品在语音去噪装置上运行时,使得所述语音去噪装置执行第一方面及第一方面的各实现方式中的方法。

第四方面,本发明还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现第一方面及第一方面的各实现方式中的方法。

本发明实施例提供的去除语音信号中噪声信号的方法,分别对语音帧和噪声数据帧进行噪音估计,根据语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值的综合结果确定先验信噪比和维纳滤波增益函数,在去除语音信号中噪声信号的过程中,依据上述维纳滤波增益函数对含噪语音信号进行去噪处理,进而能够提升语音去噪效果。

附图说明

图1为本发明实施例1提供的去除语音信号中噪声信号的方法流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明实施例中的终端设备是指具有数据处理能力的智能手机、平板电脑、台式电脑等设备。

图1为本发明实施例1提供的去除语音信号中噪声信号的方法流程图,以下结合图1所示,对本发明实施例1提供的去除语音信号中噪声信号的方法进行说明。

本发明实施例1提供的去除语音信号中噪声信号的方法包括如下步骤:

步骤110,对含噪语音信号进行分帧处理和傅里叶变换,得到各帧含噪语音信号的频谱。

具体的,终端设备接收到的语音信号为受到噪声干扰后形成的时域含噪语音信号,可以是通话时候的语音信号,例如,视频聊天时的对讲语音信号或聊天应用中发送传输的语音信号等。这些语音信号是在正常的生活环境中录制的,难以避免会受到例如,别人的讲话声、车辆鸣笛声、语音免提通信时扬声器的残余回声等噪声的干扰,这些噪声会降低语音的质量。

终端设备接收到的时域含噪语音信号是时间和幅度都连续变化的一维模拟信号,为了对其进行数字处理,首先需要将模拟信号转换为数字信号。在将模拟信号转化为数字信号的过程中,需要进行采样和量化,最终得到时间和幅度上的离散的数字信号。为使采样过程中不丢失信息,采样频率应在原始信号频率的两倍以上,由于人的正常发音在40Hz至3400Hz,所以采样频率应在6800Hz以上。

时域含噪语音信号是短时平稳信号,为了对其进行处理,还需对采样后的时域含噪语音信号进行分帧处理,以便把每一帧当成平稳信号处理。同时为了减少帧与帧之间的变化,相邻帧之间取重叠。其中具体可以采用添加汉明窗或矩形窗等窗函数的方式进行分帧处理,采用固定窗长的汉明窗或矩形窗等截取采样后的时域含噪语音信号得到一帧时域含噪语音信号,然后汉明窗或矩形窗等移动一定长度,生成下一帧时域含噪语音信号。

对分帧后的时域含噪语音信号进行傅里叶变换,得到每一帧含噪语音信号的频谱,即,将时域含噪语音信号转换为频域含噪语音信号。

步骤120,根据频谱,对各帧含噪语音信号进行端点检测,将各帧含噪语音信号区分为语音帧和噪声数据帧。

具体的,每一帧含噪语音信号的频谱均包含多个采样点,例如1024个采样点,根据频谱可以确定每个采样点的幅度和相位。

对每一帧含噪语音信号进行端点检测,具体可以采用门限判别类算法和模型匹配类算法等进行端点检测,以判断各帧含噪语音信号是语音帧还是噪声数据帧。

在一个具体的例子中,利用基于混合高斯模型的模型匹配类算法进行端点检测。在对含噪语音信号进行端点检测之前,预先确定语音帧的模型和噪声数据帧的模型,以用于对含噪语音信号进行匹配。其中,语音帧的模型和噪声数据帧的模型是基于大量的各种语音训练数据和大量的各种噪声训练数据生成的,语音训练数据是各种受噪声干扰后的语音的数据,噪声训练数据是包括周围人的讲话声和扬声器播放的语音的残余回声等噪声的数据。首先提取各个语音训练数据的梅尔频率倒谱系数和各个噪声训练数据的梅尔频率倒谱系数,然后利用最大期望算法对语音训练数据的梅尔频率倒谱系数和噪声训练数据的梅尔频率倒谱系数分别进行处理,生成语音帧的模型和噪声数据帧的模型。

在前面所述的具体例子中,将每一帧含噪语音信号的梅尔频率倒谱系数分别带入语音帧的模型和噪声数据帧的模型进行计算,得出每个模型的输出概率,若语音帧的模型的输出概率更大,则认为被检测的含噪语音信号为语音帧,若噪声数据帧的的模型的输出概率更大,则认为被检测的含噪语音信号为噪声数据帧。

前述的每一帧含噪语音信号的梅尔频率倒谱系数可以根据如下方法获取:根据含噪语音信号的频谱,计算得到功率谱,将功率谱用一组三角形帯通滤波器进行滤波,得到一组滤波系数。对得到的滤波系数进行如下式1的M阶余弦变换,去除各维含噪语音信号之间的相关性,将含噪语音信号映射到低维空间,得到梅尔频率倒谱系数:

其中,c(m)是梅尔频率倒谱系数第m维特征参数,S(n)表示第n个三角形帯通滤波器的滤波器系数,M指梅尔频率倒谱系数阶数。

步骤130,分别对语音帧和噪声数据帧进行噪声估计,得到语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值。

具体的,可采用分位数算法、加权算法和最小值追踪算法等噪声估计算法对每一帧语音帧和噪声数据帧进行噪声估计,得到语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值。

在一个具体的例子中,用分位数算法进行噪声估计,语音帧的语音帧噪声功率谱估计值λDs(i,k)根据下式2得出:

λDs(i,k)=Quantiles(X(i,k)2) i=0,1,2,3,…,J; (式2)

其中,J表示总帧数;i表示语音帧的帧号,i的具体值由步骤120的检测结果确定;X(i,k)表示第i帧第k个频点的频谱分量;Quantiles()表示取分位数,优选的,取0.5;λDs(i,k)具体是第i帧第k个频点的语音帧噪声功率谱估计值。

噪声数据帧的噪声数据帧噪声功率谱估计值λDn(i,k),根据如下式3得出:

λDn(i,k)=a×X(i,k)2+(1-a)×Quantiles(X(i,k)2)i=0,1,2,3,…,J;(式3)

其中,J表示总帧数;i表示噪声数据帧的帧号,i的具体值由步骤120的检测结果确定;a表示权重系数,优选的,取0.8;X(i,k)表示第i帧第k个频点的频谱分量,Quantiles()表示取分位数,优选的,取0.5;λDn(i,k)具体是第i帧第k个频点的噪声数据帧噪声功率谱估计值。

步骤140,对语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值进行融合,得到噪声功率谱估计融合值。

具体的,可以根据如下式4对语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值进行融合,得到噪声功率谱估计融合值λmix(i,k):

其中,λD(i,k)具体为语音帧噪声功率谱估计值λDs(i,k)或噪声数据帧噪声功率谱估计值λDn(i,k);L表示噪声平滑区间长度,优选的,取9帧;λmix(i,k)具体是第i帧第k个频点的噪声功率谱估计融合值。

步骤150,根据噪声功率谱估计融合值,确定先验信噪比。

具体的,可以首先根据如下式5,确定后验信噪比:

其中,X(i,k)表示第i帧第k个频点的频谱分量;λmix(i,k)表示第i帧第k个频点的噪声功率谱估计融合值;γ(i,k)具体是第i帧第k个频点的后验信噪比。

根据后验信噪比,按照如下式6,确定先验信噪比:

其中,γ(i,k)表示第i帧第k个频点的后验信噪比;γ(i-1,k)表示第i-1帧第k个频点的后验信噪比;max[]表示取最大值;λmix(i,k)表示第i帧第k个频点的噪声功率谱估计融合值;β为固定因子,优选的,β取0.9~0.98;g(i-1,k)表示第i-1帧第k个频点的维纳抑制因子,并且

步骤160,根据先验信噪比,确定维纳滤波增益函数。

具体的,根据先验信噪比,可以按照如下式7,确定维纳滤波增益函数:

其中,ζ(i,k)表示第i帧第k个频点的先验信噪比。

步骤170,根据维纳滤波增益函数对含噪语音信号进行增益处理,得到去噪语音信号。

具体的,在确定维纳滤波增益函数后,用维纳滤波法对各帧含噪语音信号进行增益处理,得到频域去噪语音信号。

进一步的,可以对频域去噪语音信号进行反傅里叶变换,得到时域去噪语音信号。

本发明实施例1提供的去除语音信号中噪声信号的方法,分别对语音帧和噪声数据帧进行噪音估计,根据语音帧噪声功率谱估计值和噪声数据帧噪声功率谱估计值的综合结果确定先验信噪比和维纳滤波增益函数,在去除语音信号中噪声信号的过程中,依据上述维纳滤波增益函数对含噪语音信号进行去噪处理,进而提升语音去噪效果。

需要说明的是,本发明实施例2提供了一种语音去噪装置,该装置包括存储器和处理器,存储器可通过总线与处理器连接。存储器可以是非易失存储器,例如硬盘驱动器和闪存,存储器中存储有软件程序和装置驱动程序。软件程序能够执行本发明实施例1提供的上述方法的各种功能;装置驱动程序可以是网络和接口驱动程序。处理器用于执行软件程序,该软件程序被执行时,能够实现本发明实施例1提供的去除语音信号中噪声信号的方法。

本发明实施例3提供了一种包含指令的程序产品,当该程序产品在语音去噪装置上运行时,使得语音去噪装置执行上述实施例1中的去除语音信号中噪声信号的方法。

本发明实施例4提供了一种可读存储介质,该可读存储介质上存储有程序,该程序被处理器执行时,能够实现本发明实施例1提供的去除语音信号中噪声信号的方法。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:混合语音分离方法和装置、存储介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!