## 2 Microphone Array Speech Simulator
For the non-stationary array noise simulation method in isotropic noise field [16], the noise field is assumed to be homogeneous. So, in an isotropic spherically noise field, the spatial coherence function values at angular frequency \(\omega_{k}\) is given by  
\[\gamma_{pq}(\omega_{k})=\frac{\sin(\omega_{k}d_{pq}/c)}{\omega_{k}d_{pq}/c} \tag{4}\]  
where \(d_{pq}\) denotes the distance between the \(p\)th microphone and the \(q\)th microphone. We can define a matrix \(G(\omega_{k})\) for each \(\omega_{k}\) that consists of the spatial coherence values as follows:  
\[G(\omega_{k})=\left[ \begin{array}{cccc}\gamma_{11}(\omega_{k})&\gamma_{12}( \omega_{k})&\cdots&\gamma_{1M}(\omega_{k})\\ \gamma_{21}(\omega_{k})&\gamma_{22}(\omega_{k})&\cdots&\gamma_{2M}(\omega_{k} )\\ \vdots&\vdots&\ddots&\vdots\\ \gamma_{M1}(\omega_{k})&\gamma_{M2}(\omega_{k})&\cdots&\gamma_{MM}(\omega_{k} )\end{array} \right] \tag{5}\]  
where \(M\) is the number of microphones. The eigenvalue decomposition (EVD) is used to decompose matrix \(G(\omega_{k})\) as follows  
\[G(\omega_{k})=V(\omega_{k})D(\omega_{k})V^{H}(\omega_{k}) \tag{6}\]where \(D(\omega_{k})\) is a diagonal matrix and \(()^{H}\) is the Hermitian operation. So, the transformation matrix \(C(\omega_{k})\) can be obtained by  
\[C(\omega_{k})=\sqrt{D(\omega_{k})}V^{H}(\omega_{k}) \tag{7}\]  
Given noise matrix \(N_{c}(l,\omega_{k})=[N_{c1}(l,\omega_{k})\), \(N_{c2}(l,\omega_{k})\),..., \(N_{cM}(l,\omega_{k})]^{T}\), where the elements of the \(N_{c}(l,\omega_{k})\) are randomly selected from complete noise signal as long as clean speech and mutually independent. \(l\) denotes the frame index. So, in frequency domain, the noise signals \(N(l,\omega_{k})=[N_{1}(l,\omega_{k})\), \(N_{2}(l,\omega_{k})\),..., \(N_{M}(l,\omega_{k})]^{T}\) that will be used in microphone array can be obtained by  
\[N(l,\omega_{k})=C^{H}(\omega_{k})N_{c}(l,\omega_{k}) \tag{8}\]  
Finally, in time-domain, the noise signals that will be used in each microphone can be obtained by inverse short-time Fourier transform (STFT) on each element of the \(N(l,\omega_{k})\). The integration of the _pyroomacoustics_ and the non-stationary array noise simulation method in isotropic noise field can be used to simulate the room acoustic environment closer to the real situation, such as the meeting room and other scenes that may have various non-stationary noises. The proposed extension method is shown in Figure 2.  
Firstly, as described in Figure 2, for a target speech source located at a specific location, we set up a room (such as a meeting room) and add the required microphone array by using _pyroomacoustics_. In order to better simulate the microphone array speech, we choose omnidirectional microphone with 10 times amplifier [6] to form the microphone array placed in the room, so as to get an auditory acceptable microphone array speech. When we set the absorption factor \(\alpha\) to 1.0, we think that the walls of the room can absorb all the speech signals being propagated without any reflection and image source, and then the corresponding clean speech signals of microphone array are obtained. At the same time, we can set the absorption factor \(\alpha\) to be less than 1.0, so as to get the clean speech with reverberation of microphone array by corresponding reverberation time according to Equation (3). Then, based on the collected speech signal at each microphone and noise signal, we can calculate noise signal of each microphone for the specific SNR level; that is, the power of noise signal in each channel can be expressed as  
\[P_{n,i}=\frac{P_{s,i}}{10^{\frac{SNR}{10}}} \tag{9}\]  
where \(P_{s,i}\) and \(P_{n,i}\) are the powers of clean speech and noise at the \(i\)th channel of the microphone array, respectively. For example, we use babble noise to simulate diffuse noise derived from the meeting room.