基于双麦克风架构的多通道啸叫抑制方法与流程

文档序号:26186529发布日期:2021-08-06 18:37阅读:153来源:国知局
基于双麦克风架构的多通道啸叫抑制方法与流程

本发明涉及语音处理领域,尤其涉及一种基于双麦克风架构的多通道啸叫抑制方法、计算机设备及计算机可读存储介质。



背景技术:

啸叫是指在使用麦克风等的场合中出现的一种尖锐、刺耳的声音。啸叫一般是由于扬声器(如扬声器24等)输出的声音不断被拾音器捕捉后回到扬声器,由扬声器的功率放大器放大后输出,如此往复,从而产生的声音正反馈现象。一般的,强烈的刺耳的啸叫往往会掩盖原始声音中的有效声音,导致扩音设备不能正常工作,破坏扬声器等扩音设备的稳定性,可能缩短扬声器的使用寿命和影响用户体验。

随着电子设备的发展,针对听力障碍人士,人们开发出了助听器用于补充听力障碍人士的听力损失。助听器通常安装在用户的耳内或耳后,用于放大声音并将放大后的声音提供给佩戴者。助听器通常包含一个收集声音信号的麦克风;一个放大声音信号的处理器;和一个输出声音的扬声器(在助听器领域可称为接收器)。

在助听器中,周围的环境信号会经由麦克风拾取、处理器放大和扬声器输出。由于在整个信号通路中,通常信号增益都比较大,且麦克风和扬声器之间的距离比较近,从而容易出现以下这种情况:扬声器输出的声音可能会再次经由麦克拾取、处理器放大和扬声器输出,从而容易导致形成声学反馈,导致发生啸叫。如图1所示,常规啸叫抑制的方案为:通过测试信号估计出来由扬声器到达麦克风的反馈通道。通过app的方式,控制使得在处理器内部产生一个信号,由此信号能够测量得到耳道的传递函数,能够补偿扬声器的频率响应的同时,得到估计的反馈通道,从而实现啸叫抑制。然而,诸如上述常规啸叫抑制效果差。



技术实现要素:

本发明的目的是提供一种基于双麦克风架构的多通道啸叫抑制方法、计算机设备及计算机可读存储介质,用于检测和抑制啸叫,啸叫抑制效果好。

本发明实施例的一个方面提供了一种基于双麦克风架构的多通道啸叫抑制方法,用于助听器中,所述助听器包括前馈麦克风、反馈麦克风、处理器和扬声器,所述前馈麦克风位于所述助听器远离耳道的一侧,所述反馈麦克风和所述扬声器位于靠近所述耳道的一侧,所述方法包括:

获取前馈信号,所述前馈信号为当前采集到的周围环境信号;

获取反馈信号,所述反馈信号为通过所述反馈麦克风采集所述扬声器输出的信号;

根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件;及

若发生所述啸叫事件,则执行啸叫抑制以输出啸叫抑制后的前馈信号至所述扬声器。

可选的,所述根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件的步骤,包括:

对所述前馈信号进行多频段滤波,得到对应于多个通道的多个第一子带信号s11、s12、…s1m;

对所述反馈信号进行多频段滤波,得到对于所述多个通道的多个第二子带信号s21、s22、…s2m;第一子带信号s1i与对应的第二子带信号s2i对应于相同的通道,1≤i≤m,i为正整数;

根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件。

可选的,根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件的步骤,包括:

通过所述反馈信号判断佩戴所述助听器的佩戴者是否在说话;

若判定所述佩戴者在说话,则通过预设频点将所述多个通道分为第一组通道和第二组通道,所述第一通道的频率大于所述预设频点,所述第二通道的频率不大于所述预设频点;

判断所述第一组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第一差异值,并将信号能量差异或信噪比差异大于第一差异值的所述第一组通道内的各个通道确定为发生所述啸叫事件的通道;

判断所述第二组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第二差异值,并将判定信号能量差异或信噪比差异大于第二差异值的所述第二组通道内的各个通道确定为发生所述啸叫事件的通道;

其中,所述第一差异值大于所述第二差异值,所述第二差异值根据所述佩戴者的说话声音强度动态调整,所述第二差异值的大小和所述声音强度之间为正向关系。

可选的,根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件的步骤,包括:

判断各个通道内的第二子带信号s2i是否满足第一判断条件,以从所述多个通道中选择出满足所述第一判断条件的一个或多个目标通道,其中,所述第一判断条件为相应通道内的第二子带信号s2i的信号能量大于第一预设阈值且信噪比小于第二预设阈值;及

根据所述一个或多个目标通中的各个目标通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个目标通道内是否出现所述啸叫事件。

可选的,根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件的步骤,包括:

获取第一时间窗口内各个第一子带信号s1i的信号能量;

获取第二时间窗口内各个第一子带信号s1i的信号能量,其中,所述第二时间窗口的时间长度短于所述第一时间窗口的时间长度,所述第二时间窗口为当前时间窗口;

获取第一时间窗口内各个第二子带信号s2i的信号能量;

获取第二时间窗口内各个第二子带信号s2i的信号能量;

计算在所述第一时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第一时间窗口内相应通道内的第一子带信号s1i的信号能量和在所述第一时间窗口内该相应通道的第二子带信号s2i的信号能量之间的非瞬态峰值能量差异;

计算在所述第二时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第二时间窗口内相应通道的第一子带信号s1i的信号能量和在所述第二时间窗口内该相应通道的第二子带信号s2i的信号能量之间的瞬态峰值能量差异;及

根据所述各个通道内的非瞬态峰值能量差异和瞬态峰值能量差异,判断所述各个通道内是否出现所述啸叫事件。

可选的,所述根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件的步骤,包括:

评估所述前馈麦克风采集到的前一帧信号;

从所述反馈信号中滤除所述评估的前一帧信号,得到滤除后的反馈信号;

根据所述滤除后的反馈信号,判断是否发生所述啸叫事件。

可选的,所述若发生所述啸叫事件,则执行啸叫抑制以输出啸叫抑制后的前馈信号至所述扬声器的步骤,包括:

在发生啸叫事件的一个或多个通道中进行啸叫抑制,得到啸叫抑制后的一个或多个子带信号;及

将所述啸叫抑制后的一个或多个子带信号和未发生啸叫事件的剩余通道的子带信号进行合成,以得到合成信号;其中,所述合成信号用于通过扬声器播放出来。

本发明实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述基于双麦克风架构的多通道啸叫抑制方法的步骤。

本发明实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述基于单麦克风架构的多通道啸叫抑制方法的步骤。

本发明实施例提供的基于双麦克风架构的多通道啸叫抑制方法、设备及计算机可读存储介质,通过各个通道准确地判断各自通道内是否出现啸叫事件,并根据判断结果执行啸叫抑制以提升用户体验。

附图说明

图1为常规啸叫抑制的方案的示意图;

图2示意性示出了本发明的助听器的结构示意图;

图3为啸叫发生时信号的时域图;

图4为啸叫发生时信号的频域图;

图5是为原始信号的全频段的频域图;

图6为对原始信号进行滤波器处理后,单独提取2500hz附近频段的语音信号的频域图;

图7为对原始信号进行滤波器处理后,单独提取2500hz附近频段的语音信号的时域图;

图8为一个基于双麦克风架构的啸叫抑制框架;

图9为一个基于双麦克风架构的另一啸叫抑制框架;

图10示意性示出了根据本发明实施例一的基于双麦克风架构的多通道啸叫抑制方法的流程图;

图11是图10中步骤s1004的流程图;

图12是图11中步骤s1104的流程图;

图13是图11中步骤s1104的另一个流程图;

图14是图11中步骤s1104的另一个流程图;

图15是图11中步骤s1104的另一个流程图;

图16是图10中步骤s1004的另一流程图;

图17是图10中步骤s1006的流程图;

图18示意性示出了根据本发明实施例二的基于双麦克风架构的多通道啸叫抑制系统的框图;

图19示意性示出了根据本发明实施例三的适于实现基于双麦克风架构的多通道啸叫抑制方法的计算机设备的硬件架构示意图;

图20示意性示出了本发明的助听器的另一结构示意图;及

图21示意性示出了根据本发明实施例五的基于单麦克风架构的多通道啸叫抑制方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。

图2示意性示出了根据本发明实施例的基于双麦克风架构的多通道啸叫抑制方法的环境应用示意图。

所述基于双麦克风架构的多通道啸叫抑制方法可以被执行在助听器2中。

助听器2,包括外壳,该外壳内包括前馈麦克风21、反馈麦克风22、处理器23、扬声器24。

前馈麦克风21,位于所述助听器远离耳道的一侧(外壳外侧)。即,前馈麦克风21位于所述助听器远离耳道的一侧,可以用于获取前馈信号(佩戴者周围的周围环境信号)。

反馈麦克风22,位于所述外壳的另一侧,在所述助听器被佩戴时位于所述佩戴者耳道内或贴近耳道。应理解,当助听器2被佩戴时,其位于佩戴者的耳道4内,可以用于获取反馈信号,如佩戴者说话时通过头骨传输的信号、扬声器24输出的信号。

处理器23,电连接前馈麦克风21、反馈麦克风22和扬声器24,用于处理前馈麦克风21和反馈麦克风22提供的信号。例如,降噪、宽动态范围压缩(wdrc)、波束形成等。处理器23可以是dsp(digitalsignalprocessing,数字信号处理)芯片等。

扬声器24,用于接收处理器23处理后的声音信号,并将处理后的声音信号输出到耳道4中。

硅胶套25,用于当助听器2被佩戴时,至少部分插入耳道4中。硅胶套25可以在一定程度阻断佩戴者周围的声音进入到耳道4中。当然,硅胶套25的材质可置换。

本发明可以基于上述助听器的结构,提供一个双麦克风架构的多通道啸叫抑制方案,根据前馈麦克风21采集到的前馈信号(周围环境信号)和反馈麦克风采22采集到的反馈信号(扬声器24输出的信号),判断是否发生啸叫事件并执行后续处理操作。

当然,本发明也提供了一种单麦克风架构(前馈麦克风)的多通道啸叫抑制方案。

以下提供双麦克风架构的多通道啸叫抑制方案的实现原理。

如图3和图4为啸叫发生时的时域图和频域图,在啸叫产生的时候:在时域,能量忽然剧烈增加,并保持稳定;在频域,在啸叫的频点,能量剧烈增大后保持稳定。

因此,可以基于能量,来判断是否发生啸叫事件。

进一步的,将输入信号经过滤波器组,观察信号在特定通道内的能量变化情况,如图4和图5所示,当啸叫发生时,在某个特定通道内的信号的能量会急剧增加。

因此,可以将信号划分到通道内进行分析,在在通道内检测是否有啸叫产生。

如图6和图7,在通道内观察,当啸叫发生时,反馈信号的能量在啸叫的频段部分会迅速增大。在时域上信号能量会出现激增,而在频域上信号能量会趋于稳定的一个值。

基于上述分析,本发明可以提出一种新的基于双麦克风架构的多通道啸叫抑制方案:

将输入信号通过多通道的滤波器组进行分频段滤波,以分解成为对应于多个通道的多个子带信号,并在每个单独的通道内,进行啸叫检测及采取相应的抑制措施。

(1)在每个单独的通道内检测信号的相关性,判别各自通道内的信号是否为啸叫信号。

经过了多通道的滤波器以后,在每个通道内计算信号的短时自相关函数定义如下:

其中n表示窗函数是从第n点开始加入。自相关函数具有如下三个重要性质:

如果s(n)是周期为p的信号,那么rn(k)也是周期信号,且周期相同,即

rn(k)=rn(k+p)

当k=0时,自相关函数具有最大值,即在抽样0,周期信号的自相关函数达到最大值。自相关函数时偶函数,即rn(-k)=rn(k)。

也就是说,当发生啸叫事件时,某个特定通道内的信号特征会存在周期性。也就是计算自相关函数时候,可以算到周期为特定k值时候,自相关函数出现极大值。

故,某个通道内的信号具有周期性(自相关函数出现极大值),则判定这个通道内产生啸叫事件。

(2)在每个单独的通道内检测信号的能量,判别各自通道内的信号是否为啸叫信号。当某个通道内的信号的能量出现峰值时,则判定这个通道内产生啸叫事件。

(3)在每个单独的通道内检测信号的能量和自相关性,以综合判断各自通道是否生成啸叫事件。

如图8所示,以下提供一个基于双麦克风架构的啸叫抑制框架。

步骤一:对输入信号进行多频段滤波,得到对应多个通道的多个子带信号;

步骤二:根据各个通道内的能量和/或信噪比,判断各个通道内是否出现啸叫事件;

步骤三:根据判断结果对待输出信号的一个或多个子带信号进行啸叫抑制;

步骤四:将经过啸叫抑制的待输出信号进行合成,并将合成信号传输到扬声器24中。

进一步的,经过本发明人分析以下结论:

啸叫发生时,反馈麦克风22距离扬声器24比较近,因此采集到的扬声器24的输出信号能量的变化,相对于前馈麦克风21要灵敏。当扬声器24能量出现剧烈增加,如某个频段的啸叫产生的时候,反馈麦克风22会在采集到这些剧烈增加的能量,而前馈麦克风21由于距离扬声器24相对较远,因此采集到扬声器24的输出信号能量激增相对较小。

当啸叫发生的时候,反馈麦克风22由于距离扬声器24比较近,因此采集到的扬声器24能量的变化,相对于前馈麦克风21要快速。如果反馈麦克22采集到的某个频段内的大信号能量,相对于前馈麦克风21的大信号能量要提前一段时间,那么判别该频段内啸叫发生。举例来说,如果反馈麦克风22与前馈麦克风21的间距为4cm,那么采样率为16khz,则此延时为16000*0.04/340=3.8个样点。

基于以上分析,如图9所示,所述步骤二可以包括如下操作:(1)对前馈麦克风21采集的前馈信号进行多频段滤波,得到对应于m个通道的多个第一子带信号s11、s12、…s1m;(2)对反馈麦克风22采集的反馈信号进行多频段滤波,得到对于m个通道的多个第二子带信号s21、s22、…s2m;第一子带信号s1i与对应的第二子带信号s2i对应于相同的通道,1≤i≤m,i为正整数;(3)根据各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件。需要说明的是,i为变量,可以为任意一个通道。

进一步的,判断所述各个通道内是否出现所述啸叫事件,可以具体如下:

1、判断某个通道(例如通道1)是否发生啸叫的第一个条件:该通道1内的第二子带信号的信号能量大于第一预设阈值且该通道1内的第二子带信号的信噪比小于第二预设阈值。

2、第二个条件:该通道1内的第二子带信号的信号能量比大于该通道1内的第一子带信号的信号能量,且比值大于第三预设阈值。原因如下:相对于前馈麦克风21,反馈麦克风22和扬声器24之间的物理距离比较近,因此啸叫发生时,反馈麦克风22采集到的信号能量会急剧增大,而前馈麦克风21采集到的啸叫信号能量相对较小。

若该通道1同时满足上面两个条件,则判定该通道1内发生了啸叫事件,否则没有发生啸叫事件。

若判定该通道1内发生了啸叫事件,则可以针对该通道1进行自适应滤波滤除啸叫。

进一步的,在判断各个通道内是否出现啸叫事件时,可能会存在多种情形,影响判断精确度。

情形1:

前馈麦克风21会将周围环境中的信号放大,并将放大后的信号(即,前馈信号)送入到扬声器24播放出来,反馈麦克风24会采集扬声器24播放出来的信号。因此,反馈麦克风24采集到的反馈信号包括前馈麦克风21的信号放大成分。

在处理器23内部,能够拿到前馈麦克风21的信号数据,同时也能够在处理器23内部得到整个计算的链路。因此,可以将反馈麦克风22采集到的反馈信号,减去估计的前馈麦克风21的放大成分。从而可以使得反馈麦克风22集中抓取到啸叫部分的信号能量。即,反馈麦克风22能够集中得到啸叫发生的信号,提升判别准确度。

情形2:

反馈麦克风22可能会捕捉到佩戴者的声音。佩戴者的声音可能通过骨传导的方式,先到达反馈麦克风22,从而使得反馈麦克风22捕捉到的信号能量相对前馈麦克风21更大。

为了排除佩戴者说话导致的判断失准,可以提供如下解决方案。由于反馈麦克风22捕获到的骨传导的信号主要集中在低频部分,主要集中在1khz以下,因此,可以做vad(voiceactivitydetection)检测,当检测到佩戴者说话的时候,那么1khz以下的信号部分啸叫判别的阈值需要放宽一些,从而能够将佩戴者说话的声音滤除掉,防止误判啸叫发生。该阈值随着佩戴者说话声音强度变化而变化。

在上述方案中,主要依赖反馈麦克风22,其距离扬声器24较近,能够在啸叫发生的初始阶段检测到啸叫的发生。另外,通过多个通道分别检测和抑制啸叫,能够针对啸叫产生的频段进行啸叫抑制,防止对其他非啸叫频段的语音信号产生损伤。

下文将提供多个实施例,下文提供的各个实施例可以用于实现上文描述的基于双麦克风架构的多通道啸叫抑制方法。为便于理解,下面将助听器2作为执行主体进行示例性描述。

实施例一

在本实施例中,基于双麦克风架构的多通道啸叫抑制方法被执行在助听器2中。如图1所示,助听器2包括前馈麦克风21、反馈麦克风22、处理器23和扬声器24,所述前馈麦克风21位于所述助听器2远离耳道的一侧,所述反馈麦克风22和所述扬声器23位于靠近所述耳道的一侧。

图10示意性示出了根据本发明实施例一的基于双麦克风架构的多通道啸叫抑制方法的流程图。如图10所示,基于双麦克风架构的多通道啸叫抑制方法可以包括步骤s1000~s1006,其中:

步骤s1000,获取前馈信号,所述前馈信号为当前采集到的周围环境信号。

当助听器2被佩戴到佩戴者的耳朵上时,前馈麦克风21可以获取到所述佩戴者的周围环境信号。在示例性的实施例中,所述周围环境信号,可以包括所述佩戴者周围的各种声音信号,如其他人的声音信号、动物的声音信号以及汽车等的各类噪音信号。

当所述佩戴者自己发出声音时,所述佩戴者自己的声音信号亦会通过空气传播到前馈麦克风21处,在此种情况下,所述周围环境信号还包括所述佩戴者自己的声音信号。

步骤s1002,获取反馈信号,所述反馈信号为通过所述反馈麦克风采集所述扬声器输出的信号。

所述反馈信号主要包括扬声器24输出的信号。当佩戴者说话时,以包括通过头骨传输的信号。

步骤s1004,根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件。

每个通道为或对应于相应频段。

步骤s1006,若发生所述啸叫事件,则执行啸叫抑制以输出啸叫抑制后的前馈信号至扬声器24。

其中,可以通过多种方式判断是否发生啸叫事件,例如自相关函数极大值或信号能量。

作为示例,如图11所示,所述步骤s1004可以包括步骤s1100~s1104,其中:步骤s1100,对所述前馈信号进行多频段滤波,得到对应于多个通道的多个第一子带信号s11、s12、…s1m;步骤s1102,对所述反馈信号进行多频段滤波,得到对于所述多个通道的多个第二子带信号s21、s22、…s2m;第一子带信号s1i与对应的第二子带信号s2i对应于相同的通道,1≤i≤m,i为正整数;步骤s1104,根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件。在本实施例中,通过多个通道分别检测和抑制啸叫,能够针对啸叫产生的频段进行啸叫抑制,防止对其他非啸叫频段的语音信号产生损伤。

为进一步提升判断准确度,如图12所示,所述步骤s1104可以包括步骤s1200~s1206,其中:步骤s1200,通过所述反馈信号判断佩戴所述助听器的佩戴者是否在说话;步骤s1202,若判定所述佩戴者在说话,则通过预设频点将所述多个通道分为第一组通道和第二组通道,所述第一通道的频率大于所述预设频点,所述第二通道的频率不大于所述预设频点;步骤s1204,判断所述第一组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第一差异值,并将信号能量差异或信噪比差异大于第一差异值的所述第一组通道内的各个通道确定为发生所述啸叫事件的通道;步骤s1206,判断所述第二组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第二差异值,并将判定信号能量差异或信噪比差异大于第二差异值的所述第二组通道内的各个通道确定为发生所述啸叫事件的通道;其中,所述第一差异值大于所述第二差异值,所述第二差异值根据所述佩戴者的说话声音强度动态调整,所述第二差异值的大小和所述声音强度之间为正向关系。本发明人发现,反馈麦克风22检测到佩戴者自己说话时,低频部分(1khz以下)的能量会快速增大。因此,如果反馈麦克风22检测到佩戴者自己说话时候,那么此时1khz以下通道内的信号需要考虑佩戴者说话导致的干扰。因此,当检测到佩戴者说话的时候,那么1khz以下的信号部分啸叫判别的阈值需要放宽一些,从而能够将佩戴者说话的声音滤除掉,防止误判啸叫发生。该阈值随着佩戴者说话声音强度变化而变化,进一步提升准确度。

为进一步提升判断准确度,如图13所示,所述步骤s1104可以包括步骤s1300~s1302,其中:步骤s1300,判断各个通道内的第二子带信号s2i是否满足第一判断条件,以从所述多个通道中选择出满足所述第一判断条件的一个或多个目标通道,其中,所述第一判断条件为相应通道内的第二子带信号s2i的信号能量大于第一预设阈值且信噪比小于第二预设阈值;及步骤s1302,根据所述一个或多个目标通中的各个目标通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个目标通道内是否出现所述啸叫事件。

为进一步提升判断准确度,如图14和图15所示,所述步骤s1104可以包括步骤s1400~s1412,其中:步骤s1400,获取第一时间窗口内各个第一子带信号s1i的信号能量(即,长时间能量);步骤s1402,获取第二时间窗口内各个第一子带信号s1i的信号能量(即,瞬态峰值能量),其中,所述第二时间窗口的时间长度短于所述第一时间窗口的时间长度,所述第二时间窗口为当前时间窗口;步骤s1404,获取第一时间窗口内各个第二子带信号s2i的信号能量;步骤s1406,获取第二时间窗口内各个第二子带信号s2i的信号能量;步骤s1408,计算在所述第一时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第一时间窗口内相应通道内的第一子带信号s1i的信号能量和在所述第一时间窗口内该相应通道的第二子带信号s2i的信号能量之间的非瞬态峰值能量差异;步骤s1410,计算在所述第二时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第二时间窗口内相应通道的第一子带信号s1i的信号能量和在所述第二时间窗口内该相应通道的第二子带信号s2i的信号能量之间的瞬态峰值能量差异;及步骤s1412,根据所述各个通道内的非瞬态峰值能量差异和瞬态峰值能量差异,判断所述各个通道内是否出现所述啸叫事件。

作为示例,如图16所示,所述步骤s1004可以包括步骤s1600~s1604,其中:步骤s1600,评估所述前馈麦克风采集到的前一帧信号;步骤s1602,从所述反馈信号中滤除所述评估的前一帧信号,得到滤除后的反馈信号;步骤s1604,根据所述滤除后的反馈信号,判断是否发生所述啸叫事件。在本实施例中,通过集中得到啸叫发生的信号,提升判别准确度。

以上提供了判别啸叫事件的一些方案,在判断发生啸叫事件之后,处理操作可以如下:

作为示例,如图17所示,所述步骤s1006可以包括步骤s1700~s1702,其中:步骤s1700,在发生啸叫事件的一个或多个通道中进行啸叫抑制,得到啸叫抑制后的一个或多个子带信号;及步骤s1702,将所述啸叫抑制后的一个或多个子带信号和未发生啸叫事件的剩余通道的子带信号进行合成,以得到合成信号;其中,所述合成信号用于通过扬声器播放出来。在本实施例中,仅针对发生啸叫事件的通道(频段)进行啸叫抑制,防止对其他非啸叫通道中的语音信号产生损伤。

实施例二

如图18所示,示意性示出了根据本发明实施例二的基于双麦克风架构的多通道啸叫抑制系统1800的框图。该基于双麦克风架构的多通道啸叫抑制系统1800用于助听器中,,所述助听器包括前馈麦克风、反馈麦克风、处理器和扬声器,所述前馈麦克风位于所述助听器远离耳道的一侧,所述反馈麦克风和所述扬声器位于靠近所述耳道的一侧。该系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明实施例。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。

第一获取模块1810,用于获取前馈信号,所述前馈信号为当前采集到的周围环境信号;

第二获取模块1820,用于获取反馈信号,所述反馈信号为通过所述反馈麦克风采集所述扬声器输出的信号;

判断模块1830,用于根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件;及

执行模块1840,用于若发生所述啸叫事件,则执行啸叫抑制以输出啸叫抑制后的前馈信号至所述扬声器。

作为示例,所述判断模块1830用于:

对所述前馈信号进行多频段滤波,得到对应于多个通道的多个第一子带信号s11、s12、…s1m;

对所述反馈信号进行多频段滤波,得到对于所述多个通道的多个第二子带信号s21、s22、…s2m;第一子带信号s1i与对应的第二子带信号s2i对应于相同的通道,1≤i≤m,i为正整数;

根据各个通道内的信号自相关系数和/或各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个通道内是否出现所述啸叫事件。

作为示例,所述判断模块1830还用于:

通过所述反馈信号判断佩戴所述助听器的佩戴者是否在说话;

若判定所述佩戴者在说话,则通过预设频点将所述多个通道分为第一组通道和第二组通道,所述第一通道的频率大于所述预设频点,所述第二通道的频率不大于所述预设频点;

判断所述第一组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第一差异值,并将信号能量差异或信噪比差异大于第一差异值的所述第一组通道内的各个通道确定为发生所述啸叫事件的通道;

判断所述第二组通道内的各个通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异是否大于第二差异值,并将判定信号能量差异或信噪比差异大于第二差异值的所述第二组通道内的各个通道确定为发生所述啸叫事件的通道;

其中,所述第一差异值大于所述第二差异值,所述第二差异值根据所述佩戴者的说话声音强度动态调整,所述第二差异值的大小和所述声音强度之间为正向关系。

作为示例,所述判断模块1830还用于:

判断各个通道内的第二子带信号s2i是否满足第一判断条件,以从所述多个通道中选择出满足所述第一判断条件的一个或多个目标通道,其中,所述第一判断条件为相应通道内的第二子带信号s2i的信号能量大于第一预设阈值且信噪比小于第二预设阈值;及

根据所述一个或多个目标通中的各个目标通道内的第一子带信号s1i的和第二子带信号s2i之间的信号能量差异或信噪比差异,判断所述各个目标通道内是否出现所述啸叫事件。

作为示例,所述判断模块1830还用于:

获取第一时间窗口内各个第一子带信号s1i的信号能量;

获取第二时间窗口内各个第一子带信号s1i的信号能量,其中,所述第二时间窗口的时间长度短于所述第一时间窗口的时间长度,所述第二时间窗口为当前时间窗口;

获取第一时间窗口内各个第二子带信号s2i的信号能量;

获取第二时间窗口内各个第二子带信号s2i的信号能量;

计算在所述第一时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第一时间窗口内相应通道内的第一子带信号s1i的信号能量和在所述第一时间窗口内该相应通道的第二子带信号s2i的信号能量之间的非瞬态峰值能量差异;

计算在所述第二时间窗口的多个通道内的多个能量差异值;其中,每个能量差异值表示在所述第二时间窗口内相应通道的第一子带信号s1i的信号能量和在所述第二时间窗口内该相应通道的第二子带信号s2i的信号能量之间的瞬态峰值能量差异;及

根据所述各个通道内的非瞬态峰值能量差异和瞬态峰值能量差异,判断所述各个通道内是否出现所述啸叫事件。

作为示例,所述判断模块1830还用于:

评估所述前馈麦克风采集到的前一帧信号;

从所述反馈信号中滤除所述评估的前一帧信号,得到滤除后的反馈信号;

根据所述滤除后的反馈信号,判断是否发生所述啸叫事件。

作为示例,所述执行模块1840还用于:

在发生啸叫事件的一个或多个通道中进行啸叫抑制,得到啸叫抑制后的一个或多个子带信号;及

将所述啸叫抑制后的一个或多个子带信号和未发生啸叫事件的剩余通道的子带信号进行合成,以得到合成信号;其中,所述合成信号用于通过扬声器播放出来。

实施例三

如图19所示,示出了根据本发明实施例三的适于实现基于双麦克风架构的多通道啸叫抑制方法的计算机设备1900的硬件架构示意图。所述计算机设备1900可以为助听器或具有助听器功能的听力设备。本实施例中,计算机设备1900是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是助听器,具有助听器功能的助听器等。如图19所示,计算机设备1900至少包括但不限于:可通过系统总线相互通信链接存储器1910、处理器1920、网络接口1930。其中:

存储器1910至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1910可以是计算机设备1900的内部存储模块,例如该计算机设备1900的硬盘或内存。在另一些实施例中,存储器1910也可以是计算机设备1900的外部存储设备,例如该计算机设备1900上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,存储器1910还可以既包括计算机设备1900的内部存储模块也包括其外部存储设备。本实施例中,存储器1910通常用于存储安装于计算机设备1900的操作系统和各类应用软件,例如基于双麦克风架构的多通道啸叫抑制方法的程序代码等。此外,存储器1910还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器1920在一些实施例中可以是中央处理器(centralprocessingunit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1920通常用于控制计算机设备1900的总体操作,例如执行与计算机设备1900进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1920用于运行存储器1910中存储的程序代码或者处理数据。

网络接口1930可包括无线网络接口或有线网络接口,该网络接口1930通常用于在计算机设备1900与其他计算机设备之间建立通信链接。例如,网络接口1930用于通过网络将计算机设备1900与外部终端相连,在计算机设备1900与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,简称为gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

需要指出的是,图19仅示出了具有部件1910-1930的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。

在本实施例中,存储于存储器1910中的基于双麦克风架构的多通道啸叫抑制方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1920)所执行,以完成本发明实施例。

实施例四

本发明还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的基于双麦克风架构的多通道啸叫抑制方法的步骤。

本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中基于双麦克风架构的多通道啸叫抑制方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

实施例五

如图20所示,该多通道啸叫抑制方法被执行在基于单麦克风架构的助听器中。所述助听器包括以顺序电连接的前馈麦克风21、处理器23和扬声器24。所述前馈麦克风21位于所述助听器远离耳道的一侧,所述扬声器24位于靠近所述耳道的一侧。

图21示意性示出了根据本发明实施例一的基于双麦克风架构的多通道啸叫抑制方法的流程图。如图20所示,基于双麦克风架构的多通道啸叫抑制方法可以包括步骤s2000~s2004,其中:

步骤s2100,获取前馈信号,所述前馈信号包括所述前馈麦克风从周围环境中采集到的当前帧信号。

步骤s2102,获取反馈信号,所述反馈信号包括经所述处理器处理后的用于输入到所述扬声器的前一帧信号。

步骤s2104,根据所述前馈信号和所述反馈信号,判断各个通道内是否发生啸叫事件。

步骤s2106,若发生所述啸叫事件,则执行啸叫抑制以输出啸叫抑制后的前馈信号至所述扬声器。

需要说明的是,步骤s2104和步骤s2106的操作细节,可以参考实施例一中,在此不赘述。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1