Audio Classification
MLX
Core ML
English
decision-model
turn-taking
endpoint-detection
barge-in
backchannel
full-duplex
streaming
on-device
core-ai
gru
audio
Instructions to use donpark/tyger-models with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use donpark/tyger-models with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download donpark/tyger-models --local-dir tyger-models
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
|
Download README.md from donpark/tyger-models: direct link, hf CLI and curl.
- Browser
- Download file 7.68 kB
-
https://huggingface.co/donpark/tyger-models/resolve/main/README.md
- Command line
-
hf download hf://donpark/tyger-models/README.md
-
curl -L -o README.md https://huggingface.co/donpark/tyger-models/resolve/main/README.md
7.68 kB
| language: | |
| - en | |
| license: openmdw-1.1 | |
| license_link: LICENSE.md | |
| pipeline_tag: audio-classification | |
| base_model: | |
| - nvidia/nemotron-3.5-asr-streaming-0.6b | |
| - FluidInference/parakeet-redux-coreml | |
| tags: | |
| - decision-model | |
| - turn-taking | |
| - endpoint-detection | |
| - barge-in | |
| - backchannel | |
| - full-duplex | |
| - streaming | |
| - on-device | |
| - coreml | |
| - core-ai | |
| - mlx | |
| - gru | |
| - audio | |
| # tyger-models | |
| **On-device delivery tiers for [TYGER](https://huggingface.co/nineninesix/tyger) | |
| β an open-weight speech decision model for full-duplex voice agents β plus | |
| `TYGER-Step-Student`, a distilled turn-taker that reads | |
| [Parakeet Redux](https://huggingface.co/FluidInference/parakeet-redux-coreml) | |
| features instead of Nemotron's.** | |
| TYGER knows when to respond, keep listening, yield, and backchannel. This repo | |
| is the shipping form: the same decisions, at device scale, in the formats | |
| iOS and macOS load directly. It holds weights and a download manifest, no | |
| inference code. | |
| ## What's here | |
| | Path | Model | Format | Size | | |
| | --- | --- | --- | ---: | | |
| | `coreai/` | TYGER chain (encoder + turn heads) | Core AI `.aimodel`, fp16 | ~0.77 GB | | |
| | `coreml/` | TYGER chain | Core ML `.mlpackage` (encoder fp16, step fp32) | ~0.86 GB | | |
| | `mlx/` | TYGER chain | MLX int8-g16 `.safetensors` (pre-27 macOS) | 1.58 GBΒΉ | | |
| | `pathc/` | **TYGER-Step-Student** (turn heads only) | Core ML `.mlpackage`, fp32 | **56 MB** | | |
| | `manifest.json` | β | delivery manifest (sha256 per file) | β | | |
| ΒΉ the artifact stores dequantized fp32 weights. | |
| The tiers are interchangeable exports of | |
| [nineninesix/tyger](https://huggingface.co/nineninesix/tyger)'s | |
| `model.safetensors` (638M Nemotron + 14M GRU heads); see that model page for | |
| the architecture, event semantics (endpoint / barge-in / backchannel), guards | |
| and thresholds. `pathc/` is a different animal and is documented below. | |
| ## TYGER-Step-Student (`pathc/`) | |
| The turn-taker alone β **14M parameters** (a causal GRU, 3 layers, width 768, | |
| plus the input projections and five output heads; the same architecture as | |
| TYGER's GRU) β retrained to read **Parakeet Redux** encoder features instead of | |
| Nemotron layer-15 features. | |
| **Why:** a voice agent that runs Parakeet for transcription already computes | |
| this model's input. The student shares that encoder pass, so the turn model's | |
| delivery cost collapses from a second ~0.8 GB encoder chain to **56 MB of | |
| heads**, identical across device tiers. Total first-use voice download with | |
| ASR + TTS + this model: ~375 MB. | |
| **Input / output** (per 320 ms hop, same contract as TYGER's step): | |
| | | | | |
| | --- | --- | | |
| | Input features | Parakeet Redux `Preprocessor` + `Encoder` output: 188 rows @ 12.5 Hz Γ 1,024 dims per stream (user + agent) | | |
| | Tap contract | 15 s right-aligned, zero-padded window (mel_length 1501); run both encoder models **CPU-only** (ANE/GPU drifts from training features and is not faster) | | |
| | Per-frame extras | frame energy + the previous state | | |
| | State | GRU carried state `(3, 1, 768)`, ~9 KiB per conversation | | |
| | Output, per frame | the turn state logits (listen, hold, speak, backchannel) + hazard, yield, backchannel and endpoint scores β 8 numbers | | |
| ### Training | |
| Distilled from **TYGER** (the fp32 Nemotron chain as teacher) on dual-channel | |
| English conversation β the | |
| [dualturn-otospeech-turn-taking](https://huggingface.co/datasets/anyreach-ai/dualturn-otospeech-turn-taking) | |
| corpora, codec-round-tripped as in calls: 96 sessions (~4.8 h of frames) for | |
| training, 24 sessions (~1.3 h) held out for evaluation. Targets are the | |
| teacher's per-frame 8-vectors; boundary frames are weighted 3Γ (MSE, equal | |
| group weighting). 250 + 200 epochs, AdamW with cosine decay. One training | |
| seed. The rules that turn scores into events (warm-up frames, speech gate, | |
| silence fallback) live app-side and are unchanged from tyger-s2s's. | |
| ### Evaluation (in use) | |
| Scored by replaying held-out conversations through the full chain and | |
| comparing *behavior* β did the model act at real turn-ends β not frame identity | |
| with the teacher. 24 validation sessions, 156 human turn-ends: | |
| | Metric | Teacher (TYGER) | Student | | |
| | --- | ---: | ---: | | |
| | Real turn-ends caught | 87% | **91%** (142/156) | | |
| | False endpoints / min | 6.2 | 6.7 | | |
| | Backchannel precision / recall | 20% / 48% | 22% / 44% | | |
| Core ML export parity against the training-time framework: max |Ξ| 1e-5 over | |
| 400 carried-state frames. | |
| **Limits:** English only. The evaluation is recorded conversation replayed | |
| through the pipeline β not a live voice-agent benchmark β and one training | |
| seed. Frame-identity with the teacher is ~48%: the student learns the | |
| teacher's behavior, not its every twitch. Backchannel recall is modest for | |
| teacher and student alike. False-endpoint rates are corpus- and | |
| threshold-dependent; tune thresholds in the app. | |
| ## Intended use | |
| Turn-taking control for full-duplex voice agents on device: deciding when the | |
| user has finished, when they cut in, when a backchannel fits, and when to | |
| hold the floor. The agent above it sees only text and turn events. | |
| Not for transcription (use the ASR alongside it), not for safety-critical | |
| decisions, not for non-English speech. | |
| ## Delivery format | |
| `manifest.json` pins every file (`name`, `asset`, `sha256`, `bytes`) with a | |
| `url_base`. Files are flattened (`/` β `__`); `name` keeps the bundle-relative | |
| path so a client can recreate the `.mlpackage`/`.aimodel` directory trees and | |
| verify each byte before installing. The format is what an app-side | |
| download-on-first-use store consumes: fetch the manifest, fetch only the | |
| active tier's files. | |
| ## License | |
| The `coreai/`, `coreml/` and `mlx/` tiers are exports of | |
| [TYGER](https://huggingface.co/nineninesix/tyger), whose weights and files are | |
| **OpenMDW-1.1**; NVIDIA's original Nemotron card, figures and license terms | |
| travel with that repo (`upstream/`, `licenses/`). This repo's tiers and the | |
| `pathc/` student are distributed under the same **OpenMDW-1.1** terms. See | |
| [LICENSE.md](LICENSE.md) and [NOTICE.md](NOTICE.md). | |
| `TYGER-Step-Student` was trained by distillation from TYGER on the | |
| dualturn-otospeech-turn-taking corpora; see that dataset's own terms for the | |
| training data. Its feature extractor is | |
| [Parakeet Redux](https://huggingface.co/FluidInference/parakeet-redux-coreml) | |
| (used, not redistributed here). | |
| ## Provenance & acknowledgments | |
| - **TYGER** β [nineninesix/tyger](https://huggingface.co/nineninesix/tyger) | |
| (weights), [nineninesix-ai/tyger-s2s](https://github.com/nineninesix-ai/tyger-s2s) | |
| (Apache-2.0 runtime the rules port follows). Thanks to NineNineSix. | |
| - **Nemotron 3.5 ASR Streaming 0.6B** β | |
| [nvidia/nemotron-3.5-asr-streaming-0.6b](https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b), | |
| unchanged upstream. | |
| - **Parakeet Redux** β | |
| [FluidInference/parakeet-redux-coreml](https://huggingface.co/FluidInference/parakeet-redux-coreml). | |
| - **Training data** β The Agentic Data Company's | |
| [Open Yap 1K](https://theagenticdatacompany.com/open-yap-1k) (TYGER's | |
| training corpus) and the | |
| [dualturn-otospeech-turn-taking](https://huggingface.co/datasets/anyreach-ai/dualturn-otospeech-turn-taking) | |
| corpora (the student's). | |
| ## Citation | |
| If you use these tiers, please cite TYGER and its training data: | |
| ```bibtex | |
| @misc{tyger_2026, | |
| author = {{NineNineSix}}, | |
| title = {{TYGER}: Speech Recognition and Duplex Turn Control}, | |
| year = {2026}, | |
| publisher = {NineNineSix}, | |
| url = {https://huggingface.co/nineninesix/tyger} | |
| } | |
| @misc{openyap_2026, | |
| author = {{The Agentic Data Company}}, | |
| title = {{Open Yap 1K}: 1,000 hours of full-duplex natural conversation}, | |
| year = {2026}, | |
| url = {https://theagenticdatacompany.com/open-yap-1k} | |
| } | |
| ``` | |