sherpa-onnx-ced-mini-ax650

CED (CNN-based Encoder-Decoder) audio tagging model converted to AX650 AXMODEL for on-device inference via sherpa-onnx. Detects 527 AudioSet event classes.

Model Details

  • Original Model: k2-fsa/sherpa-onnx-ced-mini-audio-tagging-2024-04-19
  • Architecture: CED (CNN-based Encoder-Decoder) - ConvNeXt style
  • Task: Audio tagging (527 AudioSet event classes)
  • Input: 64-dim mel-spectrogram features, up to 1001 frames (~10s @ 16kHz)
  • Output: 527-class event probabilities
  • Target Chip: AX650 (NPU3)
  • Quantization: U16 (MinMax calibration)

Files

File Size Description
ced-mini.axmodel 11.2 MB AX650 compiled model
class_labels_indices.csv - 527 AudioSet class labels
test.wav - Sample test audio

Performance (AX650)

Metric Value
RTF 0.007
Top-1 Accuracy vs ONNX 100%
Top-5 Accuracy vs ONNX 60%
Max Absolute Error vs ONNX 0.035
ONNX Size (original) 37 MB
AXMODEL Size 11.2 MB
Compression Ratio 3.3x

Tested on AX650 NPU3 with 3-second 16kHz mono audio.

Usage with sherpa-onnx

./sherpa-onnx-offline-audio-tagging \
  --ced-model=ced-mini.axmodel \
  --labels=class_labels_indices.csv \
  --provider=axera \
  test.wav

Or via Python:

import sherpa_onnx

config = sherpa_onnx.AudioTaggingConfig()
config.model.ced = "ced-mini.axmodel"
config.model.provider = "axera"
config.labels = "class_labels_indices.csv"

tagger = sherpa_onnx.AudioTagging(config)
stream = tagger.create_stream()
stream.accept_waveform(16000, samples)
results = tagger.compute(stream)

Conversion Details

  • Pulsar2 Version: 6.0 (48520c11)
  • Input Shape: [1, 64, 1001]
  • Calibration: 10 random mel-spectrogram samples

License

Apache 2.0

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for inoryQwQ/sherpa-onnx-ced-mini-ax650

Finetuned
(1)
this model

Collection including inoryQwQ/sherpa-onnx-ced-mini-ax650