具体实施方式
语音增强技术的主要目的是:从带噪语音信号中提取尽可能纯净的原始语音。然而,由于干扰通常都是随机的,从带噪语音中提取完全纯净的语音几乎是不可能。在此情况下,语音增强的目的之一在于:通过对带噪语音进行处理,以抑制混响,改善语音质量,提高语音的清晰度、可懂度和舒适度。下面将结合本发明中的附图,对本发明中的技术方案进行清晰、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
图1是本发明实施例之混响抑制方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以内置或耦合有M个音频采集单元的音频处理装置为执行主体进行示例性描述,其中,M为大于或等于2的自然数。具体如下。
步骤S100,根据所述M个音频采集单元形成
路波束。以M=3为例,根据3个音频采集单元形成3路波束,具体为:第一波束、第二波束和第三波束。
这些语音采集单元两两之间具有一定间距。在一优选实施例中,这些语音采集单元可以一定规律分布,比如被均匀分布在同一圆周上。在本实施例中,这些语音采集单元可以是麦克风,或其它语音接收元件。
所述波束形成操作包括延时相减。假设两个语音采集单元之间的间距为d,且远场声源与这两个语音采集单元之间的夹角为θ,将其中一个语音采集单元接收到的语音信号减去另一个语音采集单元接收到的并且延时τ的语音信号,变换到频域处理之后,可以得到一个心形波束。在一优选实施例中,所述波束形成操作包括低频段延时相加和高频段延时相减。该优选实施例可以提升低频段的波束效果,进一步提高波束精度。所谓高频段和低频段可以由用户设定,比如以550Hz为高频段和低频段的分界线。
在一优选实施例中,还可以以这
路波束为基础通过虚拟波束拓展,定义
路虚拟波束。
步骤S102,通过所述
路波束获取相应的
路音频信号。
继续以M=3为例,通过第一波束获取第一音频信号,通过第二波束获取第二音频信号,通过第三波束获取第三音频信号。
步骤S104,将所述
路音频信号中的每路音频信号分别分解成对应的多个子带信号。
继续以M=3为例,将第一波束捕获到的第一音频信号分解为多个(如,128)子带信号,将第二波束捕获到的第二音频信号分解为多个(如,128)子带信号,将第三波束捕获到的第三音频信号分解为多个(如,128)子带信号。
步骤S106,比较所述
路音频信号中两两之间的相同子带内的子带信号能量差。
继续以M=3为例,将第一音频信号中的128个子带信号和第二音频信号中的128子带信号进行一一对应比较,以计算出第一音频信号中的第一子带信号和第二音频信号中的第一子带信号之间的子带信号能量差、第一音频信号中的第二子带信号和第二音频信号中的第二子带信号之间的子带信号能量差、第一音频信号中的第三子带信号和第二音频信号中的第三子带信号之间的子带信号能量差、…、第一音频信号中的第128子带信号和第二音频信号中的第128子带信号之间的子带信号能量差。
依据同样的步骤,将第一音频信号中的128个子带信号和第三音频信号中的128子带信号进行一一对应比较,以得到这两者在各个子带内的子带信号能量差。将第二音频信号中的128子带信号和第三音频信号中的128子带信号进行一一对应比较,以得到这两者在各个子带内的子带信号能量差。
步骤S108,根据比较结果执行信号处理操作。请参考图2,步骤S108可以包括步骤S108A~S108D。
S108A、判断所述
路音频信号中是否至少有两路音频信号在第i子带内的子带信号能量差大于第一预设阀值,其中,1≤i≤N,i的初始值为1,N为子带数量。若有,进入步骤S108B,否则进入步骤S108C。
以上述第一音频信号的第i子带信号、第二音频信号的第i子带信号和第三音频信号的第i子带信号为例,其中1≤i≤128。所述第一音频信号的第i子带信号的子带信号能量为E1i,所述第二音频信号的第i子带信号的子带信号能量为E2i,所述第三音频信号的第i子带信号的子带信号能量为E3i。如果|E1i-E2i|、|E1i-E3i|、|E2i-E3i|中的至少有其中一项大于第一预设阀值,如|E2i-E3i|大于第一预设阀值,则进入步骤S108B。如果|E1i-E2i|、|E1i-E3i|、|E2i-E3i|中的任何一项均不大于第一预设阀值,则进入步骤S108C。
步骤S108B、保留所述
路音频信号中每路音频信号的第i子带信号。进入步骤S108D。
步骤S108C、抑制所述
路音频信号中每路音频信号的第i子带信号。进入步骤S108D
步骤S108D、判断N个子带信号是否比较完毕(即i是否等于N),如果没有,则i=i+1并进入步骤S108A;如果比较完毕,混响抑制流程结束。
目标语音一般具有较强的指向性,从而使得不同波束获取的语音分量有所差异,因此在本实施例中,通过比较各个波束获取的音频信号在各个子带内的信号能量差异,可以识别出期望信号,同时对非期望的混响信号加以抑制。
在一优选实施例中,还包括步骤S110,对步骤S108中保留的所有子带信号执行合成操作以得到合成音频信号。该合成音频信号即为抑制混响后的语音信号,可以用于输出给用户。
实施例2
如图3所示,为了使得本发明更加清晰明白,本实施例介绍当音频处理装置包括或连接有两个语音采集单元(即M=2)时,如何执行混响抑制。
步骤S200、根据所述两个音频采集单元形成第一波束和第二波束。第一波束和第二波束的指向可以相反,如,第一波束为向前波束,第二波束为向后波束。
步骤S202、通过第一波束获取第一音频信号,通过第二波束获取第二音频信号。
步骤S204、将所述第一语音信号分解成对应的多个第一子带信号S11、S12、…S1N,将所述第二语音信号分解成对应的多个第二子带信号S21、S22、…S2N。
步骤S206、比较各个第一子带信号S1i与对应的第二子带信号S2i,其中,1≤i≤N;
步骤S208、根据比较结果执行信号处理操作。请参考图4,步骤S208可以包括步骤S208A~S208D。
步骤S208A、判断第一子带信号S1i与对应的第二子带信号S2i的能量差异是否大于第一预设阀值。其中,1≤i≤N,i的初始值为1。如果是,进入步骤S208B,否则进入步骤S208C。
步骤S208B、保留该第一子带信号S1i与对应的第二子带信号S2i。进入步骤S208D。
步骤S208C、抑制该第一子带信号S1i与对应的第二子带信号S2i。进入步骤S208D。
步骤S208D、判断N个子带信号是否比较完毕(即i是否等于N),如果没有,则i=i+1并进入步骤S208A;如果比较完毕,进入步骤S210。
当然,在另一实施例中,比较各个子带内的子带能量差异也可以同时进行。
步骤S210、对所述信号处理操作中保留的第一子带信号和保留的第二子带信号执行合成操作以得到合成音频信号。
实施例3
实施例2揭示了两个语音采集单元下的混响抑制方法,但如果目标音源位于这两个语音采集单元之间(即,目标音源到这两个语音采集单元的距离大致相同),在该情况下,第一波束和第二波束获取的第一语音信号和第二语音信号的能量差异会很小,容易被误认为是混响信号而被抑制。为解决这一问题,本实施例提供了以下方法。
步骤S300、根据所述两个音频采集单元形成第一波束和第二波束。第一波束和第二波束的指向可以相反,其中,第一波束为向前波束,第二波束为向后波束。
步骤S302、通过第一波束获取第一音频信号,通过第二波束获取第二音频信号。
步骤S304、将所述第一语音信号分解成对应的多个第一子带信号S11、S12、…S1N,将所述第二语音信号分解成对应的多个第二子带信号S21、S22、…S2N。
步骤S306、比较各个第一子带信号S1i与对应的第二子带信号S2i,其中,1≤i≤N;
步骤S308、根据比较结果执行信号处理操作。请参考图5,步骤S308可以包括步骤S308A~S308F。
步骤S308A、判断第一子带信号S1i与对应的第二子带信号S2i的能量差异是否大于第一预设阀值。其中,1≤i≤N,i的初始值为1。如果是,进入步骤S308B,否则进入步骤S308C。
步骤S308B、保留该第一子带信号S1i与对应的第二子带信号S2i。进入步骤S308F。
步骤S308C、检测所述第一语音信号与所述第二语音信号的信号相关性。
步骤S308D、判断所述信号相关性是否大于第二预设阀值。如果是,进入步骤S308B,否则进入步骤S308E。
步骤S308E、抑制该第一子带信号S1i与对应的第二子带信号S2i。进入步骤S308G。
步骤S308F、判断N个子带信号是否比较完毕(即i是否等于N),如果没有,则i=i+1并进入步骤S308A;如果比较完毕,进入步骤S310。
当然,在另一实施例中,比较各个子带内的子带能量差异也可以同时进行。
步骤S310、对所述信号处理操作中保留的第一子带信号和第二子带信号执行合成操作以得到合成音频信号。
在一优选实施例中,还可以包括对目标音源进行定位的步骤,如果目标音源位于第一预设区域(非这两个语音采集单元之间),则在步骤S308中判断第一子带信号S1i与对应的第二子带信号S2i的能量差异不大于第一预设阀值,直接进入步骤S308F。如果目标音源位于第二预设区域(这两个语音采集单元之间),则在步骤S308中判断第一子带信号S1i与对应的第二子带信号S2i的能量差异不大于第一预设阀值,进入步骤S308C。在该优选实施例中,可以减少对信号相关性的检测量,即减少音频处理装置的运算量。
实施例4
请参阅图6,为本发明实施例之音频处理装置2的程序模块图。该音频处理装置2可以是电话、会议终端、助听器等。该音频处理装置2可以被分割成一个或多个模块,所述一个或者多个模块均被存储于存储器10中,并由一个或多个处理器(本实施例中为一个处理器20)所执行,以完成本发明。
所述存储器10至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。所述处理器20可以是中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述音频处理装置的控制中心,利用各种接口和线路连接整个音频处理装置的各个部分。
在本实施例中,音频处理装置2的多个模块可以包括波束形成模块30、语音获取模块40、子带信号分解模块50、能量比较模块60、信号处理模块70和信号合成模块80。所述模块30-80被配置成有一个或多个处理器(本实施例为处理器20)执行,以完成本发明实施例。本发明实施例所称的模块是完成一特定功能的计算机程序段。存储器10用于存储上述计算机程序段的程序代码等资料。
波束形成模块30,用于根据所述M个音频采集单元形成
路波束。
语音获取模块40,用于通过所述
路波束获取相应的
路音频信号。
子带信号分解模块50,用于将所述
路音频信号中的每路音频信号分别分解成对应的多个子带信号。
能量比较模块60,用于比较所述
路音频信号中两两之间的相同子带内的子带信号能量差。
信号处理模块70,用于根据比较结果执行信号处理操作。具体的,当所述
路音频信号中至少有两路音频信号在该相同子带内的子带信号能量差大于第一预设阀值时,则保留所述
路音频信号中的每路音频信号中在该相同子带内的子带信号;当所述
路音频信号中两两之间的相同子带内的子带信号能量差均不大于第一预设阀值时,则抑制所述
路音频信号中的每路音频信号中在该相同子带内的子带信号。
可选的,信号合成模块80,用于对所述信号处理操作中保留的所有子带信号执行合成操作以得到合成音频信号。
实施例5
在该实施例中,以音频处理装置2内置或连接有个两个语音采集单元为例,对各个模块进行介绍。本实施例的程序模块图与实施例4中的程序模块图相同。
波束形成模块30,用于根据所述两个音频采集单元形成第一波束和第二波束。
语音获取模块40,用于通过第一波束获取第一音频信号,通过第二波束获取第二音频信号。
子带信号分解模块50,用于将所述第一语音信号分解成对应的多个第一子带信号S11、S12、…S1N,及将所述第二语音信号分解成对应的多个第二子带信号S21、S22、…S2N。
能量比较模块60,用于比较各个第一子带信号S1i与对应的第二子带信号S2i,其中,1≤i≤N。
信号处理模块70,用于根据比较结果执行信号处理操作。具体的,当第一子带信号S1i与对应的第二子带信号S2i的能量差异大于第一预设阀值时,则保留该第一子带信号S1i与对应的第二子带信号S2i;当第一子带信号S1i与对应的第二子带信号S2i的能量差异不大于第一预设阀值时,抑制该第一子带信号S1i与对应的第二子带信号S2i。
在一优选实施例中,信号处理模块70还用于当第一子带信号S1i与对应的第二子带信号S2i的能量差异不大于第一预设阀值时:检测所述第一语音信号与所述第二语音信号的信号相关性;如果所述信号相关性大于第二预设阀值,则保留该第一子带信号S1i与对应的第二子带信号S2i;如果所述信号相关性不大于第二预设阀值,则抑制该第一子带信号S1i与对应的第二子带信号S2i。
信号合成模块80,用于对所述信号处理操作中保留的第一子带信号和第二子带信号执行合成操作以得到合成音频信号。
需要说明的是,实施例4~5的细节可以参考实施例1~3,在此不做重复性赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将存储装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
所述音频处理装置设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。