istupakov/onnx-asr
A lightweight Python package for Automatic Speech Recognition using ONNX models
解決的問題
onnx-asr 是一個輕量級的 Python 套件,旨在讓自動語音識別 (ASR) 的部署變得快速且簡單。它移除了語音轉文字通常關聯的沉重依賴項,例如 PyTorch、Transformers 或 FFmpeg,讓 ASR 模型可以在從小型 IoT/邊緣裝置到強大的 GPU 伺服器等各種設備上執行。
工作原理
本專案提供了必要的預處理(log-mel spectrograms)與解碼(greedy search)實作,用於執行匯出為 ONNX 格式的現代 ASR 模型。它支援廣泛的架構,包括 NVIDIA NeMo (Parakeet, Canary)、GigaAM、Kaldi Icefall Zipformer、Wav2Vec2 以及 OpenAI Whisper。
適用對象
需要在 Python 中實作語音識別,且希望避免大型 ML 框架開銷的開發人員,特別是針對 Windows、Linux 與 macOS 上的邊緣裝置、IoT 或高效能伺服器環境的開發人員。
亮點
- 極簡依賴:僅需要 NumPy 與 ONNX Runtime,避免了使用 PyTorch 等沉重框架。
- 廣泛的硬體支援:相容於 x86 與 Arm CPU,並支援透過 CUDA、TensorRT、CoreML、DirectML、ROCm 與 WebGPU 進行加速。
- 靈活的模型載入:可以直接從 Hugging Face 或本地目錄載入模型,包括量化版本。
- 進階 ASR 功能:支援批次處理、Token 級時間戳、對數機率,以及透過語音活動檢測 (VAD) 進行長音訊識別。
- 廣泛的模型支援:相容於 NeMo Conformer、GigaAM 與 Whisper 等各種現代架構。
相關
- 專案
- 專案
- 專案
- 專案
- 專案