CN114333749A - 啸叫抑制方法、装置、计算机设备和存储介质 - Google Patents

啸叫抑制方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114333749A
CN114333749A CN202011062254.8A CN202011062254A CN114333749A CN 114333749 A CN114333749 A CN 114333749A CN 202011062254 A CN202011062254 A CN 202011062254A CN 114333749 A CN114333749 A CN 114333749A
Authority
CN
China
Prior art keywords
audio signal
current
sub
band
howling
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.)
Pending
Application number
CN202011062254.8A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011062254.8A priority Critical patent/CN114333749A/zh
Priority to PCT/CN2021/112769 priority patent/WO2022068440A1/zh
Priority to EP21874102.3A priority patent/EP4131254A4/en
Publication of CN114333749A publication Critical patent/CN114333749A/zh
Priority to US17/977,380 priority patent/US20230046518A1/en
Pending legal-status Critical Current

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
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • 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/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • 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/90Pitch determination of speech signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • 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
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/02Circuits for transducers, loudspeakers or microphones for preventing acoustic reaction, i.e. acoustic oscillatory feedback

Landscapes

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

Abstract

本申请涉及一种啸叫抑制方法、装置、计算机设备和存储介质。所述方法包括:获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。采用本方法提高了啸叫抑制的准确性。

Description

啸叫抑制方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种啸叫抑制方法、装置、计算机设备和存储介质。
背景技术
随着互联网通信技术的发展,能够基于网络进行语音通话,比如,各种即时通信应用语音通话。然而,在进行语音通话,特别是在语音会议时,常常有两个或者多个语音通话设备所处距离较近,比如,在同一个房间内,此时非常容易发生啸叫,进而影响语音通话的质量。目前,通常是通过调整语音通话设备之间的距离,来避免啸叫,然而,在无法进行距离调整时,会导致啸叫产生,从而使语音通话质量降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够抑制啸叫,从而提高语音通话质量的啸叫抑制方法、装置、计算机设备和存储介质。
一种啸叫抑制方法,所述方法包括:
获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;
对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;
获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;
获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;
基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
一种啸叫抑制装置,所述装置包括:
信号变换模块,用于获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;
子带确定模块,用于对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;
系数确定模块,用于获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;
增益确定模块,用于获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;
啸叫抑制模块,用于基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;
对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;
获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;
获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;
基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;
对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;
获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;
获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;
基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
本申请实施例提供的啸叫抑制方法、装置、计算机设备和存储介质,通过获取当前时间段对应的当前音频信号,再获取到当前音频信号对应的当前啸叫检测结果和当前语音检测结果,从而能够根据当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数,并通过子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益,从而使得到的当前子带增益更加的准确,然后使用当前子带增益对目标子带进行啸叫抑制,从而能够准确的对啸叫进行抑制,提高了得到的当前时间段对应的第一目标音频信号的质量,从而能够提高语音通话质量。
附图说明
图1为一个实施例中啸叫抑制方法的应用环境图;
图2为一个实施例中啸叫抑制方法的流程示意图;
图2a为一个具体实施例中音频信号的频率与能量的关系示意图;
图3为一个实施例中得到当前音频信号的流程示意图;
图4为一个实施例中啸叫检测的流程示意图;
图5为另一个实施例中得到当前音频信号的流程示意图;
图6为又一个实施例中得到当前音频信号的流程示意图;
图7为一个实施例中得到子带增益系数的流程示意图;
图8为一个实施例中得到第二目标音频信号的流程示意图;
图8a为一个具体实施例中能量约束的曲线示意图;
图9为一个具体实施例中啸叫抑制方法的流程示意图;
图10为一个具体实施例中啸叫抑制方法的应用场景示意图;
图11为一个具体实施例中啸叫抑制方法的应用框架示意图;
图12为一个具体实施例中啸叫抑制方法的流程示意图;
图13为另一个具体实施例中啸叫抑制方法的应用框架示意图;
图14为又一个具体实施例中啸叫抑制方法的应用框架示意图;
图15为一个实施例中啸叫抑制装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的啸叫抑制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器106进行通信,终端104通过网络与服务器106进行通信,终端102与终端104通过服务器106进行语音通话,终端102和终端104距离较近,比如,在同一个房间内。终端102和终端104即可以是发送语音的发送终端,也可以接收语音的接收终端。终端102或者终端104获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;终端102或者终端104对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;终端102或者终端104获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;终端102或者终端104获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;终端102或者终端104基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种啸叫抑制方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号。
其中,音频信号是带有语音、音乐和音效等的声波的频率、幅度变化信息载体。当前音频信号是指需要进行啸叫抑制的音频信号,即当前音频信号中存在啸叫信号。声源与扩音设备之间因距离过近等问题导致能量发生自激,产生啸叫,啸叫信号是指啸叫对应的音频信号,啸叫往往比较尖锐刺耳。当前音频信号可以是通过麦克风等采集设备采集音频信号并进行信号处理后得到的需要进行啸叫抑制的音频信号,该信号处理可以包括回声消除、噪声抑制、啸叫检测等等。回声消除是指是透过音波干扰方式消除麦克风等采集设备与喇叭等播放设备因空气产生回受路径而产生的杂音。噪声抑制是指从含噪音频中提取到纯净的原始音频,未含有背景噪声的音频信号。啸叫检测是指检测音频信号中是否存在啸叫信号。当前音频信号也可以是通过网络接收到音频信号并进行处理后得到的需要进行啸叫抑制的音频信号,该信号处理可以是进行啸叫检测。当前时间段是指当前音频信号所处的时间段,即对音频信号进行语音分帧后的时间段,比如,当前时间段的长度可以是在10ms到30ms内。频域变换是指将当前音频信号从时域变换到频域,时域是指描述音频信号与时间的关系,音频信号的时域波形可以表达音频信号随着时间的变化,频域是描述信号在频率方面特性时用到的一种坐标系,是指音频信号随着频率变化。频域图显示了在一个频率范围内每个给定频带内的信号量。频域表示还可以包括每个正弦曲线的相移的信息,以便能够重新组合频率分量以恢复原始时间信号。频域音频信号是指将当前音频信号从时域变换到频域后得到的音频信号。
可行地,终端可以通过麦克风等采集设备进行语音采集,得到当前时间段的音频信号,然后对音频信号进行啸叫检测,其中,可以通过神经网络建立的机器学习模型对啸叫进行检测,也可以通过峰值/均值比等参数准则对啸叫进行检查。也可以基于音频信号中的基音周期对啸叫进行检测。还可以基于音频信号中的能量对啸叫进行检测。
当音频信号中存在啸叫信号时,得到当前时间段对应的当前音频信号。然后通过傅里叶变换将当前音频信号进行频域变换,得到频域音频信号。其中,终端在对采集的音频信号进行啸叫检测之前,还可以对采集的音频信号进行回声消除和噪声抑制等处理。
终端也可以通过网络获取到其他语音通话终端发送的语音,得到当前时间段的音频信号,然后对音频信号进行啸叫检测,当音频信号中存在啸叫信号时,得到当前时间段对应的当前音频信号,再通过傅里叶变换将当前音频信号进行频域变换,得到频域音频信号。
步骤204,对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带。
其中,子带是指将频域音频信号进行分割得到的子频带。目标子带是指需要进行啸叫抑制的子带。
可行地,终端对频域音频信号进行划分,可以使用带通滤波器将频域音频信号进行分割,得到各个子带,其中,子带的分割可以按照预先设置好的子带数量进行划分,也可以按照预先设置好的频带范围进行划分等等。然后计算各个子带的能量,根据各个子带的能量选取目标子带。其中,选取的目标子带可以是一个,比如最大能量的子带为目标子带,也可以是多个,比如,选取的目标子带可以是按照子带的能量从大到小依次选取预设数量的子带。
步骤206,获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数。
其中,当前啸叫检测结果是指对当前音频信号进行啸叫检测后得到的检测结果,可以包括当前音频信号中存在啸叫信号和当前音频信号中未存在啸叫信号。当前语音检测结果是指对当前音频信号进行语音端点检测后得到的检测结果,其中语音端点检测(VoiceActivity Detection,VAD)是指从当前音频信号中准确的定位出语音的开始和结束。该当前语音检测结果可以包括当前音频信号中存在语音信号和当前音频信号中未存在语音信号。子带增益系数用于表示当前音频信号需要进行啸叫抑制的程度。当子带增益系数越小时,说明需要对当前音频信号进行啸叫抑制的程度越高。当子带增益系数越大时,说明需要对当前音频信号进行啸叫抑制的程度越小。
可行地,终端可以获取到当前音频信号对应的当前啸叫检测结果和当前语音检测结果,该当前音频信号对应的当前啸叫检测结果和当前语音检测结果可以是在对当前音频信号进行啸叫抑制之前进行啸叫检测和语音端点检测,得到当前啸叫检测结果和当前语音检测结果并保存到内存中的。
终端也可以从第三方获取到当前音频信号对应的当前啸叫检测结果和当前语音检测结果,该第三方是对当前音频信号进行啸叫检测和语音端点检测的服务方。比如,终端可以从服务器中获取到保存的当前音频信号对应的当前啸叫检测结果和当前语音检测结果。
步骤208,获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益。
其中,历史时间段是指当前时间段对应的历史时间段,该历史时间段的时间长度可以与当前时间段的时间长度相同,也可以与当前时间段的时间长度不同。该历史时间段可以是当前时间段的前一个时间段,也可以是当前时间段之前的多个时间段。该历史时间段可以与当前时间段存在预设间隔,也可以直接与当前时间段相连。比如,在0ms到100ms的时间内,当前时间段可以是80ms到100ms,历史时间段可以是60ms到80ms的时间段。历史时间段的音频信号是指已经进行啸叫抑制后的音频信号。历史子带增益是指历史时间段的音频信号进行啸叫抑制时使用的子带增益。当前子带增益是指对当前音频信号进行啸叫印制时使用的子带增益。
可行地,终端可以从内存中获取到历史时间段的音频信号对应的历史子带增益,计算子带增益系数与历史子带增益的乘积,得到当前音频信号对应的当前子带增益。其中,若当前时间段为起始时间段时,历史子带增益为预先设置好的初始子带增益值,比如,该初始子带增益值可以为1,初始子带增益值为1说明不会对当前音频信号进行抑制。当子带增益系数小于一时,说明需要对当前音频信号进行啸叫抑制,当子带增益系数大于一时,说明需要减少对当前音频信号的啸叫抑制。
在一个实施例中,将当前音频信号对应的当前子带增益与预设子带增益的下限值进行比较,当当前音频信号对应的当前子带增益小于预设子带增益的下限值时,将预设子带增益的下限值作为当前音频信号对应的当前子带增益。
在一个实施例中,将当前音频信号对应的当前子带增益与初始子带增益值进行比较,当当前音频信号对应的当前子带增益大于初始子带增益值时,将初始子带增益值作为当前音频信号对应的当前子带增益。
步骤210,基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
其中,第一目标音频信号是指对当前音频信号中的目标子带进行啸叫抑制后得到的音频信号。
可行地,使用当前子带增益对目标子带的频谱进行增益,然后将增益后的音频信号使用反傅里叶变换算法从频域转换到时域得到当前时间段对应的第一目标音频信号。
在一个实施例中,该当前时间段对应的当前音频信号是通过终端的麦克风等采集设备采集到的,则可以将当前时间段对应的第一目标音频信号进行编码,得到编码后的音频信号,然后将编码后的音频信号通过网络接口发送到其他进行语音通话的终端。比如,如图1所示,终端102通过麦克风采集音频信号,进行回声消除和噪声抑制后,得到当前时间段对应的当前音频信号,然后对当前音频信号进行啸叫抑制后,得到当前时间段对应的第一目标音频信号,将当前时间段对应的第一目标音频信号通过服务器106发送到终端104中,终端104接收到当前时间段对应的第一目标音频信号进行解码,然后对解码后的第一目标音频信号进行播放。
在一个实施例中,在得到第一目标音频信号后,还可以调整第一目标音频信号的音量大小,比如,可以增大第一目标音频信号的音量,然后将增大音量的第一目标音频信号进行编码,再将编码后的第一目标音频信号通过网络接口发送到其他进行语音通话的终端。
在一个实施例中,该当前时间段对应的当前音频信号是其他语音通话终端通过网络接口发送的。则可以直接将当前时间段对应的第一目标音频信号进行语音播放。比如,如图1所示,终端102通过麦克风采集音频信号,进行回声消除和噪声抑制后,将音频信号编码并通过服务器106发送到终端104中,终端104接收到编码后的音频信号进行解码,得到解码后的音频信号,对解码后的音频信号进行处理,得到当前时间段对应的当前音频信号,然后对当前音频信号进行啸叫抑制后,得到当前时间段对应的第一目标音频信号,然后将第一目标音频信号进行播放。
在一个可行地实施例中,如图2a所示,为音频信号的频率与能量的关系示意图。其中,该示意图中横坐标表示频率,纵坐标表示能量,基于频率划分得到不同的子带,图中示出了9个子带,频率低于1400HZ的子带为低频子带,高于1400HZ的子带为高频子带,低频子带为第1子带到第4子带,高频带为第5子带到第9子带。该图中实线表示在只有语音信号时频率与能量的关系曲线。虚线表示音频信号中有语音信号和啸叫信号时,频率与能量的关系曲线,可以看到音频信号中有语音信号和啸叫信号时能量明显比只有语音信号时的能量多。此时,在高频子带中,得到第8个子带的能量最多,则确定第8个子带为目标子带。对目标子带进行啸叫抑制。由于对第8个子带进行了啸叫抑制,第8个子带的能量逐渐下降,直到第6个子带的能量为最大子带能量,确定第6个子带为目标子带,然后对第6个子带进行啸叫抑制。
上述啸叫抑制方法,通过获取当前时间段对应的当前音频信号,再获取到当前音频信号对应的当前啸叫检测结果和当前语音检测结果,从而能够根据当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数,并通过子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益,从而使得到的当前子带增益更加的准确,然后使用当前子带增益对目标子带进行啸叫抑制,从而能够准确的对啸叫进行抑制,提高了得到的当前时间段对应的第一目标音频信号的质量,从而能够提高语音通话质量
在一个实施例中,如图3所示,步骤202,获取当前时间段对应的当前音频信号,包括:
步骤302,采集当前时间段对应的初始音频信号,对初始音频信号进行回声消除,得到回声消除后的初始音频信号。
其中,初始音频信号是指通过麦克风等采集设备采集到用户语音后转换得到的数字音频信号。
可行地,当终端是发送语音的发送终端时,终端采集当前时间段对应的初始音频信号,使用回声消除算法对初始音频信号进行回声消除,得到回声消除后的初始音频信号,其中,回声消除可以是通过自适应算法来估计期望信号,该期望信号逼近经过实际回声路径的回声信号,即模拟回声信号,然后从麦克风等采集设备采集的初始音频信号中减去模拟回声,得到回声消除后的初始音频信号。该回声消除算法包括LMS(Least Mean Square,最小均方自适应滤波)算法、RLS(Recursive Least Square,递归最小二乘自适应滤波)算法和APA(Affine Projection Algorithm,仿射投影自适应滤波)算法中的至少一种。
步骤304,将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果。
可行地,终端使用语音端点检测算法将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果。其中,语音端点检测算法包括双门限检测法、基于能量的端点检测算法、基于倒谱系数的端点检测算法、基于频带方差的端点检测算法、基于自相关相似距离的端点检测算法、基于信息熵的端点检测算法等等。
步骤306,基于当前语音检测结果对回声消除后的初始音频信号进行噪声抑制,得到噪声抑制后的初始音频信号。
可行地,当前语音检测结果为回声消除后的初始音频信号中未包含语音信号时,对回声消除后的初始音频信号进行噪声估计并对噪声进行抑制,得到噪声抑制后的初始音频信号,其中,可以使用训练好的用于去除噪声的神经网络模型进行噪声抑制,也可以使用滤波器进行噪声抑制。当前语音检测结果为回声消除后的初始音频信号中包含语音信号时,尽量保留语音信号的同时进行噪声抑制,得到噪声抑制后的初始音频信号。语音信号是指用户语音对应的信号。
步骤308,对噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果。
可行地,终端使用啸叫检测算法对噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果,其中,啸叫检测算法可以是基于能量分布的检测算法,比如峰值谐波功率比算法、峰临比算法、帧间峰值保持都算法等等。也可以是基于神经网络的检测算法等等。
步骤310,当当前啸叫检测结果为噪声抑制后的初始音频信号中存在啸叫信号时,将噪声抑制后的初始音频信号作为当前时间段对应的当前音频信号。
可行地,当终端检测到噪声抑制后的初始音频信号中存在啸叫信号时,就将噪声抑制后的初始音频信号作为当前时间段对应的当前音频信号,然后对当前时间段对应的当前音频信号进行啸叫抑制。
在上述实施例中,通过对采集的初始音频信号进行回声消除,并对回声消除后的初始音频信号进行语音端点检测,基于当前语音检测结果进行噪声抑制,对噪声抑制后的初始音频信号进行啸叫检测,当检测到噪声抑制后的初始音频信号中存在啸叫信号,就将噪声抑制后的初始音频信号作为当前时间段对应的当前音频信号,保证得到的当前音频信号是需要进行啸叫抑制的音频信号。
在一个实施例中,步骤304,步骤将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果,包括:
将回声消除后的初始音频信号输入到语音端点检测模型中进行检测,得到当前语音检测结果,语音端点检测模型是基于训练音频信号和对应的训练语音检测结果使用神经网络算法进行训练得到的。
其中,神经网络算法可以是BP((back propagation,前馈神经网络)神经网络算法、LSTM(Long Short-Term Memory,长短期记忆人工神经网络)算法、RNN(RecurrentNeural Network,循环神经网络)神经网络算法等等。训练音频信号是指训练语音端点检测模型时使用的音频信号,训练语音检测结果是指训练音频信号对应的语音检测结果,该训练语音检测结果包括训练音频信号中包含语音信号和训练音频信号中未包含语音信号,其中,损失函数使用交叉熵损失函数、采用梯度下降法进行优化,激活函数使用S型函数。
可行地,终端使用小波分析提取回声消除后的初始音频信号中的音频特征,该音频特征包括短时过零率,短时能量,短时幅度谱的峰度,短时幅度谱的偏度等等,将音频特征输入到语音端点检测模型中进行检测,得到输出的当前语音检测结果。当前语音检测结果包括回声消除后的初始音频信号中包含语音信号和回声消除后的初始音频信号中未包含语音信号。该语音端点检测模型是基于训练音频信号和对应的训练语音检测结果使用神经网络算法进行训练得到的。可以是在服务器中基于训练音频信号和对应的训练语音检测结果使用神经网络算法进行训练得到并保存,终端从服务器中获取到语音端点检测模型进行使用。也可以在终端中基于训练音频信号和对应的训练语音检测结果使用神经网络算法进行训练得到。
在一个实施例中,步骤304,即将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果,包括:
将回声消除后的初始音频信号进行低通滤波,得到低频信号;计算低频信号对应的信号能量,基于信号能量计算能量波动,根据能量波动确定当前语音检测结果。
其中,低通滤波是指是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。信号能量是指低频信号对应的短时能量。能量波动是指前一帧低频信号与后一帧低频信号之间的信号能量比值。
可行地,由于音频信号中语音信号和啸叫信号的能量分布不同,并且啸叫信号中低频能量明显弱于语音信号。则终端按照预先设置好的低频值将回声消除后的初始音频信号进行低通滤波,得到低频信号,该预先设置好的低频值可以是500HZ。然后计算低频信号中每一帧对应的信号能量,可以使用三角滤波计算信号能量。然后计算前一帧对应的信号能量与后一帧对应的信号能量之间的比值,当比值超过预设的能量比值时,说明回声消除后的初始音频信号中包含语音信号,当比值未超过预设的能量比值时,说明回声消除后的初始音频信号中未包含语音信号,从而得到当前语音检测结果。
在上述实施例中,通过将回声消除后的初始音频信号进行低通滤波,得到低频信号,然后根据低频信号的能量波动确定当前语音检测结果,能够使得到的当前语音检测结果更加的准确。
在一个实施例中,步骤304,即将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果,包括步骤:
将回声消除后的初始音频信号进行低通滤波,得到低频信号,对低频信号进行基音检测,得到基音周期,根据基音周期确定当前语音检测结果。
其中,一般的声音都是由发音体发出的一系列频率、振幅各不相同的振动复合而成的。这些振动中有一个频率最低的振动,由它发出的音就是基音,其余为泛音。基音检测是指对基音周期的估计,用于检测到与声带振动频率完全一致或尽可能相吻合的轨迹曲线。基音周期是指声带每开启和闭合一次的时间。
可行地,终端将回声消除后的初始音频信号进行低通滤波,得到低频信号,使用基音检测算法对低频信号进行基音检测,得到基音周期,其中,基音检测算法可以包括自相关法、平均幅度差函数法、并行处理法、倒谱法和简化逆滤波法等等。然后根据基音周期确定回声消除后的初始音频信号是否包含语音信号,即如果能检测到基音周期,说明回声消除后的初始音频信号中包含语音信号,如果未能检测到基音周期,说明回声消除后的初始音频信号中未包含语音信号,从而得到当前语音检测结果。
在上述实施例中,通过检测基音周期来得到当前语音检测结果,提高了得到当前语音检测结果的准确性。
在一个实施例中,步骤308,即对噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果,包括步骤:
将噪声抑制后的初始音频信号输入到啸叫检测模型中进行检测,得到当前啸叫检测结果,啸叫检测模型是基于啸叫训练音频信号和对应的训练啸叫检测结果使用神经网络算法进行训练得到的。
其中,神经网络算法可以是BP((back propagation,前馈神经网络)神经网络算法、LSTM(Long Short-Term Memory,长短期记忆人工神经网络)算法、RNN(RecurrentNeural Network,循环神经网络)神经网络算法等等。啸叫训练音频信号是指训练啸叫检测模型时使用的音频信号。训练啸叫检测结果是指啸叫训练音频信号对应的啸叫检测结果,包括噪声抑制后的初始音频信号中包含啸叫信号和噪声抑制后的初始音频信号中未包含啸叫信号。
可行地,终端可以提取噪声抑制后的初始音频信号对应的音频特征,该音频特征包括MFCC(Mel-Frequency cepstrum coefficients,梅尔频率倒谱系数)动态特征、频带表示向量(band representative vectors)以及各种类型的音频指纹,梅尔频率倒谱系数是指组成梅尔频率倒谱的系数。该音频指纹是指通过特定的算法将噪声抑制后的初始音频信号中的数字特征以标识符的形式提取得到的,频带表示向量是一个有序的频带中突出音调的索引列表。终端将提取到的音频特征输入到啸叫检测模型中进行检测,得到当前啸叫检测结果。
在上述实施例中,通过使用啸叫检测模型对噪声抑制后的初始音频信号进行啸叫检测,提高了检测啸叫的效率和准确性。
在一个实施例中,如图4所示,步骤308,即对噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果,包括:
步骤402,提取噪声抑制后的初始音频信号对应的初始音频特征。
其中,初始音频特征是指从噪声抑制后的初始音频信号提取的音频特征,该初始音频特征包括梅尔频率倒谱系数(MFCC,Mel-Frequency cepstrum coefficients)动态特征、频带表示向量(band representative vectors)以及各种类型的音频指纹中的至少一种。
在一个实施例中,终端也可以根据准确性和计算量来选取对应的音频特征,当终端计算资源受限时,频带表示向量以及各种类型的音频指纹作为初始音频特征,当需要较高的准确性时,可以使用梅尔频率倒谱系数动态特征、频带表示向量以及各种类型的音频指纹即全部作为初始音频特征。
可行地,终端提取噪声抑制后的初始音频信号对应的初始音频特征,比如,提取梅尔频率倒谱系数动态特征可以对噪声抑制后的初始音频信号进行预加重,然后进行分帧,对每一帧进行加窗处理,对加窗处理后的结果进行快速傅里叶变换,得到变换后的结果,对变换后的结果通过三角滤波计算对数能量,然后经离散余弦变换后得到梅尔频率倒谱系数动态特征。
步骤404,获取第一历史时间段对应的第一历史音频信号,并提取第一历史音频信号对应的第一历史音频特征。
其中,第一历史时间段是指当前时间段之前的时间段,并且与当前时间段的时间长度相同,该第一历史时间段可以有多个。比如,当前通话了2500ms,当前时间段的长度为300ms,即当前时间段为2200ms到2500ms,并且,预先设置好的间隔为20ms,则第一历史时间段可以是200ms~500ms,220ms~520ms,240ms~540ms,…,1980ms~2280ms以及2000~2300ms。第一历史音频信号是指第一历史时间段对应的历史音频信号,是在第一历史时间段通过麦克风采集到的音频信号。
可行地,终端获取第一历史时间段对应的第一历史音频信号,并提取第一历史音频信号对应的第一历史音频特征。
步骤406,计算初始音频特征与第一历史音频特征的第一相似度,基于第一相似度确定当前啸叫检测结果。
其中,第一相似度是指初始音频特征与第一历史音频特征的相似度,该相似度可以是距离相似度,也可以是余弦相似度。
可行地,终端可以使用相似度算法计算初始音频特征与第一历史音频特征的第一相似度,当第一相似度超过预先设置好的第一相似度阈值时,说明噪声抑制后的初始音频信号中存在啸叫信号,当第一相似度未超过预先设置好的第一相似度阈值时,说明噪声抑制后的初始音频信号中未存在啸叫信号,从而得到当前啸叫检测结果。
在一个实施例中,当第一历史时间段有多个时,可以获取到多个第一历史音频信号,分别计算每个第一历史音频信号对应的第一历史音频特征,并分别计算每个第一历史音频特征与初始音频特征之间的第一相似度,统计第一相似度超过预先设置好的第一相似度阈值的持续时长,当该持续时长超过预先设置好的时长时,说明噪声抑制后的初始音频信号中存在啸叫信号,当该持续时长未超过预先设置好的时长时,说明噪声抑制后的初始音频信号中未存在啸叫信号,从而得到当前啸叫检测结果。
在上述实施例中,通过计算初始音频特征与第一历史音频特征的第一相似度,由于啸叫信号语音发送终端和语音接收终端中循环的传输,因此,具有历史相似度,然后基于第一相似度确定当前啸叫检测结果,从而使得到的当前啸叫检测结果更加准确。
在一个实施例中,啸叫抑制方法,还包括步骤:
当当前啸叫检测结果为当前音频信号中存在啸叫信号时,获取待播放音频信号和预设音频水印信号,将预设音频水印信号添加到待播放音频信号中并进行播放。
其中,待播放音频信号是指终端在用户说话的同时通过播放设备即将播放的音频信号,该音频信号是人耳可察觉(例如播放对方的说话声)或不易察觉(例如对方没有说话时的安静背景声)的信号。预设音频水印信号是指预先设置好的用于说明通过网络发送的音频信号中存在啸叫信号的音频信号,是人耳不易察觉的信号,比如,可以是从高频段甚至超声段选取的高频水印信号。
可行地,由于在发送终端检测到啸叫并进行啸叫抑制,当存在多个接收语音信号的接收终端时,会导致所有接收语音信号的接收终端接收到的音频信号为啸叫抑制后的音频信号,影响所有接收终端的音频信号质量。此时发送终端在检测到当前音频信号中存在啸叫信号时,不进行啸叫抑制,获取待播放音频信号和预设音频水印信号,将预设音频水印信号添加到待播放音频信号中并进行播放,然后不对当前音频信号进行啸叫抑制,直接将当前音频信号通过网络发送到所有的接收终端。在一个实施例中,可以在待播放音频信号的高频带中嵌入一个预设频率的单频音或者多频音,作为预设高频水印信号。在一个实施例中,可以在待播放音频信号嵌入多个预设高频水印信号进行播放。在一个实施例中,也可以使用时域音频水印算法将预设音频水印信号添加到待播放音频信号中。在一个实施例中,也可以使用变换域音频水印算法将预设音频水印信号添加到待播放音频信号中。由于产生啸叫的接收终端与发送终端距离较近,此时产生啸叫的接收终端能够接收到添加了预设音频水印信号的音频信号以及当前音频信号。然后产生啸叫的接收终端通过检测添加了预设音频水印信号的音频信号,得到当前音频信号中存在啸叫信号的结果,然后对当前音频信号进行抑制,得到第一目标音频信号并进行播放,避免了降低所有接收终端接收到的音频信号的质量。
在一个实施例中,如图5所示,啸叫抑制方法,还包括步骤:
502,采集第一时间段对应的第一音频信号,基于音频水印检测算法检测所述第一音频信号,确定第一音频信号中包含有目标音频水印信号。
其中,第一音频信号是指通过麦克风等采集设备采集到距离较近的终端通过播放设备发送的音频信号,该终端和距离较近的终端之间可能产生啸叫。音频水印检测算法用于检测第一音频信号中添加的音频水印信号,可以是邻带能量比算法,邻带能量比算法可以是是计算第一音频信号中每个子带对应的能量之间的比值,根据比值提取音频水印信号。目标音频水印信号是指距离较近的终端在第一音频信号中添加的预设音频水印信号。第一时间段是指第一音频信号对应的时间段。
可行地,当终端为接收语音的接收终端时,终端通过麦克风等采集设备采集到第一时间段对应的第一音频信号。将第一音频信号进行子带划分,并计算每个子带的能量,然后将相邻子带的能量进行比较,得到邻带能量比值,当邻带能量比值超过预设邻带能量比阈值时,确定第一音频信号中包含有目标高频水印信号,此时说明通过网络接收到的音频信号中含有啸叫信号,预设邻带能量比阈值是指预先设置好的邻带能量比的阈值,用于检测是否含有预先设置好的高频水印信号。在一个实施例中,也可以通过水印提取算法来检测第一音频信号中添加的音频水印算法。
506,接收第二时间段对应的目标网络编码音频信号,将目标网络编码音频信号进行解码,得到目标网络音频信号。
其中,第二时间段是指目标网络编码音频信号对应的时间段。该第二时间段在第一时间段之后。目标网络编码音频信号是指通过网络接收到的编码后的当前音频信号。目标网络音频信号是指解码后的当前音频信号。
可行地,终端通过网络接收到第二时间段对应的目标网络编码音频信号,将目标网络编码音频信号进行解码,得到目标网络音频信号。
506,基于第一音频信号中包含有目标音频水印信号将目标网络音频信号作为当前音频信号。
可行地,终端根据第一音频信号中包含有目标音频水印信号将目标网络音频信号作为当前音频信号。
在上述实施例中,当终端为接收语音的终端时,可以通过采集的第一音频信号检测预设音频水印信号,当检测到第一音频信号中存在预设音频水印信号时,将通过网络接收到的目标网络音频信号作为当前音频信号,然后对当前音频信号进行啸叫抑制,避免影响所有终端接收到的音频信号质量,并且通过检测预设音频水印信号来确定是否将目标网络音频信号作为当前音频信号,提高了得到的当前音频信号的准确性。
在一个实施例中,如图6所示,步骤202,获取当前时间段对应的当前音频信号,包括:
步骤602,接收当前时间段对应的当前网络编码音频信号,将网络编码音频信号进行解码,得到当前网络音频信号。
其中,当前时间段是指终端通过网络接收到的当前网络编码音频信号的时间段。当前网络编码音频信号是指通过网络接收到的编码后的音频信号。
可行地,当终端为接收语音的终端时,终端通过网络接口接收到当前时间段对应的当前网络编码音频信号,将网络编码音频信号进行解码,得到当前网络音频信号。
步骤604,将当前网络音频信号进行语音端点检测,得到网络语音检测结果,同时对当前网络音频信号进行啸叫检测,得到网络啸叫检测结果。
其中,网络语言检测结果是指对当前网络音频信号进行语音端点检测得到的结果,包括当前网络音频信号中包含语音信号和当前网络音频信号中未包含语音信号。网络啸叫检测结果是指对当前网络音频信号进行啸叫检测得到的结果,可以包括当前网络音频信号包含啸叫信号和当前网络音频信号未包含啸叫信号。
在一个实施例中,通过语音端点检测模型对当前网络音频信号进行语音端点检测,得到网络语音检测结果,通过啸叫检测模型对当前网络音频信号进行啸叫检测,得到网络啸叫检测结果。
在一个实施例中,可以将当前网络音频信号进行低通滤波,得到低频信号,计算低频信号对应的信号能量,基于信号能量计算能量波动,根据所述能量波动确定当前网络音频信号对应的网络语音检测结果。
在一个实施例中,可以将当前网络音频信号进行低通滤波,得到低频信号,对低频信号进行基音检测,得到基音周期,根据基音周期确定当前网络音频信号对应的网络语音检测结果。
在一个实施例中,可以提取当前网络音频信号对应的当前网络音频特征,并获取到历史网络音频特征,计算历史网络音频特征与当前网络音频特征的相似度,基于相似度确定网络啸叫检测结果。
步骤606,提取当前网络音频信号的网络音频特征,并获取第二历史时间段的第二历史音频信号,提取第二历史音频信号对应的第二历史音频特征。
其中,网络音频特征是指当前网络音频信号对应的音频特征。第二历史时间段是指第二历史音频信号对应的时间段,可以有多个第二历史时间段。第二历史音频信号是指通过麦克风等采集设备采集得到的历史音频信号。第二历史音频特征是指第二历史音频信号对应的音频特征。
可行地,终端提取到当前网络音频信号的网络音频特征,并获取到内存中保存的第二历史时间段的第二历史音频信号,提取到第二历史音频信号对应的第二历史音频特征。
步骤608,计算网络音频特征与第二历史音频特征的网络音频相似度,基于网络音频相似度和网络啸叫检测结果确定网络音频信号为当前时间段对应的当前音频信号。
其中,网络音频相似度是指当前网络音频信号与第二历史音频信号的相似度程,网络音频相似度越高说明终端与发送当前网络音频信号的终端之间距离越近。
可行地,终端通过相似度算法计算网络音频特征与第二历史音频特征的网络音频相似度,当网络音频相似度超过预设网络音频相似度阈值并且网络啸叫检测结果为当前网络音频信号中存在啸叫信号时,将网络音频信号作为当前时间段对应的当前音频信号。其中,预设网络音频相似度阈值是用于确定终端与发送当前网络音频信号的终端位置的阈值,当网络音频相似度超过预设网络音频相似度阈值时,说明终端与发送当前网络音频信号的终端位置相近,容易产生啸叫。当网络音频相似度未超过预设网络音频相似度阈值时,说明终端与发送当前网络音频信号的终端位置较远,不易产生啸叫。
在一个实施例中,终端可以获取到多个第二历史音频信号,提取到每个第二历史音频信号对应的第二历史音频特征,分别计算每个第二历史音频特征与第二历史音频特征的网络音频相似度,当网络音频相似度超过预设网络音频相似度阈值的持续时长超过预设阈值时,说明终端与发送当前网络音频信号的终端位置相近,当网络音频相似度超过预设网络音频相似度阈值的持续时长未超过预设阈值时,说明终端与发送当前网络音频信号的终端位置较远。
在上述实施例中,通过计算网络音频特征与第二历史音频特征的网络音频相似度,基于网络音频相似度和网络啸叫检测结果确定网络音频信号为当前时间段对应的当前音频信号,从而使确定的当前音频信号更加的准确,
在一个实施例中,步骤204,对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带,包括:
按照预设子带个数将频域音频信号进行划分,得到各个子带。计算各个子带对应的子带能量,并对各个子带能量进行平滑,得到平滑后的各个子带能量。基于平滑后的各个子带能量确定目标子带。
其中,预设子带个数是预先设置好的要进行划分的子带个数。
可行地,终端按照预设子带个数将频域音频信号进行不均匀的划分,得到各个子带。终端然后计算各个子带对应的子带能量,该子带能量可以是音量,也可以是对数能量。即在一个实施例中,可以使用三角滤波器来计算各个子带对应的子带能量。例如可以通过30个三角滤波器计算每个子带的能量。每个子带的频率范围可以不相等,相邻子带之间可能存在频率上的交叠。然后对每个子带能量进行平滑处理,即获取到最近时间段中存在的相同位置的子带对应的能量,然后计算平均值,得到该子带平滑后的子带能量。比如,要对当前音频信号中第一个子带的子带能量进行平滑,可以获取到最近10次的历史音频信号中第一个子带的历史子带能量,然后计算平均子带能量,将平均子带能量作为当前音频信号中第一个子带平滑后的子带能量。依次计算得到每个子带对应的平滑后的子带能量。
然后将平滑后的各个子带能量进行比较,选取子带能量最大的子带作为目标子带,该目标子带包含最多的啸叫能量。在一个实施例中,可以从指定子带开始选取最大子带能量的子带。比如,该当前音频信号划分为30个子带,可以从第从第6个到第30个子带中选取具有最大的平滑后的子带能量对应的子带。在一个实施例中,可以根据比较结果从大到小依次选取预设数量的子带作为目标子带。比如,选取子带能量由大到小排序前三的子带作为目标子带。
在上述实施例中,通过将各个子带能量进行平滑后根据平滑后的子带能量从各个子带中选取目标子带,从而使选取的目标子带更加的准确。
在一个实施例中,基于平滑后的各个子带能量确定目标子带,包括:
获取当前音频信号对应的当前啸叫检测结果,根据当前啸叫检测结果从各个子带中确定各个啸叫子带,并得到各个啸叫子带能量;从各个啸叫子带能量中选取目标能量,并将目标能量对应的目标啸叫子带作为目标子带。
其中,啸叫子带是指包含有啸叫信号的子带。啸叫子带能量是指啸叫子带对应的能量。目标能量是指最大的啸叫子带能量。目标啸叫子带是指最大的啸叫子带能量对应的啸叫子带。
可行地,终端获取到当前音频信号对应的当前啸叫检测结果,当当前啸叫检测结果为当前音频信号中存在啸叫信号时,根据啸叫信号的频率与语音信号的频率从各个子带中确定啸叫信号对应的子带,从而得到各个啸叫子带。然后根据各个子带的能量确定各个啸叫子带对应的能量。然后比较各个啸叫子带能量,选取最大的啸叫子带能量作为目标能量,将目标能量对应的目标啸叫子带作为目标子带。
在一个实施例中,可以将各个啸叫子带能量对应的各个啸叫子带直接作为目标子带,即计算各个啸叫子带对应的子带增益系数,并获取到各个啸叫子带对应的历史子带增益,计算子带增益系数与历史子带增益的乘积,得到各个啸叫子带对应的当前子带增益,基于各个当前子带增益对各个啸叫子带进行啸叫抑制,得到第一目标音频信号。
在上述实施例中,通过当前啸叫检测结果从各个子带中确定各个啸叫子带,然后从各个啸叫子带中确定目标子带,提高了得到目标子带的准确性。
在一个实施例中,如图7所示,步骤206,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数,包括:
步骤702,当当前语音检测结果为当前音频信号中未包含语音信号且当前啸叫检测结果为当前音频信号中包含啸叫信号时,获取预设递减系数,将预设递减系数作为当前音频信号对应的子带增益系数;
其中,预设递减系数是指预先设置好的使子带增益递减的系数。可以为小于1的值。当前音频信号中包含啸叫信号
可行地,终端检测到当前音频信号中未包含语音信号且当前音频信号中存在啸叫信号时,获取到预设递减系数,将预设递减系数作为当前音频信号对应的子带增益系数。即在检测到当前音频信号中未包含语音信号且当前音频信号中存在啸叫信号时,需要将子带增益从初始值逐渐递减,直到当前音频信号中未存在啸叫信号或者当前音频信号的子带增益达到了预先的下限值。比如,0.08。
步骤704,当当前语音检测结果为当前音频信号中包含语音信号且当前啸叫检测结果为当前音频信号中包含啸叫信号时,获取预设第一递增系数,将预设递增系数作为当前音频信号对应的子带增益系数;
步骤706,当当前啸叫检测结果为当前音频信号中未包含啸叫信号时,获取预设第二递增系数,将预设第二递增系数作为当前音频信号对应的子带增益系数,其中,预设第一递增系数大于预设第二递增系数。
其中,预设第一递增系数是指预先设置好的在当前音频信号中包含语音信号且包含啸叫信号时使子带增益增加的系数。预设第一递增系数是指预先设置好的在当前音频信号中未包含啸叫信号时使子带增益增加的系数。预设第一递增系数大于预设第二递增系数。
可行地,终端检测到当前音频信号中包含语音信号且包含啸叫信号时,将预设递增系数作为当前音频信号对应的子带增益系数。此时为了保护语音信号的质量,需要迅速递增子带增益,从而使子带增益恢复至初始值。终端检测到当前音频信号中未包含啸叫信号时,将预设第二递增系数作为当前音频信号对应的子带增益系数,此时按照预设第二递增系数将当前音频信号的子带增益恢复至初始值。其中,预设第一递增系数大于预设第二递增系数,说明当前音频信号中包含语音信号且包含啸叫信号时子带增益恢复到初始值的速度要大于当前音频信号中未包含啸叫信号时的恢复速度。例如,在一次语音通话中,每间隔20ms,获取到当前音频信号,计算当前音频信号的子带增益。语音通话起始时,一般未存在啸叫信号,则子带增益会保持不变。然后当检测到存在啸叫信号且未包含语音信号时,按照预设递减系数将当前音频信号子带增益的初始值进行递减,然后当检测到存在啸叫信号且包含语音信号时,按照预设第一递增系数计算当前音频信号的子带增益,即迅速递增当前音频信号的子带增益,使子带增益回复到初始值。
在上述实施例中,根据当前语音检测结果和啸叫检测结果确定子带增益系数,从而能够使得到的子带增益系数更加的准确,从而使啸叫抑制更加准确,进一步提高了得到的第一目标音频信号的质量。
在一个实施例中,如图8所示,啸叫抑制方法还包括:
步骤802,基于预设低频范围从当前音频信号中确定目标低频信号和目标高频信号。
其中,预设低频范围是指预先设置好的人声的频率范围,比如,小于1400HZ。目标低频信号是指当前音频信号中在预设低频范围内的音频信号,目标高频信号是指当前音频信号中超过预设低频范围的音频信号。
可行地,终端按照预设低频范围将当前音频信号进行划分,得到目标低频信号和目标高频信号。比如,将当前音频信号中小于1400HZ的音频信号作为目标低频信号,将当前音频信号中超过1400HZ的音频信号作为目标高频信号。
步骤804,计算目标低频信号对应的低频能量,将低频能量进行平滑,得到平滑后的低频能量。
其中,低频能量是指目标低频信号对应的能量。
可行地,终端直接计算目标低频信号对应的低频能量,也可以将目标低频信号进行划分,得到各个低频信号的子带,然后计算各个低频信号的子带对应的能量,再计算各个低频信号的子带对应的能量之和,得到目标低频信号对应的低频能量。然后将将低频能量进行平滑处理,得到平滑后的低频能量。其中,可以使用如下公式(1)进行平滑处理。
Ev(t)=a*Ev(t-1)+(1-a)*Ec 公式(1)
其中,Ev(t)是指当前时间段对应的当前音频信号中目标低频信号对应的平滑后的低频能量。Ev(t-1)是指前一历史时间段对应的历史音频信号中历史低频信号对应的历史低频能量。Ec当前时间段对应的当前音频信号中目标低频信号对应的低频能量。a是指平滑系数,是预先设置好的。其中,Ec大于Ev(t-1)时a的取值可以和Ec小于Ev(t-1)时a的取值不同,用于更好的追踪能量的上升段和下降段。
步骤806,将目标高频信号进行划分,得到各个高频子带,并计算各个高频子带对应的高频子带能量。
可行地,终端可以将目标高频信号进行划分,得到各个高频子带,并使用三角滤波器计算各个高频子带对应的高频子带能量。
步骤808,获取各个高频子带对应的预设能量上限权重,基于各个高频子带对应的预设能量上限权重与平滑后的低频能量计算各个高频子带对应的高频子带上限能量。
其中,预设能量上限权重是指预先设置好的高频子带的能量上限权重,不同的高频子带有不同的预设能量上限权重,高频子带可以按照频率由低到高的顺序设置能量上限权重依次降低。高频子带上限能量是指高频子带能量的上限,高频子带的能量不能超过该上限。
可行地,终端获取各个高频子带对应的预设能量上限权重,并计算高频子带对应的预设能量上限权重与平滑后的低频能量的乘积,得到各个高频子带对应的高频子带上限能量。可以使用公式(2)计算高频子带上限能量。
Eu(k)=Ev(t)*b(k) 公式(2)
其中,k是指第k个高频子带,为正整数,Eu(k)为第k个高频子带对应的高频子带上限能量。Ev(t)是指目标低频信号对应的平滑后的低频能量,b(k)是指第k个高频子带对应的预设能量上限权重,比如,各个高频子带的预设能量上限权重可以依次为(0.8,0.7,0.6,…)。
步骤810,计算高频子带上限能量与高频子带能量的比值,得到各个高频子带上限增益。
其中,高频子带上限增益是指对高频子带进行子带增益时对应的上限增益,即对高频子带进行子带增益时不能超过高频子带上限增益。
可行地,终端分别计算每个高频子带上限能量与对应的高频子带能量的比值,得到各个高频子带上限增益。比如,可以使用公式(3)计算高频子带上限增益。
Figure BDA0002712748030000251
其中,E(k)是指第k个高频子带对应的高频子带能量。Eu(k)是指第k个高频子带对应的高频子带上限能量。M(k)是指第k个高频子带对应的高频子带上限增益。
步骤812,计算各个高频子带对应的各个高频子带增益,基于各个高频子带上限增益和各个高频子带增益确定各个高频子带目标增益,基于各个高频子带目标增益对各个高频子带进行啸叫抑制,得到当前时间段对应的第二目标音频信号。
其中,高频子带增益是根据高频子带增益系数和历史高频子带增益计算得到的。高频子带增益系数是根据当前啸叫检测结果和和当前语音检测结果确定的。历史高频子带增益是指历史时间段的历史音频信号对应的高频子带的增益。高频子带目标增益是指进行啸叫抑制时使用的增益。第二目标音频信号是指将所有高频子带都进行啸叫抑制后得到的音频信号。
可行地,终端获取到各个历史高频子带对应的各个历史高频子带增益,并根据当前啸叫检测结果和和当前语音检测结果确定各个高频子带增益系数,分别计算各个历史高频子带增益与各个高频子带增益系数的乘积得到各个高频子带对应的各个高频子带增益。分别比较各个高频子带上限增益与对应的各个高频子带增益,选取高频子带上限增益与高频子带增益中的较小增益作为高频子带目标增益。比如,可以使用公式(4)来选取高频子带目标增益。
B(k)=min[G(k),M(k)] 公式(4)
其中,B(k)是指第k个高频子带对应的高频子带目标增益,G(k)是指第k个高频子带对应的高频子带增益,M(k)是指第k个高频子带对应的高频子带上限增益。然后终端使用各个高频子带目标增益对各个高频子带进行啸叫抑制,将啸叫抑制后的各个高频子带对应的频域音频信号转换为时域音频信号,得到当前时间段对应的第二目标音频信号。
在一个具体的实施例中,如图8a所示,为能量约束的曲线示意图,该曲线示意图中横坐标表示频率,纵坐标表示能量,基于频率划分得到不同的子带,图中示出了9个子带,频率低于1400HZ的子带为低频带,高于1400HZ的子带为高频带,低频带为第1子带到第4子带,高频带为第5子带到第9子带。其中,曲线C为音频信号中只有语音信号时的能量曲线。曲线B是指对高频信号的能量约束曲线。曲线A是指为音频信号中包含语音信号和啸叫信号时的能量曲线。明显可以看出,在低频带即第1子带到第4子带有语音信号时,不进行能量约束。在高频带,即在第4个子带之后,包含有啸叫信号时,需要将音频信号的能量约束到曲线B以下,得到啸叫抑制后的音频信号。
在上述实施例中,通过使用高频子带上限增益来对高频子带的高频子带能量进行约束,保证了得到的第二目标音频信号的质量。
在一个具体的实施例中,如图9所示,啸叫抑制方法,包括以下步骤:
步骤902,通过麦克风采集当前时间段对应的初始音频信号,对初始音频信号进行回声消除,得到回声消除后的初始音频信号。
步骤902,将回声消除后的初始音频信号输入到语音端点检测模型中进行检测,得到当前语音检测结果。基于当前语音检测结果对回声消除后的初始音频信号进行噪声抑制,得到噪声抑制后的初始音频信号。
步骤902,提取噪声抑制后的初始音频信号对应的初始音频特征,获取第一历史时间段对应的第一历史音频信号,并提取第一历史音频信号对应的第一历史音频特征,计算初始音频特征与第一历史音频特征的第一相似度,基于第一相似度确定当前啸叫检测结果。
步骤902,当当前啸叫检测结果为噪声抑制后的初始音频信号中存在啸叫信号时,将当前音频信号进行频域变换,得到频域音频信号;
步骤902,按照预设子带个数将频域音频信号进行划分,得到各个子带,计算各个子带对应的子带能量,并对各个子带能量进行平滑,得到平滑后的各个子带能量,基于平滑后的各个子带能量确定目标子带。
步骤902,当当前语音检测结果为当前音频信号中未包含语音信号且当前啸叫检测结果为当前音频信号中包含啸叫信号时,获取预设递减系数,将预设递减系数作为当前音频信号对应的子带增益系数。
步骤902,获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益。
步骤902,基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号,将所述当前时间段对应的第一目标音频信号通过网络发送到接收第一目标音频信号的终端。
本申请还提供一种应用场景,该应用场景应用上述的啸叫抑制方法。可行地,该啸叫抑制方法在该应用场景的应用如下:
在企业微信应用中进行语音会议时,如图10所示,为啸叫抑制方法的具体场景应用图,其中,终端1002和终端1004在同一个房间内,并且与其他终端进行voip(Voice overInternet Protocol,基于IP的语音传输)通话。此时,终端1002的麦克风采集的语音会通过网络发送到终端1004,并经过终端1004的喇叭播放之后,终端1002的麦克风又会再次采集到该语音,因此,形成一个声学回路,如此循环反复,产生“啸叫”的声学效果。
此时进行啸叫抑制时,提供一种啸叫抑制方法的架构示意图,如图11所示,其中,终端都是通过上行音频处理对麦克风采集的音频信号进行处理后通过网络进行编码发送。通过下行音频处理对从网络接口获取到的音频信号进行处理后进行音频播放。
可行地,终端1002通过麦克风采集到的声音会经过上行音频处理后编码发送到网络侧形成网络信号。上行音频处理包括对音频信号进行回声消除,并对回声消除后的音频信号进行语音端点检测即语音分析识别非语音信号和语音信号。对非语音信号进行噪声印制,得到噪声抑制后的音频信号。然后对噪声抑制后的音频信号进行啸叫检测,得到啸叫检测结果。根据啸叫检测结果和语音端点检测结果进行啸叫抑制,得到啸叫抑制后的语音信号,将啸叫抑制后的语音信号进行音量控制,然后编码发送。
其中,在进行啸叫抑制时,如图12所示,为进行啸叫抑制的流程图。终端1002将需要进行啸叫抑制的音频信号进行信号分析即将时域变换到频域,得到频域变换后的音频信号,然后将频域变换后的音频信号按照预设子带个数以及子带频率范围计算各个子带的能量。然后对各个子带的能量在时间上进行平滑处理,得到平滑后的各个子带能量。从平滑后的各个子带能量中选取最大的平滑后的子带能量作为目标子带。基于啸叫检测结果和语音检测结果确定音频信号对应的子带增益系数,具体来说,howlFlag表示啸叫检测结果,当howlFlag为1时,说明音频信号中存在啸叫信号,当howlFlag为0时,说明音频信号中未存在啸叫信号。当VAD为1时,说明音频信号中包括语音信号。当VAD为0时,说明音频信号中未包含语音信号。当在howlFlag为1且VAD为0时,获取预设递减系数作为子带增益系数,当在howlFlag为1且VAD为1时,获取预设第一递增系数作为子带增益系数,当在howlFlag为0时,获取预设第二递增系数作为子带增益系数。同时,获取到上一个音频信号在进行啸叫处理时使用的历史子带增益,计算历史子带增益与子带增益系数的乘积,得到当前子带增益,使用当前子带增益对目标子带进行啸叫抑制,得到啸叫抑制后的音频信号,然后将啸叫抑制后的音频信号从网络侧进行发送。
同时,在进行啸叫抑制时,还可以基于预设低频范围从当前音频信号中确定目标低频信号和目标高频信号;计算目标低频信号对应的低频能量,将低频能量进行平滑,得到平滑后的低频能量;将目标高频信号进行划分,得到各个高频子带,并计算各个高频子带对应的高频子带能量;获取各个高频子带对应的预设能量上限权重,基于各个高频子带对应的预设能量上限权重与平滑后的低频能量计算各个高频子带对应的高频子带上限能量;计算高频子带上限能量与高频子带能量的比值,得到各个高频子带上限增益;计算各个高频子带对应的各个高频子带增益,基于各个高频子带上限增益和各个高频子带增益确定各个高频子带目标增益,基于各个高频子带目标增益对各个高频子带进行啸叫抑制,得到当前时间段对应的第二目标音频信号,将第二目标音频信号通过网络侧进行发送。终端1004通过网络接口接收到网络信号时,进行解码得到音频信号,然后进行下行音频处理后进行音频播放,该下行音频处理可以是进行音量控制等等。同理,终端1004中的上行音频处理也可以使用相同的方法对音频进行处理后通过网络侧进行发送。
在一个具体的实施例中,提供另一种啸叫抑制方法的架构示意图,如图13所示,具体来说:
如图10所示,终端1002在发送音频信号到各个终端时,由于终端1002与终端1004较近,可能导致啸叫。而其他终端,包括终端1008、终端1010和终端1012。与终端1002较远不会产生啸叫,此时,可以在接收音频信号的终端中进行啸叫抑制。具体来说:
在终端1004中,通过网络接口接收到终端1002发送的网络信号时,进行解码,得到音频信号,该音频信号一般是在发送终端经过回声消除和噪声抑制的信号。此时终端1004直接对音频信号进行啸叫检测和语音端点检测,得到啸叫检测结果和语音端点检测结果。并且,终端1004通过麦克风采集同样时间长度的历史音频信号,进行本地检测,该本地检测是用于检测终端1004和终端1002是否相近。具体来说:通过提取通过麦克风采集同样时间长度的音频信号的音频特征,以及提取通过网络侧接收的音频信号的音频特征,然后计算相似度。当该相似度持续一段时间均超过预先设置的相似度阈值时,即说明终端1004和终端1002相近,得到本地检测结果为终端1004和终端1002相近,说明终端1004是造成啸叫的音频回路上的终端。此时根据本地检测结果、啸叫检测结果和语音端点检测结果进行啸叫抑制,即执行如图12的流程对啸叫进行抑制,得到啸叫抑制后的音频信号,然后终端1004将啸叫抑制后的音频信号进行播放。在一个实施例中,当啸叫检测结果为音频信号中存在啸叫信号的可能性超过预设本地检测暂停阈值时,则暂停本地检测的运行,只根据啸叫检测结果和语音端点检测结果进行啸叫抑制,节省终端资源。
通过在接收音频信号的终端中进行啸叫抑制,保证了其他接收音频的终端接收的音频信号质量。并且通过本地检测结果、啸叫检测结果和语音端点检测结果进行啸叫抑制,提高了啸叫抑制的准确性。同理,终端1004的下行音频的处理方法,即上述对音频信息进行啸叫处理的流程也可以应用到其他终端中的下行音频处理中,比如,终端1002中。
在一个具体的实施例中,如图14所示,还提供另一种啸叫抑制方法的架构示意图,具体来说:
终端1002通过麦克风采集到当前音频信号,将当前音频信号进行回声消除以及噪声印制后,进行啸叫检测,得到当前啸叫检测结果。当当前啸叫检测结果为当前音频信号中存在啸叫信号时,获取待播放音频信号和预设音频水印信号,将预设音频水印信号添加到待播放音频信号中并通过喇叭进行播放,同时将当前音频信号经过音量控制并编码成网络信号,通过网络接口发送到终端1004.
此时终端1004通过麦克风采集终端1002通过喇叭播放的音频信号,然后进行水印检测,即计算采集的音频信号的邻带能量比值,当当邻带能量比值超过预设邻带能量比阈值时,确定采集的音频信号中包含有设置好的音频水印信号。此时,终端1004获取到终端1002发送的网络信号,进行解码后得到音频信号,将该音频信号进行啸叫抑制,即执行如图12所示的流程,得到啸叫抑制后的音频信号,将啸叫抑制后的音频信号通过喇叭播放。通过发送终端在播放的音频信号中添加音频水印信号,由于产生啸叫的终端距离较近,则接收终端会通过麦克风采集到添加音频水印信号的音频信号,对采集的音频信号进行水印检测后进行啸叫抑制,提高了啸叫抑制的效率的准确性。同理终端1004通过网络侧发送音频信号时也可以添加音频水印信号,则终端1002也可以进行水印检测来确定是否对接收的音频信号进行啸叫抑制。
应该理解的是,虽然图2、图3-8以及图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3-8以及图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图15所示,提供了一种啸叫抑制装置1500,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:信号变换模块1502、子带确定模块1504、系数确定模块1506、增益确定模块1508和啸叫抑制模块1510,其中:
信号变换模块1502,用于获取当前时间段对应的当前音频信号,将当前音频信号进行频域变换,得到频域音频信号;
子带确定模块1504,用于对频域音频信号进行划分,得到各个子带,从各个子带中确定目标子带;
系数确定模块1506,用于获取当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于当前啸叫检测结果和当前语音检测结果确定当前音频信号对应的子带增益系数;
增益确定模块1508,用于获取历史时间段的音频信号对应的历史子带增益,基于子带增益系数和历史子带增益计算当前音频信号对应的当前子带增益;
啸叫抑制模块1510,用于基于当前子带增益对目标子带进行啸叫抑制,得到当前时间段对应的第一目标音频信号。
在一个实施例中,信号变换模块1502,包括:
回声消除单元,用于采集当前时间段对应的初始音频信号,对初始音频信号进行回声消除,得到回声消除后的初始音频信号;
语音检测单元,用于将回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果;
噪声抑制单元,用于基于当前语音检测结果对回声消除后的初始音频信号进行噪声抑制,得到噪声抑制后的初始音频信号;
啸叫检测单元,用于对噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果;
当前音频信号确定单元,用于当当前啸叫检测结果为噪声抑制后的初始音频信号中存在啸叫信号时,将噪声抑制后的初始音频信号作为当前时间段对应的当前音频信号。
在一个实施例中,语音检测单元还用于将回声消除后的初始音频信号输入到语音端点检测模型中进行检测,得到当前语音检测结果,语音端点检测模型是基于训练音频信号和对应的训练语音检测结果使用神经网络算法进行训练得到的。
在一个实施例中,语音检测单元还用于将回声消除后的初始音频信号进行低通滤波,得到低频信号;计算低频信号对应的信号能量,基于信号能量计算能量波动,根据能量波动确定当前语音检测结果。
在一个实施例中,语音检测单元还用于将回声消除后的初始音频信号进行低通滤波,得到低频信号;对低频信号进行基音检测,得到基音周期,根据基音周期确定当前语音检测结果。
在一个实施例中,啸叫检测单元还用于将噪声抑制后的初始音频信号输入到啸叫检测模型中进行检测,得到当前啸叫检测结果,啸叫检测模型是基于啸叫训练音频信号和对应的训练啸叫检测结果使用神经网络算法进行训练得到的。
在一个实施例中,啸叫检测单元还用于提取噪声抑制后的初始音频信号对应的初始音频特征;获取第一历史时间段对应的第一历史音频信号,并提取第一历史音频信号对应的第一历史音频特征;计算初始音频特征与第一历史音频特征的第一相似度,基于第一相似度确定当前啸叫检测结果。
在一个实施例中,啸叫抑制方法,还包括:
水印添加模块,用于当当前啸叫检测结果为当前音频信号中存在啸叫信号时,获取待播放音频信号和预设音频水印信号;将预设音频水印信号添加到待播放音频信号中并进行播放。
在一个实施例中,啸叫抑制方法,还包括:
水印检测模块,用于采集第一时间段对应的第一音频信号,基于音频水印检测算法检测所述第一音频信号,确定第一音频信号中包含有目标音频水印信号;
信号得到模块,用于接收第二时间段对应的目标网络编码音频信号,将目标网络编码音频信号进行解码,得到目标网络音频信号;
当前音频信号确定模块,用于基于第一音频信号中包含有目标音频水印信号将目标网络音频信号作为当前音频信号。
在一个实施例中,信号变换模块1502,包括:
网络信号得到模块,用于接收当前时间段对应的当前网络编码音频信号,将网络编码音频信号进行解码,得到当前网络音频信号;
网络信号检测模块,用于将当前网络音频信号进行语音端点检测,得到网络语音检测结果,并对当前网络音频信号进行啸叫检测,得到网络啸叫检测结果;
特征提取模块,用于提取当前网络音频信号的网络音频特征,并获取第二历史时间段的第二历史音频信号,提取第二历史音频信号对应的第二历史音频特征;
当前音频信号得到模块,用于计算网络音频特征与第二历史音频特征的网络音频相似度,基于网络音频相似度和网络啸叫检测结果确定网络音频信号为当前时间段对应的当前音频信号。
在一个实施例中,子带确定模块1504还用于按照预设子带个数将频域音频信号进行划分,得到各个子带;计算各个子带对应的子带能量,并对各个子带能量进行平滑,得到平滑后的各个子带能量;基于平滑后的各个子带能量确定目标子带。
在一个实施例中,子带确定模块1504还用于获取当前音频信号对应的当前啸叫检测结果,根据当前啸叫检测结果从各个子带中确定各个啸叫子带,并得到各个啸叫子带能量;从各个啸叫子带能量中选取目标能量,并将目标能量对应的目标啸叫子带作为目标子带。
在一个实施例中,系数确定模块1506还用于当当前语音检测结果为当前音频信号中未包含语音信号且当前啸叫检测结果为当前音频信号中包含啸叫信号时,获取预设递减系数,将预设递减系数作为当前音频信号对应的子带增益系数;当当前语音检测结果为当前音频信号中包含语音信号且当前啸叫检测结果为当前音频信号中包含啸叫信号时,获取预设第一递增系数,将预设递增系数作为当前音频信号对应的子带增益系数;当当前啸叫检测结果为当前音频信号中未包含啸叫信号时,获取预设第二递增系数,将预设第二递增系数作为当前音频信号对应的子带增益系数,其中,预设第一递增系数大于预设第二递增系数。
在一个实施例中,啸叫抑制方法还包括:
信号划分模块,用于基于预设低频范围从当前音频信号中确定目标低频信号和目标高频信号;
低频能量计算模块,用于计算目标低频信号对应的低频能量,将低频能量进行平滑,得到平滑后的低频能量;
高频能量计算模块,用于将目标高频信号进行划分,得到各个高频子带,并计算各个高频子带对应的高频子带能量;
上限能量计算模块,用于获取各个高频子带对应的预设能量上限权重,基于各个高频子带对应的预设能量上限权重与平滑后的低频能量计算各个高频子带对应的高频子带上限能量;
上限增益确定模块,用于计算高频子带上限能量与高频子带能量的比值,得到各个高频子带上限增益;
目标音频信号得到模块,用于计算各个高频子带对应的各个高频子带增益,基于各个高频子带上限增益和各个高频子带增益确定各个高频子带目标增益,基于各个高频子带目标增益对各个高频子带进行啸叫抑制,得到当前时间段对应的第二目标音频信号。
关于啸叫抑制装置的具体限定可以参见上文中对于啸叫抑制方法的限定,在此不再赘述。上述啸叫抑制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种啸叫抑制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种啸叫抑制方法,其特征在于,所述方法包括:
获取当前时间段对应的当前音频信号,将所述当前音频信号进行频域变换,得到频域音频信号;
对所述频域音频信号进行划分,得到各个子带,从所述各个子带中确定目标子带;
获取所述当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于所述当前啸叫检测结果和当前语音检测结果确定所述当前音频信号对应的子带增益系数;
获取历史时间段的音频信号对应的历史子带增益,基于所述子带增益系数和所述历史子带增益计算所述当前音频信号对应的当前子带增益;
基于所述当前子带增益对所述目标子带进行啸叫抑制,得到所述当前时间段对应的第一目标音频信号。
2.根据权利要求1所述的方法,其特征在于,所述获取当前时间段对应的当前音频信号,包括:
采集所述当前时间段对应的初始音频信号,对所述初始音频信号进行回声消除,得到回声消除后的初始音频信号;
将所述回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果;
基于所述当前语音检测结果对所述回声消除后的初始音频信号进行噪声抑制,得到噪声抑制后的初始音频信号;
对所述噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果;
当所述当前啸叫检测结果为所述噪声抑制后的初始音频信号中存在啸叫信号时,将所述噪声抑制后的初始音频信号作为所述当前时间段对应的当前音频信号。
3.根据权利要求2所述的方法,其特征在于,所述将所述回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果,包括:
将所述回声消除后的初始音频信号进行低通滤波,得到低频信号;
计算所述低频信号对应的信号能量,基于所述信号能量计算能量波动,根据所述能量波动确定所述当前语音检测结果。
4.根据权利要求2所述的方法,其特征在于,所述将所述回声消除后的初始音频信号进行语音端点检测,得到当前语音检测结果,包括:
将所述回声消除后的初始音频信号进行低通滤波,得到低频信号;
对所述低频信号进行基音检测,得到基音周期,根据所述基音周期确定所述当前语音检测结果。
5.根据权利要求2所述的方法,其特征在于,所述对所述噪声抑制后的初始音频信号进行啸叫检测,得到当前啸叫检测结果,包括:
提取所述噪声抑制后的初始音频信号对应的初始音频特征;
获取第一历史时间段对应的第一历史音频信号,并提取所述第一历史音频信号对应的第一历史音频特征;
计算所述初始音频特征与所述第一历史音频特征的第一相似度,基于所述第一相似度确定所述当前啸叫检测结果。
6.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
当所述当前啸叫检测结果为所述当前音频信号中存在啸叫信号时,获取待播放音频信号和预设音频水印信号;
将所述预设音频水印信号添加到所述待播放音频信号中并进行播放。
7.根据权利要求6所述的方法,其特征在于,所述方法,还包括:
采集第一时间段对应的第一音频信号,基于音频水印检测算法检测所述第一音频信号,确定所述第一音频信号中包含有目标音频水印信号;
接收第二时间段对应的目标网络编码音频信号,将所述目标网络编码音频信号进行解码,得到目标网络音频信号;
基于所述第一音频信号中包含有目标音频水印信号将所述目标网络音频信号作为所述当前音频信号。
8.根据权利要求1所述的方法,其特征在于,所述获取当前时间段对应的当前音频信号,包括:
接收所述当前时间段对应的当前网络编码音频信号,将所述网络编码音频信号进行解码,得到当前网络音频信号;
将所述当前网络音频信号进行语音端点检测,得到网络语音检测结果,并对所述当前网络音频信号进行啸叫检测,得到网络啸叫检测结果;
提取所述当前网络音频信号的网络音频特征,并获取第二历史时间段的第二历史音频信号,提取所述第二历史音频信号对应的第二历史音频特征;
计算所述网络音频特征与所述第二历史音频特征的网络音频相似度,基于所述网络音频相似度和所述网络啸叫检测结果确定所述网络音频信号为所述当前时间段对应的当前音频信号。
9.根据权利要求1所述的方法,其特征在于,所述对所述频域音频信号进行划分,得到各个子带,从所述各个子带中确定目标子带,包括:
按照预设子带个数将所述频域音频信号进行划分,得到各个子带;
计算所述各个子带对应的子带能量,并对各个子带能量进行平滑,得到所述平滑后的各个子带能量;
基于所述平滑后的各个子带能量确定目标子带。
10.根据权利要求9所述的方法,其特征在于,所述基于所述平滑后的各个子带能量确定目标子带,包括:
获取所述当前音频信号对应的当前啸叫检测结果,根据所述当前啸叫检测结果从所述各个子带中确定各个啸叫子带,并得到所述各个啸叫子带能量;
从所述各个啸叫子带能量中选取目标能量,并将所述目标能量对应的目标啸叫子带作为目标子带。
11.根据权利要求1所述的方法,其特征在于,所述基于所述当前啸叫检测结果和所述当前语音检测结果确定所述当前音频信号对应的子带增益系数,包括:
当所述当前语音检测结果为所述当前音频信号中未包含语音信号且所述当前啸叫检测结果为所述当前音频信号中包含啸叫信号时,获取预设递减系数,将所述预设递减系数作为所述当前音频信号对应的子带增益系数;
当所述当前语音检测结果为所述当前音频信号中包含语音信号且所述当前啸叫检测结果为所述当前音频信号中包含啸叫信号时,获取预设第一递增系数,将所述预设递增系数作为所述当前音频信号对应的子带增益系数;
当所述当前啸叫检测结果为所述当前音频信号中未包含啸叫信号时,获取预设第二递增系数,将所述预设第二递增系数作为所述当前音频信号对应的子带增益系数,其中,所述预设第一递增系数大于所述预设第二递增系数。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于预设低频范围从所述当前音频信号中确定目标低频信号和目标高频信号;
计算所述目标低频信号对应的低频能量,将所述低频能量进行平滑,得到平滑后的低频能量;
将所述目标高频信号进行划分,得到各个高频子带,并计算所述各个高频子带对应的高频子带能量;
获取所述各个高频子带对应的预设能量上限权重,基于所述各个高频子带对应的预设能量上限权重与所述平滑后的低频能量计算所述各个高频子带对应的高频子带上限能量;
计算所述高频子带上限能量与所述高频子带能量的比值,得到各个高频子带上限增益;
计算各个高频子带对应的各个高频子带增益,基于所述各个高频子带上限增益和所述各个高频子带增益确定所述各个高频子带目标增益,基于所述各个高频子带目标增益对所述各个高频子带进行啸叫抑制,得到所述当前时间段对应的第二目标音频信号。
13.一种啸叫抑制装置,其特征在于,所述装置包括:
信号变换模块,用于获取当前时间段对应的当前音频信号,将所述当前音频信号进行频域变换,得到频域音频信号;
子带确定模块,用于对所述频域音频信号进行划分,得到各个子带,从所述各个子带中确定目标子带;
系数确定模块,用于获取所述当前音频信号对应的当前啸叫检测结果和当前语音检测结果,基于所述当前啸叫检测结果和所述当前语音检测结果确定所述当前音频信号对应的子带增益系数;
增益确定模块,用于获取历史时间段的音频信号对应的历史子带增益,基于所述子带增益系数和所述历史子带增益计算所述当前音频信号对应的当前子带增益;
啸叫抑制模块,用于基于所述当前子带增益对所述目标子带进行啸叫抑制,得到所述当前时间段对应的第一目标音频信号。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202011062254.8A 2020-09-30 2020-09-30 啸叫抑制方法、装置、计算机设备和存储介质 Pending CN114333749A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011062254.8A CN114333749A (zh) 2020-09-30 2020-09-30 啸叫抑制方法、装置、计算机设备和存储介质
PCT/CN2021/112769 WO2022068440A1 (zh) 2020-09-30 2021-08-16 啸叫抑制方法、装置、计算机设备和存储介质
EP21874102.3A EP4131254A4 (en) 2020-09-30 2021-08-16 WHISTLE SUPPRESSION METHOD AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIUM
US17/977,380 US20230046518A1 (en) 2020-09-30 2022-10-31 Howling suppression method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011062254.8A CN114333749A (zh) 2020-09-30 2020-09-30 啸叫抑制方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114333749A true CN114333749A (zh) 2022-04-12

Family

ID=80951084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011062254.8A Pending CN114333749A (zh) 2020-09-30 2020-09-30 啸叫抑制方法、装置、计算机设备和存储介质

Country Status (4)

Country Link
US (1) US20230046518A1 (zh)
EP (1) EP4131254A4 (zh)
CN (1) CN114333749A (zh)
WO (1) WO2022068440A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322488C (zh) * 2004-04-14 2007-06-20 华为技术有限公司 一种语音增强的方法
GB2448201A (en) * 2007-04-04 2008-10-08 Zarlink Semiconductor Inc Cancelling non-linear echo during full duplex communication in a hands free communication system.
CN109637552A (zh) * 2018-11-29 2019-04-16 河北远东通信系统工程有限公司 一种抑制音频设备啸叫的语音处理方法
CN109461455B (zh) * 2018-11-30 2022-08-30 维沃移动通信(深圳)有限公司 一种消除啸叫的系统及方法
CN111724808A (zh) * 2019-03-18 2020-09-29 Oppo广东移动通信有限公司 音频信号处理方法、装置、终端及存储介质
CN110213694B (zh) * 2019-04-16 2020-12-04 浙江大华技术股份有限公司 一种音频设备及其啸叫的处理方法、计算机存储介质
CN110012408B (zh) * 2019-04-19 2021-10-15 宁波启拓电子设备有限公司 啸叫检测方法及装置
CN111048119B (zh) * 2020-03-12 2020-07-10 腾讯科技(深圳)有限公司 通话音频混音处理方法、装置、存储介质和计算机设备
JP2023519249A (ja) * 2020-03-23 2023-05-10 ドルビー ラボラトリーズ ライセンシング コーポレイション エコー残留抑制

Also Published As

Publication number Publication date
US20230046518A1 (en) 2023-02-16
WO2022068440A1 (zh) 2022-04-07
EP4131254A1 (en) 2023-02-08
EP4131254A4 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
US10504539B2 (en) Voice activity detection systems and methods
US9812147B2 (en) System and method for generating an audio signal representing the speech of a user
JP6169849B2 (ja) 音響処理装置
JP5666444B2 (ja) 特徴抽出を使用してスピーチ強調のためにオーディオ信号を処理する装置及び方法
US7620546B2 (en) Isolating speech signals utilizing neural networks
CN104520925B (zh) 噪声降低增益的百分位滤波
EP2643981B1 (en) A device comprising a plurality of audio sensors and a method of operating the same
US8712074B2 (en) Noise spectrum tracking in noisy acoustical signals
CN111149370B (zh) 会议系统中的啸叫检测
Kim et al. Nonlinear enhancement of onset for robust speech recognition.
JP2018513625A (ja) サブバンド信号の適応混合
EP1913591B1 (en) Enhancement of speech intelligibility in a mobile communication device by controlling the operation of a vibrator in dependance of the background noise
US20200286501A1 (en) Apparatus and a method for signal enhancement
US8423357B2 (en) System and method for biometric acoustic noise reduction
Morales-Cordovilla et al. Feature extraction based on pitch-synchronous averaging for robust speech recognition
CN115223584B (zh) 音频数据处理方法、装置、设备及存储介质
CN114333749A (zh) 啸叫抑制方法、装置、计算机设备和存储介质
CN112133320B (zh) 语音处理装置及语音处理方法
EP2063420A1 (en) Method and assembly to enhance the intelligibility of speech
CN112118511A (zh) 耳机降噪方法、装置、耳机及计算机可读存储介质
KR20060091591A (ko) 음성신호 성분을 강화하여 음성신호의 특징을 추출하는 방법 및 그 장치
Kurian et al. PNCC based speech enhancement and its performance evaluation using SNR Loss
CN115620740A (zh) 对回声路径的语音延时估计方法、装置和存储介质
Hossain et al. HUMAN VOICE ACTIVITY DETECTION USING WAVELET

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40068127

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination