RealtimeSTT: 一個整合了語音活動檢測與喚醒詞支援的 Python 語音轉文字函式庫

RealtimeSTT: 一個整合了語音活動檢測與喚醒詞支援的 Python 語音轉文字函式庫

它解決了什麼問題

RealtimeSTT 提供了一種簡化流程的方式,將語音轉文字 (STT) 功能整合到 Python 應用程式中。它簡化了處理語音活動檢測 (VAD)、管理音訊串流以及實作喚醒詞的複雜過程,讓開發者能以極少的程式碼將語音轉換為文字。

運作原理

此函式庫的核心是 AudioToTextRecorder 類別,它可以直接從麥克風擷取音訊,或從外部來源(如檔案或 websockets)接收音訊區塊。它使用模組化的引擎系統——預設使用 faster_whisper,但也支援其他多種引擎,例如 kroko_onnxwhisper.cpp——來進行音訊轉錄。它還整合了 VAD(透過 WebRTC 或 Silero)來檢測語音何時開始與結束,並提供選用的喚醒詞檢測(透過 Porcupine 或 OpenWakeWord)來觸發錄音。

適用對象

此工具專為開發 AI 助手、聽寫軟體、基於瀏覽器的串流伺服器,以及需要快速、本地端語音辨識的快速原型開發者所設計。

重點特色

  • 靈活的音訊輸入:同時支援直接麥克風存取與外部 PCM 音訊區塊。
  • 多種引擎支援:相容於廣泛的轉錄引擎,包括 faster_whisper、OpenAI Whisper 與 Kroko-ONNX
  • 整合式 VAD 與喚醒詞:內建對語音活動檢測與可自定義喚醒詞啟動的支援。
  • 事件驅動架構:為錄音、VAD 狀態與轉錄更新提供回呼函數 (callbacks)。
  • Web 伺服器範例:包含一個 FastAPI 參考伺服器,用於實現具備多使用者工作階段隔離功能的瀏覽器端串流。

Sources