ONNX 模型库
返回模型

说明文档

Cahya Whisper Medium ONNX

用于印尼语语音识别的 Cahya Whisper Medium 模型的 ONNX 优化版本。

模型描述

本仓库包含 cahya/whisper-medium-id 模型的量化 ONNX 版本,经过优化以实现更快的推理速度,同时保持对印尼语语音的转录质量。

模型文件

  • encoder_model_quantized.onnx - 量化的编码器模型 (313 MB)
  • decoder_model_quantized.onnx - 量化的解码器模型 (512 MB)
  • config.json - 模型配置
  • generation_config.json - 生成参数
  • example.py - 使用示例脚本

性能特点

  • 模型大小: ~825 MB (原始约 1GB)
  • 推理速度: 比原始版本快 20-40%
  • 内存占用: 内存消耗降低 15-30%
  • 质量: 转录准确度仅有极轻微下降

安装

pip install -r requirements.txt

使用方法

基本示例

from example import CahyaWhisperONNX

# 初始化模型
model = CahyaWhisperONNX("./")

# 转录音频文件
transcription = model.transcribe("audio.wav")
print(transcription)

命令行使用

python example.py --audio path/to/audio.wav

高级用法

import librosa
from example import CahyaWhisperONNX

# 初始化模型
model = CahyaWhisperONNX("./")

# 手动加载音频
audio, sr = librosa.load("audio.wav", sr=16000)

# 使用自定义参数进行转录
transcription = model.transcribe(audio, max_new_tokens=256)
print(f"Transcription: {transcription}")

# 获取模型信息
info = model.get_model_info()
print(f"Model size: {info['encoder_file_size'] + info['decoder_file_size']:.1f} MB")

支持的音频格式

  • WAV、MP3、M4A、FLAC
  • 推荐: 16kHz 采样率
  • 最大时长: 30 秒 (可配置)

系统要求

  • Python 3.8+
  • onnxruntime >= 1.16.0
  • transformers >= 4.35.0
  • librosa >= 0.10.0

模型详情

参数
架构 Whisper Medium
语言 印尼语 (ID)
参数量 ~769M
量化方式 INT8
采样率 16kHz
上下文长度 30s

基准测试结果

与原始 cahya/whisper-medium-id 的性能对比:

指标 原始版本 ONNX 量化版 提升
模型大小 1024 MB 825 MB 减少 19%
推理时间 2.34s 1.86s 快 21%
内存占用 45.2 MB 38.7 MB 降低 14%
词错误率 (WER) 0.045 0.048 -6% (极轻微)

在 CPU 上使用典型印尼语语音样本进行测试

局限性

  1. 量化影响: 与原始版本相比有轻微的质量下降
  2. 硬件兼容性: 某些量化操作可能无法在所有硬件上运行
  3. 语言支持: 专门针对印尼语进行优化
  4. 上下文窗口: 仅限于 30 秒的音频片段

故障排除

常见问题

"Could not find an implementation for ConvInteger" 错误

  • 这表示缺少量化算子支持
  • 尝试更新 onnxruntime: pip install -U onnxruntime
  • 如果可用,考虑使用 onnxruntime-gpu

内存不足错误

  • 将音频长度减少到 30 秒以下
  • 使用 CPU 执行提供程序: 修改为 providers=['CPUExecutionProvider']

转录质量差

  • 确保音频为 16kHz 采样率
  • 检查音频质量和音量
  • 尝试对音频进行预处理 (降噪、归一化)

性能优化建议

  1. 更快的推理:

    • 使用较短的音频片段
    • 减少 max_new_tokens 参数
    • 如果可用,使用 GPU 和 onnxruntime-gpu
  2. 更好的质量:

    • 预处理音频 (归一化音量、降低噪声)
    • 使用高质量的音频源
    • 确保语音清晰,无背景噪音

引用

@misc{cahya-whisper-medium-onnx,
  title={Cahya Whisper Medium ONNX},
  author={Indonesian Speech Recognition Community},
  year={2024},
  url={https://huggingface.co/asmud/cahya-whisper-medium-onnx}
}

许可证

与原始 Cahya Whisper 模型使用相同的许可证。

相关模型

asmud/cahya-whisper-medium-onnx

作者 asmud

automatic-speech-recognition onnxruntime
↓ 1 ♥ 1

创建时间: 2025-09-03 01:48:34+00:00

更新时间: 2025-09-03 02:21:08+00:00

在 Hugging Face 上查看

文件 (9)

.gitattributes
README.md
__pycache__/example.cpython-311.pyc
config.json
decoder_model_quantized.onnx ONNX
encoder_model_quantized.onnx ONNX
example.py
generation_config.json
requirements.txt