Instructions to use codeclawd/persian-ctc-300m-mlx-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use codeclawd/persian-ctc-300m-mlx-8bit with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download codeclawd/persian-ctc-300m-mlx-8bit --local-dir persian-ctc-300m-mlx-8bit
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Persian (Farsi) speech recognition, MLX 8-bit
A Farsi speech recognition model (CTC, 300M parameters) in MLX 8-bit format for Apple Silicon Macs. It is a format conversion of Peacockery/omni-ctc-300m-farsi. No retraining. The PrivateWispr Mac app downloads it from this repository on request. It loads with the speech-swift OmnilingualASR MLX runtime.
Source and licence
- Source model: Peacockery/omni-ctc-300m-farsi, revision
2c70389c4009ecb0776c9644db19308f1c1e8ae5, Apache-2.0. A Farsi fine-tune by Peacockery on 985 hours of Farsi speech. - Base model of that fine-tune: facebook/omniASR-CTC-300M, revision
8e35f0cc28fa6099e0c14d56db85ce0423baa691, Apache-2.0, Copyright 2025 (c) Meta Platforms, Inc. and affiliates. - Licence of this repository: Apache License 2.0 (text).
LICENSEholds the full text andNOTICEthe credits. - Change made: weight format and numeric precision only (see Conversion).
- Part of the fine-tuning data is web-scraped audio (including about 205 hours of Farsi YouTube) with machine-generated labels. See the source model card for the full list of sources and their terms.
Files
model.safetensors: 713 tensors. Attention and feed-forward projections and the CTC head are quantised to 8 bits with group size 64 (.weightuint32,.scalesand.biasesfloat16). Everything else is float16. 359,054,689 bytes.config.json: architecture description (24 layers, model dimension 1024, 16 heads, vocabulary 10,288).tokenizer.model: the SentencePiece tokenizer the checkpoint expects, the source model'somniASR_tokenizer_written_v2.model, byte for byte (sha2568aa11a10...0b1e).
Conversion
MLX 0.32.3, torch 2.5.1, Python 3.11. The fairseq2 state dict keeps its tensor names. The weight-norm pair of the positional convolution is stored as is, and the runtime fuses it. Tensor names, dtypes and shapes match the public aufklarer/Omnilingual-ASR-CTC-300M-MLX-8bit layout, checked tensor by tensor.
Measured quality
FLEURS fa_ir test split: 871 clips, 21,494 reference words. One normaliser scores both rows (NFKC, ZWNJ to space, Arabic letters to Persian letters, digits to ASCII, diacritics and punctuation removed). This is our own run and nobody has verified it independently.
| Model | WER | CER |
|---|---|---|
| fp32 PyTorch (reference) | 11.49% | 3.25% |
| MLX 8-bit (this repository) | 11.48% | 3.26% |
The source model card reports a lower figure for FLEURS with its own text normalisation and scoring. The two numbers are not comparable. FLEURS training data was part of the fine-tune's training set, so 11.48% is an in-domain result.
Limits
The test data is read speech in the FLEURS domain. Accuracy on casual, noisy or accented speech is lower, and we have not measured by how much. The model covers Farsi only; it does not support Urdu or Arabic. One call takes at most 40 seconds of 16 kHz mono audio.
- Downloads last month
- 26
8-bit
Model tree for codeclawd/persian-ctc-300m-mlx-8bit
Base model
Peacockery/omni-ctc-300m-farsi