CN109979476B - 一种语音去混响的方法及装置 - Google Patents
一种语音去混响的方法及装置 Download PDFInfo
- Publication number
- CN109979476B CN109979476B CN201711460558.8A CN201711460558A CN109979476B CN 109979476 B CN109979476 B CN 109979476B CN 201711460558 A CN201711460558 A CN 201711460558A CN 109979476 B CN109979476 B CN 109979476B
- Authority
- CN
- China
- Prior art keywords
- frame
- voice signal
- spectrum vector
- signal
- frequency point
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 239000013598 vector Substances 0.000 claims abstract description 886
- 238000001228 spectrum Methods 0.000 claims abstract description 812
- 239000011159 matrix material Substances 0.000 claims abstract description 186
- 238000001514 detection method Methods 0.000 claims abstract description 48
- 230000002238 attenuated effect Effects 0.000 claims abstract description 8
- 230000003595 spectral effect Effects 0.000 claims description 249
- 238000004590 computer program Methods 0.000 claims description 89
- 230000001427 coherent effect Effects 0.000 claims description 64
- 239000000126 substance Substances 0.000 claims description 55
- IAZDPXIOMUYVGZ-UHFFFAOYSA-N Dimethylsulphoxide Chemical compound CS(C)=O IAZDPXIOMUYVGZ-UHFFFAOYSA-N 0.000 claims description 37
- 238000009499 grossing Methods 0.000 claims description 34
- 230000021615 conjugation Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 abstract description 17
- 238000004891 communication Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 35
- 238000001914 filtration Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000001755 vocal effect Effects 0.000 description 5
- 230000009191 jumping Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Images
Classifications
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明提供一种语音去混响的方法及装置。该语音去混响的方法,包括:获取麦克风阵列捕获的每帧语音信号的频谱矢量;根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;根据第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。上述方案,实现了语音信号的实时处理,降低了计算量,减低了噪音对语音信号的影响,提高了语音通信系统和ASR的性能。
Description
技术领域
本发明涉及语音信号处理技术领域,特别涉及一种语音去混响的方法及装置。
背景技术
语音信号在室内会发生混响效应,这一混响的语音通常严重地降低了通信系统中语音可懂度和自动语音识别系统(ASR)中语音正确识别率。
对于现有的去混响技术均有各自的技术缺陷,尤其是在利用离线WPE进行语音处理时,其不能实时处理语音信号、计算量较大、易受噪声影响,无法改善和提高语音通信系统和ASR的性能。
发明内容
本发明实施例提供一种语音去混响的方法及装置,以解决在利用离线WPE进行语音处理时,因不能实时处理语音信号、计算量较大、易受噪声影响,无法改善和提高语音通信系统和ASR的性能。
为了解决上述技术问题,本发明实施例提供一种语音去混响的方法,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量;
根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。
进一步地,所述获取麦克风阵列捕获的每帧语音信号的频谱矢量的步骤,包括:
获取麦克风阵列实时捕获的语音信号;
对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
进一步地,所述根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点的步骤,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
进一步地,所述获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比的步骤,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述获取检测频点处的每帧语音信号的频谱矢量的幅值权重的步骤,包括:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值的步骤,包括:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的步骤,包括:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;n=1,2,…,N,且N为捕获语音信号的麦克风总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的步骤,包括:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的步骤,包括:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比的步骤,包括:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差;k为信号帧索引变量,k=1,2,…,K,且K为总信号帧数。
进一步地,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
进一步地,所述麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和的获取方式为:
其中,为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,包括:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
进一步地,所述获取卡尔曼增益的步骤,包括:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号的获取方式为:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;n=1,2,…,N,且N为捕获语音信号的麦克风总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述麦克风阵列捕获的语音信号的功率的获取方式为:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,在所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新之后,还包括:
其中,为第k帧相关矩阵的逆矩阵;为第k-1帧相关矩阵的逆矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新的步骤,包括:
其中,Wm[k]为更新后的预测系数矩阵;Wm[k-1]为更新前的预测系数矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为去混响后的第一语音信号频谱矢量;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号的步骤,包括:
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
本发明实施例还提供一种语音去混响的装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述计算机程序时实现以下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量;
根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列实时捕获的语音信号;
对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;n=1,2,…,N,且N为捕获语音信号的麦克风总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差;k为信号帧索引变量,k=1,2,…,K,且K为总信号帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;n=1,2,…,N,且N为捕获语音信号的麦克风总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第k帧相关矩阵的逆矩阵;为第k-1帧相关矩阵的逆矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Wm[k]为更新后的预测系数矩阵;Wm[k-1]为更新前的预测系数矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为去混响后的第一语音信号频谱矢量;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的语音去混响的方法。
本发明实施例还提供一种语音去混响的装置,包括:
第一获取模块,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量;
第二获取模块,用于根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取更新模块,用于获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
第三获取模块,用于获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
第四获取模块,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。
进一步地,所述第一获取模块,包括:
第一获取子模块,用于获取麦克风阵列实时捕获的语音信号;
第二获取子模块,用于对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
进一步地,所述第二获取模块,包括:
第三获取子模块,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
第四获取子模块,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
标记子模块,用于在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
进一步地,所述第三获取子模块,包括:
第一获取单元,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
第二获取单元,用于根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述获取检测频点处的每帧语音信号的频谱矢量的幅值权重的方式为:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值的方式为:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方式为:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;n=1,2,…,N,且N为捕获语音信号的麦克风总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的方式为:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的方式为:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第二获取单元用于:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差;k为信号帧索引变量,k=1,2,…,K,且K为总信号帧数。
进一步地,所述第四获取子模块,包括:
第三获取单元,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
第四获取单元,用于根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述第三获取单元用于:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
进一步地,所述麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和的获取方式为:
其中,为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的方式为:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第四获取单元用于:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量的方式为:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新的方式,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
进一步地,所述获取卡尔曼增益的方式为:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号的获取方式为:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;n=1,2,…,N,且N为捕获语音信号的麦克风总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述麦克风阵列捕获的语音信号的功率的获取方式为:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,在所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新之后,还包括:
其中,为第k帧相关矩阵的逆矩阵;为第k-1帧相关矩阵的逆矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新的方式为:
其中,Wm[k]为更新后的预测系数矩阵;Wm[k-1]为更新前的预测系数矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为去混响后的第一语音信号频谱矢量;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第四获取模块,包括:
第五获取子模块,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
第六获取子模块,用于根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
本发明的有益效果是:
上述方案,实现了语音信号的实时处理,降低了计算量,减低了噪音对语音信号的影响,提高了语音通信系统和ASR的性能。
附图说明
图1表示线性预测残差增强法示意图;
图2表示直接型逆滤波法去混响方法示意图;
图3表示MMSE/LS法去混响方法示意图;
图4表示“延时-相加”型波束赋型器的结构示意图;
图5表示“滤波-相加”型波束赋型器的结构示意图;
图6表示单输入-多输出(SIMO)声学系统中MINT方法去语音混淆效应的示意图;
图7表示本发明实施例的语音去混响的方法的流程示意图;
图8表示本发明实施例的语音去混响的方法的系统框架图;
图9表示本发明实施例的语音去混响的装置的模块示意图;
图10表示本发明实施例的语音去混响的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
目前语音去混响处理技术按照其算法处理所遵循的准则,通常可分为三类,即:基于声源模型的去混响技术、基于同态变换的去混响技术和基于声道(acoustic channel)逆滤波和均衡的去混响技术。
基于声源模型的去混响技术是通过利用有关纯净语音信号的结构以及该信号在室内混响情况下是如何畸变等先验信息,来计算该纯净语音信号的估计。这类技术中的典型算法有线性预测(LP)残差增强法、谐波滤波发和基于语音概率模型的去混响法。线性预测残差增强法的主要思想是:根据语音的产生模型可知,语音信号时由一脉冲串或随机噪声激励一个全几点滤波器而产生的;而混响信号(即麦克风捕获信号)则可模型化为语音源信号与声学信号(即声源至麦克风的声学路径)冲击响应的卷积;通常声学信道模型化为有限冲激响应(FIR)滤波,其传递函数仅含若干零点,因此室内混响在麦克风接收信号中仅引入零点,并由此仅影响到语音产生模型中激励信号的特性,而对模型中全极点滤波器毫无影响。鉴于有声语音的激励(即LP残差信号)是结构良好的脉冲串,在室内混响情况下该结构将变得模糊,那么根据这一特点我们可清晰地辨别混响效应并予以减弱或消除。具体做法如图1所示,其中首先对麦克风信号进行LP分析而获得其残差信号和LP系数,然后对该LP残差信号进行增强处理已恢复其良好的结构特性,最后用LP系数对增强的残差信号进行合成处理而获得去混响的语音。
谐波滤波法的主要思想根源于一个心理声学的事实,即:谐波结构是语音的一个重要属性,特别是有声语音,其激励是通过震动声带而产生的;在频域里,有声语音的频谱有一个基频F0(即基音,pitch)及其一系列谐波构成的,只要谐波频率精确地为基频的整数倍,语音听起来就清晰悦耳;然而在混响环境中,非谐波成分的引入,使得语音听起来有些粗糙刺耳或沙哑。通过抑制混响语音中的非谐波成分来重现语音的良好谐波结构,以便减小混响效应。在该算法中,首先准确地估计出混响语音信号的基频F0,然后从有声的语音频谱中抽取基频F0的谐波分量来形成增强的语音频谱;通过比较该增强的语音频谱和其对应的混响语音频谱,来计算去混响滤波器的系数;对不同的有声语音段求得的去混响滤波器进行平均处理而获得一个最终使用的去混响滤波器,用之对整个混响语音进行滤波处理,从而获得去混响的语音信号。
而麦克风信号x(n)可用公式三表示为:
公式三:x(n)=s(n)*h+b(n)
在E-步骤,算法用当前估计的声道参数和麦克风信号来计算源语音信号的期望值,如公式五所示:
在M-步骤,算法运用E-步骤获得的数据来确定声道参数的最大似然估计,如公式六所示:
EM算法不断地进行上述公式五和公式六的迭代运算,直到收敛为止。
另一类去混响技术是基于同态变换这一重要的信号处理方法,该方法将非加性混合的信号变换到一个矢量空间,变换后的信号在这一空间中呈现加性混跌。对于源语音信号与声道冲击响应卷积产生的混响信号,倒谱分析是广为应用的同态变换。设有信号x(n),其复倒谱xc(n)如公式七的定义:
公式七:xc(n)=IFFT{ln[FFT{x(n)}]}
这里FFT{·}和IFFT{·}分别是快速傅里叶变换及其逆变换。
对于x(n)=h*s(n)的混响信号,在其倒谱域我们可知:
公式八:xc(n)=hc+sc(n)
据此我们可用线性滤波技术来分离sc(n)和hc。
此外,基于声道逆滤波和均衡的去混响技术,作为一类完美的语音去混响技术,一直具有诱人技术前景,其中用于单声道系统的直接型逆滤波和最小均方误差(MMSE)/最小二乘(LS)法以及用于多声道系统的波束赋型和多-输入/输出逆理论(MINT)法较为典型。对于单声道系统,直接型逆滤波法假定其冲击响应h(其传递函数为H(z))已知或已被估计出,那么用于去混响的均衡滤波器传递函数G(z)由下式确定,其系统框图如图2所示。
在实际实现时,该逆滤波器g必须是稳定因果的,因而要求h(n)必须是最小相位系统,然而不幸的是室内声学冲击响应通常都是非最小相位系统。假设源语音参考信号s(n)可资用,那么直接应用一个线性均衡器g来滤波麦克风信号x(n),并运用MMSE/LS调节均衡器g的系数,使得g的输出尽可能地接近参考信号s(n),如图3所示,其中误差信号e(n)由公式十定义:
这里D为均衡器的决策时延,*为线性卷积运算。那么均衡器的系数g则由公式十一和公式十二确定:
其中N为观察样本数。MMSE/LS去混响均衡器并不要求声道传递函数是最小相位系统。
波束赋型器是一个空间滤波器,它运行于麦克风阵列,以增强来自预定方向的信号同时抑制来自其它方向的声学传播,由此可降低语音信号的室内混响效应。波束赋型器主要有二种类型:“延时-相加”型和“滤波-相加”型,如图4和图5所示。对“延时-相加”型波束赋型器,其目标语音的估如公式十三所示:
其中xm为第m个麦克风接收信号,gm和τm分别是标量因子和延时因子,延时因子的选择准则是使不同麦克风信号经该因子延时后在相位上对齐。“延时-相加”型波束赋型器虽然简单,但并不十分有效应用于语音去混响技术,因为其本身是一个窄带赋型器,而语音是一个典型的宽带信号。在“滤波-相加”型波束赋型器中,每个麦克风信号xm(n)首先经过一个线性滤波器gm作滤波处理,然后再将每个滤波处理后的信号相加起来形成去混响信号,即:
这里*表示为线性卷积运算。
“滤波-相加”型波束赋型器可较好地工作于像语音这样的宽带信号,其滤波器的设计通常采用数据独立或数据驱动技术来实现。
用于多声道系统的MINT去混响方法主要思想是:对一个单输入多输出系统(SIMO),考虑这样的多项式Gm(z)(m=1,2,…,M)和下述方程式(即公式十五):
公式十五:
其中S(z)是目标源语音信号的z变换,Hm(z)是信号源到第m个麦克风的声道传递函数,Xm(z)和Bm(z)分别是第m个麦克风的接收信号和背景噪声的z变换。
公式十六:
其中gcd{·}代表所涉及的相关多项式的最大公约数。换言之,只要声道冲击响应hm(m=1,2,…,M)是互质的(尽管可能不是最小相位系统)即SIMO系统是不可约的,那么必定存在一组滤波器(m=1,2,…,M),它们可以完全消除混响效应,完美恢复目标源语音信号。若SIMO系统的声道间有共同的零点,即存在公式十七:C(z)=gcd{H1(z),H2(z),…,HM(z)}≠1
那么可以得到公式十八:Hm(z)=C(z)H′m(z),m=1,2,…,M
由此我们求解多项式Gm(z),m=1,2,…,M,使得它们满足下式:
在此情况下,公式十五可以如下表示:
由此可见,通过应用Bezout定理,可约得SIMO系统被多项式C(z)均衡化。因此在多声道间存在共同零点的情况下,MINT均衡器仅能部分地抑制混响效应;而要全面消除室内混响效应,必须用MMSE/LS或直接型逆滤波法来克服C(z)的影响。
MINT均衡滤波器的设计可按下述方法进行:公式十六对应的时域表达式可表征为:
公式二十五:
其中,公式二十五为一个(Lg+Lh-1)×Lg卷积矩阵。
根据上述公式可知,公式二十一的解如下:
其中,Hc+=(HcTHc)-1HcT为矩阵Hc的伪逆。如果考虑决策的时延D,那么MINT均衡滤波器则为:
其中,公式二十九为一个(Lg+Lh-1)×1列矢量,其中第D+1个元素为1而其它全为0。图6给出了SIMO声学系统MINT去混响方法的示意图。
近年来,有关学者提出了采用加权预测误差(Weighted Prediction Error,WPE)进行去混响的方法,该方法假设混响过程符合自回归模型,那么麦克风采集的语音信号的混响成分可以通过以前的语音信号预测得到,然后通过估计预测误差得到去混响信号。假定声源所发出的声音被N个麦克风捕获,即:
其中yn,m[k]为第n个麦克风接收信号的第k帧FFT变换中第m个频点的谱线,n=1,2,…,N;m=1,2,…,M(这里M为频点总数);k=0,1,2,…。
假定麦克风采集的语音信号的混响成分可以通过以前的语音信号预测得到,那么去混响信号可以由下述公式得到:
公式三十一中,Wm[k]为N×N·N′预测系数矩阵,它满足使下式代价函数最小化:
求解公式三十四可得:
这里,Λm 2[k]代表功率,由下式定义:
上述WPE算法为离线算法,需等待语音信号全部捕获完毕后,方可进行去混响处理。
综上所述,现有去混响技术均有各自的技术缺陷,对基于声源模型的去混响技术而言,LP残差增强法至多可以消去混响效应中强混响分量,但对于声学冲击响应尾部引发的弱混响分量却无能为力(而这弱混响分量有害于语音的可懂度),并且该算法处理时引入了畸变,使得处理后的语音听起来不自然。谐波滤波法由于消除了语音和混响的非谐波成分而忽略了混响对谐波成分的影响,因而处理后的语音听起来有畸变;此外,该方法只用于离线处理,无法实时在线实现。而基于语音概率模型的去混响法实际上采用高阶统计量(HOS)来估计声道的冲击响应,然而计算可靠的HOS需要大量数据样本和繁重的计算复杂度,从而使该算法难以在实际中实时实现。基于同态变换的去混响技术源于语音识别研究机构,其去混响能力的报道仅限于语音识别的应用,在算法去混响性能上其一致性较差,并且在处理后的语音中引入新的畸变。在基于声道逆滤波和均衡的去混响技术中,业已指出直接型逆滤波法需对声道冲击响应进行估计,并且要求声道冲击响应必须是最小相位系统,但实际中这一条件不满足;而MMSE/LS法虽然不需对声道冲击响应进行估计,并且也无需对其加以最小相位系统的约束,但它则需要一个目标源语音的参考信号,而这一参考信号在实际中难以获取。麦克风阵列波束赋型器应用于语音型的宽带信号去混响时,其性能实际中受限于诸多因素,其中混响环境下如何处理和对待近场目标声源问题仍缺乏满意的解决方案,即便是一个分析使用的合适框架。SIMO声学系统中MINT去混响方法虽然在理论上可以完美地消去室内混响效应即使声道冲击响应不是最小相位系统,但实际中它非常敏感于在进行声道冲击响应估计时所产生的估计误差,因而仅适用于小背景噪声环境下使用。离线WPE算法不能实时在线处理语音信号,计算量较大,且预测系数矩阵易受无语音段噪声影响,难以实际应用。
针对离线WPE不能实时处理语音信号、计算量较大、易受噪声影响的问题,本发明实施例提出了一种新的去混响方法,其主要思想是:该方法将现有的“离线”(off-line)形式的WPE算法推广至“在线”(on-line)实现形式,从而降低WPE的计算复杂度,以便满足实时应用的要求;针对离线WPE算法易受噪声影响的问题,本发明提出这样一种改善方案:对接收的每帧信号进行语音端点检测(Voice Activity Detection,VAD),在VAD标记为语音的信号帧中,应用在线WPE算法来更新预测系数矩阵,并计算其线性预测误差,从而获得去混响语音的频谱;而在VAD标记为无语音的信号帧中,无需应用WPE算法来更新预测系数矩阵,这时可直接用一个(0-1之间)的固定系数对该帧信号频谱进行衰减,以达对混响和噪声的进一步抑制。
下面分别对本发明实施例所用到的在线WPE算法原理以及VAD检测算法原理说明如下。
一、在线WPE算法原理的实现
离线WPE算法需等待整段语音采集完毕后,方可进行处理。其所产生的延迟对于通信系统和ASR系统均是不可容忍的。因此将离线WPE算法修改为在线WPE算法,对实时性要求较高的应用而言是十分重要和必要的。定义每一步的预测误差如公式三十九所示:
将公式三十九最小化可得预测系数矩阵的最佳解为:
其中,Km[k]是卡尔曼增益,它由公式四十五定义。
将公式四十五和公式四十二带入公式四十,得Wm[k]在线更新公式如公式四十六所示。
其中,H为共轭转置算子。
二、VAD检测算法原理的实现
VAD技术的研究由来已久,有关学者和工程技术人员相继提出了诸多技术方法。然而,现有的这些方法均存在漏检概率大的缺陷,特别是低信噪比(SNR)情况下。本发明提出一种新的VAD方法,能可靠地检测出语音信号;其主要思想是来源于这样的考虑,既然功率分布的聚集程度可以通过香农熵(以下简称为熵)来体现,而语音信号功率呈现明显的聚集特性,因此语音信号帧的熵值会明显低于噪声信号帧的熵值;此外,语音信号帧的熵值变化范围较广,故其均方差较大,而噪声信号帧的熵值变化范围较小,故其均方差较小。由此可见,信号帧的熵值对其熵方差的比,可用作鉴别信号帧是语音帧还是噪声帧的一个特征参数。此外,语音信号具有短时平稳性,其相邻帧的频谱信号间相关性较高,而噪声相邻帧的频谱信号间相关性则通常较小。因此,相邻帧的频谱信号幅度相干系数也可用作鉴别信号帧是否为语音帧的另一种特征参数。
具体地,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值,由下式可获取得到。
其中,公式四十八中pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重,由下式获取得到。
公式五十:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]
这里0<λ<1为平滑系数。
由上述可得到VAD的第一特征参数(即麦克风阵列捕获的语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比)可由下式表述,即:
另一方面,当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数(ρm[k])可由下式定义,即:
具体地,公式五十三中的Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差,由公式五十六定义,即:
公式五十六:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}
那么VAD的第二特征参数(即当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方)由公式五十七定义,即:
公式五十七:C2[k,m]=|ρm[k]|2
在得到第一特征参数和第二特征参数后,便可依据这两个参数,确定某一帧上的某频点是否为语音,即当第一特征参数小于第一门限参数(可用Th1表示)且第二特征参数大于第二门限参数(可用Th2表示)时,则将该信号帧的这一频点标记为语音,否则标记为噪音。
这里需要说明的是,本发明实施例中所提到的n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
具体地,如图7所示,本发明实施例的语音去混响的方法,包括:
步骤71,获取麦克风阵列捕获的每帧语音信号的频谱矢量;
步骤72,根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
需要说明的是,该第一频点中包含至少一个检测结果为语音的信号帧的频点,且该第二频点中包含至少一个检测结果为非语音的信号帧的频点。
步骤73,获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
步骤74,获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
步骤75,根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号;
需要说明的是,步骤75的具体实现方式为根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
具体地,所述步骤71的实现方式为:获取麦克风阵列实时捕获的语音信号;对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
具体地,步骤72的实现过程包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
具体地,所述获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比的步骤,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述获取检测频点处的每帧语音信号的频谱矢量的幅值权重的步骤,包括:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线。
进一步地,所述根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值的步骤,包括:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重。
进一步地,所述根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的步骤,包括:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
具体地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的步骤,包括:
根据公式五十:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的步骤,包括:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值。
进一步地,所述根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比的步骤,包括:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差。
进一步地,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
具体地,所述麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和的获取方式为:
进一步地,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线。
进一步地,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式五十六:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线。
进一步地,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和。
进一步地,所述根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
根据公式五十七:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数。
综上所述,VAD算法的具体实现流程为:
步骤1---开始,并初始化参数:
设置第一门限参数Th1和第二门限参数Th2,设置输入信号帧序号k=0;
步骤2---更新信号帧序号:k=k+1;对所有频点m(m=1,2,…,M),作下述处理:
步骤2.2)根据公式四十七至五十二计算VAD第一特征参数C1[k];
步骤2.3)根据公式五十三至五十七计算VAD第二特征参数C2[k,m];
步骤3---给第k帧信号作标记:
如果C1[k]<Th1并且C2[k,m]>Th2,则将该帧信号在频点m处标记为语音;
否则,则将该帧信号在频点m处标记为噪声
步骤4---输入信号结束否?如果是,则跳转到步骤5,否则,跳转到步骤2;
步骤5---VAD处理结束。
具体地,本发明实施例中的所述获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量的具体实现方式为:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号。
进一步地,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
具体地,所述获取卡尔曼增益的步骤,包括:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1。
具体地,所述麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号的获取方式为:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述麦克风阵列捕获的语音信号的功率的获取方式为:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线。
进一步地,在所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新之后,还包括:
进一步地,所述根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新的步骤,包括:
具体地,上述所说的在线WPE去混响算法的具体实现过程为:
步骤1---处理开始并初始化:
初始化常数参数:0<α<1,γ>>1,帧序号k=0;
步骤2---更新:对所有m=1,2,…,M,作下述处理:
步骤2.1)更新信号帧序号k:k=k+1;
步骤2.3)根据公式四十五计算Km[k];
步骤2.5)根据公式四十六更新预测系数矩阵Wm[k];
步骤2.7)去混响处理是否结束?如果是,则跳转步骤3;否则,则跳转步骤2;
步骤3---处理结束。
综上所述,本发明提出的实时在线去混响算法的系统框图如图8所示。
首先进行初始化初始化,即初始化VAD算法和在线WPE算法的相关参数;设置信号帧序号k=0;然后利用频谱计算器对N路信道各读取一信号帧,应用FFT生成所需的频谱矢量数据;然后利用VAD检测标记器调用VAD算法模块给当前信号帧k予以语音或噪声的标记,并输出标记;判断输出的标记是否为语音,若为语音,则利用在线WPE处理器对当前信号帧k,调用在线WPE算法模块更新预测系数矩阵,并计算和输出去混响信号;若不为语音,则利用衰减器不更新更新预测系数矩阵,而对当前信号帧k的频谱,直接乘以一个衰减因子,并据此逆变换回时域输出其信号;执行完此帧的运算后,判断输入信号是否结束,若还有输入信号,则执行k=k+1,在对下一帧语音信号进行处理,若没有输入信号了,则结束算法流程。
综上所述,本发明实施例相对现有技术的主要优点是:
A、本发明实施例提出的去混响算法可实时在线实现;
B、由于算法仅在语音段对相应的传输函数(即预测系数矩阵)进行更新,因而其计算量降低,同时增强了算法对噪声或干扰的鲁棒性;
C、由于采用语音信号熵特征与相关特性相结合进行VAD,从而有效减少了漏检现象,为算法及时准确地进行相应的传输函数更新提供了可靠的保障;
D、基于上述VAD检测结果,本发明实施例提出的方法对无语音段的频谱幅值乘以固定系数,从而简单而有效地抑制了混响和噪声信号。
如图9所示,本发明实施例还提供一种语音去混响的装置90,包括:
第一获取模块91,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量;
第二获取模块92,用于根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取更新模块93,用于获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
第三获取模块94,用于获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
第四获取模块95,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。
具体地,所述第一获取模块91,包括:
第一获取子模块,用于获取麦克风阵列实时捕获的语音信号;
第二获取子模块,用于对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
进一步地,所述第二获取模块92,包括:
第三获取子模块,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
第四获取子模块,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
标记子模块,用于在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
具体地,所述第三获取子模块,包括:
第一获取单元,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
第二获取单元,用于根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述获取检测频点处的每帧语音信号的频谱矢量的幅值权重的方式为:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值的方式为:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方式为:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;n=1,2,…,N,且N为捕获语音信号的麦克风总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的方式为:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的方式为:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第二获取单元用于:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差;k为信号帧索引变量,k=1,2,…,K,且K为总信号帧数。
进一步地,所述第四获取子模块,包括:
第三获取单元,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
第四获取单元,用于根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述第三获取单元用于:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
进一步地,所述麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和的获取方式为:
其中,为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的方式为:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第四获取单元用于:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量的方式为:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新的方式,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
进一步地,所述获取卡尔曼增益的方式为:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号的获取方式为:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;n=1,2,…,N,且N为捕获语音信号的麦克风总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述麦克风阵列捕获的语音信号的功率的获取方式为:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,在所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新之后,还包括:
其中,为第k帧相关矩阵的逆矩阵;为第k-1帧相关矩阵的逆矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新的方式为:
其中,Wm[k]为更新后的预测系数矩阵;Wm[k-1]为更新前的预测系数矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为去混响后的第一语音信号频谱矢量;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述第四获取模块,包括:
第五获取子模块,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
第六获取子模块,用于根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
需要说明的是,该装置的实施例是与上述方法实施例一一对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图10所示,本发明实施例还提供一种语音去混响的装置,包括存储器101、处理器102及存储在所述存储器101上并可在所述处理器上运行的计算机程序,且所述存储器91通过总线接口103与所述处理器102连接;其中,所述处理器102执行所述计算机程序时实现以下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量;
根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列实时捕获的语音信号;
对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;pn,m[k]为第k帧第m个频点处的语音信号的频谱矢量的幅值权重;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;Hn,Y[k]为第k帧第n个麦克风捕获的语音信号的频谱矢量的香农熵值;n=1,2,…,N,且N为捕获语音信号的麦克风总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第k帧麦克风阵列信号谱矢量的香农熵值的方差;为第k-1帧麦克风阵列信号谱矢量的香农熵值的方差;μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,C1[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;HY[k]为麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值;为第k帧麦克风阵列信号谱矢量的香农熵值的方差;k为信号帧索引变量,k=1,2,…,K,且K为总信号帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差;为第n个麦克风接收信号的第k-1帧快速傅氏变换中第m个频点的谱线的方差;yn,m[k]*为yn,m[k]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;为麦克风阵列捕获的语音信号的第k帧第m个频点的谱线的方差和;为麦克风阵列捕获的语音信号的第k-1帧第m个频点的谱线的方差和;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为去混响后的第一语音信号频谱矢量;为麦克风阵列捕获到的语音信号的频谱矢量;为Wm[k-1]的共轭转置矩阵;Wm[k-1]为第k-1帧的语音信号的频谱矢量的预测系数矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Km[k]为卡尔曼增益;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;为的共轭转置矩阵;为第K-1帧信号的相关矩阵的逆矩阵;Λm 2[k]为麦克风阵列捕获的语音信号的功率;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数;n=1,2,…,N,且N为捕获语音信号的麦克风总数;N′>Δ且N′和Δ均为正整数;yn,m[k-Δ-(N′-1)]为第n个麦克风接收信号的第k-Δ-(N′-1)帧快速傅氏变换中第m个频点的谱线。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Λm 2[k]为麦克风阵列捕获的语音信号的功率;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,…,N,且N为捕获语音信号的麦克风总数;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,为第k帧相关矩阵的逆矩阵;为第k-1帧相关矩阵的逆矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为麦克风阵列捕获的第k帧语音信号前的预设帧数的阵列信号;α为遗忘因子,且0<α<1;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
其中,Wm[k]为更新后的预测系数矩阵;Wm[k-1]为更新前的预测系数矩阵;Km[k]为卡尔曼增益;为的共轭转置矩阵;为去混响后的第一语音信号频谱矢量;m=1,2,…,M,且M为频点总数;k为信号帧索引变量,k=1,2,…,K,且K为语音信号总帧数。
进一步地,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的语音去混响的方法。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (79)
1.一种语音去混响的方法,其特征在于,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量;
根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号;
其中,所述根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点的步骤,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
2.根据权利要求1所述的语音去混响的方法,其特征在于,所述获取麦克风阵列捕获的每帧语音信号的频谱矢量的步骤,包括:
获取麦克风阵列实时捕获的语音信号;
对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
3.根据权利要求1所述的语音去混响的方法,其特征在于,所述获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比的步骤,包括:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
4.根据权利要求3所述的语音去混响的方法,其特征在于,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
8.根据权利要求3所述的语音去混响的方法,其特征在于,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
9.根据权利要求8所述的语音去混响的方法,其特征在于,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的步骤,包括:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
10.根据权利要求8所述的语音去混响的方法,其特征在于,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的步骤,包括:
12.根据权利要求1所述的语音去混响的方法,其特征在于,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
13.根据权利要求12所述的语音去混响的方法,其特征在于,所述获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
15.根据权利要求14所述的语音去混响的方法,其特征在于,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
16.根据权利要求13所述的语音去混响的方法,其特征在于,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,...,N,且N为捕获语音信号的麦克风总数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
17.根据权利要求13所述的语音去混响的方法,其特征在于,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的步骤,包括:
18.根据权利要求12所述的语音去混响的方法,其特征在于,所述根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方的步骤,包括:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
20.根据权利要求1所述的语音去混响的方法,其特征在于,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
26.根据权利要求1所述的语音去混响的方法,其特征在于,所述根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号的步骤,包括:
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
27.一种语音去混响的装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量;
根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号;
所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
28.根据权利要求27所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列实时捕获的语音信号;
对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
29.根据权利要求27所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
30.根据权利要求29所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
34.根据权利要求29所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
35.根据权利要求34所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
38.根据权利要求27所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
39.根据权利要求38所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
41.根据权利要求40所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
42.根据权利要求39所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,...,N,且N为捕获语音信号的麦克风总数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
43.根据权利要求39所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
44.根据权利要求38所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
46.根据权利要求27所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
52.根据权利要求27所述的语音去混响的装置,其特征在于,所述计算机程序被处理器执行时还可实现如下步骤:
根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
53.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至26任一项所述的语音去混响的方法。
54.一种语音去混响的装置,其特征在于,包括:
第一获取模块,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量;
第二获取模块,用于根据所述每帧语音信号的频谱矢量,分别获取检测结果为语音的信号帧的第一频点以及检测结果为非语音的信号帧的第二频点;
获取更新模块,用于获取所述第一频点中每一频点处的频谱的去混响后的第一语音信号频谱矢量,并根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新;
第三获取模块,用于获取第二频点中每一频点的频谱进行衰减后的非语音信号频谱矢量;
第四获取模块,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取去混响语音信号;
所述第二获取模块,包括:
第三获取子模块,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比;
第四获取子模块,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
标记子模块,用于在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比小于第一门限参数,且所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方大于第二门限参数时,将当前帧语音信号在预设频点处标记为语音;或
在所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比大于或等于第一门限参数,或所述当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量的幅值平方相干系数小于或等于第二门限参数时,将当前帧语音信号在预设频点处标记为噪音。
55.根据权利要求54所述的语音去混响的装置,其特征在于,所述第一获取模块,包括:
第一获取子模块,用于获取麦克风阵列实时捕获的语音信号;
第二获取子模块,用于对每一帧语音信号进行频谱计算,得到麦克风阵列捕获的每帧语音信号的频谱矢量。
56.根据权利要求55所述的语音去混响的装置,其特征在于,所述第三获取子模块,包括:
第一获取单元,用于获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差;
第二获取单元,用于根据所述香农熵值和所述香农熵值的方差,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值和所述香农熵值的方差之比。
57.根据权利要求56所述的语音去混响的装置,其特征在于,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的获取方式为:
获取检测频点处的每帧语音信号的频谱矢量的幅值权重;
根据所述幅值权重,获取每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值;
根据所述每一个麦克风捕获的每帧语音信号的频谱矢量的香农熵值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值。
61.根据权利要求56所述的语音去混响的装置,其特征在于,所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差的获取方式为:
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值;
根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值以及所述香农熵值的均值,获取麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值的方差。
62.根据权利要求61所述的语音去混响的装置,其特征在于,所述根据所述麦克风阵列捕获的每帧语音信号的频谱矢量的香农熵值,获取所述香农熵值的均值的方式为:
根据公式:μH[k]=λ·μH[k-1]+(1-λ)·HY[k]获取香农熵值的均值;
其中,μH[k]为第k帧语音信号的频谱矢量的香农熵值的均值;HY[k]为麦克风阵列捕获的第k帧语音信号的频谱矢量的香农熵值;μH[k-1]为第k-1帧语音信号的频谱矢量的香农熵值的均值;λ为平滑系数,且0<λ<1;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
65.根据权利要求55所述的语音去混响的装置,其特征在于,所述第四获取子模块,包括:
第三获取单元,用于获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数;
第四获取单元,用于根据所述相干系数,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方。
66.根据权利要求65所述的语音去混响的装置,其特征在于,所述第三获取单元用于:
获取麦克风阵列捕获的当前帧语音信号的频谱矢量在预设频点处的谱线的方差和及当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;
根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数。
68.根据权利要求67所述的语音去混响的装置,其特征在于,所述第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线的方差的获取方式为:
69.根据权利要求66所述的语音去混响的装置,其特征在于,所述当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差的获取方式为:
根据公式:Δn,m[k]=λ·Δn,m[k-1]+(1-λ)·{yn,m[k]yn,m[k-1]*}获取协方差;
其中,Δn,m[k]为当前帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;Δn,m[k-1]为第k-1帧语音信号的频谱矢量与前一帧语音信号的频谱矢量之间的协方差;yn,m[k-1]*为yn,m[k-1]的共轭;yn,m[k]为第n个麦克风接收信号的第k帧快速傅氏变换中第m个频点的谱线;n=1,2,...,N,且N为捕获语音信号的麦克风总数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数;λ为平滑系数,且0<λ<1。
70.根据权利要求66所述的语音去混响的装置,其特征在于,所述根据所述方差和及所述协方差,获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量之间的相干系数的方式为:
71.根据权利要求65所述的语音去混响的装置,其特征在于,所述第四获取单元用于:
根据公式:C2[k,m]=|ρm[k]|2获取当前帧语音信号在预设频点的频谱矢量与前一帧语音信号在预设频点的频谱矢量间相干系数的幅值平方;
其中,C2[k,m]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量间相干系数的幅值平方;ρm[k]为当前帧语音信号在频点m处的频谱矢量与前一帧语音信号在频点m处的频谱矢量之间的相干系数;m=1,2,...,M,且M为频点总数;k为信号帧索引变量,k=1,2,...,K,且K为语音信号总帧数。
73.根据权利要求54所述的语音去混响的装置,其特征在于,所述根据所述第一语音信号频谱矢量对每一频点的加权预测误差的预测系数矩阵进行更新的方式,包括:
获取卡尔曼增益;
根据所述卡尔曼增益以及去混响后的第一语音信号频谱矢量,进行第一频点中每一频点的加权预测误差的预测系数矩阵的更新。
79.根据权利要求54所述的语音去混响的装置,其特征在于,所述第四获取模块,包括:
第五获取子模块,用于根据所述第一语音信号频谱矢量和非语音信号频谱矢量,获取每帧语音信号的第二语音信号频谱矢量;
第六获取子模块,用于根据每帧语音信号的第二语音信号频谱矢量,获取去混响语音信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711460558.8A CN109979476B (zh) | 2017-12-28 | 2017-12-28 | 一种语音去混响的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711460558.8A CN109979476B (zh) | 2017-12-28 | 2017-12-28 | 一种语音去混响的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109979476A CN109979476A (zh) | 2019-07-05 |
CN109979476B true CN109979476B (zh) | 2021-05-14 |
Family
ID=67074683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711460558.8A Active CN109979476B (zh) | 2017-12-28 | 2017-12-28 | 一种语音去混响的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109979476B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022269854A1 (ja) * | 2021-06-24 | 2022-12-29 | 日本電信電話株式会社 | フィルタ生成装置、フィルタ生成方法、プログラム |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112951264B (zh) * | 2019-12-10 | 2022-05-17 | 中国科学院声学研究所 | 一种基于混合式概率模型的多通道声源分离方法 |
CN113496706B (zh) * | 2020-03-19 | 2023-05-23 | 抖音视界有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN111933170B (zh) * | 2020-07-20 | 2024-03-29 | 歌尔科技有限公司 | 语音信号的处理方法、装置、设备及存储介质 |
CN112201266B (zh) * | 2020-08-28 | 2023-06-13 | 出门问问(苏州)信息科技有限公司 | 回声抑制方法及装置 |
WO2022192580A1 (en) * | 2021-03-11 | 2022-09-15 | Dolby Laboratories Licensing Corporation | Dereverberation based on media type |
CN113299301A (zh) * | 2021-04-21 | 2021-08-24 | 北京搜狗科技发展有限公司 | 一种语音处理方法、装置和用于语音处理的装置 |
CN113823314B (zh) * | 2021-08-12 | 2022-10-28 | 北京荣耀终端有限公司 | 语音处理方法和电子设备 |
CN114813129B (zh) * | 2022-04-30 | 2024-03-26 | 北京化工大学 | 基于wpe与emd的滚动轴承声信号故障诊断方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229238A (zh) * | 2010-11-24 | 2013-07-31 | 皇家飞利浦电子股份有限公司 | 用于产生音频信号的系统和方法 |
US9390723B1 (en) * | 2014-12-11 | 2016-07-12 | Amazon Technologies, Inc. | Efficient dereverberation in networked audio systems |
CN106486131A (zh) * | 2016-10-14 | 2017-03-08 | 上海谦问万答吧云计算科技有限公司 | 一种语音去噪的方法及装置 |
US20170188147A1 (en) * | 2013-09-26 | 2017-06-29 | Universidade Do Porto | Acoustic feedback cancellation based on cesptral analysis |
CN107316649A (zh) * | 2017-05-15 | 2017-11-03 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音识别方法及装置 |
CN107346658A (zh) * | 2017-07-14 | 2017-11-14 | 深圳永顺智信息科技有限公司 | 混响抑制方法及装置 |
CN107360497A (zh) * | 2017-07-14 | 2017-11-17 | 深圳永顺智信息科技有限公司 | 估算混响分量的计算方法及装置 |
US20170365255A1 (en) * | 2016-06-15 | 2017-12-21 | Adam Kupryjanow | Far field automatic speech recognition pre-processing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4703505A (en) * | 1983-08-24 | 1987-10-27 | Harris Corporation | Speech data encoding scheme |
CN101499280B (zh) * | 2009-03-09 | 2011-11-02 | 武汉大学 | 基于空间感知熵判决的空间参数选取方法及其装置 |
CN101894560B (zh) * | 2010-06-29 | 2012-08-15 | 上海大学 | 一种无参考源的mp3音频清晰度客观评价方法 |
-
2017
- 2017-12-28 CN CN201711460558.8A patent/CN109979476B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229238A (zh) * | 2010-11-24 | 2013-07-31 | 皇家飞利浦电子股份有限公司 | 用于产生音频信号的系统和方法 |
US20170188147A1 (en) * | 2013-09-26 | 2017-06-29 | Universidade Do Porto | Acoustic feedback cancellation based on cesptral analysis |
US9390723B1 (en) * | 2014-12-11 | 2016-07-12 | Amazon Technologies, Inc. | Efficient dereverberation in networked audio systems |
US20170365255A1 (en) * | 2016-06-15 | 2017-12-21 | Adam Kupryjanow | Far field automatic speech recognition pre-processing |
CN106486131A (zh) * | 2016-10-14 | 2017-03-08 | 上海谦问万答吧云计算科技有限公司 | 一种语音去噪的方法及装置 |
CN107316649A (zh) * | 2017-05-15 | 2017-11-03 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音识别方法及装置 |
CN107346658A (zh) * | 2017-07-14 | 2017-11-14 | 深圳永顺智信息科技有限公司 | 混响抑制方法及装置 |
CN107360497A (zh) * | 2017-07-14 | 2017-11-17 | 深圳永顺智信息科技有限公司 | 估算混响分量的计算方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022269854A1 (ja) * | 2021-06-24 | 2022-12-29 | 日本電信電話株式会社 | フィルタ生成装置、フィルタ生成方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN109979476A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109979476B (zh) | 一种语音去混响的方法及装置 | |
KR101934636B1 (ko) | 심화신경망 기반의 잡음 및 에코의 통합 제거 방법 및 장치 | |
Michelsanti et al. | Conditional generative adversarial networks for speech enhancement and noise-robust speaker verification | |
CN109841206B (zh) | 一种基于深度学习的回声消除方法 | |
Luo et al. | Real-time single-channel dereverberation and separation with time-domain audio separation network. | |
CN108172231B (zh) | 一种基于卡尔曼滤波的去混响方法及系统 | |
US5924065A (en) | Environmently compensated speech processing | |
CN110148420A (zh) | 一种适用于噪声环境下的语音识别方法 | |
US20040230428A1 (en) | Method and apparatus for blind source separation using two sensors | |
US20040064307A1 (en) | Noise reduction method and device | |
JP2009047803A (ja) | 音響信号処理方法及び装置 | |
Heymann et al. | Frame-online DNN-WPE dereverberation | |
KR101720514B1 (ko) | Dcica를 이용한 dnn 기반 특징향상을 수행하는 음성인식장치 및 방법 | |
Fingscheidt et al. | Environment-optimized speech enhancement | |
JP6225245B2 (ja) | 信号処理装置、方法及びプログラム | |
CN112037809A (zh) | 基于多特征流结构深度神经网络的残留回声抑制方法 | |
Ribas et al. | Deep speech enhancement for reverberated and noisy signals using wide residual networks | |
CN110808057A (zh) | 一种基于约束朴素生成对抗网络的语音增强方法 | |
CN110998723A (zh) | 使用神经网络的信号处理装置、使用神经网络的信号处理方法以及信号处理程序 | |
Doclo et al. | Multimicrophone noise reduction using recursive GSVD-based optimal filtering with ANC postprocessing stage | |
KR20220022286A (ko) | 잔향 제거 오토 인코더를 이용한 잔향 환경 임베딩 추출 방법 및 장치 | |
Tu et al. | DNN training based on classic gain function for single-channel speech enhancement and recognition | |
EP3242295B1 (en) | A signal processor | |
CN109243476B (zh) | 混响语音信号中后混响功率谱的自适应估计方法及装置 | |
CN113160842B (zh) | 一种基于mclp的语音去混响方法及系统 |
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 |