考虑到后面的时间可能不会继续深入声学前端这块了,因此想着近期补充一些前面一直想写,没写的东西,趁着年底也算是做一些小结。这次先谈一谈前端中一个比较重要的概念,spatial。
在文献中,spatial和spectral成一对。以前做的声学模型,输入大多采用单通道,从谱上衍生的的声学特征,mfcc/fbank等等,因为这种情况下,谱上的特征区分性更加明显。但是如果可以获取麦克风阵列的多路输入,channel之间的delay就是一个非常重要的提示信息,也是所谓spatial的体现,Source Localization和Spatial Filter就是两个非常典型的应用。相比delay而言,channel之间在谱上的差别通常不会很大,因此,在传统的一些方法中,很少有使用inter-channel的spectral特征进行建模的方法,而以spatial的特征替代。
Data Simulation
multi-channel的数据可以通过实录或者simulation拿到,后者虽然没有实录的数据真实,但是在时间成本很低,实验验证阶段做一些simu是没有问题的。工程上如果时间/成本允许,还是实录一部分数据比较好。
通常的,multi-channel下的信号模型可以写成下面的形式:
$\mathbf{s}_i$表示第$i$个声源,$\mathbf{R}_i \in \mathbb{R}^{M \times L}$表示声源$i$到麦克风处的冲击响应(impulse response,包含信号衰减,延迟,房间反射等效应),$*$表示卷积操作,$\mathbf{N} \in \mathbb{R}^{M \times S}$ 表示multi-channel的背景噪声,$\mathbf{M} \in \mathbb{R}^{M \times S}$表示阵列最后接收到的信号,$M$为麦的个数。$\mathbf{R}_i$可以通过image方法生成,也可以采用实录的房间响应,$\mathbf{N}$通常在对应环境下事先录好。
有了close talk,clean的说话人数据$\mathbf{s}_i$,multi-channel的噪声库,再通过image方法生成多路的rir,就可以通过上式生成每个麦克风处的混合信号。$\mathbf{R}_k * \mathbf{s}_k$称为声源$k$在阵列处的image(镜像)。
这里注意几点:
- 背景噪声切勿加成单路信号,否则就会成为一个方向性声源。
- 通过image方法生成rir的时候,如果配置房间反射系数为0或者T60值为0的话,表示信号模型中不存在混响,这种情况虽然非常理想,但是可以用于数据debug,或者验证性工作。
Spatial Clustering
spatial clustering方法指的是利用每个TF-bin上观测向量在空间分布上的规律,根据聚类结果以区分bin的属性的一类方法的总称。这类方法其实我之前也简单做过介绍,比较广为人知的应该是CHiME3上取得成功的CGMM[5]。它实际上同时利用了spectral/spatial特征,因为是直接对每个TF-bin上的观测向量$\mathbf{y}_{tf}$进行建模的,假设每个component服从complex GMM分布:
比较“纯正”的方法,通常忽略spectral的差异,仅仅保留方向信息,即对:
进行建模(文献中称为directional statistics)。这类方法有很多,CWMM[3],caCGMM[4]等等,它们的区别更多的是在对$\mathbf{z}_{tf}$分布的假设上,EM过程都是一样的。最终通过贝叶斯公式,将每个component的似然值转化成后验概率(这里也就是常常说的TF-mask):
$\mathcal{P}$表示对观测假设的先验分布,$\alpha$表示的是每个混合分量在mixture model中的权重,可以随EM过程更新。
spatial clustering的聚类过程在每个subband上独立进行(narrowband method),因此,无法保证最终的聚类结果在frequency上的归属是连续的,存在cross frequency的permutation问题,最终的话,需要进行一个所谓的align过程,将每个band上的聚类结果进行对齐,才能保证结果可用。
聚类算法要work的话,显然,观测的随机变量必然可以在其分布的空间上形成聚类效应。通过聚类结果,拿到了每个TF-bin的归属,就可以以此区分出target/interference。在理想的情况下(无信号衰减,无混响),$\theta$方向上的声源在线阵($M$麦)上形成的观测向量为:
以方位为$\theta_1, \theta_2$的两个说话人为例,混叠的结果可以表示为:
根据谱上的稀疏性,每个TF-bin上的混叠结果,是更加倾向于domainant source的(即能量较大的一方),而不同的声源因为$\theta$方位的不同,directional statistics在空间上的分布必然不同,因此可以形成聚类效应。
这个现象可以简单做一下验证,在每个subband上,对directional statistics的幅角分布可视化,或者plot出某几个维度上的坐标点。首先选定声源方位角,麦克风阵列配置(10cm,$M=6$)和房间配置生成rir,卷积之后根据一定信噪比混合。下面给出一个12500Hz上的PCA结果:
不同的点色表示使用binary mask区分出的domainant source。比较奇怪的是,这些点并没有按我想象中的聚成两类,而是有6/7个聚类中心,这个现象可能和所谓的spatial aliasing(空间混叠)有关。如果麦克风之间的间距大于该信号波长的一半时,因为不能保证采样点落在一个周期,所以从相位变化上不能反推时间上的delay(换句话说,不同的delay会对应到相近的相位值)。阵列间距变大,或者信号频率变高都会使得空间混叠的发生概率变大。回到这个样例中来,12.5kHz的信号,对应波长2.7cm,满足spatial aliasing的条件,因此最终聚类中心个数不理想(这一段的理解可能存在问题,后期考虑成熟之后会进行修改)。个人觉得线阵中混叠发生的概率还是很高的,因为再考虑入射角进去,在$\theta$方向上的麦克风间距实际是$\cos(\theta) \cdot d$。
最后说一下,clustering方法可以用于增强和分离任务。区别无非是前者的方向性声源只有一个,就是目标的speech成分,后者则可能多个。因此前者建模中,mixture model只存在两个component,而后者则取决于说话人的数量。
Combine Spatial & Spectral
DL的一些方法在对谱特征(实值)利用上表现出了很强的建模能力,但是丢失了我们说的spatial信息。因此,陆续就有人尝试将两者结合起来[1],[2],提升系统的鲁棒性。
比较常用的一种方法是将nn的mask用于cgmm的初始化,在之前的一些文献中也有人尝试过,就我本人的实践而言,表现不是十分稳定。[1]中的方法也比较类似,使用cacgmm部署spatral的特征,使用nn弥补directional statistics中丢失的spectral信息,两者联合优化的目标函数表示为:
其中:
再者就是ZQ.Wang最近做的一系列工作了[6],[7],[8],[9],在分离/增强任务上读取得了不错的成果。他的思想很朴素,主要是尝试将不同的spatial特征和spectral特征进行拼接输入网络,以此达到两者结合的目的,比较常用的有IPD是DF(directional features)。
先说一下IPD(inter-channel phase difference,即相位差),每个TF-bin上,IPD由$ \angle\mathbf{y}_{tf, i} - \angle\mathbf{y}_{tf, j}$得到,需要提前选定两麦作为参考。根据谱上的稀疏性,每个TF-bin上的IPD值必然倾向于domainant source的结果,又因为不同的source时间上的delay不同,因此可以推测,如果空间混叠不会发生,那么在每个frequency上是具备区分性的,但是实际情况不会如此理想。以一个2spk的simu样例为例,画出以IPD和frequency为坐标的每个TF-bin的分布概率图(黑色表示高概率):
从上图中可以看到,IPD在频率轴上是不连续的,以$2\pi$为周期。但是除个别频率之外,基本都可以找到两个IPD的分布峰值,对应两个角度不同的强声源。
ZQ.Wang采取的方法是和spectral特征进行拼接,辅助分离网络,因为spatial的特征存在歧义,这时候还必须依赖spectral特征。在[6]中,一种自IPD衍生的directional feature被使用,基于的思想和IPD类似,但是利用了所有麦克风pair的信息。假定可以拿到关于目标声源delay相关的ground truth,那么和ground truth差别越小的TF-bin,越倾向于属于该方向上的声源,在数学上表达为下式的值接近1:
实际计算中,由于无法直接估计一个比较准确的delay,文章采用MVDR的steer vector的幅角替代上式中的$\omega \tau$,这样一来,就需要事先使用一个spectral特征输入的的mask网络产生初步的mask,才能完成导向向量的估计和DF特征的计算。在mask估计较准的情况下,可以从特征上看出domainant source的大致分布,如下:
后面还有些文章提出使用维纳滤波的结果作为DF特征(其实就是增强的谱特征):
在CHiME4上作者还曾经使用过一种利用channel之间的相关性的特征,即MSC[6](magnitude squred coherence),这种特征被用于增强任务中,甚至直接可以当成一种无监督的TF-mask(CHiME3数据上取得了一定的效果,可见图3)。考虑到MSC完全依赖channel之间的相关程度,并没有显式使用方向信息,因此,只在噪声类型相关性较差的情况下,容易区分出speech和noise(speech相关程度高)。而在分离任务中,这种特征并没有多大的使用空间。
Conclusion
关于spatial这个概念,我觉得理解的重点在于:
- 基于spatial clustering的算法为什么可以work
- 所谓spatial的歧义是如何产生的
- spatial feature的设计初衷(即为什么可以提升模型效果)
目前对于前两点只是在实验过程中初步产生了一些理解和想法,第三点虽然在本人的实验配置中尚未取得gain,但是考虑数据和场景这些因素,也觉得未必是方法和特征本身原因造成的。先写到这里,后面如果有新的理解和体会,再继续补充吧。
Reference
[1]. Nakatani T, Ito N, Higuchi T, et al. Integrating DNN-based and spatial clustering-based mask estimation for robust MVDR beamforming[C]//Acoustics, Speech and Signal Processing (ICASSP), 2017 IEEE International Conference on. IEEE, 2017: 286-290.
[2]. Drude L, Haeb-Umbach R. Tight integration of spatial and spectral features for BSS with deep clustering embeddings[C]//Proc. Interspeech. 2017: 2650-2654.
[3]. D.H. Tran Vu and R. Haeb-Umbach, “Blind speech separation employing directional statistics in an ex- pectation maximization framework,” in Proc. ICASSP, Mar. 2010, pp. 241–244.
[4]. Ito N, Araki S, Nakatani T. Complex angular central gaussian mixture model for directional statistics in mask-based microphone array signal processing[C]//Signal Processing Conference (EUSIPCO), 2016 24th European. IEEE, 2016: 1153-1157.
[5]. Higuchi T, Ito N, Araki S, et al. Online MVDR beamformer based on complex Gaussian mixture model with spatial prior for noise robust ASR[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2017, 25(4): 780-793.
[6]. Wang Z Q, Wang D L. On spatial features for supervised speech separation and its application to beamforming and robust asr[C]//2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018: 5709-5713.
[7]. Wang Z Q, Wang D L. Combining Spectral and Spatial Features for Deep Learning Based Blind Speaker Separation[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2018.
[8]. Wang Z Q, Wang D L. Integrating Spectral and Spatial Features for Multi-Channel Speaker Separation[J]. Proc. Interspeech 2018, 2018: 2718-2722.
[9]. Wang Z Q, Le Roux J, Hershey J R. Multi-Channel Deep Clustering: Discriminative Spectral and Spatial Embeddings for Speaker-Independent Speech Separation[J]. 2018.