---
abstract: 'A novel framework for meeting transcription using asynchronous microphones is proposed in this paper. It consists of audio synchronization, speaker diarization, utterance-wise speech enhancement using guided source separation, automatic speech recognition, and duplication reduction. Doing speaker diarization before speech enhancement enables the system to deal with overlapped speech without considering sampling frequency mismatch between microphones. Evaluation on our real meeting datasets showed that our framework achieved a character error rate (CER) of by using 11 distributed microphones, while a monaural microphone placed on the center of the table had a CER of . We also showed that our framework achieved CER of , which is only 2.1 percentage points higher than the CER in headset microphone-based transcription.'
address: ' Hitachi, Ltd. '
bibliography:
- 'mybib.bib'
title: |
    Utterance-Wise Meeting Transcription System\
    Using Asynchronous Distributed Microphones
---

**Index Terms**: meeting transcription, speech recognition, speaker diarization, asynchronous distributed microphones

Introduction
============

Meeting transcription is one practical use case of automatic speech recognition (ASR). Difficulties are i) that input audio signals suffer from reverberation and background noise because each utterance is recorded by distant microphones and ii) that they also suffer from speech overlap because each participant speaks at any time. To transcribe speech in such a wild condition, a powerful speech enhancement module is necessary. Most meeting transcription systems are therefore based on a microphone array [@stolcke2007sri; @hain2011transcribing; @ito2017probabilistic; @yoshioka2018recognizing], sometimes one with an omnidirectional camera [@hori2011low; @yoshioka2019advances] for face tracking. This means that the system requires special equipment to be introduced. If the microphone arrays can be replaced by more general devices, such as participants’ smartphones or tablets, the usability of the system will be drastically improved. When such devices are distributed to transcribe a meeting, the problem is that they are asynchronous, and speech separation methods for synchronized signals cannot be simply applied.

Recently, some methods of meeting transcription using asynchronous distributed microphones have been proposed. One is the session-wise approach proposed by Araki [@araki2017meeting; @araki2018meeting]. They first synchronized multichannel observations by solving sampling frequency mismatch, then applied session-wise speech enhancement using the minimum variance distortionless response (MVDR) beamformer, then fed the enhanced signals into an ASR module to obtain the final transcription results. They showed that speech enhancement using asynchronous distributed microphones improved the ASR performance [@araki2017meeting; @araki2018meeting]. The MVDR beamformer is a frequency-wise algorithm, however, so the well-known permutation problem of frequency-domain has to be solved. The common approach for multi-speaker cases is to prepare initial spatial correlation matrices from audio data with a fixed number of speakers and their positions [@higuchi2017online]. Therefore, when the number of speakers in the inference audio is different from, especially larger than, that in the training set, we cannot provide initial spatial correlation matrices. If we cannot obtain such spatial correlation matrices beforehand, we have to solve the permutation problem as a post-processing [@sawada2004robust; @sawada2010underdetermined], but there are few reports that these methods perform well on real noisy and reverberant data.

Another is the block-wise approach proposed by Yoshioka [@yoshioka2019meeting]. They synchronized input audio streams in a block-online manner and then applied block-wise speech separation. The separated audios are input into the ASR module, which is followed by speaker diarization. The benefit of this approach is that the effect of sampling frequency mismatch can be ignored within a block when the block is short enough because the scale of sampling frequency mismatch is about (parts per million) at most [@miyabe2015blind; @araki2019estimation]. However, their speech separation uses speech-vs-noise criteria and thus cannot deal with multiple speakers speaking simultaneously.

This paper investigates the utterance-wise approach, which is different from the session-wise or block-wise approaches described above. We first roughly synchronized audio signals recorded by distributed microphones and then applied speaker diarization. Speaker diarization is based on the clustering of features extracted from short segments, but we use features extracted from all the signals recorded by each microphone so that it can deal with overlapped speech. Then we applied guided source separation [@boeddeker2018front], which performed well for ASR in a dinner party scenario [@kanda2019guided; @zorila2019investigation]. This separation is conducted for each extracted utterance, which is short enough not to be suffered from sampling frequency mismatch between microphones. We applied ASR for each enhanced utterance, and finally, we conducted duplication reduction for ASR results to reduce the effect of errors on diarization or separation. Our approach can deal with speaker overlap without any methods to correct sampling frequency mismatch in the synchronization phase and solve the permutation problem in the speech enhancement phase. To evaluate our framework, we recorded eight sessions of real meetings using 11 distributed smartphones, each of which was equipped with a monaural microphone. The experimental results showed that our framework improved performance by using multiple microphones. We also showed that our framework could achieve performance comparable to that of headset microphone-based transcription if the oracle diarization results were known.

Method
======

![image](figs/overview.pdf){width="\linewidth"}

We assume that a meeting is recorded by $M$ asynchronous distributed microphones and transcription is based on the known number of speakers $K$ in an offline manner. An overview of our method is shown in . Given $M$ audio signals, we first synchronize them by maximizing their correlation. The correction of sampling frequency mismatch between signals is not conducted in the synchronization part. With the synchronized signals, we conduct clustering-based diarization to obtain utterances for each speaker. After that, we perform speech enhancement for each utterance by using the diarization results as guides to avoid the permutation problem. The enhanced utterances are fed into the ASR module to obtain ASR results. Finally, to reduce errors caused by diarization or separation, we apply duplication reduction for the ASR results. In this section, we explain the details of each module of the system.

Blind synchronization
---------------------

In this part, we conduct a correlation-based synchronization to correct start or end point differences of input signals. This rough synchronization can be operated under the existence of the sampling frequency mismatch. Assume that the observation of the $m$-th microphone ($m\in \{1,\dots,M\}$) is defined as $\hat{\mathbf{x}}_m\coloneqq\left[\hat{x}_{m,n}\right]_{n=1}^{N_m}$. We select an anchor $m_a$ from the $M$ microphones and calculate the shift $\delta_m$ between signals of the anchor $m_a$ and each microphone $m\in\{1,\dots,M\}$ as follows: $$\begin{gathered}
    \delta_m=\begin{cases}
        \operatorname*{arg\,max}_{\delta\in\mathbb{Z}}\sum_\nu x_{m_a,\nu}x_{m,\nu+\delta}&(m\neq m_a)\\
        0 & (m=m_a),
    \end{cases}\\
    x_{m,\nu}=\begin{cases}
        \hat{x}_{m,\nu}&\left(\nu\in\{1,\dots,N_m\}\right)\\
        0&\left(\mathrm{otherwise}\right).\\
    \end{cases}\end{gathered}$$ Synchronized signals $\mathbf{x}_m$ $(m=1,\dots,M)$ are defined in the time interval recorded by all the microphones as follows: $$\begin{aligned}
    \mathbf{x}_m&=\left[\hat{x}_{m,n}\right]_{n=n_\text{begin}+\delta_m}^{n_\text{end}+\delta_m},\\
    n_\text{begin}&=\max_{m'\in\left\{1,\dots,M\right\}}\left(1-\delta_{m'}\right),\\
    n_\text{end}&=\min_{m'\in\left\{1,\dots,M\right\}}\left(N_{m'}-\delta_{m'}\right).\end{aligned}$$ In this study we assume that all the utterances to be transcribed are within the time interval of $\mathbf{x}_m$.

Speaker diarization
-------------------

In this paper, we conduct speaker diarization by clustering vectors. One drawback of the conventional clustering-based diarization using a monaural recording is that it cannot deal with speaker overlap because each timeslot is assigned to one speaker. On the other hand, in our scenario, each meeting has been recorded by distributed microphones. Therefore, even when two speakers spoke simultaneously, it is expected that one microphone could have captured the one speaker’s utterance at a sufficient signal-to-noise ratio (SNR) and another microphone could have captured the other speaker’s utterance at a sufficient SNR. In this study, we extract features from all the signals from all the microphones and conduct clustering for the extracted features all together to deal with speaker overlap.

We first split the synchronized observations $\{\mathbf{x}_m\}_m$ into short segments $\{\mathbf{x}_{m,t}\}_{m,t}$ with of window size and of window shift, where $t=1,\dots,T$ denotes the timeslot index. We apply power-based speech activity detection for each segment; as a result, each segment is classified as either speech or non-speech. From each speech segment, we extract features to be used for clustering. In this study, we concatenate two kinds of features: speaker characteristics based features and power ratio based features.

For features to represent speaker characteristics, we use x-vectors [@snyder2018xvectors], which are used in the state-of-the-art diarization systems [@sell2018diarization; @diez2019bayesian]. We extract x-vectors from the audio of each microphone so that we can obtain different speaker characteristics from the same timeslot; thus we can deal with speaker overlap. Before we use the vectors for clustering, we subtract a mean vector within a session from each x-vector and normalized it to have unit norm. As a result, we obtain microphone and timeslot-wise $D$-dimensional features $\mathbf{c}_{m,t}\in\mathbb{R}^D$.

Although x-vectors from distributed microphones are potentially beneficial to diarize overlapped speech, it becomes a problem that an utterance from the same speaker could be judged as one from multiple speakers because x-vectors suffer from speaker-microphone distance and noisy environments. Thus, we introduce power-based timeslot-wise features $\mathbf{p}_t\coloneqq{\left[p_{1,t},\dots,p_{M,t}\right]^\mathsf{T}}$, where $p_{m,t}$ is the average power at $\mathbf{x}_{m,t}$. This speaker diarization part is a session-level one, so we avoid using phase-based features like GCC-PHAT [@knapp1976generalized] because they suffer from the sampling frequency mismatch.

Final $(D+M)$-dimensional features to be clustered are $$\begin{aligned}
    \mathbf{v}_{m,t}=\left[
    \begin{array}{c}
        \mathbf{c}_{m,t} \\
        \lambda\mathbf{p}_{t}/{\left\lVert\mathbf{p}_t\right\rVert}
    \end{array}\right],
    \label{eq:feature}\end{aligned}$$ where $\lambda$ is the scaling factor to balance the effect of $\mathbf{c}_{m,t}$ and $\mathbf{p}_{t}$. We apply agglomerative hierarchical clustering for the features to divide the speech segments into $K$ clusters. As a result, each feature from a speech segment belongs to one of the clusters $\mathcal{C}_1,\dots,\mathcal{C}_K$, where $\mathcal{C}_k$ corresponds to the speech cluster of $k$-th speaker. We also define the additional noise cluster $\mathcal{C}_{K+1}\coloneqq\{\mathbf{v}_{m,t}\}_{m,t}$. The diarization results including noise $Y=\{y_t^{(k)}\}\in\left\{0,1\right\}^{(K+1)\times T}$ are calculated as $$\begin{aligned}
    y_t^{(k)}=\begin{cases}
    1&\left(\exists m\in\{1,\dots,M\},~\mathbf{v}_{m,t}\in \mathcal{C}_k\right)\\
    0&\left(\mathrm{otherwise}\right).
    \end{cases}\end{aligned}$$

In the diarization results, utterances are sometimes divided into some short fragments due to the existence of backchannels, noises, . In this study, we treat silence of or less between speech fragments from the same speaker as a speech by applying two iterations of binary closing along the time axis.

Here each timeslot in the diarization results corresponds to , which is inconsistent with the signals used in speech enhancement in the next section. Thus, we upsample the diarization results so that each timeslot corresponds to . Hereafter, $Y=\{y_t^{(k)}\}$ denotes the upsampled diarization results.

Speech enhancement
------------------

In this study, we conducted speech enhancement for each utterance by using guided source separation (GSS) [@boeddeker2018front]. While the original GSS utilized oracle speech activities, we instead use estimated diarization results described in the previous section.

We first apply Weighted Prediction Error [@nakatani2010speech] to the input multichannel signals in a short-time Fourier transform (STFT) domain for dereverberation. The frame length and the frame shift for the STFT were set to and , respectively. After that, speech separation by GSS [@boeddeker2018front] using a complex Angular Central Gaussian Mixture Model (cACGMM) [@ito2016complex] is applied. Given $M$-channel observations in the STFT domain $\mathbf{X}_{t,f}\in\mathbb{C}^M$, the probability density function of the cACGMM for the signals is defined as $$\begin{aligned}
    p\left(\hat{\mathbf{X}}_{t,f};\{\alpha_f^{(k)},B_{f}^{(k)}\}_k\right)&=\sum_k \alpha_f^{(k)}\mathcal{A}\left(\hat{\mathbf{X}}_{t,f};B_{f}^{(k)}\right),
    $$ where $\hat{\mathbf{X}}_{t,f}=\mathbf{X}_{t,f}/{\left\lVert\mathbf{X}_{t,f}\right\rVert}$ and $\alpha_f^{(k)}$ is the mixture weight for the $k$-th source of the frequency bin $f$. $\mathcal{A}(\hat{\mathbf{X}};B)$ is a complex Angular Central Gaussian distribution [@kent1997data] parameterized by $B\in\mathbb{C}^{M\times M}$. The cACGMM is optimized by the EM algorithm. At the E-step we calculate posteriors $\gamma_{t,f}^{(k)}$ for each speaker at time-frequency bin as follows: $$\begin{aligned}
    \gamma_{t,f}^{(k)}\leftarrow\frac{\alpha_f^{(k)}y_t^{(k)}\frac{1}{\det\left(B_f^{(k)}\right)}\frac{1}{\left[{\hat{\mathbf{X}}^\mathsf{H}}_{t,f}\left(B_f^{(k)}\right)^{-1}\hat{\mathbf{X}}_{t,f}\right]^M}}{\sum_{k'}\alpha_f^{(k')}y_t^{(k')}\frac{1}{\det\left(B_f^{(k')}\right)}\frac{1}{\left[{\hat{\mathbf{X}}^\mathsf{H}}_{t,f}\left(B_f^{(k')}\right)^{-1}\hat{\mathbf{X}}_{t,f}\right]^M}}.
    \label{eq:e_step}\end{aligned}$$ Here the diarization result $y_t^{(k)}$ works as a guide at this E-step to force the posterior probability to be zero when the speaker $k$ does not speak at time $t$. At the M-step the parameters $\alpha_f^{(k)}$ and $B_f^{(k)}$ are updated as follows: $$\begin{aligned}
    \alpha_f^{(k)}\leftarrow\frac{1}{T}\sum_t\gamma_{t,f}^{(k)},\quad
    B_f^{(k)}\leftarrow M\frac{\sum_t\gamma_{t,f}^{(k)}\frac{\hat{\mathbf{X}}_{t,f}{\hat{\mathbf{X}}^\mathsf{H}}_{t,f}}{{\hat{\mathbf{X}}^\mathsf{H}}_{t,f}\left(B_f^{(k')}\right)^{-1}\hat{\mathbf{X}}_{t,f}}}{\sum_t\gamma_{t,f}^{(k)}},\end{aligned}$$ where ${(\cdot)^\mathsf{H}}$ denotes Hermitian transpose. To solve the permutation problem, of audios before and after each segment are used as “context”. After 10 iterations of optimization, we calculate the spatial covariance matrices for speech and noise as follows: $$\begin{aligned}
    R_{f}^\text{speech}&=\frac{1}{T}\sum_t \gamma_{t,f}^{(k_\text{target})}\mathbf{X}_{t,f}{\mathbf{X}^\mathsf{H}}_{t,f}\in\mathbb{C}^{M\times M},\\
    R_{f}^\text{noise}&=\frac{1}{T}\sum_t \left(1-\gamma_{t,f}^{(k_\text{target})}\right)\mathbf{X}_{t,f}{\mathbf{X}^\mathsf{H}}_{t,f}\in\mathbb{C}^{M\times M}.\end{aligned}$$ Here we assume that the target speaker is $k_\text{target}\in\{1,\dots,K\}$. The MVDR beamformer $\mathbf{w}_f$ is calculated using the spatial covariance matrices as $$\begin{aligned}
    \mathbf{w}_f&=\frac{{R_f^\text{noise}}^{-1}R_f^\text{speech}\mathbf{r}}{{\mathrm{tr}\left\{{R_f^\text{noise}}^{-1}R_f^\text{speech}\right\}}},\label{eq:beamformer}\end{aligned}$$

where $\mathbf{r}$ is an one-hot vector that corresponds to the reference microphone. Finally, Blind Analytic Normalization (BAN) postfilter [@warsitz2007blind] is applied for $\mathbf{w}_f$ to obtain the final beamformer, which is used for speech enhancement. The enhanced utterance in the STFT domain is calculated as $$\begin{aligned}
    z_{t,f}={\mathbf{w}_f^\mathsf{H}}\mathbf{X}_{t,f}.\end{aligned}$$

Speech recognition
------------------

For each enhanced utterance, we apply ASR consisting of a CNN-TDNN-LSTM acoustic model (AM) [@kanda2018lattice] followed by 4-gram-based and recurrent neural network-based language models (LMs) [@kanda2017investigation]. The AM takes 40-dimensional log-scaled Mel-filterbank and 40-dimensional Mel-frequency cepstral coefficients as input audio features. 100-dimensional i-vectors are also fed into the AM for online adaptation for speaker and environment [@saon2013speaker]. It was trained by 1700 hours of Japanese speech corpus using the lattice-free maximum mutual information criterion [@povey2016purely]. The LMs were trained by transcriptions of the corpus used for AM training and the Wikipedia corpus.

Duplication reduction
---------------------

The diarization and speech enhancement is not perfect, so the same transcription is sometimes included in multiple estimated utterances. Therefore, we apply duplication reduction for the ASR results. Widely used ensemble techniques such as ROVER [@fiscus1997post] and confusion network combination [@evermann2000posterior] are for the different ASR results obtained from the same utterance; thus, they cannot be used in this situation where the utterances to be merged have different start and end points. To overcome this issue, we propose a combination technique for such utterances which have different time intervals. We first find which pairs of utterances should be merged. Given the set of $U$ ASR results $\mathcal{W}=\{(\mathbf{w}_u, k_u, t_u^\mathrm{s}, t_u^\mathrm{e})\}_{u=1}^U$, where $\mathbf{w}_u$, $k_u$, $t_u^\mathrm{s}$, and $t_u^\mathrm{e}$ denote the sequence of words, speaker, start time, and end time of $u$-th result, respectively, we calculate an adjacency matrix $A=\{a_{i,j}\}_{i,j}\in\{0,1\}^{U\times U}$ as follows: $$\begin{aligned}
    a_{i,j}&=\begin{cases}
        1&(\max{(t_i^{\mathrm{s}},t_j^{\mathrm{s}})}<\min{(t_i^{\mathrm{e}}, t_j^{\mathrm{e}})}~\land\\
        &\quad s\left(\mathbf{w}_i, \mathbf{w}_j\right)>\tau~\land~k_i\neq k_j)\\
        0&(\mathrm{otherwise}),
    \end{cases}
    \label{eq:adjacency_matrix}\end{aligned}$$ where $\tau\in[0,1]$ is the threshold value. Here $s\left(\mathbf{w}_i,\mathbf{w}_j\right)$ is the similarity between $\mathbf{w}_i$ and $\mathbf{w}_j$ defined as follows: $$\begin{aligned}
    s\left(\mathbf{w}_i,\mathbf{w}_j\right)\coloneqq\frac{\max\left({\left\lvert\mathbf{w}_i\right\rvert},{\left\lvert\mathbf{w}_j\right\rvert}\right)-d\left(\mathbf{w}_i,\mathbf{w}_j\right)}{\min\left({\left\lvert\mathbf{w}_i\right\rvert},{\left\lvert\mathbf{w}_j\right\rvert}\right)},\end{aligned}$$ where $d(\mathbf{w}_i, \mathbf{w}_j)$ is the Levenshtein distance between $\mathbf{w}_i$ and $\mathbf{w}_j$, and ${\left\lvert\mathbf{w}\right\rvert}$ denotes the number of words in $\mathbf{w}$. With this adjacency matrix, all the elements in $\mathcal{W}$ can be clustered into $C$ clusters. We denote the clustering result as $\mathcal{C}=\{c_u\}_{u=1}^{U}\in\{1,\dots,C\}^U$, which fulfill $c_i=c_j$ if a path between $i$-th and $j$-th elements exists in $A$ and $c_i\neq c_j$ otherwise. Assuming that $\mathcal{W}_{k,c}\subseteq\mathcal{W}$ is the set of ASR results which belong to the cluster $c$ and are uttered by speaker $k$, we obtain the representative speaker $k^c$ of the cluster $c$ by $$\begin{aligned}
    k^c&=\operatorname*{arg\,max}_{k\in\{1,\dots,K\}}f(\mathcal{W}_{k,c}),\end{aligned}$$ where $f(\cdot)$ is the selection function. In this study, we select the speaker with the longest utterance(s), , $f(\mathcal{W}_{k,c})=\sum_{(\mathbf{w},k,t^\mathrm{s},t^\mathrm{e})\in\mathcal{W}_{k,c}}{{\left\lvert\mathbf{w}\right\rvert}}$. The set of de-duplicated ASR results $\mathcal{W}'$ can be obtained as follows: $$\begin{aligned}
    \mathcal{W}'&=\bigcup_{c\in\{1,\dots,C\}}\mathcal{W}_{k^c,c}.\end{aligned}$$

Experiments
===========

Data
----

![Recording environment. - denote smartphones, each of which is equipped with a monaural microphone.[]{data-label="fig:recording_environment"}](figs/recording_environment.pdf){width="0.8\linewidth"}

To evaluate the performance of our method, we collected eight sessions of real meeting data. The recording environment is shown in . Each session had at most eight participants and was recorded by 11 smartphones distributed on the table. Each smartphone was equipped with a monaural microphone to record meetings at / 16 bit. Each participant wore a headset microphone, and the groundtruth transcriptions were based on the headset recordings. The statistics of collected data are shown in . The recordings correspond to about two hours of meetings with an average overlap ratio of .

Results
-------

We investigated various combinations of asynchronous distributed microphones: 2 microphones (& in ), 3 microphones (&&), 6 microphones (-), and 11 microphones (-). For comparison, we also evaluated the performance of one monaural microphone () and of headset microphones that the participants wore during each session.

The character error rates (CERs) obtained using various microphone combinations in each session are shown in . In these experiments, the weighting parameter $\lambda$ in was set to $1.0$. By using multiple microphones, we could have reduced CERs, especially by using a large number of microphones. Note that in two-, three-, and six-microphone settings, using more microphones not always resulted in better CERs. This is because the sets of microphones in these settings are disjoint and the CERs highly depended on the positions of microphones and speakers. On the other hand, we observed the best CERs in almost every session by using all the 11 microphones. This result indicated that adding microphones has almost no negative effect on CERs. In , we also showed CERs with 11 microphones in the case when oracle diarization was used for GSS. It achieved the CER of , which is only 2.1 percentage points worse than the CER of obtained using headset microphones. It can be said that our method can potentially achieve nearly headset-level CERs when it is used with a more powerful diarization method [@fujita2019end2; @medennikov2020stc; @horiguchi2020endtoend].

In we show the average CERs over sessions with various weighting parameters $\lambda$ in . Combinations of speaker characteristics based features and power ratio based features improved transcription performance, especially when the number of microphones is smaller and the power ratio thus has less information about the directions of speakers.

Finally, we conducted ablation studies by removing binary closing in diarization, speech enhancement by using recordings of the reference microphone instead, and duplication reduction, respectively. Here we used 11 microphones with $\lambda=1.0$. The results are shown in . We found 1.9, 9.1, and 3.2 percentage points degradation from the baseline by removing binary closing, speech enhancement, and duplication reduction, respectively. From there results, we concluded that these three components contributed to the improvement of the CER.

The oracle diarization was used for speech enhancement.

\

Conclusions
===========

In this paper, we proposed a meeting transcription system based on utterance-wise processing using asynchronous distributed microphones. It consists of the following modules: blind synchronization, speaker diarization, speech enhancement, speech recognition, and duplication reduction. Evaluation on the real meeting data showed the effectiveness of our framework and its components, and also showed that it could perform comparably to the headset microphone-based transcription if the oracle diarization was given. The future perspective of this research is to operate this framework in an online manner.
