speech-core icon

speech-core

speech-core 是一套用於裝置端語音編排的 C++17 函式庫,支援 VAD、串流與批次 STT、說話人分離、TTS 與語音代理流程;可本機執行,並可選用 ONNX Runtime 或 LiteRT 進行模型推論。

speech-core

以 C++17 實現的裝置端語音編排

speech-core 是一套用於裝置端語音編排的 C++17 函式庫,用於建構本機語音系統與語音代理流程。它結合了編排邏輯,以及語音轉文字、文字轉語音、語音活動偵測、說話人分離、增強、回音消除與可選語言模型掛鉤的抽象介面。

此專案設計為在 CPU 上本機執行,並可透過可選的 ONNX Runtime 或 LiteRT 後端加入模型推論。文件將其定位為適用於 Linux、Windows 與 Android 的可攜式核心,而 Apple 支援則透過另一個獨立的 Swift 兄弟函式庫提供。

核心功能

語音代理編排

此函式庫提供一個用於裝置端語音處理的 C++17 語音代理流程,包含輪次偵測、中斷處理、音訊工具與對話追蹤。

單一核心支援多種語音任務

它在同一個核心套件中支援裝置端語音活動偵測、批次轉錄、即時串流轉錄、說話人分離與文字轉語音。

後端彈性

模型推論透過 ONNX Runtime 或 LiteRT 按需啟用,文件也列出各後端可用的特定模型。

以介面為主的設計

編排層只依賴抽象介面,因此呼叫端可插入自訂實作,例如 CPU、GPU、CoreML/MLX 或遠端 API。

跨平台部署

儲存庫包含 Linux、Windows、Android 與 macOS 的平台與後端指引,並附有 CUDA、TensorRT、NNAPI 與 QNN 等硬體加速路徑的說明。

有文件的整合模式

文件中的範例程式碼展示了如何直接使用 C++ 介面進行轉錄、串流部分結果、說話人分離與 TTS 合成。

適用情境

  • 語音代理應用

    建構本機助理流程,偵測語音、串流轉錄、將事件傳遞給 LLM,並產生回應,而不需要把音訊透過雲端服務轉送。

  • 串流語音轉文字

    為桌面或行動應用加入低延遲轉錄功能,包括音訊仍在輸入時就提供部分結果。

  • 說話人分離工作流程

    依說話者切分音訊,用於會議記錄、訪談分析或具說話人分離意識的後處理。

  • 裝置端音訊體驗

    將 VAD 與 TTS 直接嵌入需要本機音訊互動的產品,例如離線助理或嵌入式語音功能。

  • 自訂後端整合

    只整合編排層,並以自訂的 CPU、GPU、CoreML、MLX 或遠端實作替換參考模型。

Pros and Cons

Pros

  • 可在本機執行,不需將音訊送往雲端服務,適合離線或重視隱私的工作流程。
  • 透過純 C++ 介面將編排與模型實作分離。
  • 支援多種語音任務,包括 VAD、串流 STT、說話人分離、TTS 與語音增強。
  • 提供兩種可互換的模型後端,讓使用者更容易選擇符合目標平台的部署路徑。

Cons

  • 模型後端是可選的,因此使用者仍需選擇並接上後端,或提供自己的實作,才能完成端到端語音功能。
  • LiteRT 支援目前文件標示為僅支援 CPU,Hexagon 與 GPU delegate 也註明尚未透過 C API 開放。

FAQ

speech-core 是為了做什麼而設計?

它是一個用於本機語音代理工作流程的 C++17 語音核心,並可選用 ONNX Runtime 與 LiteRT 來實作模型。

它支援哪些平台?

儲存庫文件說明支援 Linux、Windows 與 Android,也提到可透過一個 Swift 兄弟函式庫支援 Apple。

我一定要使用內建的模型後端嗎?

不一定。核心編排層可在沒有模型後端的情況下執行,而使用者可以啟用 ONNX、LiteRT、兩者皆用,或都不用,同時提供自己的實作。

它涵蓋哪些工作流程?

文件展示了批次轉錄、帶部分結果的串流轉錄、語音活動偵測、說話人分離、文字轉語音,以及整合這些元件的語音代理流程。

Quick Facts

類別
開發者工具
語言
C++17
來源
GitHub: soniqo/speech-core
平台
Linux, Windows, Android, macOS
後端
ONNX Runtime, LiteRT
部署
裝置端 / 本機推論