altunenes/parakeet-rs

very fast speech-to-text, diarization, streaming (even in CPU) with NVIDIA Parakeet in Rust

What it solves

parakeet-rs 是一個 Rust 函式庫,提供使用 NVIDIA Parakeet 模型與 Cohere Transcribe 透過 ONNX Runtime 的快速、高效能語音辨識 (ASR) 與說話者分割功能。它讓開發者能直接在 Rust 應用程式中整合先進的語音轉文字能力——包括串流、多語言支援與多說話者辨識——而不必自行管理複雜的 AI 模型部署。

How it works

此函式庫充當 ONNX Runtime 的包裝器,讓各種預訓練模型得以執行。支援多種模型架構:

  • CTC/TDT:離線轉錄,提供 token 級別的時間戳記。
  • EOU (End-of-Utterance):即時串流 ASR,偵測說話者何時停止說話。
  • Nemotron:具快取感知的串流 ASR,支援標點與大小寫,提供英文單語系與多語系版本。
  • Multitalker:串流多說話者 ASR,將轉錄結果歸屬至特定說話者。
  • Sortformer:串流說話者分割(辨識最多 4 位說話者的發言時段)。
  • Cohere Transcribe:離線多語言長音檔轉錄。

Who it’s for

需要在軟體中實作語音辨識或說話者分割的 Rust 開發者,特別是追求低延遲串流 ASR 或在 CPU、CUDA、TensorRT、WebGPU 上執行高效能本地推論的使用者。

Highlights

  • 多樣模型支援:整合 NVIDIA Parakeet 與 Cohere 模型,滿足串流與離線等各種使用情境。
  • 硬體加速:支援多種執行提供者,包括 CUDA、TensorRT、WebGPU、DirectML 與 CPU。
  • 大小寫與標點:Nemotron 模型可產生具正確大小寫與標點的精緻輸出。
  • 說話者歸屬:結合 ASR 與 Sortformer,實現說話者分割與多說話者轉錄。
  • Token 級別時間戳:在 CTC 與 TDT 模型中提供每個字詞/ token 的精確時間資訊。