Automatic Speech Recognition
NeMo
ONNX
Safetensors
GGUF
parakeet_tdt
parakeet
tdt
sherpa-onnx
multilingual
speech-recognition
gabor
fastconformer
Instructions to use oruk/orukeet with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use oruk/orukeet with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("oruk/orukeet") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
Add validated Parakeet TDT v3 ONNX INT8 deployment format
Browse files- onnx/README.md +93 -0
- onnx/manifest.json +46 -0
- onnx/sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2 +3 -0
onnx/README.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Orukeet for sherpa-onnx
|
| 2 |
+
|
| 3 |
+
The released Orukeet r3 checkpoint in the standard **Parakeet TDT v3 ONNX layout**.
|
| 4 |
+
Use it with sherpa-onnx's existing offline-transducer loader. The fitted Gabor
|
| 5 |
+
filters are ordinary convolution weights; this export requires no
|
| 6 |
+
Orukeet-specific operator or frontend.
|
| 7 |
+
|
| 8 |
+
[Download the INT8 package](https://huggingface.co/oruk/orukeet/resolve/main/onnx/sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2)
|
| 9 |
+
路 [Model card](https://huggingface.co/oruk/orukeet)
|
| 10 |
+
路 [Export code](https://github.com/Oruk-AI/orukeet/tree/main/export/onnx)
|
| 11 |
+
路 [Validation receipts](https://github.com/Oruk-AI/orukeet/tree/main/evidence/onnx-r3-20260910)
|
| 12 |
+
|
| 13 |
+
The download is **486,664,389 bytes** and extracts to **670,718,459 bytes**.
|
| 14 |
+
Archive SHA-256:
|
| 15 |
+
|
| 16 |
+
```text
|
| 17 |
+
c4ad85bbfb0835167c097dedcec0bb3f50cc468edfe7e690442e2221427b95bf
|
| 18 |
+
```
|
| 19 |
+
|
| 20 |
+
```text
|
| 21 |
+
sherpa-onnx-orukeet-v0.1.0-int8/
|
| 22 |
+
encoder.int8.onnx
|
| 23 |
+
decoder.int8.onnx
|
| 24 |
+
joiner.int8.onnx
|
| 25 |
+
tokens.txt
|
| 26 |
+
bpe.vocab
|
| 27 |
+
LICENSE-WEIGHTS
|
| 28 |
+
NOTICE.md
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
## Transcribe
|
| 32 |
+
|
| 33 |
+
Extract the archive, then install the runtime:
|
| 34 |
+
|
| 35 |
+
```sh
|
| 36 |
+
tar -xjf sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2
|
| 37 |
+
python -m pip install sherpa-onnx==1.13.4 soundfile numpy
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
```python
|
| 41 |
+
from pathlib import Path
|
| 42 |
+
|
| 43 |
+
import sherpa_onnx
|
| 44 |
+
import soundfile as sf
|
| 45 |
+
|
| 46 |
+
model = Path("sherpa-onnx-orukeet-v0.1.0-int8")
|
| 47 |
+
recognizer = sherpa_onnx.OfflineRecognizer.from_transducer(
|
| 48 |
+
encoder=str(model / "encoder.int8.onnx"),
|
| 49 |
+
decoder=str(model / "decoder.int8.onnx"),
|
| 50 |
+
joiner=str(model / "joiner.int8.onnx"),
|
| 51 |
+
tokens=str(model / "tokens.txt"),
|
| 52 |
+
model_type="nemo_transducer",
|
| 53 |
+
sample_rate=16000,
|
| 54 |
+
feature_dim=128,
|
| 55 |
+
decoding_method="greedy_search",
|
| 56 |
+
provider="cpu",
|
| 57 |
+
num_threads=4,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
samples, sample_rate = sf.read("audio.wav", dtype="float32", always_2d=True)
|
| 61 |
+
stream = recognizer.create_stream()
|
| 62 |
+
stream.accept_waveform(sample_rate, samples.mean(axis=1))
|
| 63 |
+
recognizer.decode_stream(stream)
|
| 64 |
+
print(stream.result.text)
|
| 65 |
+
```
|
| 66 |
+
|
| 67 |
+
Applications can retain their existing VAD and chunking. For long recordings,
|
| 68 |
+
use bounded speech segments. The model retains full-context Parakeet attention.
|
| 69 |
+
|
| 70 |
+
## Export details
|
| 71 |
+
|
| 72 |
+
The graphs use opset 17, unsigned INT8 encoder quantization, and signed INT8
|
| 73 |
+
decoder/joiner quantization. The decoder uses ONNX Runtime's
|
| 74 |
+
`DynamicQuantizeLSTM`, as the stock Parakeet export does. The original
|
| 75 |
+
128-bin features, 8脳 subsampling, 8,192-token vocabulary plus blank, and TDT
|
| 76 |
+
durations `[0, 1, 2, 3, 4]` are retained.
|
| 77 |
+
|
| 78 |
+
sherpa-onnx 1.13.4 identifies TDT through `tdt` in the encoder's `url` metadata.
|
| 79 |
+
This export sets that field to
|
| 80 |
+
`https://huggingface.co/oruk/orukeet#parakeet-tdt-v3`; keep it when repackaging.
|
| 81 |
+
|
| 82 |
+
Source checkpoint SHA-256:
|
| 83 |
+
|
| 84 |
+
```text
|
| 85 |
+
031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56
|
| 86 |
+
```
|
| 87 |
+
|
| 88 |
+
[Reproduce the export](https://github.com/Oruk-AI/orukeet/blob/main/export/onnx/README.md)
|
| 89 |
+
路 [Per-file hashes](https://github.com/Oruk-AI/orukeet/blob/main/evidence/onnx-r3-20260910/package-manifest.json)
|
| 90 |
+
|
| 91 |
+
The ONNX weights inherit **CC BY-SA 4.0** from the released Orukeet checkpoint,
|
| 92 |
+
including attribution to NVIDIA Parakeet TDT 0.6B v3. The complete license and
|
| 93 |
+
attribution are included in the archive.
|
onnx/manifest.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"source_sha256": "031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56",
|
| 3 |
+
"archive": "sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2",
|
| 4 |
+
"archive_bytes": 486664389,
|
| 5 |
+
"archive_sha256": "c4ad85bbfb0835167c097dedcec0bb3f50cc468edfe7e690442e2221427b95bf",
|
| 6 |
+
"extract_dir": "sherpa-onnx-orukeet-v0.1.0-int8",
|
| 7 |
+
"files": [
|
| 8 |
+
{
|
| 9 |
+
"path": "encoder.int8.onnx",
|
| 10 |
+
"bytes": 652282402,
|
| 11 |
+
"sha256": "d10711f1b8f3a516e2d7a93adb219caf8aba2b55295305db92f3e80e78c1499a"
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"path": "decoder.int8.onnx",
|
| 15 |
+
"bytes": 11845332,
|
| 16 |
+
"sha256": "c185c2afb4c77c94bb1314807ecb3dc1623057a3dc540b83e10301af9bf4cfca"
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"path": "joiner.int8.onnx",
|
| 20 |
+
"bytes": 6355335,
|
| 21 |
+
"sha256": "1a7e90abf7172d926dd7e2edac2a5d5035c24dfb641a15e131d57b6a5f63cdd3"
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"path": "tokens.txt",
|
| 25 |
+
"bytes": 93939,
|
| 26 |
+
"sha256": "d58544679ea4bc6ac563d1f545eb7d474bd6cfa467f0a6e2c1dc1c7d37e3c35d"
|
| 27 |
+
},
|
| 28 |
+
{
|
| 29 |
+
"path": "bpe.vocab",
|
| 30 |
+
"bytes": 117408,
|
| 31 |
+
"sha256": "41d5e71b3591642eff088151efd7acd4e750124cc0054c8ba9fa3245187a4804"
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"path": "LICENSE-WEIGHTS",
|
| 35 |
+
"bytes": 20137,
|
| 36 |
+
"sha256": "23ee78c8bae49cf08ea2f0c84945c66b987ebe4520881fb51b3dad4fb43d07c2"
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"path": "NOTICE.md",
|
| 40 |
+
"bytes": 3906,
|
| 41 |
+
"sha256": "c1c90ecec7c9ff8056aada8979bf4f3f4dba901c54297c14a328815160e20c6e"
|
| 42 |
+
}
|
| 43 |
+
],
|
| 44 |
+
"export_receipt_sha256": "9fc487cdfa076b4d210a526c68ff24ea9ff7ff9da78e058b21f7d610f95ccc6e",
|
| 45 |
+
"packager_sha256": "8acbfe6475a5ea3144311127a04b1cc319cac6a875835bce7ac6d50c19de9f9d"
|
| 46 |
+
}
|
onnx/sherpa-onnx-orukeet-v0.1.0-int8.tar.bz2
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c4ad85bbfb0835167c097dedcec0bb3f50cc468edfe7e690442e2221427b95bf
|
| 3 |
+
size 486664389
|