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 等各种现代架构。
相关
- 项目
- 项目
- 项目
- 项目
- 项目