Downloads · 30 days
0
Reza2kn/Shenava-Rizeh-v1.0-tract-streaming
Shenava-Rizeh-v1.0-tract-streaming is a automatic speech recognition model from Reza2kn. Use it when you need speech turned into text. It is set up for onnx. The card lists the license as apache-2.0.
English + فارسی · Part of Shenava 1.0 · Project hub · SLT paper submission
Downloads · 30 days
0
Access
Public
Updated Sep 12, 2026
Repo size
206 MB
Likes
0
Public
Click a slice to open those files.
.onnx206 MB · 100%
From the Hugging Face model README
English + فارسی · Part of Shenava 1.0 · Project hub · SLT paper submission
| English | فارسی | |
|---|---|---|
| 🎯 Role | Rizeh native-Rust tract streaming export. | مدل دانشآموز فشردهٔ شنوا ریزه؛ این مخزن یکی از مصنوعات رسمی خانوادهٔ Shenava-1 است. |
| 🧠 Family | Shenava Rizeh compact student | مدل دانشآموز فشردهٔ شنوا ریزه |
| 📦 Format | native Rust tract streaming bundle | بستهٔ جریانی بومی Rust با tract |
| 📐 Scale | 32M parameters | اندازه: 32M parameters |
| 📥 Input | mono Persian speech resampled to 16 kHz | گفتار تککانالهٔ فارسی با نرخ نمونهبرداری ۱۶ کیلوهرتز |
| 📤 Output | Persian transcription; normalization and ITN belong in the display layer | رونویسی فارسی؛ نرمالسازی و تبدیل عدد گفتاری در لایهٔ نمایش انجام میشود |
| ⚖️ License | Apache License 2.0 | مجوز Apache 2.0 |
Rizeh native-Rust tract streaming export. This repository is an official Shenava-1 release artifact, not an isolated checkpoint. It belongs to a Persian-first stack covering training data, streaming ASR, semantic evaluation, on-device exports, captioning applications, and reproducible benchmarks. Use the collection link above to locate sibling model sizes, deployment formats, datasets, and evaluation assets.
The artifact is optimized for Persian speech and the conventions used by the Shenava/VisualEars pipeline. A model file alone is not the entire inference system: audio preparation, tokenizer assets, streaming state, decoding, Persian text normalization, and inverse text normalization can materially affect observed output.
This snapshot contains 9 files totaling approximately 205.80 MB. Common file groups: .onnx × 3, no extension × 2, .md × 1, .py × 1, .patch × 1, .txt × 1.
Largest or representative artifacts:
model.onnxmodel.int8.onnxmodel.int4.onnxtokens.txtshenava_tract_streaming.patchThe repository card and LICENSE are part of the release. Runtime-specific configuration, tokenizer, vocabulary, metadata, and state files should be kept beside the main weights when present.
from huggingface_hub import snapshot_download
local_dir = snapshot_download(
repo_id="Reza2kn/Shenava-Rizeh-v1.0-tract-streaming",
local_dir="./Shenava-Rizeh-v1.0-tract-streaming",
)
print(local_dir)
Use the runtime named by the artifact format. Inspect the exported graph signature before binding input and output tensors; deployment exports may expose cache/state tensors in addition to acoustic features.
For NeMo checkpoints, restore through nemo.collections.asr.models.ASRModel.restore_from(...) rather than assuming a CTC-only class. For converted artifacts, follow the graph metadata and the runtime-specific notes retained later in this card. Validate one known clip against the source checkpoint before shipping a conversion.
Report at least WER and CER using the same Persian normalization rules, plus S³ when semantic importance matters. Shenava’s public Triple Threat leaderboard combines the Golden6669 and FLEURS-fa splits. Record the exact repository revision, decoder settings, chunk/context configuration, precision, device, and normalization code.
Deployment exports should be checked for numerical and transcription parity against their parent repository, Reza2kn/Shenava-Rizeh-v1.0 . Runtime speed is hardware-specific; publish latency, real-time factor, warm-up policy, thread count, and audio duration together.
ASR quality varies with accent, age, speaking style, background noise, distance, clipping, reverberation, telephony bandwidth, overlapping speech, and code-switching. Persian orthography also permits multiple acceptable written forms. WER or CER can therefore penalize a semantically correct alternative, while a low aggregate score can still hide loss of a critical word. Review meaning-critical outputs and expose uncertainty in accessibility-facing products.
مدل دانشآموز فشردهٔ شنوا ریزه است. این مخزن یک مصنوع رسمی از انتشار Shenava-1 است و باید همراه با دادههای آموزشی، توکنایزر، روش رمزگشایی، نرمالسازی فارسی و تنظیمات اجرای جریانی دیده شود. پیوند مجموعه در بالای صفحه، نسخههای همخانواده، قالبهای استقرار، دادهها و معیارهای ارزیابی را یکجا نشان میدهد.
هدف پروژه ارائهٔ زیرساخت باز و قابل بازتولید برای بازشناسی گفتار و زیرنویس فارسی است. نتیجهٔ نهایی فقط به وزن مدل وابسته نیست؛ نرخ نمونهبرداری، کانال صوت، وضعیت کش، روش رمزگشایی، تبدیل اعداد گفتاری و یکسانسازی نیمفاصله نیز بر خروجی اثر دارند.
این نسخه شامل 9 فایل با حجم تقریبی 205.80 MB است. گروههای رایج فایل: .onnx × 3, no extension × 2, .md × 1, .py × 1, .patch × 1, .txt × 1.
فایلهای شاخص:
model.onnxmodel.int8.onnxmodel.int4.onnxtokens.txtshenava_tract_streaming.patchفایلهای توکنایزر، واژگان، پیکربندی، وضعیت جریانی و فراداده را در صورت وجود کنار وزن اصلی نگه دارید.
ابتدا snapshot کامل مخزن را دریافت کنید، سپس از زماناجرای متناسب با قالب استفاده کنید. پیش از اتصال ورودی و خروجی، امضای گراف را بررسی کنید؛ خروجیهای جریانی ممکن است علاوه بر ویژگی صوتی، تنسورهای وضعیت و کش داشته باشند.
برای چکپوینت NeMo از ASRModel.restore_from(...) استفاده کنید و مدل را صرفاً CTC فرض نکنید. برای خروجیهای تبدیلشده، یک کلیپ مرجع را با مدل مبدأ مقایسه کنید و سپس استقرار را انجام دهید.
حداقل WER و CER را با نرمالسازی فارسی یکسان گزارش کنید و در سناریوهای حساس به معنا، S³ را نیز بیاورید. در جدول Triple Threat دو بخش Golden6669 و FLEURS-fa با هم سنجیده میشوند. شناسهٔ دقیق نسخه، تنظیمات دیکودر، کانتکست، دقت عددی، سختافزار و کد نرمالسازی را ثبت کنید.
لهجه، سن، سبک گفتار، نویز، فاصله، کلیپشدن، پژواک، کانال تلفنی، همپوشانی گویندگان و کدسوئیچینگ میتوانند کیفیت را تغییر دهند. چند نگارش فارسی ممکن است از نظر معنایی درست باشند، اما WER/CER یکی را خطا حساب کند. در محصولات دسترسپذیری، واژههای کلیدی را جداگانه بازبینی و عدم قطعیت را به کاربر نشان دهید.
۱. نسخهٔ دقیق مخزن و کتابخانهها را ثابت کنید. ۲. تبدیل نرخ نمونه و کانال را مستند کنید. ۳. توکنایزر و داراییهای رمزگشایی همین مخزن را نگه دارید. ۴. اندازهٔ قطعه، کانتکست، بازنشانی کش و endpointing را ثبت کنید. ۵. یک خط لولهٔ نرمالسازی/ITN مشترک به مرجع و خروجی اعمال کنید. ۶. خطاهای نمونهای و نتایج هر شرایط را در کنار میانگین منتشر کنید.
@misc{shenava1_shenava_rizeh_v1_0_tract_streaming,
title = {Shenava-Rizeh-v1.0-tract-streaming: a Shenava-1 Persian speech artifact},
author = {Reza2kn},
year = {2026},
url = {https://huggingface.co/Reza2kn/Shenava-Rizeh-v1.0-tract-streaming}
}
Released under the Apache License 2.0. این مخزن با مجوز Apache 2.0 منتشر شده است.
The pre-existing technical card is retained below for revision-specific commands, measurements, and artifact details. The bilingual sections above define the common Shenava-1 documentation contract.
یادداشت فنی قبلی برای فرمانها، اندازهگیریها و جزئیات همان نسخه در ادامه حفظ شده است. بخشهای دوزبانهٔ بالا قرارداد مستندسازی مشترک Shenava-1 را تعریف میکنند.
Cache-aware streaming CTC export of Shenava-Rizeh-v1.0
that runs in the pure-Rust tract engine — no C++, no ONNX Runtime.
Part of VisualEars / Shenava: offline, on-device, streaming Persian ASR for the Deaf/Hard-of-Hearing.
Quality: near-exact (12.11% golden-6669 WER). RTF ≈ 0.027 (30.0 ms/chunk on x86 CPU; chunk = 1.12 s audio).
Stock tract rejects NeMo cache-aware streaming graphs in two inference-layer spots. Fix = a 23-line, 2-file patch
(shenava_tract_streaming.patch, included) — PR open at sonos/tract#2441.
Build tract with the patch, then load model.onnx normally. The graph itself is valid (identical decode to ONNX Runtime).
Per-step inputs / outputs (fixed shapes, greedy CTC):
audio_signal [1,80,121] — un-normalized log-mel chunk (NeMo featurizer, normalize=NA)length [1] i64 — true valid frames in the chunkcache_last_channel [1,16,70,256], cache_last_time [1,16,256,8], cache_last_channel_len [1] i64 — start zeros / 0logprobs [1,T',1025] + next cachesChunking: feed 121-mel-frame chunks, shift 112 (9-frame pre-encode overlap). First chunk is 105 → pad to 121; pad the tail too; pass the true length. Thread the *_next caches back each step (cast cache_last_channel_len_next to i64). Greedy CTC: carry the previous token across chunk boundaries when collapsing repeats; blank id = 1024; map via tokens.txt; ▁→space.
The model spells numbers (هشت not ۸). Apply persian_itn.py at display for spoken→Persian-digit (cardinals + هزار/میلیون/میلیارد + «و» + compounds).
Our streaming support is merged into tract main (sonos/tract#2441), which also ships int4 (MatMulNBits -> Q4_0) and int8 GEMM kernels. So tract main runs quantized versions of this streaming model:
| file | precision | size | notes |
|---|---|---|---|
model.onnx | fp32 | 116MB | reference |
model.int4.onnx | int4 (MatMulNBits / Q4_0, weight-only) | 40MB | ⭐ recommended — 2.9x smaller, ~fp32 speed, byte-identical decode |
model.int8.onnx | int8 (matmul-only, MatMulInteger) | 49MB | byte-identical; slower on small-batch streaming (per-matmul DynamicQuantizeLinear) — best for large-batch / offline, or CPUs where it wins |
Both quants decode byte-identically to fp32. For edge/on-device streaming, use model.int4.onnx (weight-only, no per-matmul activation quant). Needs tract main — the streaming fixes are upstream now, so the bundled .patch is no longer required.