CN115457928A - 一种基于神经网络双讲检测的回声消除方法及系统 - Google Patents
一种基于神经网络双讲检测的回声消除方法及系统 Download PDFInfo
- Publication number
- CN115457928A CN115457928A CN202210888604.9A CN202210888604A CN115457928A CN 115457928 A CN115457928 A CN 115457928A CN 202210888604 A CN202210888604 A CN 202210888604A CN 115457928 A CN115457928 A CN 115457928A
- Authority
- CN
- China
- Prior art keywords
- signal
- double
- echo
- talk
- residual
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000003044 adaptive effect Effects 0.000 claims abstract description 38
- 230000001629 suppression Effects 0.000 claims abstract description 32
- 238000012805 post-processing Methods 0.000 claims abstract description 27
- 230000007613 environmental effect Effects 0.000 claims abstract description 8
- 238000001228 spectrum Methods 0.000 claims description 30
- 238000001914 filtration Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 17
- 230000000306 recurrent effect Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000005314 correlation function Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000005311 autocorrelation function Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 claims description 3
- 230000009123 feedback regulation Effects 0.000 claims description 3
- 230000005764 inhibitory process Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 210000005069 ears Anatomy 0.000 abstract description 6
- 230000000873 masking effect Effects 0.000 abstract description 6
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 230000005236 sound signal Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/175—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
- G10K11/178—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K11/1781—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions
- G10K11/17813—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions characterised by the analysis of the acoustic paths, e.g. estimating, calibrating or testing of transfer functions or cross-terms
- G10K11/17815—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions characterised by the analysis of the acoustic paths, e.g. estimating, calibrating or testing of transfer functions or cross-terms between the reference signals and the error signals, i.e. primary path
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/175—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
- G10K11/178—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K11/1785—Methods, e.g. algorithms; Devices
- G10K11/17853—Methods, e.g. algorithms; Devices of the filter
- G10K11/17854—Methods, e.g. algorithms; Devices of the filter the filter being an adaptive filter
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L2021/02161—Number of inputs available containing the signal or the noise to be suppressed
- G10L2021/02163—Only one microphone
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Filters That Use Time-Delay Elements (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
本发明提供一种基于神经网络双讲检测的回声消除方法及系统,涉及音频处理技术领域。本发明通过使用双讲检测结果控制线性前处理中自适应滤波器的更新与否;当检测到远端无人声信号时,停止更新自适应滤波器。防止双讲状态或是远端仅存在环境噪声时自适应滤波器由于受到扰动偏离稳定点而发散;通过使用双讲检测结果控制非线性后处理中对于回声的最大抑制量,在检测到近端与远端人耳同时讲话时,结合人耳的听觉掩蔽效应估算出能够掩蔽残留回声所需的最大抑制量。在保留近端有用信号失真度小的同时,残留回声也得到有效抑制;在检测到仅有远端人耳信号单讲时,提升对残留回声信号的抑制,使得残留回声能被彻底去除干净。
Description
技术领域
本发明涉及音频处理技术领域,尤其涉及一种基于神经网络双讲检测的回声消除方法及系统。
背景技术
声学回声消除(acoustic echo cancelling,AEC)算法是一种语音信号处理及语音通讯领域的常用算法之一,广泛用于语音通讯与智能语音人机交互等应用中。在语音通讯中,主要是为解决全双工通话过程中任何一端说话人听到自己说话声(回声)的问题。使用回声消除算法可以在近端提前进行去回声处理,之后再送达远端,这样远端说话人将不再听到自己的说话声。在智能语音人机交互过程中,为了防止智能设备自己播放的音乐或者说话声对语音识别构成干扰,也需要使用回声消除算法提前将自已播放的声音去除,以防止误识别和提高识别率。
现有的AEC方法中,通常利用自适应线性滤波器去估计回声信号,然后根据估计的回声信号抵消掉通信系统中的回声信号。为了提升AEC方法中线性自适应滤波器的效果,通常增加双讲检测模块(double-talkdetection,DTD),来配合自适应线性滤波器。双讲检测模块用于检测通信双方的讲话状态,例如,通信双方同时讲话时为双讲状态。相关技术中,在通信的一端,通过检测本端语音信号(即近端语音信号)和另一端的语音信号(即远端语音信号),来确定是否为双讲状态。
但是现有的双讲检测方案鲁棒性差、检测准确率不高的问题,使得回声消除效果不理想;此外,仅通过线性自适应滤波器对回声信号进行消除,得到的信号中仍然有线性残留回声与非线性残留回声信号,会影响最终的回声消除效果。
因此,有必要提供一种基于神经网络双讲检测的回声消除方法及系统来解决上述技术问题。
发明内容
为解决上述之一技术问题,本发明提供的一种基于神经网络双讲检测的回声消除方法,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理。
具体的,输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,…表示数据块序号,n=0,1,2,…,n表示每个数据块样点序号,N是每个数据块样点总数。
具体的,RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节。
具体的,线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数通过滤波器系数计算自适应更新后的残差信号el(n)。
具体的,非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n)。
具体的,输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
作为更进一步的解决方案,所述线性自适应滤波处理通过如下步骤进行:
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,…,N]。
作为更进一步的解决方案,所述可变步长因子μl(n)通过如下公式计算:
作为更进一步的解决方案,滤波器系数自适应更新通过如下公式计算:
其中,db_flag(l-1)表示RNN双讲检测模块给出的前一帧双讲检测状态信息对应的双讲检测状态结果;far_talk_only表示仅有远端人声讲话;else表示当双讲检测结果不为far_talk_only时,停止更新滤波器;ε为正则化因子。
作为更进一步的解决方案,所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱残差信号能量谱Pe(l,k)与回声信号其中,k表示频域离散采样点序号,k=0,1,...,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
作为更进一步的解决方案,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,k),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱。
当db_flag(l-1)==far_talk_only时,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制:
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
作为更进一步的解决方案,所述递归神经网络RNN通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
作为更进一步的解决方案,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
作为更进一步的解决方案,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
一种基于神经网络双讲检测的回声消除系统,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如上任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
与相关技术相比较,本发明提供的一种基于神经网络双讲检测的回声消除方法具有如下有益效果:
1、本发明通过使用双讲检测结果控制线性前处理中自适应滤波器的更新与否;当检测到远端无人声信号时,停止更新自适应滤波器。防止双讲状态或是远端仅存在环境噪声时自适应滤波器由于受到扰动偏离稳定点而发散;
2、本发明通过使用双讲检测结果控制非线性后处理中对于回声的最大抑制量,在检测到近端与远端人耳同时讲话时,结合人耳的听觉掩蔽效应估算出能够掩蔽残留回声所需的最大抑制量。在保留近端有用信号失真度小的同时,残留回声也得到有效抑制;在检测到仅有远端人耳信号单讲时,提升对残留回声信号的抑制,使得残留回声能被彻底去除干净;
3、本发明通过神经网络技术进行远端、近端人声双讲检测,有效解决了现有的双讲检测方案鲁棒性差、检测准确率不高的问题;使用有限状态机控制远端、近端人声检测状态,提升鲁棒性。
附图说明
图1为本发明实施例提供的一种基于神经网络双讲检测的回声消除方法的较佳流程图;
图2为本发明实施例提供的一种基于神经网络双讲检测的回声消除方法的原理图;
图3为本发明实施例提供的线性自适应滤波处理的较佳流程示意图;
图4为本发明实施例提供的RNN双讲检测的较佳流程示意图;
图5为本发明实施例提供的RNN双讲检测模型训练的较佳流程示意图;
图6为本发明实施例提供的构建训练样本的较佳流程示意图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
如图1与图2所示,本实施例提供的一种基于神经网络双讲检测的回声消除方法,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理。
具体的,输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,…表示数据块序号,n=0,1,2,…,n表示每个数据块样点序号,N是每个数据块样点总数。
具体的,如图4所示,RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节。
具体的,线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数通过滤波器系数计算自适应更新后的残差信号el(n)。
具体的,非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n)。
具体的,输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
需要说明的是:如图1所示,本实施例所提供的一种基于神经网络双讲检测的回声消除方法,将麦克风信号与参考信号作为声学回声消除问题的输入信号,此处麦克风信号与参考信号认为是已经经过模数转换(A/D)的数字信号流。在声学回声消除问题中,常常提到的近端与远端人声信号分别对应于麦克风信号与参考信号中的人声信号。
麦克风信号与参考信号将经过输入缓冲区得到分块待处理的输入信号数据块。两路原始音频将会被输入主处理流程输入缓冲区,输入缓冲区将连续的输入数据流分为等长的数据块,以备后续处理。分块的麦克与参考音信号经过线性自适应滤波处理后,输出的信号为已去除线性回声的麦克风信号。非线性后处理模块用于进一步去除麦克风信号中线性残留回声与非线性残留回声信号。非线性后处理模块常用的方法有基于相关性残留回声估计法、结合非线性模型建模类似volterra滤波的方法或是神经网络的方法,这里为说明问题以相关性残留回声估计方法为例。非线性后处理模块的输出信号为已经去除了线性回声与非线性残留回声的信号。
本实施例还使用RNN神经网络双讲检测用于提升前述线性自适应滤波模块与非线性后处理模块的稳定性进而提升回声消除系统的整体性能。RNN神经网络双讲检测输入信号为非线性后处理模块的输出信号与参考音数据块信号。RNN神经网络双讲检测模块使用两路独立的递归神经网络(recursive neural network,RNN)分别对两路输入进行人声检测获得人声检测标志(1表示检测到人声说话,0表示当前为噪声信号或未检测到人声说话)。然后基于一个状态机控制获得双讲检测结果并输出。双讲检测模块结果将被线性自适应滤波模块与非线性后处理模块用到。去除回声后的麦克信号块将进入输出缓冲区重新得到连续的音频数据流进行输出。
作为更进一步的解决方案,如图3所示,所述线性自适应滤波处理通过如下步骤进行:
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
需要说明的是:可变步长因子μl(n)根据线性滤波输出的残差中残留回声大小自动调整步长,用于加快滤波器收敛速度、防近端人声说话时造成滤波器的扰动。
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,…,N]。
作为更进一步的解决方案,所述可变步长因子μl(n)通过如下公式计算:
作为更进一步的解决方案,滤波器系数自适应更新通过如下公式计算:
其中,db_flag(l-1)表示RNN双讲检测模块给出的前一帧双讲检测状态信息对应的双讲检测状态结果;far_talk_only表示仅有远端人声讲话;else表示当双讲检测结果不为for_talk_omly时,停止更新滤波器;ε为正则化因子。
作为更进一步的解决方案,非线性后处理基于相关性原理估算出残差中的残留回声并结合人耳听觉掩蔽效应控制双讲阶段最大残留回声抑制量,有效防止近端人声信号损伤失真。同时对于仅有远端人声单讲时,给予加大回声抑制量,彻底去除残留回声。所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱残差信号能量谱Pe(l,k)与回声信号其中,k表示频域离散采样点序号,k=0,1,…,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
作为更进一步的解决方案,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
根据人耳听觉掩蔽特性,当两个同频率的声音同时出现时,能量较大的声音会掩蔽掉能量较小的声音,这样人耳感知的声音将是较大能量的声音。据此,当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱。
当db_lag(l-1)==far_talk_only时,即只有远端人声单讲时,需要加大对残留回声的抑制,彻底去除残留回声,获得更好的用户体验,故需要设置更大的抑制量,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制,这个抑制量比db_lag(l-1)==doble_talk时的抑制量还打,其具体值为经验值,是预设的。
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
需要说明的是:使用上述最大回声抑制db量可以有效防止对近端语音损伤,同时保留对残留回声的有效抑制功能。
作为更进一步的解决方案,如图5所示,所述递归神经网络RNN(recursive neuralnetwork,RNN)通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
作为更进一步的解决方案,如图6所示,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
作为更进一步的解决方案,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
一种基于神经网络双讲检测的回声消除系统,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如上任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于神经网络双讲检测的回声消除方法,其特征在于,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理;
输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,...表示数据块序号,n=0,1,2,...,n表示每个数据块样点序号,N是每个数据块样点总数;
RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节;
线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数通过滤波器系数计算自适应更新后的残差信号el(n);
非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n);
输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
2.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述线性自适应滤波处理通过如下步骤进行:
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,...,N]。
5.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱残差信号能量谱Pe(l,k)与回声信号其中,k表示频域离散采样点序号,k=0,1,...,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
6.根据权利要求5所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,k),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱;当db_flag(l-1)==far_talk_only时,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制:
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
7.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述递归神经网络RNN通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
8.根据权利要求7所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
9.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
10.一种基于神经网络双讲检测的回声消除系统,其特征在于,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如权利要求1至权利要求9中任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210888604.9A CN115457928A (zh) | 2022-07-27 | 2022-07-27 | 一种基于神经网络双讲检测的回声消除方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210888604.9A CN115457928A (zh) | 2022-07-27 | 2022-07-27 | 一种基于神经网络双讲检测的回声消除方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115457928A true CN115457928A (zh) | 2022-12-09 |
Family
ID=84296466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210888604.9A Pending CN115457928A (zh) | 2022-07-27 | 2022-07-27 | 一种基于神经网络双讲检测的回声消除方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115457928A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116386655A (zh) * | 2023-06-05 | 2023-07-04 | 深圳比特微电子科技有限公司 | 回声消除模型建立方法和装置 |
CN117437929A (zh) * | 2023-12-21 | 2024-01-23 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于神经网络的实时回声消除方法 |
-
2022
- 2022-07-27 CN CN202210888604.9A patent/CN115457928A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116386655A (zh) * | 2023-06-05 | 2023-07-04 | 深圳比特微电子科技有限公司 | 回声消除模型建立方法和装置 |
CN116386655B (zh) * | 2023-06-05 | 2023-09-08 | 深圳比特微电子科技有限公司 | 回声消除模型建立方法和装置 |
CN117437929A (zh) * | 2023-12-21 | 2024-01-23 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于神经网络的实时回声消除方法 |
CN117437929B (zh) * | 2023-12-21 | 2024-03-08 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于神经网络的实时回声消除方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109727604B (zh) | 用于语音识别前端的频域回声消除方法及计算机储存介质 | |
CN109841206B (zh) | 一种基于深度学习的回声消除方法 | |
US8594320B2 (en) | Hybrid echo and noise suppression method and device in a multi-channel audio signal | |
US7742592B2 (en) | Method and device for removing echo in an audio signal | |
CN108172231B (zh) | 一种基于卡尔曼滤波的去混响方法及系统 | |
CN115457928A (zh) | 一种基于神经网络双讲检测的回声消除方法及系统 | |
Ma et al. | Acoustic echo cancellation by combining adaptive digital filter and recurrent neural network | |
CN104883462B (zh) | 一种用于消除声学回声的自适应滤波器及滤波方法 | |
US11373667B2 (en) | Real-time single-channel speech enhancement in noisy and time-varying environments | |
CN111213359B (zh) | 回声消除器和用于回声消除器的方法 | |
CN104506746B (zh) | 一种改进的凸组合解相关成比例自适应回声消除方法 | |
CN112689056B (zh) | 一种回声消除方法及使用该方法的回声消除装置 | |
Hamidia et al. | A new robust double-talk detector based on the Stockwell transform for acoustic echo cancellation | |
CN109102794A (zh) | 基于凸组合的m估计成比例类仿射投影的回声消除方法 | |
Schwarz et al. | A two-channel reverberation suppression scheme based on blind signal separation and Wiener filtering | |
Peng et al. | ICASSP 2021 acoustic echo cancellation challenge: Integrated adaptive echo cancellation with time alignment and deep learning-based residual echo plus noise suppression | |
Jayakumar et al. | An integrated acoustic echo and noise cancellation system using cross-band adaptive filters and wavelet thresholding of multitaper spectrum | |
Schmid et al. | An expectation-maximization algorithm for multichannel adaptive speech dereverberation in the frequency-domain | |
Yang | Multilayer adaptation based complex echo cancellation and voice enhancement | |
CN113409810B (zh) | 一种联合去混响的回声消除方法 | |
US11984110B2 (en) | Heterogeneous computing for hybrid acoustic echo cancellation | |
Shraddha et al. | Noise cancellation and noise reduction techniques: A review | |
CN102655558B (zh) | 一种双端发音鲁棒结构及其消除声学回声的方法 | |
Lu et al. | A computationally efficient semi-blind source separation approach for nonlinear echo cancellation based on an element-wise iterative source steering | |
Hong et al. | Wiener filter-based echo suppression and beamforming for intelligent TV interface |
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 |