所有節目›AI Engineer Europe 2026World's Fair 2026World's Fair 線上軌AI in HealthcareSoftware Factories
Beyond Transcription: Building Voice AI That Understands Conversations在 YouTube 看這一場

AI Engineer Europe 2026 · 演講 · 2026-06-05 · 25 分

不只轉錄,讓語音 AI 聽懂對話

Beyond Transcription: Building Voice AI That Understands Conversations · Hervé Bredin,pyannoteAI

pyannote 作者談說話者分離:誰在何時、怎麼說,為什麼比逐字稿更能讓下游理解對話,以及它和語音轉文字對齊時為何常出錯。

語音架構看原片 ↗

概要

  • 「誰說了什麼」常和內容一樣重要Hervé 舉影片自動配音、會議記錄、跨集追蹤 podcast 來賓為例,說明少了說話者資訊,這些應用都做不起來。
  • 時間點與說話方式也是資訊打斷、簡短的附和、停頓、笑、咳嗽、重音,都會改變一段話的意思,Hervé 認為語音 AI 應該把這些細節交給下游的 LLM。
  • 說話者分離至今沒解決事先不知道有幾個人、系統只輸出「說話者一、二、三」而不是名字、還有重疊說話與極短發言,讓問題很難。Hervé 提到最好的系統在餐廳多人聊天的場景仍有 41% 的 diarization error rate。
  • 轉錄模型多半只看過單人語音Hervé 展示 NVIDIA Parakeet 在排行榜上是 11.4% 字錯率,在 AMI 的桌面麥克風錄音上他們量到 26%。
  • 難點在對齊轉錄和分離的時間戳不一致,重疊說話也轉不好,所以把兩邊結果合起來並不像看起來那麼簡單。現場用 Python notebook 示範他們的 STT orchestration 如何處理。

原話

  • “there are many cases where knowing who said what is as important as what was said actually”

    很多情況下,知道誰說了什麼和說了什麼一樣重要

    ▶ 03:11
  • “this is the kind of small speech turn that you don't want to miss because sometimes they actually convey the most important information of the conversation”

    這種很短的發言不能漏掉,因為有時它們傳達的正是對話裡最重要的資訊

    ▶ 09:41
  • “even though the community has been working on this topic for a long time now, it's still not solved”

    雖然社群已經做了很久,這個問題仍然沒有解決

    ▶ 11:41
  • “most speech-to-text models are actually trained on single-speaker data”

    多數語音轉文字模型其實是用單人資料訓練的

    ▶ 17:12
  • “it's supposed to work with any STT, even fine-tune ones that you might have internally”

    它設計成可以搭配任何語音轉文字模型,連你們內部微調過的也行

    ▶ 24:26

延伸

  • Hervé 說 pyannote 的 GitHub star 在 Whisper 開源後明顯轉折,現在快要一萬顆。
  • 重音的例子是「the dog ate the cake」:孩子把重音放在不同的字上,意思就不一樣,所以這類細節也該交給下游。
  • 轉錄在多人錄音上出錯,Hervé 另外列了遠距麥克風、換人、搶話、打斷,以及一句話中途換語言。

章節

點時碼直接跳到原片的那一段。

  1. 自我介紹與 pyannoteHervé 兩年前才離開學術界創業,自己做的開源工具 pyannote 在 Whisper 開源後被拿來補上說話者標籤。
  2. 從轉錄到說話者標註語音轉文字只回答「說了什麼」,沒有名字的逐字稿很難讀;下一步是替每個字標上說話者。
  3. 為什麼要知道誰說的影片配音要把聲音配給正確的人,會議記錄要分派待辦,podcast 還可以追蹤同一位來賓跨集出現。
  4. 加上「什麼時候」沒有精確時間就看不出誰打斷誰、誰在附和,也看不出停頓。
  5. 加上「怎麼說」與「對誰說」笑、咳嗽、重音、說話對象和環境音,都能補充語境給下游工具。
  6. Hugging Face 下載榜Hervé 篩出有 audio 標籤的模型、照下載數排序,下載最多的七個模型裡,前三個和說話者身分、分離有關,其餘是語音轉文字。
  7. 說話者分離怎麼做先偵測有沒有人在說話,再切成發言片段、找換人的點與打斷、附和等短發言,最後替每段指派說話者。
  8. 為什麼這題很難不知道有幾個人、輸出的標籤可以互換、還要處理重疊與極短發言,所以社群做了很久仍未解決。
  9. Demo 一:評估分離結果在 notebook 裡用兩位女士的電話錄音,比對人工標註,拆出混淆、誤報、漏報三種錯誤並算 DER,開源模型約 5%,雲端 API 的模型約 3%。
  10. 現在的水準表現隨場景差很多,餐廳裡多人又有背景噪音時,最好的系統仍有 41% 的錯誤率。
  11. 為什麼對齊不容易多數語音轉文字模型只用單人資料訓練;Parakeet 在排行榜 11.4%,在 AMI 桌面麥克風上是 26%,差在排行榜用的是頭戴麥克風。
  12. Demo 二:逐字與說話者合併Parakeet 的逐字結果每個字都有時間戳,但落在兩段發言之間的字,不知道該歸給誰。
  13. STT orchestration同時呼叫分離模型和 Parakeet,由他們的雲端 API 處理合併;重疊的那一小段也能把兩人的字交錯排對。
  14. 結尾與教學資源示範用的 notebook 放在 GitHub 教學庫,內容涵蓋開源的分離工具、評估工具、視覺化元件與付費模型的 SDK。
  15. 問答聽眾問怎麼解決對齊,Hervé 說細節不公開,但有一部分已放進開源模型;另一個回答說明這套做法不綁特定的轉錄模型。

名詞

pyannote
Hervé 做的開源說話者分離工具,因為 Whisper 開源後缺少說話者標籤而廣受使用,現在的公司也用這個名字
speaker diarization
回答「誰在什麼時候說話」,輸出的是說話者一、二、三這類標籤,不是真實姓名
speaker-attributed transcription
在逐字稿上替每個字標上說話者,回答「誰說了什麼」
DER
diarization error rate,把混淆、誤報、漏報加起來,除以總說話時間
Whisper
OpenAI 開源的語音轉文字模型,免費而且品質好,但不提供說話者標籤
Parakeet
NVIDIA 的語音轉文字模型,示範裡用來產生帶時間戳的逐字結果
AMI
四到五人開會的資料集,同時有頭戴麥克風與桌面中央麥克風的錄音
community-1
pyannote 的開源模型,示範裡在自己的 Mac 上執行
Precision-2
示範裡透過雲端 API 呼叫的付費分離模型,表現比 community-1 好
STT orchestration
pyannoteAI 把分離模型與任意語音轉文字模型串起來並處理對齊的服務
exclusive diarization
community-1 內建的做法:遇到重疊說話時,挑出較可能被轉錄的那位,讓對齊容易一點

相關影片 同屬「語音架構」