繁中

用於實時和本地語音轉文本、翻譯和說話者差異化的開源項目

WhisperLiveKit項目是一個實時語音轉文本系統,集成了最新的研究成果,包括SimulStreaming、WhisperStreaming、Streaming Sortformer和Diart等技術,支持多種語言和說話人識別。

項目居間

「WhisperLiveKit」是一個開源項目(由QuentinFuxa開發),旨在實現 實時 和 當地 語音轉文本、翻譯和 揚聲器差異(揚聲器日記化),伺服器端和Web UI。

也就是說,它可以實時將語言轉換為文本並識別誰在說話,還可以將文本翻譯為其他語言,完全或主要在本地環境中運行(不一定完全依賴於雲服務)。

核心特點:

具體功能包括:

  • 語音轉文本:將語音內容轉換為文本。
  • 翻譯:將口語內容的轉錄翻譯成目標語言。您可以使用Whisper的內部翻譯功能,也可以使用NLLB後台。
  • 揚聲器日記化:識別多人對話中不同發言者的演講段落,並標記「發言者A」和「發言者B」等標籤。
  • 語音活動檢測(VAR):檢測某人是否正在說話,以減少空白或無用的音頻處理負擔。
  • 瀏覽器UI +後台服務:提供前端頁面,可以直接通過瀏覽器記錄/傳輸語音,並顯示實時轉錄/翻譯/說話人識別結果。例如,它還可以通過WebSockets進行集成。

架構和技術細節

一些關鍵技術/架構細節:

  • 同步流媒體,AlignAtt:一種超低延遲轉錄的方法。普通的Whisper模型設計往往是完整的句子或更長的段落,並且在實時的小片段中可能表現不佳。利用「SimStreaming + AlignAtt」等最新研究成果來提高實時性能。
  • NLLB (No Language Left Behind):這是一個大規模多語言翻譯模型,支持翻譯成100多種語言。這可以被選擇作為項目中的翻譯後台。
  • WhisperStreaming、Local協議政策:另一種用於較低延遲識別任務的流媒體方法。
  • 排序者/ Diart:建模用於揚聲器分離/差異化的後台選項。Sortformer是較新的選項,Diart是較舊/替代選項。
  • 可選加速或硬體優化:例如優化後的後台(MLX Whisper),支持Apple Silicon、圖形處理器或處理器運行等。
  • 前端+後台通信通過WebSockets等方法,前端可以獲取實時結果並將其顯示在UI上。

如何用途:

快速入門方法大致如下:

  1.  耳語直播套件 安裝包(pip start)。
  2. 啟動伺服器端,例如命令 whisperlivekit-server --模型庫--語言en.這將啟動接受音頻輸入和輸出文本等的服務。
  3. 在瀏覽器中打開相應的地址(默認 本地主機:8000),前端頁面可以捕獲您的麥克風音頻,然後瀏覽器顯示實時轉錄。
  4. 您可以添加參數來控制是否進行日記化、是否翻譯、選擇模型大小、語言等。
  5. 支持Docker部署用於生產。

優點和局限性

以下是我對該項目的優勢和可能的限制/挑戰的看法。

優點:

  • 實時性強:為了支持低延遲,Whisper針對流/增量處理和緩衝處理進行了優化。適合會議、對話、直播等場景。
  • 本地處理(或部分本地處理): 減少對網絡和雲服務的依賴,這有利於隱私、安全和延遲控制。
  • 說話者差異化+多語言支持:這使得它比ASC更通用。
  • 全套前後端:提供UI +伺服器+可擴展性,用戶可以快速設置和定製。

限制/挑戰

  • 資源消耗:要實現實時識別+翻譯+說話人區分,對模型和計算資源的要求並不低,尤其是在使用大型模型或多語音、多噪音環境下。建議使用圖形處理器或強大的中央處理器。
  • 延遲與精確度之間的權衡:為了減少延遲,在某些情況下可能會犧牲精確性,例如不完整的上下文或句子被不自然地刪減。
  • 語言檢測/翻譯質量因環境而異:語言/口音/背景噪音的識別質量可能會有很大差異。翻譯模型也有局限性。
  • 部署複雜性:雖然可以支持Docker和其他設備,但當大規模部署或在受限硬體(邊緣設備、嵌入式設備)上運行時,可能需要進行大量調整。

應用場景

它可以在以下地方使用:

  • 在線會議的自動字幕和翻譯
  • 教育環境(教室、講座)允許聽力受損或非母語人士了解內容
  • 呼叫中心錄音+自動翻譯+識別不同發言人
  • 播客或採訪錄音+後處理,在顯示轉錄/翻譯的同時錄製
  • 現場直播場景(帶字幕的現場視頻)

Github:https://github.com/QuentinFuxa/WhisperLiveKit

管材:

返回頂端