iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

▋前言


在完成語音轉文字後,下一個問題是「誰在說話?」。如果系統無法區分老師與學生的發言,逐字稿與互動分析的價值就會大打折扣。因此,我們在系統中設計了「語者分離 (Speaker Diarization)」模組。

▋內容


語者分離的目標,是將同一段錄音中的不同說話者切分出來,並在文字逐字稿上正確標註「Speaker 0」「Speaker 1」。
https://ithelp.ithome.com.tw/upload/images/20250919/20169058MHcvhm8phv.png

在實務上,語者分離會面臨以下幾個挑戰:

  1. 短句切換:老師與學生快速輪流說話,模型容易誤判成同一人。

  2. 聲音重疊 (overlap speech):兩個人同時開口時,分離準確率下降。

  3. 背景噪音干擾:環境聲音可能影響 VAD 的準確性。

  4. 語者人數不確定:若錄音中多於兩人,分群的複雜度會增加。

  5. 相似聲紋:音色接近的說話者容易被混淆。

為了改善這些問題,我們在前處理階段做了 音訊切分與降噪,同時結合 embedding 模型,來提升說話者分離的精準度。主要步驟如下(請參考下圖 NVIDIA NeMo 提供的語者分離流程):

  1. 語音活性檢測(Voice Activity Detection, VAD)
    負責偵測音訊中「什麼時候有人在說話」,並去除靜音片段。

  2. 分割(Segmentation)
    將連續語音切成片段,方便後續辨識。

  3. 提取講者聲音的嵌入向量(Speaker Embedding)
    使用TitaNet-L模型將語音轉換為向量,代表該說話者的聲紋特徵。

  4. 分群(Clustering)
    根據向量相似度,把同一個人的語音片段歸類在一起。

  5. 多尺度分類解碼器(Multi-scale decoder, MSDD)
    使用深度學習方法整合前面資訊,輸出更穩定的講者標註。

https://ithelp.ithome.com.tw/upload/images/20250919/20169058B23GZp9ONj.png

▋下回預告


下一篇將介紹「語者識別 (Speaker Recognition)」,解釋系統如何在分離後進一步確認「誰是老師、誰是學生」。

▋參考資料


NVIDIA NeMo
A review on speaker diarization systems and approaches
圖片源自競賽成果簡報


上一篇
Day 5 模組一:語音識別 (Speech-to-Text, STT)
系列文
AI語音辨識系統:結合聲紋分析與情緒識別6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言