iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0

▋前言


在前幾天的實驗中,我們使用了 Switchboard 資料集來測試系統的多講者辨識能力。然而,這次遇到了一個特別的狀況:我們取得的音檔並非「混音版本」,而是雙方講者各自獨立錄下的音檔 (sw02001A.wav 與 sw02001B.wav)。
雖然音檔長度相同、時間軸一致,但由於沒有實際混音,導致模型分析結果分離,難以整體判讀。這也揭示了「資料格式一致性」在語音 AI 系統中的關鍵性。

▋內容


這次測試中,我們發現以下三個主要挑戰:

  1. 語者分離(Diarization)失效

    • 每個音檔僅包含單一講者聲音,NeMo 無法判斷多講者結構。
    • 導致模型輸出只有一個標籤(通常是 Speaker 0)。
  2. 情緒分析結果分散

    • 系統會對 A 與 B 各自生成 summarize_emotion.txt。

    • 兩份報告無法合併分析,缺乏「互動關係」資訊。

  3. 時間軸對齊困難

    • 雖然錄音時間長度一致,但缺乏對齊點(例如同時說話瞬間或背景音觸發)。

    • 直接相加會造成語音錯位與重疊。

以結果為例:

sw02001A_summarize_emotion.txt
Speaker 0 → Neutral 60%, Happy 20%, Sad 10%, Angry 10%

sw02001B_summarize_emotion.txt
Speaker 0 → Neutral 40%, Angry 30%, Sad 20%, Happy 10%

這樣的結果雖可觀察各自情緒分佈,但無法呈現雙方互動情緒變化,失去對話動態的意義。

▋改善方向


為了解決這些問題,我們可以做以下修正方向:

  1. 音軌合併 (Audio Merge)

    • 使用 pydub 將 A/B 音檔合併成雙聲道錄音(左 A 右 B)。

    • 使系統可同時處理兩位講者的語音流。

  2. 時間同步 (Time Alignment)

    • 透過 cross-correlation 比對音量峰值或能量波形,微調兩音軌偏移。
  3. 多源分析 (Multi-source Pipeline)

    • 讓系統同時輸入兩聲道音訊,在後處理階段比對 speaker embedding 以對齊結果。

▋下回預告


明天我們將展示合併後的分析成果,看看這樣的修改能否讓模型正確識別雙方講話內容與情緒互動,讓 Switchboard 實驗更貼近真實對話分析情境。

▋參考資料


Switchboard
huggingface hhoangphuoc/switchboard


上一篇
Day 25 AMI Meeting Corpus 資料應用 - 修正語者標籤邏輯與反思
系列文
AI語音辨識系統:結合聲紋分析與情緒識別26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言