Configuration Parsing Warning:Invalid JSON for config file config.json

DiariZen Speaker Segmentation - AX650 Deployment

CPU+NPU hybrid speaker diarization segmentation for AX650 NPU.

Model

Pipeline

Audio (16kHz mono, any length)
  โ†’ CPU: resample โ†’ 4s sliding window โ†’ LayerNorm
  โ†’ AX650 NPU: CNN feature extractor (7 conv, U16, 17.7ms)
  โ†’ CPU: WavLM Transformer (24L) + Conformer (4L) + Classifier (251ms)
  โ†’ Log-probabilities (1, 199, 11) per window

Performance

Stage Time Hardware
CNN 17.7 ms AX650 NPU @1GHz
Backend 251 ms CPU ONNX Runtime
Total 269 ms 14.9x real-time

Accuracy

End-to-end cosine: 0.9997 vs full FP32 reference.

Directory

models/          cnn_features.axmodel + backend.onnx
python/          Python SDK (diarizen_sdk)
cpp/             C++ SDK (diarizen_segmenter)
model_convert/   ONNX export + Pulsar2 compile config
reports/         SDK and simulation reports

Quick Start

pip install -r python/requirements.txt
python python/diarizen_sdk/example.py audio.wav \
  --cnn-model models/cnn_features.axmodel \
  --backend-model models/backend.onnx

Known Limitations

  • 4s fixed window; longer audio requires sliding window stitching.
  • CNN requires U16 quantization (U8 insufficient accuracy).
  • Transformer + Conformer run on CPU (NPU backend limitation with WavLM attention ops).
  • pos_conv_embed Conv (kernel=128, NLC layout) incompatible with NPU; included in CPU backend.
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Collection including AXERA-TECH/DiariZen