Skip to content
ModelListedExternal
Download

Nemo Arabic STT Diacritized

An Arabic speech-to-text pipeline that produces fully diacritized (tashkeel) transcripts. It combines two independently developed models in sequence; it is a packaged inference pipeline, not a single jointly trained...

KindOtherVersionRevision ec48631

Model source

Kind
Other
File size
84.3 MB
Version
vRevision ec48631
Updated
Sep 13, 2026
Downloads
10
Source
Hugging Face

Source description

Nemo-Arabic-STT-Diacritized

An Arabic speech-to-text pipeline that produces fully diacritized (tashkeel) transcripts. It combines two independently developed models in sequence; it is a packaged inference pipeline, not a single jointly trained architecture.

Pipeline

  1. Speech recognition: NVIDIA NeMo FastConformer Hybrid (stt_ar_fastconformer_hybrid_large_pcd_v1.0) transcribes Arabic speech to plain, undiacritized text.
  2. Diacritization: CATT (Character-based Arabic Tashkeel Transformer) adds tashkeel to the transcript.

Audio in, diacritized Arabic text out. Neither checkpoint was retrained or fine-tuned for this repository.

Files

FileDescriptionSource
stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemoASR checkpoint, unmodifiedNVIDIA, CC-BY-4.0
best_ed_mlm_ns_epoch_178.ptDiacritizer checkpoint, unmodifiedabjadai/CATT, Apache-2.0
diacritize.py, catt/Diacritizer inference code (vendored from CATT)abjadai/CATT, Apache-2.0
pipeline.pyDiacritizedASR — loads both models once, audio in / diacritized text out in a single callThis repository
server.pyReference FastAPI server implementing the full pipelineThis repository

Usage

from pipeline import DiacritizedASR

model = DiacritizedASR(
    nemo_path="stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemo",
    catt_ckpt="best_ed_mlm_ns_epoch_178.pt",
)
diacritized = model.transcribe("audio.wav")

Both models load once at construction; each .transcribe() call runs ASR followed immediately by diacritization in the same process. For the two steps individually:

import nemo.collections.asr as nemo_asr
from diacritize import Diacritizer

asr_model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.restore_from(
    "stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemo"
)
diacritizer = Diacritizer(ckpt="best_ed_mlm_ns_epoch_178.pt")

text = asr_model.transcribe(["audio.wav"])[0].text
diacritized = diacritizer.diacritize_texts([text])[0]

Or run server.py directly for an HTTP API (POST /transcribe, GET /health).

Example

Input audio (Arabic speech) transcribed and diacritized:

plain:       السلام عليكم ورحمة الله وبركاته كيف يمكنني مساعدتك اليوم؟
diacritized: السَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللَّهِ وَبَرَكَاتُهُ كَيْفَ يُمْكِنُنِي مُسَاعَدَتُكَ الْيَوْمَ؟

Limitations

  • Diacritization quality depends on ASR transcript quality; transcription errors propagate to diacritization.
  • CATT diacritizes using full-sentence context; very short or ambiguous transcripts may diacritize imperfectly.
  • Developed and tested on general Modern Standard Arabic conversational speech, not evaluated on Quranic recitation.

Attribution and License

  • ASR model: NVIDIA, stt_ar_fastconformer_hybrid_large_pcd_v1.0, CC-BY-4.0.
  • Diacritizer: abjadai/CATT, Apache-2.0.
  • This repository (packaging and inference code) is released under CC-BY-4.0, consistent with the ASR model's license and compatible with CATT's Apache-2.0 terms.

Built for the Muslim Arabic voice AI companion project.

Sources

1 source
Hugging FacePrimaryVersion ec48631ed8eb7cb0e873100bf52c2b8e6a7e01a8
huggingface.co/NightPrince/Nemo-Arabic-STT-Diacritized/tree/ec48631ed8eb7cb0e873100bf52c2b8e6a7e01a8

Verified Sep 13

Model artifacts

1 artifact

best_ed_mlm_ns_epoch_178.pt

pt · 84.3 MB · SHA-256 c6297ec54f9a…ac23 · Hugging Face

Download

Source excerpts

2 excerpts

--- license: cc-by-4.0 language: - ar tags: - automatic-speech-recognition - arabic - diacritization - tashkeel - speech pipeline_tag: automatic-speech-recognition --- # Nemo-Arabic-STT-Diacritized An Arabic speech-to-text pipeline that produces fully diacritized (tashkeel) transcripts. It combines two independently developed models in sequence; it is a packaged inference pipeline, not a single jointly trained architecture. ## Pipeline 1. **Speech recognition**: [NVIDIA NeMo FastConformer Hybrid](https://huggingface.co/nvidia/stt_ar_fastconformer_hybrid_large_pcd_v1.0) (`stt_ar_fastconformer_hybrid_large_pcd_v1.0`) transcribes Arabic speech to plain, undiacritized text. 2. **Diacritization**: [CATT](https://github.com/abjadai/catt) (Character-based Arabic Tashkeel Transformer) adds tashkeel to the transcript. Audio in, diacritized Arabic text out. Neither checkpoint was retrained or fine-tuned for this repository. ## Files | File | Description | Source | |---|---|---| | `stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemo` | ASR checkpoint, unmodified | NVIDIA, CC-BY-4.0 | | `best_ed_mlm_ns_epoch_178.pt` | Diacritizer checkpoint, unmodified | abjadai/CATT, Apache-2.0 | | `diacritize.py`, `catt/` | Diacritizer inference code (vendored from CATT) | abjadai/CATT, Apache-2.0 | | `pipeline.py` | `DiacritizedASR` — loads both models once, audio in / diacritized text out in a single call | This repository | | `server.py` | Reference FastAPI server implementing the full pipeline | This repository | ## Usage ```python from pipeline import DiacritizedASR model = DiacritizedASR( nemo_path="stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemo", catt_ckpt="best_ed_mlm_ns_epoch_178.pt", ) diacritized = model.transcribe("audio.wav") ``` Both models load once at construction; each `.transcribe()` call runs ASR followed immediately by diacritization in the same process. For the two steps individually: ```python import nemo.collections.asr as nemo_asr from diacritize import Diacritizer asr_model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.restore_from( "stt_ar_fastconformer_hybrid_large_pcd_v1.0.nemo" ) diacritizer = Diacritizer(ckpt="best_ed_mlm_ns_epoch_178.pt") text = asr_model.transcribe(["audio.wav"])[0].text diacritized = diacritizer.diacritize_texts([text])[0] ``` Or run `server.py` directly for an HTTP API (`POST /transcribe`, `GET /health`). ## Exam...

Source context: 10 downloads · 1 likes · Pipeline automatic-speech-recognition · Library nemo · Repo NightPrince/Nemo-Arabic-STT-Diacritized