CN110838301A - 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质 - Google Patents

抑制啸叫的方法、装置终端和非临时性计算机可读存储介质 Download PDF

Info

Publication number
CN110838301A
CN110838301A CN201911138214.4A CN201911138214A CN110838301A CN 110838301 A CN110838301 A CN 110838301A CN 201911138214 A CN201911138214 A CN 201911138214A CN 110838301 A CN110838301 A CN 110838301A
Authority
CN
China
Prior art keywords
howling
frequency point
frequency
determined
howled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911138214.4A
Other languages
English (en)
Other versions
CN110838301B (zh
Inventor
武剑
王博
宋冬梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING LEISHI TIANDI ELECTRONIC TECHNOLOGY Co Ltd
Original Assignee
BEIJING LEISHI TIANDI ELECTRONIC TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING LEISHI TIANDI ELECTRONIC TECHNOLOGY Co Ltd filed Critical BEIJING LEISHI TIANDI ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201911138214.4A priority Critical patent/CN110838301B/zh
Publication of CN110838301A publication Critical patent/CN110838301A/zh
Application granted granted Critical
Publication of CN110838301B publication Critical patent/CN110838301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

本发明涉及语音信号处理技术领域,提供了抑制啸叫的方法、装置终端和非临时性计算机可读存储介质,实现以自动方式准确检测和抑制啸叫的技术效果。所述方法包括:判断是否需要对输入的音频信号进行啸叫抑制;若需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点;对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据处理结果判定待定啸叫频点中的确定啸叫频点;计算确定啸叫频点的功率对数值;根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。本发明提供的技术方案使啸叫频点判定时的限制条件更全面,产生误判的情况减少,准确度提高。

Description

抑制啸叫的方法、装置终端和非临时性计算机可读存储介质
技术领域
本发明涉及语音信号处理技术领域,特别涉及一种抑制啸叫的方法、装置终端和非临时性计算机可读存储介质。
背景技术
啸叫,本质上是一种回授音,其主要是由于声源与扩音设备之间因距离过近等问题导致能量发生自激而产生,例如,话筒与音箱同时使用、音响装置重放的声音能够通过空间传到话筒以及音箱发出的声音能量足够大,话筒的拾音灵敏度足够高,等等。在麦克风音箱、蓝牙K歌宝和电视K歌等产品日渐流行的今天,啸叫也日益普遍。啸叫的危害较大,不仅使得唱歌者的体验变差,更为严重的是容易损坏音频设备,损伤人们的听力,因此,业界一直在探索抑制啸叫的解决方案。
现有的抑制啸叫的方法包括自动法和手动法,其中,自动法包括移相法和陷波法,手动法是通过均衡器调整K歌场景声场曲线,使唱歌时房间的声场曲线尽可能地平直,不出现频率突点。然而,由于人员的走动、房间形状、麦克风的移动等因素,使得之前调整的曲线无效,且人工调整效率低下,用户无法独自完成,而移相法和陷波法都是通过在频域检测啸叫,其明显的缺陷是功率比算法准确率低。
综上,现有的抑制啸叫的方法主要存在自动化程度不高,效率低下,或者具备自动抑制啸叫的能力,但准确率比较低。
发明内容
本发明提供一种抑制啸叫的方法、装置终端和非临时性计算机可读存储介质,实现以自动方式准确检测和抑制啸叫的技术效果。
一方面,本发明提供了一种抑制啸叫的方法,包括:
判断是否需要对输入的音频信号进行啸叫抑制;
若需要对所述输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,所述啸叫特征信息包括啸叫强度和啸叫加速度;
对所述待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、所述啸叫帧比例的计算结果和所述啸叫频点的学习结果判定所述待定啸叫频点中的确定啸叫频点;
计算所述确定啸叫频点的功率对数值;
根据所述确定啸叫频点的功率对数值和所处的频段,为所述处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
具体地,所述通过对啸叫特征信息的提取,确定待定啸叫频点,包括:
根据需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和当前分帧中除频点fd之外其他频点的平均功率值,获取频点fd的啸叫强度FStre;
按照相同于计算频点fd的啸叫强度FStre的方法,获取当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,其中,K大于预设值M时,K取K=M;
根据需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取K个频点中序号为n的频点的啸叫加速度FAcc(m,n),其中,m为当前分帧的序号,n为当前分帧的频点的序号;
若FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定当前分帧中序号为n的频点为待定啸叫频点。
具体地,所述对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点,包括:
通过对待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表,其中,啸叫频点学习表初始为空表,在待定啸叫频点中有频点被判定为确定啸叫频点后,确定啸叫频点被学习至啸叫频点学习表;
根据待定啸叫频点的分帧个数HFN和需要对输入的音频信号的分帧个数NN,计算与待定啸叫频点对应的啸叫帧比例HFRate_C;
查询啸叫频点学习表;
若待定啸叫频点不在啸叫频点学习表中且啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点学习至啸叫频点学习表中;
若待定啸叫频点存在于啸叫频点学习表中且啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点在啸叫频点学习表中进行固化处理。
具体地,根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制,包括:
以啸叫分频点Hfreq为中心,将音频信号的整个频段划分为高频段和低频段;
先为处于高频段的确定啸叫频点分配陷波器,再为处于低频段的确定啸叫频点分配陷波器;
在分配陷波器时,按照
Figure BDA0002280134030000031
与SFNum的关系,为处于高频段或低频段的确定啸叫频点分配相应数量的陷波器,其中,LOGP为确定啸叫频点的功率对数值,NumPre为上一次检测时为确定啸叫频点分配的陷波器数量,SFNum为分配给确定啸叫频点的陷波器的最大数量。
具体地,判断是否需要对输入的音频信号进行啸叫抑制,包括:
对输入的音频信号进行分帧和加窗,计算分帧后当前分帧的能量FEng;
将FEng与啸叫能量门限HEng相比,根据比较的结果确定是否需要对输入的音频信号进行啸叫抑制。
另一方面,本发明提供了一种抑制啸叫的装置,包括:
判断模块,用于判断是否需要对输入的音频信号进行啸叫抑制;
待定啸叫频点确定模块,用于若所述判断模块的判断结果为需要对所述输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,所述啸叫特征信息包括啸叫强度和啸叫加速度;
确定模块,用于对所述待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、所述啸叫帧比例的计算结果和所述啸叫频点的学习结果判定所述待定啸叫频点中的确定啸叫频点;
计算模块,用于计算所述确定啸叫频点的功率对数值;
陷波器分配模块,用于根据所述确定啸叫频点的功率对数值和所处的频段,为所述处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
具体地,所述确定模块包括:
第一啸叫强度获取单元,用于根据需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和当前分帧中除频点fd之外其他频点的平均功率值,获取频点fd的啸叫强度FStre;
第二啸叫强度获取单元,用于按照相同于计算频点fd的啸叫强度FStre的方法,获取当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,其中,K大于预设值M时,K取K=M;
啸叫加速度获取单元,用于根据需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取K个频点中序号为n的频点的啸叫加速度FAcc(m,n),其中,m为当前分帧的序号,n为当前分帧的频点的序号;
啸叫频点确定单元,用于若FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定当前分帧中序号为n的频点为待定啸叫频点。
第三方面,本发明提供了一种终端,所述终端包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述技术方案的方法的步骤。
第四方面,本发明提供了一种非临时性计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案的方法的步骤。
不同于现有技术的手动抑制啸叫方案和移相法或陷波法,本发明一方面实现了啸叫的自动抑制,相比于现有技术的手动抑制啸叫方案具有操作效率和准确度都较高的优势;另一方面,在确定待定啸叫频点和判定确定啸叫频点时,提取了啸叫强度、啸叫加速度和啸叫帧比例等啸叫频点的特征信息综合判定啸叫,使啸叫频点判定时的限制条件更全面,产生误判的情况减少,准确度提高;第三方面,通过引入啸叫频点的学习机制,提高了对经常啸叫频点处理的响应速度,且随着装置运行时间加长,啸叫抑制响应速度加快,陷波器的分配策略亦提高了啸叫抑制的效果和准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种抑制啸叫的方法的流程图;
图2是本发明实施例提供的麦克风音箱结构示意图;
图3是本发明实施例提供的通过对啸叫特征信息的提取,确定待定啸叫频点的流程图;
图4是本发明实施例提供的根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点的流程图;
图5是本发明实施例提供的根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制的流程图;
图6是本发明实施例提供的抑制啸叫的装置的结构示意图;
图7是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
本发明提出了一种抑制啸叫的方法和装置,其中,所述方法如图1所示,主要包括步骤S101至S105,详述如下:
步骤S101:判断是否需要对输入的音频信号进行啸叫抑制。
如背景技术所述,啸叫本质上是一种回授音,啸叫的抑制是对输入到话筒的音频信号进行的一种处理手段,因此,本发明提及的输入的音频信号是指输入到话筒的音频信号,此处的话筒,可以是独立的话筒,即独立于播放设备的话筒,亦可以是将话筒和播放设备集成于一体的装置中的话筒部分。以附图2示例的麦克风音箱为例,麦克风音箱自带话筒和播放设备,人声由话筒采集进入主芯片处理后,再由话筒下方的播放设备即内置音箱将音乐和人声播放出来。当话筒输出音量开得过大、话筒位置贴近墙壁或障碍物、特定声场形状导致反射声进入话筒或说话、歌唱者的位置变动时,将造成特定频率信号经话筒输入、由内置音箱播放后再次进入话筒形成正向反馈,啸叫由此产生;抑制啸叫,就是要对输入话筒的音频信号进行处理。
在本发明实施例中,判断是否需要对输入的音频信号进行啸叫抑制主要包括先对输入的音频信号进行分帧和加窗,计算分帧后每个分帧的能量FEng,然后将FEng与啸叫能量门限HEng相比,根据比较的结果来确定是否需要对输入的音频信号进行啸叫抑制,具体说明如下:
在对输入的音频信号进行分帧时,分帧的大小选取15~30毫秒时间的采样信号,优选地,分帧大小可以是20毫秒,分帧之间无数据交叠,每个分帧对应的数据采样点的个数N按照如下公式计算:
Figure BDA0002280134030000071
其中,以当前分帧为例,FS表示采样率,FTime表示当前分帧对应的时间即当前分帧的大小,单位为毫秒。为了方便后续的频域计算,在本发明实施例中,N的值按照上述公式计算出来之后,尽量选择接近N的2的k次幂。例如,若FS=48000,FTime=20,则按照上述计算公式得出N=960,最接近960且为2的k次幂的值为1024,则当前分帧对应的数据采样点的个数N取1024即N=1024。需要说明的是,当前分帧时做加窗处理所用的窗函数可选汉明窗。当前分帧的能量FEng的计算公式如下:
Figure BDA0002280134030000072
其中,N的含义如上即当前分帧对应的数据采样点的个数,data(n)表示当前分帧中第n个采样点的数据。
当前分帧的能量FEng计算出来后,将当前分帧的能量FEng与啸叫能量门限HEng对比,当FEng大于HEng时,认为声音的能量足够产生啸叫条件,可进行啸叫的检测和抑制处理,当FEng小于HEng时,则认为声音能量较小,不足以产生啸叫条件,不进行啸叫的抑制处理。需要说明的是,在本发明实施例中,啸叫能量门限HEng可设置为-60~-40dB之间。
步骤S102:若需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,其中,啸叫特征信息包括啸叫强度和啸叫加速度。
在本发明实施例中,通过对啸叫特征信息的提取,确定待定啸叫频点是在频域上进行,因此,在此之前,在对需要进行啸叫抑制的音频信号分帧后,进一步对分帧后的音频信号进行傅里叶变换,将音频信号由时域变换为频域。
作为本发明一个实施例,通过对啸叫特征信息的提取,确定待定啸叫频点可通过如下步骤S301至S304实现,如图3所示,详细说明如下:
步骤S301:根据需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和当前分帧中除频点fd之外其他频点的平均功率值,获取频点fd的啸叫强度FStre。
在本发明实施例中,啸叫强度指示啸叫的剧烈程度,啸叫强度越大,人耳听到的噪声越刺耳,对设备的损伤越大;反之,啸叫强度越小,人耳听到的噪声越不那么刺耳,对设备的损伤越小。在本发明实施例中,频点fd的啸叫强度FStre是以频点fd的功率值对当前分帧中其它频点平均功率值的比值,是一个相对值,体现需要进行啸叫抑制的音频信号中频点fd在当前分帧的频谱中的显著程度,计算公式如下所示:
Figure BDA0002280134030000081
其中,Pf指示需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值,PAvg指示啸叫抑制的音频信号中,当前分帧中除频点fd之外其他频点的功率平均值。Pf与PAvg的计算公式分别如下所示:
Pf=A(n0)2
其中,n0表示频点fd的序号,A()对当前分帧进行傅里叶变换后序号对应频点的频域数据序列,N的含义如上即当前分帧对应的数据采样点的个数。同时也可将Pf与PAvg的比值取对数作为啸叫强度FStre,计算公式如下所示:
在本发明实施例中,对于当前分帧的频域数据,可以先计算频点功率最高的前M个频点的啸叫强度,其中,M的取值范围为3~10,优选地,例如M=5。
步骤S302:按照相同于计算频点fd的啸叫强度FStre的方法,获取当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,其中,K大于预设值M时,K取K=M。
即,按照步骤S301相同的方法,分别计算当前分帧中的频点的啸叫强度,直至有K个频点的啸叫强度大于啸叫强度比门限,此处,大于预设值M时,K取K=M,在K小于M时,则K取实际值。至于M的取值,可以如上,即M的取值范围为3~10,优选地,例如M=5。
步骤S303:根据需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取K个频点中序号为n的频点的啸叫加速度FAcc(m,n),其中,m为当前分帧的序号,n为当前分帧的频点的序号。
在本发明实施例中,啸叫的加速度指示啸叫产生的速度,某一频点的啸叫加速度越大,指示该频点的功率正向增大速度越快,被判定为啸叫频点的可能性越大,反之则反。啸叫频点的加速度可由分帧中频点的功率的二阶差分表示,计算方法为首先计算当前分帧中频点fd的一阶功率差分,由当前分帧中频点fd的功率值与前一分帧同一频点即频点fd的功率值的差值表示;接下来计算当前分帧中频点fd的二阶功率差分值,由当前分帧中频点fd的一阶功率差分值减去前一分帧同一频点即频点fd的一阶功率差分值得到,以当前分帧即第m个分帧为例,其K个频点中序号为n的频点的啸叫加速度FAcc(m,n)的计算公式如下所示:
div1(m,n)=A(m,n)2-A(m-1,n)2
FAcc(m,n)=div2(m,n)=div1(m,n)-div1(m-1,n)
其中,m表示分帧的序号,n表示分帧中频域上的频点的序号,div1(m,n)表示第m个分帧的第n个频点的一阶功率差分值,div2(m,n)表示第m个分帧的第n个频点的二阶功率差分值即啸叫加速度值,A(m,n)表示第m个分帧的第n个频点的频域数据序列。
步骤S304:若FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定当前分帧中序号为n的频点为待定啸叫频点。
经步骤S301至步骤S304,将当前分帧的每一个待定啸叫频点确定下来后,对于其余分帧,也可以用相同的方法来确定其中的待定啸叫频点;当所有分帧的待定啸叫频点确定后,就意味着需要进行啸叫抑制的音频信号中的所有待定啸叫频点均确定下来。
步骤S103:对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点。
在本发明实施例中,所谓确定啸叫频点,是指待定啸叫频点经过判定,最终被确定为啸叫频点的频点。作为本发明一个实施例,对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点可通过如图4示例的步骤S401至S405实现,详细说明如下:
步骤S401:通过对待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表,其中,啸叫频点学习表初始为空表,在待定啸叫频点中有频点被判定为确定啸叫频点后,确定啸叫频点被学习至啸叫频点学习表。
在本发明实施例中,啸叫频点学习表由确定啸叫频点的序号以及这些确定啸叫频点的老化次数构成。由于在家庭K歌等声场环境中容易发生啸叫的频点一般在10个以内,因此,啸叫频点学习表的最大容量为10个,即啸叫频点学习表可容纳10个确定啸叫频点的序号以及这10个确定啸叫频点的老化次数。啸叫频点学习表初始为空表,当向啸叫频点学习表添加确定啸叫频点或在一定条件下删除确定啸叫频点的过程,即通过对待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表的过程,具体地,对于啸叫频点学习表中不存在的新的确定啸叫频点,当该频点需要学习时,可将其添加至啸叫频点学习表中空缺位置,同时写入老化累加值(老化累加值取值一般在5~10之间,优选地,例如老化累加值可以取值为6);若啸叫频点学习表已满,则查找啸叫频点学习表中老化计数最小的值,若该老化计数最小的值小于老化累加值,则删除该老化计数最小的值对应的频点,将新的确定啸叫频点写入啸叫频点学习表中;若表中老化计数最小值大于老化累加值,则新的确定啸叫频点不写入啸叫频点学习表中。对于啸叫频点学习表中存在的新的确定啸叫频点,其学习到啸叫频点学习表的过程是将该新的确定啸叫频点的老化次数加上老化累加值,再重写回啸叫频点学习表中;每经过一次待定啸叫频点的判定,即NN(NN为需要对输入的音频信号的分帧个数)个分帧时间,啸叫频点学习表中的所有确定啸叫频点的老化次数减1,直至为0时将老化次数为0的确定啸叫频点在啸叫频点学习表中删除。
步骤S402:根据待定啸叫频点的分帧个数HFN和需要对输入的音频信号的分帧个数NN,计算与待定啸叫频点对应的啸叫帧比例HFRate_C。
在本发明实施例中,指示了该待定啸叫频点被判定为确定啸叫频点的概率大小,其具体计算公式如下所示:
Figure BDA0002280134030000111
在具体实现时,可建立一张啸叫频点表,分配一个全局的帧计数FC,由0开始,每处理一个分帧加1,加至NN时清0重新累加。为每个频点分配一个变量HC即待定啸叫频点计数,当该频点确定为待定啸叫频点时HC加1,当帧计数FC加至NN时,待定啸叫频点计数HC清0。每当帧计数FC达到NN时,计算每个频点的啸叫帧比例HFRate_C。在存储条件有限的情况下,也可仅将待定啸叫频点存入啸叫频点表,在一个NN帧的检测周期内,注意对新检测出的待定啸叫频点加入啸叫频点表,同时在一个NN帧的检测周期结束时,删除所有待定啸叫频点,以便下一个检测周期重新计数。在每一个检测周期结束,进行待定啸叫频点的判定操作。
步骤S403:查询啸叫频点学习表。
啸叫频点学习表已在前述实施例描述,此处查询啸叫频点学习表的目的是为了确认最终被判定为确定啸叫频点的频点是否存在于啸叫频点学习表中,从而分别做处理。
步骤S404:若待定啸叫频点不在啸叫频点学习表中且啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点学习至啸叫频点学习表中。
在本发明实施例中,所谓未学习频点啸叫帧比例门限HFRate_U是指在NN个连续分帧中,某一待定啸叫频点没有存在于啸叫频点学习表且当前判定为待定啸叫频点的分帧个数占NN的比例,用于指示待定啸叫频点被判定为确定啸叫频点时啸叫帧占总检测帧数的比例大小,一般可将其范围设置在50~70%之间,优选地,例如,可以设置为50%。若待定啸叫频点不在啸叫频点学习表中且啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点学习至啸叫频点学习表中。至于具体的学习过程,前述实施例已经阐述,此处不做赘述。
步骤S405:若待定啸叫频点存在于啸叫频点学习表中且啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点在啸叫频点学习表中进行固化处理。
在本发明实施例中,所谓已学习频点啸叫帧比例门限HFRate_S是指在NN个连续分帧中,某一确定啸叫频点已经存在于啸叫频点学习表且当前判定为待定啸叫频点的分帧占总帧数的比例,用于指示啸叫频点学习表中存在且为当前待定啸叫频点被判定为确定啸叫频点时啸叫帧占总检测帧数的比例大小,一般可将其范围设置在40~50%之间,优选地,例如,可以设置为45%。若待定啸叫频点存在于啸叫频点学习表中且啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点在啸叫频点学习表中进行固化处理。至于具体的学习过程,前述实施例已经阐述,此处不做赘述。
步骤S104:计算确定啸叫频点的功率对数值。
在本发明实施例中,确定啸叫频点的功率对数值LOGP可按照如下公式计算:
LOGP=10×log(P)
其中,P为确定啸叫频点的功率,其计算方法可以用已知的任何计算方法来实现,本发明对此不做限制。
步骤S105:根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
在本发明实施例中,为确定啸叫频点分配的陷波器可以是二阶无限冲激响应(Infinite Impulse Response,IIR)滤波器,更为具体地,是二阶带阻IIR滤波器,其传递函数H(s)的表达式如下所示:
Figure BDA0002280134030000131
各参数的值或计算公式如下:
Figure BDA0002280134030000132
A=0.50118723
Figure BDA0002280134030000133
Figure BDA0002280134030000134
a1=-2×cos(ω0)
Figure BDA0002280134030000135
b0=1+α×A
b1=a1
b2=1-α×A
上述参数的计算公式中,f0为陷波器抑制频点即确定啸叫频点,换言之,当将陷波器的f0设置为某个确定啸叫频点时,则为该确定啸叫频点分配该陷波器后,该确定啸叫频点将被抑制。
作为本发明一个实施例,根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制可通过如图5示例的步骤S501至步骤S503实现,详细说明如下:
步骤S501:以啸叫分频点Hfreq为中心,将需要进行啸叫抑制的音频信号的整个频段划分为高频段和低频段。
通过实验与研究发现,在家庭K歌等场景下,受限于播放设备及声场环境,一定的频率以下啸叫较难发生,高于这个频率,啸叫发生概率突然增加,这个频率即啸叫分频点Hfreq,一般取值范围在800~1200Hz左右,优选地,例如,Hfreq可以是1000Hz。在本发明实施例中,以啸叫分频点Hfreq为中心,将需要进行啸叫抑制的音频信号的整个频段划分为高频段和低频段,即需要进行啸叫抑制的音频信号的整个频段中,高于啸叫分频点Hfreq的确定啸叫频点被划分至高频段,低于啸叫分频点Hfreq的确定啸叫频点被划分至低频段。
步骤S502:先为处于高频段的确定啸叫频点分配陷波器,再为处于低频段的确定啸叫频点分配陷波器。
一方面,在家庭K歌等场景中所使用的音箱尺寸、体积较小,相应的低频成份也偏少;另一方面,高频段部分发生啸叫的概率远远高于低频段发生啸叫的概率,同时,在发生啸叫时,高频的啸叫相较于低频的啸叫也更剧烈。因此,在本发明实施例中,当为确定啸叫频点分配陷波器时,先为处于高频段的确定啸叫频点分配陷波器,再为处于低频段的确定啸叫频点分配陷波器。
步骤S503:在分配陷波器时,按照
Figure BDA0002280134030000141
与SFNum的关系,为处于高频段或低频段的确定啸叫频点分配相应数量的陷波器,其中,LOGP为确定啸叫频点的功率对数值,NumPre为上一次检测时为确定啸叫频点分配的陷波器数量,SFNum为分配给确定啸叫频点的陷波器的最大数量。
在本发明实施例中,为处于高频段的确定啸叫频点分配相应数量的陷波器时,以啸叫分频点Hfreq为最低频点,向高频查找确定啸叫频点,最先分配f0较低的陷波器;为处于低频段的确定啸叫频点分配相应数量的陷波器时,以啸叫分频点Hfreq为最高频点,向低频查找确定啸叫频点,最先分配f0较高的陷波器。至于应当分配的陷波器的具体数量Num,则按照以下公式计算:
Figure BDA0002280134030000151
其中,FLOOR()表示对括号中的计算结果向下取整。
需要说明的是,当陷波器数量少于HFNum或LFNum时,停止分配陷波器,其中,HFNum表示发生啸叫时,分配给处于高频段的确定啸叫频点的陷波器的最大数量,控制在20个以内,可选范围为10~20个,LFNum表示发生啸叫时,分配给处于低频段的确定啸叫频点的陷波器的最大数量,可选范围3~5个。
从上述附图1示例的抑制啸叫的方法可知,不同于现有技术的手动抑制啸叫方案和移相法或陷波法,本发明一方面实现了啸叫的自动抑制,相比于现有技术的手动抑制啸叫方案具有操作效率和准确度都较高的优势;另一方面,在确定待定啸叫频点和判定确定啸叫频点时,提取了啸叫强度、啸叫加速度和啸叫帧比例等啸叫频点的特征信息综合判定啸叫,使啸叫频点判定时的限制条件更全面,产生误判的情况减少,准确度提高;第三方面,通过引入啸叫频点的学习机制,提高了对经常啸叫频点处理的响应速度,且随着装置运行时间加长,啸叫抑制响应速度加快,陷波器的分配策略亦提高了啸叫抑制的效果和准确度。
请参阅附图6,是本发明实施例提供的一种抑制啸叫的装置,该抑制啸叫的装置包括判断模块601、待定啸叫频点确定模块602、确定模块603、计算模块604和陷波器分配模块605,详述如下:
判断模块601,用于判断是否需要对输入的音频信号进行啸叫抑制;
待定啸叫频点确定模块602,用于若判断模块601的判断结果为需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,其中,啸叫特征信息包括啸叫强度和啸叫加速度;
确定模块603,用于对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点;
计算模块604,用于计算确定啸叫频点的功率对数值;
陷波器分配模块605,用于根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
具体地,附图6示例的待定啸叫频点确定模块602可包括第一啸叫强度获取单元701、第二啸叫强度获取单元702、啸叫加速度获取单元703和啸叫频点确定单元704,其结构图如图7所示,详述如下:
第一啸叫强度获取单元701,用于根据需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和当前分帧中除频点fd之外其他频点的平均功率值,获取频点fd的啸叫强度FStre;
第二啸叫强度获取单元702,用于按照相同于计算频点fd的啸叫强度FStre的方法,获取当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,其中,K大于预设值M时,K取K=M;
啸叫加速度获取单元703,用于根据需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取K个频点中序号为n的频点的啸叫加速度FAcc(m,n),其中,m为当前分帧的序号,n为当前分帧的频点的序号;
啸叫频点确定单元704,用于若FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定当前分帧中序号为n的频点为待定啸叫频点。
具体地,附图6示例的确定模块603可包括维护单元、啸叫帧比例计算单元、查询单元、第一判定单元和第二判定单元,其中:
维护单元,用于通过对待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表,其中,啸叫频点学习表初始为空表,在待定啸叫频点中有频点被判定为确定啸叫频点后,确定啸叫频点被学习至啸叫频点学习表;
啸叫帧比例计算单元,用于根据待定啸叫频点的分帧个数HFN和需要对输入的音频信号的分帧个数NN,计算与待定啸叫频点对应的啸叫帧比例HFRate_C;
查询单元,用于查询啸叫频点学习表;
第一判定单元,用于若待定啸叫频点不在啸叫频点学习表中且啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定待定啸叫频点为确定啸叫频点并将确定啸叫频点学习至所述啸叫频点学习表中;
第二判定单元,用于若待定啸叫频点存在于啸叫频点学习表中且啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定待定啸叫频点为确定啸叫频点并将所述确定啸叫频点在啸叫频点学习表中进行固化处理。
具体地,附图6示例的陷波器分配模块605可包括频段划分单元、分配单元和数量计算分配单元,其中:
频段划分单元,用于以啸叫分频点Hfreq为中心,将需要进行啸叫抑制的音频信号的整个频段划分为高频段和低频段;
分配单元,用于先为处于高频段的确定啸叫频点分配陷波器,再为处于低频段的确定啸叫频点分配陷波器;
数量计算分配单元,用于在分配陷波器时,按照
Figure BDA0002280134030000171
与SFNum的关系,为处于高频段或低频段的确定啸叫频点分配相应数量的陷波器,其中,LOGP为确定啸叫频点的功率对数值,NumPre为上一次检测时为确定啸叫频点分配的陷波器数量,SFNum为分配给确定啸叫频点的陷波器的最大数量。
具体地,附图6示例的判断模块601可以包括单帧能量计算单元和确定单元,其中:
单帧能量计算单元,用于对输入的音频信号进行分帧和加窗,计算分帧后当前分帧的能量FEng;
确定单元,用于将FEng与啸叫能量门限HEng相比,根据比较的结果确定是否需要对输入的音频信号进行啸叫抑制
从以上技术方案的描述中可以看出,不同于现有技术的手动抑制啸叫方案和移相法或陷波法,本发明一方面实现了啸叫的自动抑制,相比于现有技术的手动抑制啸叫方案具有操作效率和准确度都较高的优势;另一方面,在确定待定啸叫频点和判定确定啸叫频点时,提取了啸叫强度、啸叫加速度和啸叫帧比例等啸叫频点的特征信息综合判定啸叫,使啸叫频点判定时的限制条件更全面,产生误判的情况减少,准确度提高;第三方面,通过引入啸叫频点的学习机制,提高了对经常啸叫频点处理的响应速度,且随着装置运行时间加长,啸叫抑制响应速度加快,陷波器的分配策略亦提高了啸叫抑制的效果和准确度。
图7是本发明一实施例提供的终端的结构示意图。如图7所示,该实施例的终端7可以是如附图2示例的麦克风音箱。图7示例的终端主要包括:处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72,例如抑制啸叫的方法的程序。处理器70执行计算机程序72时实现上述抑制啸叫的方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器70执行计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示判断模块601、待定啸叫频点确定模块602、确定模块603、计算模块604和陷波器分配模块605的功能。
示例性地,抑制啸叫的方法的计算机程序72主要包括:判断是否需要对输入的音频信号进行啸叫抑制;若需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,其中,啸叫特征信息包括啸叫强度和啸叫加速度;对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点;计算确定啸叫频点的功率对数值;根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。计算机程序72可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器71中,并由处理器70执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序72在终端5中的执行过程。例如,计算机程序72可以被分割成判断模块601、待定啸叫频点确定模块602、确定模块603、计算模块604和陷波器分配模块605(虚拟装置中的模块)的功能,各模块具体功能如下:判断模块601,用于判断是否需要对输入的音频信号进行啸叫抑制;待定啸叫频点确定模块602,用于若判断模块601的判断结果为需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,其中,啸叫特征信息包括啸叫强度和啸叫加速度;确定模块603,用于对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点;计算模块604,用于计算确定啸叫频点的功率对数值;陷波器分配模块605,用于根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
终端7可包括但不仅限于处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端7的示例,并不构成对终端7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器71可以是终端7的内部存储单元,例如终端7的硬盘或内存。存储器71也可以是终端7的外部存储设备,例如终端7上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器71还可以既包括终端7的内部存储单元也包括外部存储设备。存储器71用于存储计算机程序以及终端所需的其他程序和数据。存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,抑制啸叫的方法的计算机程序可存储于一非临时性计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,判断是否需要对输入的音频信号进行啸叫抑制;若需要对输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,其中,啸叫特征信息包括啸叫强度和啸叫加速度;对待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、啸叫帧比例的计算结果和啸叫频点的学习结果判定待定啸叫频点中的确定啸叫频点;计算确定啸叫频点的功率对数值;根据确定啸叫频点的功率对数值和所处的频段,为处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种抑制啸叫的方法,其特征在于,所述方法包括:
判断是否需要对输入的音频信号进行啸叫抑制;
若需要对所述输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,所述啸叫特征信息包括啸叫强度和啸叫加速度;
对所述待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、所述啸叫帧比例的计算结果和所述啸叫频点的学习结果判定所述待定啸叫频点中的确定啸叫频点;
计算所述确定啸叫频点的功率对数值;
根据所述确定啸叫频点的功率对数值和所处的频段,为所述处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
2.如权利要求1所述抑制啸叫的方法,其特征在于,所述通过对啸叫特征信息的提取,确定待定啸叫频点,包括:
根据所述需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和所述当前分帧中除所述频点fd之外其他频点的平均功率值,获取所述频点fd的啸叫强度FStre;
按照相同于计算所述频点fd的啸叫强度FStre的方法,获取所述当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,所述K大于预设值M时,所述K取K=M;
根据所述需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取所述K个频点中序号为n的频点的啸叫加速度FAcc(m,n),所述m为所述当前分帧的序号,所述n为所述当前分帧的频点的序号;
若所述FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定所述当前分帧中序号为n的频点为所述待定啸叫频点。
3.如权利要求1所述抑制啸叫的方法,其特征在于,所述对所述待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、所述啸叫帧比例的计算结果和所述啸叫频点的学习结果判定所述待定啸叫频点中的确定啸叫频点,包括:
通过对所述待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表,所述啸叫频点学习表初始为空表,在所述待定啸叫频点中有频点被判定为确定啸叫频点后,所述确定啸叫频点被学习至所述啸叫频点学习表;
根据所述待定啸叫频点的分帧个数HFN和所述需要对输入的音频信号的分帧个数NN,计算与所述待定啸叫频点对应的啸叫帧比例HFRate_C;
查询所述啸叫频点学习表;
若所述待定啸叫频点不在所述啸叫频点学习表中且所述啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定所述待定啸叫频点为确定啸叫频点并将所述确定啸叫频点学习至所述啸叫频点学习表中;
若所述待定啸叫频点存在于所述啸叫频点学习表中且所述啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定所述待定啸叫频点为确定啸叫频点并将所述确定啸叫频点在所述啸叫频点学习表中进行固化处理。
4.如权利要求1所述抑制啸叫的方法,其特征在于,所述根据所述确定啸叫频点的功率对数值和所处的频段,为所述处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制,包括:
以啸叫分频点Hfreq为中心,将所述音频信号的整个频段划分为高频段和低频段;
先为处于所述高频段的确定啸叫频点分配陷波器,再为处于所述低频段的确定啸叫频点分配陷波器;
在分配所述陷波器时,按照
Figure FDA0002280134020000021
与SFNum的关系,为处于所述高频段或低频段的确定啸叫频点分配相应数量的陷波器,所述LOGP为所述确定啸叫频点的功率对数值,所述NumPre为上一次检测时为所述确定啸叫频点分配的陷波器数量,所述SFNum为分配给所述确定啸叫频点的陷波器的最大数量。
5.如权利要求1至4任意一项所述抑制啸叫的方法,其特征在于,所述判断是否需要对输入的音频信号进行啸叫抑制,包括:
对所述输入的音频信号进行分帧和加窗,计算分帧后当前分帧的能量FEng;
将所述FEng与啸叫能量门限HEng相比,根据比较的结果确定是否需要对所述输入的音频信号进行啸叫抑制。
6.一种抑制啸叫的装置,其特征在于,所述装置包括:
判断模块,用于判断是否需要对输入的音频信号进行啸叫抑制;
待定啸叫频点确定模块,用于若所述判断模块的判断结果为需要对所述输入的音频信号进行啸叫抑制,则通过对啸叫特征信息的提取,确定待定啸叫频点,所述啸叫特征信息包括啸叫强度和啸叫加速度;
确定模块,用于对所述待定啸叫频点进行啸叫帧比例的计算和啸叫频点的学习,并根据预设的啸叫频点判定策略、所述啸叫帧比例的计算结果和所述啸叫频点的学习结果判定所述待定啸叫频点中的确定啸叫频点;
计算模块,用于计算所述确定啸叫频点的功率对数值;
陷波器分配模块,用于根据所述确定啸叫频点的功率对数值和所处的频段,为所述处于不同频段的确定啸叫频点分配相应数量的陷波器对啸叫进行抑制。
7.如权利要求6所述抑制啸叫的装置,其特征在于,所述确定模块包括:
第一啸叫强度获取单元,用于根据所述需要进行啸叫抑制的音频信号中当前分帧的频点fd的功率值和所述当前分帧中除所述频点fd之外其他频点的平均功率值,获取所述频点fd的啸叫强度FStre;
第二啸叫强度获取单元,用于按照相同于计算所述频点fd的啸叫强度FStre的方法,获取所述当前分帧中啸叫强度大于啸叫强度比门限的K个频点的啸叫强度,所述K大于预设值M时,所述K取K=M;
啸叫加速度获取单元,用于根据所述需要进行啸叫抑制的音频信号中当前分帧和前一分帧同一频点的功率,获取所述K个频点中序号为n的频点的啸叫加速度FAcc(m,n),所述m为所述当前分帧的序号,所述n为所述当前分帧的频点的序号;
啸叫频点确定单元,用于若所述FAcc(m,n)大于预设的啸叫加速度门限HAcc,则确定所述当前分帧中序号为n的频点为所述待定啸叫频点。
8.如权利要求6所述抑制啸叫的装置,其特征在于,所述确定模块包括:
维护单元,用于通过对所述待定啸叫频点进行啸叫频点的学习,维护啸叫频点学习表,所述啸叫频点学习表初始为空表,在所述待定啸叫频点中有频点被判定为确定啸叫频点后,所述确定啸叫频点被学习至所述啸叫频点学习表;
啸叫帧比例计算单元,用于根据所述待定啸叫频点的分帧个数HFN和所述需要对输入的音频信号的分帧个数NN,计算与所述待定啸叫频点对应的啸叫帧比例HFRate_C;
查询单元,用于查询所述啸叫频点学习表;
第一判定单元,用于若所述待定啸叫频点不在所述啸叫频点学习表中且所述啸叫帧比例HFRate_C大于未学习频点啸叫帧比例门限HFRate_U,则判定所述待定啸叫频点为确定啸叫频点并将所述确定啸叫频点学习至所述啸叫频点学习表中;
第二判定单元,用于若所述待定啸叫频点存在于所述啸叫频点学习表中且所述啸叫帧比例HFRate_C大于已学习频点啸叫帧比例门限HFRate_S,则判定所述待定啸叫频点为确定啸叫频点并将所述确定啸叫频点在所述啸叫频点学习表中进行固化处理。
9.一种终端,所述终端包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述方法的步骤。
10.一种非临时性计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述方法的步骤。
CN201911138214.4A 2019-11-20 2019-11-20 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质 Active CN110838301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911138214.4A CN110838301B (zh) 2019-11-20 2019-11-20 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911138214.4A CN110838301B (zh) 2019-11-20 2019-11-20 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110838301A true CN110838301A (zh) 2020-02-25
CN110838301B CN110838301B (zh) 2022-04-12

Family

ID=69576829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911138214.4A Active CN110838301B (zh) 2019-11-20 2019-11-20 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110838301B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583943A (zh) * 2020-03-24 2020-08-25 普联技术有限公司 音频信号的处理方法、装置、安防摄像头及存储介质
CN112565981A (zh) * 2021-02-20 2021-03-26 深圳市智听科技有限公司 啸叫抑制方法、装置、助听器及存储介质
CN112908287A (zh) * 2021-01-14 2021-06-04 北京雷石天地电子技术有限公司 音频处理装置及音频处理方法
CN113271386A (zh) * 2021-05-14 2021-08-17 杭州朗和科技有限公司 啸叫检测方法及装置、存储介质、电子设备
CN113611271A (zh) * 2021-07-08 2021-11-05 北京小唱科技有限公司 适用于移动终端的数字音量扩增方法、装置及存储介质
CN113870885A (zh) * 2021-12-02 2021-12-31 北京百瑞互联技术有限公司 蓝牙音频啸叫检测和抑制方法、装置、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891786B1 (en) * 2010-05-17 2014-11-18 Marvell International Ltd. Selective notch filtering for howling suppression
CN106373587A (zh) * 2016-08-31 2017-02-01 北京容联易通信息技术有限公司 一种实时通信系统中的自动声反馈检测与消除方法
CN106486133A (zh) * 2015-08-27 2017-03-08 成都鼎桥通信技术有限公司 一种啸叫场景识别方法及设备
CN109637552A (zh) * 2018-11-29 2019-04-16 河北远东通信系统工程有限公司 一种抑制音频设备啸叫的语音处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891786B1 (en) * 2010-05-17 2014-11-18 Marvell International Ltd. Selective notch filtering for howling suppression
CN106486133A (zh) * 2015-08-27 2017-03-08 成都鼎桥通信技术有限公司 一种啸叫场景识别方法及设备
CN106373587A (zh) * 2016-08-31 2017-02-01 北京容联易通信息技术有限公司 一种实时通信系统中的自动声反馈检测与消除方法
CN109637552A (zh) * 2018-11-29 2019-04-16 河北远东通信系统工程有限公司 一种抑制音频设备啸叫的语音处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583943A (zh) * 2020-03-24 2020-08-25 普联技术有限公司 音频信号的处理方法、装置、安防摄像头及存储介质
CN112908287A (zh) * 2021-01-14 2021-06-04 北京雷石天地电子技术有限公司 音频处理装置及音频处理方法
CN112908287B (zh) * 2021-01-14 2023-07-04 北京雷石天地电子技术有限公司 音频处理装置及音频处理方法
CN112565981A (zh) * 2021-02-20 2021-03-26 深圳市智听科技有限公司 啸叫抑制方法、装置、助听器及存储介质
CN112565981B (zh) * 2021-02-20 2021-06-15 深圳市智听科技有限公司 啸叫抑制方法、装置、助听器及存储介质
WO2022174727A1 (zh) * 2021-02-20 2022-08-25 深圳市智听科技有限公司 啸叫抑制方法、装置、助听器及存储介质
CN113271386A (zh) * 2021-05-14 2021-08-17 杭州朗和科技有限公司 啸叫检测方法及装置、存储介质、电子设备
CN113611271A (zh) * 2021-07-08 2021-11-05 北京小唱科技有限公司 适用于移动终端的数字音量扩增方法、装置及存储介质
CN113611271B (zh) * 2021-07-08 2023-09-29 北京小唱科技有限公司 适用于移动终端的数字音量扩增方法、装置及存储介质
CN113870885A (zh) * 2021-12-02 2021-12-31 北京百瑞互联技术有限公司 蓝牙音频啸叫检测和抑制方法、装置、介质及设备
CN113870885B (zh) * 2021-12-02 2022-02-22 北京百瑞互联技术有限公司 蓝牙音频啸叫检测和抑制方法、装置、介质及设备

Also Published As

Publication number Publication date
CN110838301B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN110838301B (zh) 抑制啸叫的方法、装置终端和非临时性计算机可读存储介质
CN106648527A (zh) 一种音量控制方法、装置以及播放设备
EP3343949A2 (en) De-reverberation control method and apparatus for device equipped with microphone
CN108305637B (zh) 耳机语音处理方法、终端设备及存储介质
CN111554317B (zh) 一种语音播报方法、设备、计算机存储介质及系统
CN103152498A (zh) 回声消除器
US11238882B2 (en) Dry sound and ambient sound separation
WO2021093807A1 (zh) 一种瞬态噪声的检测方法、装置及设备
CN111312290B (zh) 音频数据音质检测方法及装置
CN110989968A (zh) 智能音效处理方法、电子设备、存储介质以及多音效音箱
WO2020228107A1 (zh) 一种音频修复方法、设备及可读存储介质
CN110853677B (zh) 歌曲的鼓声节拍识别方法、装置、终端和非临时性计算机可读存储介质
WO2018234619A2 (en) AUDIO SIGNAL PROCESSING
CN110111811A (zh) 音频信号检测方法、装置和存储介质
JP2014513320A (ja) オーディオ信号におけるドミナント周波数を減衰する方法及び装置
AU2024200622A1 (en) Methods and apparatus to fingerprint an audio signal via exponential normalization
CN112151051B (zh) 音频数据的处理方法和装置及存储介质
CN112053669B (zh) 一种人声消除方法、装置、设备及介质
CN111028854B (zh) 一种音频数据的处理方法、装置、电子设备及存储介质
CN115410593A (zh) 音频信道的选择方法、装置、设备及存储介质
US9330674B2 (en) System and method for improving sound quality of voice signal in voice communication
CN110400573A (zh) 一种数据处理的方法及装置
US11437054B2 (en) Sample-accurate delay identification in a frequency domain
CN108986837A (zh) 一种滤波器更新方法及装置
CN113593604A (zh) 检测音频质量方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant