文章引注:
http://t.csdnimg.cn/QP7uC
一、麦克风阵列的定义
所谓麦克风阵列其实就是一个声音采集的系统,该系统使用多个麦克风采集来自于不同空间方向的声音。麦克风按照指定要求排列后,加上相应的算法(排列+算法)就可以解决很多房间声学问题,比如声源定位、去混响、语音增强、盲源分离等。
二、麦克风指向性
麦克风的方向性是指麦克风可以接收到语音的方向。声音可以从不同的方向传达到麦克风,麦克风的前面/后面/侧面,麦克风将会根据自身的指向性来获取声音。一个麦克风可以以很高的灵敏度接收来自于前方的声音,而不管后方和侧面的声音,另一个麦克风还可以接收来自于前面和后面的声音,而不管侧面的,有很多种组合。
所谓指向性麦克风是指麦克风要么接收来自于指定方向的声音,要么接收所有角度传来的声音,这取决于麦克风的自身指向属性。
常用的指向性麦克风:
(1)全向麦克风
有些麦克风接收来自于任何方向的声音,这种麦克风叫做全向麦克风( omnidirectional microphones)。不管说话的人在哪里对着麦克风说话,前后左右,从0°到360°,所有的这些声音都会以相同的灵敏度被拾取。
(2)心形麦克风
心型指向:心型指向对于来自麦克风前方的声音有最佳的收音效果,而来自其他方向的声音则会被衰减。
超心型指向:相比于心型指向,超心型指向抵消了更多来自麦克风侧面方向的声音。比较多用在室内乐的多轨录音中,减少来自附近其他乐器的声音。
(3)枪型麦克风
枪型指向:枪型指向麦克风是一类极限最求单一方向指向的麦克风。其最佳收音角度为正前方的小范围锥形区域,主要用于户外收音,如户外新闻采访和影视外景拍摄的收音。其较好的指向性使得麦克风能比较有效的减少周边环境噪音的收入。
(4)双指向麦克风
双指向式(或者8字型):双指向式可接受来自麦克风前方和后方的声音,抵消了大部分来自90度侧面的声音。由于双指向式麦克风侧面的灵敏度极低,在室内多轨录音中使用也能够有效减少来自附近其他乐器的声音。
三、麦克风的排列及原理
(1)简介
麦克风不同的排列对应不同的算法,那么最简单的排列就是线性排列了,也就是麦克风排列成一排。在远场(指说话人距离麦克风很远)的情况下,我们一般认为人说话的波形是平面波,如下:
那么每个麦克风接收到的信号在同一时刻都不会相同,因为有时延,你可能会问什么是时延,那么下面给出具体的统一线性麦克风阵列模型图:
(2)原理
麦克风阵列,是一组位于空间不同位置的全向麦克风按一定的形状规则布置形成的阵列,是对空间传播声音信号进行空间采样的一种装置,采集到的信号包含了其空间位置信息。根据声源和麦克风阵列之间距离的远近,可将阵列分为近场模型和远场模型。根据麦克风阵列的拓扑结构,则可分为线性阵列、平面阵列、体阵列等。
(1) 近场模型和远场模型
声波是纵波,即媒质中质点沿传播方向运动的波。声波是一种振动波,声源发声振动后,声源四周的媒质跟着振动,声波随着媒质向四周扩散,所以是球面波。
根据声源和麦克风阵列距离的远近,可将声场模型分为两种:近场模型和远场模型。近场模型将声波看成球面波,它考虑麦克风阵元接收信号间的幅度差;远场模型则将声波看成平面波,它忽略各阵元接收信号间的幅度差,近似认为各接收信号之间是简单的时延关系。显然远场模型是对实际模型的简化,极大地简化了处理难度。一般语音增强方法就是基于远场模型。
近场模型和远场模型的划分没有绝对的标准,一般认为声源离麦克风阵列中心参考点的距离远大于信号波长时为远场;反之,则为近场。设均匀线性阵列相邻阵元之间的距离(又称阵列孔径)为d,声源最高频率语音的波长(即声源的最小波长)为λmin,如果声源到阵列中心的距离大于2d2/λmin,则为远场模型,否则为近场模型,如图1所示。
(2) 麦克风阵列拓扑结构
按麦克风阵列的维数,可分为一维、二维和三维麦克风阵列。这里只讨论有一定形状规则的麦克风阵列。
一维麦克风阵列,即线性麦克风阵列,其阵元中心位于同一条直线上。根据相邻阵元间距是否相同,又可分为均匀线性阵列(Uniform Linear Array,ULA)和嵌套线性阵列,如图2所示。均匀线性阵列是最简单的阵列拓扑结构,其阵元之间距离相等、相位及灵敏度一直。嵌套线性阵列则可看成几组均匀线性阵列的叠加,是一类特殊的非均匀阵。线性阵列只能得到信号的水平方向角信息。
图2 线性阵列拓扑结构
二维麦克风阵列,即平面麦克风阵列,其阵元中心分布在一个平面上。根据阵列的几何形状可分为等边三角形阵、T型阵、均匀圆阵、均匀方阵、同轴圆阵、圆形或矩形面阵等,如图3所示。平面阵列可以得到信号的水平方位角和垂直方位角信息。
图3 平面阵列拓扑结构
三维麦克风阵列,即立体麦克风阵列,其阵元中心分布在立体空间中。根据阵列的立体形状可分为四面体阵、正方体阵、长方体阵、球型阵等,如图4所示。立体阵列可以得到信号的水平方位角、垂直方位角和声源与麦克风阵列参考点距离这三维信息。
图4 立体阵列拓扑结构
(3)波束形成
(4)时延补偿
四、麦克风阵列语音增强
1. 时域GSC自适应波束形成算法(Griffiths-Jim)
(1)语音干扰情况
(2)点噪声源干扰情况
(3)散漫噪声源干扰情况
2.概况
语音增强,英文名:Speech Enhancement,其本质就是语音降噪,换句话说,日常生活中,麦克风采集的语音通常是带有不同噪声的“污染”语音,语音增强的主要目的就是从这些被“污染”的带噪语音中恢复出我们想要的干净语音。
语音增强涉及的应用领域十分广泛,包括语音通话、电话会议、场景录音、军事窃听、助听器设备和语音识别设备等,并成为许多语音编码和识别系统的预处理模块。举几个简单的例子,在手机的语音助手中,例如苹果的Siri、微软的小娜属于这其中的佼佼者,他们在近距离(一般工作距离小于1米)、无噪声的环境中进行语音识别,有着较高的语音识别准确率,但是如果我们的声学场景变得更加复杂,比如展会,街道等场景中,噪声的影响会大大降低他们的语音识别准确率,因此进行语音识别的前端降噪显得十分重要。此外,在一些助听器设备中,语音增强技术也有其应用。通常的助听器,只是实现一个语音的基本放大,复杂一些的会进行声压级压缩以实现对患者听觉范围的补偿,但是如果听觉场景比较复杂,患者听到的语音中不仅包含了放大后的语音也包含了很多噪声,时间一长势必会对患者的听觉系统造成二次损害,因此高端的数字助听器设备中,语音降噪也成为了他们不容忽视的一个重要方面。
语音增强作为数字信号处理的一个分支,已经有了50多年的历史。虽然语音增强技术看似只是一个简单的纯净语音恢复过程,但是其中涉及的知识和算法是广泛而又多样的。在学术界,该领域的研究可以说是“百花齐放,百家争鸣”,既有传统的数字信号处理的方法,又有近几年刚刚兴起的深度学习的方法。经过几十年的发展,学术界也涌现出来了不少大牛,像Rainer Martin、Yariv Ephraim、Israel Cohen、Phillip Loizou以及Sharon Gannot等,这几位前辈在数字信号处理领域的语音增强方法中,起到的十分重要的推动作用。然而,在语音增强的另一个新兴领域:深度学习语音增强,虽然是后起之秀,但是伴随着硬件技术的升级,该技术在工程界得以落地,也使其在语音增强领域站住了脚跟。当然,该技术的发展与“深度学习之父”Geoffrey Hinton在神经网络结构上取得的重大成果是分不开的。在当今学术界,如果说在该领域,真正占有一席之地的,我个人认为,当属俄亥俄州立大学的汪德亮教授,他的实验室和学生,对深度学习语音增强这一方法的发展起到了十分重要的推动作用。
3.分类
对于语音增强方法的分类,可以按照其运用方法的不同进行分类,于是便可以分成如下两大类:数字信号处理的语音增强方法和基于机器学习的语音增强方法。 其中,数字信号处理的语音增强方法是主流方法,历史悠久,且拥有很深的技术奠基,是目前工程界进行语音降噪的主要思路。而在传统的数字信号处理的方法中,按照其通道数目的不同,又可以进一步划分为:单通道语音增强方法和麦克风阵列的语音增强方法。
在传统的单通道语音增强方法中,对数字信号处理的知识运用较多,时域和频域的方法都有,以频域处理为主,其中基于短时谱估计的语音增强方法是目前应用最为广泛的语音增强方法,具体的算法可以分为以下三大类:谱减法、维纳滤波法和基于统计模型的方法。除了上述提到的短时谱方法,在单通道的语音增强领域还有一种自适应滤波的方法,但是其需要事先知道噪声或者纯净语音,然后利用随机梯度下降的方式进行最优解的逼近,而在大多数情况下,噪声或者纯净语音等先验知识是无法获得的,因此大大限制了自适应滤波方法的应用,但是该方法在手机通话中的降噪应用比较广泛,通常手机中都会专门用一个降噪麦克风来收取环境中的噪音,以此作为参考输入来实现降噪。此外,在单通道的方法之中,还有一种基于子空间的方法也备受关注,但由于其运算度相对较高,所以在工程中的应用并不算广泛。近些年以来,小波变换的方法发展迅猛,它克服了短时傅里叶变换固定分辨率的缺点,可以获得信号在不同分别率上的信息,在近几年里得到了广泛的应用。
而在麦克风阵列的语音增强方法中,由于利用了更多的麦克风,考虑了信号的空间信息,因此在抑制特定方向的干扰、进行语音分离等方面,比单通道的语音增强更有优势。麦克风阵列的语音增强方法目前在智能音箱、机器人等领域应用较多,利用其多麦克风的优势,这类产品可以实现在远场和更复杂的声学环境中进行语音增强。主流的麦克风阵列方法有:固定波束形成的方法和自适应波束形成的方法。固定波束形成的应用环境十分受限,但运算复杂度较低,所以一般应用于声学场景固定不变的环境中;而自适应波束形成的方法则表现出更好的鲁棒性,当然这也是以牺牲运算复杂度为代价,目前自适应波束形成方法主要有两大阵营:LCMV结构和GSC结构,如今的麦克风阵列语音增强算法基本上都是基于这两种结构进行地改进和优化。
基于机器学习的语音增强方法算是奇巧之技,不同于传统的数字信号处理方法,它借鉴机器学习的思路,通过有监督的训练实现语音增强。该领域的算法算是刚刚起步,满打满算也没有二十年的历史,但是“存在即合理”,它之所以能够在语音增强领域占有一席之地,也有其优势所在,例如,在数字信号处理领域的一些比较棘手的问题,比如瞬时噪声的消除,这类方法另辟蹊径,可以较容易地将其解决,因此,这类算法也许会成为未来人工智能时代的语音增强主流方向。如今,运用机器学习的语音增强方法不多,大致梳理一下,可以分成以下几类:基于隐马尔科夫模型的语音增强、基于非负矩阵分解的语音增强、基于浅层神经网络的语音增强和基于深层神经网络的语音增强。其中,基于深度神经网络的语音增强方法,也就是深度学习语音增强,利用深度神经网络结构强大的非线性映射能力,通过大量数据的训练,训练出一个非线性模型进行语音增强,取得了十分不错的效果。
4.语音增强入门
语音增强的方向较多,各方向领域的大牛不同,涉及的知识也不太一样,因此分别给出了不同的语音增强研究方向的大牛和书籍。
传统单通道的语音增强方法:
Yariv Ephraim 主页:http://ece.gmu.edu/~yephraim/
Rainer Martin 主页:http://www.ruhr-uni-bochum.de/ika/mitarbeiter/martin_publik.htm#2017
Isreal Cohen 主页:http://webee.technion.ac.il/people/IsraelCohen/
Philip Loizou 主页:http://ecs.utdallas.edu/loizou/
推荐书籍:《语音增强理论与实践》(Loizou)
麦克风阵列的语音增强方法:
Sharon Gannot 主页:http://www.eng.biu.ac.il/gannot/
Jacob Benesty 主页:http://externe.emt.inrs.ca/users/benesty/
推荐书籍:《Wideband Beamforming Concepts and Techniques》(Wei Liu)
基于深度学习的语音增强方法:
汪德亮主页:http://web.cse.ohio-state.edu/~wang.77/index.html
推荐学习:吴恩达深度学习在线课程:http://mooc.study.163.com/smartSpec/detail/1001319001.htm
博士论文:《基于深层神经网络的语音增强方法研究》(徐勇 2015)