FastConformer CTC (Arabic) β ONNX export
An ONNX export of NVIDIA's Arabic FastConformer, repackaged so it can run on-device inside a mobile app. The weights are not retrained, fine-tuned, or otherwise altered β only the packaging format changed.
Used by an Indonesian habit-tracker app to check Qur'an recitation entirely offline, with no audio leaving the device.
Attribution
This work is a modified version of:
- Model:
nvidia/stt_ar_fastconformer_hybrid_large_pcd_v1.0 - Creator: NVIDIA Corporation
- Copyright: Β© NVIDIA Corporation
- License: Creative Commons Attribution 4.0 International (CC BY 4.0)
This repository is likewise licensed CC BY 4.0. If you use it, carry this attribution forward.
NVIDIA does not endorse this repository or the application that uses it. The NVIDIA name appears here solely to attribute the original work, as CC BY 4.0 requires; no trademark rights are claimed or granted.
Changes made to the original
- Restored the
.nemocheckpoint and exported the CTC branch to ONNX via NeMo (change_decoding_strategy("ctc")+set_export_config), so the graph emitslogprobsdirectly instead of the RNN-T/transducer path. - Set the ONNX
ir_versionto 9 β metadata only, the 2152-node graph is untouched. ONNX Runtime as bundled in the Flutteronnxruntimeplugin rejects IR 10. - Exported the SentencePiece vocabulary to a plain
tokens.txt(1024 pieces).
No weights were changed at any step. The export script is published alongside the app source.
Files
| File | Size | Notes |
|---|---|---|
nvidia_ctc_int8.onnx |
~460 MB | fp32 despite the filename. See below. |
About the filename. The file is fp32, not int8. An int8 build (~132 MB) was produced first but could not be loaded on Android: that ONNX Runtime build has no
ConvIntegerimplementation. The fp32 graph uses ordinary float ops and loads everywhere. The name was kept so the download URL baked into already-shipped app builds stays valid.
Signature
INPUT audio_signal (B, 80, T) log-mel, 80 bins
length (B,)
OUTPUT logprobs (B, T, 1025) 1024 SentencePiece pieces + CTC blank
Preprocessing must match NeMo: 80-bin log-mel at 16 kHz, pre-emphasis 0.97, per-feature normalisation. Decoding is standard CTC greedy collapse, blank = class 1024.
Disclaimer
Provided as-is, without warranties or conditions of any kind, either express or implied, to the extent permitted by the licensor. See the CC BY 4.0 text for the full disclaimer of warranties and limitation of liability.
Ringkasan (Bahasa Indonesia)
Berkas ini adalah ekspor ONNX dari model FastConformer bahasa Arab milik NVIDIA Corporation, berlisensi CC BY 4.0. Bobotnya tidak dilatih ulang maupun diubah β yang berubah hanya kemasannya, supaya bisa dijalankan langsung di ponsel.
Yang diubah: cabang CTC diekspor ke ONNX lewat NeMo, ir_version diturunkan ke
9 (murni metadata), dan kamus SentencePiece dikeluarkan jadi tokens.txt.
NVIDIA tidak mendukung atau berafiliasi dengan repositori ini maupun aplikasi yang memakainya. Namanya dicantumkan semata sebagai atribusi yang diwajibkan lisensi.