一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

声音处理方法、装置、电子设备和存储介质与流程

2021-10-09 12:32:00 来源:中国专利 TAG:声音 电子设备 装置 公开 方法


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.根据所述第一信号向量、所述前一帧的第一传递函数和当前帧以及前l

1帧的所述第一残差信号的向量,确定前一帧的先验误差信号的向量以及前一帧的先验误差方差,其中,所述l为所述第二传递函数的长度;
27.根据所述前一帧的后验误差方差和所述前一帧的先验误差方差,确定当前帧的预测误差功率信号的向量;
28.根据所述前一帧的先验状态误差协方差矩阵、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的预测误差功率信号的向量,确定第二卡尔曼增益系数;
29.根据所述第二卡尔曼增益系数、所述前一帧的先验误差信号的向量、所述前一帧的第二传递函数,确定当前帧的第二传递函数;
30.根据前一帧的预测误差功率信号的向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定噪声估计信号的向量。
31.在一个实施例中,还包括:
32.根据所述第二卡尔曼增益系数、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述前一帧的先验状态误差协方差矩阵,确定当前帧的后验状态误差协方差矩阵;和/或,
33.根据所述第一信号向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定当前帧的后验误差方差。
34.在一个实施例中,所述根据所述噪声估计信号的向量、前一帧的第一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数,包括:
35.根据所述前一帧的第一估计信号向量和所述第一信号向量,确定当前帧的第一估计信号向量;
36.根据所述前一帧的语音功率估计信号的向量、所述第一信号向量和所述前一帧的增益函数,确定当前帧的语音功率估计信号的向量;
37.根据所述当前帧的第一估计信号向量和所述当前帧的噪声估计信号的向量,确定后验信干比;
38.根据所述当前帧的语音功率估计信号的向量、所述当前帧的噪声估计信号的向量、所述后验信干比和所述最小先验信干比,确定所述当前帧的增益函数。
39.在一个实施例中,所述根据所述第一信号向量和所述当前帧的增益函数,确定当前帧的近端信号,包括:
40.将所述第一信号向量和所述当前帧的增益函数的乘积,由频域形式转换为时域形式,形成时域形式的当前帧的第一语音信号。
41.根据本公开实施例的第一方面,提供一种声音处理装置,应用于终端设备,包括:
42.语音消除模块,用于根据第一信号向量和的第二信号向量,确定第一残差信号的向量,其中,所述第一信号向量为第一麦克风的输入信号,包括第一语音信号和第一噪声信号,所述第二信号向量为第二麦克风的输入信号,包括第二语音信号和第二噪声信号,所述第一残差信号包括第二噪声信号和残留语音信号;
43.增益模块,用于根据所述第一残差信号的向量和所述第一信号向量,确定当前帧的增益函数;
44.抑制模块,用于根据所述第一信号向量和所述当前帧的增益函数,确定当前帧的第一语音信号。
45.在一个实施例中,所述语音消除模块具体用于:
46.获取所述第一信号向量和所述第二信号向量,其中,所述第一信号向量包括第一数量的样本点,所述第二信号向量包括第二数量的样本点;
47.根据所述第一信号向量和前一帧的第一传递函数,确定第二语音信号的傅里叶变换系数的向量;
48.根据所述第二信号向量和所述傅里叶变换系数的向量中第二数量的样本点,确定所述第一残差信号的向量。
49.在一个实施例中,所述语音消除模块还用于:
50.根据所述第一残差信号的向量、前一帧的残差信号协方差、前一帧的状态估计误差协方差、第一信号向量和平滑参数,确定第一卡尔曼增益系数;
51.根据所述第一卡尔曼增益系数和所述第一残差信号和前一帧的第一传递函数,确定当前帧的第一传递函数。
52.在一个实施例中,所述语音消除模块还用于:
53.根据所述当前帧的第一传递函数、前一帧的第一传递函数协方差、所述第一卡尔曼增益系数、前一帧的残差信号协方差、所述第一数量和所述第二数量,确定当前帧的残差
信号协方差。
54.在一个实施例中,所述语音消除模块用于获取第一信号向量和所述第二信号向量时,具体用于:
55.将所述第一麦克风的当前帧的输入信号和所述第一麦克风的前至少一帧的输入信号拼接,形成样本点的数量为所述第一数量的第一信号向量;
56.将所述第二麦克风的当前帧的输入信号,形成样本点的数量为所述第二数量的第二信号向量。
57.在一个实施例中,所述增益模块具体用于:
58.将所述第一残差信号的向量和所述第一信号的向量,分别由时域形式转换为频域形式;
59.根据前一帧的后验状态误差协方差矩阵、过程噪声协方差矩阵、前一帧的第二传递函数、所述第一信号向量、包含当前帧的至少一帧第一残差信号和前一帧的后验误差方差,确定噪声估计信号的向量;
60.根据所述噪声估计信号的向量、前一帧的第一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数。
61.在一个实施例中,所述增益模块用于根据前一帧的后验状态误差协方差矩阵、过程噪声协方差矩阵、前一帧的第二传递函数、所述第一信号向量、包含当前帧的至少一帧第一残差信号和前一帧的后验误差方差,确定噪声估计信号的向量时,具体用于:
62.根据所述前一帧的后验状态误差协方差矩阵和所述过程噪声协方差矩阵,确定前一帧的先验状态误差协方差矩阵;
63.根据所述第一信号向量、所述前一帧的第一传递函数和当前帧以及前l

1帧的所述第一残差信号的向量,确定前一帧的先验误差信号的向量以及前一帧的先验误差方差,其中,所述l为所述第二传递函数的长度;
64.根据所述前一帧的后验误差方差和所述前一帧的先验误差方差,确定当前帧的预测误差功率信号的向量;
65.根据所述前一帧的先验状态误差协方差矩阵、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的预测误差功率信号的向量,确定第二卡尔曼增益系数;
66.根据所述第二卡尔曼增益系数、所述前一帧的先验误差信号的向量、所述前一帧的第二传递函数,确定当前帧的第二传递函数;
67.根据前一帧的预测误差功率信号的向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定噪声估计信号的向量。
68.在一个实施例中,所述增益模块还用于:
69.根据所述第二卡尔曼增益系数、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述前一帧的先验状态误差协方差矩阵,确定当前帧的后验状态误差协方差矩阵;和/或,
70.根据所述第一信号向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定当前帧的后验误差方差。
71.在一个实施例中,所述增益模块用于根据所述噪声估计信号的向量、前一帧的第
一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数时,具体用于:
72.根据所述前一帧的第一估计信号向量和所述第一信号向量,确定当前帧的第一估计信号向量;
73.根据所述前一帧的语音功率估计信号的向量、所述第一信号向量和所述前一帧的增益函数,确定当前帧的语音功率估计信号的向量;
74.根据所述当前帧的第一估计信号向量和所述当前帧的噪声估计信号的向量,确定后验信干比;
75.根据所述当前帧的语音功率估计信号的向量、所述当前帧的噪声估计信号的向量、所述后验信干比和所述最小先验信干比,确定所述当前帧的增益函数。
76.在一个实施例中,所述抑制模块具体用于:
77.将所述第一信号向量和所述当前帧的增益函数的乘积,由频域形式转换为时域形式,形成时域形式的当前帧的第一语音信号。
78.根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于第一方面所述的声音处理方法。
79.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的方法。
80.本公开的实施例提供的技术方案可以包括以下有益效果:
81.本公开根据输入第一麦克风的第一语音信号和第一噪声信号组成的第一信号向量,和输入第二麦克风的第二语音信号和第二噪声信号组成的第二信号向量,确定包括第二噪声信号和残留语音信号的第一残差信号,然后根据第一残差信号的向量和第一信号向量,确定当前帧的增益函数,最后根据第一信号向量和上述当前帧的增益函数确定当前帧的第一语音信号。由于第一麦克风和第二麦克风的位置不同,因此其语音和噪声的比例呈相反趋势,因此第一信号向量和第二信号向量可以使用目标语音和干扰噪声对消的方法来进行噪声估计和抑制,从而提高了麦克风中噪声的消除效果,可以得到即为纯净的语音信号。
附图说明
82.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
83.图1是本公开一示例性实施例示出的声音处理方法的流程图;
84.图2是本公开一示例性实施例示出的确定第一残差信号的向量的流程图;
85.图3是本公开一示例性实施例示出的确定增益函数的向量的流程图;
86.图4是本公开一示例性实施例示出的分析窗的示意图;
87.图5是本公开一示例性实施例示出的声音处理装置的结构示意图;
88.图6是本公开一示例性实施例示出的电子设备框图。
具体实施方式
89.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
90.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
91.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
92.手机上传统的噪声抑制方法一般是基于自适应阻塞矩阵(bm)、自适应噪声消除器(anc)和后滤波(pf)的结构。自适应阻塞矩阵消除辅助通道中的目标语音信号,为anc提供一个噪声参考信号。自适应噪声消除器消除主通道中的相干噪声。后滤波通过估计anc输出信号中的噪声信号,使用mmse或维纳滤波等谱增强方法对噪声进一步抑制,从而得到一个信噪比(snr)更高的增强信号。
93.传统bm和anc一般使用nlms或rls自适应滤波器来实现。nlms算法需要设计一个可变步长的机制来控制滤波器的自适应速率,以同时达到快速收敛和更小稳态误差的目标,但这个目标对于实际应用来说几乎是不可能实现的。rls算法无需额外设计可变步长,但是它没有考虑过程噪声;而且手机在握持和移动等动作的影响下,两个麦克风通道之间的传递函数可能频繁发生变化,此时需要一个自适应滤波器的快速更新策略。rls算法处理这两个问题都不是太鲁棒。anc一般仅适用于处理相干噪声,即噪声源距离手机较近,且从噪声源到达麦克风的直达声占主要成分。手机语音通话所处的噪声环境一般为扩散场,即多个噪声源距离手机麦克风较远,且需要经过多次空间反射才到达手机。因此,anc在实际应用中几乎无效。
94.基于此,第一方面,本公开至少一个实施例提供了一种声音处理方法,请参照附图1,其示出了该方法的流程,包括步骤s101和步骤s104。
95.其中,该声音处理方法应用于终端设备,其中,终端设备可以是手机、平板电脑等具有通信功能和/或人机交互功能的终端设备。所述终端设备包括第一麦克风和第二麦克风,第一麦克风位于手机的底部,作为主通道,主要用于采集目标说话人的语音信号,其信噪比(snr)较高;第二麦克风位于手机的顶部,作为辅助通道,主要用于采集环境噪声信号,也包括部分目标说话人的语音信号,其信噪比较低。该声音处理方法的目的就是利用第二麦克风的输入信号,从第一麦克风的输入信号中消除噪声,从而得到较为纯净的语音信号。
96.其中,麦克风的输入信号由近端信号和立体声回声信号组成:
97.d1(n)=s1(n) v1(n) y1(n)
98.d2(n)=s2(n) v2(n) y2(n)
99.其中下标i={1,2}表示麦克风索引,1是主通道,2是辅助通道,d
i
(n)是麦克风输入信号,近端说话人信号s
i
(n)加上背景噪声v
i
(n)构成近端信号,y
i
(n)是回声信号。噪声消除和抑制一般都是在无回声期间或回声已经被消除情况下进行的,因此后续过程无需考虑回声信号的影响。
100.语音通话的使用场景一般都是近场,即目标说话人离手机麦克风的距离较近,两个麦克风拾取的目标说话人信号之间的关系可以通过声学冲激响应(air)来表示:
[0101][0102]
其中s1(n)和s2(n)分别表示主通道和辅助通道的目标说话人信号,h(n)是其之间的声学传递函数,h(n)=[h0,h1,

,h
l
‑1]
t
,l是该传递函数的长度,s1(n)=[s1(n),s1(n

1),

,s1(n

l 1)]
t
是主通道目标说话人信号的向量形式。
[0103]
两个麦克风拾取的扩散场噪声信号,不能简单地通过声学冲激响应来表示二者之间的关系,但是两个麦克风的噪声功率谱具有高度相似性,因此可以使用长时谱回归方法进行建模。
[0104][0105]
其中v1(n)和v2(n)分别表示主通道和辅助通道的噪声功率谱,h
i,t
(n)是其之间的相对卷积传递函数。
[0106]
在步骤s101中,根据第一信号向量和的第二信号向量,确定第一残差信号的向量,其中,所述第一信号向量包括输入所述第一麦克风的第一语音信号和第一噪声信号,所述第二信号向量包括输入所述第二麦克风的第二语音信号和第二噪声信号,所述第一残差信号包括第二噪声信号和残留语音信号。
[0107]
其中,第一麦克风和第二麦克风处于相同的环境中,因此第一语音信号的信号源和第二语音信号的信号源完全相同,但是由于该信号源与两个麦克风的距离差别造成第一语音信号和第二语音信号之间存在差异;同理,第一噪声信号和第二噪声信号的信号源完全相同,但是由于该信号源与两个麦克风的距离差别造成第一噪声信号和第二噪声信号之间存在差异。两个麦克风的输入信号可以通过对消的方式得到第一残差信号。第一残差信号近似辅助通道的噪声信号,即第二噪声信号。
[0108]
在步骤s102中,根据所述第一残差信号的向量和所述第一信号向量,确定当前帧的增益函数。
[0109]
其中,增益函数用于对第一残差信号进行差异化增益,也就是对第一残差信号中的第一语音信号进行正向增益,对第一残差信号中的第二语音信号进行负向增益,从而使第一语音信号和第一噪声信号的强度差异增大,信噪比增加,从而在最大程度上得到纯净的第一语音信号。
[0110]
在步骤s103中,根据所述第一信号向量和所述当前帧的增益函数,确定当前帧的第一语音信号。
[0111]
本步骤中,可以将所述第一信号向量和所述当前帧的增益函数的乘积,由频域形
式转换为时域形式,形成时域形式的当前帧的第一语音信号。例如可以采用下述逆傅里叶变换的形式,进行频域形式到时域形式的转换:
[0112]
e=ifft(d1(l).*g(l)).*win
[0113]
其中,d1(l)和g(l)分别是d1(l,k)和g(l,k)的向量形式。e是消除噪声的时域增强信号,ifft(
·
)是傅里叶逆变换。
[0114]
本公开根据输入第一麦克风的第一语音信号和第一噪声信号组成的第一信号向量,和输入第二麦克风的第二语音信号和第二噪声信号组成的第二信号向量,确定包括第二噪声信号和残留语音信号的第一残差信号,然后根据第一残差信号的向量和第一信号向量,确定当前帧的增益函数,最后根据第一信号向量和上述当前帧的增益函数确定当前帧的第一语音信号。由于第一麦克风和第二麦克风的位置不同,因此其语音和噪声的比例呈相反趋势,因此第一信号向量和第二信号向量可以使用目标语音和干扰噪声对消的方法来进行噪声估计和抑制,从而提高了麦克风中噪声的消除效果,可以得到即为纯净的语音信号。
[0115]
本公开的一些实施例中,可以按照附图2所示的方式根据第一信号向量和第二信号向量,确定第一残差信号的向量,包括步骤s201至步骤s203。
[0116]
在步骤s201中,获取所述第一信号向量和所述第二信号向量,其中,所述第一信号向量包括第一数量的样本点,所述第二信号向量包括第二数量的样本点。
[0117]
本步骤中,可以将所述第一麦克风的当前帧的输入信号和所述第一麦克风的前至少一帧的输入信号拼接,形成样本点的数量为所述第一数量的第一信号向量。第一数量m可以表征拼接后的信号块长度。可选的,采用连续帧overlap的方式进行信号拼接,得到第一信号向量d1(l):
[0118]
d1(l)=[d1(n),d1(n

1),

,d1(n

m 1)]
t
[0119]
其中,d1(n)、d1(n

1)

,d1(n

m 1)为m个样本点,m可以是每帧信号的样本点数量r的整数倍。
[0120]
本步骤中,将所述第二麦克风的当前帧的输入信号,形成样本点的数量为所述第二数量的第二信号向量。第二数量r可以表征每帧信号的长度。可选的,采用连续帧overlap的方式进行信号拼接,得到第二信号向量d2(l):
[0121]
d2(l)=[d2(n),d2(n

1),

,d2(n

r 1)]
t
[0122]
其中,d2(n)、d2(n

1)

,d2(n

r 1)为r个样本点。
[0123]
在步骤s202中,根据所述第一信号向量和前一帧的第一传递函数,确定第二语音信号的傅里叶变换系数的向量。
[0124]
本步骤中,可以先对d1(l)进行时域至频域的转换,以得到主通道输入信号dft系数d1(l,k):d1(l)=fft(d1(l));然后按照下述公式根据d1(l,k)和前一帧的第一传递函数确定第二语音信号的傅里叶变换系数的向量确定第二语音信号的傅里叶变换系数的向量
[0125]
在步骤s203中,根据所述第二信号向量和所述傅里叶变换系数的向量中第二数量的样本点,确定所述第一残差信号的向量。
[0126]
本步骤中,可以先将由频域转换为时域:再按照下述公式得到第一残差信号的向量v(l):
[0127]
另外,还可以在得到v(l)后,按照下述方式更新当前帧的第一传递函数:
[0128]
首先,根据所述第一残差信号的向量v(l)、前一帧的残差信号协方差φ
v
(l

1)、前一帧的状态估计误差协方差p
v
(l

1)、第一信号向量d1(l)和平滑参数α,确定第一卡尔曼增益系数k
s
(l)。
[0129]
可以依次按照下述公式得到第一卡尔曼增益系数k
s
(l):v(l)=fft([0;v(l)])、φ
v
(l)=αφ
v
(l

1) (1

α)|v(l)|2、k
s
(l)=a
·
其中,a为转移概率,一般取值0<<a<1。
[0130]
然后根据所述第一卡尔曼增益系数k
s
(l)和所述第一残差信号v(l)和前一帧的第一传递函数确定当前帧的第一传递函数
[0131]
可以依次按照下述公式得到当前帧的第一传递函数:δw
su
=k
s
(l)v(l)、δw
s
=ifft(δw
su
)、δw
sc
=fft([δw
s
(1:m

r);0])、r);0])、
[0132]
通过更新当前帧的第一传递函数,能够在处理下一帧信号时利用,因为当前帧的第一传递函数相对于下一帧信号为前一帧的第一传递函数。需要注意的是,当处理的信号为第一帧时,前一帧的第一传递函数可以随机预设。
[0133]
另外还可以在得到v(l)后,按照下述方式更新当前帧的残差信号协方差:根据所述当前帧的第一传递函数、前一帧的第一传递函数协方差、所述第一卡尔曼增益系数、前一帧的残差信号协方差、所述第一数量和所述第二数量,确定当前帧的残差信号协方差。
[0134]
可以依次按照下述公式得到当前帧的残差信号协方差p
v
(l):(l):φ
δ
(l)=(1

a2)φ
ws
(l)、(l)、其中,φ
ws
(l)是通道间语音相对传递函数的协方差,α是平滑参数,φ
δ
(l)是过程噪声协方差,p
v
(l)是状态估计误差协方差,i=[1,1,

1]
t
是由1组成的向量。
[0135]
通过更新当前帧的残差信号协方差,能够在处理下一帧信号时利用,因为当前帧的残差信号协方差相对于下一帧信号为前一帧的残差信号协方差。需要注意的是,当处理的信号为第一帧时,前一帧的残差信号协方差可以随机预设。
[0136]
本公开的一些实施例中,可以按照附图3所示的方式根据所述第一残差信号的向量和所述第一信号向量,确定当前帧的增益函数,包括步骤s301至步骤s303。
[0137]
在步骤s301中,将所述第一残差信号的向量和所述第一信号的向量,分别由时域形式转换为频域形式。
[0138]
可以按照下述傅里叶变换进行时域形式至频域形式的转换:
[0139]
v2(l)=fft(v2.*win)
[0140]
d1(l)=fft(d1.*win)
[0141]
其中v2(l)是包含n个样本点的第一残差信号,d1(l)是主通道输入信号,即第一信号向量,win是短时分析窗,fft(
·
)是傅里叶变换。
[0142]
v2(l)=[v(n),v(n

1),

,v(n

n 1)]
t
[0143]
d1(l)=[d1(n),d1(n

1),

,d1(n

n 1)]
t
[0144]
win=[0;sqrt(hanning(n

1))]
[0145]
hanning(n)=0.5*[1

cos(2π*n/n)]
[0146]
其中n是分析帧长度,hanning(n)是长度为n

1的如图4所示的汉宁窗。
[0147]
在步骤s302中,根据前一帧的后验状态误差协方差矩阵、过程噪声协方差矩阵、前一帧的第二传递函数、所述第一信号向量、包含当前帧的至少一帧第一残差信号和前一帧的后验误差方差,确定噪声估计信号的向量。
[0148]
本步骤中,可以先根据所述前一帧的后验状态误差协方差矩阵和所述过程噪声协方差矩阵,确定前一帧的先验状态误差协方差矩阵p(l|l

1,k):其中,为前一帧的后验状态误差协方差矩阵,φ
δ
(l,k)为过程噪声协方差矩阵,(l,k)为过程噪声协方差矩阵,是控制第一传递函数g(l,k)不确定度的参数,可以取值i是单位矩阵。其中,当前帧为第一帧时,前一帧的后验状态误差协方差矩阵可以采用预设的初始值。
[0149]
然后根据所述第一信号向量、所述前一帧的第二传递函数和当前帧以及前l

1帧的所述第一残差信号的向量,确定前一帧的先验误差信号e(l|l

1,k)的向量以及前一帧的先验误差方差先验误差方差其中,v2(l,k)=[v(l,k),v(l

1,k),

,v(l

l 1,k)]
t
,所述l为所述第二传递函数g(l,k)的长度,第二传递函数为回声估计与残留回声之间的传递函数。其中,当前帧为第一帧时,前一帧的第二传递函数可以采用预设的初始值,且当前帧以及前l

1帧的所述第一残差信号的向量中,如果当前帧之前不足l

1帧,则缺失的帧数可以采用预设的初始值。
[0150]
然后根据所述前一帧的后验误差方差和所述前一帧的先验误差方差,确定当前帧的预测误差功率信号的向量的预测误差功率信号的向量其中,是后验误差方差,是先验误差方差,β是遗忘因子,0≤β≤1。其中,其中,当前帧为第一帧时,前一帧后验误差方差和前一帧的先验误差方差均可以采用预设的初始值。
[0151]
然后根据所述前一帧的先验状态误差协方差矩阵、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的预测误差功率信号的向量,确定第二卡尔曼增益系数k(l,k):数k(l,k):其中,当前帧为第一帧时,前一帧的先验状态误差协方差矩
阵可以采用预设的初始值,且当前帧以及前l

1帧的所述第一残差信号的向量中,如果当前帧之前不足l

1帧,则缺失的帧数可以采用预设的初始值。
[0152]
然后根据所述第二卡尔曼增益系数、所述前一帧的先验误差信号的向量、所述前一帧的第二传递函数,确定当前帧的第二传递函数:,确定当前帧的第二传递函数:其中,当前帧为第一帧时,前一帧的第一传递函数可以采用预设的初始值。
[0153]
最后根据前一帧的预测误差功率信号的向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定噪声估计信号的向量其中,λ是遗忘因子,0≤λ≤1。其中,当前帧为第一帧时,前一帧的预测误差功率信号的向量可以采用预设的初始值,且当前帧以及前l

1帧的所述第一残差信号的向量中,如果当前帧之前不足l

1帧,则缺失的帧数可以采用预设的初始值。
[0154]
另外,还可以根据所述第二卡尔曼增益系数、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述前一帧的先验状态误差协方差矩阵,确定当前帧的后验状态误差协方差矩阵其中,当前帧为第一帧时,前一帧的先验状态误差协方差矩阵可以采用预设的初始值,且当前帧以及前l

1帧的所述第一残差信号的向量中,如果当前帧之前不足l

1帧,则缺失的帧数可以采用预设的初始值。
[0155]
还可以根据所述第一信号向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述前一帧的先验状态误差协方差矩阵,确定当前帧的后验误差方差其中,当前帧为第一帧时,前一帧的先验状态误差协方差矩阵可以采用预设的初始值,且当前帧以及前l

1帧的所述第一残差信号的向量中,如果当前帧之前不足l

1帧,则缺失的帧数可以采用预设的初始值。
[0156]
在步骤s302中,根据所述噪声估计信号的向量、前一帧的第一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数。
[0157]
本步骤中,可以先根据所述前一帧的第一估计信号向量和所述第一信号向量,确定当前帧的第一估计信号向量定当前帧的第一估计信号向量其中,当前帧为第一帧时,前一帧的第一估计信号向量可以采用预设的初始值。
[0158]
然后根据所述前一帧的语音估计信号的向量、所述第一信号向量和所述前一帧的增益函数,确定当前帧的语音估计信号的向量增益函数,确定当前帧的语音估计信号的向量其中,当前帧为第一帧时,前一帧的语音估计信号的向量可以采用预设的初始值。
[0159]
然后根据所述当前帧的第一估计信号向量和所述当前帧的噪声估计信号的向量,
确定后验信干比γ(l,k):
[0160]
最后根据所述当前帧的语音估计信号的向量、所述当前帧的噪声估计信号的向量、所述后验信干比和所述最小先验信干比,确定所述当前帧的增益函数g(l,k):其中,其中,其中,η是遗忘因子,ξ
min
是最小先验信干比,用于控制残留回声抑制量和音乐噪声。
[0161]
手机使用的环境噪声是扩散场噪声,手机两个麦克风拾取的噪声信号之间相关性较低,而目标语音信号之间具有强相关性,因此可以使用线性自适应滤波器,通过主麦克风(第一麦克风)信号来估计参考麦克风(第二麦克风)信号中的目标语音成分,并将其从参考麦克风中去除,为语音谱增强阶段的噪声估计过程提供一个可靠的参考噪声信号。
[0162]
卡尔曼自适应滤波器具有收敛速度快和滤波器失调小等特点,使用时域卡尔曼自适应滤波器的完全对角化快速频域实现方法来去除目标语音信号,包括滤波、计算误差、卡尔曼更新以及卡尔曼预测等几个过程。滤波的过程是通过估计的滤波器使用主麦克风的目标语音信号来估计参考麦克风中的目标语音成分,然后将其从参考麦克风信号中减去,计算得到误差信号,即参考噪声信号。卡尔曼更新包括计算卡尔曼增益和滤波器自适应,卡尔曼预测包括计算通道间相对传递函数协方差,过程噪声协方差和状态估计误差协方差。相对于传统nlms等自适应滤波器,卡尔曼滤波器自适应过程简单、无需复杂的步长控制机制,完全对角化快速频域实现方法计算简单,更进一步降低了计算复杂度。
[0163]
使用stft域卡尔曼自适应滤波器来估计两个麦克风噪声谱之间的相对卷积传递函数,从而通过参考麦克风的参考噪声信号估计出主麦克风信号中的噪声谱,使用维纳滤波谱增强方法对噪声进行抑制,最后使用istft方法合成增强语音信号。stft域卡尔曼自适应滤波的实现过程与目标语音信号对消中卡尔曼自适应滤波器的完全对角化快速频域实现过程类似,不同点是前者在stft域实现卡尔曼自适应滤波,而后者是时域卡尔曼自适应滤波器的完全对角化快速频域实现。
[0164]
根据本公开实施例的第二方面,提供一种声音处理装置,应用于终端设备,所述终端设备包括第一麦克风和第二麦克风,请参照附图5,包括:
[0165]
语音消除模块501,用于根据第一信号向量和的第二信号向量,确定第一残差信号的向量,其中,所述第一信号向量为第一麦克风的输入信号,包括第一语音信号和第一噪声信号,所述第二信号向量为第二麦克风的输入信号,包括第二语音信号和第二噪声信号,所述第一残差信号包括第二噪声信号和残留语音信号;
[0166]
增益模块502,用于根据所述第一残差信号的向量和所述第一信号向量,确定当前帧的增益函数;
[0167]
抑制模块503,用于根据所述第一信号向量和所述当前帧的增益函数,确定当前帧的第一语音信号。
[0168]
在本公开的一些实施例中,所述语音消除模块具体用于:
[0169]
获取所述第一信号向量和所述第二信号向量,其中,所述第一信号向量包括第一数量的样本点,所述第二信号向量包括第二数量的样本点;
[0170]
根据所述第一信号向量和前一帧的第一传递函数,确定第二语音信号的傅里叶变
换系数的向量;
[0171]
根据所述第二信号向量和所述傅里叶变换系数的向量中第二数量的样本点,确定所述第一残差信号的向量。
[0172]
在本公开的一些实施例中,所述语音消除模块还用于:
[0173]
根据所述第一残差信号的向量、前一帧的残差信号协方差、前一帧的状态估计误差协方差、第一信号向量和平滑参数,确定第一卡尔曼增益系数;
[0174]
根据所述第一卡尔曼增益系数和所述第一残差信号和前一帧的第一传递函数,确定当前帧的第一传递函数。
[0175]
在本公开的一些实施例中,所述语音消除模块还用于:
[0176]
根据所述当前帧的第一传递函数、前一帧的第一传递函数协方差、所述第一卡尔曼增益系数、前一帧的残差信号协方差、所述第一数量和所述第二数量,确定当前帧的残差信号协方差。
[0177]
在本公开的一些实施例中,所述语音消除模块用于获取第一信号向量和所述第二信号向量时,具体用于:
[0178]
将所述第一麦克风的当前帧的输入信号和所述第一麦克风的前至少一帧的输入信号拼接,形成样本点的数量为所述第一数量的第一信号向量;
[0179]
将所述第二麦克风的当前帧的输入信号,形成样本点的数量为所述第二数量的第二信号向量。
[0180]
在本公开的一些实施例中,所述增益模块具体用于:
[0181]
将所述第一残差信号的向量和所述第一信号的向量,分别由时域形式转换为频域形式;
[0182]
根据前一帧的后验状态误差协方差矩阵、过程噪声协方差矩阵、前一帧的第二传递函数、所述第一信号向量、包含当前帧的至少一帧第一残差信号和前一帧的后验误差方差,确定噪声估计信号的向量;
[0183]
根据所述噪声估计信号的向量、前一帧的第一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数。
[0184]
在本公开的一些实施例中,所述增益模块用于根据前一帧的后验状态误差协方差矩阵、过程噪声协方差矩阵、前一帧的第二传递函数、所述第一信号向量、包含当前帧的至少一帧第一残差信号和前一帧的后验误差方差,确定噪声估计信号的向量时,具体用于:
[0185]
根据所述前一帧的后验状态误差协方差矩阵和所述过程噪声协方差矩阵,确定前一帧的先验状态误差协方差矩阵;
[0186]
根据所述第一信号向量、所述前一帧的第一传递函数和当前帧以及前l

1帧的所述第一残差信号的向量,确定前一帧的先验误差信号的向量以及前一帧的先验误差方差,其中,所述l为所述第二传递函数的长度;
[0187]
根据所述前一帧的后验误差方差和所述前一帧的先验误差方差,确定当前帧的预测误差功率信号的向量;
[0188]
根据所述前一帧的先验状态误差协方差矩阵、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的预测误差功率信号的向量,确定第二卡尔曼增益系数;
[0189]
根据所述第二卡尔曼增益系数、所述前一帧的先验误差信号的向量、所述前一帧的第二传递函数,确定当前帧的第二传递函数;
[0190]
根据前一帧的预测误差功率信号的向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定噪声估计信号的向量。
[0191]
在本公开的一些实施例中,所述增益模块还用于:
[0192]
根据所述第二卡尔曼增益系数、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述前一帧的先验状态误差协方差矩阵,确定当前帧的后验状态误差协方差矩阵;和/或,
[0193]
根据所述第一信号向量、所述当前帧以及前l

1帧的所述第一残差信号的向量和所述当前帧的第二传递函数,确定当前帧的后验误差方差。
[0194]
在本公开的一些实施例中,所述增益模块用于根据所述噪声估计信号的向量、前一帧的第一估计信号的向量、前一帧的语音功率估计信号的向量、前一帧的增益函数、所述第一信号向量和最小先验信干比,确定当前帧的增益函数时,具体用于:
[0195]
根据所述前一帧的第一估计信号向量和所述第一信号向量,确定当前帧的第一估计信号向量;
[0196]
根据所述前一帧的语音功率估计信号的向量、所述第一信号向量和所述前一帧的增益函数,确定当前帧的语音功率估计信号的向量;
[0197]
根据所述当前帧的第一估计信号向量和所述当前帧的噪声估计信号的向量,确定后验信干比;
[0198]
根据所述当前帧的语音功率估计信号的向量、所述当前帧的噪声估计信号的向量、所述后验信干比和所述最小先验信干比,确定所述当前帧的增益函数。
[0199]
在本公开的一些实施例中,所述抑制模块具体用于:
[0200]
将所述第一信号向量和所述当前帧的增益函数的乘积,由频域形式转换为时域形式,形成时域形式的当前帧的第一语音信号。
[0201]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在第一方面有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0202]
根据本公开实施例的第五方面,请参照附图6,其示例性的示出了一种电子设备的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0203]
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
[0204]
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
[0205]
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消
息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0206]
电力组件606为装置600的各种组件提供电力。电力组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
[0207]
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0208]
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
[0209]
i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0210]
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614还可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0211]
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如wifi,2g或3g,4g或5g或它们的组合。在一个示例性实施例中,通信部件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0212]
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述电子设备的供电方法。
[0213]
第四方面,本公开在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述电子设备的供电方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
[0214]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0215]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜