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

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目